വിക്കിപീഡിയ mlwiki https://ml.wikipedia.org/wiki/%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B4%A7%E0%B4%BE%E0%B4%A8_%E0%B4%A4%E0%B4%BE%E0%B5%BE MediaWiki 1.47.0-wmf.3 first-letter മീഡിയ പ്രത്യേകം സംവാദം ഉപയോക്താവ് ഉപയോക്താവിന്റെ സംവാദം വിക്കിപീഡിയ വിക്കിപീഡിയ സംവാദം പ്രമാണം പ്രമാണത്തിന്റെ സംവാദം മീഡിയവിക്കി മീഡിയവിക്കി സംവാദം ഫലകം ഫലകത്തിന്റെ സംവാദം സഹായം സഹായത്തിന്റെ സംവാദം വർഗ്ഗം വർഗ്ഗത്തിന്റെ സംവാദം കവാടം കവാടത്തിന്റെ സംവാദം കരട് കരട് സംവാദം TimedText TimedText talk ഘടകം ഘടകത്തിന്റെ സംവാദം Event Event talk മോഹൻലാൽ 0 1377 4621541 4621517 2026-05-22T13:00:37Z Sreehari lijinas 209493 /* അഭിനയിച്ച ചിത്രങ്ങൾ */ 4621541 wikitext text/x-wiki {{featured}}{{Prettyurl|Mohanlal}} {{Infobox actor | name = മോഹൻലാൽ | image = Super Star Mohanlal BNC.jpg | caption = | birthname = മോഹൻലാൽ വിശ്വനാഥൻ<!--"നായർ" പേരിനൊപ്പം ഇല്ലാത്തതിനാൽ ഉൾപെടുത്താൻ പാടുള്ളതല്ല. അവലംബം വായിക്കുക.--><ref>{{cite web|author=The Cue|title='ആദ്യം നൽകാൻ ഉദ്ദേശിച്ച പേര് റോഷൻ ലാൽ, പേരിനൊപ്പം ജാതി വേണ്ടെന്നത് അച്ഛന്റെ തീരുമാനം'; മോഹൻലാൽ|url=https://www.thecue.in/entertainment/film-news/actor-mohanlal-about-his-name|website=The Cue|accessdate=29 സെപ്റ്റംബർ 2022|language=ml|date=25 August 2020}}</ref><ref>{{cite web|title=President Kovind presents Padma Bhushan to Mohanlal|url=https://www.youtube.com/watch?v=m9LwAdl84ys|website=[[YouTube]]|publisher=President of India|accessdate=29 സെപ്റ്റംബർ 2022|language=en|date=22 March 2019}}</ref> |birth_date = {{Birth date and age|df=yes|1960|5|21}} | birthplace = [[പത്തനംതിട്ട]], [[കേരളം]], [[ഇന്ത്യ]] | yearsactive = 1978 - ഇതുവരെ | height = | deathdate = | deathplace = | restingplace = | restingplacecoordinates = | othername = | occupation = ചലച്ചിത്ര അഭിനേതാവ്, നിർമ്മാതാവ്, സംവിധായകൻ, ചലച്ചിത്രവിതരണം, വ്യവസായി, അംബാസഡർ, പിന്നണിഗായകൻ |yearsactive = 1978 - ഇതുവരെ | spouse = സുചിത്ര (1988 - ഇതുവരെ) | partner = | children = [[പ്രണവ് മോഹൻലാൽ]], വിസ്മയ | parents = വിശ്വനാഥൻ നായർ, ശാന്തകുമാരി | influences = | influenced = | website = http://www.thecompleteactor.com | amg_id = P146889 | imdb_id = 0482320 | academyawards = | afiawards = | arielaward = | baftaawards = | cesarawards = | emmyawards = | geminiawards = | goldenglobeawards = | goldenraspberryawards = | goyaawards = | grammyawards = | iftaawards = | laurenceolivierawards = | naacpimageawards = | nationalfilmawards = | othername = ലാൽ | total films = 290 , അഭിനയിച്ചുകൊണ്ടിരിക്കുന്നു | filmfareawards= '''മികച്ച തമിഴ് നടൻ'''<br>''ഇരുവർ'' (1997)<br>'''മികച്ച നടൻ''' <br/> 1986 ''സന്മനസുള്ളവർക്ക് സമാധാനം '' <br/>1988 ''പാദമുദ്ര''<br/>1993 ''ദേവാസുരം''<br/>1994 ''പവിത്രം''<br/>1995 ''സ്ഫടികം<br/>1999 ''വാനപ്രസ്ഥം''<br/>2005 ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]''<br/>2007''പരദേശി'' | nationalfilmawards= '''മികച്ച നടൻ''' <br /> 1991 ''ഭരതം'' <br /> 1999 ''വാനപ്രസ്ഥം''<br />'''മികച്ച ചിത്രം'''<br /> 1999 ''വാനപ്രസ്ഥം''<br />'''സ്പെഷ്യൽ ജൂറി പുരസ്ക്കാരം'''<br /> 1990 ''കിരീടം'' | awards = '''[[കേരളസംസ്ഥാന പുരസ്കാരങ്ങൾ]]'''<br/> 1986 ''[[T.P. ബാലഗോപാലൻ M.A.]]''<br/>1988 സ്പെഷ്യൻ ജൂറി പുരസ്കാരം <br> ''പാദമുദ്ര, [[ചിത്രം]], ഉത്സവപിറ്റേന്ന്, ആര്യൻ, വെള്ളാനകളുടെ നാട്'' <br/>1991 ''ഉള്ളടക്കം, [[കിലുക്കം]], അഭിമന്യു ''<br/>1995 ''കാ‍ലാപാനി, [[സ്ഫടികം]]'' <br/>1999 ''[[വാനപ്രസ്ഥം]]''<br/>2005 ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]''<br/>2007 [[പരദേശി]]<br/>'''[[IIFA പുരസ്ക്കാരങ്ങൾ]]''' <br/> 2003 [[IIFA Best Supporting Actor Award|മികച്ച സഹനടൻ]] <br/> ''[[Company (film)|കമ്പനി]]'' <br> '''[[സ്റ്റാർ സ്ക്രീൻ പുരസ്കാരം]]''' <br/> 2003 [[Star Screen Award Best Supporting Actor|മികച്ച സഹനടൻ]] <br/> ''[[Company (film)|കമ്പനി]]'' | sagawards = | tonyawards = | awards = }} [[മലയാളചലച്ചിത്രം|മലയാള ചലച്ചിത്രരംഗത്ത്]] നാല് പതിറ്റാണ്ടുകളായി സജീവമായി അഭിനയിച്ചു കൊണ്ടിരിക്കുന്ന നടനാണ് '''മോഹൻലാൽ''' (പൂർണ്ണനാമം: മോഹൻലാൽ വിശ്വനാഥൻ നായർ, ജനനം: മേയ് 21, 1960).<ref name=name1>{{cite web|title=മോഹൻലാൽ ലഘുജീവചരിത്രം|url=http://www.digipaper.fi/ekonomi/9348/index.php?pgnumb=6|publisher=മോഹൻലാൽ.ഓർഗ്|accessdate=2013 സെപ്തംബർ 26|archive-date=2013-04-29|archive-url=https://archive.today/20130429163437/http://www.digipaper.fi/ekonomi/9348/index.php?pgnumb=6|url-status=bot: unknown}}</ref> രണ്ടു തവണ മികച്ച നടനുള്ളതടക്കം അഞ്ച് [[ദേശീയ ചലച്ചിത്രപുരസ്കാരം|ദേശീയ ചലച്ചിത്ര പുരസ്കാരങ്ങൾ]] നേടിയ മോഹൻലാൽ സ്വാഭാവികമായ നടന ശൈലിക്കു പ്രശസ്തനാണ്‌. മലയാളത്തിനു പുറമേ [[തമിഴ്]], [[ഹിന്ദി]], [[തെലുഗു]], [[കന്നഡ]] തുടങ്ങിയ ഭാഷകളിലുള്ള ചലച്ചിത്രങ്ങളിലും ലാൽ അഭിനയിച്ചിട്ടുണ്ട്. അഭിനയത്തിനു പുറമേ ഏതാനും ചിത്രങ്ങളിൽ പിന്നണി ഗായകനായും അദ്ദേഹം തിളങ്ങിയിട്ടുണ്ട്. ഇന്ത്യൻ ചലച്ചിത്രങ്ങൾക്ക് നൽകിയ സംഭാവനകൾ പരിഗണിച്ച് 2001-ൽ അദ്ദേഹത്തിന് രാജ്യത്തെ നാലാമത്തെ ഉയർന്ന സിവിലിയൻ ബഹുമതിയായ [[പത്മശ്രീ]] പുരസ്കാരവും 2019 ൽ<ref name="Padmabhushan">{{Cite web|url=https://indianexpress.com/article/entertainment/entertainment-others/mohanlal-padma-bhushan-kader-khan-manoj-bajpayee-prabhudheva-shankar-mahadevan-5555516/|title=Mohanlal conferred with Padma Bhushan|access-date=2019-01-25|date=2019-01-25|website=[[The New Indian Express]]}}</ref> രാജ്യത്തെ മൂന്നാമത്തെ ഉയർന്ന സിവിലിയൻ ബഹുമതിയായ [[പത്മഭൂഷൺ]] ബഹുമതിയും നൽകി ഭാരത സർക്കാർ ആദരിച്ചു. 2009-ൽ ഇന്ത്യൻ ടെറിട്ടോറിയൽ ആർമിയിൽ ലഫ്റ്റനന്റ് കേണൽ പദവി നൽകുകയും ചെയ്തു.<ref name="LtCol1">{{cite web|title=മോഹൻലാലിന് ലെഫ്ടനന്റ് കേണൽ പദവി|url=http://pib.nic.in/newsite/erelease.aspx?relid=50047|publisher=പ്രസ്സ് ഇൻഫർമേഷൻ ബ്യൂറോ|accessdate=2013 സെപ്തംബർ 26|quote=മലയാള നടൻ മോഹൻലാലിന് ലെഫ്ടനന്റ് കേണൽ പദവി|archive-date=2013-09-26|archive-url=https://archive.today/20130926035710/http://pib.nic.in/newsite/erelease.aspx?relid=50047|url-status=bot: unknown}}</ref> ചലച്ചിത്ര ലോകത്തിനും സംസ്കൃത നാടകത്തിനും നൽകിയ സംഭാവനകളെ മാനിച്ച് [[കാലടി]] [[ശ്രീ ശങ്കരാചാര്യ സംസ്കൃത സർവകലാശാല|ശ്രീ ശങ്കരാചാര്യ സംസ്കൃത സർവ്വകലാശാല]] ഡോക്ടറേറ്റ് നൽകിയും <ref name=rediff>{{cite web | url = http://sports.rediff.com/report/2009/nov/04/mohanlal-mammotty-to-don-sports-cap-kerala.htm | title = Mammootty, Mohanlal to don sports cap for Kerala | accessdate = 2009 ഡിസംബർ 22 | format = html | publisher = Rediff | language = en | quote = Mohanlal was recently made the honorary Lt Colonel of the Indian Territorial Army and conferred an honorary D.Lit degree by the Kalady Sri Sankara Sanskrit university. }}</ref> <ref>http://www.indiaedunews.net/Kerala/Honorary_degrees_for_Mohanlal,_Resul_Pookutty_and_Sastrikal_9254/print.asp{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> മോഹൻലാലിനെ ആദരിച്ചിട്ടുണ്ട്. ഇന്ത്യൻ ചലച്ചിത്ര രംഗത്തിന് നൽകിയ സമഗ്ര സംഭാവനകൾ പരിഗണിച്ച് മോഹൻലാലിന് 2023-ലെ ദാദാ സാഹിബ് ഫാൽക്കെ അവാർഡ് ലഭിച്ചു. 2025 സെപ്റ്റംബർ 23ന് അവാർഡ് മോഹൻലാൽ ഏറ്റുവാങ്ങി .<ref>https://www.manoramaonline.com/news/latest-news/2025/09/20/mohanlal-won-dada-saheb-phalke-award.html</ref> 1980, 90 ദശകങ്ങളിൽ അഭിനയിച്ച ചലച്ചിത്ര വേഷങ്ങളിലൂടെയാണ്‌ മോഹൻലാൽ ശ്രദ്ധേയനായി മാറിയത്. ''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' എന്ന ചിത്രത്തിലെ സോളമൻ, ''[[നാടോടിക്കാറ്റ്]]'' എന്ന ചിത്രത്തിലെ ദാസൻ, ''[[തൂവാനത്തുമ്പികൾ]]'' എന്ന ചിത്രത്തിലെ ജയകൃഷ്ണൻ, ''മണിച്ചിത്രത്താഴ്'' എന്ന ചിത്രത്തിലെ ഡോക്ടടർ സണ്ണി, ''[[ചിത്രം]]'' എന്ന ചിത്രത്തിലെ വിഷ്ണു, ''ദശരഥം'' എന്ന ചിത്രത്തിലെ രാജീവ് മേനോൻ,''[[കിരീടം (മലയാളചലച്ചിത്രം)|കിരീടം]]'' എന്ന ചിത്രത്തിലെ സേതുമാധവൻ, ''[[ഭരതം]]'' എന്ന ചിത്രത്തിലെ ഗോപി, ''[[ദേവാസുരം]]'' എന്ന ചിത്രത്തിലെ മംഗലശ്ശേരി നീലകണ്ഠൻ, ''[[ഇരുവർ]]'' എന്ന ചിത്രത്തിലെ ആനന്ദൻ, ''[[വാനപ്രസ്ഥം (ചലച്ചിത്രം)|വാനപ്രസ്ഥം]]'' എന്ന ചിത്രത്തിലെ കുഞ്ഞിക്കുട്ടൻ, ''[[സ്ഫടികം (ചലച്ചിത്രം)|സ്ഫടികം]]'' എന്ന ചിത്രത്തിലെ ആടുതോമ, ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' എന്ന ചിത്രത്തിലെ രമേശൻ നായർ, ''[[പരദേശി]]'' എന്ന ചിത്രത്തിലെ വലിയകത്തു മൂസ, ''[[ഭ്രമരം]]'' എന്ന ചിത്രത്തിലെ ശിവൻ കുട്ടി തുടങ്ങിയവ മോഹൻലാലിന്റെ ശ്രദ്ധേയമായ ചലച്ചിത്ര വേഷങ്ങളാണ്‌. ==ജീവിതരേഖ== === ജനനം === സർക്കാർ ഉദ്യോഗസ്ഥനായിരുന്ന വിശ്വനാഥൻ നായരുടേയും ശാന്താകുമാരിയുടേയും രണ്ടാമത്തെ പുത്രനായി [[ഇടവം|ഇടവ മാസത്തിലെ]] [[രേവതി]] നക്ഷത്രത്തിൽ 1960 [[മേയ് 21]]-നു [[പത്തനംതിട്ട (ജില്ല)|പത്തനംതിട്ട ജില്ലയിലെ]] [[ഇലന്തൂർ|ഇലന്തൂരിൽ]] ജനനം.<ref>{{Cite web |url=http://www.mohanlal.org/myself.htm |title=mohanlal.org എന്ന വെബ്സൈറ്റിൽ നിന്നും ശേഖരിച്ചത്. |access-date=2009-07-10 |archive-date=2010-03-09 |archive-url=https://web.archive.org/web/20100309230331/http://www.mohanlal.org/myself.htm |url-status=dead }}</ref> മോഹൻലാലിന്റെ അച്ഛൻ കേരള സെക്രട്ടേറിയേറ്റിലെ നിയമ വകുപ്പിലെ ഉദ്യോഗസ്ഥനായിരുന്നു. [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] ''മുടവൻമുകൾ'' എന്ന സ്ഥലത്തെ തറവാട്ടു വീട്ടിലായിരുന്നു മോഹൻലാലിന്റെ കുട്ടിക്കാലം. മുടവൻമുകളിലുള്ള ഒരു ചെറിയ സ്കൂളിലാണ് മോഹൻലാൽ തന്റെ വിദ്യാഭ്യാസം ആരംഭിക്കുന്നത്. [[പ്രിയദർശൻ]], [[എം.ജി. ശ്രീകുമാർ]] തുടങ്ങിയവർ അദ്ദേഹത്തിന്റെ സഹപാഠികൾ ആയിരുന്നു. ഈ സൗഹൃദം അദ്ദേഹത്തെ ഒരുപാടു സ്വാധീനിച്ചിട്ടുണ്ട്. [[കിളിക്കൊഞ്ചൽ|കിളിക്കൊഞ്ചൽ]] എന്ന ചിത്രത്തിൽ അഭിനയിച്ചിട്ടുള്ള പ്യാരേലാൽ എന്ന അദ്ദേഹത്തിന്റെ ജ്യേഷ്ഠൻ 2000 ൽ മരണമടഞ്ഞിരുന്നു. === വിദ്യാഭ്യാസം === [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തെ]] മോഡൽ സ്കൂളിലാണ് മോഹൻലാൽ സ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയത്. മോഹൻലാൽ സ്കൂൾ വിദ്യാഭ്യാസ കാലത്തുതന്നെ നാടകങ്ങളിലും മറ്റും അഭിനയിക്കുമായിരുന്നു. ആറാം ക്ലാസിലായിരുന്നപ്പോൾ മോഹൻലാൽ സ്കൂളിലെ മികച്ച നടനായി തിരഞ്ഞെടുക്കപ്പെട്ടു. ഇതു സാധാരണ സ്കൂളിലെ മുതിർന്ന വിദ്യാർത്ഥികൾക്കു ലഭിച്ചിരുന്ന ഒരു പുരസ്കാരമായിരുന്നു. മോഹൻലാലിന്റെ ഉപരിപഠനം [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തെ]] [[എം.ജി കോളേജ്|എം.ജി കോളേജിൽ]] ആയിരുന്നു. ബി,കോം ബിരുദധാരിയാണ്. കോളേജിൽ ഒപ്പമുണ്ടായിരുന്ന പലരും, പ്രത്യേകിച്ചു [[പ്രിയദർശൻ]], [[മണിയൻപിള്ള രാജു]] തുടങ്ങിയവർ മോഹൻലാലിന്റെ അഭിനയ ജീവിതത്തിൽ നിർണായക പങ്കുവഹിച്ചതിനൊപ്പം മലയാള സിനിമയിൽ സ്വന്തമായ സ്ഥാനം ഉറപ്പിച്ചവരുമാണ്‌. == ചലച്ചിത്ര ജീവിതം== ===ആദ്യകാലം (1978-1985)=== മോഹൻലാൽ ആദ്യമായി അഭിനയിച്ച സിനിമ [[തിരനോട്ടം (1978-ലെ ചലച്ചിത്രം)|തിരനോട്ടം]] ആയിരുന്നു. ലാലിന്റെ സുഹൃത്തുക്കളുടെ തന്നെ നിർമ്മാണ സംരംഭമായ ''ഭാരത് സിനി ഗ്രൂപ്പ്'' ആണ് ഈ ചിത്രം നിർമ്മിച്ചത്.<ref name="jtpac.org">http://www.jtpac.org/showdetails.php?id=16{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> മോഹൻലാൽ ഈ ചിത്രത്തിൽ ഒരു ഹാസ്യ കഥാപാത്രത്തെയാണ് അവതരിപ്പിച്ചത്. സെൻസർ ബോർഡുമായി ബന്ധപ്പെട്ട ചില തടസ്സങ്ങൾ മൂലം ഈ ചിത്രം പുറത്തിറങ്ങിയില്ല. മോഹൻലാൽ അഭിനയിച്ച്, പ്രേക്ഷകരുടെ മുന്നിലെത്തിയ ആദ്യത്തെ സിനിമ [[മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കൾ]] (1980) ആയിരുന്നു. ആദ്യചിത്രം പുറത്തിറങ്ങുമ്പോൾ മോഹൻലാലിന് 20 വയസ്സായിരുന്നു പ്രായം. ആ ചിത്രത്തിൽ വില്ലൻ വേഷമായിരുന്നു മോഹൻലാലിന്. [[ശങ്കർ (ചലച്ചിത്രനടൻ)|ശങ്കർ‍]] ആയിരുന്നു മോഹൻലാലിന്റെ ആദ്യ ചിത്രത്തിൽ നായക കഥാപാത്രത്തെ അവതരിപ്പിച്ചത്. സം‌വിധാനം ചെയ്തത് [[ഫാസിൽ|ഫാസിലും]]. മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കളിനു ശേഷം മോഹൻലാലിന് ധാരാളം അവസരങ്ങൾ ലഭിക്കുകയുണ്ടായി. 1983-ൽ 25-ഓളം ചിത്രങ്ങളിൽ മോഹൻലാൽ അഭിനയിക്കുകയുണ്ടായി. [[മാളിയംപുരക്കൽ കുടുബം|മാളിയംപുരക്കൽ]] ചാക്കോ പുന്നൂസ് ( [[നവോദയ അപ്പച്ചൻ]] ) സം‌വിധാനം ചെയ്ത മോഹൻലാൽ അഭിനയിച്ച ''എന്റെ മാമാട്ടിക്കുട്ടിയമ്മക്ക്'' എന്ന ചിത്രം വളരെ അധികം ജനശ്രദ്ധ നേടിയിരുന്നു. ആ കാലഘട്ടത്തിൽ മോഹൻലാലിന്റെ ശ്രദ്ധിക്കപ്പെട്ട മറ്റൊരു ചിത്രമായിരുന്നു ''ഉയരങ്ങളിൽ'', [[ഐ.വി. ശശി]] സം‌വിധാനം നിർവ്വഹിച്ച ഈ ചിത്രത്തിന്റെ തിരക്കഥ എഴുതിയത് പ്രശസ്ത സാഹിത്യകാരൻ [[എം.ടി. വാസുദേവൻ നായർ|എം.ടി വാസുദേവൻ നായരായിരുന്നു]]. സാവധാനം, പ്രതിനായക വേഷങ്ങളിൽ നിന്നു നായക വേഷങ്ങളിലേക്ക് മാറിയ ലാൽ, തുടർന്ന് കാമ്പുള്ളതും ഹാസ്യംകലർന്നതുമായ നായകവേഷങ്ങൾ കൈകാര്യം ചെയ്യുവാൻ തുടങ്ങി. ഇത്തരം മോഹൻലാൽ ചിത്രങ്ങൾ കൂടുതലായും സം‌വിധാനം ചെയ്തതു പ്രശസ്ത സം‌വിധായകനും മോഹൻലാലിന്റെ സുഹൃത്തുമായ [[പ്രിയദർശൻ|പ്രിയദർശനായിരുന്നു]]. പ്രിയദർശന്റെ ആദ്യചിത്രമായ ''പൂച്ചക്കൊരു മൂക്കുത്തി'' എന്ന ചിത്രത്തിൽ മോഹൻലാൽ ഒരു പ്രധാന വേഷം ചെയ്തിട്ടുണ്ട്. [[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]] [[കിലുക്കം]], [[മിന്നാരം]], [[തേന്മാവിൻ കൊമ്പത്ത്]], തുടങ്ങിയ ചിത്രങ്ങൾ മോഹൻലാൽ, പ്രിയദർശൻ കൂട്ടുകെട്ടിന്റെ വിജയചിത്രങ്ങളിൽ പ്രധാനങ്ങളാണ്.<ref>https://www.facebook.com/malayalamcinemanews/photos/a.640869782613648.1073741826.496375967063031/1149907551709866/?type=3&theater</ref>[[പ്രിയദർശൻ]] കഥയും, തിരക്കഥയും നിർവഹിച്ച് [[എം.മണി]] സംവിധാനം ചെയ്ത് 1983 ൽ പുറത്ത് ഇറങ്ങിയ [[എങ്ങനെ നീ മറക്കും]] എന്ന ചിത്രത്തിലുടെ എൺപതുകളിൽ ലാൽ തന്റെ ആദ്യ ചിത്രം മുതൽ വില്ലൻ വേഷം മാത്രം ലഭിച്ചപ്പോൾ ഈ ചിത്രത്തിലെ മികച്ച അഭിനയത്തിലൂടെയാണ് ലാലിന് നായക പദവി ലഭിച്ചു തുടങ്ങിയത്. === സുവർണ്ണ കാലഘട്ടം (1986-1995)=== 1986 മുതൽ 1995 വരെയുള്ള കാലഘട്ടം മലയാള സിനിമയുടെ സുവർണ്ണ കാലഘട്ടം എന്നു വിശേഷിപ്പിക്കാവുന്നതാണ്. ഈ കാലഘട്ടത്തിലാണ് നല്ല തിരക്കഥയും, സം‌വിധാനവും, അഭിനയവും കൂടി ചേർന്ന നല്ല ചലച്ചിത്രങ്ങൾ കൂടുതലായും പിറവിയെടുത്തത്<ref name=goldenphase>{{Cite web |url=http://www.malayalamcinema.com/php/showContent.php?linkid=4 |title=മലയാളചലച്ചിത്രങ്ങളുടെ ചരിത്രം |access-date=2009-02-13 |archive-date=2010-02-28 |archive-url=https://web.archive.org/web/20100228033110/http://www.malayalamcinema.com/php/showContent.php?linkid=4 |url-status=dead }}</ref>. ഈ കാലഘട്ടത്തിലാണ് മോഹൻലാലിന്റെ അഭിനയ മികവ് പ്രകടമാക്കുന്ന നിരവധി ചലച്ചിത്രങ്ങൾ ധാരാളമായി പുറത്തിറങ്ങിയത്. ഈ കാലഘട്ടത്തിൽ മികച്ച സം‌വിധായകരോടൊപ്പവും, മികച്ച തിരക്കഥാകൃത്തുക്കളോടൊപ്പവും പ്രവർത്തിക്കാൻ മോഹൻലാലിന് സാധിച്ചു. മലയാള ചലച്ചിത്ര വേദിയിൽ മോഹൻലാലിന്റെ മികച്ച വർഷങ്ങളിൽ ഒന്നാണ് 1986. ഈ വർഷത്തിൽ പുറത്തിറങ്ങിയ ''[[ടി.പി. ബാലഗോപാലൻ എം.എ.]]'' എന്ന [[സത്യൻ അന്തിക്കാട്]] സം‌വിധാനം ചെയ്ത ചിത്രത്തിലെ അഭിനയത്തിന് മോഹൻലാലിന് ആദ്യമായി മികച്ച നടനുള്ള കേരള സംസ്ഥാന സർക്കാർ പുരസ്കാരം ലഭിക്കുകയുണ്ടായി. പിന്നീട് പുറത്തിറങ്ങിയ ''[[രാജാവിന്റെ മകൻ]]‍'' എന്ന ചിത്രം മോഹൻലാലിന് ധാരാളം ആരാധകരെ നേടിക്കൊടുത്തു. ഈ ചിത്രവും വൻ വിജയമായിരുന്നു. ഈ ചിത്രം മൂലം മോഹൻലാൽ മലയാള സിനിമയിലെ സൂപ്പർ സ്റ്റാർ പദവിയിലേക്കുയർന്നു. മോഹൻലാൽ ഒരു അധോലോക നായകന്റെ വേഷം കൈകാര്യം ചെയ്ത ഈ ചിത്രം സം‌വിധാനം ചെയ്തത് [[തമ്പി കണ്ണന്താനം]] ആയിരുന്നു. ഇതേ വർഷത്തിലാണ് ''[[താളവട്ടം]]'' എന്ന ചിത്രത്തിൽ മോഹൻലാൽ അഭിനയിക്കുന്നത്. [[പ്രിയദർശൻ]] സം‌വിധാനം ചെയ്ത ഈ ചിത്രത്തിൽ മാനസിക നില തെറ്റിയ ഒരു യുവാവിന്റെ വേഷമായിരുന്നു മോഹൻലാലിന്. വാടകക്കാർ മൂലം ബുദ്ധിമുട്ട് അനുഭവിക്കുന്ന ഒരു വീട്ടുടമസ്ഥന്റെ വേഷം ചെയ്ത ''[[സന്മനസ്സുള്ളവർക്ക് സമാധാനം]]'' എന്ന ചിത്രവും, ഒരു പത്ര പ്രവർത്തകനായി അഭിനയിച്ച ''[[പഞ്ചാഗ്നി]]'' എന്ന ചിത്രവും, മുന്തിരിത്തോട്ടം മുതലാളിയുടെ വേഷം ചെയ്ത ''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' എന്ന ചിത്രവും, ഒരു ഗൂർഖയായി വേഷമിട്ട ''ഗാന്ധി നഗർ സെക്കൻറ് സ്ട്രീറ്റ്'' എന്ന ചിത്രവും, ആ കാലഘട്ടത്തിലെ വമ്പിച്ച വിജയം നേടിയ ചലച്ചിത്രങ്ങളാണ്. വില്ലൻ വേഷങ്ങളിലാണ് വന്നതെങ്കിലും പിന്നീട് നായക വേഷങ്ങൾ നന്നായി ചെയ്തു തുടങ്ങിയതു മുതൽ അദ്ദേഹം മലയാളികളുടെ മനസ്സിൽ ചിരപ്രതിഷ്ഠ നേടി. രചന - സംവിധാന ജോഡിയായ [[ലോഹിതദാസ്]]-[[സിബി മലയിൽ]] കൂട്ടുകെട്ടിന്റെ ചിത്രങ്ങൾ മോഹൻലാലിന്റെ അഭിനയ ജീവിതത്തിലെ മികച്ച കഥാപാത്രങ്ങളെ സൃഷ്ടിച്ചിട്ടുണ്ട്. ''[[കിരീടം (മലയാളചലച്ചിത്രം)|കിരീടം]]'' എന്ന ചിത്രത്തിലെ സേതുമാധവൻ എന്ന കഥാപാത്രം ഇതിലൊന്നാണ്. ഒരു പോലീസുകാരനാവാൻ ആഗ്രഹിക്കുകയും പിന്നീട് സാഹചര്യങ്ങൾ മൂലം ഒരു കുറ്റവാളി ആയിത്തീരുകയും ചെയ്യുന്ന ഒരു കഥാപാത്രമാണ് സേതുമാധവൻ. 1989-ൽ [[ദേശീയ ചലച്ചിത്രപുരസ്കാരം|ദേശീയ ചലച്ചിത്ര പുരസ്കാര]] ജൂറിയുടെ പ്രത്യേക പരാമർശം ഈ ചിത്രത്തിലെ അഭിനയത്തിന് ലാലിന് ലഭിച്ചിരുന്നു. ''[[ഭരതം]]'' എന്ന ചിത്രത്തിലെ ഗോപി എന്ന കഥാപാത്രവും ഇക്കാലത്തെ മികച്ച ചിത്രങ്ങളിൽ ഒന്നാണ്. ഒരു ശാസ്ത്രീയ സംഗീതജ്ഞനായ ഗോപിയുടെയും തന്റെ ഉയർച്ചയിൽ അസൂയ കാരണം വീടുവിട്ടു പോകുകയും മരണമടയുകയും ചെയ്യുന്ന സഹോദരന്റേയും കഥയാണ് ഭരതം. ഈ ചിത്രത്തിലെ അഭിനയത്തിന് മികച്ച നടനുള്ള പുരസ്കാരം ലാലിന് നേടിക്കൊടുത്തു. രചന- സംവിധാന ജോഡിയായ [[ശ്രീനിവാസൻ]], [[സത്യൻ അന്തിക്കാട്]] എന്നിവരുടെ കൂടെ സാമൂഹിക പ്രാധാന്യമുള്ള ''[[വരവേൽപ്പ്]]'' എന്ന ചിത്രത്തിലും മോഹൻലാൽ അഭിനയിച്ചു. [[ഗൾഫ്|ഗൾഫിൽ]] നിന്ന് തിരിച്ചു വരുന്ന ഒരു യുവാവിന്റെ വേഷമാണ് ഇതിൽ ലാൽ അഭിനയിച്ചത്. പിന്നീട് [[പ്രിയദർശൻ]] സംവിധാനം ചെയ്ത ചിത്രങ്ങളിൽ ഒരു സാധാരണ കാമുക നായക വേഷങ്ങളിൽ അഭിനയിച്ചു. മലയാള ചലച്ചിത്രത്തിലെ എക്കാല ഹിറ്റുകളിൽ ഒന്നായ ''[[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]]'' എന്ന ചിത്രത്തിലെ ലാലിന്റെ അഭിനയം വളരെ ശ്രദ്ധേയമായി. ഈ ചിത്രം [[എറണാകുളം]], [[തിരുവനന്തപുരം]] എന്നിവിടങ്ങളിൽ 365 ദിവസത്തിലധികം തുടർച്ചയായി പ്രദർശിപ്പിച്ചു ചരിത്രം സൃഷ്ടിച്ചു. പ്രിയദർശൻ സംവിധാനം ചെയ്ത ഈ ചിത്രത്തിൽ [[രഞ്ജിനി]] ആയിരുന്നു നായിക. 1993-ൽ [[ഐ.വി. ശശി]] സംവിധാനം ചെയ്ത ''[[ദേവാസുരം]]'' എന്ന ചിത്രത്തിൽ നായകനായി അഭിനയിച്ചു. ഇത് സാമ്പത്തികമായി വിജയിക്കുകയും, ധാരാളം ജനശ്രദ്ധ നേടുകയും ചെയ്ത ഒരു ചിത്രമായിരുന്നു. മലയാളത്തിലെ മികച്ച എഴുത്തുകാരായ [[എം.ടി. വാസുദേവൻ നായർ]], [[പത്മരാജൻ]] എന്നിവരുടെ കഥാപാത്രങ്ങളുടെ ചലച്ചിത്രാവിഷ്കാരത്തിൽ ലാൽ നായകനായിട്ടുണ്ട്. ''അമൃതം‌ ഗമയ'' എന്ന ചിത്രത്തിലെ ഡോക്ടറുടെ കഥാപാത്രം ഇതിലൊന്നാണ്. 1993-ൽ അഭിനയിച്ച മറ്റൊരു ചിത്രമായ ''[[മണിച്ചിത്രത്താഴ്]]'' എന്ന ചിത്രത്തിൽ [[സുരേഷ് ഗോപി]], [[ശോഭന]] എന്നിവരോടൊപ്പം അഭിനയിച്ചു. ഈ ചിത്രം ജനപ്രീതി നേടിയ ചിത്രത്തിനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം നേടുകയുണ്ടായി. 90-കളിൽ പിന്നീട് ധാരാളം ശ്രദ്ധേയമായ വേഷങ്ങൾ ലാൽ ചെയ്തു. ''[[ഹിസ് ഹൈനസ്സ് അബ്ദുള്ള]]'' എന്ന ചിത്രത്തിൽ ഒരു മുസ്ലീം ഒരു നമ്പൂതിരിയായി മാറി വരുന്ന ഒരു കഥാപാത്രമായി അവതരിപ്പിച്ചു. കൂടാതെ ചില ശ്രദ്ധേയമായ അക്കാലത്തെ ചിത്രങ്ങൾ ''മിഥുനം'', ''മിന്നാരം'', ''തേന്മാവിൻ കൊമ്പത്ത്'' എന്നിവയായിരുന്നു. ഇതെല്ലാം വ്യാവസായികമായി വിജയിച്ച ചിത്രങ്ങളായിരുന്നു. ===പിന്നീടുള്ള വർഷങ്ങൾ (1996-ഇതുവരെ)=== <imagemap> Image:Mohanlal_and_Madhu.jpg|thumb| poly 11 305 13 272 19 241 41 205 75 186 100 173 117 169 118 137 124 95 182 88 204 87 219 112 221 130 221 176 214 196 234 208 256 232 266 274 270 325 260 357 279 367 277 393 263 416 232 419 218 404 212 420 226 436 228 442 132 447 7 447 -1 435 0 386 17 337 [[മോഹൻലാൽ]] poly 347 433 630 415 617 396 646 362 646 263 609 179 516 144 507 128 498 126 505 109 491 58 447 36 417 46 406 60 407 72 399 99 409 117 407 130 409 137 412 157 412 164 387 175 368 197 353 221 336 249 331 246 324 222 329 209 327 199 316 197 308 187 265 164 258 174 280 188 271 206 266 216 267 222 285 232 291 241 294 285 302 308 327 327 352 323 374 311 377 307 371 352 372 376 371 388 367 397 352 417 [[മധു (ചലച്ചിത്രനടൻ)|മധു]] desc bottom-left </imagemap> 1996-മുതൽ പിന്നീട് ഇങ്ങോട്ടുള്ള കാലഘട്ടത്തിൽ മോഹൻലാലിന്റെ പ്രശസ്തിയും നായകപദവിയും ഉപയോഗപ്പെടുത്തിക്കൊണ്ട് നിർമ്മാതാക്കളും, സംവിധായകരും ലാലിനു വേണ്ടി ചിത്രങ്ങൾ നിർമ്മിച്ചു. ഇതിൽ പലതും ലാലിനെ ഒരു അസാമാന്യ നായകപദവി കൊടുത്തു കൊണ്ട് നിർമ്മിച്ച ചിത്രങ്ങൾ ആയിരുന്നു. ''[[ആറാം തമ്പുരാൻ]]'', ''[[ഉസ്താദ് (ചലച്ചിത്രം)|ഉസ്താദ്]]'', ''[[നരസിംഹം (മലയാളചലച്ചിത്രം)|നരസിംഹം]]'', ''[[പ്രജ (ചലച്ചിത്രം)|പ്രജ]]'', ''[[നരൻ]]'' എന്നിവ ഇങ്ങനെയുള്ള ചിത്രങ്ങളാണ്. ഒരു സൂപ്പർസ്റ്റാർ എന്ന പദവി പൂർണ്ണമായും പ്രയോജനപ്പെടുത്തുന്ന ചിത്രങ്ങളായിരുന്നു ഇവ. ഈ നിരയിലെ ആദ്യ ചില ചിത്രങ്ങൾ വിജയിച്ചെങ്കിലും പിന്നീട് പല ചിത്രങ്ങളും പരാജയപ്പെടുകയും ധാരാളം വിമർശനങ്ങൾക്ക് വിധേയമാവുകയും ചെയ്തു. 90-കളുടെ അവസാനത്തിൽ പ്രിയദർശൻ സംവിധാനം ചെയ്ത ''[[കാലാപാനി (മലയാളചലച്ചിത്രം)|കാലാപാനി]]'' എന്ന ചിത്രം ഇതിൽ നിന്ന് വ്യത്യസ്തമായി വിജയിച്ചു. [[ഇന്ത്യ|ഇന്ത്യൻ]] സ്വാതന്ത്ര്യ സമരത്തിന്റെ പശ്ചാത്തലത്തിൽ ബ്രിട്ടീഷ് രാജവംശം [[ആന്തമാൻ നിക്കോബാർ ദ്വീപുകൾ|ആൻ‌ഡമാൻ നിക്കോബാർ ദ്വീപിലെ]] [[ജയിൽ|ജയിലിൽ]] അടക്കുന്ന പോരാളികളുടെ കഥ പറയുന്ന ഈ ചിത്രം ദേശീയ തലത്തിലും ശ്രദ്ധേയമായ ഒരു ചിത്രമായിരുന്നു. 1997-ൽ മോഹൻലാൽ അഭിനയിച്ച് പുറത്തിറങ്ങിയ ഒരു ചിത്രമാണ് ''[[ഗുരു (ചലച്ചിത്രം)|ഗുരു]]''. വർഗ്ഗീയ ലഹളയേയും, ആത്മീയതയേയും ചർച്ച ചെയ്ത ഈ ചിത്രം. [[ഓസ്കാർ അവാർഡ്|ഓസ്കാർ അവാർഡിനു]] വേണ്ടിയുള്ള വിദേശ ചലച്ചിത്രങ്ങളുടെ പട്ടികയിൽ ഇടം നേടിയിരുന്നു. [[രാജീവ് അഞ്ചൽ]] ആയിരുന്നു ഈ ചിത്രം സംവിധാനം ചെയ്തത്. ഇതേ വർഷത്തിൽ തന്നെ [[മമ്മൂട്ടി|മമ്മൂട്ടിയോടൊപ്പം]] തുല്യ നായക പ്രാധാന്യമുള്ള [[ഹരികൃഷ്ണൻസ്]] എന്ന ചിത്രത്തിലും ലാൽ അഭിനയിച്ചു. [[ഫാസിൽ]] സംവിധാനം ചെയ്ത ഈ ചിത്രം നല്ല വിജയം കൈവരിച്ചു. കൂടാതെ ആ സമയത്ത് തന്നെ [[ലോഹിതദാസ്]] സംവിധാനം ചെയ്ത ''[[കന്മദം (ചലച്ചിത്രം)|കന്മദം]]'' എന്ന ചിത്രവും കഥയിലെ വ്യത്യസ്തത കൊണ്ട് ശ്രദ്ധേയമായി. [[പ്രമാണം:Bachan mohanlal.jpg|right|thumb|അമിതാബ് ബച്ചനോടൊപ്പം (2010-ലെ ചിത്രം)]] 1999-ൽ പുറത്തിറങ്ങിയ ഇൻ‌ഡോ-ഫ്രഞ്ച് ചലച്ചിത്ര സംരംഭമായ [[വാനപ്രസ്ഥം (മലയാളചലച്ചിത്രം)|വാനപ്രസ്ഥം]] വിഖ്യാതമായ [[കാൻ ചലച്ചിത്രമേള|കാൻ ചലച്ചിത്ര മേളയിൽ]] പ്രദർശിപ്പിക്കുകയുണ്ടായിട്ടുണ്ട്. വിദേശത്തും ഈ ചിത്രത്തിന് വളരെയധികം അഭിനന്ദനങ്ങൾ ലഭിക്കുകയുണ്ടായി<ref>http://movies.nytimes.com/movie/180033/Vanaprastham-the-Last-Dance/overview</ref>. മികച്ച നടനുള്ള ദേശീയ അവാർഡ് രണ്ടാം തവണ മോഹൻലാലിന്‌ ഈ ചിത്രം നേടിക്കൊടുത്തു. 2006-ലെ ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' എന്ന ചിത്രത്തിന്‌ മികച്ച നടനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര പുരസ്കാരം ലഭിച്ചു. 2007-ൽ പുറത്തിറങ്ങിയ [[പരദേശി]] എന്ന ചിത്രം സാമ്പത്തികമായി പരാജയം ആയിരുന്നു എങ്കിലും, മികച്ച നടനുള്ള കേരള സംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരവും, ഫിലിം ഫെയർ പുരസ്കാരവും, ക്രിട്ടിക്സ് അവാർഡും ലാലിന് നേടിക്കൊടുത്തു. 2009-ൽ പുറത്തിറങ്ങിയ [[ഭ്രമരം (ചലച്ചിത്രം)|ഭ്രമരം]] എന്ന ചിത്രം ധാരാളം ജനശ്രദ്ധ ആകർഷിക്കുകയും, വ്യാവസായികമായി വിജയിക്കുകയും ചെയ്ത ഒരു ചിത്രമായിരുന്നു. ബ്ലെസ്സി സംവിധാനം ചെയ്ത രണ്ടാമത്തെ മോഹൻലാൽ ചിത്രമായിരുന്നു ഇത്. ===മറ്റു ഭാഷകളിൽ=== 1997-ലാണ് മോഹൻലാൽ, [[മണിരത്നം]] സംവിധാനം ചെയ്ത ‘[[ഇരുവർ]]’ എന്ന തമിഴ് ചലച്ചിത്രത്തിൽ അഭിനയിക്കുന്നത്. [[ലോകസുന്ദരി|ലോകസുന്ദരി ആയിരുന്ന]] [[ഐശ്വര്യ റായ്]] ആയിരുന്നു ഈ ചിത്രത്തിലെ നായിക. ഈ ചിത്രത്തിൽ [[എം.ജി.ആർ|എം.ജി.ആറിന്റെ]] വേഷത്തിൽ അഭിനയിച്ചു. ഐശ്വര്യ റായുടെ ആദ്യ ചിത്രമായിരുന്നു ഇത്. ഇതിനു ശേഷമാണ് മോഹൻലാൽ മലയാള ഭാഷേതര ചിത്രങ്ങളിൽ ശ്രദ്ധേയനാകുന്നത്. [[ബോളിവുഡ്]] ചിത്രമായ ''[[കമ്പനി (ഹിന്ദി ചലച്ചിത്രം)|കമ്പനി]]'' എന്ന ചിത്രത്തിൽ 2002-ൽ അഭിനയിച്ചു.<ref>http://www.idlebrain.com/mumbai/reviews/mr-company.html</ref> ഈ ചിത്രത്തിലെ അഭിനയത്തിന് ഇന്റർനാഷനൽ ഇന്ത്യൻ ഫിലിം അക്കാഡമിയുടെ (IIFAA) നല്ല സഹ നടനുള്ള അവാർഡ് ലഭിച്ചു. 2007-ൽ പുറത്തിറങ്ങിയ മറ്റൊരു ഹിന്ദി ചിത്രമായ [[രാം ഗോപാൽ വർമ്മ|രാം ഗോപാൽ വർമ്മയുടെ]] [[ഷോലെ|ഷോലെയുടെ]] പുതിയ പതിപ്പായ [http://www.imdb.com/title/tt0473310/ രാം ഗോപാൽ വർമ്മാ കി ആഗിലെ] ഒരു പ്രധാന കഥാപാത്രമായി അഭിനയിച്ചതും മോഹൻ‌ലാലാണ്. എന്നാൽ ഈ ചിത്രം സാമ്പത്തികമായും നിരൂപകരുടെ ഇടയിലും പരാജയമായിരുന്നു. മോഹൻലാലും വിമർശിക്കപ്പെട്ടു. 2009-ൽ വിഖ്യാത നടൻ [[കമലഹാസൻ|കമലഹാസനോടൊപ്പം]] [[തമിഴ്|തമിഴിൽ]], ''ഉന്നൈ പോൽ ഒരുവൻ''‍ എന്ന ചിത്രത്തിലും ലാൽ അഭിനയിച്ചു. ഒരു ഹിന്ദി ചിത്രമായ ''എ വെനസ്ഡേ'' എന്ന ചിത്രത്തിന്റെ തമിഴ് പതിപ്പായിരുന്നു ഈ ചിത്രം. തമിഴിൽ മോഹൻലാൽ അഭിനയിച്ച കഥാപാത്രം [[ഹിന്ദി|ഹിന്ദിയിൽ]] [[അനുപം ഖേർ]] ആണ് അവതരിപ്പിച്ചത്. 2014-ൽ പുറത്തിറങ്ങിയ തമിഴ് ചലച്ചിത്രം [[ജില്ല (ചലച്ചിത്രം)|ജില്ല]]യിൽ [[വിജയ്]]ക്ക് ഒപ്പം നായക തുല്യമായ വേഷത്തിൽ അഭിനയിച്ചു.<ref>{{Cite web |url=http://ibnlive.in.com/news/mohanlalvijay-team-up-for-tamil-film-jilla-to-be-directed-by-nesan/377813-71-180.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2014-07-23 |archive-date=2013-03-15 |archive-url=https://web.archive.org/web/20130315121454/http://ibnlive.in.com/news/mohanlalvijay-team-up-for-tamil-film-jilla-to-be-directed-by-nesan/377813-71-180.html |url-status=dead }}</ref> == അഭിനയിച്ച ചിത്രങ്ങൾ == * {| class="wikitable sortable" |+മോഹൻലാൽ സിനിമകളുടെ പട്ടിക !വർഷം !ചലച്ചിത്രം !കഥാപാത്രം !കുറിപ്പുകൾ !<abbr>റഫ.</abbr> |- |1980 !''[[മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കൾ]]'' |നരേന്ദ്രൻ | | |- | rowspan="8" |1981 !''[[സഞ്ചാരി]]'' |ഡോ. ശേഖർ | | |- !''[[തകിലുകൊട്ടാമ്പുറം]]'' |അഡ്വക്കേറ്റ് പോൾ | | |- !''[[ധന്യ (മലയാളചലച്ചിത്രം)|ധന്യ]]'' |മോഹൻലാൽ | | |- !''[[ധ്രുവസംഗമം]]'' |ശങ്കരൻകുട്ടി | | |- !''[[അട്ടിമറി (ചലച്ചിത്രം)|അട്ടിമറി]]'' |ഷാൻ | | |- !''[[ഊതിക്കാച്ചിയ പൊന്ന്]]'' |നന്ദൻ | | |- !''[[തേനും വയമ്പും]]'' |വർമ്മ | | |- !''[[അഹിംസ (ചലച്ചിത്രം)|അഹിംസ]]'' |മോഹൻ | | |- | rowspan="14" |1982 ![[മദ്രാസിലെ മോൻ|''മദ്രാസിലെ'' ''മോൻ'']] |മോഹൻലാൽ | | |- !''[[ഫുട്ബോൾ (ചലച്ചിത്രം)|ഫുട്ബോൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[കേൾക്കാത്ത ശബ്ദം]]'' |ബാബു | | |- !''[[പടയോട്ടം]]'' |കണ്ണൻ | | |- !''[[എനിക്കും ഒരു ദിവസം|എനിയ്ക്കും ഒരു ദിവസം]]'' |ബാബു | | |- !''[[ആക്രോശം (ചലച്ചിത്രം)|ആക്രോശം]]'' |മോഹനചന്ദ്രൻ | | |- !''[[എന്തിനോ പൂക്കുന്ന പൂക്കൾ]]'' |സുരേന്ദ്രൻ | | |- !''[[സിന്ദൂരസന്ധ്യക്ക് മൗനം (ചലച്ചിത്രം)|സിന്ദൂര സന്ധ്യക്കു മൗനം]]'' |കിഷോർ | | |- !''[[എന്റെ മോഹങ്ങൾ പൂവണിഞ്ഞു]]'' |ജയൻ | | |- !''[[ഞാൻ ഒന്നു പറയട്ടെ|ഞാൻ ഒന്ന് പറയട്ടെ]]'' |ശേഖരൻകുട്ടി | | |- !''[[ആ ദിവസം]]'' |ബോസ് | | |- !''[[കാളിയ മർദ്ദനം|കാളിയമർദനം]]'' |ജോണി | | |- !''[[ശ്രീ അയ്യപ്പനും വാവരും]]'' |കടുത്ത |കാമിയോ | |- !''[[കുറുക്കന്റെ കല്യാണം]]'' |സൈനബയുടെ ഭർത്താവ് | | |- | rowspan="26" |1983 !''[[വിസ (ചലച്ചിത്രം)|വിസ]]'' |വെയിൽ | | |- !''[[ഹലോ മദ്രാസ് ഗേൾ]]'' |ലാൽ | | |- !''[[എന്റെ കഥ (ചലച്ചിത്രം)|എന്റെ കഥ]]'' |രമേശ് | | |- !''[[ഭൂകമ്പം (ചലച്ചിത്രം)|ഭൂകമ്പം]]'' |രഘു | | |- !''[[ഗുരുദക്ഷിണ]]'' |മന്ത്രി പ്രഭാകരൻ | | |- !''[[നസീമ]]'' |സൈതാലി | | |- !''[[കൊലകൊമ്പൻ (ചലച്ചിത്രം)|കൊലക്കൊമ്പൻ]]'' |ഗോപി | | |- !''[[കുയിലിനെ തേടി]]'' |തമ്പുരാൻ കുട്ടി | | |- !''[[ഹിമവാഹിനി]]'' |പാപ്പി | | |- !''[[അറബിക്കടൽ (ചലച്ചിത്രം)|അറബിക്കടൽ]]'' |രവി | | |- !''[[ശേഷം കാഴ്ചയിൽ]]'' |പോലീസ് ഇൻസ്പെക്ടർ | | |- !''[[മറക്കില്ലൊരിക്കലും|മറക്കില്ലോരിക്കലും]]'' |മുരളി | | |- !''[[സന്ധ്യയ്ക്കു വിരിഞ്ഞ പൂവ്|സന്ധ്യക്കു വിരിഞ്ഞ പൂവ്]]'' |രാമു | | |- !''[[താവളം (ചലച്ചിത്രം)|താവളം]]'' |രാജപ്പൻ | | |- !''[[ആധിപത്യം]]'' |മോഹൻ | | |- !''[[ചക്രവാളം ചുവന്നപ്പോൾ]]'' |സുരേഷ് | | |- !''[[എങ്ങനെ നീ മറക്കും]]'' |ശംബു | | |- !''[[ഇനിയെങ്കിലും]]'' |രവി | | |- !''[[ആട്ടക്കലാശം]]'' |സന്തോഷ് ബാബു | | |- !''[[കാറ്റത്തെ കിളിക്കൂട്]]'' |ഉണ്ണി കൃഷ്ണൻ | | |- !''[[അസ്ത്രം (ചലച്ചിത്രം)|അസ്ത്രം]]'' |ദാസ് | | |- !''[[ചങ്ങാത്തം]]'' |സെന്റ് ഡാനിയേൽ | | |- !''[[ഒരു മുഖം പല മുഖം]]'' |സുകുമാരൻ തമ്പി | | |- !''[[നാണയം (ചലച്ചിത്രം)|നാണയം]]'' |ബാബു | | |- !''[[എന്റെ മാമാട്ടുക്കുട്ടിയമ്മയ്ക്ക്|എന്റെ മാമാട്ടിക്കുട്ടിയമ്മക്ക്]]'' |അലക്സ് | | |- !''[[പിൻനിലാവ്]]'' |രഘു | | |- | rowspan="25" |1984 !''[[അക്കരെ]]'' |സുധാകരൻ | | |- !''[[ഒന്നാണു നമ്മൾ]]'' |നന്ദഗോപാൽ | | |- !''[[സ്വന്തമെവിടെ ബന്ധമെവിടെ]]'' |രാജേന്ദ്രൻ | | |- !''[[വനിതാപോലീസ് (ചലച്ചിത്രം)|വനിതാ പോലീസ്]]'' |അച്യുതൻ | | |- !''[[അപ്പുണ്ണി]]'' |മേനോൻ മാഷ് | | |- !''[[അതിരാത്രം (ചലച്ചിത്രം)|അതിരാത്രം]]'' |പ്രസാദ് | | |- !''[[ഉണരൂ]]'' |രാമു | | |- !''[[കളിയിൽ അൽപ്പം കാര്യം]]'' |വിനയൻ | | |- !''[[പൂച്ചയ്ക്കൊരു മൂക്കുത്തി|പൂച്ചക്കൊരു മൂക്കുത്തി]]'' |ഗോപാലകൃഷ്ണൻ | | |- !''[[പാവം പൂർണിമ]]'' |അണ്ണൻ തമ്പുരാൻ | | |- !''[[ലക്ഷ്മണരേഖ (ചലച്ചിത്രം)|ലക്ഷ്മണരേഖ]]'' |സുധാകരൻ നായർ | | |- !''[[ആൾക്കൂട്ടത്തിൽ തനിയെ]]'' |അനിൽ കുമാർ | | |- ! '' [[വേട്ട]] '' |ബാലൻ | | |- !''[[ഇവിടെ തുടങ്ങുന്നു]]'' |കൃഷ്ണകുമാർ | | |- !''[[കുരിശുയുദ്ധം (ചലച്ചിത്രം)|കുരിശുയുദ്ധം]]'' |ജോണി | | |- !''[[മനസ്സറിയാതെ|മനസറിയാതെ]]'' |മമ്മൂട്ടി | | |- !''[[തിരകൾ (ചലച്ചിത്രം)|തിരകൾ]]'' |ജെയിംസ് ജോർജ് | | |- !''[[കിളിക്കൊഞ്ചൽ]]'' |രതീഷ് | | |- !''[[ഇതാ ഇന്നു മുതൽ]]'' | |അതിഥി വേഷം | |- !''[[ശ്രീകൃഷ്ണപ്പരുന്ത് (ചലച്ചിത്രം)|ശ്രീകൃഷ്ണ പരുന്ത്]]'' |കുമാരൻ | | |- !''[[അടുത്തടുത്ത്‌ (ചലച്ചിത്രം)|അടുത്തടുത്ത്]]'' |വിഷ്ണു മോഹൻ | | |- !''[[അറിയാത്ത വീഥികൾ]]'' |ബാലൻ | | |- !''[[ഉയരങ്ങളിൽ]]'' |പി.കെ. ജയരാജൻ | | |- !''[[അടിയൊഴുക്കുകൾ]]'' |ഗോപി | | |- !''[[ഒരു കൊച്ചു സ്വപ്നം]]'' |ഗിൽബെർട്ട് | | |- | rowspan="25" |1985 !''[[അവിടത്തെപ്പോലെ ഇവിടെയും|അവിടത്തെ പോലെ ഇവിടെയും]] '' |സുകുമാരൻ | | |- !''[[നോക്കെത്താദൂരത്തു കണ്ണുംനട്ട്|നോക്കെത്താ ദൂരത്ത് കണ്ണും നാട്ട്]]'' |ശ്രീകുമാർ | | |- !''[[ഓമനിക്കാൻ ഓർമ്മിക്കാൻ]]'' |ദേവ കുമാർ | | |- !''[[അരം + അരം = കിന്നരം]]'' |നാരായണൻ കുട്ടി | | |- !''[[നായകൻ]]'' |കൃഷ്ണദാസ് | | |- !''[[ഞാൻ പിറന്ന നാട്ടിൽ]]'' |ഇൻസ്പെക്ടർ രാജശേഖരൻ | | |- !''[[ഒന്നാം കുന്നിൽ ഒരടി കുന്നിൽ]]'' |നിതിൻ | | |- !''[[അനുബന്ധം (ചലച്ചിത്രം)|അനുബന്ധം]]'' |ഭാസ്കരൻ | | |- !''[[മുളമൂട്ടിൽ അടിമ]]'' |അടിമാകന്നെ | | |- !''[[വസന്തസേന (ചലച്ചിത്രം)|വസന്തസേന]]'' |ദേവൻ | | |- !''[[ഗുരുജി ഒരു വാക്ക്]]'' |സുധാകരൻ നായർ | | |- !''[[പറയാനുംവയ്യ പറയാതിരിക്കാനുംവയ്യ|പറയാനും വയ്യ പറയാതിരിക്കാനും വയ്യ]] '' |കറന്റ് ഹംസ | | |- !''[[അങ്ങാടിക്കപ്പുറത്ത്]]'' |ബാബു | | |- !''[[കൂടും തേടി]]'' |പീറ്റർ | | |- !''[[ജീവൻ്റെ ജീവൻ]]'' |ജയൻ | | |- !''[[അദ്ധ്യായം ഒന്നു മുതൽ|അധ്യായം ഒന്ന് മുതൽ]]'' |വിഷ്ണു | | |- !''[[അഴിയാത്ത ബന്ധങ്ങൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[ബോയിംഗ് ബോയിംഗ്]]'' |ശ്യാം | | |- !''[[കരിമ്പൂവിനക്കരെ]]'' |ഭദ്രൻ | | |- !''[[ഉയരും ഞാൻ നാടാകെ]]'' |ദാരപ്പൻ | | |- !''[[ഇടനിലങ്ങൾ]]'' |ബാലൻ | | |- ![[പത്താമുദയം (ചലച്ചിത്രം)|പത്താമുദയം]] |ജയമോഹനും വിക്രമനും | | |- !''[[രംഗം (ചലച്ചിത്രം)|രംഗം]]'' |അപ്പുണ്ണി | | |- !''[[ഏഴു മുതൽ ഒൻപതു വരെ]]'' |ആനന്ദ് | | |- !''[[കണ്ടു കണ്ടറിഞ്ഞു]]'' |കൃഷ്ണൻ ഉണ്ണി | | |- | rowspan="34" |1986 !''[[നിന്നിഷ്ടം എന്നിഷ്ടം]]'' |ശ്രീകുമാർ |100-ാമത്തെ ചിത്രം | |- !''[[പപ്പൻ പ്രിയപ്പെട്ട പപ്പൻ]]'' |ഇൻസ്പെക്ടർ ദേവദാസ് | | |- !''[[ഒപ്പം ഒപ്പത്തിനൊപ്പം]]'' |കൃഷ്ണൻ കുട്ടി | | |- !''[[മഴ പെയ്യുന്നു മദ്ദളം കൊട്ടുന്നു]]'' |ശംബു | | |- !''[[പഞ്ചാഗ്നി]]'' |റഷീദ് | | |- !''[[കരിയിലക്കാറ്റുപോലെ|കരിയിലക്കാറ്റ് പോലെ]] '' |ഇൻസ്പെക്ടർ അച്യുതൻകുട്ടി | | |- !''[[അഭയംതേടി|അഭയം തേടി]]'' |അപ്പു | | |- !''[[വാർത്ത (ചലച്ചിത്രം)|വാർത്ത]]'' |പരോൾ വാസു | | |- !''[[ഗീതം (ചലച്ചിത്രം)|ഗീതം]]'' |ജഗദീഷ് നായർ | | |- !''[[ഹലോ മൈഡിയർ റോംഗ് നമ്പർ|ഹലോ മൈഡിയർ റോങ്ങ് നമ്പർ]]'' |വേണുഗോപാൽ | | |- !''[[നേരം പുലരുമ്പോൾ]]'' |ദൈവരഹിതം | | |- !''[[ഇനിയും കുരുക്ഷേത്രം]]'' |സുരേഷ് ബാബു | | |- !''[[കാവേരി (ചലച്ചിത്രം)|കാവേരി]]'' |ബാലചന്ദ്രൻ നായർ | | |- !''[[മിഴിനീർപൂവുകൾ|മിഴിനീർപ്പൂവുകൾ]]'' |റിച്ചാർഡ് | | |- !''[[പൂമുഖപ്പടിയിൽ നിന്നെയും കാത്ത്]]'' |പോളി | | |- !''[[നിമിഷങ്ങൾ]]'' |മുരളി | | |- !''[[ദൂരെ ദൂരെ ഒരു കൂടു കൂട്ടാം]]'' |ദിവാകരൻ | | |- !''[[യുവജനോത്സവം]]'' |ജയൻ | | |- !''[[ശോഭരാജ്]]'' |ശോഭരാജും ധർമ്മരാജും | | |- !''[[ഒന്ന് മുതൽ പൂജ്യം വരെ]]'' |ടെലിഫോൺ അങ്കിൾ | | |- !''[[എന്റെ എന്റേതുമാത്രം|എന്റെ എന്റെതു മാത്രം]]'' |മിസ്റ്റർ മേനോൻ | | |- !''[[പടയണി (ചലച്ചിത്രം)|പടയണി]]'' |രമേശ് | | |- !''[[മനസ്സിലൊരു മണിമുത്ത്|മനസ്സില്ലൊരു മണിമുത്ത്]]'' |മോഹൻ | | |- !''[[സന്മനസ്സുള്ളവർക്ക്‌ സമാധാനം|സന്മനസ്സുള്ളവർക്കു സമാധാനം]]'' |ഗോപാലകൃഷ്ണ പണിക്കർ | | |- !''[[അടിവേരുകൾ]]'' |ബാലകൃഷ്ണൻ |നിർമ്മാതാവും | |- !''[[ദേശാടനക്കിളി കരയാറില്ല]]'' |ഹരിശങ്കർ | | |- !''[[രേവതിക്കൊരു പാവക്കുട്ടി]]'' |ഡോ. മാധവൻകുട്ടി | | |- !''[[കുഞ്ഞാറ്റക്കിളികൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[ടി.പി. ബാലഗോപാലൻ എം.എ.|ടി.പി.ബാലഗോപാലൻ എം.എ.]]'' |ബാലഗോപാലൻ |മികച്ച നടനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര അവാർഡ് | |- !''[[ഗാന്ധിനഗർ 2nd സ്ടീറ്റ് (ചലച്ചിത്രം)|ഗാന്ധിനഗർ സെക്കന്റ് സ്ട്രീറ്റ്]]'' |സേതു / രാം സിംഗ് |നിർമ്മാതാവും | |- !''[[രാജാവിന്റെ മകൻ]]'' |വിൻസെന്റ് ഗോമസ് | | |- !''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ|നമുക്ക് പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' |സോളമൻ | | |- !''[[സുഖമോ ദേവി]]'' |വെയിൽ | | |- !''[[താളവട്ടം]]'' |വിനോദ് | | |- | rowspan="13" |1987 !''[[ജനുവരി ഒരു ഓർമ്മ]]'' |രാജു | | |- !''[[അമൃതം ഗമയ]]'' |ഡോ. പി.കെ. ഹരിദാസ് | | |- !''[[അടിമകൾ ഉടമകൾ]]'' |മോഹൻ ചെറിയാൻ | | |- !''[[സർവകലാശാല (ചലച്ചിത്രം)|സർവകലാശാല]]'' |ലാൽ | | |- !''[[ഇരുപതാം നൂറ്റാണ്ട് (ചലച്ചിത്രം)|ഇരുപതാം നൂറ്റാണ്ട്]]'' |സാഗർ അലിയാസ് ജാക്കി | | |- !''[[ഭൂമിയിലെ രാജാക്കന്മാർ]]'' |രാജ മഹീന്ദ്ര വർമ്മ | | |- !''[[ഉണ്ണികളെ ഒരു കഥ പറയാം|ഉണ്ണികളേ ഒരു കഥ പറയാം]]'' |അബി |നിർമ്മാതാവും | |- !''[[തൂവാനത്തുമ്പികൾ]]'' |മണ്ണാറത്തൊടി ജയകൃഷ്ണൻ | | |- !''[[കൈയെത്തും ദൂരത്ത്|കൈയേത്തും ദൂരത്ത്]]'' |വിനോദ് | | |- !''[[വഴിയോരക്കാഴ്ചകൾ]]'' |രാഘവൻ / ആന്റണി ഐസക് | | |- !''[[ചെപ്പ്]]'' |രാമചന്ദ്രൻ | | |- !''[[നാടോടിക്കാറ്റ്]]'' |ദാസൻ |നിർമ്മാതാവും | |- !''[[ഇവിടെ എല്ലാവർക്കും സുഖം]]'' |അപ്പു | | |- | rowspan="12" |1988 !''[[മുകുന്ദേട്ടാ സുമിത്ര വിളിക്കുന്നു]]'' |മുകുന്ദൻ കെ. കർത്ത | | |- !''[[ആയിത്തം ചലച്ചിത്രം|ആയിത്തം]]'' |ശങ്കരൻ | | |- !''[[മനു അങ്കിൾ]]'' | |അതിഥി വേഷം | |- !''[[ഓർക്കാപ്പുറത്ത്]]'' |ഫ്രെഡി നിക്കോളാസ് | | |- !''[[പാദമുദ്ര]]'' |മാത്തു പണ്ടാരവും സോപ്പ് കുട്ടപ്പനും | | |- !''[[പട്ടണപ്രവേശം]]'' |സിഐഡി രാംദാസ് / ദാസൻ | | |- !''[[അനുരാഗി]]'' |സാമു | | |- !''[[ആര്യൻ (ചലച്ചിത്രം)|ആര്യൻ]]'' |ദേവനാരായണൻ | | |- !''[[മൂന്നാംമുറ|മൂന്നാം മുറ]]'' |അലി ഇമ്രാൻ | | |- !''[[വെള്ളാനകളുടെ നാട്]]'' |സി.പവിത്രൻ "സി.പി" നായർ | | |- !''[[ഉത്സവപ്പിറ്റേന്ന്|ഉത്സവ പിറ്റേന്ന്]]'' |അനിയൻകുട്ടൻ | | |- !''[[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]]'' |വിഷ്ണു | | |- | rowspan="10" |1989 !''[[ലാൽ അമേരിക്കയിൽ]]'' |വിനോദ് | | |- !''[[ദൗത്യം]]'' |ക്യാപ്റ്റൻ റോയ് ജേക്കബ് തോമസ് | | |- !''[[സീസൺ]]'' |ജീവൻ | | |- !''[[വരവേൽപ്പ്]]'' |മുരളീധരൻ | | |- ! ''[[നാടുവാഴികൾ]]'' |അർജുൻ | | |- ! ''[[പെരുവണ്ണാപുരത്തെ വിശേഷങ്ങൾ]]'' |അച്യുതക്കുറുപ്പ് |കാമിയോ | |- !''[[കിരീടം (ചലച്ചിത്രം)|കീരീടം]]'' |സേതുമാധവൻ |ദേശീയ ചലച്ചിത്ര അവാർഡുകളിൽ പ്രത്യേക പരാമർശം | |- !''[[വന്ദനം]]'' |ഉണ്ണികൃഷ്ണൻ | | |- !''[[അധിപൻ]]'' |അഡ്വ. ശ്യാം പ്രകാശ് | | |- !''[[ദശരഥം]]'' |രാജീവ് മേനോൻ | | |- | rowspan="11" |1990 !''[[ഏയ് ഓട്ടോ]]'' |സുധി | | |- !''[[അക്കരെയക്കരെയക്കരെ|അക്കരെ അക്കരെ അക്കരെ]]'' |സിഐഡി രാംദാസ്/ദാസൻ | | |- !''[[നമ്പർ 20 മദ്രാസ് മെയിൽ]]'' |ടോണി കുരിശിങ്കൽ | | |- !''[[ഹിസ് ഹൈനസ്സ് അബ്ദുള്ള|ഹിസ് ഹൈനസ് അബ്ദുള്ള]]'' |അബ്ദുല്ല / ആനന്ദൻ നമ്പൂതിരി | | |- !''[[മുഖം (ചലച്ചിത്രം)|മുഖം]]'' |ഹരിപ്രസാദ് | | |- !''[[കടത്തനാടൻ അമ്പാടി]]'' |കടത്തനാടൻ അമ്പാടി | | |- !''[[താഴ്‌വാരം (ചലച്ചിത്രം)|താഴ്‌വാരം]]'' |ബാലൻ | | |- !''[[അർഹത (ചലച്ചിത്രം)|അർഹത]]'' |ദേവരാജ് | | |- !''[[ഇന്ദ്രജാലം (ചലച്ചിത്രം)|ഇന്ദ്രജാലം]]'' |കണ്ണൻ നായർ | | |- !''[[അപ്പു (ചലച്ചിത്രം)|അപ്പു]]'' |അപ്പു | | |- !''[[ലാൽസലാം (ചലച്ചിത്രം)|ലാൽ സലാം]]'' |നെട്ടൂർ സ്റ്റീഫൻ | | |- | rowspan="10" |1991 !''[[ധനം (ചലച്ചിത്രം)|ധനം]]'' |ശിവശങ്കരൻ | | |- !''[[ഗോപുര വാസലീലെ]]'' |അക്കോർഡിയനിസ്റ്റ് |തമിഴ് സിനിമ; "കേളടി എൻ പാവായേ" എന്ന ഗാനത്തിലെ പ്രത്യേക വേഷം. | |- !''[[ഭരതം]]'' |കല്ലൂർ ഗോപിനാഥൻ |മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം | |- !''[[വാസ്തുഹാരാ|വാസ്തുഹാര]]'' |വേണുഗോപാൽ | | |- !''[[വിഷ്ണുലോകം]]'' |ശങ്കു | | |- !''[[അങ്കിൾ ബൺ]]'' |ചാർളി ചാക്കോ | | |- !''[[കിലുക്കം]]'' |ജോജി | | |- !''[[ഉള്ളടക്കം]]'' |ഡോ. സണ്ണി | | |- !''[[കിഴക്കുണരും പക്ഷി]]'' |അനന്ത് മൂർത്തി | | |- !''[[അഭിമന്യു (ചലച്ചിത്രം)|അഭിമന്യു]]'' |ഹരികൃഷ്ണൻ | | |- | rowspan="9" |1992 !''[[സദയം]]'' |സത്യനാഥൻ | | |- !''[[കമലദളം]]'' |നന്ദഗോപൻ | | |- !''[[അഹം]]'' |സിദ്ധാർത്ഥൻ | | |- !''[[രാജശിൽ‌പി|രാജശിൽപി]]'' |ശംഭു | | |- !''[[യോദ്ധാ|യോദ്ധ]]'' |തൈപ്പറമ്പിൽ അശോകൻ | | |- !''[[അദ്വൈതം (ചലച്ചിത്രം)|അദ്വൈതം]]'' |ശിവപ്രസാദ് | | |- !''[[സൂര്യഗായത്രി]]'' |ഡോ. ബാലസുബ്രഹ്മണ്യം | | |- !''[[നാടോടി (ചലച്ചിത്രം)|നാടോടി]]'' |സച്ചിദാനന്ദൻ, ബാലകൃഷ്ണൻ ഭാഗവതർ | | |- !''[[വിയറ്റ്നാം കോളനി]]'' |ജി. കൃഷ്ണമൂർത്തി | | |- | rowspan="8" |1993 !''[[മിഥുനം]]'' |സേദുമാധവൻ | | |- !''[[ദേവാസുരം]]'' |മംഗലശ്ശേരി നീലകണ്ഠൻ |200-ാമത്തെ ചിത്രം | |- !''[[ബട്ടർഫ്ലൈസ്]]'' |രാജകുമാരൻ | | |- !''[[മായാമയൂരം]]'' |കൃഷ്ണൻ ഉണ്ണിയും നരേന്ദ്രനും | | |- !''[[ഗാന്ധർവ്വം]]'' |സാമുവൽ അലക്സാണ്ടർ | | |- !''[[ചെങ്കോൽ (ചലച്ചിത്രം)|ചെങ്കോൽ]]'' |സേതുമാധവൻ | | |- !''[[കളിപ്പാട്ടം (ചലച്ചിത്രം)|കളിപ്പാട്ടം]]'' |വേണു | | |- !''[[മണിച്ചിത്രത്താഴ് (ചലച്ചിത്രം)|മണിച്ചിത്രത്താഴ്]]'' |ഡോ. സണ്ണി ജോസഫ് | | |- | rowspan="6" |1994 !''[[പവിത്രം]]'' |ഉണ്ണികൃഷ്ണൻ | | |- !''[[തേന്മാവിൻ കൊമ്പത്ത്]]'' |മാണിക്യൻ | | |- !''[[പിൻഗാമി]]'' |ക്യാപ്റ്റൻ വിജയ് മേനോൻ | | |- !''[[ഗാണ്ഡീവം ചലച്ചിത്രം|ഗണ്ഡീവം]]'' |ക്യാപ്റ്റൻ |തെലുങ്ക് സിനിമ; "ഗൊരുവാങ്ക വലഗനേ" എന്ന ഗാനത്തിലെ പ്രത്യേക വേഷം. | |- !''[[പക്ഷേ]]'' |ബാലചന്ദ്രൻ | | |- !''[[മിന്നാരം (ചലച്ചിത്രം)|മിന്നാരം]]'' |ബോബി | | |- | rowspan="5" |1995 !''[[നിർണ്ണയം|നിർണയം]]'' |ഡോ. റോയ് അലക്സ് | | |- !''[[സ്ഫടികം (ചലച്ചിത്രം)|സ്ഫടികം]]'' |തോമസ് "ആടുതോമ" ചാക്കോ | | |- !''[[തച്ചോളി വർഗ്ഗീസ് ചേകവർ|തച്ചോളി വർഗീസ് ചേകവർ]]'' |തച്ചോളി വർഗീസ് ചേകവർ | | |- !''[[മാന്ത്രികം]]'' |സ്റ്റീഫൻ റൊണാൾഡ് / ആൽബി റോമിയോ ഹിഗ്വിറ്റ | | |- !''[[അഗ്നിദേവൻ ചലച്ചിത്രം|അഗ്നിദേവൻ]]'' |അനിയൻകുട്ടൻ / രവിവർമ്മ | | |- | rowspan="2" |1996 !''[[കാലാപാനി (ചലച്ചിത്രം)|കാലാപാനി]]'' |ഡോ. ഗോവർദ്ധൻ മേനോൻ | | |- !''[[ദി പ്രിൻസ് ചലച്ചിത്രം|ദി പ്രിൻസ്]]'' |ജീവ | | |- | rowspan="6" |1997 !''[[ഇരുവർ]]'' |ആനന്ദൻ |തമിഴ് സിനിമ | |- !''[[വർണ്ണപ്പകിട്ട്|വർണപകിട്ട്]]'' |സണ്ണി പാലമറ്റം | | |- !''[[ഒരു യാത്രാമൊഴി]]'' |ഗോവിന്ദൻകുട്ടി | | |- !''[[ചന്ദ്രലേഖ]]'' |അപ്പുക്കുട്ടൻ / ആൽഫി | | |- !''[[ഗുരു (ചലച്ചിത്രം)|ഗുരു]]'' |രഘുരാമൻ | | |- !''[[ആറാം തമ്പുരാൻ]]'' |ജഗന്നാഥൻ | | |- | rowspan="5" |1998 !''[[കന്മദം (ചലച്ചിത്രം)|കന്മദം]]'' |വിശ്വനാഥൻ | | |- !''[[ഹരികൃഷ്ണൻസ്]]'' |അഡ്വ. കൃഷ്ണൻ | | |- !''[[രക്തസാക്ഷികൾ സിന്ദാബാദ്]]'' |ശിവ സുബ്രഹ്മണ്യ അയ്യർ | | |- !''[[അയാൾ കഥയെഴുതുകയാണ്|അയാൾ കഥ എഴുതുകയാണ്]] '' |സാഗർ കോട്ടപ്പുറം / വിദ്യാസാഗർ | | |- !''[[സമ്മർ ഇൻ ബത്‌ലഹേം|സമ്മർ ഇൻ ബത്ലേഹം]]'' |നിരഞ്ജൻ |കാമിയോ | |- | rowspan="3" |1999 !''[[ഉസ്താദ് (ചലച്ചിത്രം)|ഉസ്താദ്]]'' |പരമേശ്വരൻ / ഉസ്താദ് | | |- !''[[ഒളിമ്പ്യൻ അന്തോണി ആദം|ഒളിമ്പിയൻ ആന്തോണി ആദം]]'' |എസ്പി ആൻ്റണി ചക്കുംമൂട്ടിൽ വർഗീസ് ഐപിഎസ് | | |- !''[[വാനപ്രസ്ഥം (ചലച്ചിത്രം)|വാനപ്രസ്ഥം]]'' |കുഞ്ഞിക്കുട്ടൻ |മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം | |- | rowspan="4" |2000 !''[[നരസിംഹം (ചലച്ചിത്രം)|നരസിംഹം]]'' |പൂവള്ളി ഇന്ദ്രചൂഡൻ | | |- !'' [[ലൈഫ് ഈസ് ബ്യൂട്ടിഫുൾ]]'' |വിനയ ചന്ദ്രൻ | | |- !''[[ശ്രദ്ധ (ചലച്ചിത്രം)|ശ്രദ്ധ]]'' |ഗംഗാപ്രസാദ് ഐ.പി.എസ്. | | |- !''[[ദേവദൂതൻ]]'' |വിശാൽ കൃഷ്ണമൂർത്തി | | |- | rowspan="5" |2001 !''[[കാക്കക്കുയിൽ]]'' |ശിവരാമൻ | | |- !''[[രാവണപ്രഭു]]'' |മംഗലശ്ശേരി നീലകണ്ഠനും കാർത്തികേയനും | | |- !''[[പ്രജ]]'' |സാക്കിർ അലി ഹുസൈൻ | | |- !''[[ഉന്നതങ്ങളിൽ]]'' |വിവേക് | rowspan="2" |കാമിയോ | |- !'' [[അച്ഛനെയാണെനിക്കിഷ്ടം]]'' |മഹാദേവൻ | |- | rowspan="4" |2002 !''[[കമ്പനി (ഹിന്ദി ചലച്ചിത്രം)|കമ്പനി]]'' |ഐജി വീരപ്പള്ളി ശ്രീനിവാസൻ ഐപിഎസ് |ഹിന്ദി സിനിമ | |- !''[[ഒന്നാമൻ (ചലച്ചിത്രം)|ഒന്നാമൻ]]'' |രവിശങ്കർ | | |- !''[[താണ്ഡവം (ചലച്ചിത്രം)|താണ്ഡവം]]'' |കാശിനാഥൻ | | |- !''[[ചതുരംഗം (ചലച്ചിത്രം)|ചതുരംഗം]]'' |ആറ്റിപ്രാക്കൽ ജിമ്മി ജേക്കബ് | | |- | rowspan="6" |2003 !''[[പോപ്പ് കോൺ ചലച്ചിത്രം|പോപ്പ് കോൺ]]'' |വിക്രമാദിത്യൻ |തമിഴ് സിനിമ | |- !''[[മിസ്റ്റർ ബ്രഹ്മചാരി]]'' |അനന്തൻ തമ്പി | | |- !''[[കിളിച്ചുണ്ടൻ മാമ്പഴം (ചലച്ചിത്രം)|കിളിച്ചുണ്ടൻ മാമ്പഴം]]'' |അബ്ദുൾ ഖാദർ | | |- !''[[ബാലേട്ടൻ]]'' |അത്താണിപ്പറമ്പിൽ ബാലചന്ദ്രൻ | | |- !''[[ഹരിഹരൻപിള്ള ഹാപ്പിയാണ്|ഹരിഹരൻ പിള്ള ഹാപ്പിയാണ്]]'' |ഹരിഹരൻ പിള്ള | | |- !''[[തിരനോട്ടം (2003 ചലച്ചിത്രം)|തിരനോട്ടം]]'' |കുട്ടപ്പൻ |വൈകിയ റിലീസ് | |- | rowspan="6" |2004 !''[[വാമനപുരം ബസ്‌റൂട്ട്|വാമനപുരം ബസ് റൂട്ട്]]'' |ലിവർ ജോണി | | |- !''[[വിസ്മയത്തുമ്പത്ത്|വിസ്മയതുമ്പത്ത്]]'' |ശ്രീകുമാർ | | |- !''[[സ്നേഹം (ചലച്ചിത്രം)|സ്നേഹം]]'' |മോഹൻ നായർ |കന്നഡ സിനിമ; അതിഥി വേഷം | |- !''[[വാണ്ടഡ് (മലയാള ചലച്ചിത്രം)|വാണ്ടഡ്]]'' |നാരായണ സ്വാമി ഐപിഎസ് | | |- !''[[നാട്ടുരാജാവ്]]'' |പുലിക്കാട്ടിൽ ചാർളി | | |- !''[[മാമ്പഴക്കാലം]]'' |പുരമനയിൽ ചന്ദ്രൻ | | |- | rowspan="5" |2005 !''[[ഉദയനാണ് താരം|ഉദയനാണു താരം]]'' |ഉദയഭാനു | | |- !''[[ചന്ദ്രോത്സവം (ചലച്ചിത്രം)|ചന്ദ്രോൽസവം]]'' |ചിറക്കൽ ശ്രീഹരി | | |- !''[[ഉടയോൻ]]'' |ശൂരനാട് പാപ്പോയി, ശൂരനാട് കുഞ്ഞ് | | |- !''[[നരൻ]]'' |മുള്ളൻകൊല്ലി വേലായുധൻ | | |- !''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' |രമേശൻ നായർ | | |- | rowspan="7" |2006 !''[[കിലുക്കം കിലുകിലുക്കം]]'' |ജോജി |കാമിയോ | |- !''[[രസതന്ത്രം (ചലച്ചിത്രം)|രസതന്ത്രം]]'' |പ്രേമചന്ദ്രൻ | | |- !''[[വടക്കുംനാഥൻ (ചലച്ചിത്രം)|വടക്കുംനാഥൻ]]'' |ഇരിങ്ങണ്ണൂർ ഭരത പിഷാരടി | | |- !''[[കീർത്തിചക്ര (ചലച്ചിത്രം)|കീർത്തി ചക്ര]]'' |മേജർ മഹാദേവൻ | | |- !''[[മഹാസമുദ്രം (ചലച്ചിത്രം)|മഹാസമുദ്രം]]'' |ഇസഹാക്ക് വേളാങ്കണ്ണി | | |- !''[[ഫോട്ടോഗ്രാഫർ (ചലച്ചിത്രം)|ഫോട്ടോഗ്രാഫർ]]'' |ഡിജോ ജോണും ജോയ് ജോണും | | |- !''[[ബാബ കല്യാണി (ചലച്ചിത്രം)|ബാബ കല്യാണി]]'' |ബാബ കല്യാണി ഐപിഎസ് | | |- | rowspan="7" |2007 !''[[ഛോട്ടാ മുംബൈ]]'' |വാസ്കോ "തല" | | |- !''[[ഹലോ]]'' |ശിവരാമൻ | | |- !''[[അലിഭായ്]]'' |അൻവർ അലി "അലി ഭായ്" | | |- !''[[രാം ഗോപാൽ വർമ്മ കി ആഗ്]]'' |ഇൻസ്പെക്ടർ നരസിംഹ |ഹിന്ദി സിനിമ | |- !''[[പരദേശി]]'' |വലിയകത്ത് മൂസ | | |- !''[[റോക്ക് ആൻഡ്‌ റോൾ (ചലച്ചിത്രം)|റോക്ക് ആൻഡ് റോൾ]]'' |ചന്ദ്രമൗലി | | |- !''[[ഫ്ലാഷ് ചലച്ചിത്രം|ഫ്ലാഷ്]]'' |ഡോ. മിഥുൻ മാധവ് | | |- | rowspan="9" |2008 !''[[ഹല്ലാ ബോൾ]]'' |അവൻ തന്നെ |ഹിന്ദി സിനിമ; അതിഥി വേഷം | |- !''[[കോളേജ് കുമാരൻ]]'' |ക്യാപ്റ്റൻ ശ്രീകുമാർ/ കാൻ്റീന് കുമാരൻ/ കോളേജ് കുമാരൻ | | |- !''[[ഇന്നത്തെ ചിന്താവിഷയം]]'' |ഗോപകുമാർ "ജി കെ" | | |- !''[[മിഴികൾ സാഷി|മിഴികൾ സാക്ഷി]]'' |പ്രൊഫസർ സയീദ് അഹമ്മദ് | | |- !''[[മാടമ്പി (ചലച്ചിത്രം)|മാടമ്പി]]'' |പുത്തൻപുരയ്ക്കൽ ഗോപാലകൃഷ്ണപിള്ള | | |- !''[[ആകാശഗോപുരം|ആകാശ ഗോപുരം]]'' |ആൽബർട്ട് സാംസൺ | | |- !''[[കുരുക്ഷേത്ര (ചലച്ചിത്രം)|കുരുക്ഷേത്ര]]'' |കേണൽ മഹാദേവൻ | | |- !''[[ട്വന്റി20 (ചലച്ചിത്രം)|ട്വൻറി 20]]'' |ദേവരാജ പ്രതാപ വർമ്മ | | |- !''[[പകൽ നക്ഷത്രങ്ങൾ]]'' |സിദ്ധാർത്ഥൻ | | |- | rowspan="7" |2009 ! [[റെഡ് ചില്ലീസ്|റെഡ് ചില്ലിസ്]] |ഒയ്യാരത്തു മടത്തിൽ രാമനാഥൻ | | |- !''സാഗർ അലിയാസ് ജാക്കി റീലോഡഡ്'' |സാഗർ അലിയാസ് ജാക്കി | | |- !''ഭഗവാൻ'' |ഡോ. ബാലഗോപാലൻ | | |- !''ഭ്രമരം'' |ശിവൻകുട്ടി | | |- !''ഉന്നൈപോൾ ഒരുവൻ'' |ഡിജിപി ഗോവിന്ദ രാഘവൻ മാരാർ ഐപിഎസ് |തമിഴ് സിനിമ | |- !''ഏഞ്ചൽ ജോൺ'' |ഏഞ്ചൽ ജോൺ | | |- !''ഇവിടം സ്വർഗമാണ് '' |മാത്യൂസ് ജെറമിയാസ് | | |- | rowspan="5" |2010 !''ജനകൻ'' |അഡ്വ. സൂര്യ നാരായണൻ | | |- !''അലക്സാണ്ടർ ദി ഗ്രേറ്റ്'' |അലക്സാണ്ടർ വർമ്മ | | |- !''ഒരു നാൾ വരും'' |കുളപ്പുള്ളി സുകുമാരൻ / ഡി വൈ എസ് പി നന്ദകുമാർ | | |- !''ശിക്കാർ'' |ബലരാമൻ | | |- !''കാണ്ഡഹാർ'' |മേജർ മഹാദേവൻ | | |- | rowspan="5" |2011 !''ക്രിസ്ത്യൻ ബ്രദേഴ്സ്'' |ഷെർസൺ എന്ന ക്രിസ്റ്റി വർഗീസ് മാപ്പിള | | |- !''ചൈന ടൗൺ'' |മാത്തുക്കുട്ടിയും സേവ്യറും | | |- !''പ്രണയം'' |മാത്യൂസ് | | |- !''സ്നേഹവീട്'' |അജയൻ മേനോൻ |300-ാമത്തെ ചിത്രം | |- !''അറബിയും ഒട്ടകവും പി.മാധവൻ നായരും'' ''ഒരു മരുഭൂമിക്കഥ'' |പി. മാധവൻ നായർ | | |- | rowspan="6" |2012 !''കാസനോവ'' |കാസനോവ | | |- !''ടെസ്'' |ശിവൻ മേനോൻ |ഹിന്ദി സിനിമ; കാമിയോ | |- !''ഗ്രാൻഡ്മാസ്റ്റർ'' |ഐജി ചന്ദ്രശേഖർ ഐപിഎസ് | | |- !''സ്പിരിറ്റ്'' |രഘു നന്ദൻ | | |- !''റൺ ബേബി റൺ'' |വേണു | | |- !''കർമ്മയോദ്ധ'' |ഡിസിപി മാധവ "മാഡ് മാഡി" മേനോൻ ഐപിഎസ് | | |- | rowspan="6" |2013 !''ലോക്പാൽ'' |നന്ദഗോപാൽ / ലോക്പാൽ | | |- !''റെഡ് വൈൻ'' |എസിപി രതീഷ് വാസുദേവൻ ഐപിഎസ് | | |- !''ലേഡീസ് & ജൻ്റിൽമെൻ'' |ചന്ദ്രബോസ് | | |- !''കടൽ കടന്ന് ഒരു മാത്തുക്കുട്ടി'' | |കാമിയോ വേഷം | |- !''ഗീതാഞ്ജലി'' |ഡോ. സണ്ണി ജോസഫ് | | |- !''[[ദൃശ്യം]]'' |ജോർജ്ജ്കുട്ടി | | |- | rowspan="4" |2014 !''[[ജില്ല (ചലച്ചിത്രം)|ജില്ല]]'' |ശിവൻ |തമിഴ് സിനിമ | |- !''മിസ്റ്റർ ഫ്രോഡ്'' |ഭായ് ജി / ജോൺ ക്ലിഫ് / ശിവറാം | | |- !''കൂതറ'' |ഉസ്താദ് സാലി | | |- !''പെരുച്ചാഴി'' |ജഗന്നാഥൻ | | |- | rowspan="6" |2015 !''രസം'' |അവൻ തന്നെ |അതിഥി വേഷം | |- !''മൈത്രി'' |മഹാദേവ് ഗോഡ്കെ |കന്നഡ സിനിമ; കാമിയോ; ''മൈ ഹീറോ മൈത്രി'' എന്ന പേരിൽ ഭാഗികമായി മലയാളത്തിൽ റീഷോട്ട് ചെയ്തു | |- !''എന്നും എപ്പൊഴും'' |വിനീത് എൻ. പിള്ള | | |- !''ലൈലാ ഓ ലൈലാ'' |ജയ് മോഹൻ | | |- !''ലോഹം'' |രാജീവ് "രാജു" സത്യമൂർത്തി | | |- !''കനൽ'' |ജോൺ ഡേവിഡ് | | |- | rowspan="4" |2016 !''മനമന്ത'' |സായി റാം |തെലുങ്ക് സിനിമ; ''വിസ്മയം'' എന്ന പേരിൽ ഭാഗികമായി മലയാളത്തിൽ റീഷോട്ട് ചെയ്തു | |- !''ജനതാ ഗാരേജ്'' |സത്യം |തെലുങ്ക് സിനിമ | |- !''ഒപ്പം'' |ജയരാമൻ | | |- !''പുലിമുരുകൻ'' |മുരുകൻ | | |- | rowspan="4" |2017 !''മുന്തിരിവള്ളികൾ തളിർക്കുമ്പോൾ'' |ഉലഹന്നാൻ "ഉണ്ണച്ചൻ" | | |- !''1971: ബിയോണ്ട് ബോർഡേഴ്സ്'' |കേണൽ മഹാദേവനും മേജർ സഹദേവനും | | |- !''വെളിപാടിന്റെ പുസ്തകം'' |മൈക്കൽ | | |- !''വില്ലൻ'' |എഡിജിപി മാത്യു മാഞ്ഞൂരാൻ ഐപിഎസ് | | |- | rowspan="5" |2018 !''ആദി'' |അവൻ തന്നെ |കാമിയോ വേഷം | |- !''നീരാളി'' |സണ്ണി ജോർജ് | | |- !''[[കായംകുളം കൊച്ചുണ്ണി (ചലച്ചിത്രം)|കായംകുളം കൊച്ചുണ്ണി]]'' |ഇത്തിക്കര പക്കി |എക്സ്റ്റൻഡഡ് കാമിയോ | |- !''[[ഡ്രാമ ചലച്ചിത്രം|ഡ്രാമ]]'' |രാജഗോപാൽ | | |- !''[[ഒടിയൻ (ചലച്ചിത്രം)|ഒടിയൻ]]'' |ഒടിയൻ മാണിക്യൻ | | |- | rowspan="3" |2019 !''[[ലൂസിഫർ (ചലച്ചിത്രം)|ലൂസിഫർ]]'' |സ്റ്റീഫൻ നെടുമ്പള്ളി / ഖുറേഷി അബ്‌റാം | | |- !''[[ഇട്ടിമാണി:മെയ്ഡ് ഇൻ ചൈന|ഇട്ടിമാണി മെയ്ഡ് ഇൻ ചൈന]]'' |ഇട്ടിമാണിയും ഇട്ടിമാതനും | | |- !''[[കാപ്പാൻ]]'' |പി.എം. ചന്ദ്രകാന്ത് വർമ്മ |തമിഴ് സിനിമ | |- |2020 !''[[ബിഗ് ബ്രദർ]]'' |സച്ചിദാനന്ദൻ | | |- | rowspan="2" |2021 !''[[ദൃശ്യം 2]]'' |ജോർജ്ജ്കുട്ടി | | |- !''[[മരക്കാർ അറബിക്കടലിന്റെ സിംഹം|മരക്കാർ: അറബിക്കടലിൻ്റെ സിംഹം]]'' |കുഞ്ഞാലി മരക്കാർ | | |- | rowspan="4" |2022 !''ബ്രോ ഡാഡി'' |ജോൺ ചാക്കോ കട്ടടി | | |- !''[[ആറാട്ട് (2022 ചലച്ചിത്രം)|ആറാട്ട്]]'' |ഗാനഭൂഷണം നെയ്യാറ്റിൻകര ഗോപൻ / കേണൽ സൂര്യചന്ദ്രലാൽ / ഏജൻ്റ് എക്സ് | | |- !''ട്വൽത്ത് മാൻ'' |ഡിവൈഎസ്പി ചന്ദ്രശേഖർ | | |- !''[[മോൺസ്റ്റർ]]'' |ലക്കി സിംഗ് / ശിവദേവ് സുബ്രഹ്മണ്യം ഐപിഎസ് | | |- | rowspan="3" |2023 !''[[എലോൺ (മലയാള ചലച്ചിത്രം)|എലോൺ]]'' |കാളിദാസ് | | |- !''[[ജയിലർ (ചലച്ചിത്രം)|ജയിലർ]]'' |മാത്യു |തമിഴ് സിനിമ; കാമിയോ | |- !''[[നേര് (സിനിമ)|നേര്]]'' |അഡ്വ. വിജയമോഹൻ | | |- | rowspan="2" |2024 !''[[മലൈക്കോട്ടൈ വാലിബൻ]]'' |മലൈക്കോട്ടൈ വാലിബൻ / മലൈക്കോട്ടൈ മലയൻ | | |- !''[[ബറോസ്|ബറോസ് 3D]]'' |ബാരോസ് |സംവിധായകൻ കൂടി | |- | rowspan="6" |2025 !''[[L2: എംപുരാൻ|L2: എമ്പുരാൻ]]'' |ഖുറേഷി അബ്രാം / സ്റ്റീഫൻ നെടുമ്പള്ളി | | |- !''[[തുടരും]]'' |ഷൺമുഖം "ബെൻസ്" | | |- !''[[കണ്ണപ്പ (ചലച്ചിത്രം)|കണ്ണപ്പ]]'' |കിരാത |തെലുങ്ക് സിനിമ; കാമിയോ | |- !''ഹൃദയപൂർവ്വം'' |സന്ദീപ് ബാലകൃഷ്ണൻ | | |- !''[[ഭ. ഭ. ബ|ഭാ. ഭാ. ബാ.]]'' |ഗില്ലി ബാല |വിപുലീകൃത അതിഥി വേഷം | |- !''വൃഷഭ'' |രാജാ വിജയേന്ദ്ര വൃഷഭ / ആദി ദേവ |തെലുങ്ക്-മലയാളം ദ്വിഭാഷാ ചിത്രം | |- | rowspan="3" |2026 !''[[പേട്രിയറ്റ്]]'' |കേണൽ. റഹീം നായിക് | | |- |[[ദൃശ്യം 3|''ദൃശ്യം 3'' <abbr>†</abbr>]] |ജോർജ്ജ്കുട്ടി | മെയ് 21 റിലീസ് | |- |''ഖലീഫ'' <abbr>†</abbr> |മമ്പറക്കൽ അഹമ്മദ് അലി |കാമിയോ വേഷം | |- |} * ==പ്രശസ്തി== താൻ കൈകാര്യം ചെയ്ത വേഷങ്ങൾ, ലളിതവും സ്വാഭാവികവുമായുള്ള അഭിനയ രീതി തുടങ്ങിയ ഘടകങ്ങളാണ്‌ 1980-കളിൽ മോഹൻലാലിനെ മലയാളികൾക്കിടയിൽ പ്രിയങ്കരനാക്കിയത്. ''ലാൽ'' അല്ലെങ്കിൽ ''ലാലേട്ടൻ'' എന്നായിരുന്നു മോഹൻലാൽ പൊതുവെ അറിയപ്പെട്ടിരുന്നത്. എന്നാൽ, 80-കളിലെ മോഹൻലാലിന്റെ ചിത്രങ്ങൾ പൊതുവെ ബഡ്ജറ്റിനകത്ത് നിൽക്കുന്ന ചിത്രങ്ങളായതു കൊണ്ടും, അവയുടെ തിരക്കഥ തികച്ചും മലയാളികൾക്കു മാത്രമായതിനാലും ഈ ചിത്രങ്ങൾ കേരളത്തിനു പുറത്ത് അധികം ശ്രദ്ധേയമായിരുന്നില്ല. പിന്നീട് 2000-നു ശേഷം, ചില മലയാളേതര ചിത്രങ്ങളിലെ അഭിനയവും കേരളത്തിനു പുറത്തെ മലയാളികളുടെ വളർച്ചയും അദ്ദേഹത്തെ [[തമിഴ്|തമിഴിലും]], [[ഹിന്ദി|ഹിന്ദിയിലും]] പ്രശസ്തനാക്കി. തന്റെ 30 വർഷത്തിലധികം നീണ്ട അഭിനയ ജീ‍വിതത്തിൽ മാറ്റങ്ങളെ ഉൾക്കൊണ്ടു അഭിനയിച്ചിട്ടുള്ള ഒരു നടനാണ് ലാൽ. പുതിയ നായക നടന്മാർ മലയാള ചലച്ചിത്ര രംഗത്ത് ഉയർന്നു വന്നെങ്കിലും ഒരു മലയാള ചലച്ചിത്രത്തിലെ സൂപ്പർസ്റ്റാർ എന്ന പദവി നില നിർത്താൻ ലാലിനു കഴിഞ്ഞു. എന്നാൽ നികുതി വെട്ടിപ്പ് നടത്തി രാജ്യത്തെയും ആരാധകരെയും വഞ്ചിച്ചു എന്ന വാർത്തകൾ പ്രചരിച്ചതോടെ ലാലിന്റെ ജനസമ്മതി കുറഞ്ഞു എന്ന് പറയുന്നവരും ഉണ്ട്. മലയാള സിനിമയിൽ ഏറ്റവും ഉയർന്ന പ്രതിഫലം ലഭിക്കുന്ന നടൻ കൂടിയാണ് മോഹൻലാൽ.<ref name=highest-paid-actor>[http://1.bp.blogspot.com/_zlh03mK1KGM/R4jQ-Bx2RnI/AAAAAAAAAR4/SQ2YTNOjKqE/s1600-h/superstars-2007_Page_1.jpg "Mohanlal the highest paid actor".].</ref> ==നാടക രംഗത്ത്== മറ്റ് ധാരാളം മലയാള നടീ നടന്മാരെപ്പോലെ ലാലിന് ഒരു [[നാടകം|നാടക]] അഭിനയ ചരിത്രമില്ല. പക്ഷേ, അദ്ദേഹം ചില സുപ്രധാന നാടകങ്ങളിൽ അഭിനയിച്ചിട്ടുണ്ട്. ലാൽ തന്റെ ആദ്യ നാടകത്തിൽ അഭിനയിച്ചത് ''കർണ്ണഭാരം'' എന്ന നാടകത്തിൽ [[മഹാഭാരതം|മഹാഭാരതത്തിലെ]] കഥാപാത്രമായ [[കർണ്ണൻ|കർണ്ണന്റെ]] വേഷത്തിലാണ്. [[മലയാളം|മലയാളത്തിലെ]] ആധുനിക നാടക വേദിയെ നവീകരിച്ച നാടകാചാര്യനായ [[കാവാലം നാരായണപണിക്കർ]] ആയിരുന്നു ഈ നാടകത്തിന്റെ സംവിധായകൻ. [[ന്യൂ ഡെൽഹി|ന്യൂ ഡെൽഹിയിൽ]] പ്രഥമ പ്രദർശനം നടത്തിയ ഈ നാടകം ദേശീയ നാടക ഉത്സവത്തിലും അവതരിപ്പിച്ചു. പിന്നീട് ചലച്ചിത്ര-നാടക സംവിധായകനായ [[ടി.കെ. രാജീവ് കുമാർ]]‍ സംവിധാനം ചെയ്ത ''കഥയാട്ടം'' എന്ന നാടക രൂപാന്തരത്തിലും അഭിനയിച്ചു.<ref name="jtpac.org"/> ഇതിൽ മലയാള സാഹിത്യത്തിലെ പത്ത് സുപ്രധാന കഥാപാത്രങ്ങളെയാണ് മോഹൻലാൽ അവതരിപ്പിച്ചത്. തുടർന്ന് ''ഛായാമുഖി'' എന്ന നാടകത്തിലും മോഹൻലാൽ അഭിനയിക്കുകയുണ്ടായി. മഹാഭാരതത്തിലെ തന്നെ കഥാപാത്രങ്ങളായ ഭീമന്റെയും, കീചകന്റെയും കഥയാണ് ഛായാമുഖി. ഇതിൽ ഭീമനായി, മോഹൻലാലും, കീചകനായി പ്രശസ്ത നടൻ [[മുകേഷ് (ചലച്ചിത്രനടൻ)|മുകേഷും]] വേഷമിട്ടു. ഈ നാടകം നിർ‍മ്മിച്ചത് മോഹൻലാലിന്റെയും മുകേഷിന്റെയും സൗഹൃദ സംരംഭമായ ''കാളിദാസ വിഷ്വൽ മാജിക്'' ആണ്.<ref name="jtpac.org"/>. ഛായാമുഖി എഴുതി, സംവിധാനം ചെയ്തത് പ്രശാന്ത് നാരായണൻ ആയിരുന്നു.<ref name="jtpac.org"/> ഛായാമുഖി നല്ല രീതിയിൽ അവതരിപ്പിക്കുന്നതിനു വേണ്ടി ഏകദേശം 60 ദിവസം മോഹൻലാലും, മുകേഷും അടങ്ങുന്ന സംഘം പരിശീലനം നടത്തുകയുണ്ടായി. ==കുടുംബം== അന്തരിച്ച [[തമിഴ്]] നടനും, നിർമ്മാതാവുമായ [[കെ. ബാലാജി|കെ. ബാലാജിയുടെ]] മകൾ സുചിത്രയെയാണ്‌ മോഹൻലാൽ വിവാഹം ചെയ്തിരിക്കുന്നത്. ഇവർക്ക് രണ്ടു മക്കളുണ്ട് : പ്രണവ്, വിസ്മയ. [[പ്രണവ്‌ മോഹൻലാൽ|പ്രണവ്]] ബാലതാരമായി ചലച്ചിത്രങ്ങളിൽ അഭിനയിച്ചിരുന്നു. മോഹൻലാൽ തന്നെ നായകനായി അഭിനയിച്ച ''ഒന്നാമൻ'' എന്ന ചിത്രത്തിൽ മോഹൻ‍ലാലിന്റെ ബാല്യകാലമാണ് ആദ്യമായി പ്രണവ് അഭിനയിച്ചത്. ''പുനർജ്ജനി'' എന്ന ചലച്ചിത്രത്തിലെ അഭിനയത്തിന്‌ സംസ്ഥാന സർക്കാറിന്റെ മികച്ച ബാലതാരത്തിനുള്ള അവാർഡ് പ്രണവിന് ലഭിച്ചിട്ടുണ്ട്. == നിർമ്മാണ രംഗത്ത് == ഒരു അഭിനേതാവ് എന്നതിനു പുറമേ മോഹൻലാൽ ഒരു ചലച്ചിത്ര നിർമ്മാതാവ് കൂടിയാണ്‌. ചലച്ചിത്ര താരങ്ങളായ [[സീമ]], [[മമ്മൂട്ടി]] എന്നിവർക്കൊപ്പം കാസിനോ എന്ന സിനിമാ നിർമ്മാണ കമ്പനിയിൽ അദ്ദേഹം പങ്കാളിയായിരുന്നു. പിന്നീടാണ് [[പ്രണവം ആർട്ട്സ്]] എന്ന പേരിൽ സ്വന്തമായി ചലച്ചിത്ര നിർമ്മാണക്കമ്പനി തുടങ്ങിയത്. പിന്നീട് ''ആശീർവാദ് സിനിമാസ്'' എന്ന പേരിൽ മോഹൻലാലിന്റെ സുഹൃത്തും, ബിസിനസ്സ് പങ്കാളിയുമായ [[ആന്റണി പെരുമ്പാവൂർ|ആന്റണി പെരുമ്പാവൂരുമായി]] പുതിയൊരു സംരംഭം തുടങ്ങി. തുടർന്ന് 2009-ൽ ''മക്സ്ലബ് എന്റർ‍ടൈൻമെന്റ്സ്'' എന്ന പേരിൽ ഒരു നിർമ്മാണ വിതരണ കമ്പനി ആരംഭിച്ചു. ഇതിൽ ആന്റണി പെരുമ്പാവൂരും, വ്യവസായിയായ കെ.സി. ബാബുവും, [[ഏഷ്യാനെറ്റ്]] ചാനലിന്റെ ചെയർമാനുമായ കെ. മാധവനുമാണ് പങ്കാളികൾ. മോഹൻലാലിന്റെ ചലച്ചിത്ര സംബന്ധിയായ മറ്റൊരു സ്ഥാപനമാണ്‌ [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] [[വിസ്മയ ഫിലിം സ്റ്റുഡിയോ]]. ===പ്രണവം ആർട്ട്സ്=== മോഹൻലാൽ സ്വന്തമായി ആരംഭിച്ച നിർമ്മാണ കമ്പനിയാണ് പ്രണവം ആർട്ട്സ്. മോഹൻലാൽ തന്നെ നായകനായി അഭിനയിച്ച ''ഹിസ് ഹൈനസ് അബ്ദുള്ള'' എന്ന ചലച്ചിത്രമാണ് പ്രണവം ആർട്ട്സിന്റെ നിർമ്മാണത്തിൽ ആദ്യം പുറത്തിറങ്ങിയത്. മോഹൻലാലിന്റെ മകനായ പ്രണവിന്റെ പേരിൽ തുടങ്ങിയ ഈ കമ്പനി ധാരാളം വ്യാവസായിക വിജയം കൈവരിച്ചതും, കലാമൂല്ല്യവുമുള്ളതുമായ ചിത്രങ്ങൾ നിർമ്മിച്ചു. നിർമ്മിച്ച എല്ലാ ചിത്രങ്ങളിലും നായകൻ മോഹൻലാൽ തന്നെയായിരുന്നു. വാനപ്രസ്ഥം എന്ന ചിത്രം നിർമ്മിച്ചതിനു ശേഷം പ്രണവം ആർട്ട്സ് കാണ്ഡഹാറിലൂടെ വീണ്ടും മടങ്ങി വന്നു. {| class="wikitable collapsible collapsed" width=100% |+ പ്രണവം ആർട്ട്സിന്റെ നിർമ്മാണത്തിൽ ഇറങ്ങിയ ചലച്ചിത്രങ്ങൾ ! ക്രമം !!ചലച്ചിത്രം !! സഹ അഭിനേതാക്കൾ!! സംവിധായകൻ !! കഥാപാത്രം !! പുരസ്കാരങ്ങളും, മറ്റും. |- | 1|| ഹിസ് ഹൈനസ് അബ്ദുള്ള || [[ഗൗതമി]], [[നെടുമുടി വേണു]] || [[സിബി മലയിൽ]] || അബ്ദുള്ള/അനന്ദൻ നമ്പൂതിരി || മികച്ച പിന്നണിഗായകനുള്ള ദേശീയപുരസ്കാരം - [[എം.ജി. ശ്രീകുമാർ]]<br>മികച്ച സഹനടനുള്ള ദേശീയപുരസ്കാരം - [[നെടുമുടി വേണു]] |- | 2|| ഭരതം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]], [[ലക്ഷ്മി]], [[നെടുമുടി വേണു]] || [[സിബി മലയിൽ]] || കല്ലിയൂർ ഗോപിനാഥൻ || മികച്ച നടനുള്ള ദേശീയപുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച പിന്നണിഗായകനുള്ള ദേശീയപുരസ്കാരം - [[യേശുദാസ്]]<br>ദേശീയപുരസ്കാരം (പ്രത്യേക ജൂറി പുരസ്കാരം), മികച്ച സംഗീതസംവിധായകനുൾല കേരളസംസ്ഥാന സർക്കാർ പുരസ്കാരം -[[രവീന്ദ്രൻ]]<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ മികച്ച രണ്ടാമത്തെ ചിത്രത്തിനുള്ള പുരസ്കാരം<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ മികച്ച നടിക്കുള്ള പുരസ്കാരം - [[ഉർവ്വശി (നടി)|ഉർവ്വശി]]<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ പ്രത്യേക ജൂറി പുരസ്കാരം - [[നെടുമുടി വേണു]] |- | 3|| കമലദളം || [[മോനിഷ ഉണ്ണി]], [[വിനീത് (ചലച്ചിത്രനടൻ)|വിനീത്]] || [[സിബി മലയിൽ]] || നന്ദഗോപാൽ |- | 4|| മിഥുനം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]] || [[പ്രിയദർശൻ]] || സേതുമാധവൻ || |- | 5|| പിൻഗാമി || [[കനക]] || [[സത്യൻ അന്തിക്കാട്]] || ക്യാപ്റ്റൻ വിജയ് മേനോൻ || |- | 6|| കാലാപാനി || [[തബു]] || [[പ്രിയദർശൻ]]|| ഡോ. ഗോവർദ്ധൻ/ഉണ്ണി ||മികച്ച ഛായാഗ്രാഹകനുള്ള ദേശീയപുരസ്കാരം, മികച്ച ഛായാഗ്രാഹകനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - [[സന്തോഷ് ശിവൻ]]<br>മികച്ച കലാസംവിധായകനുള്ള ദേശീയപുരസ്കാരം, മികച്ച കലാസംവിധായകനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - [[സാബു സിറിൾ]]<br>മികച്ച ശബ്ദലേഖകനുള്ള ദേശിയപുരസ്കാരം - ദീപൻ ചാറ്റർജി<br>മികച്ച സ്പെഷൽ എഫക്ട്സിനുള്ള ദേശീയപുരസ്കാരം - വെങ്കി<br>മികച്ച രണ്ടാമത്തെ ചലച്ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം<br>മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച സംഗീതസംവിധായകനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - [[ഇളയരാജ|Dr. ഇളയരാജ]]<br>മികച്ച പ്രൊസസ്സിംഗ് ലാബിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ജെമിനി കളർ ലാബ്<br>മികച്ച വസ്ത്രാലങ്കാരത്തിനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - സജിൻ രാഘവൻ |- | 7|| കന്മദം || [[മഞ്ജു വാര്യർ]] || [[ലോഹിതദാസ്]]|| വിശ്വനാഥൻ|| |- | 8|| ഹരികൃഷ്ണൻസ് || [[മമ്മൂട്ടി]], [[ജൂഹി ചാവ്ല]] || [[ഫാസിൽ]] || കൃഷണൻ|| |- | 9|| ഒളിമ്പ്യൻ അന്തോണി ആദം|| [[മീന]] || [[ഭദ്രൻ]] || വർഗീസ് ആന്റണി ഐ.പി.എസ്.|| |- | 10||[[വാനപ്രസ്ഥം]] || [[സുഹാസിനി]] || [[ഷാജി എൻ കരുൺ]]||കുഞ്ഞിക്കുട്ടൻ||മികച്ച ചിത്രത്തിനുള്ള ദേശീയപുരസ്കാരം<br>മികച്ച നടനുള്ള ദേശീയപുരസ്കാരം, മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം, മികച്ച നടനുള്ള ഫിലിംഫെയർ പുരസ്കാരം, ക്രിട്ടിക്സ് പുരസ്കാരം, മികച്ച നടനുള്ള [[മാതൃഭൂമി ദിനപത്രം|മാതൃഭൂമി]] പുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച എഡിറ്റിംഗിനുള്ള ദേശീയപുരസ്കാരം, മികച്ച എഡിറ്റിംഗിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - എ. ശ്രീകർ പ്രസാദ്, ജോസഫ് ഗ്യുൻവർച്ച്<br>മികച്ച സംവിധായകനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ഷാജി എൻ കരുൺ<br>മികച്ച ശബ്ദമിശ്രണത്തിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ലക്ഷ്മി നാരായണ, ബ്രൂണോ തരീരേ<br>മികച്ച പ്രൊസ്സസിംഗ് ലാബിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - പ്രസാദ് കളർ ലാബ്<br>മികച്ച മേയ്ക്കപ്പ് ആർട്ടിസ്റ്റിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - എം.ഒ. ദേവസ്യ, സലീം |- | 11||[[കാണ്ഡഹാർ (മലയാളചലച്ചിത്രം)|കാണ്ഡഹാർ]] || [[അമിതാഭ് ബച്ചൻ]] || [[മേജർ രവി]] || മേജർ മഹാദേവൻ ||മികച്ച ദേശീയോദ്ഗ്രഹന ചിത്രത്തിനുള്ള ഏഷ്യാനെറ്റിന്റെ പുരസ്കാരം |} ===ആശീർവാദ് സിനിമാസ്=== [[ചിത്രം:Aashirvad.jpg|thumb|200px|right|ആശീർവാദ് സിനിമാസിന്റെ ലോഗോ.]] മോഹൻലാൽ, തന്റെ ഡ്രൈവറും പിന്നീട് തന്റെ വ്യാവസായിക സംരംഭങ്ങളിൽ പങ്കാളിയുമായ ആന്റണി പെരുമ്പാവൂരുമായി ചേർന്ന് നിർമ്മിച്ച നിർമ്മാണ കമ്പനിയാണ് ആശീർവാദ് സിനിമാസ്. പട്ടണപ്രവേശം എന്ന ചിത്രത്തിന്റെ ചിത്രീകരണ സമയത്താണ് മോഹൻലാലിന്റെയും ആന്റണിയുടെയും സൗഹൃദം ആരംഭിക്കുന്നത്. കാലക്രമേണ ആന്റണി മോഹൻലാലിന്റെ ഉത്തമ സുഹൃത്താകുകയും, മോഹൻലാലിന്റെ ബിസിനസ്സ് സംരംഭങ്ങളിൽ പങ്കാളിയാവുകയും ചെയ്തു. ആശീർവാദ് സിനിമാസിന്റെ നിർമ്മാണത്തിൽ ആദ്യമായി പുറത്തിറങ്ങിയ ചിത്രമാണ് [[നരസിംഹം (മലയാളചലച്ചിത്രം)|നരസിംഹം]]. [[ഷാജി കൈലാസ്]] സംവിധാനം ചെയ്ത ഈ ചിത്രം വമ്പിച്ച സാമ്പത്തിക നേട്ടം കൈവരിക്കുകയും ചെയ്തു. തുടർന്നും ധാരാളം ചിത്രങ്ങൾ ആശീർവാദ് സിനിമാസിന്റെ ബാനറിൽ പിറന്നു. {{ചട്ടം|ആശീർവാദ് സിനിമാസിന്റെ നിർ‍മ്മാണത്തിൽ ഇറങ്ങിയ ചലച്ചിത്രങ്ങൾ}} {| class="wikitable" ! എണ്ണം !! ചലച്ചിത്രം !! സഹ അഭിനേതാക്കൾ!! സംവിധായകൻ !! കഥാപാത്രം !! പുരസ്കാരങ്ങളും, മറ്റും |- | 1 || നരസിംഹം || [[ഐശ്വര്യ]],[[തിലകൻ]], [[മമ്മൂട്ടി]] || [[ഷാജി കൈലാസ്]]|| മാറഞ്ചേരി ഇന്ദുചൂഢൻ||മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര അക്കാദമി പുരസ്കാരം - മോഹൻലാൽ<br>2005 വരെ ഉള്ളതിൽ വച്ച് ഏറ്റവും കൂടുതൽ സാമ്പത്തിക വിജയം കൈവരിച്ച ചിത്രം. |- | 2 || രാവണപ്രഭു || [[വസുന്ധര ദാസ്]] || [[രഞ്ജിത്]] || മംഗലശ്ശേരി നീലകണ്ഠൻ / എം എൻ കാർത്തികേയൻ || ദേവാസുരം എന്ന ചിത്രത്തിന്റെ രണ്ടാം ഭാഗമായിരുന്നു ഈ ചിത്രം, ഇരട്ട കഥാപാത്രങ്ങളാണ് മോഹൻ ലാൽ കൈകാര്യം ചെയ്തത്. |- | 3 || കിളിച്ചുണ്ടൻ മാമ്പഴം || [[സൗന്ദര്യ]] || [[പ്രിയദർശൻ]] || അബ്ദുൾ കാദർ / അബ്ദു|| |- | 4 || നാട്ടുരാജാവു് || [[മീന]], [[നയൻതാര]], [[കലാഭവൻ മണി]] || [[ഷാജി കൈലാസ്]]||പുലിക്കാട്ടിൽ ചാർളി|| |- | 5 || നരൻ || [[ഭാവന (അഭിനേത്രി)|ഭാവന]], [[ദേവയാനി]],[[സിദ്ധീഖ്]] || [[ജോഷി]]|| മുള്ളൻകൊല്ലി വേലായുധൻ || ക്രിട്ടിക്സ് അവാർഡ്, മികച്ച ജനപ്രീതിയുള്ള നടൻ - മോഹൻലാൽ<br>മികച്ച സൗണ്ട് റെക്കോഡിസ്റ്റിനുള്ള ഏഷ്യാനെറ്റ് ഫിലിം അവാർഡ് |- | 6 || രസതന്ത്രം || [[മീര ജാസ്മിൻ]] || [[സത്യൻ അന്തിക്കാട്]]||പ്രേമചന്ദ്രൻ||12 വർ‍ഷത്തിനു ശേഷം മോഹൻലാലും സത്യൻ അന്തിക്കാടും ഒന്നിച്ച ചിത്രം. |- | 7 || ബാബ കല്യാണി || [[മംത മോഹൻദാസ്]] || [[ഷാജി കൈലാസ്]]||ബാബ കല്യാണി ഐ പി എസ് |- | 8 || പരദേശി <ref>{{cite web|url=http://specials.rediff.com/movies/2007/oct/11sd1.htm |title=Mohanlal has come out with an amazing performance}}</ref>|| [[ശ്വേത മേനോൻ]], [[ജഗതി ശ്രീകുമാർ]] || പി.ടി. കുഞ്ഞിമുഹമ്മദ്||'''വലിയകത്ത് മൂസ'''|| മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം, ക്രിട്ടിക്സ് അവാർഡ്, മികച്ച നടനുള്ള ഫിലിംഫെയർ അവാർഡ്, കേരള ഫിലിം ഓഡിയൻസ് കൗൺസിൽ അവാർഡ്, മികച്ച നടനുള്ള ജയ്ഹിന്ദ് ടിവി അവാർഡ് - '''മോഹൻലാൽ'''<br>മികച്ച കഥക്കുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം - '''പി.ടി. കുഞ്ഞുമുഹമ്മദ്'''<br>മികച്ച ചമയത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം, മികച്ച ചമയത്തിനുള്ള ആദ്യത്തെ ദേശീയപുരസ്കാരം - '''പട്ടണം റഷീദ്''<br>മികച്ച ഡബ്ബിംഗ് ആർട്ടിസ്റ്റിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം - '''ഹഫ്സത്ത്, സീനത്ത്'''<br>കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പ്രത്യേക ജൂറി പുരസ്കാരം - '''[[ജഗതി ശ്രീകുമാർ]]''' |- | 9 || അലിഭായ് || [[ഗോപിക]] || [[ഷാജി കൈലാസ്]]|| ബരാമി അൻവർ അലി |- | 10 || ഇന്നത്തെ ചിന്താവിഷയം || [[മീര ജാസ്മിൻ]] || [[സത്യൻ അന്തിക്കാട്]] ||ഗോപകുമാർ || മികച്ച ജനപ്രീതി ലഭിച്ച ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം<br>മികച്ച രണ്ടാമത്തെ നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം, മികച്ച ഹാസ്യനടനുള്ള ജയ്ഹിന്ദ് ടിവി അവാർഡ് - [[മാമുക്കോയ]]'''<br> മികച്ച പിന്നണിഗായകനുള്ള ഏഷ്യാനെറ്റ് ഫിലിം അവാർഡും, വനിത ഫിലിം അവാർഡും - എം.ജി ശ്രീകുമാർ |- |11 || സാഗർ എലിയാസ് ജാക്കി റീലോഡഡ് || [[ഭാവന (അഭിനേത്രി)|ഭാവന]], [[ശോഭന]] || [[അമൽ നീരദ്]]||സാഗർ ഏലിയാസ് ജാക്കി|| [http://www.sagaraliasjackyreloaded.com Official Website] {{Webarchive|url=https://web.archive.org/web/20090130060942/http://sagaraliasjackyreloaded.com/ |date=2009-01-30 }}<ref>{{cite web|url=http://www.filimworld.com/newsdes.php?newsid=161|title=SAJ - 1000 housefull shows in 3 days|access-date=2009-09-15|archive-date=2009-04-05|archive-url=https://web.archive.org/web/20090405192712/http://www.filimworld.com/newsdes.php?newsid=161|url-status=dead}}</ref> |- |12|| ഇവിടം സ്വർഗ്ഗമാണ് || [[ലക്ഷ്മി റായ്]] || [[റോഷൻ ആൻഡ്രൂസ്]] || മാത്യൂസ് || മികച്ച ജനപ്രിയ ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം |- |13|| ചൈനാടൗൺ || ജയറാം, ദിലീപ് || റാഫി മെക്കാർട്ടിൻ || മാത്തുക്കുട്ടി || |- |14||[[ദൃശ്യം]] ||[[മീന]] || [[ജിത്തുജോസഫ്‌]] || ജോർജ് കുട്ടി ||ചിത്രം വിജയകരമായി 150 ദിവസം പിന്നിട്ടു റെക്കോർഡ്‌ കളക്ഷൻ കിട്ടി ഒരു പാട് പുരസ്കാരങ്ങൾ ദ്രിശ്യത്തിനു ലഭിച്ചു |} {{ചട്ടം-പാദഭാഗം}} === മാക്സ്‌ലാബ് സിനിമാസ് === [[ചിത്രം:Maxlab logo.jpg|thumb|150px|right|മാക്സ്‌ലാബിന്റെ ലോഗോ]] മോഹൻ ലാൽ, ആന്റണി പെരുമ്പാവൂർ, വ്യാവസായിയായ കെ.സി. ബാബു, [[ഏഷ്യാനെറ്റ്]] ചാനലിന്റെ ചെയർമാൻ കെ. മാധവൻ തുടങ്ങിയവരുടെ ഉടമസ്ഥതയിൽ 2009-ൽ പ്രവർത്തനമാരംഭിച്ച ചലച്ചിത്ര നിർമ്മാണ, വിതരണ കമ്പനിയാണ് മാക്സ്‌ലാബ് സിനിമാസ് ആൻഡ് എന്റർടൈന്മെന്റ്സ് (Maxlab Cinemas and Entertainments)<ref>{{web cite|url=http://www.google.co.in/url?sa=t&source=web&ct=res&cd=7&url=http%3A%2F%2Fentertainment.oneindia.in%2Fmalayalam%2Ftop-stories%2F2008%2Fmohanlal-film-distribution-130808.html&ei=ZFCySuqKN4PUlAfiqI2ADw&usg=AFQjCNHjb_kktX5l7JrhGddjw6OlpB2TQA&sig2=0WxLrb8MkV89YCFy0GKG6Q|title=Mohanlal's film distribution company}}</ref> ഈ കമ്പനിയുടെ വിതരണത്തിൽ ആദ്യമായി പുറത്തിറങ്ങിയ ചിത്രമാണ് ''സാഗർ ഏലിയാസ് ജാക്കി (Reloaded)''. [[എറണാകുളം|എറണാകുളത്താണ്]] ഈ കമ്പനിയുടെ ആസ്ഥാനം. {{ചട്ടം|മാക്സ്‌ലാബ് സിനിമാസിന്റെ വിതരണത്തിൽ പുറത്തിറങ്ങിയ ചലച്ചിത്രങ്ങൾ}} {| class="wikitable" ! നമ്പർ !!ചലച്ചിത്രം !! കഥാപാത്രങ്ങൾ!! സംവിധയകൻ !! കഥാപാത്രം !! കൂടുതൽ വിവരങ്ങൾ |- | 1 || സാഗർ ഏലിയാസ് ജാക്കി || മോഹൻലാൽ, [[ശോഭന]], [[ഭാവന]] || അമൽ നീരദ് || സാഗർ ഏലിയാസ് ജാക്കി || [http://www.sagaraliasjackyreloaded.com വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20090130060942/http://sagaraliasjackyreloaded.com/ |date=2009-01-30 }} |- | 2 || [[ഭ്രമരം (മലയാളചലച്ചിത്രം)|ഭ്രമരം]] || മോഹൻലാൽ, ഭൂമിക ചാവ്ല || [[ബ്ലെസ്സി]] || ശിവൻകുട്ടി || [http://www.thecompleteactor.com/bhramaram/index.html വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20090605160329/http://www.thecompleteactor.com/bhramaram/index.html |date=2009-06-05 }} |- | 3 || ഏയ്ഞ്ജൽ ജോൺ || മോഹൻലാൽ, ശാന്തനു ഭാഗ്യരാജ് || [[ജയസൂര്യ (ചലച്ചിത്രനടൻ)|ജയസൂര്യ]] || ജോൺ || [http://www.thecompleteactor.com/angeljohn/index.html വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20091009082905/http://www.thecompleteactor.com/angeljohn/index.html |date=2009-10-09 }} |- | 4 || ജനകൻ || മോഹൻലാൽ, [[സുരേഷ് ഗോപി]] || എൻ. ആർ. സഞ്ജീവ് || അഡ്വ. സൂര്യനാരായണൻ || | |- | 5 || [[മിസ്റ്റർ ഫ്രോഡ്]] || മോഹൻലാൽ, [[മിയജോർജ്]] || [[ബി.ഉണ്ണികൃഷ്ണൻ]] || മിസ്റ്റർ ഫ്രോഡ് || | |} {{ചട്ടം-പാദഭാഗം}} == ഗായകൻ എന്ന നിലയിൽ == ഒരു അഭിനേതാവ് എന്നതിലുപരി ഗായകൻ എന്ന നിലയിലും മോഹൻ ലാൽ തന്റെ കഴിവ് തെളിയിച്ചിട്ടുണ്ട്. മോഹൻ ലാൽ പാടി അഭിനയിക്കുകയും, പിന്നണി പാടുകയും ചെയ്ത ചില ചിത്രങ്ങളുടെ വിവരങ്ങൾ താഴെ കൊടുക്കുന്നു. {{ചട്ടം|മോഹൻലാൽ ആലപിച്ച ഗാനങ്ങൾ}} {| class="wikitable" width=100% ! എണ്ണം !!ചലച്ചിത്രം !! അഭിനയിച്ചവർ !! സംവിധായകൻ !! കഥാപാത്രം !! ഗാനം |- | 1 || ഓണപ്പാട്ട് || || || || പൂക്കച്ച മഞ്ഞക്കച്ച |- | 2||ഒന്നാനാം കുന്നിൽ ഓരടിക്കുന്നിൽ || ||[[പ്രിയദർശൻ]]|| നിതിൻ || സിന്ദൂര മേഘം |- | 3|| കണ്ടു കണ്ടറിഞ്ഞു || [[മമ്മൂട്ടി]] ||സാജൻ||കൃഷണനുണ്ണി || നീയറിഞ്ഞോ മേലേമാനത്ത് |- | 4|| പടയണി || [[മമ്മൂട്ടി]] || ടി. എസ്. മോഹൻ || രമേഷ് || ഹൃദയം ഒരു വല്ലകി (Bit) |- | 5||[[ചിത്രം]] || രഞ്ജിനി || [[പ്രിയദർശൻ]] || വിഷ്ണു || കാടുമീ നാടുമെല്ലാം & ഏയ് മൂന്ന് |- | 6|| ഏയ് ഓട്ടോ || രേഖ ||[[വേണു നാഗവള്ളി]] || സുധി || മയ് നേം ഈസ് സുധീ |- | 7|| വിഷ്ണുലോകം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]] ||[[കമൽ]] || വിഷ്ണു || ആവാരാ ഹൂം |- | 8|| കളിപ്പാട്ടം || ഉർവ്വശി (നടി)|ഉർവ്വശി || വേണു നാഗവള്ളി || വേണു || വരവീണ മൃദുവാണി |- | 9|| [[സ്ഫടികം (മലയാളചലച്ചിത്രം)|സ്ഫടികം]] || ഉർവ്വശി (നടി)|ഉർവ്വശി, [[സിൽക്ക് സ്മിത]] || [[ഭദ്രൻ]] || ആട് തോമ/തോമസ് ചാക്കോ || ഏഴിമല & പരുമല ചെരുവിലെ |- | 10|| ഒളിമ്പ്യൻ അന്തോണി ആദം || മീന || ഭദ്രൻ || ആന്തോണി/ഒളിമ്പ്യൻ|| പെപ്പര പെര പെര |- | 11|| കണ്ണെഴുതി പൊട്ടും തൊട്ട് || അബ്ബാസ്, [[മഞ്ജു വാര്യർ]] || [[ടി.കെ. രാജീവ് കുമാർ]] || പിന്നണിഗായകൻ || കൈതപ്പൂവിൻ |- | 12|| ഉസ്താദ് || [[ദിവ്യ ഉണ്ണി]] || [[സിബി മലയിൽ]] || പരമേശ്വരൻ|| തീർച്ചയില്ലാ ജനം |- | 13|| ഓർമ്മക്കായ് (ആൽബം) || [[രംഭ]] || ഈസ്റ്റ് കോസ്റ്റ് വിജയൻ|| കാമുകൻ || മാനത്തെ അമ്പിളി |- | 14||[[രാവണപ്രഭു]]|| [[വസുന്ധര ദാസ്]] || [[രഞ്ജിത്ത്]] || എം. എൻ. കാർത്തികേയൻ || തകില് പുകല് |- | 15|| [[ബാലേട്ടൻ (മലയാളചലച്ചിത്രം)|ബാലേട്ടൻ]] || [[ജഗതി ശ്രീകുമാർ]] || [[വി.എം. വിനു]] ||അത്താണിപ്പറമ്പിൽ ബാലചന്ദ്രൻ|| കറു കറു കറുത്തൊരു |- | 16|| വാമനപുരം ബസ് റൂട്ട് || [[ലക്ഷ്മി ഗോപാലസ്വാമി]] || സോനു ശിശുപാൽ || ലിവർ ജോണി || |- | 17 || [[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]] || മീര വാസുദേവ് || [[ബ്ലെസ്സി]]||രമേശൻ നായർ || ഇതളൂർന്ന് വീണ |- | 18 || [[മാടമ്പി (ചലച്ചിത്രം)|മാടമ്പി]] || [[കാവ്യ മാധവൻ]] || ബി ഉണ്ണികൃഷ്ണൻ ||പുത്തൻപുരയ്ക്കൽ‍ ഗോപാലകൃഷ്ണ പിള്ള || Song: ജീവിതം ഒരു & ഗണേശ ശരണം |- | 19 || എന്റെ കന്നിമല (അയ്യപ്പ ഭക്തിഗാനം) || || സംഗീതം: വിദ്യാധരൻ മാസ്റ്റർ || പിന്നണിഗായകൻ || ശബരിമലതിരുമുടിയിൽ |- | 20 || [[ഭ്രമരം (മലയാളചലച്ചിത്രം)|ഭ്രമരം]] || [[ഭൂമിക ചാവ്ല]] || [[ബ്ലെസ്സി]] || ശിവൻകുട്ടി || അണ്ണാറക്കണ്ണാ വാ |- | 21 || [[ഒരു നാൾ വരും]] || സമീറ റെഡ്ഡി || ടി. കെ. രാജീവ് കുമാർ || നന്ദകുമാർ || നാത്തൂനേ നാത്തൂനേ |- | 22 || [[റൺ ബേബി റൺ]] || [[അമല പോൾ]] || [[ജോഷി]] || വേണു || ആറ്റുമണൽ പായയിൽ |- | 23 || [[നീരാളി_(സിനിമ)|നീരാളി]] || [[നദിയ മൊയ്തു]] || [[അജോയ് വർമ്മ]] || || അഴകെ അഴകേ |} {{ചട്ടം-പാദഭാഗം}} == മാന്ത്രികൻ എന്ന നിലയിൽ == മോഹൻലാൽ, പ്രശസ്ത മാന്ത്രികനായ [[ഗോപിനാഥ് മുതുകാട്]] എക്സിക്യൂട്ടീവ് ഡയറക്ടറായിട്ടുള്ള മാജിക് അക്കാദമിയിൽ ഏകദേശം ഒരു വർഷം മാജിക് അഭ്യസിച്ചിട്ടുണ്ട്.<ref>{{Cite web |url=http://www.hindu.com/2008/04/12/stories/2008041250290200.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2010-08-08 |archive-date=2008-06-17 |archive-url=https://web.archive.org/web/20080617184202/http://www.hindu.com/2008/04/12/stories/2008041250290200.htm |url-status=dead }}</ref> 2008, ഏപ്രിൽ 27-ന് [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] ചന്ദ്രശേഖരൻ നായർ സ്റ്റേഡിയത്തിൽ വച്ചുണ്ടായ ഇന്റർനാഷ്ണൽ മാജിക് ഫെസ്റ്റിവലിൽ മോഹൻലാലിന്റെ ''ബേണിംഗ് ഇല്ല്യൂഷൻ'' എന്ന മാന്ത്രിക പ്രകടനം നടത്താനിരുന്നതാണ്. പക്ഷെ ഇതിനെ തുടർന്നുണ്ടായ വിവാദങ്ങളും മറ്റും ലാലിനെ ഇതിൽ നിന്ന് പിൻതിരിപ്പിച്ചു. ഈ പ്രകടനത്തിനു വേണ്ടി ലാൽ മുതുകാടിന്റെ കീഴിൽ 18 മാസത്തോളം അഭ്യസിക്കുകയുണ്ടായി. ഈ പ്രകടനം വളരെ സാഹസികവും അപകടവും നിറഞ്ഞതാണെന്നുള്ളതും, പരിശീലകനായ മുതുകാടിനു തന്നെ ഒരിക്കൽ ബഹറിനിൽ വെച്ച് നടത്തിയ ഈ പ്രകടനം പരാജയമായിരുന്നുവെന്നുള്ള മജീഷ്യൻ സമ്രാട്ടിന്റെ പരാമർശവും<ref>{{Cite web |url=http://ibnlive.in.com/news/mohanlal-plans-daredevil-stunt-magicians-frown/63706-8.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-09-15 |archive-date=2012-12-02 |archive-url=https://web.archive.org/web/20121202044743/http://ibnlive.in.com/news/mohanlal-plans-daredevil-stunt-magicians-frown/63706-8.html |url-status=dead }}</ref> തുടർന്ന് ചലച്ചിത്ര താരങ്ങളുടെ സംഘടനയായ അമ്മയുടെ ഇടപെടലും മൂലം ബേണിംഗ് ഇല്ല്യൂഷൻ ഉപേക്ഷിക്കുകയായിരുന്നു. ==ആരാധക സംഘം== മോഹൻലാലിന്റെ അനുമതിയോടു കൂടിയുള്ള ഇദ്ദേഹത്തിന്റെ ആരാധക സംഘമാണ് ''ഓൾ കേരള മോഹൻലാൽ ഫാൻസ് & കൾചറൽ വെല്ഫെയർ അസോസിയേഷൻ'' (All Kerala Mohanlal Fans & Cultural Welfare Association). ഈ അസോസിയേഷൻ ആരംഭിച്ച് ഏതാണ്ട് 1998 വരെ ലാലിന്റെ അനുമതി ലഭിച്ചിരുന്നില്ല. ഹരികൃഷ്ണൻസ് എന്ന ചല‍ച്ചിത്രത്തിൽ‍ ലാൽ അഭിനയിച്ചു കൊണ്ടിരിക്കുന്ന കാലത്താണ് ഈ അസോസിയേഷന് ലാലിന്റെ അനുമതി ലഭിച്ചത്.{{അവലംബം}} പിന്നീടാണ് പരിഷ്ക്കരിച്ച് ഓൾ കേരള മോഹൻലാൽ ഫാൻസ് & കൾചറൽ വെൽഫെയർ അസോസിയേഷൻ (AKMFCWA) എന്ന പേർ നൽകിയത്.<ref>{{Cite web |url=http://www.keralahomepages.com/mohanlal-fans-association/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-10-13 |archive-date=2009-03-03 |archive-url=https://web.archive.org/web/20090303175555/http://www.keralahomepages.com/mohanlal-fans-association/ |url-status=dead }}</ref> [[തിരുവനന്തപുരം]], [[കൊല്ലം]], [[കോട്ടയം]], [[എറണാകുളം]], [[പാലക്കാട്]], [[തൃശ്ശൂർ]] എന്നീ ജില്ലകൾ കേന്ദ്രീകരിച്ചാണ് ഈ സംഘടനയുടെ പ്രവർത്തനങ്ങൾ കൂടുതലായും നടക്കുന്നത്. ==വിവാദങ്ങൾ== [[File:Mohanlal 9.jpg|thumb|2018 ൽ തിരുവനന്തപുരത്തുവച്ച് നടന്ന [[കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം 2017|കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാര വിതരണ വേദിയിൽ]] മോഹൻലാൽ]] മോഹൻലാൽ, ഒരു മദ്യ ബ്രാൻഡിന്റെ പരോക്ഷ പ്രചരണത്തിനായി ഒരു ടെലിവിഷൻ പരസ്യത്തിൽ അഭിനയിക്കുകയുണ്ടായി. ഈ പരസ്യവും, പരസ്യത്തിൽ ഉപയോഗിച്ച ''''വൈകീട്ടെന്താ പരിപാടി'''' എന്ന വാചകവുമാണ് പിന്നീട് വിവാദത്തിൽ മുങ്ങിയത്. ആദ്യം വിവാദവുമായി രംഗത്തെത്തിയത് ഗാന്ധി സേവാ സമിതിയാണ്. മദ്യത്തിനെതിരായി ധാരാളം പേർ പ്രവർത്തിക്കുന്ന [[കേരളം|കേരളത്തിൽ]], മോഹൻലാലിനെ പോലൊരു വ്യക്തി മദ്യത്തെ പ്രോത്സാഹിപ്പിക്കുന്ന തരത്തിലുള്ള പരസ്യങ്ങളിൽ പ്രത്യക്ഷപ്പെടുന്നത് തെറ്റാണെന്ന് ഇവർ വാദിച്ചു. പക്ഷേ രാജ്യത്ത് ധാരാളം നടീനടന്മാർ ഇത്തരം പരസ്യങ്ങളിൽ അഭിനയിക്കുമ്പോൾ എനിക്കെതിരേ മാത്രം തിരിയുന്നത് ശരിയല്ലെന്നായിരുന്നു ലാലിന്റെ വാദം.<ref>http://www.bharatwaves.com/news/Mohanlal-Promotes-Whiskey-4877.html</ref> രണ്ടായിരത്തിപ്പത്തിൽ [[അമ്മ (താരസംഘടന)|''അമ്മ''യും]] [[തിലകൻ|തിലകനും]] ആയി ഉണ്ടായ തർക്കത്തിന്റെ ഭാഗമായി [[സുകുമാർ അഴിക്കോട്|സുകുമാർ അഴീക്കോടും]] മോഹൻലാലുമായി വാഗ്‌യുദ്ധം തന്നെയുണ്ടായി. പ്രായമായിട്ടും മറ്റുള്ളവർക്ക് വേണ്ടി ഒഴിഞ്ഞു നൽകുന്നില്ല എന്നതായിരുന്നു അഴീക്കോടിന്റെ പ്രധാന വാദം<ref>{{cite news|title=Mohanlal-Azhikode spat takes listless Mollywood to new low|url=http://economictimes.indiatimes.com/news/news-by-industry/media/entertainment-/entertainment/mohanlal-azhikode-spat-takes-listless-mollywood-to-new-low/articleshow/5612392.cms|accessdate=2011 ഫെബ്രുവരി 17|date=2010 ഫെബ്രുവരി 24}}</ref>. ജ്യേഷ്ഠസഹോദരന്റെ സ്വത്ത് മോഹൻലാൽ തട്ടിയെടുത്തു, ലഫ്റ്റനന്റ് കേണൽ പദവി മോഹൻലാൽ ദുരുപയോഗം ചെയ്തു എന്നൊക്കെയും അഴീക്കോട് ആരോപിച്ചിരുന്നു. മറുപടിയിൽ അഴീക്കോടിനെ മോഹൻലാൽ പ്രായമായ അമ്മാവൻ എന്നു വിളിച്ചതും ചർച്ചയായിരുന്നു. =='ലാലിസം' == മോഹൻലാൽ അഭിനയിച്ച നാൽപ്പതോളം ചിത്രങ്ങളിലെ ഗാനങ്ങൾ ഉൾപ്പെടുത്തിയ ബാൻഡിന്റെ പേരാണ് 'ലാലിസം'. ലാലിന്റെ 36 വർഷത്തെ അഭിനയ ജീവിതത്തിലൂടെയുള്ള സംഗീത യാത്രയായ ലാലിസത്തിന്റെ പ്രൊമോഷണൽ ഗാന ട്രെയിലർ നവംബറിൽ യു ട്യൂബ് വഴി പുറത്തിറക്കി. പ്രമുഖ സംവിധായകൻ പ്രിയദർശനാണ് പ്രോമോ സോംഗിന്റെ ദൃശ്യാവിഷ്‌കാരം നിർവഹിച്ചിരിക്കുന്നത്. ടൈറ്റിൽ ലാലിസം ഇന്ത്യാ സിഗിംഗ് എന്നാണ്. രതീഷ് വേഗയാണ് ഇതിന്റെ സംഗീത സംവിധായകൻ. ഇന്ത്യയിലെ എല്ലാ ഭാഷകളിൽ നിന്നുമുള്ള പ്രശസ്തമായ പാട്ടുകൾ കൂടി ഇതിൽ ഉൾപ്പെടുത്തിയിരുന്നു. ഹരിഹരൻ, ഉദിത് നാരായണൻ, അൽക്കാ അജിത്, കാർത്തി, എം.ജി. ശ്രീകുമാർ, സുജാത എന്നിവർക്കൊപ്പം ലാലും ഈ സംഗീത നിശയിൽ പാടിയിരുന്നു. 2015 ലെ ദേശീയ ഗെയിംസിന്റെ ഉദ്ഘാടനത്തോട് അനുബന്ധിച്ച് 'ലാലിസം' എന്ന പരിപാടി നടത്തിയത് വലിയ വിവാദത്തിനിടയാക്കി. പ്രതീക്ഷിച്ച നിലവാരത്തിൽ എത്താത്ത പരിപാടി സോഷ്യൽ മീഡിയയിലും ദൃശ്യ മാധ്യമങ്ങളിലും കണക്കറ്റ പരിഹാസം ഏറ്റുവാങ്ങി. പരിപാടിക്ക് വാങ്ങിയ തുകയുടെ വലിപ്പവും വിമർശന വിധേയമായി. അതോടെ രണ്ടു ദിവസം പ്രതികരിക്കാതിരുന്ന മോഹൻലാൽ ബാൻഡ് പിരിച്ചു വിടുന്നതായും പണം തിരിച്ചേൽപ്പിക്കുന്നതിനു തയ്യാറാണെന്നും സർക്കാരിനെ ഇ-മെയിൽ സന്ദേശത്തിൽ അറിയിച്ചു. പരിപാടിക്കായി മോഹൻലാൽ വാങ്ങിയ തുക അദ്ദേഹം സ്പീഡ് പോസ്റ്റ് വഴി തരിച്ചയച്ചു. 1.63 കോടി രൂപയുടെ ചെക്കാണ് ലാൽ തിരിച്ചയച്ചത്. പക്ഷെ മോഹൻലാൽ വാങ്ങിയ തുക അദ്ദേഹത്തിൽ നിന്ന് തിരിച്ചു വാങ്ങേണ്ടതില്ലെന്ന് മന്ത്രിസഭാ യോഗത്തിൽ തീരുമാനിച്ചു.<ref>{{cite web|title=മോഹൻലാൽ പണം തിരിച്ചയച്ചു; വാങ്ങില്ലെന്ന് മുഖ്യമന്ത്രി|url=http://www.mathrubhumi.com/story.php?id=520369|publisher=www.mathrubhumi.com|accessdate=2015 ഫെബ്രുവരി 4}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> എന്നാൽ ലാൽ വഴങ്ങാത്തതിനെ തുടർന്ന് തുക പൊതു നന്മക്കു ഉപയോഗിക്കാൻ തീരുമാനിച്ചു. ==വ്യവസായ സംരംഭങ്ങൾ== * ''[[Vismayas Max|വിസ്മയ മാക്സ്]]''<ref>[http://www.vismayasmax.com Vismayas Max]</ref>, തിരുവനന്തപുരത്തെ [[കഴക്കൂട്ടം|കഴക്കൂട്ടത്തെ]] കിൻഫ്ര ഫിലിം ആൻ‌ഡ് വീഡിയോ പാർക്കിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു ഫിലിം പോസ്റ്റ് പ്രൊഡക്ഷൻ സ്റ്റുഡിയോയും, കോളേജ് ഫോർ ഡബ്ബിംഗ് ആർടിസ്റ്റ്. * 'പ്രണവം ആർട്സ്'' - ഫിലിം പോസ്റ്റ് പ്രൊഡക്ഷൻ കമ്പനി (ഇപ്പോൾ സജീവമല്ല. ) * ''പ്രണവം '', ചലച്ചിത്രവിതരണ കമ്പനി (ഇപ്പോൾ സജീവമല്ല.) * [[Maxlab Entertainments|മാക്സ് ലാബ് എന്റർടെയിൻമെന്റ്]] ഒരു സഹകരണ ചലച്ചിത്രവിതരണ കമ്പനി.<ref>{{Cite web |url=http://www.maxlabentertainments.com/ |title=Maxlab |access-date=2009-10-06 |archive-date=2009-02-28 |archive-url=https://web.archive.org/web/20090228192731/http://www.maxlabentertainments.com/ |url-status=dead }}</ref> * പാർട്ണർ, ഡയറക്ടർ - ''യൂണി റോയൽ മറൈൻ എക്സ്പോർട്സ് '',[[Kozhikode|കോഴിക്കോട്]] ആസ്ഥാനമാക്കിയ ഒരു കയറ്റുമതി കമ്പനി. * [[ദുബായ്|ദുബായിലും]] മറ്റുമുള്ള റെസ്റ്റോറന്റ് ചെയിൻ - ''മോഹൻലാൽ ടേസ്റ്റ് ബഡ്സ് '' * [[ബാംഗ്ലൂർ|ബാംഗളൂരിലെ]] റെസ്റ്റോറന്റ് ''ദി ഹാർബർ മാർക്കറ്റ് ( The Harbour Market)'' * പാർട്ണർ '' മോഹൻലാൽ ടേസ്റ്റ് ബഡ്സ് '', ഒരു [[അച്ചാർ]], കറിപൌഡർ കമ്പനി <ref>Times of India: [http://timesofindia.indiatimes.com/Mohanlal_sells_Taste_Buds_to_Eastern_group/rssarticleshow/2605816.cms Mohanlal sells Taste Buds to Eastern group]</ref> * [[Jose Thomas Performing Arts Centre|ജോസ് തോമസ് പെർഫോമിങ് ആർട്സ് സെന്റർ]] (JT PAC), [[Kochi|കൊച്ചി]]. ചെയർമാൻ സ്ഥാനം വഹിക്കുന്നു.<ref>[http://www.jtpac.org JtPac]</ref> == പുരസ്കാരങ്ങളും ബഹുമതികളും == {{പ്രധാനലേഖനം|മോഹൻലാലിന് ലഭിച്ച പുരസ്കാരങ്ങളുടെയും നാമനിർദേശങ്ങളുടെയും പട്ടിക}} == പുറത്തേക്കുള്ള കണ്ണികൾ == {{commonscat|Mohanlal}} * [http://www.thecompleteactor.com ഔദ്യോഗിക വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20190829082013/https://www.thecompleteactor.com/ |date=2019-08-29 }} * {{imdb|id=0482320}} * {{Facebook|ActorMohanlalOfficial}} * {{Twitter|Lal_Mohanlal}} * [http://www.mohanlalfansonline.com മോഹൻലാൽഫാൻസ്ഓൺലൈൻ] {{Webarchive|url=https://web.archive.org/web/20091019023914/http://www.mohanlalfansonline.com/ |date=2009-10-19 }} * [http://www.aashirvadcinemas.com/ ആശീർവാദ് സിനിമാസ്] {{Webarchive|url=https://web.archive.org/web/20090913080725/http://www.aashirvadcinemas.com/ |date=2009-09-13 }} * [http://www.maxlabentertainments.com/ മാക്സ്‌ലാബ് സിനിമാസ്] {{Webarchive|url=https://web.archive.org/web/20090228192731/http://www.maxlabentertainments.com/ |date=2009-02-28 }} == അവലംബം == {{reflist|2}} <!--NO COMMERICAL/FAN LINKS PLEASE--> {{Mohanlal}} {{NationalFilmAwardBestActor}} {{മികച്ച നടനുള്ള ഫിലിം ഫെയർ അവാർഡ് ലഭിച്ചവർ-മലയാളം}} [[വർഗ്ഗം:1960-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 21-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനിർമ്മാതാക്കൾ]] [[വർഗ്ഗം: മലയാള സിനിമ]] [[വർഗ്ഗം:മലയാളനാടകനടന്മാർ]] [[വർഗ്ഗം:മികച്ച നടനുള്ള കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മശ്രീ പുരസ്കാരം ലഭിച്ച മലയാളികൾ]] [[വർഗ്ഗം:തമിഴ്‌ചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:പത്തനംതിട്ട ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ വ്യവസായികൾ]] [[വർഗ്ഗം:ലിംക ബുക്ക് ഓഫ് റെക്കോർഡ്സിൽ സ്ഥാനം ലഭിച്ച മലയാളികൾ]] 0v3aiqg45rgd8mb0ton4jx73vb2z3df 4622084 4621541 2026-05-23T00:18:12Z Cyanide Killer 206116 /* അഭിനയിച്ച ചിത്രങ്ങൾ */ 4622084 wikitext text/x-wiki {{featured}}{{Prettyurl|Mohanlal}} {{Infobox actor | name = മോഹൻലാൽ | image = Super Star Mohanlal BNC.jpg | caption = | birthname = മോഹൻലാൽ വിശ്വനാഥൻ<!--"നായർ" പേരിനൊപ്പം ഇല്ലാത്തതിനാൽ ഉൾപെടുത്താൻ പാടുള്ളതല്ല. അവലംബം വായിക്കുക.--><ref>{{cite web|author=The Cue|title='ആദ്യം നൽകാൻ ഉദ്ദേശിച്ച പേര് റോഷൻ ലാൽ, പേരിനൊപ്പം ജാതി വേണ്ടെന്നത് അച്ഛന്റെ തീരുമാനം'; മോഹൻലാൽ|url=https://www.thecue.in/entertainment/film-news/actor-mohanlal-about-his-name|website=The Cue|accessdate=29 സെപ്റ്റംബർ 2022|language=ml|date=25 August 2020}}</ref><ref>{{cite web|title=President Kovind presents Padma Bhushan to Mohanlal|url=https://www.youtube.com/watch?v=m9LwAdl84ys|website=[[YouTube]]|publisher=President of India|accessdate=29 സെപ്റ്റംബർ 2022|language=en|date=22 March 2019}}</ref> |birth_date = {{Birth date and age|df=yes|1960|5|21}} | birthplace = [[പത്തനംതിട്ട]], [[കേരളം]], [[ഇന്ത്യ]] | yearsactive = 1978 - ഇതുവരെ | height = | deathdate = | deathplace = | restingplace = | restingplacecoordinates = | othername = | occupation = ചലച്ചിത്ര അഭിനേതാവ്, നിർമ്മാതാവ്, സംവിധായകൻ, ചലച്ചിത്രവിതരണം, വ്യവസായി, അംബാസഡർ, പിന്നണിഗായകൻ |yearsactive = 1978 - ഇതുവരെ | spouse = സുചിത്ര (1988 - ഇതുവരെ) | partner = | children = [[പ്രണവ് മോഹൻലാൽ]], വിസ്മയ | parents = വിശ്വനാഥൻ നായർ, ശാന്തകുമാരി | influences = | influenced = | website = http://www.thecompleteactor.com | amg_id = P146889 | imdb_id = 0482320 | academyawards = | afiawards = | arielaward = | baftaawards = | cesarawards = | emmyawards = | geminiawards = | goldenglobeawards = | goldenraspberryawards = | goyaawards = | grammyawards = | iftaawards = | laurenceolivierawards = | naacpimageawards = | nationalfilmawards = | othername = ലാൽ | total films = 290 , അഭിനയിച്ചുകൊണ്ടിരിക്കുന്നു | filmfareawards= '''മികച്ച തമിഴ് നടൻ'''<br>''ഇരുവർ'' (1997)<br>'''മികച്ച നടൻ''' <br/> 1986 ''സന്മനസുള്ളവർക്ക് സമാധാനം '' <br/>1988 ''പാദമുദ്ര''<br/>1993 ''ദേവാസുരം''<br/>1994 ''പവിത്രം''<br/>1995 ''സ്ഫടികം<br/>1999 ''വാനപ്രസ്ഥം''<br/>2005 ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]''<br/>2007''പരദേശി'' | nationalfilmawards= '''മികച്ച നടൻ''' <br /> 1991 ''ഭരതം'' <br /> 1999 ''വാനപ്രസ്ഥം''<br />'''മികച്ച ചിത്രം'''<br /> 1999 ''വാനപ്രസ്ഥം''<br />'''സ്പെഷ്യൽ ജൂറി പുരസ്ക്കാരം'''<br /> 1990 ''കിരീടം'' | awards = '''[[കേരളസംസ്ഥാന പുരസ്കാരങ്ങൾ]]'''<br/> 1986 ''[[T.P. ബാലഗോപാലൻ M.A.]]''<br/>1988 സ്പെഷ്യൻ ജൂറി പുരസ്കാരം <br> ''പാദമുദ്ര, [[ചിത്രം]], ഉത്സവപിറ്റേന്ന്, ആര്യൻ, വെള്ളാനകളുടെ നാട്'' <br/>1991 ''ഉള്ളടക്കം, [[കിലുക്കം]], അഭിമന്യു ''<br/>1995 ''കാ‍ലാപാനി, [[സ്ഫടികം]]'' <br/>1999 ''[[വാനപ്രസ്ഥം]]''<br/>2005 ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]''<br/>2007 [[പരദേശി]]<br/>'''[[IIFA പുരസ്ക്കാരങ്ങൾ]]''' <br/> 2003 [[IIFA Best Supporting Actor Award|മികച്ച സഹനടൻ]] <br/> ''[[Company (film)|കമ്പനി]]'' <br> '''[[സ്റ്റാർ സ്ക്രീൻ പുരസ്കാരം]]''' <br/> 2003 [[Star Screen Award Best Supporting Actor|മികച്ച സഹനടൻ]] <br/> ''[[Company (film)|കമ്പനി]]'' | sagawards = | tonyawards = | awards = }} [[മലയാളചലച്ചിത്രം|മലയാള ചലച്ചിത്രരംഗത്ത്]] നാല് പതിറ്റാണ്ടുകളായി സജീവമായി അഭിനയിച്ചു കൊണ്ടിരിക്കുന്ന നടനാണ് '''മോഹൻലാൽ''' (പൂർണ്ണനാമം: മോഹൻലാൽ വിശ്വനാഥൻ നായർ, ജനനം: മേയ് 21, 1960).<ref name=name1>{{cite web|title=മോഹൻലാൽ ലഘുജീവചരിത്രം|url=http://www.digipaper.fi/ekonomi/9348/index.php?pgnumb=6|publisher=മോഹൻലാൽ.ഓർഗ്|accessdate=2013 സെപ്തംബർ 26|archive-date=2013-04-29|archive-url=https://archive.today/20130429163437/http://www.digipaper.fi/ekonomi/9348/index.php?pgnumb=6|url-status=bot: unknown}}</ref> രണ്ടു തവണ മികച്ച നടനുള്ളതടക്കം അഞ്ച് [[ദേശീയ ചലച്ചിത്രപുരസ്കാരം|ദേശീയ ചലച്ചിത്ര പുരസ്കാരങ്ങൾ]] നേടിയ മോഹൻലാൽ സ്വാഭാവികമായ നടന ശൈലിക്കു പ്രശസ്തനാണ്‌. മലയാളത്തിനു പുറമേ [[തമിഴ്]], [[ഹിന്ദി]], [[തെലുഗു]], [[കന്നഡ]] തുടങ്ങിയ ഭാഷകളിലുള്ള ചലച്ചിത്രങ്ങളിലും ലാൽ അഭിനയിച്ചിട്ടുണ്ട്. അഭിനയത്തിനു പുറമേ ഏതാനും ചിത്രങ്ങളിൽ പിന്നണി ഗായകനായും അദ്ദേഹം തിളങ്ങിയിട്ടുണ്ട്. ഇന്ത്യൻ ചലച്ചിത്രങ്ങൾക്ക് നൽകിയ സംഭാവനകൾ പരിഗണിച്ച് 2001-ൽ അദ്ദേഹത്തിന് രാജ്യത്തെ നാലാമത്തെ ഉയർന്ന സിവിലിയൻ ബഹുമതിയായ [[പത്മശ്രീ]] പുരസ്കാരവും 2019 ൽ<ref name="Padmabhushan">{{Cite web|url=https://indianexpress.com/article/entertainment/entertainment-others/mohanlal-padma-bhushan-kader-khan-manoj-bajpayee-prabhudheva-shankar-mahadevan-5555516/|title=Mohanlal conferred with Padma Bhushan|access-date=2019-01-25|date=2019-01-25|website=[[The New Indian Express]]}}</ref> രാജ്യത്തെ മൂന്നാമത്തെ ഉയർന്ന സിവിലിയൻ ബഹുമതിയായ [[പത്മഭൂഷൺ]] ബഹുമതിയും നൽകി ഭാരത സർക്കാർ ആദരിച്ചു. 2009-ൽ ഇന്ത്യൻ ടെറിട്ടോറിയൽ ആർമിയിൽ ലഫ്റ്റനന്റ് കേണൽ പദവി നൽകുകയും ചെയ്തു.<ref name="LtCol1">{{cite web|title=മോഹൻലാലിന് ലെഫ്ടനന്റ് കേണൽ പദവി|url=http://pib.nic.in/newsite/erelease.aspx?relid=50047|publisher=പ്രസ്സ് ഇൻഫർമേഷൻ ബ്യൂറോ|accessdate=2013 സെപ്തംബർ 26|quote=മലയാള നടൻ മോഹൻലാലിന് ലെഫ്ടനന്റ് കേണൽ പദവി|archive-date=2013-09-26|archive-url=https://archive.today/20130926035710/http://pib.nic.in/newsite/erelease.aspx?relid=50047|url-status=bot: unknown}}</ref> ചലച്ചിത്ര ലോകത്തിനും സംസ്കൃത നാടകത്തിനും നൽകിയ സംഭാവനകളെ മാനിച്ച് [[കാലടി]] [[ശ്രീ ശങ്കരാചാര്യ സംസ്കൃത സർവകലാശാല|ശ്രീ ശങ്കരാചാര്യ സംസ്കൃത സർവ്വകലാശാല]] ഡോക്ടറേറ്റ് നൽകിയും <ref name=rediff>{{cite web | url = http://sports.rediff.com/report/2009/nov/04/mohanlal-mammotty-to-don-sports-cap-kerala.htm | title = Mammootty, Mohanlal to don sports cap for Kerala | accessdate = 2009 ഡിസംബർ 22 | format = html | publisher = Rediff | language = en | quote = Mohanlal was recently made the honorary Lt Colonel of the Indian Territorial Army and conferred an honorary D.Lit degree by the Kalady Sri Sankara Sanskrit university. }}</ref> <ref>http://www.indiaedunews.net/Kerala/Honorary_degrees_for_Mohanlal,_Resul_Pookutty_and_Sastrikal_9254/print.asp{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> മോഹൻലാലിനെ ആദരിച്ചിട്ടുണ്ട്. ഇന്ത്യൻ ചലച്ചിത്ര രംഗത്തിന് നൽകിയ സമഗ്ര സംഭാവനകൾ പരിഗണിച്ച് മോഹൻലാലിന് 2023-ലെ ദാദാ സാഹിബ് ഫാൽക്കെ അവാർഡ് ലഭിച്ചു. 2025 സെപ്റ്റംബർ 23ന് അവാർഡ് മോഹൻലാൽ ഏറ്റുവാങ്ങി .<ref>https://www.manoramaonline.com/news/latest-news/2025/09/20/mohanlal-won-dada-saheb-phalke-award.html</ref> 1980, 90 ദശകങ്ങളിൽ അഭിനയിച്ച ചലച്ചിത്ര വേഷങ്ങളിലൂടെയാണ്‌ മോഹൻലാൽ ശ്രദ്ധേയനായി മാറിയത്. ''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' എന്ന ചിത്രത്തിലെ സോളമൻ, ''[[നാടോടിക്കാറ്റ്]]'' എന്ന ചിത്രത്തിലെ ദാസൻ, ''[[തൂവാനത്തുമ്പികൾ]]'' എന്ന ചിത്രത്തിലെ ജയകൃഷ്ണൻ, ''മണിച്ചിത്രത്താഴ്'' എന്ന ചിത്രത്തിലെ ഡോക്ടടർ സണ്ണി, ''[[ചിത്രം]]'' എന്ന ചിത്രത്തിലെ വിഷ്ണു, ''ദശരഥം'' എന്ന ചിത്രത്തിലെ രാജീവ് മേനോൻ,''[[കിരീടം (മലയാളചലച്ചിത്രം)|കിരീടം]]'' എന്ന ചിത്രത്തിലെ സേതുമാധവൻ, ''[[ഭരതം]]'' എന്ന ചിത്രത്തിലെ ഗോപി, ''[[ദേവാസുരം]]'' എന്ന ചിത്രത്തിലെ മംഗലശ്ശേരി നീലകണ്ഠൻ, ''[[ഇരുവർ]]'' എന്ന ചിത്രത്തിലെ ആനന്ദൻ, ''[[വാനപ്രസ്ഥം (ചലച്ചിത്രം)|വാനപ്രസ്ഥം]]'' എന്ന ചിത്രത്തിലെ കുഞ്ഞിക്കുട്ടൻ, ''[[സ്ഫടികം (ചലച്ചിത്രം)|സ്ഫടികം]]'' എന്ന ചിത്രത്തിലെ ആടുതോമ, ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' എന്ന ചിത്രത്തിലെ രമേശൻ നായർ, ''[[പരദേശി]]'' എന്ന ചിത്രത്തിലെ വലിയകത്തു മൂസ, ''[[ഭ്രമരം]]'' എന്ന ചിത്രത്തിലെ ശിവൻ കുട്ടി തുടങ്ങിയവ മോഹൻലാലിന്റെ ശ്രദ്ധേയമായ ചലച്ചിത്ര വേഷങ്ങളാണ്‌. ==ജീവിതരേഖ== === ജനനം === സർക്കാർ ഉദ്യോഗസ്ഥനായിരുന്ന വിശ്വനാഥൻ നായരുടേയും ശാന്താകുമാരിയുടേയും രണ്ടാമത്തെ പുത്രനായി [[ഇടവം|ഇടവ മാസത്തിലെ]] [[രേവതി]] നക്ഷത്രത്തിൽ 1960 [[മേയ് 21]]-നു [[പത്തനംതിട്ട (ജില്ല)|പത്തനംതിട്ട ജില്ലയിലെ]] [[ഇലന്തൂർ|ഇലന്തൂരിൽ]] ജനനം.<ref>{{Cite web |url=http://www.mohanlal.org/myself.htm |title=mohanlal.org എന്ന വെബ്സൈറ്റിൽ നിന്നും ശേഖരിച്ചത്. |access-date=2009-07-10 |archive-date=2010-03-09 |archive-url=https://web.archive.org/web/20100309230331/http://www.mohanlal.org/myself.htm |url-status=dead }}</ref> മോഹൻലാലിന്റെ അച്ഛൻ കേരള സെക്രട്ടേറിയേറ്റിലെ നിയമ വകുപ്പിലെ ഉദ്യോഗസ്ഥനായിരുന്നു. [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] ''മുടവൻമുകൾ'' എന്ന സ്ഥലത്തെ തറവാട്ടു വീട്ടിലായിരുന്നു മോഹൻലാലിന്റെ കുട്ടിക്കാലം. മുടവൻമുകളിലുള്ള ഒരു ചെറിയ സ്കൂളിലാണ് മോഹൻലാൽ തന്റെ വിദ്യാഭ്യാസം ആരംഭിക്കുന്നത്. [[പ്രിയദർശൻ]], [[എം.ജി. ശ്രീകുമാർ]] തുടങ്ങിയവർ അദ്ദേഹത്തിന്റെ സഹപാഠികൾ ആയിരുന്നു. ഈ സൗഹൃദം അദ്ദേഹത്തെ ഒരുപാടു സ്വാധീനിച്ചിട്ടുണ്ട്. [[കിളിക്കൊഞ്ചൽ|കിളിക്കൊഞ്ചൽ]] എന്ന ചിത്രത്തിൽ അഭിനയിച്ചിട്ടുള്ള പ്യാരേലാൽ എന്ന അദ്ദേഹത്തിന്റെ ജ്യേഷ്ഠൻ 2000 ൽ മരണമടഞ്ഞിരുന്നു. === വിദ്യാഭ്യാസം === [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തെ]] മോഡൽ സ്കൂളിലാണ് മോഹൻലാൽ സ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയത്. മോഹൻലാൽ സ്കൂൾ വിദ്യാഭ്യാസ കാലത്തുതന്നെ നാടകങ്ങളിലും മറ്റും അഭിനയിക്കുമായിരുന്നു. ആറാം ക്ലാസിലായിരുന്നപ്പോൾ മോഹൻലാൽ സ്കൂളിലെ മികച്ച നടനായി തിരഞ്ഞെടുക്കപ്പെട്ടു. ഇതു സാധാരണ സ്കൂളിലെ മുതിർന്ന വിദ്യാർത്ഥികൾക്കു ലഭിച്ചിരുന്ന ഒരു പുരസ്കാരമായിരുന്നു. മോഹൻലാലിന്റെ ഉപരിപഠനം [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തെ]] [[എം.ജി കോളേജ്|എം.ജി കോളേജിൽ]] ആയിരുന്നു. ബി,കോം ബിരുദധാരിയാണ്. കോളേജിൽ ഒപ്പമുണ്ടായിരുന്ന പലരും, പ്രത്യേകിച്ചു [[പ്രിയദർശൻ]], [[മണിയൻപിള്ള രാജു]] തുടങ്ങിയവർ മോഹൻലാലിന്റെ അഭിനയ ജീവിതത്തിൽ നിർണായക പങ്കുവഹിച്ചതിനൊപ്പം മലയാള സിനിമയിൽ സ്വന്തമായ സ്ഥാനം ഉറപ്പിച്ചവരുമാണ്‌. == ചലച്ചിത്ര ജീവിതം== ===ആദ്യകാലം (1978-1985)=== മോഹൻലാൽ ആദ്യമായി അഭിനയിച്ച സിനിമ [[തിരനോട്ടം (1978-ലെ ചലച്ചിത്രം)|തിരനോട്ടം]] ആയിരുന്നു. ലാലിന്റെ സുഹൃത്തുക്കളുടെ തന്നെ നിർമ്മാണ സംരംഭമായ ''ഭാരത് സിനി ഗ്രൂപ്പ്'' ആണ് ഈ ചിത്രം നിർമ്മിച്ചത്.<ref name="jtpac.org">http://www.jtpac.org/showdetails.php?id=16{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> മോഹൻലാൽ ഈ ചിത്രത്തിൽ ഒരു ഹാസ്യ കഥാപാത്രത്തെയാണ് അവതരിപ്പിച്ചത്. സെൻസർ ബോർഡുമായി ബന്ധപ്പെട്ട ചില തടസ്സങ്ങൾ മൂലം ഈ ചിത്രം പുറത്തിറങ്ങിയില്ല. മോഹൻലാൽ അഭിനയിച്ച്, പ്രേക്ഷകരുടെ മുന്നിലെത്തിയ ആദ്യത്തെ സിനിമ [[മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കൾ]] (1980) ആയിരുന്നു. ആദ്യചിത്രം പുറത്തിറങ്ങുമ്പോൾ മോഹൻലാലിന് 20 വയസ്സായിരുന്നു പ്രായം. ആ ചിത്രത്തിൽ വില്ലൻ വേഷമായിരുന്നു മോഹൻലാലിന്. [[ശങ്കർ (ചലച്ചിത്രനടൻ)|ശങ്കർ‍]] ആയിരുന്നു മോഹൻലാലിന്റെ ആദ്യ ചിത്രത്തിൽ നായക കഥാപാത്രത്തെ അവതരിപ്പിച്ചത്. സം‌വിധാനം ചെയ്തത് [[ഫാസിൽ|ഫാസിലും]]. മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കളിനു ശേഷം മോഹൻലാലിന് ധാരാളം അവസരങ്ങൾ ലഭിക്കുകയുണ്ടായി. 1983-ൽ 25-ഓളം ചിത്രങ്ങളിൽ മോഹൻലാൽ അഭിനയിക്കുകയുണ്ടായി. [[മാളിയംപുരക്കൽ കുടുബം|മാളിയംപുരക്കൽ]] ചാക്കോ പുന്നൂസ് ( [[നവോദയ അപ്പച്ചൻ]] ) സം‌വിധാനം ചെയ്ത മോഹൻലാൽ അഭിനയിച്ച ''എന്റെ മാമാട്ടിക്കുട്ടിയമ്മക്ക്'' എന്ന ചിത്രം വളരെ അധികം ജനശ്രദ്ധ നേടിയിരുന്നു. ആ കാലഘട്ടത്തിൽ മോഹൻലാലിന്റെ ശ്രദ്ധിക്കപ്പെട്ട മറ്റൊരു ചിത്രമായിരുന്നു ''ഉയരങ്ങളിൽ'', [[ഐ.വി. ശശി]] സം‌വിധാനം നിർവ്വഹിച്ച ഈ ചിത്രത്തിന്റെ തിരക്കഥ എഴുതിയത് പ്രശസ്ത സാഹിത്യകാരൻ [[എം.ടി. വാസുദേവൻ നായർ|എം.ടി വാസുദേവൻ നായരായിരുന്നു]]. സാവധാനം, പ്രതിനായക വേഷങ്ങളിൽ നിന്നു നായക വേഷങ്ങളിലേക്ക് മാറിയ ലാൽ, തുടർന്ന് കാമ്പുള്ളതും ഹാസ്യംകലർന്നതുമായ നായകവേഷങ്ങൾ കൈകാര്യം ചെയ്യുവാൻ തുടങ്ങി. ഇത്തരം മോഹൻലാൽ ചിത്രങ്ങൾ കൂടുതലായും സം‌വിധാനം ചെയ്തതു പ്രശസ്ത സം‌വിധായകനും മോഹൻലാലിന്റെ സുഹൃത്തുമായ [[പ്രിയദർശൻ|പ്രിയദർശനായിരുന്നു]]. പ്രിയദർശന്റെ ആദ്യചിത്രമായ ''പൂച്ചക്കൊരു മൂക്കുത്തി'' എന്ന ചിത്രത്തിൽ മോഹൻലാൽ ഒരു പ്രധാന വേഷം ചെയ്തിട്ടുണ്ട്. [[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]] [[കിലുക്കം]], [[മിന്നാരം]], [[തേന്മാവിൻ കൊമ്പത്ത്]], തുടങ്ങിയ ചിത്രങ്ങൾ മോഹൻലാൽ, പ്രിയദർശൻ കൂട്ടുകെട്ടിന്റെ വിജയചിത്രങ്ങളിൽ പ്രധാനങ്ങളാണ്.<ref>https://www.facebook.com/malayalamcinemanews/photos/a.640869782613648.1073741826.496375967063031/1149907551709866/?type=3&theater</ref>[[പ്രിയദർശൻ]] കഥയും, തിരക്കഥയും നിർവഹിച്ച് [[എം.മണി]] സംവിധാനം ചെയ്ത് 1983 ൽ പുറത്ത് ഇറങ്ങിയ [[എങ്ങനെ നീ മറക്കും]] എന്ന ചിത്രത്തിലുടെ എൺപതുകളിൽ ലാൽ തന്റെ ആദ്യ ചിത്രം മുതൽ വില്ലൻ വേഷം മാത്രം ലഭിച്ചപ്പോൾ ഈ ചിത്രത്തിലെ മികച്ച അഭിനയത്തിലൂടെയാണ് ലാലിന് നായക പദവി ലഭിച്ചു തുടങ്ങിയത്. === സുവർണ്ണ കാലഘട്ടം (1986-1995)=== 1986 മുതൽ 1995 വരെയുള്ള കാലഘട്ടം മലയാള സിനിമയുടെ സുവർണ്ണ കാലഘട്ടം എന്നു വിശേഷിപ്പിക്കാവുന്നതാണ്. ഈ കാലഘട്ടത്തിലാണ് നല്ല തിരക്കഥയും, സം‌വിധാനവും, അഭിനയവും കൂടി ചേർന്ന നല്ല ചലച്ചിത്രങ്ങൾ കൂടുതലായും പിറവിയെടുത്തത്<ref name=goldenphase>{{Cite web |url=http://www.malayalamcinema.com/php/showContent.php?linkid=4 |title=മലയാളചലച്ചിത്രങ്ങളുടെ ചരിത്രം |access-date=2009-02-13 |archive-date=2010-02-28 |archive-url=https://web.archive.org/web/20100228033110/http://www.malayalamcinema.com/php/showContent.php?linkid=4 |url-status=dead }}</ref>. ഈ കാലഘട്ടത്തിലാണ് മോഹൻലാലിന്റെ അഭിനയ മികവ് പ്രകടമാക്കുന്ന നിരവധി ചലച്ചിത്രങ്ങൾ ധാരാളമായി പുറത്തിറങ്ങിയത്. ഈ കാലഘട്ടത്തിൽ മികച്ച സം‌വിധായകരോടൊപ്പവും, മികച്ച തിരക്കഥാകൃത്തുക്കളോടൊപ്പവും പ്രവർത്തിക്കാൻ മോഹൻലാലിന് സാധിച്ചു. മലയാള ചലച്ചിത്ര വേദിയിൽ മോഹൻലാലിന്റെ മികച്ച വർഷങ്ങളിൽ ഒന്നാണ് 1986. ഈ വർഷത്തിൽ പുറത്തിറങ്ങിയ ''[[ടി.പി. ബാലഗോപാലൻ എം.എ.]]'' എന്ന [[സത്യൻ അന്തിക്കാട്]] സം‌വിധാനം ചെയ്ത ചിത്രത്തിലെ അഭിനയത്തിന് മോഹൻലാലിന് ആദ്യമായി മികച്ച നടനുള്ള കേരള സംസ്ഥാന സർക്കാർ പുരസ്കാരം ലഭിക്കുകയുണ്ടായി. പിന്നീട് പുറത്തിറങ്ങിയ ''[[രാജാവിന്റെ മകൻ]]‍'' എന്ന ചിത്രം മോഹൻലാലിന് ധാരാളം ആരാധകരെ നേടിക്കൊടുത്തു. ഈ ചിത്രവും വൻ വിജയമായിരുന്നു. ഈ ചിത്രം മൂലം മോഹൻലാൽ മലയാള സിനിമയിലെ സൂപ്പർ സ്റ്റാർ പദവിയിലേക്കുയർന്നു. മോഹൻലാൽ ഒരു അധോലോക നായകന്റെ വേഷം കൈകാര്യം ചെയ്ത ഈ ചിത്രം സം‌വിധാനം ചെയ്തത് [[തമ്പി കണ്ണന്താനം]] ആയിരുന്നു. ഇതേ വർഷത്തിലാണ് ''[[താളവട്ടം]]'' എന്ന ചിത്രത്തിൽ മോഹൻലാൽ അഭിനയിക്കുന്നത്. [[പ്രിയദർശൻ]] സം‌വിധാനം ചെയ്ത ഈ ചിത്രത്തിൽ മാനസിക നില തെറ്റിയ ഒരു യുവാവിന്റെ വേഷമായിരുന്നു മോഹൻലാലിന്. വാടകക്കാർ മൂലം ബുദ്ധിമുട്ട് അനുഭവിക്കുന്ന ഒരു വീട്ടുടമസ്ഥന്റെ വേഷം ചെയ്ത ''[[സന്മനസ്സുള്ളവർക്ക് സമാധാനം]]'' എന്ന ചിത്രവും, ഒരു പത്ര പ്രവർത്തകനായി അഭിനയിച്ച ''[[പഞ്ചാഗ്നി]]'' എന്ന ചിത്രവും, മുന്തിരിത്തോട്ടം മുതലാളിയുടെ വേഷം ചെയ്ത ''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' എന്ന ചിത്രവും, ഒരു ഗൂർഖയായി വേഷമിട്ട ''ഗാന്ധി നഗർ സെക്കൻറ് സ്ട്രീറ്റ്'' എന്ന ചിത്രവും, ആ കാലഘട്ടത്തിലെ വമ്പിച്ച വിജയം നേടിയ ചലച്ചിത്രങ്ങളാണ്. വില്ലൻ വേഷങ്ങളിലാണ് വന്നതെങ്കിലും പിന്നീട് നായക വേഷങ്ങൾ നന്നായി ചെയ്തു തുടങ്ങിയതു മുതൽ അദ്ദേഹം മലയാളികളുടെ മനസ്സിൽ ചിരപ്രതിഷ്ഠ നേടി. രചന - സംവിധാന ജോഡിയായ [[ലോഹിതദാസ്]]-[[സിബി മലയിൽ]] കൂട്ടുകെട്ടിന്റെ ചിത്രങ്ങൾ മോഹൻലാലിന്റെ അഭിനയ ജീവിതത്തിലെ മികച്ച കഥാപാത്രങ്ങളെ സൃഷ്ടിച്ചിട്ടുണ്ട്. ''[[കിരീടം (മലയാളചലച്ചിത്രം)|കിരീടം]]'' എന്ന ചിത്രത്തിലെ സേതുമാധവൻ എന്ന കഥാപാത്രം ഇതിലൊന്നാണ്. ഒരു പോലീസുകാരനാവാൻ ആഗ്രഹിക്കുകയും പിന്നീട് സാഹചര്യങ്ങൾ മൂലം ഒരു കുറ്റവാളി ആയിത്തീരുകയും ചെയ്യുന്ന ഒരു കഥാപാത്രമാണ് സേതുമാധവൻ. 1989-ൽ [[ദേശീയ ചലച്ചിത്രപുരസ്കാരം|ദേശീയ ചലച്ചിത്ര പുരസ്കാര]] ജൂറിയുടെ പ്രത്യേക പരാമർശം ഈ ചിത്രത്തിലെ അഭിനയത്തിന് ലാലിന് ലഭിച്ചിരുന്നു. ''[[ഭരതം]]'' എന്ന ചിത്രത്തിലെ ഗോപി എന്ന കഥാപാത്രവും ഇക്കാലത്തെ മികച്ച ചിത്രങ്ങളിൽ ഒന്നാണ്. ഒരു ശാസ്ത്രീയ സംഗീതജ്ഞനായ ഗോപിയുടെയും തന്റെ ഉയർച്ചയിൽ അസൂയ കാരണം വീടുവിട്ടു പോകുകയും മരണമടയുകയും ചെയ്യുന്ന സഹോദരന്റേയും കഥയാണ് ഭരതം. ഈ ചിത്രത്തിലെ അഭിനയത്തിന് മികച്ച നടനുള്ള പുരസ്കാരം ലാലിന് നേടിക്കൊടുത്തു. രചന- സംവിധാന ജോഡിയായ [[ശ്രീനിവാസൻ]], [[സത്യൻ അന്തിക്കാട്]] എന്നിവരുടെ കൂടെ സാമൂഹിക പ്രാധാന്യമുള്ള ''[[വരവേൽപ്പ്]]'' എന്ന ചിത്രത്തിലും മോഹൻലാൽ അഭിനയിച്ചു. [[ഗൾഫ്|ഗൾഫിൽ]] നിന്ന് തിരിച്ചു വരുന്ന ഒരു യുവാവിന്റെ വേഷമാണ് ഇതിൽ ലാൽ അഭിനയിച്ചത്. പിന്നീട് [[പ്രിയദർശൻ]] സംവിധാനം ചെയ്ത ചിത്രങ്ങളിൽ ഒരു സാധാരണ കാമുക നായക വേഷങ്ങളിൽ അഭിനയിച്ചു. മലയാള ചലച്ചിത്രത്തിലെ എക്കാല ഹിറ്റുകളിൽ ഒന്നായ ''[[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]]'' എന്ന ചിത്രത്തിലെ ലാലിന്റെ അഭിനയം വളരെ ശ്രദ്ധേയമായി. ഈ ചിത്രം [[എറണാകുളം]], [[തിരുവനന്തപുരം]] എന്നിവിടങ്ങളിൽ 365 ദിവസത്തിലധികം തുടർച്ചയായി പ്രദർശിപ്പിച്ചു ചരിത്രം സൃഷ്ടിച്ചു. പ്രിയദർശൻ സംവിധാനം ചെയ്ത ഈ ചിത്രത്തിൽ [[രഞ്ജിനി]] ആയിരുന്നു നായിക. 1993-ൽ [[ഐ.വി. ശശി]] സംവിധാനം ചെയ്ത ''[[ദേവാസുരം]]'' എന്ന ചിത്രത്തിൽ നായകനായി അഭിനയിച്ചു. ഇത് സാമ്പത്തികമായി വിജയിക്കുകയും, ധാരാളം ജനശ്രദ്ധ നേടുകയും ചെയ്ത ഒരു ചിത്രമായിരുന്നു. മലയാളത്തിലെ മികച്ച എഴുത്തുകാരായ [[എം.ടി. വാസുദേവൻ നായർ]], [[പത്മരാജൻ]] എന്നിവരുടെ കഥാപാത്രങ്ങളുടെ ചലച്ചിത്രാവിഷ്കാരത്തിൽ ലാൽ നായകനായിട്ടുണ്ട്. ''അമൃതം‌ ഗമയ'' എന്ന ചിത്രത്തിലെ ഡോക്ടറുടെ കഥാപാത്രം ഇതിലൊന്നാണ്. 1993-ൽ അഭിനയിച്ച മറ്റൊരു ചിത്രമായ ''[[മണിച്ചിത്രത്താഴ്]]'' എന്ന ചിത്രത്തിൽ [[സുരേഷ് ഗോപി]], [[ശോഭന]] എന്നിവരോടൊപ്പം അഭിനയിച്ചു. ഈ ചിത്രം ജനപ്രീതി നേടിയ ചിത്രത്തിനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം നേടുകയുണ്ടായി. 90-കളിൽ പിന്നീട് ധാരാളം ശ്രദ്ധേയമായ വേഷങ്ങൾ ലാൽ ചെയ്തു. ''[[ഹിസ് ഹൈനസ്സ് അബ്ദുള്ള]]'' എന്ന ചിത്രത്തിൽ ഒരു മുസ്ലീം ഒരു നമ്പൂതിരിയായി മാറി വരുന്ന ഒരു കഥാപാത്രമായി അവതരിപ്പിച്ചു. കൂടാതെ ചില ശ്രദ്ധേയമായ അക്കാലത്തെ ചിത്രങ്ങൾ ''മിഥുനം'', ''മിന്നാരം'', ''തേന്മാവിൻ കൊമ്പത്ത്'' എന്നിവയായിരുന്നു. ഇതെല്ലാം വ്യാവസായികമായി വിജയിച്ച ചിത്രങ്ങളായിരുന്നു. ===പിന്നീടുള്ള വർഷങ്ങൾ (1996-ഇതുവരെ)=== <imagemap> Image:Mohanlal_and_Madhu.jpg|thumb| poly 11 305 13 272 19 241 41 205 75 186 100 173 117 169 118 137 124 95 182 88 204 87 219 112 221 130 221 176 214 196 234 208 256 232 266 274 270 325 260 357 279 367 277 393 263 416 232 419 218 404 212 420 226 436 228 442 132 447 7 447 -1 435 0 386 17 337 [[മോഹൻലാൽ]] poly 347 433 630 415 617 396 646 362 646 263 609 179 516 144 507 128 498 126 505 109 491 58 447 36 417 46 406 60 407 72 399 99 409 117 407 130 409 137 412 157 412 164 387 175 368 197 353 221 336 249 331 246 324 222 329 209 327 199 316 197 308 187 265 164 258 174 280 188 271 206 266 216 267 222 285 232 291 241 294 285 302 308 327 327 352 323 374 311 377 307 371 352 372 376 371 388 367 397 352 417 [[മധു (ചലച്ചിത്രനടൻ)|മധു]] desc bottom-left </imagemap> 1996-മുതൽ പിന്നീട് ഇങ്ങോട്ടുള്ള കാലഘട്ടത്തിൽ മോഹൻലാലിന്റെ പ്രശസ്തിയും നായകപദവിയും ഉപയോഗപ്പെടുത്തിക്കൊണ്ട് നിർമ്മാതാക്കളും, സംവിധായകരും ലാലിനു വേണ്ടി ചിത്രങ്ങൾ നിർമ്മിച്ചു. ഇതിൽ പലതും ലാലിനെ ഒരു അസാമാന്യ നായകപദവി കൊടുത്തു കൊണ്ട് നിർമ്മിച്ച ചിത്രങ്ങൾ ആയിരുന്നു. ''[[ആറാം തമ്പുരാൻ]]'', ''[[ഉസ്താദ് (ചലച്ചിത്രം)|ഉസ്താദ്]]'', ''[[നരസിംഹം (മലയാളചലച്ചിത്രം)|നരസിംഹം]]'', ''[[പ്രജ (ചലച്ചിത്രം)|പ്രജ]]'', ''[[നരൻ]]'' എന്നിവ ഇങ്ങനെയുള്ള ചിത്രങ്ങളാണ്. ഒരു സൂപ്പർസ്റ്റാർ എന്ന പദവി പൂർണ്ണമായും പ്രയോജനപ്പെടുത്തുന്ന ചിത്രങ്ങളായിരുന്നു ഇവ. ഈ നിരയിലെ ആദ്യ ചില ചിത്രങ്ങൾ വിജയിച്ചെങ്കിലും പിന്നീട് പല ചിത്രങ്ങളും പരാജയപ്പെടുകയും ധാരാളം വിമർശനങ്ങൾക്ക് വിധേയമാവുകയും ചെയ്തു. 90-കളുടെ അവസാനത്തിൽ പ്രിയദർശൻ സംവിധാനം ചെയ്ത ''[[കാലാപാനി (മലയാളചലച്ചിത്രം)|കാലാപാനി]]'' എന്ന ചിത്രം ഇതിൽ നിന്ന് വ്യത്യസ്തമായി വിജയിച്ചു. [[ഇന്ത്യ|ഇന്ത്യൻ]] സ്വാതന്ത്ര്യ സമരത്തിന്റെ പശ്ചാത്തലത്തിൽ ബ്രിട്ടീഷ് രാജവംശം [[ആന്തമാൻ നിക്കോബാർ ദ്വീപുകൾ|ആൻ‌ഡമാൻ നിക്കോബാർ ദ്വീപിലെ]] [[ജയിൽ|ജയിലിൽ]] അടക്കുന്ന പോരാളികളുടെ കഥ പറയുന്ന ഈ ചിത്രം ദേശീയ തലത്തിലും ശ്രദ്ധേയമായ ഒരു ചിത്രമായിരുന്നു. 1997-ൽ മോഹൻലാൽ അഭിനയിച്ച് പുറത്തിറങ്ങിയ ഒരു ചിത്രമാണ് ''[[ഗുരു (ചലച്ചിത്രം)|ഗുരു]]''. വർഗ്ഗീയ ലഹളയേയും, ആത്മീയതയേയും ചർച്ച ചെയ്ത ഈ ചിത്രം. [[ഓസ്കാർ അവാർഡ്|ഓസ്കാർ അവാർഡിനു]] വേണ്ടിയുള്ള വിദേശ ചലച്ചിത്രങ്ങളുടെ പട്ടികയിൽ ഇടം നേടിയിരുന്നു. [[രാജീവ് അഞ്ചൽ]] ആയിരുന്നു ഈ ചിത്രം സംവിധാനം ചെയ്തത്. ഇതേ വർഷത്തിൽ തന്നെ [[മമ്മൂട്ടി|മമ്മൂട്ടിയോടൊപ്പം]] തുല്യ നായക പ്രാധാന്യമുള്ള [[ഹരികൃഷ്ണൻസ്]] എന്ന ചിത്രത്തിലും ലാൽ അഭിനയിച്ചു. [[ഫാസിൽ]] സംവിധാനം ചെയ്ത ഈ ചിത്രം നല്ല വിജയം കൈവരിച്ചു. കൂടാതെ ആ സമയത്ത് തന്നെ [[ലോഹിതദാസ്]] സംവിധാനം ചെയ്ത ''[[കന്മദം (ചലച്ചിത്രം)|കന്മദം]]'' എന്ന ചിത്രവും കഥയിലെ വ്യത്യസ്തത കൊണ്ട് ശ്രദ്ധേയമായി. [[പ്രമാണം:Bachan mohanlal.jpg|right|thumb|അമിതാബ് ബച്ചനോടൊപ്പം (2010-ലെ ചിത്രം)]] 1999-ൽ പുറത്തിറങ്ങിയ ഇൻ‌ഡോ-ഫ്രഞ്ച് ചലച്ചിത്ര സംരംഭമായ [[വാനപ്രസ്ഥം (മലയാളചലച്ചിത്രം)|വാനപ്രസ്ഥം]] വിഖ്യാതമായ [[കാൻ ചലച്ചിത്രമേള|കാൻ ചലച്ചിത്ര മേളയിൽ]] പ്രദർശിപ്പിക്കുകയുണ്ടായിട്ടുണ്ട്. വിദേശത്തും ഈ ചിത്രത്തിന് വളരെയധികം അഭിനന്ദനങ്ങൾ ലഭിക്കുകയുണ്ടായി<ref>http://movies.nytimes.com/movie/180033/Vanaprastham-the-Last-Dance/overview</ref>. മികച്ച നടനുള്ള ദേശീയ അവാർഡ് രണ്ടാം തവണ മോഹൻലാലിന്‌ ഈ ചിത്രം നേടിക്കൊടുത്തു. 2006-ലെ ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' എന്ന ചിത്രത്തിന്‌ മികച്ച നടനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര പുരസ്കാരം ലഭിച്ചു. 2007-ൽ പുറത്തിറങ്ങിയ [[പരദേശി]] എന്ന ചിത്രം സാമ്പത്തികമായി പരാജയം ആയിരുന്നു എങ്കിലും, മികച്ച നടനുള്ള കേരള സംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരവും, ഫിലിം ഫെയർ പുരസ്കാരവും, ക്രിട്ടിക്സ് അവാർഡും ലാലിന് നേടിക്കൊടുത്തു. 2009-ൽ പുറത്തിറങ്ങിയ [[ഭ്രമരം (ചലച്ചിത്രം)|ഭ്രമരം]] എന്ന ചിത്രം ധാരാളം ജനശ്രദ്ധ ആകർഷിക്കുകയും, വ്യാവസായികമായി വിജയിക്കുകയും ചെയ്ത ഒരു ചിത്രമായിരുന്നു. ബ്ലെസ്സി സംവിധാനം ചെയ്ത രണ്ടാമത്തെ മോഹൻലാൽ ചിത്രമായിരുന്നു ഇത്. ===മറ്റു ഭാഷകളിൽ=== 1997-ലാണ് മോഹൻലാൽ, [[മണിരത്നം]] സംവിധാനം ചെയ്ത ‘[[ഇരുവർ]]’ എന്ന തമിഴ് ചലച്ചിത്രത്തിൽ അഭിനയിക്കുന്നത്. [[ലോകസുന്ദരി|ലോകസുന്ദരി ആയിരുന്ന]] [[ഐശ്വര്യ റായ്]] ആയിരുന്നു ഈ ചിത്രത്തിലെ നായിക. ഈ ചിത്രത്തിൽ [[എം.ജി.ആർ|എം.ജി.ആറിന്റെ]] വേഷത്തിൽ അഭിനയിച്ചു. ഐശ്വര്യ റായുടെ ആദ്യ ചിത്രമായിരുന്നു ഇത്. ഇതിനു ശേഷമാണ് മോഹൻലാൽ മലയാള ഭാഷേതര ചിത്രങ്ങളിൽ ശ്രദ്ധേയനാകുന്നത്. [[ബോളിവുഡ്]] ചിത്രമായ ''[[കമ്പനി (ഹിന്ദി ചലച്ചിത്രം)|കമ്പനി]]'' എന്ന ചിത്രത്തിൽ 2002-ൽ അഭിനയിച്ചു.<ref>http://www.idlebrain.com/mumbai/reviews/mr-company.html</ref> ഈ ചിത്രത്തിലെ അഭിനയത്തിന് ഇന്റർനാഷനൽ ഇന്ത്യൻ ഫിലിം അക്കാഡമിയുടെ (IIFAA) നല്ല സഹ നടനുള്ള അവാർഡ് ലഭിച്ചു. 2007-ൽ പുറത്തിറങ്ങിയ മറ്റൊരു ഹിന്ദി ചിത്രമായ [[രാം ഗോപാൽ വർമ്മ|രാം ഗോപാൽ വർമ്മയുടെ]] [[ഷോലെ|ഷോലെയുടെ]] പുതിയ പതിപ്പായ [http://www.imdb.com/title/tt0473310/ രാം ഗോപാൽ വർമ്മാ കി ആഗിലെ] ഒരു പ്രധാന കഥാപാത്രമായി അഭിനയിച്ചതും മോഹൻ‌ലാലാണ്. എന്നാൽ ഈ ചിത്രം സാമ്പത്തികമായും നിരൂപകരുടെ ഇടയിലും പരാജയമായിരുന്നു. മോഹൻലാലും വിമർശിക്കപ്പെട്ടു. 2009-ൽ വിഖ്യാത നടൻ [[കമലഹാസൻ|കമലഹാസനോടൊപ്പം]] [[തമിഴ്|തമിഴിൽ]], ''ഉന്നൈ പോൽ ഒരുവൻ''‍ എന്ന ചിത്രത്തിലും ലാൽ അഭിനയിച്ചു. ഒരു ഹിന്ദി ചിത്രമായ ''എ വെനസ്ഡേ'' എന്ന ചിത്രത്തിന്റെ തമിഴ് പതിപ്പായിരുന്നു ഈ ചിത്രം. തമിഴിൽ മോഹൻലാൽ അഭിനയിച്ച കഥാപാത്രം [[ഹിന്ദി|ഹിന്ദിയിൽ]] [[അനുപം ഖേർ]] ആണ് അവതരിപ്പിച്ചത്. 2014-ൽ പുറത്തിറങ്ങിയ തമിഴ് ചലച്ചിത്രം [[ജില്ല (ചലച്ചിത്രം)|ജില്ല]]യിൽ [[വിജയ്]]ക്ക് ഒപ്പം നായക തുല്യമായ വേഷത്തിൽ അഭിനയിച്ചു.<ref>{{Cite web |url=http://ibnlive.in.com/news/mohanlalvijay-team-up-for-tamil-film-jilla-to-be-directed-by-nesan/377813-71-180.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2014-07-23 |archive-date=2013-03-15 |archive-url=https://web.archive.org/web/20130315121454/http://ibnlive.in.com/news/mohanlalvijay-team-up-for-tamil-film-jilla-to-be-directed-by-nesan/377813-71-180.html |url-status=dead }}</ref> == അഭിനയിച്ച ചിത്രങ്ങൾ == * {| class="wikitable sortable" |+മോഹൻലാൽ സിനിമകളുടെ പട്ടിക !വർഷം !ചലച്ചിത്രം !കഥാപാത്രം !കുറിപ്പുകൾ !<abbr>റഫ.</abbr> |- |1980 !''[[മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കൾ]]'' |നരേന്ദ്രൻ | | |- | rowspan="8" |1981 !''[[സഞ്ചാരി]]'' |ഡോ. ശേഖർ | | |- !''[[തകിലുകൊട്ടാമ്പുറം]]'' |അഡ്വക്കേറ്റ് പോൾ | | |- !''[[ധന്യ (മലയാളചലച്ചിത്രം)|ധന്യ]]'' |മോഹൻലാൽ | | |- !''[[ധ്രുവസംഗമം]]'' |ശങ്കരൻകുട്ടി | | |- !''[[അട്ടിമറി (ചലച്ചിത്രം)|അട്ടിമറി]]'' |ഷാൻ | | |- !''[[ഊതിക്കാച്ചിയ പൊന്ന്]]'' |നന്ദൻ | | |- !''[[തേനും വയമ്പും]]'' |വർമ്മ | | |- !''[[അഹിംസ (ചലച്ചിത്രം)|അഹിംസ]]'' |മോഹൻ | | |- | rowspan="14" |1982 ![[മദ്രാസിലെ മോൻ|''മദ്രാസിലെ'' ''മോൻ'']] |മോഹൻലാൽ | | |- !''[[ഫുട്ബോൾ (ചലച്ചിത്രം)|ഫുട്ബോൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[കേൾക്കാത്ത ശബ്ദം]]'' |ബാബു | | |- !''[[പടയോട്ടം]]'' |കണ്ണൻ | | |- !''[[എനിക്കും ഒരു ദിവസം|എനിയ്ക്കും ഒരു ദിവസം]]'' |ബാബു | | |- !''[[ആക്രോശം (ചലച്ചിത്രം)|ആക്രോശം]]'' |മോഹനചന്ദ്രൻ | | |- !''[[എന്തിനോ പൂക്കുന്ന പൂക്കൾ]]'' |സുരേന്ദ്രൻ | | |- !''[[സിന്ദൂരസന്ധ്യക്ക് മൗനം (ചലച്ചിത്രം)|സിന്ദൂര സന്ധ്യക്കു മൗനം]]'' |കിഷോർ | | |- !''[[എന്റെ മോഹങ്ങൾ പൂവണിഞ്ഞു]]'' |ജയൻ | | |- !''[[ഞാൻ ഒന്നു പറയട്ടെ|ഞാൻ ഒന്ന് പറയട്ടെ]]'' |ശേഖരൻകുട്ടി | | |- !''[[ആ ദിവസം]]'' |ബോസ് | | |- !''[[കാളിയ മർദ്ദനം|കാളിയമർദനം]]'' |ജോണി | | |- !''[[ശ്രീ അയ്യപ്പനും വാവരും]]'' |കടുത്ത |കാമിയോ | |- !''[[കുറുക്കന്റെ കല്യാണം]]'' |സൈനബയുടെ ഭർത്താവ് | | |- | rowspan="26" |1983 !''[[വിസ (ചലച്ചിത്രം)|വിസ]]'' |വെയിൽ | | |- !''[[ഹലോ മദ്രാസ് ഗേൾ]]'' |ലാൽ | | |- !''[[എന്റെ കഥ (ചലച്ചിത്രം)|എന്റെ കഥ]]'' |രമേശ് | | |- !''[[ഭൂകമ്പം (ചലച്ചിത്രം)|ഭൂകമ്പം]]'' |രഘു | | |- !''[[ഗുരുദക്ഷിണ]]'' |മന്ത്രി പ്രഭാകരൻ | | |- !''[[നസീമ]]'' |സൈതാലി | | |- !''[[കൊലകൊമ്പൻ (ചലച്ചിത്രം)|കൊലക്കൊമ്പൻ]]'' |ഗോപി | | |- !''[[കുയിലിനെ തേടി]]'' |തമ്പുരാൻ കുട്ടി | | |- !''[[ഹിമവാഹിനി]]'' |പാപ്പി | | |- !''[[അറബിക്കടൽ (ചലച്ചിത്രം)|അറബിക്കടൽ]]'' |രവി | | |- !''[[ശേഷം കാഴ്ചയിൽ]]'' |പോലീസ് ഇൻസ്പെക്ടർ | | |- !''[[മറക്കില്ലൊരിക്കലും|മറക്കില്ലോരിക്കലും]]'' |മുരളി | | |- !''[[സന്ധ്യയ്ക്കു വിരിഞ്ഞ പൂവ്|സന്ധ്യക്കു വിരിഞ്ഞ പൂവ്]]'' |രാമു | | |- !''[[താവളം (ചലച്ചിത്രം)|താവളം]]'' |രാജപ്പൻ | | |- !''[[ആധിപത്യം]]'' |മോഹൻ | | |- !''[[ചക്രവാളം ചുവന്നപ്പോൾ]]'' |സുരേഷ് | | |- !''[[എങ്ങനെ നീ മറക്കും]]'' |ശംബു | | |- !''[[ഇനിയെങ്കിലും]]'' |രവി | | |- !''[[ആട്ടക്കലാശം]]'' |സന്തോഷ് ബാബു | | |- !''[[കാറ്റത്തെ കിളിക്കൂട്]]'' |ഉണ്ണി കൃഷ്ണൻ | | |- !''[[അസ്ത്രം (ചലച്ചിത്രം)|അസ്ത്രം]]'' |ദാസ് | | |- !''[[ചങ്ങാത്തം]]'' |സെന്റ് ഡാനിയേൽ | | |- !''[[ഒരു മുഖം പല മുഖം]]'' |സുകുമാരൻ തമ്പി | | |- !''[[നാണയം (ചലച്ചിത്രം)|നാണയം]]'' |ബാബു | | |- !''[[എന്റെ മാമാട്ടുക്കുട്ടിയമ്മയ്ക്ക്|എന്റെ മാമാട്ടിക്കുട്ടിയമ്മക്ക്]]'' |അലക്സ് | | |- !''[[പിൻനിലാവ്]]'' |രഘു | | |- | rowspan="25" |1984 !''[[അക്കരെ]]'' |സുധാകരൻ | | |- !''[[ഒന്നാണു നമ്മൾ]]'' |നന്ദഗോപാൽ | | |- !''[[സ്വന്തമെവിടെ ബന്ധമെവിടെ]]'' |രാജേന്ദ്രൻ | | |- !''[[വനിതാപോലീസ് (ചലച്ചിത്രം)|വനിതാ പോലീസ്]]'' |അച്യുതൻ | | |- !''[[അപ്പുണ്ണി]]'' |മേനോൻ മാഷ് | | |- !''[[അതിരാത്രം (ചലച്ചിത്രം)|അതിരാത്രം]]'' |പ്രസാദ് | | |- !''[[ഉണരൂ]]'' |രാമു | | |- !''[[കളിയിൽ അൽപ്പം കാര്യം]]'' |വിനയൻ | | |- !''[[പൂച്ചയ്ക്കൊരു മൂക്കുത്തി|പൂച്ചക്കൊരു മൂക്കുത്തി]]'' |ഗോപാലകൃഷ്ണൻ | | |- !''[[പാവം പൂർണിമ]]'' |അണ്ണൻ തമ്പുരാൻ | | |- !''[[ലക്ഷ്മണരേഖ (ചലച്ചിത്രം)|ലക്ഷ്മണരേഖ]]'' |സുധാകരൻ നായർ | | |- !''[[ആൾക്കൂട്ടത്തിൽ തനിയെ]]'' |അനിൽ കുമാർ | | |- ! '' [[വേട്ട]] '' |ബാലൻ | | |- !''[[ഇവിടെ തുടങ്ങുന്നു]]'' |കൃഷ്ണകുമാർ | | |- !''[[കുരിശുയുദ്ധം (ചലച്ചിത്രം)|കുരിശുയുദ്ധം]]'' |ജോണി | | |- !''[[മനസ്സറിയാതെ|മനസറിയാതെ]]'' |മമ്മൂട്ടി | | |- !''[[തിരകൾ (ചലച്ചിത്രം)|തിരകൾ]]'' |ജെയിംസ് ജോർജ് | | |- !''[[കിളിക്കൊഞ്ചൽ]]'' |രതീഷ് | | |- !''[[ഇതാ ഇന്നു മുതൽ]]'' | |അതിഥി വേഷം | |- !''[[ശ്രീകൃഷ്ണപ്പരുന്ത് (ചലച്ചിത്രം)|ശ്രീകൃഷ്ണ പരുന്ത്]]'' |കുമാരൻ | | |- !''[[അടുത്തടുത്ത്‌ (ചലച്ചിത്രം)|അടുത്തടുത്ത്]]'' |വിഷ്ണു മോഹൻ | | |- !''[[അറിയാത്ത വീഥികൾ]]'' |ബാലൻ | | |- !''[[ഉയരങ്ങളിൽ]]'' |പി.കെ. ജയരാജൻ | | |- !''[[അടിയൊഴുക്കുകൾ]]'' |ഗോപി | | |- !''[[ഒരു കൊച്ചു സ്വപ്നം]]'' |ഗിൽബെർട്ട് | | |- | rowspan="25" |1985 !''[[അവിടത്തെപ്പോലെ ഇവിടെയും|അവിടത്തെ പോലെ ഇവിടെയും]] '' |സുകുമാരൻ | | |- !''[[നോക്കെത്താദൂരത്തു കണ്ണുംനട്ട്|നോക്കെത്താ ദൂരത്ത് കണ്ണും നാട്ട്]]'' |ശ്രീകുമാർ | | |- !''[[ഓമനിക്കാൻ ഓർമ്മിക്കാൻ]]'' |ദേവ കുമാർ | | |- !''[[അരം + അരം = കിന്നരം]]'' |നാരായണൻ കുട്ടി | | |- !''[[നായകൻ]]'' |കൃഷ്ണദാസ് | | |- !''[[ഞാൻ പിറന്ന നാട്ടിൽ]]'' |ഇൻസ്പെക്ടർ രാജശേഖരൻ | | |- !''[[ഒന്നാം കുന്നിൽ ഒരടി കുന്നിൽ]]'' |നിതിൻ | | |- !''[[അനുബന്ധം (ചലച്ചിത്രം)|അനുബന്ധം]]'' |ഭാസ്കരൻ | | |- !''[[മുളമൂട്ടിൽ അടിമ]]'' |അടിമാകന്നെ | | |- !''[[വസന്തസേന (ചലച്ചിത്രം)|വസന്തസേന]]'' |ദേവൻ | | |- !''[[ഗുരുജി ഒരു വാക്ക്]]'' |സുധാകരൻ നായർ | | |- !''[[പറയാനുംവയ്യ പറയാതിരിക്കാനുംവയ്യ|പറയാനും വയ്യ പറയാതിരിക്കാനും വയ്യ]] '' |കറന്റ് ഹംസ | | |- !''[[അങ്ങാടിക്കപ്പുറത്ത്]]'' |ബാബു | | |- !''[[കൂടും തേടി]]'' |പീറ്റർ | | |- !''[[ജീവൻ്റെ ജീവൻ]]'' |ജയൻ | | |- !''[[അദ്ധ്യായം ഒന്നു മുതൽ|അധ്യായം ഒന്ന് മുതൽ]]'' |വിഷ്ണു | | |- !''[[അഴിയാത്ത ബന്ധങ്ങൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[ബോയിംഗ് ബോയിംഗ്]]'' |ശ്യാം | | |- !''[[കരിമ്പൂവിനക്കരെ]]'' |ഭദ്രൻ | | |- !''[[ഉയരും ഞാൻ നാടാകെ]]'' |ദാരപ്പൻ | | |- !''[[ഇടനിലങ്ങൾ]]'' |ബാലൻ | | |- ![[പത്താമുദയം (ചലച്ചിത്രം)|പത്താമുദയം]] |ജയമോഹനും വിക്രമനും | | |- !''[[രംഗം (ചലച്ചിത്രം)|രംഗം]]'' |അപ്പുണ്ണി | | |- !''[[ഏഴു മുതൽ ഒൻപതു വരെ]]'' |ആനന്ദ് | | |- !''[[കണ്ടു കണ്ടറിഞ്ഞു]]'' |കൃഷ്ണൻ ഉണ്ണി | | |- | rowspan="34" |1986 !''[[നിന്നിഷ്ടം എന്നിഷ്ടം]]'' |ശ്രീകുമാർ |100-ാമത്തെ ചിത്രം | |- !''[[പപ്പൻ പ്രിയപ്പെട്ട പപ്പൻ]]'' |ഇൻസ്പെക്ടർ ദേവദാസ് | | |- !''[[ഒപ്പം ഒപ്പത്തിനൊപ്പം]]'' |കൃഷ്ണൻ കുട്ടി | | |- !''[[മഴ പെയ്യുന്നു മദ്ദളം കൊട്ടുന്നു]]'' |ശംബു | | |- !''[[പഞ്ചാഗ്നി]]'' |റഷീദ് | | |- !''[[കരിയിലക്കാറ്റുപോലെ|കരിയിലക്കാറ്റ് പോലെ]] '' |ഇൻസ്പെക്ടർ അച്യുതൻകുട്ടി | | |- !''[[അഭയംതേടി|അഭയം തേടി]]'' |അപ്പു | | |- !''[[വാർത്ത (ചലച്ചിത്രം)|വാർത്ത]]'' |പരോൾ വാസു | | |- !''[[ഗീതം (ചലച്ചിത്രം)|ഗീതം]]'' |ജഗദീഷ് നായർ | | |- !''[[ഹലോ മൈഡിയർ റോംഗ് നമ്പർ|ഹലോ മൈഡിയർ റോങ്ങ് നമ്പർ]]'' |വേണുഗോപാൽ | | |- !''[[നേരം പുലരുമ്പോൾ]]'' |ദൈവരഹിതം | | |- !''[[ഇനിയും കുരുക്ഷേത്രം]]'' |സുരേഷ് ബാബു | | |- !''[[കാവേരി (ചലച്ചിത്രം)|കാവേരി]]'' |ബാലചന്ദ്രൻ നായർ | | |- !''[[മിഴിനീർപൂവുകൾ|മിഴിനീർപ്പൂവുകൾ]]'' |റിച്ചാർഡ് | | |- !''[[പൂമുഖപ്പടിയിൽ നിന്നെയും കാത്ത്]]'' |പോളി | | |- !''[[നിമിഷങ്ങൾ]]'' |മുരളി | | |- !''[[ദൂരെ ദൂരെ ഒരു കൂടു കൂട്ടാം]]'' |ദിവാകരൻ | | |- !''[[യുവജനോത്സവം]]'' |ജയൻ | | |- !''[[ശോഭരാജ്]]'' |ശോഭരാജും ധർമ്മരാജും | | |- !''[[ഒന്ന് മുതൽ പൂജ്യം വരെ]]'' |ടെലിഫോൺ അങ്കിൾ | | |- !''[[എന്റെ എന്റേതുമാത്രം|എന്റെ എന്റെതു മാത്രം]]'' |മിസ്റ്റർ മേനോൻ | | |- !''[[പടയണി (ചലച്ചിത്രം)|പടയണി]]'' |രമേശ് | | |- !''[[മനസ്സിലൊരു മണിമുത്ത്|മനസ്സില്ലൊരു മണിമുത്ത്]]'' |മോഹൻ | | |- !''[[സന്മനസ്സുള്ളവർക്ക്‌ സമാധാനം|സന്മനസ്സുള്ളവർക്കു സമാധാനം]]'' |ഗോപാലകൃഷ്ണ പണിക്കർ | | |- !''[[അടിവേരുകൾ]]'' |ബാലകൃഷ്ണൻ |നിർമ്മാതാവും | |- !''[[ദേശാടനക്കിളി കരയാറില്ല]]'' |ഹരിശങ്കർ | | |- !''[[രേവതിക്കൊരു പാവക്കുട്ടി]]'' |ഡോ. മാധവൻകുട്ടി | | |- !''[[കുഞ്ഞാറ്റക്കിളികൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[ടി.പി. ബാലഗോപാലൻ എം.എ.|ടി.പി.ബാലഗോപാലൻ എം.എ.]]'' |ബാലഗോപാലൻ |മികച്ച നടനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര അവാർഡ് | |- !''[[ഗാന്ധിനഗർ 2nd സ്ടീറ്റ് (ചലച്ചിത്രം)|ഗാന്ധിനഗർ സെക്കന്റ് സ്ട്രീറ്റ്]]'' |സേതു / രാം സിംഗ് |നിർമ്മാതാവും | |- !''[[രാജാവിന്റെ മകൻ]]'' |വിൻസെന്റ് ഗോമസ് | | |- !''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ|നമുക്ക് പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' |സോളമൻ | | |- !''[[സുഖമോ ദേവി]]'' |വെയിൽ | | |- !''[[താളവട്ടം]]'' |വിനോദ് | | |- | rowspan="13" |1987 !''[[ജനുവരി ഒരു ഓർമ്മ]]'' |രാജു | | |- !''[[അമൃതം ഗമയ]]'' |ഡോ. പി.കെ. ഹരിദാസ് | | |- !''[[അടിമകൾ ഉടമകൾ]]'' |മോഹൻ ചെറിയാൻ | | |- !''[[സർവകലാശാല (ചലച്ചിത്രം)|സർവകലാശാല]]'' |ലാൽ | | |- !''[[ഇരുപതാം നൂറ്റാണ്ട് (ചലച്ചിത്രം)|ഇരുപതാം നൂറ്റാണ്ട്]]'' |സാഗർ അലിയാസ് ജാക്കി | | |- !''[[ഭൂമിയിലെ രാജാക്കന്മാർ]]'' |രാജ മഹീന്ദ്ര വർമ്മ | | |- !''[[ഉണ്ണികളെ ഒരു കഥ പറയാം|ഉണ്ണികളേ ഒരു കഥ പറയാം]]'' |അബി |നിർമ്മാതാവും | |- !''[[തൂവാനത്തുമ്പികൾ]]'' |മണ്ണാറത്തൊടി ജയകൃഷ്ണൻ | | |- !''[[കൈയെത്തും ദൂരത്ത്|കൈയേത്തും ദൂരത്ത്]]'' |വിനോദ് | | |- !''[[വഴിയോരക്കാഴ്ചകൾ]]'' |രാഘവൻ / ആന്റണി ഐസക് | | |- !''[[ചെപ്പ്]]'' |രാമചന്ദ്രൻ | | |- !''[[നാടോടിക്കാറ്റ്]]'' |ദാസൻ |നിർമ്മാതാവും | |- !''[[ഇവിടെ എല്ലാവർക്കും സുഖം]]'' |അപ്പു | | |- | rowspan="12" |1988 !''[[മുകുന്ദേട്ടാ സുമിത്ര വിളിക്കുന്നു]]'' |മുകുന്ദൻ കെ. കർത്ത | | |- !''[[ആയിത്തം ചലച്ചിത്രം|ആയിത്തം]]'' |ശങ്കരൻ | | |- !''[[മനു അങ്കിൾ]]'' | |അതിഥി വേഷം | |- !''[[ഓർക്കാപ്പുറത്ത്]]'' |ഫ്രെഡി നിക്കോളാസ് | | |- !''[[പാദമുദ്ര]]'' |മാത്തു പണ്ടാരവും സോപ്പ് കുട്ടപ്പനും | | |- !''[[പട്ടണപ്രവേശം]]'' |സിഐഡി രാംദാസ് / ദാസൻ | | |- !''[[അനുരാഗി]]'' |സാമു | | |- !''[[ആര്യൻ (ചലച്ചിത്രം)|ആര്യൻ]]'' |ദേവനാരായണൻ | | |- !''[[മൂന്നാംമുറ|മൂന്നാം മുറ]]'' |അലി ഇമ്രാൻ | | |- !''[[വെള്ളാനകളുടെ നാട്]]'' |സി.പവിത്രൻ "സി.പി" നായർ | | |- !''[[ഉത്സവപ്പിറ്റേന്ന്|ഉത്സവ പിറ്റേന്ന്]]'' |അനിയൻകുട്ടൻ | | |- !''[[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]]'' |വിഷ്ണു | | |- | rowspan="10" |1989 !''[[ലാൽ അമേരിക്കയിൽ]]'' |വിനോദ് | | |- !''[[ദൗത്യം]]'' |ക്യാപ്റ്റൻ റോയ് ജേക്കബ് തോമസ് | | |- !''[[സീസൺ]]'' |ജീവൻ | | |- !''[[വരവേൽപ്പ്]]'' |മുരളീധരൻ | | |- ! ''[[നാടുവാഴികൾ]]'' |അർജുൻ | | |- ! ''[[പെരുവണ്ണാപുരത്തെ വിശേഷങ്ങൾ]]'' |അച്യുതക്കുറുപ്പ് |കാമിയോ | |- !''[[കിരീടം (ചലച്ചിത്രം)|കീരീടം]]'' |സേതുമാധവൻ |ദേശീയ ചലച്ചിത്ര അവാർഡുകളിൽ പ്രത്യേക പരാമർശം | |- !''[[വന്ദനം]]'' |ഉണ്ണികൃഷ്ണൻ | | |- !''[[അധിപൻ]]'' |അഡ്വ. ശ്യാം പ്രകാശ് | | |- !''[[ദശരഥം]]'' |രാജീവ് മേനോൻ | | |- | rowspan="11" |1990 !''[[ഏയ് ഓട്ടോ]]'' |സുധി | | |- !''[[അക്കരെയക്കരെയക്കരെ|അക്കരെ അക്കരെ അക്കരെ]]'' |സിഐഡി രാംദാസ്/ദാസൻ | | |- !''[[നമ്പർ 20 മദ്രാസ് മെയിൽ]]'' |ടോണി കുരിശിങ്കൽ | | |- !''[[ഹിസ് ഹൈനസ്സ് അബ്ദുള്ള|ഹിസ് ഹൈനസ് അബ്ദുള്ള]]'' |അബ്ദുല്ല / ആനന്ദൻ നമ്പൂതിരി | | |- !''[[മുഖം (ചലച്ചിത്രം)|മുഖം]]'' |ഹരിപ്രസാദ് | | |- !''[[കടത്തനാടൻ അമ്പാടി]]'' |കടത്തനാടൻ അമ്പാടി | | |- !''[[താഴ്‌വാരം (ചലച്ചിത്രം)|താഴ്‌വാരം]]'' |ബാലൻ | | |- !''[[അർഹത (ചലച്ചിത്രം)|അർഹത]]'' |ദേവരാജ് | | |- !''[[ഇന്ദ്രജാലം (ചലച്ചിത്രം)|ഇന്ദ്രജാലം]]'' |കണ്ണൻ നായർ | | |- !''[[അപ്പു (ചലച്ചിത്രം)|അപ്പു]]'' |അപ്പു | | |- !''[[ലാൽസലാം (ചലച്ചിത്രം)|ലാൽ സലാം]]'' |നെട്ടൂർ സ്റ്റീഫൻ | | |- | rowspan="10" |1991 !''[[ധനം (ചലച്ചിത്രം)|ധനം]]'' |ശിവശങ്കരൻ | | |- !''[[ഗോപുര വാസലീലെ]]'' |അക്കോർഡിയനിസ്റ്റ് |തമിഴ് സിനിമ; "കേളടി എൻ പാവായേ" എന്ന ഗാനത്തിലെ പ്രത്യേക വേഷം. | |- !''[[ഭരതം]]'' |കല്ലൂർ ഗോപിനാഥൻ |മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം | |- !''[[വാസ്തുഹാരാ|വാസ്തുഹാര]]'' |വേണുഗോപാൽ | | |- !''[[വിഷ്ണുലോകം]]'' |ശങ്കു | | |- !''[[അങ്കിൾ ബൺ]]'' |ചാർളി ചാക്കോ | | |- !''[[കിലുക്കം]]'' |ജോജി | | |- !''[[ഉള്ളടക്കം]]'' |ഡോ. സണ്ണി | | |- !''[[കിഴക്കുണരും പക്ഷി]]'' |അനന്ത് മൂർത്തി | | |- !''[[അഭിമന്യു (ചലച്ചിത്രം)|അഭിമന്യു]]'' |ഹരികൃഷ്ണൻ | | |- | rowspan="9" |1992 !''[[സദയം]]'' |സത്യനാഥൻ | | |- !''[[കമലദളം]]'' |നന്ദഗോപൻ | | |- !''[[അഹം]]'' |സിദ്ധാർത്ഥൻ | | |- !''[[രാജശിൽ‌പി|രാജശിൽപി]]'' |ശംഭു | | |- !''[[യോദ്ധാ|യോദ്ധ]]'' |തൈപ്പറമ്പിൽ അശോകൻ | | |- !''[[അദ്വൈതം (ചലച്ചിത്രം)|അദ്വൈതം]]'' |ശിവപ്രസാദ് | | |- !''[[സൂര്യഗായത്രി]]'' |ഡോ. ബാലസുബ്രഹ്മണ്യം | | |- !''[[നാടോടി (ചലച്ചിത്രം)|നാടോടി]]'' |സച്ചിദാനന്ദൻ, ബാലകൃഷ്ണൻ ഭാഗവതർ | | |- !''[[വിയറ്റ്നാം കോളനി]]'' |ജി. കൃഷ്ണമൂർത്തി | | |- | rowspan="8" |1993 !''[[മിഥുനം]]'' |സേദുമാധവൻ | | |- !''[[ദേവാസുരം]]'' |മംഗലശ്ശേരി നീലകണ്ഠൻ |200-ാമത്തെ ചിത്രം | |- !''[[ബട്ടർഫ്ലൈസ്]]'' |രാജകുമാരൻ | | |- !''[[മായാമയൂരം]]'' |കൃഷ്ണൻ ഉണ്ണിയും നരേന്ദ്രനും | | |- !''[[ഗാന്ധർവ്വം]]'' |സാമുവൽ അലക്സാണ്ടർ | | |- !''[[ചെങ്കോൽ (ചലച്ചിത്രം)|ചെങ്കോൽ]]'' |സേതുമാധവൻ | | |- !''[[കളിപ്പാട്ടം (ചലച്ചിത്രം)|കളിപ്പാട്ടം]]'' |വേണു | | |- !''[[മണിച്ചിത്രത്താഴ് (ചലച്ചിത്രം)|മണിച്ചിത്രത്താഴ്]]'' |ഡോ. സണ്ണി ജോസഫ് | | |- | rowspan="6" |1994 !''[[പവിത്രം]]'' |ഉണ്ണികൃഷ്ണൻ | | |- !''[[തേന്മാവിൻ കൊമ്പത്ത്]]'' |മാണിക്യൻ | | |- !''[[പിൻഗാമി]]'' |ക്യാപ്റ്റൻ വിജയ് മേനോൻ | | |- !''[[ഗാണ്ഡീവം ചലച്ചിത്രം|ഗണ്ഡീവം]]'' |ക്യാപ്റ്റൻ |തെലുങ്ക് സിനിമ; "ഗൊരുവാങ്ക വലഗനേ" എന്ന ഗാനത്തിലെ പ്രത്യേക വേഷം. | |- !''[[പക്ഷേ]]'' |ബാലചന്ദ്രൻ | | |- !''[[മിന്നാരം (ചലച്ചിത്രം)|മിന്നാരം]]'' |ബോബി | | |- | rowspan="5" |1995 !''[[നിർണ്ണയം|നിർണയം]]'' |ഡോ. റോയ് അലക്സ് | | |- !''[[സ്ഫടികം (ചലച്ചിത്രം)|സ്ഫടികം]]'' |തോമസ് "ആടുതോമ" ചാക്കോ | | |- !''[[തച്ചോളി വർഗ്ഗീസ് ചേകവർ|തച്ചോളി വർഗീസ് ചേകവർ]]'' |തച്ചോളി വർഗീസ് ചേകവർ | | |- !''[[മാന്ത്രികം]]'' |സ്റ്റീഫൻ റൊണാൾഡ് / ആൽബി റോമിയോ ഹിഗ്വിറ്റ | | |- !''[[അഗ്നിദേവൻ ചലച്ചിത്രം|അഗ്നിദേവൻ]]'' |അനിയൻകുട്ടൻ / രവിവർമ്മ | | |- | rowspan="2" |1996 !''[[കാലാപാനി (ചലച്ചിത്രം)|കാലാപാനി]]'' |ഡോ. ഗോവർദ്ധൻ മേനോൻ | | |- !''[[ദി പ്രിൻസ് ചലച്ചിത്രം|ദി പ്രിൻസ്]]'' |ജീവ | | |- | rowspan="6" |1997 !''[[ഇരുവർ]]'' |ആനന്ദൻ |തമിഴ് സിനിമ | |- !''[[വർണ്ണപ്പകിട്ട്|വർണപകിട്ട്]]'' |സണ്ണി പാലമറ്റം | | |- !''[[ഒരു യാത്രാമൊഴി]]'' |ഗോവിന്ദൻകുട്ടി | | |- !''[[ചന്ദ്രലേഖ]]'' |അപ്പുക്കുട്ടൻ / ആൽഫി | | |- !''[[ഗുരു (ചലച്ചിത്രം)|ഗുരു]]'' |രഘുരാമൻ | | |- !''[[ആറാം തമ്പുരാൻ]]'' |ജഗന്നാഥൻ | | |- | rowspan="5" |1998 !''[[കന്മദം (ചലച്ചിത്രം)|കന്മദം]]'' |വിശ്വനാഥൻ | | |- !''[[ഹരികൃഷ്ണൻസ്]]'' |അഡ്വ. കൃഷ്ണൻ | | |- !''[[രക്തസാക്ഷികൾ സിന്ദാബാദ്]]'' |ശിവ സുബ്രഹ്മണ്യ അയ്യർ | | |- !''[[അയാൾ കഥയെഴുതുകയാണ്|അയാൾ കഥ എഴുതുകയാണ്]] '' |സാഗർ കോട്ടപ്പുറം / വിദ്യാസാഗർ | | |- !''[[സമ്മർ ഇൻ ബത്‌ലഹേം|സമ്മർ ഇൻ ബത്ലേഹം]]'' |നിരഞ്ജൻ |കാമിയോ | |- | rowspan="3" |1999 !''[[ഉസ്താദ് (ചലച്ചിത്രം)|ഉസ്താദ്]]'' |പരമേശ്വരൻ / ഉസ്താദ് | | |- !''[[ഒളിമ്പ്യൻ അന്തോണി ആദം|ഒളിമ്പിയൻ ആന്തോണി ആദം]]'' |എസ്പി ആൻ്റണി ചക്കുംമൂട്ടിൽ വർഗീസ് ഐപിഎസ് | | |- !''[[വാനപ്രസ്ഥം (ചലച്ചിത്രം)|വാനപ്രസ്ഥം]]'' |കുഞ്ഞിക്കുട്ടൻ |മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം | |- | rowspan="4" |2000 !''[[നരസിംഹം (ചലച്ചിത്രം)|നരസിംഹം]]'' |പൂവള്ളി ഇന്ദ്രചൂഡൻ | | |- !'' [[ലൈഫ് ഈസ് ബ്യൂട്ടിഫുൾ]]'' |വിനയ ചന്ദ്രൻ | | |- !''[[ശ്രദ്ധ (ചലച്ചിത്രം)|ശ്രദ്ധ]]'' |ഗംഗാപ്രസാദ് ഐ.പി.എസ്. | | |- !''[[ദേവദൂതൻ]]'' |വിശാൽ കൃഷ്ണമൂർത്തി | | |- | rowspan="5" |2001 !''[[കാക്കക്കുയിൽ]]'' |ശിവരാമൻ | | |- !''[[രാവണപ്രഭു]]'' |മംഗലശ്ശേരി നീലകണ്ഠനും കാർത്തികേയനും | | |- !''[[പ്രജ]]'' |സാക്കിർ അലി ഹുസൈൻ | | |- !''[[ഉന്നതങ്ങളിൽ]]'' |വിവേക് | rowspan="2" |കാമിയോ | |- !'' [[അച്ഛനെയാണെനിക്കിഷ്ടം]]'' |മഹാദേവൻ | |- | rowspan="4" |2002 !''[[കമ്പനി (ഹിന്ദി ചലച്ചിത്രം)|കമ്പനി]]'' |ഐജി വീരപ്പള്ളി ശ്രീനിവാസൻ ഐപിഎസ് |ഹിന്ദി സിനിമ | |- !''[[ഒന്നാമൻ (ചലച്ചിത്രം)|ഒന്നാമൻ]]'' |രവിശങ്കർ | | |- !''[[താണ്ഡവം (ചലച്ചിത്രം)|താണ്ഡവം]]'' |കാശിനാഥൻ | | |- !''[[ചതുരംഗം (ചലച്ചിത്രം)|ചതുരംഗം]]'' |ആറ്റിപ്രാക്കൽ ജിമ്മി ജേക്കബ് | | |- | rowspan="6" |2003 !''[[പോപ്പ് കോൺ ചലച്ചിത്രം|പോപ്പ് കോൺ]]'' |വിക്രമാദിത്യൻ |തമിഴ് സിനിമ | |- !''[[മിസ്റ്റർ ബ്രഹ്മചാരി]]'' |അനന്തൻ തമ്പി | | |- !''[[കിളിച്ചുണ്ടൻ മാമ്പഴം (ചലച്ചിത്രം)|കിളിച്ചുണ്ടൻ മാമ്പഴം]]'' |അബ്ദുൾ ഖാദർ | | |- !''[[ബാലേട്ടൻ]]'' |അത്താണിപ്പറമ്പിൽ ബാലചന്ദ്രൻ | | |- !''[[ഹരിഹരൻപിള്ള ഹാപ്പിയാണ്|ഹരിഹരൻ പിള്ള ഹാപ്പിയാണ്]]'' |ഹരിഹരൻ പിള്ള | | |- !''[[തിരനോട്ടം (2003 ചലച്ചിത്രം)|തിരനോട്ടം]]'' |കുട്ടപ്പൻ |വൈകിയ റിലീസ് | |- | rowspan="6" |2004 !''[[വാമനപുരം ബസ്‌റൂട്ട്|വാമനപുരം ബസ് റൂട്ട്]]'' |ലിവർ ജോണി | | |- !''[[വിസ്മയത്തുമ്പത്ത്|വിസ്മയതുമ്പത്ത്]]'' |ശ്രീകുമാർ | | |- !''[[സ്നേഹം (ചലച്ചിത്രം)|സ്നേഹം]]'' |മോഹൻ നായർ |കന്നഡ സിനിമ; അതിഥി വേഷം | |- !''[[വാണ്ടഡ് (മലയാള ചലച്ചിത്രം)|വാണ്ടഡ്]]'' |നാരായണ സ്വാമി ഐപിഎസ് | | |- !''[[നാട്ടുരാജാവ്]]'' |പുലിക്കാട്ടിൽ ചാർളി | | |- !''[[മാമ്പഴക്കാലം]]'' |പുരമനയിൽ ചന്ദ്രൻ | | |- | rowspan="5" |2005 !''[[ഉദയനാണ് താരം|ഉദയനാണു താരം]]'' |ഉദയഭാനു | | |- !''[[ചന്ദ്രോത്സവം (ചലച്ചിത്രം)|ചന്ദ്രോൽസവം]]'' |ചിറക്കൽ ശ്രീഹരി | | |- !''[[ഉടയോൻ]]'' |ശൂരനാട് പാപ്പോയി, ശൂരനാട് കുഞ്ഞ് | | |- !''[[നരൻ]]'' |മുള്ളൻകൊല്ലി വേലായുധൻ | | |- !''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' |രമേശൻ നായർ | | |- | rowspan="7" |2006 !''[[കിലുക്കം കിലുകിലുക്കം]]'' |ജോജി |കാമിയോ | |- !''[[രസതന്ത്രം (ചലച്ചിത്രം)|രസതന്ത്രം]]'' |പ്രേമചന്ദ്രൻ | | |- !''[[വടക്കുംനാഥൻ (ചലച്ചിത്രം)|വടക്കുംനാഥൻ]]'' |ഇരിങ്ങണ്ണൂർ ഭരത പിഷാരടി | | |- !''[[കീർത്തിചക്ര (ചലച്ചിത്രം)|കീർത്തി ചക്ര]]'' |മേജർ മഹാദേവൻ | | |- !''[[മഹാസമുദ്രം (ചലച്ചിത്രം)|മഹാസമുദ്രം]]'' |ഇസഹാക്ക് വേളാങ്കണ്ണി | | |- !''[[ഫോട്ടോഗ്രാഫർ (ചലച്ചിത്രം)|ഫോട്ടോഗ്രാഫർ]]'' |ഡിജോ ജോണും ജോയ് ജോണും | | |- !''[[ബാബ കല്യാണി (ചലച്ചിത്രം)|ബാബ കല്യാണി]]'' |ബാബ കല്യാണി ഐപിഎസ് | | |- | rowspan="7" |2007 !''[[ഛോട്ടാ മുംബൈ]]'' |വാസ്കോ "തല" | | |- !''[[ഹലോ]]'' |ശിവരാമൻ | | |- !''[[അലിഭായ്]]'' |അൻവർ അലി "അലി ഭായ്" | | |- !''[[രാം ഗോപാൽ വർമ്മ കി ആഗ്]]'' |ഇൻസ്പെക്ടർ നരസിംഹ |ഹിന്ദി സിനിമ | |- !''[[പരദേശി]]'' |വലിയകത്ത് മൂസ | | |- !''[[റോക്ക് ആൻഡ്‌ റോൾ (ചലച്ചിത്രം)|റോക്ക് ആൻഡ് റോൾ]]'' |ചന്ദ്രമൗലി | | |- !''[[ഫ്ലാഷ് ചലച്ചിത്രം|ഫ്ലാഷ്]]'' |ഡോ. മിഥുൻ മാധവ് | | |- | rowspan="9" |2008 !''[[ഹല്ലാ ബോൾ]]'' |അവൻ തന്നെ |ഹിന്ദി സിനിമ; അതിഥി വേഷം | |- !''[[കോളേജ് കുമാരൻ]]'' |ക്യാപ്റ്റൻ ശ്രീകുമാർ/ കാൻ്റീന് കുമാരൻ/ കോളേജ് കുമാരൻ | | |- !''[[ഇന്നത്തെ ചിന്താവിഷയം]]'' |ഗോപകുമാർ "ജി കെ" | | |- !''[[മിഴികൾ സാഷി|മിഴികൾ സാക്ഷി]]'' |പ്രൊഫസർ സയീദ് അഹമ്മദ് | | |- !''[[മാടമ്പി (ചലച്ചിത്രം)|മാടമ്പി]]'' |പുത്തൻപുരയ്ക്കൽ ഗോപാലകൃഷ്ണപിള്ള | | |- !''[[ആകാശഗോപുരം|ആകാശ ഗോപുരം]]'' |ആൽബർട്ട് സാംസൺ | | |- !''[[കുരുക്ഷേത്ര (ചലച്ചിത്രം)|കുരുക്ഷേത്ര]]'' |കേണൽ മഹാദേവൻ | | |- !''[[ട്വന്റി20 (ചലച്ചിത്രം)|ട്വൻറി 20]]'' |ദേവരാജ പ്രതാപ വർമ്മ | | |- !''[[പകൽ നക്ഷത്രങ്ങൾ]]'' |സിദ്ധാർത്ഥൻ | | |- | rowspan="7" |2009 ! [[റെഡ് ചില്ലീസ്|റെഡ് ചില്ലിസ്]] |ഒയ്യാരത്തു മടത്തിൽ രാമനാഥൻ | | |- !''സാഗർ അലിയാസ് ജാക്കി റീലോഡഡ്'' |സാഗർ അലിയാസ് ജാക്കി | | |- !''ഭഗവാൻ'' |ഡോ. ബാലഗോപാലൻ | | |- !''ഭ്രമരം'' |ശിവൻകുട്ടി | | |- !''ഉന്നൈപോൾ ഒരുവൻ'' |ഡിജിപി ഗോവിന്ദ രാഘവൻ മാരാർ ഐപിഎസ് |തമിഴ് സിനിമ | |- !''ഏഞ്ചൽ ജോൺ'' |ഏഞ്ചൽ ജോൺ | | |- !''ഇവിടം സ്വർഗമാണ് '' |മാത്യൂസ് ജെറമിയാസ് | | |- | rowspan="5" |2010 !''ജനകൻ'' |അഡ്വ. സൂര്യ നാരായണൻ | | |- !''അലക്സാണ്ടർ ദി ഗ്രേറ്റ്'' |അലക്സാണ്ടർ വർമ്മ | | |- !''ഒരു നാൾ വരും'' |കുളപ്പുള്ളി സുകുമാരൻ / ഡി വൈ എസ് പി നന്ദകുമാർ | | |- !''ശിക്കാർ'' |ബലരാമൻ | | |- !''കാണ്ഡഹാർ'' |മേജർ മഹാദേവൻ | | |- | rowspan="5" |2011 !''ക്രിസ്ത്യൻ ബ്രദേഴ്സ്'' |ഷെർസൺ എന്ന ക്രിസ്റ്റി വർഗീസ് മാപ്പിള | | |- !''ചൈന ടൗൺ'' |മാത്തുക്കുട്ടിയും സേവ്യറും | | |- !''പ്രണയം'' |മാത്യൂസ് | | |- !''സ്നേഹവീട്'' |അജയൻ മേനോൻ |300-ാമത്തെ ചിത്രം | |- !''അറബിയും ഒട്ടകവും പി.മാധവൻ നായരും'' ''ഒരു മരുഭൂമിക്കഥ'' |പി. മാധവൻ നായർ | | |- | rowspan="6" |2012 !''കാസനോവ'' |കാസനോവ | | |- !''ടെസ്'' |ശിവൻ മേനോൻ |ഹിന്ദി സിനിമ; കാമിയോ | |- !''ഗ്രാൻഡ്മാസ്റ്റർ'' |ഐജി ചന്ദ്രശേഖർ ഐപിഎസ് | | |- !''സ്പിരിറ്റ്'' |രഘു നന്ദൻ | | |- !''റൺ ബേബി റൺ'' |വേണു | | |- !''കർമ്മയോദ്ധ'' |ഡിസിപി മാധവ "മാഡ് മാഡി" മേനോൻ ഐപിഎസ് | | |- | rowspan="6" |2013 !''ലോക്പാൽ'' |നന്ദഗോപാൽ / ലോക്പാൽ | | |- !''റെഡ് വൈൻ'' |എസിപി രതീഷ് വാസുദേവൻ ഐപിഎസ് | | |- !''ലേഡീസ് & ജൻ്റിൽമെൻ'' |ചന്ദ്രബോസ് | | |- !''കടൽ കടന്ന് ഒരു മാത്തുക്കുട്ടി'' | |കാമിയോ വേഷം | |- !''ഗീതാഞ്ജലി'' |ഡോ. സണ്ണി ജോസഫ് | | |- !''[[ദൃശ്യം]]'' |ജോർജ്ജ്കുട്ടി | | |- | rowspan="4" |2014 !''[[ജില്ല (ചലച്ചിത്രം)|ജില്ല]]'' |ശിവൻ |തമിഴ് സിനിമ | |- !''മിസ്റ്റർ ഫ്രോഡ്'' |ഭായ് ജി / ജോൺ ക്ലിഫ് / ശിവറാം | | |- !''കൂതറ'' |ഉസ്താദ് സാലി | | |- !''പെരുച്ചാഴി'' |ജഗന്നാഥൻ | | |- | rowspan="6" |2015 !''രസം'' |അവൻ തന്നെ |അതിഥി വേഷം | |- !''മൈത്രി'' |മഹാദേവ് ഗോഡ്കെ |കന്നഡ സിനിമ; കാമിയോ; ''മൈ ഹീറോ മൈത്രി'' എന്ന പേരിൽ ഭാഗികമായി മലയാളത്തിൽ റീഷോട്ട് ചെയ്തു | |- !''എന്നും എപ്പൊഴും'' |വിനീത് എൻ. പിള്ള | | |- !''ലൈലാ ഓ ലൈലാ'' |ജയ് മോഹൻ | | |- !''ലോഹം'' |രാജീവ് "രാജു" സത്യമൂർത്തി | | |- !''കനൽ'' |ജോൺ ഡേവിഡ് | | |- | rowspan="4" |2016 !''മനമന്ത'' |സായി റാം |തെലുങ്ക് സിനിമ; ''വിസ്മയം'' എന്ന പേരിൽ ഭാഗികമായി മലയാളത്തിൽ റീഷോട്ട് ചെയ്തു | |- !''ജനതാ ഗാരേജ്'' |സത്യം |തെലുങ്ക് സിനിമ | |- !''ഒപ്പം'' |ജയരാമൻ | | |- !''പുലിമുരുകൻ'' |മുരുകൻ | | |- | rowspan="4" |2017 !''മുന്തിരിവള്ളികൾ തളിർക്കുമ്പോൾ'' |ഉലഹന്നാൻ "ഉണ്ണച്ചൻ" | | |- !''1971: ബിയോണ്ട് ബോർഡേഴ്സ്'' |കേണൽ മഹാദേവനും മേജർ സഹദേവനും | | |- !''വെളിപാടിന്റെ പുസ്തകം'' |മൈക്കൽ | | |- !''വില്ലൻ'' |എഡിജിപി മാത്യു മാഞ്ഞൂരാൻ ഐപിഎസ് | | |- | rowspan="5" |2018 !''ആദി'' |അവൻ തന്നെ |കാമിയോ വേഷം | |- !''നീരാളി'' |സണ്ണി ജോർജ് | | |- !''[[കായംകുളം കൊച്ചുണ്ണി (ചലച്ചിത്രം)|കായംകുളം കൊച്ചുണ്ണി]]'' |ഇത്തിക്കര പക്കി |എക്സ്റ്റൻഡഡ് കാമിയോ | |- !''[[ഡ്രാമ ചലച്ചിത്രം|ഡ്രാമ]]'' |രാജഗോപാൽ | | |- !''[[ഒടിയൻ (ചലച്ചിത്രം)|ഒടിയൻ]]'' |ഒടിയൻ മാണിക്യൻ | | |- | rowspan="3" |2019 !''[[ലൂസിഫർ (ചലച്ചിത്രം)|ലൂസിഫർ]]'' |സ്റ്റീഫൻ നെടുമ്പള്ളി / ഖുറേഷി അബ്‌റാം | | |- !''[[ഇട്ടിമാണി:മെയ്ഡ് ഇൻ ചൈന|ഇട്ടിമാണി മെയ്ഡ് ഇൻ ചൈന]]'' |ഇട്ടിമാണിയും ഇട്ടിമാതനും | | |- !''[[കാപ്പാൻ]]'' |പി.എം. ചന്ദ്രകാന്ത് വർമ്മ |തമിഴ് സിനിമ | |- |2020 !''[[ബിഗ് ബ്രദർ]]'' |സച്ചിദാനന്ദൻ | | |- | rowspan="2" |2021 !''[[ദൃശ്യം 2]]'' |ജോർജ്ജ്കുട്ടി | | |- !''[[മരക്കാർ അറബിക്കടലിന്റെ സിംഹം|മരക്കാർ: അറബിക്കടലിൻ്റെ സിംഹം]]'' |കുഞ്ഞാലി മരക്കാർ | | |- | rowspan="4" |2022 !''ബ്രോ ഡാഡി'' |ജോൺ ചാക്കോ കട്ടടി | | |- !''[[ആറാട്ട് (2022 ചലച്ചിത്രം)|ആറാട്ട്]]'' |ഗാനഭൂഷണം നെയ്യാറ്റിൻകര ഗോപൻ / കേണൽ സൂര്യചന്ദ്രലാൽ / ഏജൻ്റ് എക്സ് | | |- !''ട്വൽത്ത് മാൻ'' |ഡിവൈഎസ്പി ചന്ദ്രശേഖർ | | |- !''[[മോൺസ്റ്റർ]]'' |ലക്കി സിംഗ് / ശിവദേവ് സുബ്രഹ്മണ്യം ഐപിഎസ് | | |- | rowspan="3" |2023 !''[[എലോൺ (മലയാള ചലച്ചിത്രം)|എലോൺ]]'' |കാളിദാസ് | | |- !''[[ജയിലർ (ചലച്ചിത്രം)|ജയിലർ]]'' |മാത്യു |തമിഴ് സിനിമ; കാമിയോ | |- !''[[നേര് (സിനിമ)|നേര്]]'' |അഡ്വ. വിജയമോഹൻ | | |- | rowspan="2" |2024 !''[[മലൈക്കോട്ടൈ വാലിബൻ]]'' |മലൈക്കോട്ടൈ വാലിബൻ / മലൈക്കോട്ടൈ മലയൻ | | |- !''[[ബറോസ്|ബറോസ് 3D]]'' |ബാരോസ് |സംവിധായകൻ കൂടി | |- | rowspan="6" |2025 !''[[L2: എംപുരാൻ|L2: എമ്പുരാൻ]]'' |ഖുറേഷി അബ്രാം / സ്റ്റീഫൻ നെടുമ്പള്ളി | | |- !''[[തുടരും]]'' |ഷൺമുഖം "ബെൻസ്" | | |- !''[[കണ്ണപ്പ (ചലച്ചിത്രം)|കണ്ണപ്പ]]'' |കിരാത |തെലുങ്ക് സിനിമ; കാമിയോ | |- !''ഹൃദയപൂർവ്വം'' |സന്ദീപ് ബാലകൃഷ്ണൻ | | |- !''[[ഭ. ഭ. ബ|ഭാ. ഭാ. ബാ.]]'' |ഗില്ലി ബാല |വിപുലീകൃത അതിഥി വേഷം | |- !''വൃഷഭ'' |രാജാ വിജയേന്ദ്ര വൃഷഭ / ആദി ദേവ |തെലുങ്ക്-മലയാളം ദ്വിഭാഷാ ചിത്രം | |- | rowspan="3" |2026 !''[[പേട്രിയറ്റ്]]'' |കേണൽ. റഹീം നായിക് | | |- !''[[ദൃശ്യം 3|''ദൃശ്യം 3'']] |ജോർജ്ജ്കുട്ടി | | |- |''ഖലീഫ'' <abbr>†</abbr> |മമ്പറക്കൽ അഹമ്മദ് അലി |കാമിയോ വേഷം | |- |} * ==പ്രശസ്തി== താൻ കൈകാര്യം ചെയ്ത വേഷങ്ങൾ, ലളിതവും സ്വാഭാവികവുമായുള്ള അഭിനയ രീതി തുടങ്ങിയ ഘടകങ്ങളാണ്‌ 1980-കളിൽ മോഹൻലാലിനെ മലയാളികൾക്കിടയിൽ പ്രിയങ്കരനാക്കിയത്. ''ലാൽ'' അല്ലെങ്കിൽ ''ലാലേട്ടൻ'' എന്നായിരുന്നു മോഹൻലാൽ പൊതുവെ അറിയപ്പെട്ടിരുന്നത്. എന്നാൽ, 80-കളിലെ മോഹൻലാലിന്റെ ചിത്രങ്ങൾ പൊതുവെ ബഡ്ജറ്റിനകത്ത് നിൽക്കുന്ന ചിത്രങ്ങളായതു കൊണ്ടും, അവയുടെ തിരക്കഥ തികച്ചും മലയാളികൾക്കു മാത്രമായതിനാലും ഈ ചിത്രങ്ങൾ കേരളത്തിനു പുറത്ത് അധികം ശ്രദ്ധേയമായിരുന്നില്ല. പിന്നീട് 2000-നു ശേഷം, ചില മലയാളേതര ചിത്രങ്ങളിലെ അഭിനയവും കേരളത്തിനു പുറത്തെ മലയാളികളുടെ വളർച്ചയും അദ്ദേഹത്തെ [[തമിഴ്|തമിഴിലും]], [[ഹിന്ദി|ഹിന്ദിയിലും]] പ്രശസ്തനാക്കി. തന്റെ 30 വർഷത്തിലധികം നീണ്ട അഭിനയ ജീ‍വിതത്തിൽ മാറ്റങ്ങളെ ഉൾക്കൊണ്ടു അഭിനയിച്ചിട്ടുള്ള ഒരു നടനാണ് ലാൽ. പുതിയ നായക നടന്മാർ മലയാള ചലച്ചിത്ര രംഗത്ത് ഉയർന്നു വന്നെങ്കിലും ഒരു മലയാള ചലച്ചിത്രത്തിലെ സൂപ്പർസ്റ്റാർ എന്ന പദവി നില നിർത്താൻ ലാലിനു കഴിഞ്ഞു. എന്നാൽ നികുതി വെട്ടിപ്പ് നടത്തി രാജ്യത്തെയും ആരാധകരെയും വഞ്ചിച്ചു എന്ന വാർത്തകൾ പ്രചരിച്ചതോടെ ലാലിന്റെ ജനസമ്മതി കുറഞ്ഞു എന്ന് പറയുന്നവരും ഉണ്ട്. മലയാള സിനിമയിൽ ഏറ്റവും ഉയർന്ന പ്രതിഫലം ലഭിക്കുന്ന നടൻ കൂടിയാണ് മോഹൻലാൽ.<ref name=highest-paid-actor>[http://1.bp.blogspot.com/_zlh03mK1KGM/R4jQ-Bx2RnI/AAAAAAAAAR4/SQ2YTNOjKqE/s1600-h/superstars-2007_Page_1.jpg "Mohanlal the highest paid actor".].</ref> ==നാടക രംഗത്ത്== മറ്റ് ധാരാളം മലയാള നടീ നടന്മാരെപ്പോലെ ലാലിന് ഒരു [[നാടകം|നാടക]] അഭിനയ ചരിത്രമില്ല. പക്ഷേ, അദ്ദേഹം ചില സുപ്രധാന നാടകങ്ങളിൽ അഭിനയിച്ചിട്ടുണ്ട്. ലാൽ തന്റെ ആദ്യ നാടകത്തിൽ അഭിനയിച്ചത് ''കർണ്ണഭാരം'' എന്ന നാടകത്തിൽ [[മഹാഭാരതം|മഹാഭാരതത്തിലെ]] കഥാപാത്രമായ [[കർണ്ണൻ|കർണ്ണന്റെ]] വേഷത്തിലാണ്. [[മലയാളം|മലയാളത്തിലെ]] ആധുനിക നാടക വേദിയെ നവീകരിച്ച നാടകാചാര്യനായ [[കാവാലം നാരായണപണിക്കർ]] ആയിരുന്നു ഈ നാടകത്തിന്റെ സംവിധായകൻ. [[ന്യൂ ഡെൽഹി|ന്യൂ ഡെൽഹിയിൽ]] പ്രഥമ പ്രദർശനം നടത്തിയ ഈ നാടകം ദേശീയ നാടക ഉത്സവത്തിലും അവതരിപ്പിച്ചു. പിന്നീട് ചലച്ചിത്ര-നാടക സംവിധായകനായ [[ടി.കെ. രാജീവ് കുമാർ]]‍ സംവിധാനം ചെയ്ത ''കഥയാട്ടം'' എന്ന നാടക രൂപാന്തരത്തിലും അഭിനയിച്ചു.<ref name="jtpac.org"/> ഇതിൽ മലയാള സാഹിത്യത്തിലെ പത്ത് സുപ്രധാന കഥാപാത്രങ്ങളെയാണ് മോഹൻലാൽ അവതരിപ്പിച്ചത്. തുടർന്ന് ''ഛായാമുഖി'' എന്ന നാടകത്തിലും മോഹൻലാൽ അഭിനയിക്കുകയുണ്ടായി. മഹാഭാരതത്തിലെ തന്നെ കഥാപാത്രങ്ങളായ ഭീമന്റെയും, കീചകന്റെയും കഥയാണ് ഛായാമുഖി. ഇതിൽ ഭീമനായി, മോഹൻലാലും, കീചകനായി പ്രശസ്ത നടൻ [[മുകേഷ് (ചലച്ചിത്രനടൻ)|മുകേഷും]] വേഷമിട്ടു. ഈ നാടകം നിർ‍മ്മിച്ചത് മോഹൻലാലിന്റെയും മുകേഷിന്റെയും സൗഹൃദ സംരംഭമായ ''കാളിദാസ വിഷ്വൽ മാജിക്'' ആണ്.<ref name="jtpac.org"/>. ഛായാമുഖി എഴുതി, സംവിധാനം ചെയ്തത് പ്രശാന്ത് നാരായണൻ ആയിരുന്നു.<ref name="jtpac.org"/> ഛായാമുഖി നല്ല രീതിയിൽ അവതരിപ്പിക്കുന്നതിനു വേണ്ടി ഏകദേശം 60 ദിവസം മോഹൻലാലും, മുകേഷും അടങ്ങുന്ന സംഘം പരിശീലനം നടത്തുകയുണ്ടായി. ==കുടുംബം== അന്തരിച്ച [[തമിഴ്]] നടനും, നിർമ്മാതാവുമായ [[കെ. ബാലാജി|കെ. ബാലാജിയുടെ]] മകൾ സുചിത്രയെയാണ്‌ മോഹൻലാൽ വിവാഹം ചെയ്തിരിക്കുന്നത്. ഇവർക്ക് രണ്ടു മക്കളുണ്ട് : പ്രണവ്, വിസ്മയ. [[പ്രണവ്‌ മോഹൻലാൽ|പ്രണവ്]] ബാലതാരമായി ചലച്ചിത്രങ്ങളിൽ അഭിനയിച്ചിരുന്നു. മോഹൻലാൽ തന്നെ നായകനായി അഭിനയിച്ച ''ഒന്നാമൻ'' എന്ന ചിത്രത്തിൽ മോഹൻ‍ലാലിന്റെ ബാല്യകാലമാണ് ആദ്യമായി പ്രണവ് അഭിനയിച്ചത്. ''പുനർജ്ജനി'' എന്ന ചലച്ചിത്രത്തിലെ അഭിനയത്തിന്‌ സംസ്ഥാന സർക്കാറിന്റെ മികച്ച ബാലതാരത്തിനുള്ള അവാർഡ് പ്രണവിന് ലഭിച്ചിട്ടുണ്ട്. == നിർമ്മാണ രംഗത്ത് == ഒരു അഭിനേതാവ് എന്നതിനു പുറമേ മോഹൻലാൽ ഒരു ചലച്ചിത്ര നിർമ്മാതാവ് കൂടിയാണ്‌. ചലച്ചിത്ര താരങ്ങളായ [[സീമ]], [[മമ്മൂട്ടി]] എന്നിവർക്കൊപ്പം കാസിനോ എന്ന സിനിമാ നിർമ്മാണ കമ്പനിയിൽ അദ്ദേഹം പങ്കാളിയായിരുന്നു. പിന്നീടാണ് [[പ്രണവം ആർട്ട്സ്]] എന്ന പേരിൽ സ്വന്തമായി ചലച്ചിത്ര നിർമ്മാണക്കമ്പനി തുടങ്ങിയത്. പിന്നീട് ''ആശീർവാദ് സിനിമാസ്'' എന്ന പേരിൽ മോഹൻലാലിന്റെ സുഹൃത്തും, ബിസിനസ്സ് പങ്കാളിയുമായ [[ആന്റണി പെരുമ്പാവൂർ|ആന്റണി പെരുമ്പാവൂരുമായി]] പുതിയൊരു സംരംഭം തുടങ്ങി. തുടർന്ന് 2009-ൽ ''മക്സ്ലബ് എന്റർ‍ടൈൻമെന്റ്സ്'' എന്ന പേരിൽ ഒരു നിർമ്മാണ വിതരണ കമ്പനി ആരംഭിച്ചു. ഇതിൽ ആന്റണി പെരുമ്പാവൂരും, വ്യവസായിയായ കെ.സി. ബാബുവും, [[ഏഷ്യാനെറ്റ്]] ചാനലിന്റെ ചെയർമാനുമായ കെ. മാധവനുമാണ് പങ്കാളികൾ. മോഹൻലാലിന്റെ ചലച്ചിത്ര സംബന്ധിയായ മറ്റൊരു സ്ഥാപനമാണ്‌ [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] [[വിസ്മയ ഫിലിം സ്റ്റുഡിയോ]]. ===പ്രണവം ആർട്ട്സ്=== മോഹൻലാൽ സ്വന്തമായി ആരംഭിച്ച നിർമ്മാണ കമ്പനിയാണ് പ്രണവം ആർട്ട്സ്. മോഹൻലാൽ തന്നെ നായകനായി അഭിനയിച്ച ''ഹിസ് ഹൈനസ് അബ്ദുള്ള'' എന്ന ചലച്ചിത്രമാണ് പ്രണവം ആർട്ട്സിന്റെ നിർമ്മാണത്തിൽ ആദ്യം പുറത്തിറങ്ങിയത്. മോഹൻലാലിന്റെ മകനായ പ്രണവിന്റെ പേരിൽ തുടങ്ങിയ ഈ കമ്പനി ധാരാളം വ്യാവസായിക വിജയം കൈവരിച്ചതും, കലാമൂല്ല്യവുമുള്ളതുമായ ചിത്രങ്ങൾ നിർമ്മിച്ചു. നിർമ്മിച്ച എല്ലാ ചിത്രങ്ങളിലും നായകൻ മോഹൻലാൽ തന്നെയായിരുന്നു. വാനപ്രസ്ഥം എന്ന ചിത്രം നിർമ്മിച്ചതിനു ശേഷം പ്രണവം ആർട്ട്സ് കാണ്ഡഹാറിലൂടെ വീണ്ടും മടങ്ങി വന്നു. {| class="wikitable collapsible collapsed" width=100% |+ പ്രണവം ആർട്ട്സിന്റെ നിർമ്മാണത്തിൽ ഇറങ്ങിയ ചലച്ചിത്രങ്ങൾ ! ക്രമം !!ചലച്ചിത്രം !! സഹ അഭിനേതാക്കൾ!! സംവിധായകൻ !! കഥാപാത്രം !! പുരസ്കാരങ്ങളും, മറ്റും. |- | 1|| ഹിസ് ഹൈനസ് അബ്ദുള്ള || [[ഗൗതമി]], [[നെടുമുടി വേണു]] || [[സിബി മലയിൽ]] || അബ്ദുള്ള/അനന്ദൻ നമ്പൂതിരി || മികച്ച പിന്നണിഗായകനുള്ള ദേശീയപുരസ്കാരം - [[എം.ജി. ശ്രീകുമാർ]]<br>മികച്ച സഹനടനുള്ള ദേശീയപുരസ്കാരം - [[നെടുമുടി വേണു]] |- | 2|| ഭരതം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]], [[ലക്ഷ്മി]], [[നെടുമുടി വേണു]] || [[സിബി മലയിൽ]] || കല്ലിയൂർ ഗോപിനാഥൻ || മികച്ച നടനുള്ള ദേശീയപുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച പിന്നണിഗായകനുള്ള ദേശീയപുരസ്കാരം - [[യേശുദാസ്]]<br>ദേശീയപുരസ്കാരം (പ്രത്യേക ജൂറി പുരസ്കാരം), മികച്ച സംഗീതസംവിധായകനുൾല കേരളസംസ്ഥാന സർക്കാർ പുരസ്കാരം -[[രവീന്ദ്രൻ]]<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ മികച്ച രണ്ടാമത്തെ ചിത്രത്തിനുള്ള പുരസ്കാരം<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ മികച്ച നടിക്കുള്ള പുരസ്കാരം - [[ഉർവ്വശി (നടി)|ഉർവ്വശി]]<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ പ്രത്യേക ജൂറി പുരസ്കാരം - [[നെടുമുടി വേണു]] |- | 3|| കമലദളം || [[മോനിഷ ഉണ്ണി]], [[വിനീത് (ചലച്ചിത്രനടൻ)|വിനീത്]] || [[സിബി മലയിൽ]] || നന്ദഗോപാൽ |- | 4|| മിഥുനം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]] || [[പ്രിയദർശൻ]] || സേതുമാധവൻ || |- | 5|| പിൻഗാമി || [[കനക]] || [[സത്യൻ അന്തിക്കാട്]] || ക്യാപ്റ്റൻ വിജയ് മേനോൻ || |- | 6|| കാലാപാനി || [[തബു]] || [[പ്രിയദർശൻ]]|| ഡോ. ഗോവർദ്ധൻ/ഉണ്ണി ||മികച്ച ഛായാഗ്രാഹകനുള്ള ദേശീയപുരസ്കാരം, മികച്ച ഛായാഗ്രാഹകനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - [[സന്തോഷ് ശിവൻ]]<br>മികച്ച കലാസംവിധായകനുള്ള ദേശീയപുരസ്കാരം, മികച്ച കലാസംവിധായകനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - [[സാബു സിറിൾ]]<br>മികച്ച ശബ്ദലേഖകനുള്ള ദേശിയപുരസ്കാരം - ദീപൻ ചാറ്റർജി<br>മികച്ച സ്പെഷൽ എഫക്ട്സിനുള്ള ദേശീയപുരസ്കാരം - വെങ്കി<br>മികച്ച രണ്ടാമത്തെ ചലച്ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം<br>മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച സംഗീതസംവിധായകനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - [[ഇളയരാജ|Dr. ഇളയരാജ]]<br>മികച്ച പ്രൊസസ്സിംഗ് ലാബിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ജെമിനി കളർ ലാബ്<br>മികച്ച വസ്ത്രാലങ്കാരത്തിനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - സജിൻ രാഘവൻ |- | 7|| കന്മദം || [[മഞ്ജു വാര്യർ]] || [[ലോഹിതദാസ്]]|| വിശ്വനാഥൻ|| |- | 8|| ഹരികൃഷ്ണൻസ് || [[മമ്മൂട്ടി]], [[ജൂഹി ചാവ്ല]] || [[ഫാസിൽ]] || കൃഷണൻ|| |- | 9|| ഒളിമ്പ്യൻ അന്തോണി ആദം|| [[മീന]] || [[ഭദ്രൻ]] || വർഗീസ് ആന്റണി ഐ.പി.എസ്.|| |- | 10||[[വാനപ്രസ്ഥം]] || [[സുഹാസിനി]] || [[ഷാജി എൻ കരുൺ]]||കുഞ്ഞിക്കുട്ടൻ||മികച്ച ചിത്രത്തിനുള്ള ദേശീയപുരസ്കാരം<br>മികച്ച നടനുള്ള ദേശീയപുരസ്കാരം, മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം, മികച്ച നടനുള്ള ഫിലിംഫെയർ പുരസ്കാരം, ക്രിട്ടിക്സ് പുരസ്കാരം, മികച്ച നടനുള്ള [[മാതൃഭൂമി ദിനപത്രം|മാതൃഭൂമി]] പുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച എഡിറ്റിംഗിനുള്ള ദേശീയപുരസ്കാരം, മികച്ച എഡിറ്റിംഗിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - എ. ശ്രീകർ പ്രസാദ്, ജോസഫ് ഗ്യുൻവർച്ച്<br>മികച്ച സംവിധായകനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ഷാജി എൻ കരുൺ<br>മികച്ച ശബ്ദമിശ്രണത്തിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ലക്ഷ്മി നാരായണ, ബ്രൂണോ തരീരേ<br>മികച്ച പ്രൊസ്സസിംഗ് ലാബിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - പ്രസാദ് കളർ ലാബ്<br>മികച്ച മേയ്ക്കപ്പ് ആർട്ടിസ്റ്റിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - എം.ഒ. ദേവസ്യ, സലീം |- | 11||[[കാണ്ഡഹാർ (മലയാളചലച്ചിത്രം)|കാണ്ഡഹാർ]] || [[അമിതാഭ് ബച്ചൻ]] || [[മേജർ രവി]] || മേജർ മഹാദേവൻ ||മികച്ച ദേശീയോദ്ഗ്രഹന ചിത്രത്തിനുള്ള ഏഷ്യാനെറ്റിന്റെ പുരസ്കാരം |} ===ആശീർവാദ് സിനിമാസ്=== [[ചിത്രം:Aashirvad.jpg|thumb|200px|right|ആശീർവാദ് സിനിമാസിന്റെ ലോഗോ.]] മോഹൻലാൽ, തന്റെ ഡ്രൈവറും പിന്നീട് തന്റെ വ്യാവസായിക സംരംഭങ്ങളിൽ പങ്കാളിയുമായ ആന്റണി പെരുമ്പാവൂരുമായി ചേർന്ന് നിർമ്മിച്ച നിർമ്മാണ കമ്പനിയാണ് ആശീർവാദ് സിനിമാസ്. പട്ടണപ്രവേശം എന്ന ചിത്രത്തിന്റെ ചിത്രീകരണ സമയത്താണ് മോഹൻലാലിന്റെയും ആന്റണിയുടെയും സൗഹൃദം ആരംഭിക്കുന്നത്. കാലക്രമേണ ആന്റണി മോഹൻലാലിന്റെ ഉത്തമ സുഹൃത്താകുകയും, മോഹൻലാലിന്റെ ബിസിനസ്സ് സംരംഭങ്ങളിൽ പങ്കാളിയാവുകയും ചെയ്തു. ആശീർവാദ് സിനിമാസിന്റെ നിർമ്മാണത്തിൽ ആദ്യമായി പുറത്തിറങ്ങിയ ചിത്രമാണ് [[നരസിംഹം (മലയാളചലച്ചിത്രം)|നരസിംഹം]]. [[ഷാജി കൈലാസ്]] സംവിധാനം ചെയ്ത ഈ ചിത്രം വമ്പിച്ച സാമ്പത്തിക നേട്ടം കൈവരിക്കുകയും ചെയ്തു. തുടർന്നും ധാരാളം ചിത്രങ്ങൾ ആശീർവാദ് സിനിമാസിന്റെ ബാനറിൽ പിറന്നു. {{ചട്ടം|ആശീർവാദ് സിനിമാസിന്റെ നിർ‍മ്മാണത്തിൽ ഇറങ്ങിയ ചലച്ചിത്രങ്ങൾ}} {| class="wikitable" ! എണ്ണം !! ചലച്ചിത്രം !! സഹ അഭിനേതാക്കൾ!! സംവിധായകൻ !! കഥാപാത്രം !! പുരസ്കാരങ്ങളും, മറ്റും |- | 1 || നരസിംഹം || [[ഐശ്വര്യ]],[[തിലകൻ]], [[മമ്മൂട്ടി]] || [[ഷാജി കൈലാസ്]]|| മാറഞ്ചേരി ഇന്ദുചൂഢൻ||മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര അക്കാദമി പുരസ്കാരം - മോഹൻലാൽ<br>2005 വരെ ഉള്ളതിൽ വച്ച് ഏറ്റവും കൂടുതൽ സാമ്പത്തിക വിജയം കൈവരിച്ച ചിത്രം. |- | 2 || രാവണപ്രഭു || [[വസുന്ധര ദാസ്]] || [[രഞ്ജിത്]] || മംഗലശ്ശേരി നീലകണ്ഠൻ / എം എൻ കാർത്തികേയൻ || ദേവാസുരം എന്ന ചിത്രത്തിന്റെ രണ്ടാം ഭാഗമായിരുന്നു ഈ ചിത്രം, ഇരട്ട കഥാപാത്രങ്ങളാണ് മോഹൻ ലാൽ കൈകാര്യം ചെയ്തത്. |- | 3 || കിളിച്ചുണ്ടൻ മാമ്പഴം || [[സൗന്ദര്യ]] || [[പ്രിയദർശൻ]] || അബ്ദുൾ കാദർ / അബ്ദു|| |- | 4 || നാട്ടുരാജാവു് || [[മീന]], [[നയൻതാര]], [[കലാഭവൻ മണി]] || [[ഷാജി കൈലാസ്]]||പുലിക്കാട്ടിൽ ചാർളി|| |- | 5 || നരൻ || [[ഭാവന (അഭിനേത്രി)|ഭാവന]], [[ദേവയാനി]],[[സിദ്ധീഖ്]] || [[ജോഷി]]|| മുള്ളൻകൊല്ലി വേലായുധൻ || ക്രിട്ടിക്സ് അവാർഡ്, മികച്ച ജനപ്രീതിയുള്ള നടൻ - മോഹൻലാൽ<br>മികച്ച സൗണ്ട് റെക്കോഡിസ്റ്റിനുള്ള ഏഷ്യാനെറ്റ് ഫിലിം അവാർഡ് |- | 6 || രസതന്ത്രം || [[മീര ജാസ്മിൻ]] || [[സത്യൻ അന്തിക്കാട്]]||പ്രേമചന്ദ്രൻ||12 വർ‍ഷത്തിനു ശേഷം മോഹൻലാലും സത്യൻ അന്തിക്കാടും ഒന്നിച്ച ചിത്രം. |- | 7 || ബാബ കല്യാണി || [[മംത മോഹൻദാസ്]] || [[ഷാജി കൈലാസ്]]||ബാബ കല്യാണി ഐ പി എസ് |- | 8 || പരദേശി <ref>{{cite web|url=http://specials.rediff.com/movies/2007/oct/11sd1.htm |title=Mohanlal has come out with an amazing performance}}</ref>|| [[ശ്വേത മേനോൻ]], [[ജഗതി ശ്രീകുമാർ]] || പി.ടി. കുഞ്ഞിമുഹമ്മദ്||'''വലിയകത്ത് മൂസ'''|| മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം, ക്രിട്ടിക്സ് അവാർഡ്, മികച്ച നടനുള്ള ഫിലിംഫെയർ അവാർഡ്, കേരള ഫിലിം ഓഡിയൻസ് കൗൺസിൽ അവാർഡ്, മികച്ച നടനുള്ള ജയ്ഹിന്ദ് ടിവി അവാർഡ് - '''മോഹൻലാൽ'''<br>മികച്ച കഥക്കുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം - '''പി.ടി. കുഞ്ഞുമുഹമ്മദ്'''<br>മികച്ച ചമയത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം, മികച്ച ചമയത്തിനുള്ള ആദ്യത്തെ ദേശീയപുരസ്കാരം - '''പട്ടണം റഷീദ്''<br>മികച്ച ഡബ്ബിംഗ് ആർട്ടിസ്റ്റിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം - '''ഹഫ്സത്ത്, സീനത്ത്'''<br>കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പ്രത്യേക ജൂറി പുരസ്കാരം - '''[[ജഗതി ശ്രീകുമാർ]]''' |- | 9 || അലിഭായ് || [[ഗോപിക]] || [[ഷാജി കൈലാസ്]]|| ബരാമി അൻവർ അലി |- | 10 || ഇന്നത്തെ ചിന്താവിഷയം || [[മീര ജാസ്മിൻ]] || [[സത്യൻ അന്തിക്കാട്]] ||ഗോപകുമാർ || മികച്ച ജനപ്രീതി ലഭിച്ച ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം<br>മികച്ച രണ്ടാമത്തെ നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം, മികച്ച ഹാസ്യനടനുള്ള ജയ്ഹിന്ദ് ടിവി അവാർഡ് - [[മാമുക്കോയ]]'''<br> മികച്ച പിന്നണിഗായകനുള്ള ഏഷ്യാനെറ്റ് ഫിലിം അവാർഡും, വനിത ഫിലിം അവാർഡും - എം.ജി ശ്രീകുമാർ |- |11 || സാഗർ എലിയാസ് ജാക്കി റീലോഡഡ് || [[ഭാവന (അഭിനേത്രി)|ഭാവന]], [[ശോഭന]] || [[അമൽ നീരദ്]]||സാഗർ ഏലിയാസ് ജാക്കി|| [http://www.sagaraliasjackyreloaded.com Official Website] {{Webarchive|url=https://web.archive.org/web/20090130060942/http://sagaraliasjackyreloaded.com/ |date=2009-01-30 }}<ref>{{cite web|url=http://www.filimworld.com/newsdes.php?newsid=161|title=SAJ - 1000 housefull shows in 3 days|access-date=2009-09-15|archive-date=2009-04-05|archive-url=https://web.archive.org/web/20090405192712/http://www.filimworld.com/newsdes.php?newsid=161|url-status=dead}}</ref> |- |12|| ഇവിടം സ്വർഗ്ഗമാണ് || [[ലക്ഷ്മി റായ്]] || [[റോഷൻ ആൻഡ്രൂസ്]] || മാത്യൂസ് || മികച്ച ജനപ്രിയ ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം |- |13|| ചൈനാടൗൺ || ജയറാം, ദിലീപ് || റാഫി മെക്കാർട്ടിൻ || മാത്തുക്കുട്ടി || |- |14||[[ദൃശ്യം]] ||[[മീന]] || [[ജിത്തുജോസഫ്‌]] || ജോർജ് കുട്ടി ||ചിത്രം വിജയകരമായി 150 ദിവസം പിന്നിട്ടു റെക്കോർഡ്‌ കളക്ഷൻ കിട്ടി ഒരു പാട് പുരസ്കാരങ്ങൾ ദ്രിശ്യത്തിനു ലഭിച്ചു |} {{ചട്ടം-പാദഭാഗം}} === മാക്സ്‌ലാബ് സിനിമാസ് === [[ചിത്രം:Maxlab logo.jpg|thumb|150px|right|മാക്സ്‌ലാബിന്റെ ലോഗോ]] മോഹൻ ലാൽ, ആന്റണി പെരുമ്പാവൂർ, വ്യാവസായിയായ കെ.സി. ബാബു, [[ഏഷ്യാനെറ്റ്]] ചാനലിന്റെ ചെയർമാൻ കെ. മാധവൻ തുടങ്ങിയവരുടെ ഉടമസ്ഥതയിൽ 2009-ൽ പ്രവർത്തനമാരംഭിച്ച ചലച്ചിത്ര നിർമ്മാണ, വിതരണ കമ്പനിയാണ് മാക്സ്‌ലാബ് സിനിമാസ് ആൻഡ് എന്റർടൈന്മെന്റ്സ് (Maxlab Cinemas and Entertainments)<ref>{{web cite|url=http://www.google.co.in/url?sa=t&source=web&ct=res&cd=7&url=http%3A%2F%2Fentertainment.oneindia.in%2Fmalayalam%2Ftop-stories%2F2008%2Fmohanlal-film-distribution-130808.html&ei=ZFCySuqKN4PUlAfiqI2ADw&usg=AFQjCNHjb_kktX5l7JrhGddjw6OlpB2TQA&sig2=0WxLrb8MkV89YCFy0GKG6Q|title=Mohanlal's film distribution company}}</ref> ഈ കമ്പനിയുടെ വിതരണത്തിൽ ആദ്യമായി പുറത്തിറങ്ങിയ ചിത്രമാണ് ''സാഗർ ഏലിയാസ് ജാക്കി (Reloaded)''. [[എറണാകുളം|എറണാകുളത്താണ്]] ഈ കമ്പനിയുടെ ആസ്ഥാനം. {{ചട്ടം|മാക്സ്‌ലാബ് സിനിമാസിന്റെ വിതരണത്തിൽ പുറത്തിറങ്ങിയ ചലച്ചിത്രങ്ങൾ}} {| class="wikitable" ! നമ്പർ !!ചലച്ചിത്രം !! കഥാപാത്രങ്ങൾ!! സംവിധയകൻ !! കഥാപാത്രം !! കൂടുതൽ വിവരങ്ങൾ |- | 1 || സാഗർ ഏലിയാസ് ജാക്കി || മോഹൻലാൽ, [[ശോഭന]], [[ഭാവന]] || അമൽ നീരദ് || സാഗർ ഏലിയാസ് ജാക്കി || [http://www.sagaraliasjackyreloaded.com വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20090130060942/http://sagaraliasjackyreloaded.com/ |date=2009-01-30 }} |- | 2 || [[ഭ്രമരം (മലയാളചലച്ചിത്രം)|ഭ്രമരം]] || മോഹൻലാൽ, ഭൂമിക ചാവ്ല || [[ബ്ലെസ്സി]] || ശിവൻകുട്ടി || [http://www.thecompleteactor.com/bhramaram/index.html വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20090605160329/http://www.thecompleteactor.com/bhramaram/index.html |date=2009-06-05 }} |- | 3 || ഏയ്ഞ്ജൽ ജോൺ || മോഹൻലാൽ, ശാന്തനു ഭാഗ്യരാജ് || [[ജയസൂര്യ (ചലച്ചിത്രനടൻ)|ജയസൂര്യ]] || ജോൺ || [http://www.thecompleteactor.com/angeljohn/index.html വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20091009082905/http://www.thecompleteactor.com/angeljohn/index.html |date=2009-10-09 }} |- | 4 || ജനകൻ || മോഹൻലാൽ, [[സുരേഷ് ഗോപി]] || എൻ. ആർ. സഞ്ജീവ് || അഡ്വ. സൂര്യനാരായണൻ || | |- | 5 || [[മിസ്റ്റർ ഫ്രോഡ്]] || മോഹൻലാൽ, [[മിയജോർജ്]] || [[ബി.ഉണ്ണികൃഷ്ണൻ]] || മിസ്റ്റർ ഫ്രോഡ് || | |} {{ചട്ടം-പാദഭാഗം}} == ഗായകൻ എന്ന നിലയിൽ == ഒരു അഭിനേതാവ് എന്നതിലുപരി ഗായകൻ എന്ന നിലയിലും മോഹൻ ലാൽ തന്റെ കഴിവ് തെളിയിച്ചിട്ടുണ്ട്. മോഹൻ ലാൽ പാടി അഭിനയിക്കുകയും, പിന്നണി പാടുകയും ചെയ്ത ചില ചിത്രങ്ങളുടെ വിവരങ്ങൾ താഴെ കൊടുക്കുന്നു. {{ചട്ടം|മോഹൻലാൽ ആലപിച്ച ഗാനങ്ങൾ}} {| class="wikitable" width=100% ! എണ്ണം !!ചലച്ചിത്രം !! അഭിനയിച്ചവർ !! സംവിധായകൻ !! കഥാപാത്രം !! ഗാനം |- | 1 || ഓണപ്പാട്ട് || || || || പൂക്കച്ച മഞ്ഞക്കച്ച |- | 2||ഒന്നാനാം കുന്നിൽ ഓരടിക്കുന്നിൽ || ||[[പ്രിയദർശൻ]]|| നിതിൻ || സിന്ദൂര മേഘം |- | 3|| കണ്ടു കണ്ടറിഞ്ഞു || [[മമ്മൂട്ടി]] ||സാജൻ||കൃഷണനുണ്ണി || നീയറിഞ്ഞോ മേലേമാനത്ത് |- | 4|| പടയണി || [[മമ്മൂട്ടി]] || ടി. എസ്. മോഹൻ || രമേഷ് || ഹൃദയം ഒരു വല്ലകി (Bit) |- | 5||[[ചിത്രം]] || രഞ്ജിനി || [[പ്രിയദർശൻ]] || വിഷ്ണു || കാടുമീ നാടുമെല്ലാം & ഏയ് മൂന്ന് |- | 6|| ഏയ് ഓട്ടോ || രേഖ ||[[വേണു നാഗവള്ളി]] || സുധി || മയ് നേം ഈസ് സുധീ |- | 7|| വിഷ്ണുലോകം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]] ||[[കമൽ]] || വിഷ്ണു || ആവാരാ ഹൂം |- | 8|| കളിപ്പാട്ടം || ഉർവ്വശി (നടി)|ഉർവ്വശി || വേണു നാഗവള്ളി || വേണു || വരവീണ മൃദുവാണി |- | 9|| [[സ്ഫടികം (മലയാളചലച്ചിത്രം)|സ്ഫടികം]] || ഉർവ്വശി (നടി)|ഉർവ്വശി, [[സിൽക്ക് സ്മിത]] || [[ഭദ്രൻ]] || ആട് തോമ/തോമസ് ചാക്കോ || ഏഴിമല & പരുമല ചെരുവിലെ |- | 10|| ഒളിമ്പ്യൻ അന്തോണി ആദം || മീന || ഭദ്രൻ || ആന്തോണി/ഒളിമ്പ്യൻ|| പെപ്പര പെര പെര |- | 11|| കണ്ണെഴുതി പൊട്ടും തൊട്ട് || അബ്ബാസ്, [[മഞ്ജു വാര്യർ]] || [[ടി.കെ. രാജീവ് കുമാർ]] || പിന്നണിഗായകൻ || കൈതപ്പൂവിൻ |- | 12|| ഉസ്താദ് || [[ദിവ്യ ഉണ്ണി]] || [[സിബി മലയിൽ]] || പരമേശ്വരൻ|| തീർച്ചയില്ലാ ജനം |- | 13|| ഓർമ്മക്കായ് (ആൽബം) || [[രംഭ]] || ഈസ്റ്റ് കോസ്റ്റ് വിജയൻ|| കാമുകൻ || മാനത്തെ അമ്പിളി |- | 14||[[രാവണപ്രഭു]]|| [[വസുന്ധര ദാസ്]] || [[രഞ്ജിത്ത്]] || എം. എൻ. കാർത്തികേയൻ || തകില് പുകല് |- | 15|| [[ബാലേട്ടൻ (മലയാളചലച്ചിത്രം)|ബാലേട്ടൻ]] || [[ജഗതി ശ്രീകുമാർ]] || [[വി.എം. വിനു]] ||അത്താണിപ്പറമ്പിൽ ബാലചന്ദ്രൻ|| കറു കറു കറുത്തൊരു |- | 16|| വാമനപുരം ബസ് റൂട്ട് || [[ലക്ഷ്മി ഗോപാലസ്വാമി]] || സോനു ശിശുപാൽ || ലിവർ ജോണി || |- | 17 || [[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]] || മീര വാസുദേവ് || [[ബ്ലെസ്സി]]||രമേശൻ നായർ || ഇതളൂർന്ന് വീണ |- | 18 || [[മാടമ്പി (ചലച്ചിത്രം)|മാടമ്പി]] || [[കാവ്യ മാധവൻ]] || ബി ഉണ്ണികൃഷ്ണൻ ||പുത്തൻപുരയ്ക്കൽ‍ ഗോപാലകൃഷ്ണ പിള്ള || Song: ജീവിതം ഒരു & ഗണേശ ശരണം |- | 19 || എന്റെ കന്നിമല (അയ്യപ്പ ഭക്തിഗാനം) || || സംഗീതം: വിദ്യാധരൻ മാസ്റ്റർ || പിന്നണിഗായകൻ || ശബരിമലതിരുമുടിയിൽ |- | 20 || [[ഭ്രമരം (മലയാളചലച്ചിത്രം)|ഭ്രമരം]] || [[ഭൂമിക ചാവ്ല]] || [[ബ്ലെസ്സി]] || ശിവൻകുട്ടി || അണ്ണാറക്കണ്ണാ വാ |- | 21 || [[ഒരു നാൾ വരും]] || സമീറ റെഡ്ഡി || ടി. കെ. രാജീവ് കുമാർ || നന്ദകുമാർ || നാത്തൂനേ നാത്തൂനേ |- | 22 || [[റൺ ബേബി റൺ]] || [[അമല പോൾ]] || [[ജോഷി]] || വേണു || ആറ്റുമണൽ പായയിൽ |- | 23 || [[നീരാളി_(സിനിമ)|നീരാളി]] || [[നദിയ മൊയ്തു]] || [[അജോയ് വർമ്മ]] || || അഴകെ അഴകേ |} {{ചട്ടം-പാദഭാഗം}} == മാന്ത്രികൻ എന്ന നിലയിൽ == മോഹൻലാൽ, പ്രശസ്ത മാന്ത്രികനായ [[ഗോപിനാഥ് മുതുകാട്]] എക്സിക്യൂട്ടീവ് ഡയറക്ടറായിട്ടുള്ള മാജിക് അക്കാദമിയിൽ ഏകദേശം ഒരു വർഷം മാജിക് അഭ്യസിച്ചിട്ടുണ്ട്.<ref>{{Cite web |url=http://www.hindu.com/2008/04/12/stories/2008041250290200.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2010-08-08 |archive-date=2008-06-17 |archive-url=https://web.archive.org/web/20080617184202/http://www.hindu.com/2008/04/12/stories/2008041250290200.htm |url-status=dead }}</ref> 2008, ഏപ്രിൽ 27-ന് [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] ചന്ദ്രശേഖരൻ നായർ സ്റ്റേഡിയത്തിൽ വച്ചുണ്ടായ ഇന്റർനാഷ്ണൽ മാജിക് ഫെസ്റ്റിവലിൽ മോഹൻലാലിന്റെ ''ബേണിംഗ് ഇല്ല്യൂഷൻ'' എന്ന മാന്ത്രിക പ്രകടനം നടത്താനിരുന്നതാണ്. പക്ഷെ ഇതിനെ തുടർന്നുണ്ടായ വിവാദങ്ങളും മറ്റും ലാലിനെ ഇതിൽ നിന്ന് പിൻതിരിപ്പിച്ചു. ഈ പ്രകടനത്തിനു വേണ്ടി ലാൽ മുതുകാടിന്റെ കീഴിൽ 18 മാസത്തോളം അഭ്യസിക്കുകയുണ്ടായി. ഈ പ്രകടനം വളരെ സാഹസികവും അപകടവും നിറഞ്ഞതാണെന്നുള്ളതും, പരിശീലകനായ മുതുകാടിനു തന്നെ ഒരിക്കൽ ബഹറിനിൽ വെച്ച് നടത്തിയ ഈ പ്രകടനം പരാജയമായിരുന്നുവെന്നുള്ള മജീഷ്യൻ സമ്രാട്ടിന്റെ പരാമർശവും<ref>{{Cite web |url=http://ibnlive.in.com/news/mohanlal-plans-daredevil-stunt-magicians-frown/63706-8.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-09-15 |archive-date=2012-12-02 |archive-url=https://web.archive.org/web/20121202044743/http://ibnlive.in.com/news/mohanlal-plans-daredevil-stunt-magicians-frown/63706-8.html |url-status=dead }}</ref> തുടർന്ന് ചലച്ചിത്ര താരങ്ങളുടെ സംഘടനയായ അമ്മയുടെ ഇടപെടലും മൂലം ബേണിംഗ് ഇല്ല്യൂഷൻ ഉപേക്ഷിക്കുകയായിരുന്നു. ==ആരാധക സംഘം== മോഹൻലാലിന്റെ അനുമതിയോടു കൂടിയുള്ള ഇദ്ദേഹത്തിന്റെ ആരാധക സംഘമാണ് ''ഓൾ കേരള മോഹൻലാൽ ഫാൻസ് & കൾചറൽ വെല്ഫെയർ അസോസിയേഷൻ'' (All Kerala Mohanlal Fans & Cultural Welfare Association). ഈ അസോസിയേഷൻ ആരംഭിച്ച് ഏതാണ്ട് 1998 വരെ ലാലിന്റെ അനുമതി ലഭിച്ചിരുന്നില്ല. ഹരികൃഷ്ണൻസ് എന്ന ചല‍ച്ചിത്രത്തിൽ‍ ലാൽ അഭിനയിച്ചു കൊണ്ടിരിക്കുന്ന കാലത്താണ് ഈ അസോസിയേഷന് ലാലിന്റെ അനുമതി ലഭിച്ചത്.{{അവലംബം}} പിന്നീടാണ് പരിഷ്ക്കരിച്ച് ഓൾ കേരള മോഹൻലാൽ ഫാൻസ് & കൾചറൽ വെൽഫെയർ അസോസിയേഷൻ (AKMFCWA) എന്ന പേർ നൽകിയത്.<ref>{{Cite web |url=http://www.keralahomepages.com/mohanlal-fans-association/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-10-13 |archive-date=2009-03-03 |archive-url=https://web.archive.org/web/20090303175555/http://www.keralahomepages.com/mohanlal-fans-association/ |url-status=dead }}</ref> [[തിരുവനന്തപുരം]], [[കൊല്ലം]], [[കോട്ടയം]], [[എറണാകുളം]], [[പാലക്കാട്]], [[തൃശ്ശൂർ]] എന്നീ ജില്ലകൾ കേന്ദ്രീകരിച്ചാണ് ഈ സംഘടനയുടെ പ്രവർത്തനങ്ങൾ കൂടുതലായും നടക്കുന്നത്. ==വിവാദങ്ങൾ== [[File:Mohanlal 9.jpg|thumb|2018 ൽ തിരുവനന്തപുരത്തുവച്ച് നടന്ന [[കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം 2017|കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാര വിതരണ വേദിയിൽ]] മോഹൻലാൽ]] മോഹൻലാൽ, ഒരു മദ്യ ബ്രാൻഡിന്റെ പരോക്ഷ പ്രചരണത്തിനായി ഒരു ടെലിവിഷൻ പരസ്യത്തിൽ അഭിനയിക്കുകയുണ്ടായി. ഈ പരസ്യവും, പരസ്യത്തിൽ ഉപയോഗിച്ച ''''വൈകീട്ടെന്താ പരിപാടി'''' എന്ന വാചകവുമാണ് പിന്നീട് വിവാദത്തിൽ മുങ്ങിയത്. ആദ്യം വിവാദവുമായി രംഗത്തെത്തിയത് ഗാന്ധി സേവാ സമിതിയാണ്. മദ്യത്തിനെതിരായി ധാരാളം പേർ പ്രവർത്തിക്കുന്ന [[കേരളം|കേരളത്തിൽ]], മോഹൻലാലിനെ പോലൊരു വ്യക്തി മദ്യത്തെ പ്രോത്സാഹിപ്പിക്കുന്ന തരത്തിലുള്ള പരസ്യങ്ങളിൽ പ്രത്യക്ഷപ്പെടുന്നത് തെറ്റാണെന്ന് ഇവർ വാദിച്ചു. പക്ഷേ രാജ്യത്ത് ധാരാളം നടീനടന്മാർ ഇത്തരം പരസ്യങ്ങളിൽ അഭിനയിക്കുമ്പോൾ എനിക്കെതിരേ മാത്രം തിരിയുന്നത് ശരിയല്ലെന്നായിരുന്നു ലാലിന്റെ വാദം.<ref>http://www.bharatwaves.com/news/Mohanlal-Promotes-Whiskey-4877.html</ref> രണ്ടായിരത്തിപ്പത്തിൽ [[അമ്മ (താരസംഘടന)|''അമ്മ''യും]] [[തിലകൻ|തിലകനും]] ആയി ഉണ്ടായ തർക്കത്തിന്റെ ഭാഗമായി [[സുകുമാർ അഴിക്കോട്|സുകുമാർ അഴീക്കോടും]] മോഹൻലാലുമായി വാഗ്‌യുദ്ധം തന്നെയുണ്ടായി. പ്രായമായിട്ടും മറ്റുള്ളവർക്ക് വേണ്ടി ഒഴിഞ്ഞു നൽകുന്നില്ല എന്നതായിരുന്നു അഴീക്കോടിന്റെ പ്രധാന വാദം<ref>{{cite news|title=Mohanlal-Azhikode spat takes listless Mollywood to new low|url=http://economictimes.indiatimes.com/news/news-by-industry/media/entertainment-/entertainment/mohanlal-azhikode-spat-takes-listless-mollywood-to-new-low/articleshow/5612392.cms|accessdate=2011 ഫെബ്രുവരി 17|date=2010 ഫെബ്രുവരി 24}}</ref>. ജ്യേഷ്ഠസഹോദരന്റെ സ്വത്ത് മോഹൻലാൽ തട്ടിയെടുത്തു, ലഫ്റ്റനന്റ് കേണൽ പദവി മോഹൻലാൽ ദുരുപയോഗം ചെയ്തു എന്നൊക്കെയും അഴീക്കോട് ആരോപിച്ചിരുന്നു. മറുപടിയിൽ അഴീക്കോടിനെ മോഹൻലാൽ പ്രായമായ അമ്മാവൻ എന്നു വിളിച്ചതും ചർച്ചയായിരുന്നു. =='ലാലിസം' == മോഹൻലാൽ അഭിനയിച്ച നാൽപ്പതോളം ചിത്രങ്ങളിലെ ഗാനങ്ങൾ ഉൾപ്പെടുത്തിയ ബാൻഡിന്റെ പേരാണ് 'ലാലിസം'. ലാലിന്റെ 36 വർഷത്തെ അഭിനയ ജീവിതത്തിലൂടെയുള്ള സംഗീത യാത്രയായ ലാലിസത്തിന്റെ പ്രൊമോഷണൽ ഗാന ട്രെയിലർ നവംബറിൽ യു ട്യൂബ് വഴി പുറത്തിറക്കി. പ്രമുഖ സംവിധായകൻ പ്രിയദർശനാണ് പ്രോമോ സോംഗിന്റെ ദൃശ്യാവിഷ്‌കാരം നിർവഹിച്ചിരിക്കുന്നത്. ടൈറ്റിൽ ലാലിസം ഇന്ത്യാ സിഗിംഗ് എന്നാണ്. രതീഷ് വേഗയാണ് ഇതിന്റെ സംഗീത സംവിധായകൻ. ഇന്ത്യയിലെ എല്ലാ ഭാഷകളിൽ നിന്നുമുള്ള പ്രശസ്തമായ പാട്ടുകൾ കൂടി ഇതിൽ ഉൾപ്പെടുത്തിയിരുന്നു. ഹരിഹരൻ, ഉദിത് നാരായണൻ, അൽക്കാ അജിത്, കാർത്തി, എം.ജി. ശ്രീകുമാർ, സുജാത എന്നിവർക്കൊപ്പം ലാലും ഈ സംഗീത നിശയിൽ പാടിയിരുന്നു. 2015 ലെ ദേശീയ ഗെയിംസിന്റെ ഉദ്ഘാടനത്തോട് അനുബന്ധിച്ച് 'ലാലിസം' എന്ന പരിപാടി നടത്തിയത് വലിയ വിവാദത്തിനിടയാക്കി. പ്രതീക്ഷിച്ച നിലവാരത്തിൽ എത്താത്ത പരിപാടി സോഷ്യൽ മീഡിയയിലും ദൃശ്യ മാധ്യമങ്ങളിലും കണക്കറ്റ പരിഹാസം ഏറ്റുവാങ്ങി. പരിപാടിക്ക് വാങ്ങിയ തുകയുടെ വലിപ്പവും വിമർശന വിധേയമായി. അതോടെ രണ്ടു ദിവസം പ്രതികരിക്കാതിരുന്ന മോഹൻലാൽ ബാൻഡ് പിരിച്ചു വിടുന്നതായും പണം തിരിച്ചേൽപ്പിക്കുന്നതിനു തയ്യാറാണെന്നും സർക്കാരിനെ ഇ-മെയിൽ സന്ദേശത്തിൽ അറിയിച്ചു. പരിപാടിക്കായി മോഹൻലാൽ വാങ്ങിയ തുക അദ്ദേഹം സ്പീഡ് പോസ്റ്റ് വഴി തരിച്ചയച്ചു. 1.63 കോടി രൂപയുടെ ചെക്കാണ് ലാൽ തിരിച്ചയച്ചത്. പക്ഷെ മോഹൻലാൽ വാങ്ങിയ തുക അദ്ദേഹത്തിൽ നിന്ന് തിരിച്ചു വാങ്ങേണ്ടതില്ലെന്ന് മന്ത്രിസഭാ യോഗത്തിൽ തീരുമാനിച്ചു.<ref>{{cite web|title=മോഹൻലാൽ പണം തിരിച്ചയച്ചു; വാങ്ങില്ലെന്ന് മുഖ്യമന്ത്രി|url=http://www.mathrubhumi.com/story.php?id=520369|publisher=www.mathrubhumi.com|accessdate=2015 ഫെബ്രുവരി 4}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> എന്നാൽ ലാൽ വഴങ്ങാത്തതിനെ തുടർന്ന് തുക പൊതു നന്മക്കു ഉപയോഗിക്കാൻ തീരുമാനിച്ചു. ==വ്യവസായ സംരംഭങ്ങൾ== * ''[[Vismayas Max|വിസ്മയ മാക്സ്]]''<ref>[http://www.vismayasmax.com Vismayas Max]</ref>, തിരുവനന്തപുരത്തെ [[കഴക്കൂട്ടം|കഴക്കൂട്ടത്തെ]] കിൻഫ്ര ഫിലിം ആൻ‌ഡ് വീഡിയോ പാർക്കിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു ഫിലിം പോസ്റ്റ് പ്രൊഡക്ഷൻ സ്റ്റുഡിയോയും, കോളേജ് ഫോർ ഡബ്ബിംഗ് ആർടിസ്റ്റ്. * 'പ്രണവം ആർട്സ്'' - ഫിലിം പോസ്റ്റ് പ്രൊഡക്ഷൻ കമ്പനി (ഇപ്പോൾ സജീവമല്ല. ) * ''പ്രണവം '', ചലച്ചിത്രവിതരണ കമ്പനി (ഇപ്പോൾ സജീവമല്ല.) * [[Maxlab Entertainments|മാക്സ് ലാബ് എന്റർടെയിൻമെന്റ്]] ഒരു സഹകരണ ചലച്ചിത്രവിതരണ കമ്പനി.<ref>{{Cite web |url=http://www.maxlabentertainments.com/ |title=Maxlab |access-date=2009-10-06 |archive-date=2009-02-28 |archive-url=https://web.archive.org/web/20090228192731/http://www.maxlabentertainments.com/ |url-status=dead }}</ref> * പാർട്ണർ, ഡയറക്ടർ - ''യൂണി റോയൽ മറൈൻ എക്സ്പോർട്സ് '',[[Kozhikode|കോഴിക്കോട്]] ആസ്ഥാനമാക്കിയ ഒരു കയറ്റുമതി കമ്പനി. * [[ദുബായ്|ദുബായിലും]] മറ്റുമുള്ള റെസ്റ്റോറന്റ് ചെയിൻ - ''മോഹൻലാൽ ടേസ്റ്റ് ബഡ്സ് '' * [[ബാംഗ്ലൂർ|ബാംഗളൂരിലെ]] റെസ്റ്റോറന്റ് ''ദി ഹാർബർ മാർക്കറ്റ് ( The Harbour Market)'' * പാർട്ണർ '' മോഹൻലാൽ ടേസ്റ്റ് ബഡ്സ് '', ഒരു [[അച്ചാർ]], കറിപൌഡർ കമ്പനി <ref>Times of India: [http://timesofindia.indiatimes.com/Mohanlal_sells_Taste_Buds_to_Eastern_group/rssarticleshow/2605816.cms Mohanlal sells Taste Buds to Eastern group]</ref> * [[Jose Thomas Performing Arts Centre|ജോസ് തോമസ് പെർഫോമിങ് ആർട്സ് സെന്റർ]] (JT PAC), [[Kochi|കൊച്ചി]]. ചെയർമാൻ സ്ഥാനം വഹിക്കുന്നു.<ref>[http://www.jtpac.org JtPac]</ref> == പുരസ്കാരങ്ങളും ബഹുമതികളും == {{പ്രധാനലേഖനം|മോഹൻലാലിന് ലഭിച്ച പുരസ്കാരങ്ങളുടെയും നാമനിർദേശങ്ങളുടെയും പട്ടിക}} == പുറത്തേക്കുള്ള കണ്ണികൾ == {{commonscat|Mohanlal}} * [http://www.thecompleteactor.com ഔദ്യോഗിക വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20190829082013/https://www.thecompleteactor.com/ |date=2019-08-29 }} * {{imdb|id=0482320}} * {{Facebook|ActorMohanlalOfficial}} * {{Twitter|Lal_Mohanlal}} * [http://www.mohanlalfansonline.com മോഹൻലാൽഫാൻസ്ഓൺലൈൻ] {{Webarchive|url=https://web.archive.org/web/20091019023914/http://www.mohanlalfansonline.com/ |date=2009-10-19 }} * [http://www.aashirvadcinemas.com/ ആശീർവാദ് സിനിമാസ്] {{Webarchive|url=https://web.archive.org/web/20090913080725/http://www.aashirvadcinemas.com/ |date=2009-09-13 }} * [http://www.maxlabentertainments.com/ മാക്സ്‌ലാബ് സിനിമാസ്] {{Webarchive|url=https://web.archive.org/web/20090228192731/http://www.maxlabentertainments.com/ |date=2009-02-28 }} == അവലംബം == {{reflist|2}} <!--NO COMMERICAL/FAN LINKS PLEASE--> {{Mohanlal}} {{NationalFilmAwardBestActor}} {{മികച്ച നടനുള്ള ഫിലിം ഫെയർ അവാർഡ് ലഭിച്ചവർ-മലയാളം}} [[വർഗ്ഗം:1960-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 21-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനിർമ്മാതാക്കൾ]] [[വർഗ്ഗം: മലയാള സിനിമ]] [[വർഗ്ഗം:മലയാളനാടകനടന്മാർ]] [[വർഗ്ഗം:മികച്ച നടനുള്ള കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മശ്രീ പുരസ്കാരം ലഭിച്ച മലയാളികൾ]] [[വർഗ്ഗം:തമിഴ്‌ചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:പത്തനംതിട്ട ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ വ്യവസായികൾ]] [[വർഗ്ഗം:ലിംക ബുക്ക് ഓഫ് റെക്കോർഡ്സിൽ സ്ഥാനം ലഭിച്ച മലയാളികൾ]] diygvo2otrwlfg8n1m5j2lcbj4ufx3c 4622149 4622084 2026-05-23T06:20:38Z Sreehari lijinas 209493 /* അഭിനയിച്ച ചിത്രങ്ങൾ */ 4622149 wikitext text/x-wiki {{featured}}{{Prettyurl|Mohanlal}} {{Infobox actor | name = മോഹൻലാൽ | image = Super Star Mohanlal BNC.jpg | caption = | birthname = മോഹൻലാൽ വിശ്വനാഥൻ<!--"നായർ" പേരിനൊപ്പം ഇല്ലാത്തതിനാൽ ഉൾപെടുത്താൻ പാടുള്ളതല്ല. അവലംബം വായിക്കുക.--><ref>{{cite web|author=The Cue|title='ആദ്യം നൽകാൻ ഉദ്ദേശിച്ച പേര് റോഷൻ ലാൽ, പേരിനൊപ്പം ജാതി വേണ്ടെന്നത് അച്ഛന്റെ തീരുമാനം'; മോഹൻലാൽ|url=https://www.thecue.in/entertainment/film-news/actor-mohanlal-about-his-name|website=The Cue|accessdate=29 സെപ്റ്റംബർ 2022|language=ml|date=25 August 2020}}</ref><ref>{{cite web|title=President Kovind presents Padma Bhushan to Mohanlal|url=https://www.youtube.com/watch?v=m9LwAdl84ys|website=[[YouTube]]|publisher=President of India|accessdate=29 സെപ്റ്റംബർ 2022|language=en|date=22 March 2019}}</ref> |birth_date = {{Birth date and age|df=yes|1960|5|21}} | birthplace = [[പത്തനംതിട്ട]], [[കേരളം]], [[ഇന്ത്യ]] | yearsactive = 1978 - ഇതുവരെ | height = | deathdate = | deathplace = | restingplace = | restingplacecoordinates = | othername = | occupation = ചലച്ചിത്ര അഭിനേതാവ്, നിർമ്മാതാവ്, സംവിധായകൻ, ചലച്ചിത്രവിതരണം, വ്യവസായി, അംബാസഡർ, പിന്നണിഗായകൻ |yearsactive = 1978 - ഇതുവരെ | spouse = സുചിത്ര (1988 - ഇതുവരെ) | partner = | children = [[പ്രണവ് മോഹൻലാൽ]], വിസ്മയ | parents = വിശ്വനാഥൻ നായർ, ശാന്തകുമാരി | influences = | influenced = | website = http://www.thecompleteactor.com | amg_id = P146889 | imdb_id = 0482320 | academyawards = | afiawards = | arielaward = | baftaawards = | cesarawards = | emmyawards = | geminiawards = | goldenglobeawards = | goldenraspberryawards = | goyaawards = | grammyawards = | iftaawards = | laurenceolivierawards = | naacpimageawards = | nationalfilmawards = | othername = ലാൽ | total films = 290 , അഭിനയിച്ചുകൊണ്ടിരിക്കുന്നു | filmfareawards= '''മികച്ച തമിഴ് നടൻ'''<br>''ഇരുവർ'' (1997)<br>'''മികച്ച നടൻ''' <br/> 1986 ''സന്മനസുള്ളവർക്ക് സമാധാനം '' <br/>1988 ''പാദമുദ്ര''<br/>1993 ''ദേവാസുരം''<br/>1994 ''പവിത്രം''<br/>1995 ''സ്ഫടികം<br/>1999 ''വാനപ്രസ്ഥം''<br/>2005 ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]''<br/>2007''പരദേശി'' | nationalfilmawards= '''മികച്ച നടൻ''' <br /> 1991 ''ഭരതം'' <br /> 1999 ''വാനപ്രസ്ഥം''<br />'''മികച്ച ചിത്രം'''<br /> 1999 ''വാനപ്രസ്ഥം''<br />'''സ്പെഷ്യൽ ജൂറി പുരസ്ക്കാരം'''<br /> 1990 ''കിരീടം'' | awards = '''[[കേരളസംസ്ഥാന പുരസ്കാരങ്ങൾ]]'''<br/> 1986 ''[[T.P. ബാലഗോപാലൻ M.A.]]''<br/>1988 സ്പെഷ്യൻ ജൂറി പുരസ്കാരം <br> ''പാദമുദ്ര, [[ചിത്രം]], ഉത്സവപിറ്റേന്ന്, ആര്യൻ, വെള്ളാനകളുടെ നാട്'' <br/>1991 ''ഉള്ളടക്കം, [[കിലുക്കം]], അഭിമന്യു ''<br/>1995 ''കാ‍ലാപാനി, [[സ്ഫടികം]]'' <br/>1999 ''[[വാനപ്രസ്ഥം]]''<br/>2005 ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]''<br/>2007 [[പരദേശി]]<br/>'''[[IIFA പുരസ്ക്കാരങ്ങൾ]]''' <br/> 2003 [[IIFA Best Supporting Actor Award|മികച്ച സഹനടൻ]] <br/> ''[[Company (film)|കമ്പനി]]'' <br> '''[[സ്റ്റാർ സ്ക്രീൻ പുരസ്കാരം]]''' <br/> 2003 [[Star Screen Award Best Supporting Actor|മികച്ച സഹനടൻ]] <br/> ''[[Company (film)|കമ്പനി]]'' | sagawards = | tonyawards = | awards = }} [[മലയാളചലച്ചിത്രം|മലയാള ചലച്ചിത്രരംഗത്ത്]] നാല് പതിറ്റാണ്ടുകളായി സജീവമായി അഭിനയിച്ചു കൊണ്ടിരിക്കുന്ന നടനാണ് '''മോഹൻലാൽ''' (പൂർണ്ണനാമം: മോഹൻലാൽ വിശ്വനാഥൻ നായർ, ജനനം: മേയ് 21, 1960).<ref name=name1>{{cite web|title=മോഹൻലാൽ ലഘുജീവചരിത്രം|url=http://www.digipaper.fi/ekonomi/9348/index.php?pgnumb=6|publisher=മോഹൻലാൽ.ഓർഗ്|accessdate=2013 സെപ്തംബർ 26|archive-date=2013-04-29|archive-url=https://archive.today/20130429163437/http://www.digipaper.fi/ekonomi/9348/index.php?pgnumb=6|url-status=bot: unknown}}</ref> രണ്ടു തവണ മികച്ച നടനുള്ളതടക്കം അഞ്ച് [[ദേശീയ ചലച്ചിത്രപുരസ്കാരം|ദേശീയ ചലച്ചിത്ര പുരസ്കാരങ്ങൾ]] നേടിയ മോഹൻലാൽ സ്വാഭാവികമായ നടന ശൈലിക്കു പ്രശസ്തനാണ്‌. മലയാളത്തിനു പുറമേ [[തമിഴ്]], [[ഹിന്ദി]], [[തെലുഗു]], [[കന്നഡ]] തുടങ്ങിയ ഭാഷകളിലുള്ള ചലച്ചിത്രങ്ങളിലും ലാൽ അഭിനയിച്ചിട്ടുണ്ട്. അഭിനയത്തിനു പുറമേ ഏതാനും ചിത്രങ്ങളിൽ പിന്നണി ഗായകനായും അദ്ദേഹം തിളങ്ങിയിട്ടുണ്ട്. ഇന്ത്യൻ ചലച്ചിത്രങ്ങൾക്ക് നൽകിയ സംഭാവനകൾ പരിഗണിച്ച് 2001-ൽ അദ്ദേഹത്തിന് രാജ്യത്തെ നാലാമത്തെ ഉയർന്ന സിവിലിയൻ ബഹുമതിയായ [[പത്മശ്രീ]] പുരസ്കാരവും 2019 ൽ<ref name="Padmabhushan">{{Cite web|url=https://indianexpress.com/article/entertainment/entertainment-others/mohanlal-padma-bhushan-kader-khan-manoj-bajpayee-prabhudheva-shankar-mahadevan-5555516/|title=Mohanlal conferred with Padma Bhushan|access-date=2019-01-25|date=2019-01-25|website=[[The New Indian Express]]}}</ref> രാജ്യത്തെ മൂന്നാമത്തെ ഉയർന്ന സിവിലിയൻ ബഹുമതിയായ [[പത്മഭൂഷൺ]] ബഹുമതിയും നൽകി ഭാരത സർക്കാർ ആദരിച്ചു. 2009-ൽ ഇന്ത്യൻ ടെറിട്ടോറിയൽ ആർമിയിൽ ലഫ്റ്റനന്റ് കേണൽ പദവി നൽകുകയും ചെയ്തു.<ref name="LtCol1">{{cite web|title=മോഹൻലാലിന് ലെഫ്ടനന്റ് കേണൽ പദവി|url=http://pib.nic.in/newsite/erelease.aspx?relid=50047|publisher=പ്രസ്സ് ഇൻഫർമേഷൻ ബ്യൂറോ|accessdate=2013 സെപ്തംബർ 26|quote=മലയാള നടൻ മോഹൻലാലിന് ലെഫ്ടനന്റ് കേണൽ പദവി|archive-date=2013-09-26|archive-url=https://archive.today/20130926035710/http://pib.nic.in/newsite/erelease.aspx?relid=50047|url-status=bot: unknown}}</ref> ചലച്ചിത്ര ലോകത്തിനും സംസ്കൃത നാടകത്തിനും നൽകിയ സംഭാവനകളെ മാനിച്ച് [[കാലടി]] [[ശ്രീ ശങ്കരാചാര്യ സംസ്കൃത സർവകലാശാല|ശ്രീ ശങ്കരാചാര്യ സംസ്കൃത സർവ്വകലാശാല]] ഡോക്ടറേറ്റ് നൽകിയും <ref name=rediff>{{cite web | url = http://sports.rediff.com/report/2009/nov/04/mohanlal-mammotty-to-don-sports-cap-kerala.htm | title = Mammootty, Mohanlal to don sports cap for Kerala | accessdate = 2009 ഡിസംബർ 22 | format = html | publisher = Rediff | language = en | quote = Mohanlal was recently made the honorary Lt Colonel of the Indian Territorial Army and conferred an honorary D.Lit degree by the Kalady Sri Sankara Sanskrit university. }}</ref> <ref>http://www.indiaedunews.net/Kerala/Honorary_degrees_for_Mohanlal,_Resul_Pookutty_and_Sastrikal_9254/print.asp{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> മോഹൻലാലിനെ ആദരിച്ചിട്ടുണ്ട്. ഇന്ത്യൻ ചലച്ചിത്ര രംഗത്തിന് നൽകിയ സമഗ്ര സംഭാവനകൾ പരിഗണിച്ച് മോഹൻലാലിന് 2023-ലെ ദാദാ സാഹിബ് ഫാൽക്കെ അവാർഡ് ലഭിച്ചു. 2025 സെപ്റ്റംബർ 23ന് അവാർഡ് മോഹൻലാൽ ഏറ്റുവാങ്ങി .<ref>https://www.manoramaonline.com/news/latest-news/2025/09/20/mohanlal-won-dada-saheb-phalke-award.html</ref> 1980, 90 ദശകങ്ങളിൽ അഭിനയിച്ച ചലച്ചിത്ര വേഷങ്ങളിലൂടെയാണ്‌ മോഹൻലാൽ ശ്രദ്ധേയനായി മാറിയത്. ''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' എന്ന ചിത്രത്തിലെ സോളമൻ, ''[[നാടോടിക്കാറ്റ്]]'' എന്ന ചിത്രത്തിലെ ദാസൻ, ''[[തൂവാനത്തുമ്പികൾ]]'' എന്ന ചിത്രത്തിലെ ജയകൃഷ്ണൻ, ''മണിച്ചിത്രത്താഴ്'' എന്ന ചിത്രത്തിലെ ഡോക്ടടർ സണ്ണി, ''[[ചിത്രം]]'' എന്ന ചിത്രത്തിലെ വിഷ്ണു, ''ദശരഥം'' എന്ന ചിത്രത്തിലെ രാജീവ് മേനോൻ,''[[കിരീടം (മലയാളചലച്ചിത്രം)|കിരീടം]]'' എന്ന ചിത്രത്തിലെ സേതുമാധവൻ, ''[[ഭരതം]]'' എന്ന ചിത്രത്തിലെ ഗോപി, ''[[ദേവാസുരം]]'' എന്ന ചിത്രത്തിലെ മംഗലശ്ശേരി നീലകണ്ഠൻ, ''[[ഇരുവർ]]'' എന്ന ചിത്രത്തിലെ ആനന്ദൻ, ''[[വാനപ്രസ്ഥം (ചലച്ചിത്രം)|വാനപ്രസ്ഥം]]'' എന്ന ചിത്രത്തിലെ കുഞ്ഞിക്കുട്ടൻ, ''[[സ്ഫടികം (ചലച്ചിത്രം)|സ്ഫടികം]]'' എന്ന ചിത്രത്തിലെ ആടുതോമ, ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' എന്ന ചിത്രത്തിലെ രമേശൻ നായർ, ''[[പരദേശി]]'' എന്ന ചിത്രത്തിലെ വലിയകത്തു മൂസ, ''[[ഭ്രമരം]]'' എന്ന ചിത്രത്തിലെ ശിവൻ കുട്ടി തുടങ്ങിയവ മോഹൻലാലിന്റെ ശ്രദ്ധേയമായ ചലച്ചിത്ര വേഷങ്ങളാണ്‌. ==ജീവിതരേഖ== === ജനനം === സർക്കാർ ഉദ്യോഗസ്ഥനായിരുന്ന വിശ്വനാഥൻ നായരുടേയും ശാന്താകുമാരിയുടേയും രണ്ടാമത്തെ പുത്രനായി [[ഇടവം|ഇടവ മാസത്തിലെ]] [[രേവതി]] നക്ഷത്രത്തിൽ 1960 [[മേയ് 21]]-നു [[പത്തനംതിട്ട (ജില്ല)|പത്തനംതിട്ട ജില്ലയിലെ]] [[ഇലന്തൂർ|ഇലന്തൂരിൽ]] ജനനം.<ref>{{Cite web |url=http://www.mohanlal.org/myself.htm |title=mohanlal.org എന്ന വെബ്സൈറ്റിൽ നിന്നും ശേഖരിച്ചത്. |access-date=2009-07-10 |archive-date=2010-03-09 |archive-url=https://web.archive.org/web/20100309230331/http://www.mohanlal.org/myself.htm |url-status=dead }}</ref> മോഹൻലാലിന്റെ അച്ഛൻ കേരള സെക്രട്ടേറിയേറ്റിലെ നിയമ വകുപ്പിലെ ഉദ്യോഗസ്ഥനായിരുന്നു. [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] ''മുടവൻമുകൾ'' എന്ന സ്ഥലത്തെ തറവാട്ടു വീട്ടിലായിരുന്നു മോഹൻലാലിന്റെ കുട്ടിക്കാലം. മുടവൻമുകളിലുള്ള ഒരു ചെറിയ സ്കൂളിലാണ് മോഹൻലാൽ തന്റെ വിദ്യാഭ്യാസം ആരംഭിക്കുന്നത്. [[പ്രിയദർശൻ]], [[എം.ജി. ശ്രീകുമാർ]] തുടങ്ങിയവർ അദ്ദേഹത്തിന്റെ സഹപാഠികൾ ആയിരുന്നു. ഈ സൗഹൃദം അദ്ദേഹത്തെ ഒരുപാടു സ്വാധീനിച്ചിട്ടുണ്ട്. [[കിളിക്കൊഞ്ചൽ|കിളിക്കൊഞ്ചൽ]] എന്ന ചിത്രത്തിൽ അഭിനയിച്ചിട്ടുള്ള പ്യാരേലാൽ എന്ന അദ്ദേഹത്തിന്റെ ജ്യേഷ്ഠൻ 2000 ൽ മരണമടഞ്ഞിരുന്നു. === വിദ്യാഭ്യാസം === [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തെ]] മോഡൽ സ്കൂളിലാണ് മോഹൻലാൽ സ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയത്. മോഹൻലാൽ സ്കൂൾ വിദ്യാഭ്യാസ കാലത്തുതന്നെ നാടകങ്ങളിലും മറ്റും അഭിനയിക്കുമായിരുന്നു. ആറാം ക്ലാസിലായിരുന്നപ്പോൾ മോഹൻലാൽ സ്കൂളിലെ മികച്ച നടനായി തിരഞ്ഞെടുക്കപ്പെട്ടു. ഇതു സാധാരണ സ്കൂളിലെ മുതിർന്ന വിദ്യാർത്ഥികൾക്കു ലഭിച്ചിരുന്ന ഒരു പുരസ്കാരമായിരുന്നു. മോഹൻലാലിന്റെ ഉപരിപഠനം [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തെ]] [[എം.ജി കോളേജ്|എം.ജി കോളേജിൽ]] ആയിരുന്നു. ബി,കോം ബിരുദധാരിയാണ്. കോളേജിൽ ഒപ്പമുണ്ടായിരുന്ന പലരും, പ്രത്യേകിച്ചു [[പ്രിയദർശൻ]], [[മണിയൻപിള്ള രാജു]] തുടങ്ങിയവർ മോഹൻലാലിന്റെ അഭിനയ ജീവിതത്തിൽ നിർണായക പങ്കുവഹിച്ചതിനൊപ്പം മലയാള സിനിമയിൽ സ്വന്തമായ സ്ഥാനം ഉറപ്പിച്ചവരുമാണ്‌. == ചലച്ചിത്ര ജീവിതം== ===ആദ്യകാലം (1978-1985)=== മോഹൻലാൽ ആദ്യമായി അഭിനയിച്ച സിനിമ [[തിരനോട്ടം (1978-ലെ ചലച്ചിത്രം)|തിരനോട്ടം]] ആയിരുന്നു. ലാലിന്റെ സുഹൃത്തുക്കളുടെ തന്നെ നിർമ്മാണ സംരംഭമായ ''ഭാരത് സിനി ഗ്രൂപ്പ്'' ആണ് ഈ ചിത്രം നിർമ്മിച്ചത്.<ref name="jtpac.org">http://www.jtpac.org/showdetails.php?id=16{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> മോഹൻലാൽ ഈ ചിത്രത്തിൽ ഒരു ഹാസ്യ കഥാപാത്രത്തെയാണ് അവതരിപ്പിച്ചത്. സെൻസർ ബോർഡുമായി ബന്ധപ്പെട്ട ചില തടസ്സങ്ങൾ മൂലം ഈ ചിത്രം പുറത്തിറങ്ങിയില്ല. മോഹൻലാൽ അഭിനയിച്ച്, പ്രേക്ഷകരുടെ മുന്നിലെത്തിയ ആദ്യത്തെ സിനിമ [[മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കൾ]] (1980) ആയിരുന്നു. ആദ്യചിത്രം പുറത്തിറങ്ങുമ്പോൾ മോഹൻലാലിന് 20 വയസ്സായിരുന്നു പ്രായം. ആ ചിത്രത്തിൽ വില്ലൻ വേഷമായിരുന്നു മോഹൻലാലിന്. [[ശങ്കർ (ചലച്ചിത്രനടൻ)|ശങ്കർ‍]] ആയിരുന്നു മോഹൻലാലിന്റെ ആദ്യ ചിത്രത്തിൽ നായക കഥാപാത്രത്തെ അവതരിപ്പിച്ചത്. സം‌വിധാനം ചെയ്തത് [[ഫാസിൽ|ഫാസിലും]]. മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കളിനു ശേഷം മോഹൻലാലിന് ധാരാളം അവസരങ്ങൾ ലഭിക്കുകയുണ്ടായി. 1983-ൽ 25-ഓളം ചിത്രങ്ങളിൽ മോഹൻലാൽ അഭിനയിക്കുകയുണ്ടായി. [[മാളിയംപുരക്കൽ കുടുബം|മാളിയംപുരക്കൽ]] ചാക്കോ പുന്നൂസ് ( [[നവോദയ അപ്പച്ചൻ]] ) സം‌വിധാനം ചെയ്ത മോഹൻലാൽ അഭിനയിച്ച ''എന്റെ മാമാട്ടിക്കുട്ടിയമ്മക്ക്'' എന്ന ചിത്രം വളരെ അധികം ജനശ്രദ്ധ നേടിയിരുന്നു. ആ കാലഘട്ടത്തിൽ മോഹൻലാലിന്റെ ശ്രദ്ധിക്കപ്പെട്ട മറ്റൊരു ചിത്രമായിരുന്നു ''ഉയരങ്ങളിൽ'', [[ഐ.വി. ശശി]] സം‌വിധാനം നിർവ്വഹിച്ച ഈ ചിത്രത്തിന്റെ തിരക്കഥ എഴുതിയത് പ്രശസ്ത സാഹിത്യകാരൻ [[എം.ടി. വാസുദേവൻ നായർ|എം.ടി വാസുദേവൻ നായരായിരുന്നു]]. സാവധാനം, പ്രതിനായക വേഷങ്ങളിൽ നിന്നു നായക വേഷങ്ങളിലേക്ക് മാറിയ ലാൽ, തുടർന്ന് കാമ്പുള്ളതും ഹാസ്യംകലർന്നതുമായ നായകവേഷങ്ങൾ കൈകാര്യം ചെയ്യുവാൻ തുടങ്ങി. ഇത്തരം മോഹൻലാൽ ചിത്രങ്ങൾ കൂടുതലായും സം‌വിധാനം ചെയ്തതു പ്രശസ്ത സം‌വിധായകനും മോഹൻലാലിന്റെ സുഹൃത്തുമായ [[പ്രിയദർശൻ|പ്രിയദർശനായിരുന്നു]]. പ്രിയദർശന്റെ ആദ്യചിത്രമായ ''പൂച്ചക്കൊരു മൂക്കുത്തി'' എന്ന ചിത്രത്തിൽ മോഹൻലാൽ ഒരു പ്രധാന വേഷം ചെയ്തിട്ടുണ്ട്. [[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]] [[കിലുക്കം]], [[മിന്നാരം]], [[തേന്മാവിൻ കൊമ്പത്ത്]], തുടങ്ങിയ ചിത്രങ്ങൾ മോഹൻലാൽ, പ്രിയദർശൻ കൂട്ടുകെട്ടിന്റെ വിജയചിത്രങ്ങളിൽ പ്രധാനങ്ങളാണ്.<ref>https://www.facebook.com/malayalamcinemanews/photos/a.640869782613648.1073741826.496375967063031/1149907551709866/?type=3&theater</ref>[[പ്രിയദർശൻ]] കഥയും, തിരക്കഥയും നിർവഹിച്ച് [[എം.മണി]] സംവിധാനം ചെയ്ത് 1983 ൽ പുറത്ത് ഇറങ്ങിയ [[എങ്ങനെ നീ മറക്കും]] എന്ന ചിത്രത്തിലുടെ എൺപതുകളിൽ ലാൽ തന്റെ ആദ്യ ചിത്രം മുതൽ വില്ലൻ വേഷം മാത്രം ലഭിച്ചപ്പോൾ ഈ ചിത്രത്തിലെ മികച്ച അഭിനയത്തിലൂടെയാണ് ലാലിന് നായക പദവി ലഭിച്ചു തുടങ്ങിയത്. === സുവർണ്ണ കാലഘട്ടം (1986-1995)=== 1986 മുതൽ 1995 വരെയുള്ള കാലഘട്ടം മലയാള സിനിമയുടെ സുവർണ്ണ കാലഘട്ടം എന്നു വിശേഷിപ്പിക്കാവുന്നതാണ്. ഈ കാലഘട്ടത്തിലാണ് നല്ല തിരക്കഥയും, സം‌വിധാനവും, അഭിനയവും കൂടി ചേർന്ന നല്ല ചലച്ചിത്രങ്ങൾ കൂടുതലായും പിറവിയെടുത്തത്<ref name=goldenphase>{{Cite web |url=http://www.malayalamcinema.com/php/showContent.php?linkid=4 |title=മലയാളചലച്ചിത്രങ്ങളുടെ ചരിത്രം |access-date=2009-02-13 |archive-date=2010-02-28 |archive-url=https://web.archive.org/web/20100228033110/http://www.malayalamcinema.com/php/showContent.php?linkid=4 |url-status=dead }}</ref>. ഈ കാലഘട്ടത്തിലാണ് മോഹൻലാലിന്റെ അഭിനയ മികവ് പ്രകടമാക്കുന്ന നിരവധി ചലച്ചിത്രങ്ങൾ ധാരാളമായി പുറത്തിറങ്ങിയത്. ഈ കാലഘട്ടത്തിൽ മികച്ച സം‌വിധായകരോടൊപ്പവും, മികച്ച തിരക്കഥാകൃത്തുക്കളോടൊപ്പവും പ്രവർത്തിക്കാൻ മോഹൻലാലിന് സാധിച്ചു. മലയാള ചലച്ചിത്ര വേദിയിൽ മോഹൻലാലിന്റെ മികച്ച വർഷങ്ങളിൽ ഒന്നാണ് 1986. ഈ വർഷത്തിൽ പുറത്തിറങ്ങിയ ''[[ടി.പി. ബാലഗോപാലൻ എം.എ.]]'' എന്ന [[സത്യൻ അന്തിക്കാട്]] സം‌വിധാനം ചെയ്ത ചിത്രത്തിലെ അഭിനയത്തിന് മോഹൻലാലിന് ആദ്യമായി മികച്ച നടനുള്ള കേരള സംസ്ഥാന സർക്കാർ പുരസ്കാരം ലഭിക്കുകയുണ്ടായി. പിന്നീട് പുറത്തിറങ്ങിയ ''[[രാജാവിന്റെ മകൻ]]‍'' എന്ന ചിത്രം മോഹൻലാലിന് ധാരാളം ആരാധകരെ നേടിക്കൊടുത്തു. ഈ ചിത്രവും വൻ വിജയമായിരുന്നു. ഈ ചിത്രം മൂലം മോഹൻലാൽ മലയാള സിനിമയിലെ സൂപ്പർ സ്റ്റാർ പദവിയിലേക്കുയർന്നു. മോഹൻലാൽ ഒരു അധോലോക നായകന്റെ വേഷം കൈകാര്യം ചെയ്ത ഈ ചിത്രം സം‌വിധാനം ചെയ്തത് [[തമ്പി കണ്ണന്താനം]] ആയിരുന്നു. ഇതേ വർഷത്തിലാണ് ''[[താളവട്ടം]]'' എന്ന ചിത്രത്തിൽ മോഹൻലാൽ അഭിനയിക്കുന്നത്. [[പ്രിയദർശൻ]] സം‌വിധാനം ചെയ്ത ഈ ചിത്രത്തിൽ മാനസിക നില തെറ്റിയ ഒരു യുവാവിന്റെ വേഷമായിരുന്നു മോഹൻലാലിന്. വാടകക്കാർ മൂലം ബുദ്ധിമുട്ട് അനുഭവിക്കുന്ന ഒരു വീട്ടുടമസ്ഥന്റെ വേഷം ചെയ്ത ''[[സന്മനസ്സുള്ളവർക്ക് സമാധാനം]]'' എന്ന ചിത്രവും, ഒരു പത്ര പ്രവർത്തകനായി അഭിനയിച്ച ''[[പഞ്ചാഗ്നി]]'' എന്ന ചിത്രവും, മുന്തിരിത്തോട്ടം മുതലാളിയുടെ വേഷം ചെയ്ത ''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' എന്ന ചിത്രവും, ഒരു ഗൂർഖയായി വേഷമിട്ട ''ഗാന്ധി നഗർ സെക്കൻറ് സ്ട്രീറ്റ്'' എന്ന ചിത്രവും, ആ കാലഘട്ടത്തിലെ വമ്പിച്ച വിജയം നേടിയ ചലച്ചിത്രങ്ങളാണ്. വില്ലൻ വേഷങ്ങളിലാണ് വന്നതെങ്കിലും പിന്നീട് നായക വേഷങ്ങൾ നന്നായി ചെയ്തു തുടങ്ങിയതു മുതൽ അദ്ദേഹം മലയാളികളുടെ മനസ്സിൽ ചിരപ്രതിഷ്ഠ നേടി. രചന - സംവിധാന ജോഡിയായ [[ലോഹിതദാസ്]]-[[സിബി മലയിൽ]] കൂട്ടുകെട്ടിന്റെ ചിത്രങ്ങൾ മോഹൻലാലിന്റെ അഭിനയ ജീവിതത്തിലെ മികച്ച കഥാപാത്രങ്ങളെ സൃഷ്ടിച്ചിട്ടുണ്ട്. ''[[കിരീടം (മലയാളചലച്ചിത്രം)|കിരീടം]]'' എന്ന ചിത്രത്തിലെ സേതുമാധവൻ എന്ന കഥാപാത്രം ഇതിലൊന്നാണ്. ഒരു പോലീസുകാരനാവാൻ ആഗ്രഹിക്കുകയും പിന്നീട് സാഹചര്യങ്ങൾ മൂലം ഒരു കുറ്റവാളി ആയിത്തീരുകയും ചെയ്യുന്ന ഒരു കഥാപാത്രമാണ് സേതുമാധവൻ. 1989-ൽ [[ദേശീയ ചലച്ചിത്രപുരസ്കാരം|ദേശീയ ചലച്ചിത്ര പുരസ്കാര]] ജൂറിയുടെ പ്രത്യേക പരാമർശം ഈ ചിത്രത്തിലെ അഭിനയത്തിന് ലാലിന് ലഭിച്ചിരുന്നു. ''[[ഭരതം]]'' എന്ന ചിത്രത്തിലെ ഗോപി എന്ന കഥാപാത്രവും ഇക്കാലത്തെ മികച്ച ചിത്രങ്ങളിൽ ഒന്നാണ്. ഒരു ശാസ്ത്രീയ സംഗീതജ്ഞനായ ഗോപിയുടെയും തന്റെ ഉയർച്ചയിൽ അസൂയ കാരണം വീടുവിട്ടു പോകുകയും മരണമടയുകയും ചെയ്യുന്ന സഹോദരന്റേയും കഥയാണ് ഭരതം. ഈ ചിത്രത്തിലെ അഭിനയത്തിന് മികച്ച നടനുള്ള പുരസ്കാരം ലാലിന് നേടിക്കൊടുത്തു. രചന- സംവിധാന ജോഡിയായ [[ശ്രീനിവാസൻ]], [[സത്യൻ അന്തിക്കാട്]] എന്നിവരുടെ കൂടെ സാമൂഹിക പ്രാധാന്യമുള്ള ''[[വരവേൽപ്പ്]]'' എന്ന ചിത്രത്തിലും മോഹൻലാൽ അഭിനയിച്ചു. [[ഗൾഫ്|ഗൾഫിൽ]] നിന്ന് തിരിച്ചു വരുന്ന ഒരു യുവാവിന്റെ വേഷമാണ് ഇതിൽ ലാൽ അഭിനയിച്ചത്. പിന്നീട് [[പ്രിയദർശൻ]] സംവിധാനം ചെയ്ത ചിത്രങ്ങളിൽ ഒരു സാധാരണ കാമുക നായക വേഷങ്ങളിൽ അഭിനയിച്ചു. മലയാള ചലച്ചിത്രത്തിലെ എക്കാല ഹിറ്റുകളിൽ ഒന്നായ ''[[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]]'' എന്ന ചിത്രത്തിലെ ലാലിന്റെ അഭിനയം വളരെ ശ്രദ്ധേയമായി. ഈ ചിത്രം [[എറണാകുളം]], [[തിരുവനന്തപുരം]] എന്നിവിടങ്ങളിൽ 365 ദിവസത്തിലധികം തുടർച്ചയായി പ്രദർശിപ്പിച്ചു ചരിത്രം സൃഷ്ടിച്ചു. പ്രിയദർശൻ സംവിധാനം ചെയ്ത ഈ ചിത്രത്തിൽ [[രഞ്ജിനി]] ആയിരുന്നു നായിക. 1993-ൽ [[ഐ.വി. ശശി]] സംവിധാനം ചെയ്ത ''[[ദേവാസുരം]]'' എന്ന ചിത്രത്തിൽ നായകനായി അഭിനയിച്ചു. ഇത് സാമ്പത്തികമായി വിജയിക്കുകയും, ധാരാളം ജനശ്രദ്ധ നേടുകയും ചെയ്ത ഒരു ചിത്രമായിരുന്നു. മലയാളത്തിലെ മികച്ച എഴുത്തുകാരായ [[എം.ടി. വാസുദേവൻ നായർ]], [[പത്മരാജൻ]] എന്നിവരുടെ കഥാപാത്രങ്ങളുടെ ചലച്ചിത്രാവിഷ്കാരത്തിൽ ലാൽ നായകനായിട്ടുണ്ട്. ''അമൃതം‌ ഗമയ'' എന്ന ചിത്രത്തിലെ ഡോക്ടറുടെ കഥാപാത്രം ഇതിലൊന്നാണ്. 1993-ൽ അഭിനയിച്ച മറ്റൊരു ചിത്രമായ ''[[മണിച്ചിത്രത്താഴ്]]'' എന്ന ചിത്രത്തിൽ [[സുരേഷ് ഗോപി]], [[ശോഭന]] എന്നിവരോടൊപ്പം അഭിനയിച്ചു. ഈ ചിത്രം ജനപ്രീതി നേടിയ ചിത്രത്തിനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം നേടുകയുണ്ടായി. 90-കളിൽ പിന്നീട് ധാരാളം ശ്രദ്ധേയമായ വേഷങ്ങൾ ലാൽ ചെയ്തു. ''[[ഹിസ് ഹൈനസ്സ് അബ്ദുള്ള]]'' എന്ന ചിത്രത്തിൽ ഒരു മുസ്ലീം ഒരു നമ്പൂതിരിയായി മാറി വരുന്ന ഒരു കഥാപാത്രമായി അവതരിപ്പിച്ചു. കൂടാതെ ചില ശ്രദ്ധേയമായ അക്കാലത്തെ ചിത്രങ്ങൾ ''മിഥുനം'', ''മിന്നാരം'', ''തേന്മാവിൻ കൊമ്പത്ത്'' എന്നിവയായിരുന്നു. ഇതെല്ലാം വ്യാവസായികമായി വിജയിച്ച ചിത്രങ്ങളായിരുന്നു. ===പിന്നീടുള്ള വർഷങ്ങൾ (1996-ഇതുവരെ)=== <imagemap> Image:Mohanlal_and_Madhu.jpg|thumb| poly 11 305 13 272 19 241 41 205 75 186 100 173 117 169 118 137 124 95 182 88 204 87 219 112 221 130 221 176 214 196 234 208 256 232 266 274 270 325 260 357 279 367 277 393 263 416 232 419 218 404 212 420 226 436 228 442 132 447 7 447 -1 435 0 386 17 337 [[മോഹൻലാൽ]] poly 347 433 630 415 617 396 646 362 646 263 609 179 516 144 507 128 498 126 505 109 491 58 447 36 417 46 406 60 407 72 399 99 409 117 407 130 409 137 412 157 412 164 387 175 368 197 353 221 336 249 331 246 324 222 329 209 327 199 316 197 308 187 265 164 258 174 280 188 271 206 266 216 267 222 285 232 291 241 294 285 302 308 327 327 352 323 374 311 377 307 371 352 372 376 371 388 367 397 352 417 [[മധു (ചലച്ചിത്രനടൻ)|മധു]] desc bottom-left </imagemap> 1996-മുതൽ പിന്നീട് ഇങ്ങോട്ടുള്ള കാലഘട്ടത്തിൽ മോഹൻലാലിന്റെ പ്രശസ്തിയും നായകപദവിയും ഉപയോഗപ്പെടുത്തിക്കൊണ്ട് നിർമ്മാതാക്കളും, സംവിധായകരും ലാലിനു വേണ്ടി ചിത്രങ്ങൾ നിർമ്മിച്ചു. ഇതിൽ പലതും ലാലിനെ ഒരു അസാമാന്യ നായകപദവി കൊടുത്തു കൊണ്ട് നിർമ്മിച്ച ചിത്രങ്ങൾ ആയിരുന്നു. ''[[ആറാം തമ്പുരാൻ]]'', ''[[ഉസ്താദ് (ചലച്ചിത്രം)|ഉസ്താദ്]]'', ''[[നരസിംഹം (മലയാളചലച്ചിത്രം)|നരസിംഹം]]'', ''[[പ്രജ (ചലച്ചിത്രം)|പ്രജ]]'', ''[[നരൻ]]'' എന്നിവ ഇങ്ങനെയുള്ള ചിത്രങ്ങളാണ്. ഒരു സൂപ്പർസ്റ്റാർ എന്ന പദവി പൂർണ്ണമായും പ്രയോജനപ്പെടുത്തുന്ന ചിത്രങ്ങളായിരുന്നു ഇവ. ഈ നിരയിലെ ആദ്യ ചില ചിത്രങ്ങൾ വിജയിച്ചെങ്കിലും പിന്നീട് പല ചിത്രങ്ങളും പരാജയപ്പെടുകയും ധാരാളം വിമർശനങ്ങൾക്ക് വിധേയമാവുകയും ചെയ്തു. 90-കളുടെ അവസാനത്തിൽ പ്രിയദർശൻ സംവിധാനം ചെയ്ത ''[[കാലാപാനി (മലയാളചലച്ചിത്രം)|കാലാപാനി]]'' എന്ന ചിത്രം ഇതിൽ നിന്ന് വ്യത്യസ്തമായി വിജയിച്ചു. [[ഇന്ത്യ|ഇന്ത്യൻ]] സ്വാതന്ത്ര്യ സമരത്തിന്റെ പശ്ചാത്തലത്തിൽ ബ്രിട്ടീഷ് രാജവംശം [[ആന്തമാൻ നിക്കോബാർ ദ്വീപുകൾ|ആൻ‌ഡമാൻ നിക്കോബാർ ദ്വീപിലെ]] [[ജയിൽ|ജയിലിൽ]] അടക്കുന്ന പോരാളികളുടെ കഥ പറയുന്ന ഈ ചിത്രം ദേശീയ തലത്തിലും ശ്രദ്ധേയമായ ഒരു ചിത്രമായിരുന്നു. 1997-ൽ മോഹൻലാൽ അഭിനയിച്ച് പുറത്തിറങ്ങിയ ഒരു ചിത്രമാണ് ''[[ഗുരു (ചലച്ചിത്രം)|ഗുരു]]''. വർഗ്ഗീയ ലഹളയേയും, ആത്മീയതയേയും ചർച്ച ചെയ്ത ഈ ചിത്രം. [[ഓസ്കാർ അവാർഡ്|ഓസ്കാർ അവാർഡിനു]] വേണ്ടിയുള്ള വിദേശ ചലച്ചിത്രങ്ങളുടെ പട്ടികയിൽ ഇടം നേടിയിരുന്നു. [[രാജീവ് അഞ്ചൽ]] ആയിരുന്നു ഈ ചിത്രം സംവിധാനം ചെയ്തത്. ഇതേ വർഷത്തിൽ തന്നെ [[മമ്മൂട്ടി|മമ്മൂട്ടിയോടൊപ്പം]] തുല്യ നായക പ്രാധാന്യമുള്ള [[ഹരികൃഷ്ണൻസ്]] എന്ന ചിത്രത്തിലും ലാൽ അഭിനയിച്ചു. [[ഫാസിൽ]] സംവിധാനം ചെയ്ത ഈ ചിത്രം നല്ല വിജയം കൈവരിച്ചു. കൂടാതെ ആ സമയത്ത് തന്നെ [[ലോഹിതദാസ്]] സംവിധാനം ചെയ്ത ''[[കന്മദം (ചലച്ചിത്രം)|കന്മദം]]'' എന്ന ചിത്രവും കഥയിലെ വ്യത്യസ്തത കൊണ്ട് ശ്രദ്ധേയമായി. [[പ്രമാണം:Bachan mohanlal.jpg|right|thumb|അമിതാബ് ബച്ചനോടൊപ്പം (2010-ലെ ചിത്രം)]] 1999-ൽ പുറത്തിറങ്ങിയ ഇൻ‌ഡോ-ഫ്രഞ്ച് ചലച്ചിത്ര സംരംഭമായ [[വാനപ്രസ്ഥം (മലയാളചലച്ചിത്രം)|വാനപ്രസ്ഥം]] വിഖ്യാതമായ [[കാൻ ചലച്ചിത്രമേള|കാൻ ചലച്ചിത്ര മേളയിൽ]] പ്രദർശിപ്പിക്കുകയുണ്ടായിട്ടുണ്ട്. വിദേശത്തും ഈ ചിത്രത്തിന് വളരെയധികം അഭിനന്ദനങ്ങൾ ലഭിക്കുകയുണ്ടായി<ref>http://movies.nytimes.com/movie/180033/Vanaprastham-the-Last-Dance/overview</ref>. മികച്ച നടനുള്ള ദേശീയ അവാർഡ് രണ്ടാം തവണ മോഹൻലാലിന്‌ ഈ ചിത്രം നേടിക്കൊടുത്തു. 2006-ലെ ''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' എന്ന ചിത്രത്തിന്‌ മികച്ച നടനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര പുരസ്കാരം ലഭിച്ചു. 2007-ൽ പുറത്തിറങ്ങിയ [[പരദേശി]] എന്ന ചിത്രം സാമ്പത്തികമായി പരാജയം ആയിരുന്നു എങ്കിലും, മികച്ച നടനുള്ള കേരള സംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരവും, ഫിലിം ഫെയർ പുരസ്കാരവും, ക്രിട്ടിക്സ് അവാർഡും ലാലിന് നേടിക്കൊടുത്തു. 2009-ൽ പുറത്തിറങ്ങിയ [[ഭ്രമരം (ചലച്ചിത്രം)|ഭ്രമരം]] എന്ന ചിത്രം ധാരാളം ജനശ്രദ്ധ ആകർഷിക്കുകയും, വ്യാവസായികമായി വിജയിക്കുകയും ചെയ്ത ഒരു ചിത്രമായിരുന്നു. ബ്ലെസ്സി സംവിധാനം ചെയ്ത രണ്ടാമത്തെ മോഹൻലാൽ ചിത്രമായിരുന്നു ഇത്. ===മറ്റു ഭാഷകളിൽ=== 1997-ലാണ് മോഹൻലാൽ, [[മണിരത്നം]] സംവിധാനം ചെയ്ത ‘[[ഇരുവർ]]’ എന്ന തമിഴ് ചലച്ചിത്രത്തിൽ അഭിനയിക്കുന്നത്. [[ലോകസുന്ദരി|ലോകസുന്ദരി ആയിരുന്ന]] [[ഐശ്വര്യ റായ്]] ആയിരുന്നു ഈ ചിത്രത്തിലെ നായിക. ഈ ചിത്രത്തിൽ [[എം.ജി.ആർ|എം.ജി.ആറിന്റെ]] വേഷത്തിൽ അഭിനയിച്ചു. ഐശ്വര്യ റായുടെ ആദ്യ ചിത്രമായിരുന്നു ഇത്. ഇതിനു ശേഷമാണ് മോഹൻലാൽ മലയാള ഭാഷേതര ചിത്രങ്ങളിൽ ശ്രദ്ധേയനാകുന്നത്. [[ബോളിവുഡ്]] ചിത്രമായ ''[[കമ്പനി (ഹിന്ദി ചലച്ചിത്രം)|കമ്പനി]]'' എന്ന ചിത്രത്തിൽ 2002-ൽ അഭിനയിച്ചു.<ref>http://www.idlebrain.com/mumbai/reviews/mr-company.html</ref> ഈ ചിത്രത്തിലെ അഭിനയത്തിന് ഇന്റർനാഷനൽ ഇന്ത്യൻ ഫിലിം അക്കാഡമിയുടെ (IIFAA) നല്ല സഹ നടനുള്ള അവാർഡ് ലഭിച്ചു. 2007-ൽ പുറത്തിറങ്ങിയ മറ്റൊരു ഹിന്ദി ചിത്രമായ [[രാം ഗോപാൽ വർമ്മ|രാം ഗോപാൽ വർമ്മയുടെ]] [[ഷോലെ|ഷോലെയുടെ]] പുതിയ പതിപ്പായ [http://www.imdb.com/title/tt0473310/ രാം ഗോപാൽ വർമ്മാ കി ആഗിലെ] ഒരു പ്രധാന കഥാപാത്രമായി അഭിനയിച്ചതും മോഹൻ‌ലാലാണ്. എന്നാൽ ഈ ചിത്രം സാമ്പത്തികമായും നിരൂപകരുടെ ഇടയിലും പരാജയമായിരുന്നു. മോഹൻലാലും വിമർശിക്കപ്പെട്ടു. 2009-ൽ വിഖ്യാത നടൻ [[കമലഹാസൻ|കമലഹാസനോടൊപ്പം]] [[തമിഴ്|തമിഴിൽ]], ''ഉന്നൈ പോൽ ഒരുവൻ''‍ എന്ന ചിത്രത്തിലും ലാൽ അഭിനയിച്ചു. ഒരു ഹിന്ദി ചിത്രമായ ''എ വെനസ്ഡേ'' എന്ന ചിത്രത്തിന്റെ തമിഴ് പതിപ്പായിരുന്നു ഈ ചിത്രം. തമിഴിൽ മോഹൻലാൽ അഭിനയിച്ച കഥാപാത്രം [[ഹിന്ദി|ഹിന്ദിയിൽ]] [[അനുപം ഖേർ]] ആണ് അവതരിപ്പിച്ചത്. 2014-ൽ പുറത്തിറങ്ങിയ തമിഴ് ചലച്ചിത്രം [[ജില്ല (ചലച്ചിത്രം)|ജില്ല]]യിൽ [[വിജയ്]]ക്ക് ഒപ്പം നായക തുല്യമായ വേഷത്തിൽ അഭിനയിച്ചു.<ref>{{Cite web |url=http://ibnlive.in.com/news/mohanlalvijay-team-up-for-tamil-film-jilla-to-be-directed-by-nesan/377813-71-180.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2014-07-23 |archive-date=2013-03-15 |archive-url=https://web.archive.org/web/20130315121454/http://ibnlive.in.com/news/mohanlalvijay-team-up-for-tamil-film-jilla-to-be-directed-by-nesan/377813-71-180.html |url-status=dead }}</ref> == അഭിനയിച്ച ചിത്രങ്ങൾ == * {| class="wikitable sortable" |+മോഹൻലാൽ സിനിമകളുടെ പട്ടിക !വർഷം !ചലച്ചിത്രം !കഥാപാത്രം !കുറിപ്പുകൾ !<abbr>റഫ.</abbr> |- |1980 !''[[മഞ്ഞിൽ വിരിഞ്ഞ പൂക്കൾ]]'' |നരേന്ദ്രൻ | | |- | rowspan="8" |1981 !''[[സഞ്ചാരി]]'' |ഡോ. ശേഖർ | | |- !''[[തകിലുകൊട്ടാമ്പുറം]]'' |അഡ്വക്കേറ്റ് പോൾ | | |- !''[[ധന്യ (മലയാളചലച്ചിത്രം)|ധന്യ]]'' |മോഹൻലാൽ | | |- !''[[ധ്രുവസംഗമം]]'' |ശങ്കരൻകുട്ടി | | |- !''[[അട്ടിമറി (ചലച്ചിത്രം)|അട്ടിമറി]]'' |ഷാൻ | | |- !''[[ഊതിക്കാച്ചിയ പൊന്ന്]]'' |നന്ദൻ | | |- !''[[തേനും വയമ്പും]]'' |വർമ്മ | | |- !''[[അഹിംസ (ചലച്ചിത്രം)|അഹിംസ]]'' |മോഹൻ | | |- | rowspan="14" |1982 ![[മദ്രാസിലെ മോൻ|''മദ്രാസിലെ'' ''മോൻ'']] |മോഹൻലാൽ | | |- !''[[ഫുട്ബോൾ (ചലച്ചിത്രം)|ഫുട്ബോൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[കേൾക്കാത്ത ശബ്ദം]]'' |ബാബു | | |- !''[[പടയോട്ടം]]'' |കണ്ണൻ | | |- !''[[എനിക്കും ഒരു ദിവസം|എനിയ്ക്കും ഒരു ദിവസം]]'' |ബാബു | | |- !''[[ആക്രോശം (ചലച്ചിത്രം)|ആക്രോശം]]'' |മോഹനചന്ദ്രൻ | | |- !''[[എന്തിനോ പൂക്കുന്ന പൂക്കൾ]]'' |സുരേന്ദ്രൻ | | |- !''[[സിന്ദൂരസന്ധ്യക്ക് മൗനം (ചലച്ചിത്രം)|സിന്ദൂര സന്ധ്യക്കു മൗനം]]'' |കിഷോർ | | |- !''[[എന്റെ മോഹങ്ങൾ പൂവണിഞ്ഞു]]'' |ജയൻ | | |- !''[[ഞാൻ ഒന്നു പറയട്ടെ|ഞാൻ ഒന്ന് പറയട്ടെ]]'' |ശേഖരൻകുട്ടി | | |- !''[[ആ ദിവസം]]'' |ബോസ് | | |- !''[[കാളിയ മർദ്ദനം|കാളിയമർദനം]]'' |ജോണി | | |- !''[[ശ്രീ അയ്യപ്പനും വാവരും]]'' |കടുത്ത |കാമിയോ | |- !''[[കുറുക്കന്റെ കല്യാണം]]'' |സൈനബയുടെ ഭർത്താവ് | | |- | rowspan="26" |1983 !''[[വിസ (ചലച്ചിത്രം)|വിസ]]'' |വെയിൽ | | |- !''[[ഹലോ മദ്രാസ് ഗേൾ]]'' |ലാൽ | | |- !''[[എന്റെ കഥ (ചലച്ചിത്രം)|എന്റെ കഥ]]'' |രമേശ് | | |- !''[[ഭൂകമ്പം (ചലച്ചിത്രം)|ഭൂകമ്പം]]'' |രഘു | | |- !''[[ഗുരുദക്ഷിണ]]'' |മന്ത്രി പ്രഭാകരൻ | | |- !''[[നസീമ]]'' |സൈതാലി | | |- !''[[കൊലകൊമ്പൻ (ചലച്ചിത്രം)|കൊലക്കൊമ്പൻ]]'' |ഗോപി | | |- !''[[കുയിലിനെ തേടി]]'' |തമ്പുരാൻ കുട്ടി | | |- !''[[ഹിമവാഹിനി]]'' |പാപ്പി | | |- !''[[അറബിക്കടൽ (ചലച്ചിത്രം)|അറബിക്കടൽ]]'' |രവി | | |- !''[[ശേഷം കാഴ്ചയിൽ]]'' |പോലീസ് ഇൻസ്പെക്ടർ | | |- !''[[മറക്കില്ലൊരിക്കലും|മറക്കില്ലോരിക്കലും]]'' |മുരളി | | |- !''[[സന്ധ്യയ്ക്കു വിരിഞ്ഞ പൂവ്|സന്ധ്യക്കു വിരിഞ്ഞ പൂവ്]]'' |രാമു | | |- !''[[താവളം (ചലച്ചിത്രം)|താവളം]]'' |രാജപ്പൻ | | |- !''[[ആധിപത്യം]]'' |മോഹൻ | | |- !''[[ചക്രവാളം ചുവന്നപ്പോൾ]]'' |സുരേഷ് | | |- !''[[എങ്ങനെ നീ മറക്കും]]'' |ശംബു | | |- !''[[ഇനിയെങ്കിലും]]'' |രവി | | |- !''[[ആട്ടക്കലാശം]]'' |സന്തോഷ് ബാബു | | |- !''[[കാറ്റത്തെ കിളിക്കൂട്]]'' |ഉണ്ണി കൃഷ്ണൻ | | |- !''[[അസ്ത്രം (ചലച്ചിത്രം)|അസ്ത്രം]]'' |ദാസ് | | |- !''[[ചങ്ങാത്തം]]'' |സെന്റ് ഡാനിയേൽ | | |- !''[[ഒരു മുഖം പല മുഖം]]'' |സുകുമാരൻ തമ്പി | | |- !''[[നാണയം (ചലച്ചിത്രം)|നാണയം]]'' |ബാബു | | |- !''[[എന്റെ മാമാട്ടുക്കുട്ടിയമ്മയ്ക്ക്|എന്റെ മാമാട്ടിക്കുട്ടിയമ്മക്ക്]]'' |അലക്സ് | | |- !''[[പിൻനിലാവ്]]'' |രഘു | | |- | rowspan="25" |1984 !''[[അക്കരെ]]'' |സുധാകരൻ | | |- !''[[ഒന്നാണു നമ്മൾ]]'' |നന്ദഗോപാൽ | | |- !''[[സ്വന്തമെവിടെ ബന്ധമെവിടെ]]'' |രാജേന്ദ്രൻ | | |- !''[[വനിതാപോലീസ് (ചലച്ചിത്രം)|വനിതാ പോലീസ്]]'' |അച്യുതൻ | | |- !''[[അപ്പുണ്ണി]]'' |മേനോൻ മാഷ് | | |- !''[[അതിരാത്രം (ചലച്ചിത്രം)|അതിരാത്രം]]'' |പ്രസാദ് | | |- !''[[ഉണരൂ]]'' |രാമു | | |- !''[[കളിയിൽ അൽപ്പം കാര്യം]]'' |വിനയൻ | | |- !''[[പൂച്ചയ്ക്കൊരു മൂക്കുത്തി|പൂച്ചക്കൊരു മൂക്കുത്തി]]'' |ഗോപാലകൃഷ്ണൻ | | |- !''[[പാവം പൂർണിമ]]'' |അണ്ണൻ തമ്പുരാൻ | | |- !''[[ലക്ഷ്മണരേഖ (ചലച്ചിത്രം)|ലക്ഷ്മണരേഖ]]'' |സുധാകരൻ നായർ | | |- !''[[ആൾക്കൂട്ടത്തിൽ തനിയെ]]'' |അനിൽ കുമാർ | | |- ! '' [[വേട്ട]] '' |ബാലൻ | | |- !''[[ഇവിടെ തുടങ്ങുന്നു]]'' |കൃഷ്ണകുമാർ | | |- !''[[കുരിശുയുദ്ധം (ചലച്ചിത്രം)|കുരിശുയുദ്ധം]]'' |ജോണി | | |- !''[[മനസ്സറിയാതെ|മനസറിയാതെ]]'' |മമ്മൂട്ടി | | |- !''[[തിരകൾ (ചലച്ചിത്രം)|തിരകൾ]]'' |ജെയിംസ് ജോർജ് | | |- !''[[കിളിക്കൊഞ്ചൽ]]'' |രതീഷ് | | |- !''[[ഇതാ ഇന്നു മുതൽ]]'' | |അതിഥി വേഷം | |- !''[[ശ്രീകൃഷ്ണപ്പരുന്ത് (ചലച്ചിത്രം)|ശ്രീകൃഷ്ണ പരുന്ത്]]'' |കുമാരൻ | | |- !''[[അടുത്തടുത്ത്‌ (ചലച്ചിത്രം)|അടുത്തടുത്ത്]]'' |വിഷ്ണു മോഹൻ | | |- !''[[അറിയാത്ത വീഥികൾ]]'' |ബാലൻ | | |- !''[[ഉയരങ്ങളിൽ]]'' |പി.കെ. ജയരാജൻ | | |- !''[[അടിയൊഴുക്കുകൾ]]'' |ഗോപി | | |- !''[[ഒരു കൊച്ചു സ്വപ്നം]]'' |ഗിൽബെർട്ട് | | |- | rowspan="25" |1985 !''[[അവിടത്തെപ്പോലെ ഇവിടെയും|അവിടത്തെ പോലെ ഇവിടെയും]] '' |സുകുമാരൻ | | |- !''[[നോക്കെത്താദൂരത്തു കണ്ണുംനട്ട്|നോക്കെത്താ ദൂരത്ത് കണ്ണും നാട്ട്]]'' |ശ്രീകുമാർ | | |- !''[[ഓമനിക്കാൻ ഓർമ്മിക്കാൻ]]'' |ദേവ കുമാർ | | |- !''[[അരം + അരം = കിന്നരം]]'' |നാരായണൻ കുട്ടി | | |- !''[[നായകൻ]]'' |കൃഷ്ണദാസ് | | |- !''[[ഞാൻ പിറന്ന നാട്ടിൽ]]'' |ഇൻസ്പെക്ടർ രാജശേഖരൻ | | |- !''[[ഒന്നാം കുന്നിൽ ഒരടി കുന്നിൽ]]'' |നിതിൻ | | |- !''[[അനുബന്ധം (ചലച്ചിത്രം)|അനുബന്ധം]]'' |ഭാസ്കരൻ | | |- !''[[മുളമൂട്ടിൽ അടിമ]]'' |അടിമാകന്നെ | | |- !''[[വസന്തസേന (ചലച്ചിത്രം)|വസന്തസേന]]'' |ദേവൻ | | |- !''[[ഗുരുജി ഒരു വാക്ക്]]'' |സുധാകരൻ നായർ | | |- !''[[പറയാനുംവയ്യ പറയാതിരിക്കാനുംവയ്യ|പറയാനും വയ്യ പറയാതിരിക്കാനും വയ്യ]] '' |കറന്റ് ഹംസ | | |- !''[[അങ്ങാടിക്കപ്പുറത്ത്]]'' |ബാബു | | |- !''[[കൂടും തേടി]]'' |പീറ്റർ | | |- !''[[ജീവൻ്റെ ജീവൻ]]'' |ജയൻ | | |- !''[[അദ്ധ്യായം ഒന്നു മുതൽ|അധ്യായം ഒന്ന് മുതൽ]]'' |വിഷ്ണു | | |- !''[[അഴിയാത്ത ബന്ധങ്ങൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[ബോയിംഗ് ബോയിംഗ്]]'' |ശ്യാം | | |- !''[[കരിമ്പൂവിനക്കരെ]]'' |ഭദ്രൻ | | |- !''[[ഉയരും ഞാൻ നാടാകെ]]'' |ദാരപ്പൻ | | |- !''[[ഇടനിലങ്ങൾ]]'' |ബാലൻ | | |- ![[പത്താമുദയം (ചലച്ചിത്രം)|പത്താമുദയം]] |ജയമോഹനും വിക്രമനും | | |- !''[[രംഗം (ചലച്ചിത്രം)|രംഗം]]'' |അപ്പുണ്ണി | | |- !''[[ഏഴു മുതൽ ഒൻപതു വരെ]]'' |ആനന്ദ് | | |- !''[[കണ്ടു കണ്ടറിഞ്ഞു]]'' |കൃഷ്ണൻ ഉണ്ണി | | |- | rowspan="34" |1986 !''[[നിന്നിഷ്ടം എന്നിഷ്ടം]]'' |ശ്രീകുമാർ |100-ാമത്തെ ചിത്രം | |- !''[[പപ്പൻ പ്രിയപ്പെട്ട പപ്പൻ]]'' |ഇൻസ്പെക്ടർ ദേവദാസ് | | |- !''[[ഒപ്പം ഒപ്പത്തിനൊപ്പം]]'' |കൃഷ്ണൻ കുട്ടി | | |- !''[[മഴ പെയ്യുന്നു മദ്ദളം കൊട്ടുന്നു]]'' |ശംബു | | |- !''[[പഞ്ചാഗ്നി]]'' |റഷീദ് | | |- !''[[കരിയിലക്കാറ്റുപോലെ|കരിയിലക്കാറ്റ് പോലെ]] '' |ഇൻസ്പെക്ടർ അച്യുതൻകുട്ടി | | |- !''[[അഭയംതേടി|അഭയം തേടി]]'' |അപ്പു | | |- !''[[വാർത്ത (ചലച്ചിത്രം)|വാർത്ത]]'' |പരോൾ വാസു | | |- !''[[ഗീതം (ചലച്ചിത്രം)|ഗീതം]]'' |ജഗദീഷ് നായർ | | |- !''[[ഹലോ മൈഡിയർ റോംഗ് നമ്പർ|ഹലോ മൈഡിയർ റോങ്ങ് നമ്പർ]]'' |വേണുഗോപാൽ | | |- !''[[നേരം പുലരുമ്പോൾ]]'' |ദൈവരഹിതം | | |- !''[[ഇനിയും കുരുക്ഷേത്രം]]'' |സുരേഷ് ബാബു | | |- !''[[കാവേരി (ചലച്ചിത്രം)|കാവേരി]]'' |ബാലചന്ദ്രൻ നായർ | | |- !''[[മിഴിനീർപൂവുകൾ|മിഴിനീർപ്പൂവുകൾ]]'' |റിച്ചാർഡ് | | |- !''[[പൂമുഖപ്പടിയിൽ നിന്നെയും കാത്ത്]]'' |പോളി | | |- !''[[നിമിഷങ്ങൾ]]'' |മുരളി | | |- !''[[ദൂരെ ദൂരെ ഒരു കൂടു കൂട്ടാം]]'' |ദിവാകരൻ | | |- !''[[യുവജനോത്സവം]]'' |ജയൻ | | |- !''[[ശോഭരാജ്]]'' |ശോഭരാജും ധർമ്മരാജും | | |- !''[[ഒന്ന് മുതൽ പൂജ്യം വരെ]]'' |ടെലിഫോൺ അങ്കിൾ | | |- !''[[എന്റെ എന്റേതുമാത്രം|എന്റെ എന്റെതു മാത്രം]]'' |മിസ്റ്റർ മേനോൻ | | |- !''[[പടയണി (ചലച്ചിത്രം)|പടയണി]]'' |രമേശ് | | |- !''[[മനസ്സിലൊരു മണിമുത്ത്|മനസ്സില്ലൊരു മണിമുത്ത്]]'' |മോഹൻ | | |- !''[[സന്മനസ്സുള്ളവർക്ക്‌ സമാധാനം|സന്മനസ്സുള്ളവർക്കു സമാധാനം]]'' |ഗോപാലകൃഷ്ണ പണിക്കർ | | |- !''[[അടിവേരുകൾ]]'' |ബാലകൃഷ്ണൻ |നിർമ്മാതാവും | |- !''[[ദേശാടനക്കിളി കരയാറില്ല]]'' |ഹരിശങ്കർ | | |- !''[[രേവതിക്കൊരു പാവക്കുട്ടി]]'' |ഡോ. മാധവൻകുട്ടി | | |- !''[[കുഞ്ഞാറ്റക്കിളികൾ]]'' |ബാലകൃഷ്ണൻ | | |- !''[[ടി.പി. ബാലഗോപാലൻ എം.എ.|ടി.പി.ബാലഗോപാലൻ എം.എ.]]'' |ബാലഗോപാലൻ |മികച്ച നടനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര അവാർഡ് | |- !''[[ഗാന്ധിനഗർ 2nd സ്ടീറ്റ് (ചലച്ചിത്രം)|ഗാന്ധിനഗർ സെക്കന്റ് സ്ട്രീറ്റ്]]'' |സേതു / രാം സിംഗ് |നിർമ്മാതാവും | |- !''[[രാജാവിന്റെ മകൻ]]'' |വിൻസെന്റ് ഗോമസ് | | |- !''[[നമുക്കു പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ|നമുക്ക് പാർക്കാൻ മുന്തിരിത്തോപ്പുകൾ]]'' |സോളമൻ | | |- !''[[സുഖമോ ദേവി]]'' |വെയിൽ | | |- !''[[താളവട്ടം]]'' |വിനോദ് | | |- | rowspan="13" |1987 !''[[ജനുവരി ഒരു ഓർമ്മ]]'' |രാജു | | |- !''[[അമൃതം ഗമയ]]'' |ഡോ. പി.കെ. ഹരിദാസ് | | |- !''[[അടിമകൾ ഉടമകൾ]]'' |മോഹൻ ചെറിയാൻ | | |- !''[[സർവകലാശാല (ചലച്ചിത്രം)|സർവകലാശാല]]'' |ലാൽ | | |- !''[[ഇരുപതാം നൂറ്റാണ്ട് (ചലച്ചിത്രം)|ഇരുപതാം നൂറ്റാണ്ട്]]'' |സാഗർ അലിയാസ് ജാക്കി | | |- !''[[ഭൂമിയിലെ രാജാക്കന്മാർ]]'' |രാജ മഹീന്ദ്ര വർമ്മ | | |- !''[[ഉണ്ണികളെ ഒരു കഥ പറയാം|ഉണ്ണികളേ ഒരു കഥ പറയാം]]'' |അബി |നിർമ്മാതാവും | |- !''[[തൂവാനത്തുമ്പികൾ]]'' |മണ്ണാറത്തൊടി ജയകൃഷ്ണൻ | | |- !''[[കൈയെത്തും ദൂരത്ത്|കൈയേത്തും ദൂരത്ത്]]'' |വിനോദ് | | |- !''[[വഴിയോരക്കാഴ്ചകൾ]]'' |രാഘവൻ / ആന്റണി ഐസക് | | |- !''[[ചെപ്പ്]]'' |രാമചന്ദ്രൻ | | |- !''[[നാടോടിക്കാറ്റ്]]'' |ദാസൻ |നിർമ്മാതാവും | |- !''[[ഇവിടെ എല്ലാവർക്കും സുഖം]]'' |അപ്പു | | |- | rowspan="12" |1988 !''[[മുകുന്ദേട്ടാ സുമിത്ര വിളിക്കുന്നു]]'' |മുകുന്ദൻ കെ. കർത്ത | | |- !''[[ആയിത്തം ചലച്ചിത്രം|ആയിത്തം]]'' |ശങ്കരൻ | | |- !''[[മനു അങ്കിൾ]]'' | |അതിഥി വേഷം | |- !''[[ഓർക്കാപ്പുറത്ത്]]'' |ഫ്രെഡി നിക്കോളാസ് | | |- !''[[പാദമുദ്ര]]'' |മാത്തു പണ്ടാരവും സോപ്പ് കുട്ടപ്പനും | | |- !''[[പട്ടണപ്രവേശം]]'' |സിഐഡി രാംദാസ് / ദാസൻ | | |- !''[[അനുരാഗി]]'' |സാമു | | |- !''[[ആര്യൻ (ചലച്ചിത്രം)|ആര്യൻ]]'' |ദേവനാരായണൻ | | |- !''[[മൂന്നാംമുറ|മൂന്നാം മുറ]]'' |അലി ഇമ്രാൻ | | |- !''[[വെള്ളാനകളുടെ നാട്]]'' |സി.പവിത്രൻ "സി.പി" നായർ | | |- !''[[ഉത്സവപ്പിറ്റേന്ന്|ഉത്സവ പിറ്റേന്ന്]]'' |അനിയൻകുട്ടൻ | | |- !''[[ചിത്രം (ചലച്ചിത്രം)|ചിത്രം]]'' |വിഷ്ണു | | |- | rowspan="10" |1989 !''[[ലാൽ അമേരിക്കയിൽ]]'' |വിനോദ് | | |- !''[[ദൗത്യം]]'' |ക്യാപ്റ്റൻ റോയ് ജേക്കബ് തോമസ് | | |- !''[[സീസൺ]]'' |ജീവൻ | | |- !''[[വരവേൽപ്പ്]]'' |മുരളീധരൻ | | |- ! ''[[നാടുവാഴികൾ]]'' |അർജുൻ | | |- ! ''[[പെരുവണ്ണാപുരത്തെ വിശേഷങ്ങൾ]]'' |അച്യുതക്കുറുപ്പ് |കാമിയോ | |- !''[[കിരീടം (ചലച്ചിത്രം)|കീരീടം]]'' |സേതുമാധവൻ |ദേശീയ ചലച്ചിത്ര അവാർഡുകളിൽ പ്രത്യേക പരാമർശം | |- !''[[വന്ദനം]]'' |ഉണ്ണികൃഷ്ണൻ | | |- !''[[അധിപൻ]]'' |അഡ്വ. ശ്യാം പ്രകാശ് | | |- !''[[ദശരഥം]]'' |രാജീവ് മേനോൻ | | |- | rowspan="11" |1990 !''[[ഏയ് ഓട്ടോ]]'' |സുധി | | |- !''[[അക്കരെയക്കരെയക്കരെ|അക്കരെ അക്കരെ അക്കരെ]]'' |സിഐഡി രാംദാസ്/ദാസൻ | | |- !''[[നമ്പർ 20 മദ്രാസ് മെയിൽ]]'' |ടോണി കുരിശിങ്കൽ | | |- !''[[ഹിസ് ഹൈനസ്സ് അബ്ദുള്ള|ഹിസ് ഹൈനസ് അബ്ദുള്ള]]'' |അബ്ദുല്ല / ആനന്ദൻ നമ്പൂതിരി | | |- !''[[മുഖം (ചലച്ചിത്രം)|മുഖം]]'' |ഹരിപ്രസാദ് | | |- !''[[കടത്തനാടൻ അമ്പാടി]]'' |കടത്തനാടൻ അമ്പാടി | | |- !''[[താഴ്‌വാരം (ചലച്ചിത്രം)|താഴ്‌വാരം]]'' |ബാലൻ | | |- !''[[അർഹത (ചലച്ചിത്രം)|അർഹത]]'' |ദേവരാജ് | | |- !''[[ഇന്ദ്രജാലം (ചലച്ചിത്രം)|ഇന്ദ്രജാലം]]'' |കണ്ണൻ നായർ | | |- !''[[അപ്പു (ചലച്ചിത്രം)|അപ്പു]]'' |അപ്പു | | |- !''[[ലാൽസലാം (ചലച്ചിത്രം)|ലാൽ സലാം]]'' |നെട്ടൂർ സ്റ്റീഫൻ | | |- | rowspan="10" |1991 !''[[ധനം (ചലച്ചിത്രം)|ധനം]]'' |ശിവശങ്കരൻ | | |- !''[[ഗോപുര വാസലീലെ]]'' |അക്കോർഡിയനിസ്റ്റ് |തമിഴ് സിനിമ; "കേളടി എൻ പാവായേ" എന്ന ഗാനത്തിലെ പ്രത്യേക വേഷം. | |- !''[[ഭരതം]]'' |കല്ലൂർ ഗോപിനാഥൻ |മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം | |- !''[[വാസ്തുഹാരാ|വാസ്തുഹാര]]'' |വേണുഗോപാൽ | | |- !''[[വിഷ്ണുലോകം]]'' |ശങ്കു | | |- !''[[അങ്കിൾ ബൺ]]'' |ചാർളി ചാക്കോ | | |- !''[[കിലുക്കം]]'' |ജോജി | | |- !''[[ഉള്ളടക്കം]]'' |ഡോ. സണ്ണി | | |- !''[[കിഴക്കുണരും പക്ഷി]]'' |അനന്ത് മൂർത്തി | | |- !''[[അഭിമന്യു (ചലച്ചിത്രം)|അഭിമന്യു]]'' |ഹരികൃഷ്ണൻ | | |- | rowspan="9" |1992 !''[[സദയം]]'' |സത്യനാഥൻ | | |- !''[[കമലദളം]]'' |നന്ദഗോപൻ | | |- !''[[അഹം]]'' |സിദ്ധാർത്ഥൻ | | |- !''[[രാജശിൽ‌പി|രാജശിൽപി]]'' |ശംഭു | | |- !''[[യോദ്ധാ|യോദ്ധ]]'' |തൈപ്പറമ്പിൽ അശോകൻ | | |- !''[[അദ്വൈതം (ചലച്ചിത്രം)|അദ്വൈതം]]'' |ശിവപ്രസാദ് | | |- !''[[സൂര്യഗായത്രി]]'' |ഡോ. ബാലസുബ്രഹ്മണ്യം | | |- !''[[നാടോടി (ചലച്ചിത്രം)|നാടോടി]]'' |സച്ചിദാനന്ദൻ, ബാലകൃഷ്ണൻ ഭാഗവതർ | | |- !''[[വിയറ്റ്നാം കോളനി]]'' |ജി. കൃഷ്ണമൂർത്തി | | |- | rowspan="8" |1993 !''[[മിഥുനം]]'' |സേദുമാധവൻ | | |- !''[[ദേവാസുരം]]'' |മംഗലശ്ശേരി നീലകണ്ഠൻ |200-ാമത്തെ ചിത്രം | |- !''[[ബട്ടർഫ്ലൈസ്]]'' |രാജകുമാരൻ | | |- !''[[മായാമയൂരം]]'' |കൃഷ്ണൻ ഉണ്ണിയും നരേന്ദ്രനും | | |- !''[[ഗാന്ധർവ്വം]]'' |സാമുവൽ അലക്സാണ്ടർ | | |- !''[[ചെങ്കോൽ (ചലച്ചിത്രം)|ചെങ്കോൽ]]'' |സേതുമാധവൻ | | |- !''[[കളിപ്പാട്ടം (ചലച്ചിത്രം)|കളിപ്പാട്ടം]]'' |വേണു | | |- !''[[മണിച്ചിത്രത്താഴ് (ചലച്ചിത്രം)|മണിച്ചിത്രത്താഴ്]]'' |ഡോ. സണ്ണി ജോസഫ് | | |- | rowspan="6" |1994 !''[[പവിത്രം]]'' |ഉണ്ണികൃഷ്ണൻ | | |- !''[[തേന്മാവിൻ കൊമ്പത്ത്]]'' |മാണിക്യൻ | | |- !''[[പിൻഗാമി]]'' |ക്യാപ്റ്റൻ വിജയ് മേനോൻ | | |- !''[[ഗാണ്ഡീവം ചലച്ചിത്രം|ഗണ്ഡീവം]]'' |ക്യാപ്റ്റൻ |തെലുങ്ക് സിനിമ; "ഗൊരുവാങ്ക വലഗനേ" എന്ന ഗാനത്തിലെ പ്രത്യേക വേഷം. | |- !''[[പക്ഷേ]]'' |ബാലചന്ദ്രൻ | | |- !''[[മിന്നാരം (ചലച്ചിത്രം)|മിന്നാരം]]'' |ബോബി | | |- | rowspan="5" |1995 !''[[നിർണ്ണയം|നിർണയം]]'' |ഡോ. റോയ് അലക്സ് | | |- !''[[സ്ഫടികം (ചലച്ചിത്രം)|സ്ഫടികം]]'' |തോമസ് "ആടുതോമ" ചാക്കോ | | |- !''[[തച്ചോളി വർഗ്ഗീസ് ചേകവർ|തച്ചോളി വർഗീസ് ചേകവർ]]'' |തച്ചോളി വർഗീസ് ചേകവർ | | |- !''[[മാന്ത്രികം]]'' |സ്റ്റീഫൻ റൊണാൾഡ് / ആൽബി റോമിയോ ഹിഗ്വിറ്റ | | |- !''[[അഗ്നിദേവൻ ചലച്ചിത്രം|അഗ്നിദേവൻ]]'' |അനിയൻകുട്ടൻ / രവിവർമ്മ | | |- | rowspan="2" |1996 !''[[കാലാപാനി (ചലച്ചിത്രം)|കാലാപാനി]]'' |ഡോ. ഗോവർദ്ധൻ മേനോൻ | | |- !''[[ദി പ്രിൻസ് ചലച്ചിത്രം|ദി പ്രിൻസ്]]'' |ജീവ | | |- | rowspan="6" |1997 !''[[ഇരുവർ]]'' |ആനന്ദൻ |തമിഴ് സിനിമ | |- !''[[വർണ്ണപ്പകിട്ട്|വർണപകിട്ട്]]'' |സണ്ണി പാലമറ്റം | | |- !''[[ഒരു യാത്രാമൊഴി]]'' |ഗോവിന്ദൻകുട്ടി | | |- !''[[ചന്ദ്രലേഖ]]'' |അപ്പുക്കുട്ടൻ / ആൽഫി | | |- !''[[ഗുരു (ചലച്ചിത്രം)|ഗുരു]]'' |രഘുരാമൻ | | |- !''[[ആറാം തമ്പുരാൻ]]'' |ജഗന്നാഥൻ | | |- | rowspan="5" |1998 !''[[കന്മദം (ചലച്ചിത്രം)|കന്മദം]]'' |വിശ്വനാഥൻ | | |- !''[[ഹരികൃഷ്ണൻസ്]]'' |അഡ്വ. കൃഷ്ണൻ | | |- !''[[രക്തസാക്ഷികൾ സിന്ദാബാദ്]]'' |ശിവ സുബ്രഹ്മണ്യ അയ്യർ | | |- !''[[അയാൾ കഥയെഴുതുകയാണ്|അയാൾ കഥ എഴുതുകയാണ്]] '' |സാഗർ കോട്ടപ്പുറം / വിദ്യാസാഗർ | | |- !''[[സമ്മർ ഇൻ ബത്‌ലഹേം|സമ്മർ ഇൻ ബത്ലേഹം]]'' |നിരഞ്ജൻ |കാമിയോ | |- | rowspan="3" |1999 !''[[ഉസ്താദ് (ചലച്ചിത്രം)|ഉസ്താദ്]]'' |പരമേശ്വരൻ / ഉസ്താദ് | | |- !''[[ഒളിമ്പ്യൻ അന്തോണി ആദം|ഒളിമ്പിയൻ ആന്തോണി ആദം]]'' |എസ്പി ആൻ്റണി ചക്കുംമൂട്ടിൽ വർഗീസ് ഐപിഎസ് | | |- !''[[വാനപ്രസ്ഥം (ചലച്ചിത്രം)|വാനപ്രസ്ഥം]]'' |കുഞ്ഞിക്കുട്ടൻ |മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര പുരസ്കാരം | |- | rowspan="4" |2000 !''[[നരസിംഹം (ചലച്ചിത്രം)|നരസിംഹം]]'' |പൂവള്ളി ഇന്ദ്രചൂഡൻ | | |- !'' [[ലൈഫ് ഈസ് ബ്യൂട്ടിഫുൾ]]'' |വിനയ ചന്ദ്രൻ | | |- !''[[ശ്രദ്ധ (ചലച്ചിത്രം)|ശ്രദ്ധ]]'' |ഗംഗാപ്രസാദ് ഐ.പി.എസ്. | | |- !''[[ദേവദൂതൻ]]'' |വിശാൽ കൃഷ്ണമൂർത്തി | | |- | rowspan="5" |2001 !''[[കാക്കക്കുയിൽ]]'' |ശിവരാമൻ | | |- !''[[രാവണപ്രഭു]]'' |മംഗലശ്ശേരി നീലകണ്ഠനും കാർത്തികേയനും | | |- !''[[പ്രജ]]'' |സാക്കിർ അലി ഹുസൈൻ | | |- !''[[ഉന്നതങ്ങളിൽ]]'' |വിവേക് | rowspan="2" |കാമിയോ | |- !'' [[അച്ഛനെയാണെനിക്കിഷ്ടം]]'' |മഹാദേവൻ | |- | rowspan="4" |2002 !''[[കമ്പനി (ഹിന്ദി ചലച്ചിത്രം)|കമ്പനി]]'' |ഐജി വീരപ്പള്ളി ശ്രീനിവാസൻ ഐപിഎസ് |ഹിന്ദി സിനിമ | |- !''[[ഒന്നാമൻ (ചലച്ചിത്രം)|ഒന്നാമൻ]]'' |രവിശങ്കർ | | |- !''[[താണ്ഡവം (ചലച്ചിത്രം)|താണ്ഡവം]]'' |കാശിനാഥൻ | | |- !''[[ചതുരംഗം (ചലച്ചിത്രം)|ചതുരംഗം]]'' |ആറ്റിപ്രാക്കൽ ജിമ്മി ജേക്കബ് | | |- | rowspan="6" |2003 !''[[പോപ്പ് കോൺ ചലച്ചിത്രം|പോപ്പ് കോൺ]]'' |വിക്രമാദിത്യൻ |തമിഴ് സിനിമ | |- !''[[മിസ്റ്റർ ബ്രഹ്മചാരി]]'' |അനന്തൻ തമ്പി | | |- !''[[കിളിച്ചുണ്ടൻ മാമ്പഴം (ചലച്ചിത്രം)|കിളിച്ചുണ്ടൻ മാമ്പഴം]]'' |അബ്ദുൾ ഖാദർ | | |- !''[[ബാലേട്ടൻ]]'' |അത്താണിപ്പറമ്പിൽ ബാലചന്ദ്രൻ | | |- !''[[ഹരിഹരൻപിള്ള ഹാപ്പിയാണ്|ഹരിഹരൻ പിള്ള ഹാപ്പിയാണ്]]'' |ഹരിഹരൻ പിള്ള | | |- !''[[തിരനോട്ടം (2003 ചലച്ചിത്രം)|തിരനോട്ടം]]'' |കുട്ടപ്പൻ |വൈകിയ റിലീസ് | |- | rowspan="6" |2004 !''[[വാമനപുരം ബസ്‌റൂട്ട്|വാമനപുരം ബസ് റൂട്ട്]]'' |ലിവർ ജോണി | | |- !''[[വിസ്മയത്തുമ്പത്ത്|വിസ്മയതുമ്പത്ത്]]'' |ശ്രീകുമാർ | | |- !''[[സ്നേഹം (ചലച്ചിത്രം)|സ്നേഹം]]'' |മോഹൻ നായർ |കന്നഡ സിനിമ; അതിഥി വേഷം | |- !''[[വാണ്ടഡ് (മലയാള ചലച്ചിത്രം)|വാണ്ടഡ്]]'' |നാരായണ സ്വാമി ഐപിഎസ് | | |- !''[[നാട്ടുരാജാവ്]]'' |പുലിക്കാട്ടിൽ ചാർളി | | |- !''[[മാമ്പഴക്കാലം]]'' |പുരമനയിൽ ചന്ദ്രൻ | | |- | rowspan="5" |2005 !''[[ഉദയനാണ് താരം|ഉദയനാണു താരം]]'' |ഉദയഭാനു | | |- !''[[ചന്ദ്രോത്സവം (ചലച്ചിത്രം)|ചന്ദ്രോൽസവം]]'' |ചിറക്കൽ ശ്രീഹരി | | |- !''[[ഉടയോൻ]]'' |ശൂരനാട് പാപ്പോയി, ശൂരനാട് കുഞ്ഞ് | | |- !''[[നരൻ]]'' |മുള്ളൻകൊല്ലി വേലായുധൻ | | |- !''[[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]]'' |രമേശൻ നായർ | | |- | rowspan="7" |2006 !''[[കിലുക്കം കിലുകിലുക്കം]]'' |ജോജി |കാമിയോ | |- !''[[രസതന്ത്രം (ചലച്ചിത്രം)|രസതന്ത്രം]]'' |പ്രേമചന്ദ്രൻ | | |- !''[[വടക്കുംനാഥൻ (ചലച്ചിത്രം)|വടക്കുംനാഥൻ]]'' |ഇരിങ്ങണ്ണൂർ ഭരത പിഷാരടി | | |- !''[[കീർത്തിചക്ര (ചലച്ചിത്രം)|കീർത്തി ചക്ര]]'' |മേജർ മഹാദേവൻ | | |- !''[[മഹാസമുദ്രം (ചലച്ചിത്രം)|മഹാസമുദ്രം]]'' |ഇസഹാക്ക് വേളാങ്കണ്ണി | | |- !''[[ഫോട്ടോഗ്രാഫർ (ചലച്ചിത്രം)|ഫോട്ടോഗ്രാഫർ]]'' |ഡിജോ ജോണും ജോയ് ജോണും | | |- !''[[ബാബ കല്യാണി (ചലച്ചിത്രം)|ബാബ കല്യാണി]]'' |ബാബ കല്യാണി ഐപിഎസ് | | |- | rowspan="7" |2007 !''[[ഛോട്ടാ മുംബൈ]]'' |വാസ്കോ "തല" | | |- !''[[ഹലോ]]'' |ശിവരാമൻ | | |- !''[[അലിഭായ്]]'' |അൻവർ അലി "അലി ഭായ്" | | |- !''[[രാം ഗോപാൽ വർമ്മ കി ആഗ്]]'' |ഇൻസ്പെക്ടർ നരസിംഹ |ഹിന്ദി സിനിമ | |- !''[[പരദേശി]]'' |വലിയകത്ത് മൂസ | | |- !''[[റോക്ക് ആൻഡ്‌ റോൾ (ചലച്ചിത്രം)|റോക്ക് ആൻഡ് റോൾ]]'' |ചന്ദ്രമൗലി | | |- !''[[ഫ്ലാഷ് ചലച്ചിത്രം|ഫ്ലാഷ്]]'' |ഡോ. മിഥുൻ മാധവ് | | |- | rowspan="9" |2008 !''[[ഹല്ലാ ബോൾ]]'' |അവൻ തന്നെ |ഹിന്ദി സിനിമ; അതിഥി വേഷം | |- !''[[കോളേജ് കുമാരൻ]]'' |ക്യാപ്റ്റൻ ശ്രീകുമാർ/ കാൻ്റീന് കുമാരൻ/ കോളേജ് കുമാരൻ | | |- !''[[ഇന്നത്തെ ചിന്താവിഷയം]]'' |ഗോപകുമാർ "ജി കെ" | | |- !''[[മിഴികൾ സാഷി|മിഴികൾ സാക്ഷി]]'' |പ്രൊഫസർ സയീദ് അഹമ്മദ് | | |- !''[[മാടമ്പി (ചലച്ചിത്രം)|മാടമ്പി]]'' |പുത്തൻപുരയ്ക്കൽ ഗോപാലകൃഷ്ണപിള്ള | | |- !''[[ആകാശഗോപുരം|ആകാശ ഗോപുരം]]'' |ആൽബർട്ട് സാംസൺ | | |- !''[[കുരുക്ഷേത്ര (ചലച്ചിത്രം)|കുരുക്ഷേത്ര]]'' |കേണൽ മഹാദേവൻ | | |- !''[[ട്വന്റി20 (ചലച്ചിത്രം)|ട്വൻറി 20]]'' |ദേവരാജ പ്രതാപ വർമ്മ | | |- !''[[പകൽ നക്ഷത്രങ്ങൾ]]'' |സിദ്ധാർത്ഥൻ | | |- | rowspan="7" |2009 ! [[റെഡ് ചില്ലീസ്|റെഡ് ചില്ലിസ്]] |ഒയ്യാരത്തു മടത്തിൽ രാമനാഥൻ | | |- !''[[സാഗർ എലിയാസ് ജാക്കി റീലോഡഡ്|സാഗർ അലിയാസ് ജാക്കി റീലോഡഡ്]]'' |സാഗർ അലിയാസ് ജാക്കി | | |- !''[[ഭഗവാൻ (മലയാള ചലച്ചിത്രം)|ഭഗവാൻ]]'' |ഡോ. ബാലഗോപാലൻ | | |- !''[[ഭ്രമരം (ചലച്ചിത്രം)|ഭ്രമരം]]'' |ശിവൻകുട്ടി | | |- !''[[ഉന്നൈപോൾ ഒരുവൻ]]'' |ഡിജിപി ഗോവിന്ദ രാഘവൻ മാരാർ ഐപിഎസ് |തമിഴ് സിനിമ | |- !''[[എയ്ഞ്ചൽ ജോൺ|ഏഞ്ചൽ ജോൺ]]'' |ഏഞ്ചൽ ജോൺ | | |- !''[[ഇവിടം സ്വർഗ്ഗമാണ്|ഇവിടം സ്വർഗമാണ്]] '' |മാത്യൂസ് ജെറമിയാസ് | | |- | rowspan="5" |2010 !''[[ജനകൻ (ചലച്ചിത്രം)|ജനകൻ]]'' |അഡ്വ. സൂര്യ നാരായണൻ | | |- !''[[അലക്സാണ്ടർ ദി ഗ്രേറ്റ്]]'' |അലക്സാണ്ടർ വർമ്മ | | |- !''[[ഒരു നാൾ വരും]]'' |കുളപ്പുള്ളി സുകുമാരൻ / ഡി വൈ എസ് പി നന്ദകുമാർ | | |- !''ശിക്കാർ'' |ബലരാമൻ | | |- !''[[കാണ്ഡഹാർ (ചലച്ചിത്രം)|കാണ്ഡഹാർ]]'' |മേജർ മഹാദേവൻ | | |- | rowspan="5" |2011 !''[[ക്രിസ്ത്യൻ ബ്രദേഴ്സ്]]'' |ഷെർസൺ എന്ന ക്രിസ്റ്റി വർഗീസ് മാപ്പിള | | |- !''[[ചൈനാടൗൺ|ചൈന ടൗൺ]]'' |മാത്തുക്കുട്ടിയും സേവ്യറും | | |- !''[[പ്രണയം (ചലച്ചിത്രം)|പ്രണയം]]'' |മാത്യൂസ് | | |- !''[[സ്നേഹവീട്]]'' |അജയൻ മേനോൻ |300-ാമത്തെ ചിത്രം | |- ![[അറബീം ഒട്ടകോം പി. മാധവൻ നായരും|''അറബീം ഒട്ടകോം പി.മാധവൻ നായരും'' ''ഒരു മരുഭൂമിക്കഥ'']] |പി. മാധവൻ നായർ | | |- | rowspan="6" |2012 !''[[കാസനോവ (ചലച്ചിത്രം)|കാസനോവ]]'' |കാസനോവ | | |- ![[തേസ്]] |ശിവൻ മേനോൻ |ഹിന്ദി സിനിമ; കാമിയോ | |- !''[[ഗ്രാൻഡ് മാസ്റ്റർ|ഗ്രാൻഡ്മാസ്റ്റർ]]'' |ഐജി ചന്ദ്രശേഖർ ഐപിഎസ് | | |- !''[[സ്പിരിറ്റ് (ചലച്ചിത്രം)|സ്പിരിറ്റ്]]'' |രഘു നന്ദൻ | | |- !''[[റൺ ബേബി റൺ]]'' |വേണു | | |- ! ''[[കർമ്മയോദ്ധാ]]'' |ഡിസിപി മാധവ "മാഡ് മാഡി" മേനോൻ ഐപിഎസ് | | |- | rowspan="6" |2013 !''[[ലോക്പാൽ (ചലച്ചിത്രം)|ലോക്പാൽ]]'' |നന്ദഗോപാൽ / ലോക്പാൽ | | |- !''[[റെഡ്‌ വൈൻ|റെഡ് വൈൻ]]'' |എസിപി രതീഷ് വാസുദേവൻ ഐപിഎസ് | | |- !''[[ലേഡീസ് & ജെന്റിൽമാൻ|ലേഡീസ് & ജൻ്റിൽമെൻ]]'' |ചന്ദ്രബോസ് | | |- !''[[കടൽ കടന്ന് ഒരു മാത്തുക്കുട്ടി]]'' | |കാമിയോ വേഷം | |- !''[[ഗീതാഞ്ജലി (2013 മലയാള ചലച്ചിത്രം)|ഗീതാഞ്ജലി]]'' |ഡോ. സണ്ണി ജോസഫ് | | |- !''[[ദൃശ്യം]]'' |ജോർജ്ജ്കുട്ടി | | |- | rowspan="4" |2014 !''[[ജില്ല (ചലച്ചിത്രം)|ജില്ല]]'' |ശിവൻ |തമിഴ് സിനിമ | |- !''[[മിസ്റ്റർ ഫ്രോഡ്]]'' |ഭായ് ജി / ജോൺ ക്ലിഫ് / ശിവറാം | | |- !''[[കൂതറ]]'' |ഉസ്താദ് സാലി | | |- !''[[പെരുച്ചാഴി (ചലച്ചിത്രം)|പെരുച്ചാഴി]]'' |ജഗന്നാഥൻ | | |- | rowspan="6" |2015 !''[[രസം (ചലച്ചിത്രം)|രസം]]'' |അവൻ തന്നെ |അതിഥി വേഷം | |- !''[[മൈത്രി (2015-ലെ ചലച്ചിത്രം)|മൈത്രി]]'' |മഹാദേവ് ഗോഡ്കെ |കന്നഡ സിനിമ; കാമിയോ; ''മൈ ഹീറോ മൈത്രി'' എന്ന പേരിൽ ഭാഗികമായി മലയാളത്തിൽ റീഷോട്ട് ചെയ്തു | |- !''[[എന്നും എപ്പോഴും|എന്നും എപ്പൊഴും]]'' |വിനീത് എൻ. പിള്ള | | |- !''[[ലൈലാ ഓ ലൈലാ]]'' |ജയ് മോഹൻ | | |- !''[[ലോഹം (ചലച്ചിത്രം)|ലോഹം]]'' |രാജീവ് "രാജു" സത്യമൂർത്തി | | |- !''[[കനൽ]]'' |ജോൺ ഡേവിഡ് | | |- | rowspan="4" |2016 ! ''[[വിസ്മയം]]'' |സായി റാം |തെലുങ്ക് സിനിമ; ''വിസ്മയം'' എന്ന പേരിൽ ഭാഗികമായി മലയാളത്തിൽ റീഷോട്ട് ചെയ്തു | |- !''[[ജനത ഗാരേജ്|ജനതാ ഗാരേജ്]]'' |സത്യം |തെലുങ്ക് സിനിമ | |- !''[[ഒപ്പം]]'' |ജയരാമൻ | | |- !''[[പുലിമുരുകൻ]]'' |മുരുകൻ | | |- | rowspan="4" |2017 !''[[മുന്തിരിവള്ളികൾ തളിർക്കുമ്പോൾ]]'' |ഉലഹന്നാൻ "ഉണ്ണച്ചൻ" | | |- !''[[1971: ബിയോണ്ട് ബോർഡേഴ്സ്]]'' |കേണൽ മഹാദേവനും മേജർ സഹദേവനും | | |- !''[[വെളിപാടിന്റെ പുസ്തകം]]'' |മൈക്കൽ | | |- !''[[വില്ലൻ (ചലച്ചിത്രം)|വില്ലൻ]]'' |എഡിജിപി മാത്യു മാഞ്ഞൂരാൻ ഐപിഎസ് | | |- | rowspan="5" |2018 !''[[ആദി (ചലച്ചിത്രം)|ആദി]]'' |അവൻ തന്നെ |കാമിയോ വേഷം | |- !''[[നീരാളി (സിനിമ)|നീരാളി]]'' |സണ്ണി ജോർജ് | | |- !''[[കായംകുളം കൊച്ചുണ്ണി (ചലച്ചിത്രം)|കായംകുളം കൊച്ചുണ്ണി]]'' |ഇത്തിക്കര പക്കി |എക്സ്റ്റൻഡഡ് കാമിയോ | |- !''[[ഡ്രാമ ചലച്ചിത്രം|ഡ്രാമ]]'' |രാജഗോപാൽ | | |- !''[[ഒടിയൻ (ചലച്ചിത്രം)|ഒടിയൻ]]'' |ഒടിയൻ മാണിക്യൻ | | |- | rowspan="3" |2019 !''[[ലൂസിഫർ (ചലച്ചിത്രം)|ലൂസിഫർ]]'' |സ്റ്റീഫൻ നെടുമ്പള്ളി / ഖുറേഷി അബ്‌റാം | | |- !''[[ഇട്ടിമാണി:മെയ്ഡ് ഇൻ ചൈന|ഇട്ടിമാണി മെയ്ഡ് ഇൻ ചൈന]]'' |ഇട്ടിമാണിയും ഇട്ടിമാതനും | | |- !''[[കാപ്പാൻ]]'' |പി.എം. ചന്ദ്രകാന്ത് വർമ്മ |തമിഴ് സിനിമ | |- |2020 !''[[ബിഗ് ബ്രദർ]]'' |സച്ചിദാനന്ദൻ | | |- | rowspan="2" |2021 !''[[ദൃശ്യം 2]]'' |ജോർജ്ജ്കുട്ടി | | |- !''[[മരക്കാർ അറബിക്കടലിന്റെ സിംഹം|മരക്കാർ: അറബിക്കടലിൻ്റെ സിംഹം]]'' |കുഞ്ഞാലി മരക്കാർ | | |- | rowspan="4" |2022 !''ബ്രോ ഡാഡി'' |ജോൺ ചാക്കോ കട്ടടി | | |- !''[[ആറാട്ട് (2022 ചലച്ചിത്രം)|ആറാട്ട്]]'' |ഗാനഭൂഷണം നെയ്യാറ്റിൻകര ഗോപൻ / കേണൽ സൂര്യചന്ദ്രലാൽ / ഏജൻ്റ് എക്സ് | | |- !''ട്വൽത്ത് മാൻ'' |ഡിവൈഎസ്പി ചന്ദ്രശേഖർ | | |- !''[[മോൺസ്റ്റർ]]'' |ലക്കി സിംഗ് / ശിവദേവ് സുബ്രഹ്മണ്യം ഐപിഎസ് | | |- | rowspan="3" |2023 !''[[എലോൺ (മലയാള ചലച്ചിത്രം)|എലോൺ]]'' |കാളിദാസ് | | |- !''[[ജയിലർ (ചലച്ചിത്രം)|ജയിലർ]]'' |മാത്യു |തമിഴ് സിനിമ; കാമിയോ | |- !''[[നേര് (സിനിമ)|നേര്]]'' |അഡ്വ. വിജയമോഹൻ | | |- | rowspan="2" |2024 !''[[മലൈക്കോട്ടൈ വാലിബൻ]]'' |മലൈക്കോട്ടൈ വാലിബൻ / മലൈക്കോട്ടൈ മലയൻ | | |- !''[[ബറോസ്|ബറോസ് 3D]]'' |ബാരോസ് |സംവിധായകൻ കൂടി | |- | rowspan="6" |2025 !''[[L2: എംപുരാൻ|L2: എമ്പുരാൻ]]'' |ഖുറേഷി അബ്രാം / സ്റ്റീഫൻ നെടുമ്പള്ളി | | |- !''[[തുടരും]]'' |ഷൺമുഖം "ബെൻസ്" | | |- !''[[കണ്ണപ്പ (ചലച്ചിത്രം)|കണ്ണപ്പ]]'' |കിരാത |തെലുങ്ക് സിനിമ; കാമിയോ | |- !''[[ഹൃദയപൂർവ്വം]]'' |സന്ദീപ് ബാലകൃഷ്ണൻ | | |- !''[[ഭ. ഭ. ബ|ഭാ. ഭാ. ബാ.]]'' |ഗില്ലി ബാല |വിപുലീകൃത അതിഥി വേഷം | |- !''[[:en:Vrusshabha|വൃഷഭ]]'' |രാജാ വിജയേന്ദ്ര വൃഷഭ / ആദി ദേവ |തെലുങ്ക്-മലയാളം ദ്വിഭാഷാ ചിത്രം | |- | rowspan="3" |2026 !''[[പേട്രിയറ്റ്]]'' |കേണൽ. റഹീം നായിക് | | |- !''[[ദൃശ്യം 3|''ദൃശ്യം 3'']] |ജോർജ്ജ്കുട്ടി | | |- | ''<big>[[ഖലീഫ (ചലച്ചിത്രം 2026)|ഖലീഫാ]]</big>'' |മമ്പറക്കൽ അഹമ്മദ് അലി |കാമിയോ വേഷം | |- |} * ==പ്രശസ്തി== താൻ കൈകാര്യം ചെയ്ത വേഷങ്ങൾ, ലളിതവും സ്വാഭാവികവുമായുള്ള അഭിനയ രീതി തുടങ്ങിയ ഘടകങ്ങളാണ്‌ 1980-കളിൽ മോഹൻലാലിനെ മലയാളികൾക്കിടയിൽ പ്രിയങ്കരനാക്കിയത്. ''ലാൽ'' അല്ലെങ്കിൽ ''ലാലേട്ടൻ'' എന്നായിരുന്നു മോഹൻലാൽ പൊതുവെ അറിയപ്പെട്ടിരുന്നത്. എന്നാൽ, 80-കളിലെ മോഹൻലാലിന്റെ ചിത്രങ്ങൾ പൊതുവെ ബഡ്ജറ്റിനകത്ത് നിൽക്കുന്ന ചിത്രങ്ങളായതു കൊണ്ടും, അവയുടെ തിരക്കഥ തികച്ചും മലയാളികൾക്കു മാത്രമായതിനാലും ഈ ചിത്രങ്ങൾ കേരളത്തിനു പുറത്ത് അധികം ശ്രദ്ധേയമായിരുന്നില്ല. പിന്നീട് 2000-നു ശേഷം, ചില മലയാളേതര ചിത്രങ്ങളിലെ അഭിനയവും കേരളത്തിനു പുറത്തെ മലയാളികളുടെ വളർച്ചയും അദ്ദേഹത്തെ [[തമിഴ്|തമിഴിലും]], [[ഹിന്ദി|ഹിന്ദിയിലും]] പ്രശസ്തനാക്കി. തന്റെ 30 വർഷത്തിലധികം നീണ്ട അഭിനയ ജീ‍വിതത്തിൽ മാറ്റങ്ങളെ ഉൾക്കൊണ്ടു അഭിനയിച്ചിട്ടുള്ള ഒരു നടനാണ് ലാൽ. പുതിയ നായക നടന്മാർ മലയാള ചലച്ചിത്ര രംഗത്ത് ഉയർന്നു വന്നെങ്കിലും ഒരു മലയാള ചലച്ചിത്രത്തിലെ സൂപ്പർസ്റ്റാർ എന്ന പദവി നില നിർത്താൻ ലാലിനു കഴിഞ്ഞു. എന്നാൽ നികുതി വെട്ടിപ്പ് നടത്തി രാജ്യത്തെയും ആരാധകരെയും വഞ്ചിച്ചു എന്ന വാർത്തകൾ പ്രചരിച്ചതോടെ ലാലിന്റെ ജനസമ്മതി കുറഞ്ഞു എന്ന് പറയുന്നവരും ഉണ്ട്. മലയാള സിനിമയിൽ ഏറ്റവും ഉയർന്ന പ്രതിഫലം ലഭിക്കുന്ന നടൻ കൂടിയാണ് മോഹൻലാൽ.<ref name=highest-paid-actor>[http://1.bp.blogspot.com/_zlh03mK1KGM/R4jQ-Bx2RnI/AAAAAAAAAR4/SQ2YTNOjKqE/s1600-h/superstars-2007_Page_1.jpg "Mohanlal the highest paid actor".].</ref> ==നാടക രംഗത്ത്== മറ്റ് ധാരാളം മലയാള നടീ നടന്മാരെപ്പോലെ ലാലിന് ഒരു [[നാടകം|നാടക]] അഭിനയ ചരിത്രമില്ല. പക്ഷേ, അദ്ദേഹം ചില സുപ്രധാന നാടകങ്ങളിൽ അഭിനയിച്ചിട്ടുണ്ട്. ലാൽ തന്റെ ആദ്യ നാടകത്തിൽ അഭിനയിച്ചത് ''കർണ്ണഭാരം'' എന്ന നാടകത്തിൽ [[മഹാഭാരതം|മഹാഭാരതത്തിലെ]] കഥാപാത്രമായ [[കർണ്ണൻ|കർണ്ണന്റെ]] വേഷത്തിലാണ്. [[മലയാളം|മലയാളത്തിലെ]] ആധുനിക നാടക വേദിയെ നവീകരിച്ച നാടകാചാര്യനായ [[കാവാലം നാരായണപണിക്കർ]] ആയിരുന്നു ഈ നാടകത്തിന്റെ സംവിധായകൻ. [[ന്യൂ ഡെൽഹി|ന്യൂ ഡെൽഹിയിൽ]] പ്രഥമ പ്രദർശനം നടത്തിയ ഈ നാടകം ദേശീയ നാടക ഉത്സവത്തിലും അവതരിപ്പിച്ചു. പിന്നീട് ചലച്ചിത്ര-നാടക സംവിധായകനായ [[ടി.കെ. രാജീവ് കുമാർ]]‍ സംവിധാനം ചെയ്ത ''കഥയാട്ടം'' എന്ന നാടക രൂപാന്തരത്തിലും അഭിനയിച്ചു.<ref name="jtpac.org"/> ഇതിൽ മലയാള സാഹിത്യത്തിലെ പത്ത് സുപ്രധാന കഥാപാത്രങ്ങളെയാണ് മോഹൻലാൽ അവതരിപ്പിച്ചത്. തുടർന്ന് ''ഛായാമുഖി'' എന്ന നാടകത്തിലും മോഹൻലാൽ അഭിനയിക്കുകയുണ്ടായി. മഹാഭാരതത്തിലെ തന്നെ കഥാപാത്രങ്ങളായ ഭീമന്റെയും, കീചകന്റെയും കഥയാണ് ഛായാമുഖി. ഇതിൽ ഭീമനായി, മോഹൻലാലും, കീചകനായി പ്രശസ്ത നടൻ [[മുകേഷ് (ചലച്ചിത്രനടൻ)|മുകേഷും]] വേഷമിട്ടു. ഈ നാടകം നിർ‍മ്മിച്ചത് മോഹൻലാലിന്റെയും മുകേഷിന്റെയും സൗഹൃദ സംരംഭമായ ''കാളിദാസ വിഷ്വൽ മാജിക്'' ആണ്.<ref name="jtpac.org"/>. ഛായാമുഖി എഴുതി, സംവിധാനം ചെയ്തത് പ്രശാന്ത് നാരായണൻ ആയിരുന്നു.<ref name="jtpac.org"/> ഛായാമുഖി നല്ല രീതിയിൽ അവതരിപ്പിക്കുന്നതിനു വേണ്ടി ഏകദേശം 60 ദിവസം മോഹൻലാലും, മുകേഷും അടങ്ങുന്ന സംഘം പരിശീലനം നടത്തുകയുണ്ടായി. ==കുടുംബം== അന്തരിച്ച [[തമിഴ്]] നടനും, നിർമ്മാതാവുമായ [[കെ. ബാലാജി|കെ. ബാലാജിയുടെ]] മകൾ സുചിത്രയെയാണ്‌ മോഹൻലാൽ വിവാഹം ചെയ്തിരിക്കുന്നത്. ഇവർക്ക് രണ്ടു മക്കളുണ്ട് : പ്രണവ്, വിസ്മയ. [[പ്രണവ്‌ മോഹൻലാൽ|പ്രണവ്]] ബാലതാരമായി ചലച്ചിത്രങ്ങളിൽ അഭിനയിച്ചിരുന്നു. മോഹൻലാൽ തന്നെ നായകനായി അഭിനയിച്ച ''ഒന്നാമൻ'' എന്ന ചിത്രത്തിൽ മോഹൻ‍ലാലിന്റെ ബാല്യകാലമാണ് ആദ്യമായി പ്രണവ് അഭിനയിച്ചത്. ''പുനർജ്ജനി'' എന്ന ചലച്ചിത്രത്തിലെ അഭിനയത്തിന്‌ സംസ്ഥാന സർക്കാറിന്റെ മികച്ച ബാലതാരത്തിനുള്ള അവാർഡ് പ്രണവിന് ലഭിച്ചിട്ടുണ്ട്. == നിർമ്മാണ രംഗത്ത് == ഒരു അഭിനേതാവ് എന്നതിനു പുറമേ മോഹൻലാൽ ഒരു ചലച്ചിത്ര നിർമ്മാതാവ് കൂടിയാണ്‌. ചലച്ചിത്ര താരങ്ങളായ [[സീമ]], [[മമ്മൂട്ടി]] എന്നിവർക്കൊപ്പം കാസിനോ എന്ന സിനിമാ നിർമ്മാണ കമ്പനിയിൽ അദ്ദേഹം പങ്കാളിയായിരുന്നു. പിന്നീടാണ് [[പ്രണവം ആർട്ട്സ്]] എന്ന പേരിൽ സ്വന്തമായി ചലച്ചിത്ര നിർമ്മാണക്കമ്പനി തുടങ്ങിയത്. പിന്നീട് ''ആശീർവാദ് സിനിമാസ്'' എന്ന പേരിൽ മോഹൻലാലിന്റെ സുഹൃത്തും, ബിസിനസ്സ് പങ്കാളിയുമായ [[ആന്റണി പെരുമ്പാവൂർ|ആന്റണി പെരുമ്പാവൂരുമായി]] പുതിയൊരു സംരംഭം തുടങ്ങി. തുടർന്ന് 2009-ൽ ''മക്സ്ലബ് എന്റർ‍ടൈൻമെന്റ്സ്'' എന്ന പേരിൽ ഒരു നിർമ്മാണ വിതരണ കമ്പനി ആരംഭിച്ചു. ഇതിൽ ആന്റണി പെരുമ്പാവൂരും, വ്യവസായിയായ കെ.സി. ബാബുവും, [[ഏഷ്യാനെറ്റ്]] ചാനലിന്റെ ചെയർമാനുമായ കെ. മാധവനുമാണ് പങ്കാളികൾ. മോഹൻലാലിന്റെ ചലച്ചിത്ര സംബന്ധിയായ മറ്റൊരു സ്ഥാപനമാണ്‌ [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] [[വിസ്മയ ഫിലിം സ്റ്റുഡിയോ]]. ===പ്രണവം ആർട്ട്സ്=== മോഹൻലാൽ സ്വന്തമായി ആരംഭിച്ച നിർമ്മാണ കമ്പനിയാണ് പ്രണവം ആർട്ട്സ്. മോഹൻലാൽ തന്നെ നായകനായി അഭിനയിച്ച ''ഹിസ് ഹൈനസ് അബ്ദുള്ള'' എന്ന ചലച്ചിത്രമാണ് പ്രണവം ആർട്ട്സിന്റെ നിർമ്മാണത്തിൽ ആദ്യം പുറത്തിറങ്ങിയത്. മോഹൻലാലിന്റെ മകനായ പ്രണവിന്റെ പേരിൽ തുടങ്ങിയ ഈ കമ്പനി ധാരാളം വ്യാവസായിക വിജയം കൈവരിച്ചതും, കലാമൂല്ല്യവുമുള്ളതുമായ ചിത്രങ്ങൾ നിർമ്മിച്ചു. നിർമ്മിച്ച എല്ലാ ചിത്രങ്ങളിലും നായകൻ മോഹൻലാൽ തന്നെയായിരുന്നു. വാനപ്രസ്ഥം എന്ന ചിത്രം നിർമ്മിച്ചതിനു ശേഷം പ്രണവം ആർട്ട്സ് കാണ്ഡഹാറിലൂടെ വീണ്ടും മടങ്ങി വന്നു. {| class="wikitable collapsible collapsed" width=100% |+ പ്രണവം ആർട്ട്സിന്റെ നിർമ്മാണത്തിൽ ഇറങ്ങിയ ചലച്ചിത്രങ്ങൾ ! ക്രമം !!ചലച്ചിത്രം !! സഹ അഭിനേതാക്കൾ!! സംവിധായകൻ !! കഥാപാത്രം !! പുരസ്കാരങ്ങളും, മറ്റും. |- | 1|| ഹിസ് ഹൈനസ് അബ്ദുള്ള || [[ഗൗതമി]], [[നെടുമുടി വേണു]] || [[സിബി മലയിൽ]] || അബ്ദുള്ള/അനന്ദൻ നമ്പൂതിരി || മികച്ച പിന്നണിഗായകനുള്ള ദേശീയപുരസ്കാരം - [[എം.ജി. ശ്രീകുമാർ]]<br>മികച്ച സഹനടനുള്ള ദേശീയപുരസ്കാരം - [[നെടുമുടി വേണു]] |- | 2|| ഭരതം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]], [[ലക്ഷ്മി]], [[നെടുമുടി വേണു]] || [[സിബി മലയിൽ]] || കല്ലിയൂർ ഗോപിനാഥൻ || മികച്ച നടനുള്ള ദേശീയപുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച പിന്നണിഗായകനുള്ള ദേശീയപുരസ്കാരം - [[യേശുദാസ്]]<br>ദേശീയപുരസ്കാരം (പ്രത്യേക ജൂറി പുരസ്കാരം), മികച്ച സംഗീതസംവിധായകനുൾല കേരളസംസ്ഥാന സർക്കാർ പുരസ്കാരം -[[രവീന്ദ്രൻ]]<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ മികച്ച രണ്ടാമത്തെ ചിത്രത്തിനുള്ള പുരസ്കാരം<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ മികച്ച നടിക്കുള്ള പുരസ്കാരം - [[ഉർവ്വശി (നടി)|ഉർവ്വശി]]<br>കേരളസംസ്ഥാന സർക്കാറിന്റെ പ്രത്യേക ജൂറി പുരസ്കാരം - [[നെടുമുടി വേണു]] |- | 3|| കമലദളം || [[മോനിഷ ഉണ്ണി]], [[വിനീത് (ചലച്ചിത്രനടൻ)|വിനീത്]] || [[സിബി മലയിൽ]] || നന്ദഗോപാൽ |- | 4|| മിഥുനം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]] || [[പ്രിയദർശൻ]] || സേതുമാധവൻ || |- | 5|| പിൻഗാമി || [[കനക]] || [[സത്യൻ അന്തിക്കാട്]] || ക്യാപ്റ്റൻ വിജയ് മേനോൻ || |- | 6|| കാലാപാനി || [[തബു]] || [[പ്രിയദർശൻ]]|| ഡോ. ഗോവർദ്ധൻ/ഉണ്ണി ||മികച്ച ഛായാഗ്രാഹകനുള്ള ദേശീയപുരസ്കാരം, മികച്ച ഛായാഗ്രാഹകനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - [[സന്തോഷ് ശിവൻ]]<br>മികച്ച കലാസംവിധായകനുള്ള ദേശീയപുരസ്കാരം, മികച്ച കലാസംവിധായകനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - [[സാബു സിറിൾ]]<br>മികച്ച ശബ്ദലേഖകനുള്ള ദേശിയപുരസ്കാരം - ദീപൻ ചാറ്റർജി<br>മികച്ച സ്പെഷൽ എഫക്ട്സിനുള്ള ദേശീയപുരസ്കാരം - വെങ്കി<br>മികച്ച രണ്ടാമത്തെ ചലച്ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം<br>മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച സംഗീതസംവിധായകനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - [[ഇളയരാജ|Dr. ഇളയരാജ]]<br>മികച്ച പ്രൊസസ്സിംഗ് ലാബിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ജെമിനി കളർ ലാബ്<br>മികച്ച വസ്ത്രാലങ്കാരത്തിനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം - സജിൻ രാഘവൻ |- | 7|| കന്മദം || [[മഞ്ജു വാര്യർ]] || [[ലോഹിതദാസ്]]|| വിശ്വനാഥൻ|| |- | 8|| ഹരികൃഷ്ണൻസ് || [[മമ്മൂട്ടി]], [[ജൂഹി ചാവ്ല]] || [[ഫാസിൽ]] || കൃഷണൻ|| |- | 9|| ഒളിമ്പ്യൻ അന്തോണി ആദം|| [[മീന]] || [[ഭദ്രൻ]] || വർഗീസ് ആന്റണി ഐ.പി.എസ്.|| |- | 10||[[വാനപ്രസ്ഥം]] || [[സുഹാസിനി]] || [[ഷാജി എൻ കരുൺ]]||കുഞ്ഞിക്കുട്ടൻ||മികച്ച ചിത്രത്തിനുള്ള ദേശീയപുരസ്കാരം<br>മികച്ച നടനുള്ള ദേശീയപുരസ്കാരം, മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം, മികച്ച നടനുള്ള ഫിലിംഫെയർ പുരസ്കാരം, ക്രിട്ടിക്സ് പുരസ്കാരം, മികച്ച നടനുള്ള [[മാതൃഭൂമി ദിനപത്രം|മാതൃഭൂമി]] പുരസ്കാരം - മോഹൻലാൽ<br>മികച്ച എഡിറ്റിംഗിനുള്ള ദേശീയപുരസ്കാരം, മികച്ച എഡിറ്റിംഗിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - എ. ശ്രീകർ പ്രസാദ്, ജോസഫ് ഗ്യുൻവർച്ച്<br>മികച്ച സംവിധായകനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ഷാജി എൻ കരുൺ<br>മികച്ച ശബ്ദമിശ്രണത്തിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - ലക്ഷ്മി നാരായണ, ബ്രൂണോ തരീരേ<br>മികച്ച പ്രൊസ്സസിംഗ് ലാബിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - പ്രസാദ് കളർ ലാബ്<br>മികച്ച മേയ്ക്കപ്പ് ആർട്ടിസ്റ്റിനുള്ള കേരളസംസ്ഥാനസർക്കാറിന്റെ പുരസ്കാരം - എം.ഒ. ദേവസ്യ, സലീം |- | 11||[[കാണ്ഡഹാർ (മലയാളചലച്ചിത്രം)|കാണ്ഡഹാർ]] || [[അമിതാഭ് ബച്ചൻ]] || [[മേജർ രവി]] || മേജർ മഹാദേവൻ ||മികച്ച ദേശീയോദ്ഗ്രഹന ചിത്രത്തിനുള്ള ഏഷ്യാനെറ്റിന്റെ പുരസ്കാരം |} ===ആശീർവാദ് സിനിമാസ്=== [[ചിത്രം:Aashirvad.jpg|thumb|200px|right|ആശീർവാദ് സിനിമാസിന്റെ ലോഗോ.]] മോഹൻലാൽ, തന്റെ ഡ്രൈവറും പിന്നീട് തന്റെ വ്യാവസായിക സംരംഭങ്ങളിൽ പങ്കാളിയുമായ ആന്റണി പെരുമ്പാവൂരുമായി ചേർന്ന് നിർമ്മിച്ച നിർമ്മാണ കമ്പനിയാണ് ആശീർവാദ് സിനിമാസ്. പട്ടണപ്രവേശം എന്ന ചിത്രത്തിന്റെ ചിത്രീകരണ സമയത്താണ് മോഹൻലാലിന്റെയും ആന്റണിയുടെയും സൗഹൃദം ആരംഭിക്കുന്നത്. കാലക്രമേണ ആന്റണി മോഹൻലാലിന്റെ ഉത്തമ സുഹൃത്താകുകയും, മോഹൻലാലിന്റെ ബിസിനസ്സ് സംരംഭങ്ങളിൽ പങ്കാളിയാവുകയും ചെയ്തു. ആശീർവാദ് സിനിമാസിന്റെ നിർമ്മാണത്തിൽ ആദ്യമായി പുറത്തിറങ്ങിയ ചിത്രമാണ് [[നരസിംഹം (മലയാളചലച്ചിത്രം)|നരസിംഹം]]. [[ഷാജി കൈലാസ്]] സംവിധാനം ചെയ്ത ഈ ചിത്രം വമ്പിച്ച സാമ്പത്തിക നേട്ടം കൈവരിക്കുകയും ചെയ്തു. തുടർന്നും ധാരാളം ചിത്രങ്ങൾ ആശീർവാദ് സിനിമാസിന്റെ ബാനറിൽ പിറന്നു. {{ചട്ടം|ആശീർവാദ് സിനിമാസിന്റെ നിർ‍മ്മാണത്തിൽ ഇറങ്ങിയ ചലച്ചിത്രങ്ങൾ}} {| class="wikitable" ! എണ്ണം !! ചലച്ചിത്രം !! സഹ അഭിനേതാക്കൾ!! സംവിധായകൻ !! കഥാപാത്രം !! പുരസ്കാരങ്ങളും, മറ്റും |- | 1 || നരസിംഹം || [[ഐശ്വര്യ]],[[തിലകൻ]], [[മമ്മൂട്ടി]] || [[ഷാജി കൈലാസ്]]|| മാറഞ്ചേരി ഇന്ദുചൂഢൻ||മികച്ച നടനുള്ള ദേശീയ ചലച്ചിത്ര അക്കാദമി പുരസ്കാരം - മോഹൻലാൽ<br>2005 വരെ ഉള്ളതിൽ വച്ച് ഏറ്റവും കൂടുതൽ സാമ്പത്തിക വിജയം കൈവരിച്ച ചിത്രം. |- | 2 || രാവണപ്രഭു || [[വസുന്ധര ദാസ്]] || [[രഞ്ജിത്]] || മംഗലശ്ശേരി നീലകണ്ഠൻ / എം എൻ കാർത്തികേയൻ || ദേവാസുരം എന്ന ചിത്രത്തിന്റെ രണ്ടാം ഭാഗമായിരുന്നു ഈ ചിത്രം, ഇരട്ട കഥാപാത്രങ്ങളാണ് മോഹൻ ലാൽ കൈകാര്യം ചെയ്തത്. |- | 3 || കിളിച്ചുണ്ടൻ മാമ്പഴം || [[സൗന്ദര്യ]] || [[പ്രിയദർശൻ]] || അബ്ദുൾ കാദർ / അബ്ദു|| |- | 4 || നാട്ടുരാജാവു് || [[മീന]], [[നയൻതാര]], [[കലാഭവൻ മണി]] || [[ഷാജി കൈലാസ്]]||പുലിക്കാട്ടിൽ ചാർളി|| |- | 5 || നരൻ || [[ഭാവന (അഭിനേത്രി)|ഭാവന]], [[ദേവയാനി]],[[സിദ്ധീഖ്]] || [[ജോഷി]]|| മുള്ളൻകൊല്ലി വേലായുധൻ || ക്രിട്ടിക്സ് അവാർഡ്, മികച്ച ജനപ്രീതിയുള്ള നടൻ - മോഹൻലാൽ<br>മികച്ച സൗണ്ട് റെക്കോഡിസ്റ്റിനുള്ള ഏഷ്യാനെറ്റ് ഫിലിം അവാർഡ് |- | 6 || രസതന്ത്രം || [[മീര ജാസ്മിൻ]] || [[സത്യൻ അന്തിക്കാട്]]||പ്രേമചന്ദ്രൻ||12 വർ‍ഷത്തിനു ശേഷം മോഹൻലാലും സത്യൻ അന്തിക്കാടും ഒന്നിച്ച ചിത്രം. |- | 7 || ബാബ കല്യാണി || [[മംത മോഹൻദാസ്]] || [[ഷാജി കൈലാസ്]]||ബാബ കല്യാണി ഐ പി എസ് |- | 8 || പരദേശി <ref>{{cite web|url=http://specials.rediff.com/movies/2007/oct/11sd1.htm |title=Mohanlal has come out with an amazing performance}}</ref>|| [[ശ്വേത മേനോൻ]], [[ജഗതി ശ്രീകുമാർ]] || പി.ടി. കുഞ്ഞിമുഹമ്മദ്||'''വലിയകത്ത് മൂസ'''|| മികച്ച നടനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം, ക്രിട്ടിക്സ് അവാർഡ്, മികച്ച നടനുള്ള ഫിലിംഫെയർ അവാർഡ്, കേരള ഫിലിം ഓഡിയൻസ് കൗൺസിൽ അവാർഡ്, മികച്ച നടനുള്ള ജയ്ഹിന്ദ് ടിവി അവാർഡ് - '''മോഹൻലാൽ'''<br>മികച്ച കഥക്കുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം - '''പി.ടി. കുഞ്ഞുമുഹമ്മദ്'''<br>മികച്ച ചമയത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം, മികച്ച ചമയത്തിനുള്ള ആദ്യത്തെ ദേശീയപുരസ്കാരം - '''പട്ടണം റഷീദ്''<br>മികച്ച ഡബ്ബിംഗ് ആർട്ടിസ്റ്റിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം - '''ഹഫ്സത്ത്, സീനത്ത്'''<br>കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പ്രത്യേക ജൂറി പുരസ്കാരം - '''[[ജഗതി ശ്രീകുമാർ]]''' |- | 9 || അലിഭായ് || [[ഗോപിക]] || [[ഷാജി കൈലാസ്]]|| ബരാമി അൻവർ അലി |- | 10 || ഇന്നത്തെ ചിന്താവിഷയം || [[മീര ജാസ്മിൻ]] || [[സത്യൻ അന്തിക്കാട്]] ||ഗോപകുമാർ || മികച്ച ജനപ്രീതി ലഭിച്ച ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം<br>മികച്ച രണ്ടാമത്തെ നടനുള്ള കേരളസംസ്ഥാന സർക്കാറിന്റെ പുരസ്കാരം, മികച്ച ഹാസ്യനടനുള്ള ജയ്ഹിന്ദ് ടിവി അവാർഡ് - [[മാമുക്കോയ]]'''<br> മികച്ച പിന്നണിഗായകനുള്ള ഏഷ്യാനെറ്റ് ഫിലിം അവാർഡും, വനിത ഫിലിം അവാർഡും - എം.ജി ശ്രീകുമാർ |- |11 || സാഗർ എലിയാസ് ജാക്കി റീലോഡഡ് || [[ഭാവന (അഭിനേത്രി)|ഭാവന]], [[ശോഭന]] || [[അമൽ നീരദ്]]||സാഗർ ഏലിയാസ് ജാക്കി|| [http://www.sagaraliasjackyreloaded.com Official Website] {{Webarchive|url=https://web.archive.org/web/20090130060942/http://sagaraliasjackyreloaded.com/ |date=2009-01-30 }}<ref>{{cite web|url=http://www.filimworld.com/newsdes.php?newsid=161|title=SAJ - 1000 housefull shows in 3 days|access-date=2009-09-15|archive-date=2009-04-05|archive-url=https://web.archive.org/web/20090405192712/http://www.filimworld.com/newsdes.php?newsid=161|url-status=dead}}</ref> |- |12|| ഇവിടം സ്വർഗ്ഗമാണ് || [[ലക്ഷ്മി റായ്]] || [[റോഷൻ ആൻഡ്രൂസ്]] || മാത്യൂസ് || മികച്ച ജനപ്രിയ ചിത്രത്തിനുള്ള കേരളസംസ്ഥാന സർ‍ക്കാറിന്റെ പുരസ്കാരം |- |13|| ചൈനാടൗൺ || ജയറാം, ദിലീപ് || റാഫി മെക്കാർട്ടിൻ || മാത്തുക്കുട്ടി || |- |14||[[ദൃശ്യം]] ||[[മീന]] || [[ജിത്തുജോസഫ്‌]] || ജോർജ് കുട്ടി ||ചിത്രം വിജയകരമായി 150 ദിവസം പിന്നിട്ടു റെക്കോർഡ്‌ കളക്ഷൻ കിട്ടി ഒരു പാട് പുരസ്കാരങ്ങൾ ദ്രിശ്യത്തിനു ലഭിച്ചു |} {{ചട്ടം-പാദഭാഗം}} === മാക്സ്‌ലാബ് സിനിമാസ് === [[ചിത്രം:Maxlab logo.jpg|thumb|150px|right|മാക്സ്‌ലാബിന്റെ ലോഗോ]] മോഹൻ ലാൽ, ആന്റണി പെരുമ്പാവൂർ, വ്യാവസായിയായ കെ.സി. ബാബു, [[ഏഷ്യാനെറ്റ്]] ചാനലിന്റെ ചെയർമാൻ കെ. മാധവൻ തുടങ്ങിയവരുടെ ഉടമസ്ഥതയിൽ 2009-ൽ പ്രവർത്തനമാരംഭിച്ച ചലച്ചിത്ര നിർമ്മാണ, വിതരണ കമ്പനിയാണ് മാക്സ്‌ലാബ് സിനിമാസ് ആൻഡ് എന്റർടൈന്മെന്റ്സ് (Maxlab Cinemas and Entertainments)<ref>{{web cite|url=http://www.google.co.in/url?sa=t&source=web&ct=res&cd=7&url=http%3A%2F%2Fentertainment.oneindia.in%2Fmalayalam%2Ftop-stories%2F2008%2Fmohanlal-film-distribution-130808.html&ei=ZFCySuqKN4PUlAfiqI2ADw&usg=AFQjCNHjb_kktX5l7JrhGddjw6OlpB2TQA&sig2=0WxLrb8MkV89YCFy0GKG6Q|title=Mohanlal's film distribution company}}</ref> ഈ കമ്പനിയുടെ വിതരണത്തിൽ ആദ്യമായി പുറത്തിറങ്ങിയ ചിത്രമാണ് ''സാഗർ ഏലിയാസ് ജാക്കി (Reloaded)''. [[എറണാകുളം|എറണാകുളത്താണ്]] ഈ കമ്പനിയുടെ ആസ്ഥാനം. {{ചട്ടം|മാക്സ്‌ലാബ് സിനിമാസിന്റെ വിതരണത്തിൽ പുറത്തിറങ്ങിയ ചലച്ചിത്രങ്ങൾ}} {| class="wikitable" ! നമ്പർ !!ചലച്ചിത്രം !! കഥാപാത്രങ്ങൾ!! സംവിധയകൻ !! കഥാപാത്രം !! കൂടുതൽ വിവരങ്ങൾ |- | 1 || സാഗർ ഏലിയാസ് ജാക്കി || മോഹൻലാൽ, [[ശോഭന]], [[ഭാവന]] || അമൽ നീരദ് || സാഗർ ഏലിയാസ് ജാക്കി || [http://www.sagaraliasjackyreloaded.com വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20090130060942/http://sagaraliasjackyreloaded.com/ |date=2009-01-30 }} |- | 2 || [[ഭ്രമരം (മലയാളചലച്ചിത്രം)|ഭ്രമരം]] || മോഹൻലാൽ, ഭൂമിക ചാവ്ല || [[ബ്ലെസ്സി]] || ശിവൻകുട്ടി || [http://www.thecompleteactor.com/bhramaram/index.html വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20090605160329/http://www.thecompleteactor.com/bhramaram/index.html |date=2009-06-05 }} |- | 3 || ഏയ്ഞ്ജൽ ജോൺ || മോഹൻലാൽ, ശാന്തനു ഭാഗ്യരാജ് || [[ജയസൂര്യ (ചലച്ചിത്രനടൻ)|ജയസൂര്യ]] || ജോൺ || [http://www.thecompleteactor.com/angeljohn/index.html വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20091009082905/http://www.thecompleteactor.com/angeljohn/index.html |date=2009-10-09 }} |- | 4 || ജനകൻ || മോഹൻലാൽ, [[സുരേഷ് ഗോപി]] || എൻ. ആർ. സഞ്ജീവ് || അഡ്വ. സൂര്യനാരായണൻ || | |- | 5 || [[മിസ്റ്റർ ഫ്രോഡ്]] || മോഹൻലാൽ, [[മിയജോർജ്]] || [[ബി.ഉണ്ണികൃഷ്ണൻ]] || മിസ്റ്റർ ഫ്രോഡ് || | |} {{ചട്ടം-പാദഭാഗം}} == ഗായകൻ എന്ന നിലയിൽ == ഒരു അഭിനേതാവ് എന്നതിലുപരി ഗായകൻ എന്ന നിലയിലും മോഹൻ ലാൽ തന്റെ കഴിവ് തെളിയിച്ചിട്ടുണ്ട്. മോഹൻ ലാൽ പാടി അഭിനയിക്കുകയും, പിന്നണി പാടുകയും ചെയ്ത ചില ചിത്രങ്ങളുടെ വിവരങ്ങൾ താഴെ കൊടുക്കുന്നു. {{ചട്ടം|മോഹൻലാൽ ആലപിച്ച ഗാനങ്ങൾ}} {| class="wikitable" width=100% ! എണ്ണം !!ചലച്ചിത്രം !! അഭിനയിച്ചവർ !! സംവിധായകൻ !! കഥാപാത്രം !! ഗാനം |- | 1 || ഓണപ്പാട്ട് || || || || പൂക്കച്ച മഞ്ഞക്കച്ച |- | 2||ഒന്നാനാം കുന്നിൽ ഓരടിക്കുന്നിൽ || ||[[പ്രിയദർശൻ]]|| നിതിൻ || സിന്ദൂര മേഘം |- | 3|| കണ്ടു കണ്ടറിഞ്ഞു || [[മമ്മൂട്ടി]] ||സാജൻ||കൃഷണനുണ്ണി || നീയറിഞ്ഞോ മേലേമാനത്ത് |- | 4|| പടയണി || [[മമ്മൂട്ടി]] || ടി. എസ്. മോഹൻ || രമേഷ് || ഹൃദയം ഒരു വല്ലകി (Bit) |- | 5||[[ചിത്രം]] || രഞ്ജിനി || [[പ്രിയദർശൻ]] || വിഷ്ണു || കാടുമീ നാടുമെല്ലാം & ഏയ് മൂന്ന് |- | 6|| ഏയ് ഓട്ടോ || രേഖ ||[[വേണു നാഗവള്ളി]] || സുധി || മയ് നേം ഈസ് സുധീ |- | 7|| വിഷ്ണുലോകം || [[ഉർവ്വശി (നടി)|ഉർവ്വശി]] ||[[കമൽ]] || വിഷ്ണു || ആവാരാ ഹൂം |- | 8|| കളിപ്പാട്ടം || ഉർവ്വശി (നടി)|ഉർവ്വശി || വേണു നാഗവള്ളി || വേണു || വരവീണ മൃദുവാണി |- | 9|| [[സ്ഫടികം (മലയാളചലച്ചിത്രം)|സ്ഫടികം]] || ഉർവ്വശി (നടി)|ഉർവ്വശി, [[സിൽക്ക് സ്മിത]] || [[ഭദ്രൻ]] || ആട് തോമ/തോമസ് ചാക്കോ || ഏഴിമല & പരുമല ചെരുവിലെ |- | 10|| ഒളിമ്പ്യൻ അന്തോണി ആദം || മീന || ഭദ്രൻ || ആന്തോണി/ഒളിമ്പ്യൻ|| പെപ്പര പെര പെര |- | 11|| കണ്ണെഴുതി പൊട്ടും തൊട്ട് || അബ്ബാസ്, [[മഞ്ജു വാര്യർ]] || [[ടി.കെ. രാജീവ് കുമാർ]] || പിന്നണിഗായകൻ || കൈതപ്പൂവിൻ |- | 12|| ഉസ്താദ് || [[ദിവ്യ ഉണ്ണി]] || [[സിബി മലയിൽ]] || പരമേശ്വരൻ|| തീർച്ചയില്ലാ ജനം |- | 13|| ഓർമ്മക്കായ് (ആൽബം) || [[രംഭ]] || ഈസ്റ്റ് കോസ്റ്റ് വിജയൻ|| കാമുകൻ || മാനത്തെ അമ്പിളി |- | 14||[[രാവണപ്രഭു]]|| [[വസുന്ധര ദാസ്]] || [[രഞ്ജിത്ത്]] || എം. എൻ. കാർത്തികേയൻ || തകില് പുകല് |- | 15|| [[ബാലേട്ടൻ (മലയാളചലച്ചിത്രം)|ബാലേട്ടൻ]] || [[ജഗതി ശ്രീകുമാർ]] || [[വി.എം. വിനു]] ||അത്താണിപ്പറമ്പിൽ ബാലചന്ദ്രൻ|| കറു കറു കറുത്തൊരു |- | 16|| വാമനപുരം ബസ് റൂട്ട് || [[ലക്ഷ്മി ഗോപാലസ്വാമി]] || സോനു ശിശുപാൽ || ലിവർ ജോണി || |- | 17 || [[തന്മാത്ര (ചലച്ചിത്രം)|തന്മാത്ര]] || മീര വാസുദേവ് || [[ബ്ലെസ്സി]]||രമേശൻ നായർ || ഇതളൂർന്ന് വീണ |- | 18 || [[മാടമ്പി (ചലച്ചിത്രം)|മാടമ്പി]] || [[കാവ്യ മാധവൻ]] || ബി ഉണ്ണികൃഷ്ണൻ ||പുത്തൻപുരയ്ക്കൽ‍ ഗോപാലകൃഷ്ണ പിള്ള || Song: ജീവിതം ഒരു & ഗണേശ ശരണം |- | 19 || എന്റെ കന്നിമല (അയ്യപ്പ ഭക്തിഗാനം) || || സംഗീതം: വിദ്യാധരൻ മാസ്റ്റർ || പിന്നണിഗായകൻ || ശബരിമലതിരുമുടിയിൽ |- | 20 || [[ഭ്രമരം (മലയാളചലച്ചിത്രം)|ഭ്രമരം]] || [[ഭൂമിക ചാവ്ല]] || [[ബ്ലെസ്സി]] || ശിവൻകുട്ടി || അണ്ണാറക്കണ്ണാ വാ |- | 21 || [[ഒരു നാൾ വരും]] || സമീറ റെഡ്ഡി || ടി. കെ. രാജീവ് കുമാർ || നന്ദകുമാർ || നാത്തൂനേ നാത്തൂനേ |- | 22 || [[റൺ ബേബി റൺ]] || [[അമല പോൾ]] || [[ജോഷി]] || വേണു || ആറ്റുമണൽ പായയിൽ |- | 23 || [[നീരാളി_(സിനിമ)|നീരാളി]] || [[നദിയ മൊയ്തു]] || [[അജോയ് വർമ്മ]] || || അഴകെ അഴകേ |} {{ചട്ടം-പാദഭാഗം}} == മാന്ത്രികൻ എന്ന നിലയിൽ == മോഹൻലാൽ, പ്രശസ്ത മാന്ത്രികനായ [[ഗോപിനാഥ് മുതുകാട്]] എക്സിക്യൂട്ടീവ് ഡയറക്ടറായിട്ടുള്ള മാജിക് അക്കാദമിയിൽ ഏകദേശം ഒരു വർഷം മാജിക് അഭ്യസിച്ചിട്ടുണ്ട്.<ref>{{Cite web |url=http://www.hindu.com/2008/04/12/stories/2008041250290200.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2010-08-08 |archive-date=2008-06-17 |archive-url=https://web.archive.org/web/20080617184202/http://www.hindu.com/2008/04/12/stories/2008041250290200.htm |url-status=dead }}</ref> 2008, ഏപ്രിൽ 27-ന് [[തിരുവനന്തപുരം|തിരുവനന്തപുരത്തുള്ള]] ചന്ദ്രശേഖരൻ നായർ സ്റ്റേഡിയത്തിൽ വച്ചുണ്ടായ ഇന്റർനാഷ്ണൽ മാജിക് ഫെസ്റ്റിവലിൽ മോഹൻലാലിന്റെ ''ബേണിംഗ് ഇല്ല്യൂഷൻ'' എന്ന മാന്ത്രിക പ്രകടനം നടത്താനിരുന്നതാണ്. പക്ഷെ ഇതിനെ തുടർന്നുണ്ടായ വിവാദങ്ങളും മറ്റും ലാലിനെ ഇതിൽ നിന്ന് പിൻതിരിപ്പിച്ചു. ഈ പ്രകടനത്തിനു വേണ്ടി ലാൽ മുതുകാടിന്റെ കീഴിൽ 18 മാസത്തോളം അഭ്യസിക്കുകയുണ്ടായി. ഈ പ്രകടനം വളരെ സാഹസികവും അപകടവും നിറഞ്ഞതാണെന്നുള്ളതും, പരിശീലകനായ മുതുകാടിനു തന്നെ ഒരിക്കൽ ബഹറിനിൽ വെച്ച് നടത്തിയ ഈ പ്രകടനം പരാജയമായിരുന്നുവെന്നുള്ള മജീഷ്യൻ സമ്രാട്ടിന്റെ പരാമർശവും<ref>{{Cite web |url=http://ibnlive.in.com/news/mohanlal-plans-daredevil-stunt-magicians-frown/63706-8.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-09-15 |archive-date=2012-12-02 |archive-url=https://web.archive.org/web/20121202044743/http://ibnlive.in.com/news/mohanlal-plans-daredevil-stunt-magicians-frown/63706-8.html |url-status=dead }}</ref> തുടർന്ന് ചലച്ചിത്ര താരങ്ങളുടെ സംഘടനയായ അമ്മയുടെ ഇടപെടലും മൂലം ബേണിംഗ് ഇല്ല്യൂഷൻ ഉപേക്ഷിക്കുകയായിരുന്നു. ==ആരാധക സംഘം== മോഹൻലാലിന്റെ അനുമതിയോടു കൂടിയുള്ള ഇദ്ദേഹത്തിന്റെ ആരാധക സംഘമാണ് ''ഓൾ കേരള മോഹൻലാൽ ഫാൻസ് & കൾചറൽ വെല്ഫെയർ അസോസിയേഷൻ'' (All Kerala Mohanlal Fans & Cultural Welfare Association). ഈ അസോസിയേഷൻ ആരംഭിച്ച് ഏതാണ്ട് 1998 വരെ ലാലിന്റെ അനുമതി ലഭിച്ചിരുന്നില്ല. ഹരികൃഷ്ണൻസ് എന്ന ചല‍ച്ചിത്രത്തിൽ‍ ലാൽ അഭിനയിച്ചു കൊണ്ടിരിക്കുന്ന കാലത്താണ് ഈ അസോസിയേഷന് ലാലിന്റെ അനുമതി ലഭിച്ചത്.{{അവലംബം}} പിന്നീടാണ് പരിഷ്ക്കരിച്ച് ഓൾ കേരള മോഹൻലാൽ ഫാൻസ് & കൾചറൽ വെൽഫെയർ അസോസിയേഷൻ (AKMFCWA) എന്ന പേർ നൽകിയത്.<ref>{{Cite web |url=http://www.keralahomepages.com/mohanlal-fans-association/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-10-13 |archive-date=2009-03-03 |archive-url=https://web.archive.org/web/20090303175555/http://www.keralahomepages.com/mohanlal-fans-association/ |url-status=dead }}</ref> [[തിരുവനന്തപുരം]], [[കൊല്ലം]], [[കോട്ടയം]], [[എറണാകുളം]], [[പാലക്കാട്]], [[തൃശ്ശൂർ]] എന്നീ ജില്ലകൾ കേന്ദ്രീകരിച്ചാണ് ഈ സംഘടനയുടെ പ്രവർത്തനങ്ങൾ കൂടുതലായും നടക്കുന്നത്. ==വിവാദങ്ങൾ== [[File:Mohanlal 9.jpg|thumb|2018 ൽ തിരുവനന്തപുരത്തുവച്ച് നടന്ന [[കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം 2017|കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാര വിതരണ വേദിയിൽ]] മോഹൻലാൽ]] മോഹൻലാൽ, ഒരു മദ്യ ബ്രാൻഡിന്റെ പരോക്ഷ പ്രചരണത്തിനായി ഒരു ടെലിവിഷൻ പരസ്യത്തിൽ അഭിനയിക്കുകയുണ്ടായി. ഈ പരസ്യവും, പരസ്യത്തിൽ ഉപയോഗിച്ച ''''വൈകീട്ടെന്താ പരിപാടി'''' എന്ന വാചകവുമാണ് പിന്നീട് വിവാദത്തിൽ മുങ്ങിയത്. ആദ്യം വിവാദവുമായി രംഗത്തെത്തിയത് ഗാന്ധി സേവാ സമിതിയാണ്. മദ്യത്തിനെതിരായി ധാരാളം പേർ പ്രവർത്തിക്കുന്ന [[കേരളം|കേരളത്തിൽ]], മോഹൻലാലിനെ പോലൊരു വ്യക്തി മദ്യത്തെ പ്രോത്സാഹിപ്പിക്കുന്ന തരത്തിലുള്ള പരസ്യങ്ങളിൽ പ്രത്യക്ഷപ്പെടുന്നത് തെറ്റാണെന്ന് ഇവർ വാദിച്ചു. പക്ഷേ രാജ്യത്ത് ധാരാളം നടീനടന്മാർ ഇത്തരം പരസ്യങ്ങളിൽ അഭിനയിക്കുമ്പോൾ എനിക്കെതിരേ മാത്രം തിരിയുന്നത് ശരിയല്ലെന്നായിരുന്നു ലാലിന്റെ വാദം.<ref>http://www.bharatwaves.com/news/Mohanlal-Promotes-Whiskey-4877.html</ref> രണ്ടായിരത്തിപ്പത്തിൽ [[അമ്മ (താരസംഘടന)|''അമ്മ''യും]] [[തിലകൻ|തിലകനും]] ആയി ഉണ്ടായ തർക്കത്തിന്റെ ഭാഗമായി [[സുകുമാർ അഴിക്കോട്|സുകുമാർ അഴീക്കോടും]] മോഹൻലാലുമായി വാഗ്‌യുദ്ധം തന്നെയുണ്ടായി. പ്രായമായിട്ടും മറ്റുള്ളവർക്ക് വേണ്ടി ഒഴിഞ്ഞു നൽകുന്നില്ല എന്നതായിരുന്നു അഴീക്കോടിന്റെ പ്രധാന വാദം<ref>{{cite news|title=Mohanlal-Azhikode spat takes listless Mollywood to new low|url=http://economictimes.indiatimes.com/news/news-by-industry/media/entertainment-/entertainment/mohanlal-azhikode-spat-takes-listless-mollywood-to-new-low/articleshow/5612392.cms|accessdate=2011 ഫെബ്രുവരി 17|date=2010 ഫെബ്രുവരി 24}}</ref>. ജ്യേഷ്ഠസഹോദരന്റെ സ്വത്ത് മോഹൻലാൽ തട്ടിയെടുത്തു, ലഫ്റ്റനന്റ് കേണൽ പദവി മോഹൻലാൽ ദുരുപയോഗം ചെയ്തു എന്നൊക്കെയും അഴീക്കോട് ആരോപിച്ചിരുന്നു. മറുപടിയിൽ അഴീക്കോടിനെ മോഹൻലാൽ പ്രായമായ അമ്മാവൻ എന്നു വിളിച്ചതും ചർച്ചയായിരുന്നു. =='ലാലിസം' == മോഹൻലാൽ അഭിനയിച്ച നാൽപ്പതോളം ചിത്രങ്ങളിലെ ഗാനങ്ങൾ ഉൾപ്പെടുത്തിയ ബാൻഡിന്റെ പേരാണ് 'ലാലിസം'. ലാലിന്റെ 36 വർഷത്തെ അഭിനയ ജീവിതത്തിലൂടെയുള്ള സംഗീത യാത്രയായ ലാലിസത്തിന്റെ പ്രൊമോഷണൽ ഗാന ട്രെയിലർ നവംബറിൽ യു ട്യൂബ് വഴി പുറത്തിറക്കി. പ്രമുഖ സംവിധായകൻ പ്രിയദർശനാണ് പ്രോമോ സോംഗിന്റെ ദൃശ്യാവിഷ്‌കാരം നിർവഹിച്ചിരിക്കുന്നത്. ടൈറ്റിൽ ലാലിസം ഇന്ത്യാ സിഗിംഗ് എന്നാണ്. രതീഷ് വേഗയാണ് ഇതിന്റെ സംഗീത സംവിധായകൻ. ഇന്ത്യയിലെ എല്ലാ ഭാഷകളിൽ നിന്നുമുള്ള പ്രശസ്തമായ പാട്ടുകൾ കൂടി ഇതിൽ ഉൾപ്പെടുത്തിയിരുന്നു. ഹരിഹരൻ, ഉദിത് നാരായണൻ, അൽക്കാ അജിത്, കാർത്തി, എം.ജി. ശ്രീകുമാർ, സുജാത എന്നിവർക്കൊപ്പം ലാലും ഈ സംഗീത നിശയിൽ പാടിയിരുന്നു. 2015 ലെ ദേശീയ ഗെയിംസിന്റെ ഉദ്ഘാടനത്തോട് അനുബന്ധിച്ച് 'ലാലിസം' എന്ന പരിപാടി നടത്തിയത് വലിയ വിവാദത്തിനിടയാക്കി. പ്രതീക്ഷിച്ച നിലവാരത്തിൽ എത്താത്ത പരിപാടി സോഷ്യൽ മീഡിയയിലും ദൃശ്യ മാധ്യമങ്ങളിലും കണക്കറ്റ പരിഹാസം ഏറ്റുവാങ്ങി. പരിപാടിക്ക് വാങ്ങിയ തുകയുടെ വലിപ്പവും വിമർശന വിധേയമായി. അതോടെ രണ്ടു ദിവസം പ്രതികരിക്കാതിരുന്ന മോഹൻലാൽ ബാൻഡ് പിരിച്ചു വിടുന്നതായും പണം തിരിച്ചേൽപ്പിക്കുന്നതിനു തയ്യാറാണെന്നും സർക്കാരിനെ ഇ-മെയിൽ സന്ദേശത്തിൽ അറിയിച്ചു. പരിപാടിക്കായി മോഹൻലാൽ വാങ്ങിയ തുക അദ്ദേഹം സ്പീഡ് പോസ്റ്റ് വഴി തരിച്ചയച്ചു. 1.63 കോടി രൂപയുടെ ചെക്കാണ് ലാൽ തിരിച്ചയച്ചത്. പക്ഷെ മോഹൻലാൽ വാങ്ങിയ തുക അദ്ദേഹത്തിൽ നിന്ന് തിരിച്ചു വാങ്ങേണ്ടതില്ലെന്ന് മന്ത്രിസഭാ യോഗത്തിൽ തീരുമാനിച്ചു.<ref>{{cite web|title=മോഹൻലാൽ പണം തിരിച്ചയച്ചു; വാങ്ങില്ലെന്ന് മുഖ്യമന്ത്രി|url=http://www.mathrubhumi.com/story.php?id=520369|publisher=www.mathrubhumi.com|accessdate=2015 ഫെബ്രുവരി 4}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> എന്നാൽ ലാൽ വഴങ്ങാത്തതിനെ തുടർന്ന് തുക പൊതു നന്മക്കു ഉപയോഗിക്കാൻ തീരുമാനിച്ചു. ==വ്യവസായ സംരംഭങ്ങൾ== * ''[[Vismayas Max|വിസ്മയ മാക്സ്]]''<ref>[http://www.vismayasmax.com Vismayas Max]</ref>, തിരുവനന്തപുരത്തെ [[കഴക്കൂട്ടം|കഴക്കൂട്ടത്തെ]] കിൻഫ്ര ഫിലിം ആൻ‌ഡ് വീഡിയോ പാർക്കിൽ സ്ഥിതി ചെയ്യുന്ന ഒരു ഫിലിം പോസ്റ്റ് പ്രൊഡക്ഷൻ സ്റ്റുഡിയോയും, കോളേജ് ഫോർ ഡബ്ബിംഗ് ആർടിസ്റ്റ്. * 'പ്രണവം ആർട്സ്'' - ഫിലിം പോസ്റ്റ് പ്രൊഡക്ഷൻ കമ്പനി (ഇപ്പോൾ സജീവമല്ല. ) * ''പ്രണവം '', ചലച്ചിത്രവിതരണ കമ്പനി (ഇപ്പോൾ സജീവമല്ല.) * [[Maxlab Entertainments|മാക്സ് ലാബ് എന്റർടെയിൻമെന്റ്]] ഒരു സഹകരണ ചലച്ചിത്രവിതരണ കമ്പനി.<ref>{{Cite web |url=http://www.maxlabentertainments.com/ |title=Maxlab |access-date=2009-10-06 |archive-date=2009-02-28 |archive-url=https://web.archive.org/web/20090228192731/http://www.maxlabentertainments.com/ |url-status=dead }}</ref> * പാർട്ണർ, ഡയറക്ടർ - ''യൂണി റോയൽ മറൈൻ എക്സ്പോർട്സ് '',[[Kozhikode|കോഴിക്കോട്]] ആസ്ഥാനമാക്കിയ ഒരു കയറ്റുമതി കമ്പനി. * [[ദുബായ്|ദുബായിലും]] മറ്റുമുള്ള റെസ്റ്റോറന്റ് ചെയിൻ - ''മോഹൻലാൽ ടേസ്റ്റ് ബഡ്സ് '' * [[ബാംഗ്ലൂർ|ബാംഗളൂരിലെ]] റെസ്റ്റോറന്റ് ''ദി ഹാർബർ മാർക്കറ്റ് ( The Harbour Market)'' * പാർട്ണർ '' മോഹൻലാൽ ടേസ്റ്റ് ബഡ്സ് '', ഒരു [[അച്ചാർ]], കറിപൌഡർ കമ്പനി <ref>Times of India: [http://timesofindia.indiatimes.com/Mohanlal_sells_Taste_Buds_to_Eastern_group/rssarticleshow/2605816.cms Mohanlal sells Taste Buds to Eastern group]</ref> * [[Jose Thomas Performing Arts Centre|ജോസ് തോമസ് പെർഫോമിങ് ആർട്സ് സെന്റർ]] (JT PAC), [[Kochi|കൊച്ചി]]. ചെയർമാൻ സ്ഥാനം വഹിക്കുന്നു.<ref>[http://www.jtpac.org JtPac]</ref> == പുരസ്കാരങ്ങളും ബഹുമതികളും == {{പ്രധാനലേഖനം|മോഹൻലാലിന് ലഭിച്ച പുരസ്കാരങ്ങളുടെയും നാമനിർദേശങ്ങളുടെയും പട്ടിക}} == പുറത്തേക്കുള്ള കണ്ണികൾ == {{commonscat|Mohanlal}} * [http://www.thecompleteactor.com ഔദ്യോഗിക വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20190829082013/https://www.thecompleteactor.com/ |date=2019-08-29 }} * {{imdb|id=0482320}} * {{Facebook|ActorMohanlalOfficial}} * {{Twitter|Lal_Mohanlal}} * [http://www.mohanlalfansonline.com മോഹൻലാൽഫാൻസ്ഓൺലൈൻ] {{Webarchive|url=https://web.archive.org/web/20091019023914/http://www.mohanlalfansonline.com/ |date=2009-10-19 }} * [http://www.aashirvadcinemas.com/ ആശീർവാദ് സിനിമാസ്] {{Webarchive|url=https://web.archive.org/web/20090913080725/http://www.aashirvadcinemas.com/ |date=2009-09-13 }} * [http://www.maxlabentertainments.com/ മാക്സ്‌ലാബ് സിനിമാസ്] {{Webarchive|url=https://web.archive.org/web/20090228192731/http://www.maxlabentertainments.com/ |date=2009-02-28 }} == അവലംബം == {{reflist|2}} <!--NO COMMERICAL/FAN LINKS PLEASE--> {{Mohanlal}} {{NationalFilmAwardBestActor}} {{മികച്ച നടനുള്ള ഫിലിം ഫെയർ അവാർഡ് ലഭിച്ചവർ-മലയാളം}} [[വർഗ്ഗം:1960-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 21-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനിർമ്മാതാക്കൾ]] [[വർഗ്ഗം: മലയാള സിനിമ]] [[വർഗ്ഗം:മലയാളനാടകനടന്മാർ]] [[വർഗ്ഗം:മികച്ച നടനുള്ള കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മശ്രീ പുരസ്കാരം ലഭിച്ച മലയാളികൾ]] [[വർഗ്ഗം:തമിഴ്‌ചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:പത്തനംതിട്ട ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ വ്യവസായികൾ]] [[വർഗ്ഗം:ലിംക ബുക്ക് ഓഫ് റെക്കോർഡ്സിൽ സ്ഥാനം ലഭിച്ച മലയാളികൾ]] ra71lstx6c8nilk8v5n1h8ssv08rh5a റിച്ചാർഡ്‌ മാത്യൂ സ്റ്റാൾമാൻ 0 3671 4621622 4080065 2026-05-22T20:29:56Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621622 wikitext text/x-wiki {{prettyurl|Richard Stallman}} {{Infobox person | name = റിച്ചാർഡ്‌ സ്റ്റാൾമാൻ | image = [[File:Richard Stallman at LibrePlanet 2019.jpg|250px]] | caption = 2019 ൽ സ്റ്റാൾമാൻ | birth_name = Richard Matthew Stallman | birth_date = {{birth date and age|1953|3|16}} | birth_place = [[New York City]], [[New York (state)|New York]], US | other_names = rms (RMS) | alma_mater = {{unbulleted list|[[Harvard University]]|[[Massachusetts Institute of Technology]]}} | occupation = {{hlist|Activist|programmer}} | title = | website = {{official URL}} | signature = RMS's Signature.png }} [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കൻ ഐക്യനാടുകളിൽ‌]], മാസാച്ചുസെറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ടിൽ‌ കമ്പ്യൂട്ടർ വിദഗ്ദ്ധനായിരുന്ന '''റിച്ചാർഡ്‌ മാത്യൂ സ്റ്റാൾമാൻ''' [[സ്വതന്ത്ര സോഫ്‌റ്റ്‌വെയർ സമിതി|സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ പ്രസ്ഥാനത്തിന്റെ]] സ്ഥാപകനായാണ് ലോകമെമ്പാടും അറിയപ്പെടുന്നത്. കമ്പ്യൂട്ടർ സാങ്കേതിക വിദ്യ വളർച്ച പ്രാപിച്ച ആദ്യകാലങ്ങളിൽ‌ കമ്പ്യൂട്ടർ വിദഗ്ദ്ധന്മാർക്കിടയിൽ‌ ഉണ്ടായിരുന്ന കൂട്ടായ്മ, വൻകിട കുത്തക കമ്പനികളുടെ ഇടപെടലുകൾ‌ കാരണം കൈമോശം‌ വരികയും സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകളുടെ വ്യാപനം‌ സാങ്കേതിക വിദ്യയുടെ സ്വതന്ത്രമായ വളർച്ചയ്ക്കു തടസ്സമാകാൻ‌ തുടങ്ങുകയും ചെയ്ത ഒരു അവസരത്തിലാണ്, ആർ. എം. എസ് എന്ന ചുരുക്കപ്പേരിൽ‌ കൂടി അറിയപ്പെടുന്ന റിച്ചാർഡ് സ്റ്റാൾമാൻ [[ഗ്നൂ|ഗ്നൂ പ്രോജക്റ്റിലൂടെ]] സ്വതന്ത്ര സോഫ്റ്റ്‌വേർ പ്രസ്ഥാനത്തിനു തുടക്കം‌ കുറിച്ചത്. ഉപഭോക്താവിന്റെ മേൽ സ്വകാര്യ സോഫ്റ്റ്‌വേയറുകൾ‌ അടിച്ചേൽപ്പിച്ച ചില നിഷേധാത്മകമായ നിയന്ത്രണങ്ങൾക്കെതിരെ ശക്തമായി പ്രതികരിച്ച സ്റ്റാൾമാൻ‌ സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകൾക്ക് ഒരു ബദൽ ഉണ്ടാക്കുന്നതിലേക്കായി തന്റെ ശേഷ ജീവിതം മാറ്റി വെച്ചു.<ref name="ഗ്നു പ്രഖ്യാപനം">{{Cite web |url=http://www.gnu.org/gnu/initial-announcement.html |title=റിച്ചാർഡ് സ്റ്റാൾമാൻ.ഗ്നു പദ്ധതി പ്രഖ്യാപനം 1983 സെപ്തംബർ 27. |access-date=2013-05-26 |archive-date=2011-08-21 |archive-url=https://web.archive.org/web/20110821035854/http://www.gnu.org/gnu/initial-announcement.html |url-status=dead }}</ref>. ഗ്നൂ കംപയിലർ‌ കലക്ഷൻ‌ മുതൽ‌ ഇന്നു സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകൾക്ക് പ്രധാന ബദലായി നിലകൊള്ളുന്ന ലിനക്സ് ഓപ്പറേറ്റിന്ദ് സിസ്റ്റത്തിന്റെയും അതിന്റെ അനുബന്ധ സാങ്കേതികവിദ്യകളുടെയും ഒരു പ്രധാന ഉറവിടം‌ സ്റ്റാൾമാൻ തുടങ്ങിവെച്ച ഗ്നൂ പ്രൊജക്റ്റ് ആണെന്നു പറയാം.<ref name="ഗ്നു ഒ. എസ്">[http://www.gnu.org/gnu/about-gnu.html ഗ്നു ഓപ്പറേറ്റിങ് സിസ്റ്റത്തെക്കുറിച്ച്.]</ref>. ഇതു കൂടാതെ സ്വതന്ത്ര സോഫ്റ്റ്‌വേർ പ്രസ്ഥാനം‌ വികസിപ്പിച്ചെടുക്കുന്ന സാങ്കേതിക വിദ്യകൾ‌ ഉപയോഗിച്ചു വികസിപ്പിക്കുന്ന ഏതു സാങ്കേതികവിദ്യയും പൊതുസമൂഹത്തിനു പൂർണ്ണമായും ലഭ്യമായിരിക്കണമെന്ന ഉദ്ദേശത്തോടെ [[ഗ്നൂ സാർവ്വജനിക അനുവാദപത്രം|പകർപ്പുപേക്ഷ]] എന്ന പുതിയ ജനകീയ പകർപ്പവകാശ നിയമത്തിന്റെയും തുടക്കം‌ കുറിച്ചത് റിച്ചാർഡ് സ്റ്റാൾമാനാണ്. ==ആദ്യ കാലം== 1953 മാർച്ച് 16 ന് ഡാനിയേൽ സ്റ്റാൾമാന്റെയും ആലിസ് ലിപ്പ്മാന്റെയും മകനായി ന്യൂയോർക്കിലാണ് റിച്ചാർഡ് സ്റ്റാൾമാന്റെ ജനനം. ഹൈസ്കൂൾ പഠനകാലത്തെ ഒരു വേനലവധിയിൽ‌ ന്യൂയോർക്കിലെ [[IBM|ഐ.ബി.എം]] സയൻറ്റിഫിക് സെന്റർ വഴിയാണ് സ്റ്റാൾമാൻ കമ്പ്യൂട്ടറുകളുടെ ലോകത്ത് എത്തിച്ചേരുന്നത്. സംഖ്യാപരമായ പ്രശ്നങ്ങൾക്കുത്തരം‌ കണ്ടെത്താൻ വേണ്ടിയുള്ള കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ വികസിപ്പിച്ചെടുക്കാൻ‌ വേണ്ടിയായിരുന്നു അവിടെ സ്റ്റാൾമാന്റെ നിയമനം‌ എങ്കിലും, ആഴ്ചകൾക്കൊണ്ട് തന്നെ ഏൽപ്പിച്ച ജോലി പൂർത്തിയാക്കിയ സ്റ്റാൾമാൻ, കമ്പ്യൂട്ടർ പ്രമാണങ്ങൾ‌ ചിട്ടപ്പെടുത്താൻ ഉപയോഗപ്പെടുന്ന ഒരു സോഫ്റ്റ്‌വെയറിന്റെ വികസനത്തിലും ശേഷിച്ച അവധിക്കാലം ചെലവഴിച്ചു. [[ഹാർവാർഡ് സർവകലാശാല|ഹാർവാഡ് സർവ്വകലാശാലയിൽ]] നിന്നും ഭൗതികശാസ്ത്രത്തിൽ ബിരുദപഠനം പൂർത്തിയാക്കിയ സ്റ്റാൾമാൻ, കമ്പ്യൂട്ടർ‌ പ്രോഗ്രാമ്മുകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കാനായി [[MIT|മസാച്ചുസെറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ടെക്നോളജി]] (എം. ഐ. റ്റി.) യിലെ [[AI|ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ്]] ലാബോറട്ടറിയിൽ കമ്പ്യൂട്ടർ‌ പ്രോഗ്രാമ്മറായി ചേർന്നു. ഹാർവാഡിലെ പഠനകാലത്തു തന്നെ എം.ഐ.റ്റി. ലാബിലെ ഹാക്കർ‌ സമൂഹത്തിൽ സ്റ്റാൾമാൻ സ്ഥിരാംഗമായിരുന്നു. അവിടെ വെച്ചാണ് ആർ.എം.എസ് എന്ന ചുരുക്കപ്പേര് സ്റ്റാൾമാന് ലഭിക്കുന്നത്. ==എം.ഐ.റ്റി. ദിനങ്ങൾ== എം.ഐ.റ്റി. ലാബിൽ ജോലി ചെയ്തിരുന്ന കാലത്ത്, സ്റ്റാൾമാൻ ലിസ്പ് മെഷീൻ, പലതരം കമ്പ്യൂട്ടർ‌ പ്രമാണങൾ ചിട്ടപ്പെടുത്താൻ ഉപയോഗിക്കുന്ന സോഫ്റ്റ്‌വെയറുകൾ എന്നിവയുടെ വികസത്തിൽ പങ്കാളിയായി. ആ കാലത്ത് അമേരിക്കൻ‌ പ്രതിരോധ വകുപ്പിന്റെ ധനസഹായത്തോടെ എം.ഐ.റ്റി. ലാബിൽ പ്രവർത്തിച്ചിരുന്ന പല സോഫ്റ്റ്‌വെയർ വികസന പരിപാടികളിലും കമ്പ്യൂട്ടറുകളുടെ ഉപയോഗത്തിൽ‌ കർശന നിയന്ത്രണങൾ‌ നടപ്പാക്കിയിരുന്നു. ഇതിനെതിരായി ശക്തമായി ശബ്ദമുയർത്തിയവരുടെ കൂട്ടത്തിൽ പ്രമുഖനായിരുന്നു റിച്ചാർഡ് സ്റ്റാൾമാൻ. 1977ൽ എം.ഐ.റ്റി. ലാബിൽ രഹസ്യവാചകം ഉപയോഗിച്ചു പ്രവേശനം‌ നിയന്ത്രിച്ചിരുന്ന കമ്പ്യൂട്ടറുകളുടെ രഹസ്യവാചകം വെളിപ്പെടുത്താൻ ഒരു വഴി കണ്ടെത്തിയ സ്റ്റാൾമാൻ, കമ്പ്യൂട്ടർ ഉപഭോക്താക്കൾക്ക് അവരുടെ രഹസ്യ വാചകവും കൂടെ രഹസ്യ വാചകം നീക്കം ചെയ്യാനുള്ള ഒരു ആഹ്വാനവും ഇ മെയിൽ വഴിയായി അയച്ചു എന്നും ഇരുപതു ശതമാനത്തോളം കമ്പ്യൂട്ടർ ഉപഭോക്താക്കൾ സ്റ്റാൾമാന്റെ ആഹ്വാനം സ്വീകരിച്ചു അവരുടെ രഹസ്യവാചകം നീക്കം‌ ചെയ്തു എന്നും പറയപ്പെടുന്നു.<ref name="എം. ഐ. റ്റി. ദിനങൾ">[http://oreilly.com/openbook/freedom/ch04.html സാം വില്ല്യംസ്. ഫ്രീ ആസ് ഇൻ ഫ്രീഡം അധ്യായം 4.]</ref> എം.ഐ.റ്റി. യിൽ ഭൗതികശാസ്ത്രത്തിൽ ഗവേഷണ പഠനത്തിനായി ചേർന്നെങ്കിലും, കമ്പ്യൂട്ടർ‌ പ്രോഗ്രാമ്മുകളോടുള്ള താത്പര്യാർത്ഥം‌ സ്റ്റാൾമാൻ തന്റെ ഗവേഷണപഠനം ഇടക്കു വച്ചു നിർത്തുകയായിരുന്നു. എം.ഐ.റ്റി. യിലെ പഠനകാലത്ത് ആർട്ടിഫിഷ്യൽ ഇന്റലിജെൻസ് രംഗത്ത് ജെറാൾഡ് ജെ. സസ്മാന്റെ കൂടെ സ്റ്റാൾമാൻ എഴുതിയ പ്രബന്ധം‌ ഇന്നും ആ രംഗത്ത് ലഭ്യമായിട്ടുള്ള പ്രബന്ധങളിൽ‌ പ്രധാനപ്പെട്ട ഒന്നായി കണക്കാക്കപ്പെടുന്നു.<ref name="എ. ഐ പ്രബന്ധം">[http://dspace.mit.edu/bitstream/handle/1721.1/6255/AIM-380.pdf?sequence=4 റിച്ചാർഡ് സ്റ്റാൾമാൻ,ജെറാൾഡ് ജെ. സസ്മാൻ Forward Reasoning and Dependency-Directed Backtracking In a System for Computer-Aided Circuit analysis.]</ref> 1980-തുകളുടെ ആദ്യത്തോടെ കച്ചവടസാധ്യത മുന്നിൽ കണ്ടും മറ്റു കമ്പനികളിൽ നിന്നുള്ള മൽസരം ഒഴിവാക്കാൻ വേണ്ടിയും സോഫ്റ്റ്‌വെയർ വികസനത്തിലേർപ്പെട്ടിരുന്ന കമ്പനികൾ പലതും തങൾ വികസിച്ചെടുക്കുന്ന സോഫ്റ്റ്‌വെയറുകളുടെ [[സോഴ്സ് കോഡ്|നിർമ്മാണരേഖ]]ഉപഭോക്താവിനു നൽകാൻ വിസമ്മതിച്ചു തുടങി. ഈ പ്രവണത അതിന്നു മുൻപു തന്നെ പ്രചാരത്തിൽ ഉണ്ടായിരുന്നുവെങ്കിലും 1980 തുകളുടെ ആദ്യത്തോടെ സോഫ്റ്റ്‌വെയറുകളുടെ നിർമ്മാണരേഖ പുറത്തു വിടുന്നത് വളരെ അപൂർവ്വമാകുകയും ഉപഭോക്താവിനു സോഫ്റ്റ്‌വെയറിൽ ആവശ്യമായ ഏതൊരു മാറ്റത്തിനും സോഫ്റ്റ്‌വെയർ വികസിപ്പിച്ച കമ്പനിയെ ആശ്രയിക്കേണ്ട ഒരു സ്ഥിതി സംജാതമാവുകയും ചെയ്തു. 1976 ലെ അമേരിക്കൻ പകർപ്പവകാശനിയമം പ്രാബല്യത്തിൽ വന്നതോടെയാണ് ഈ പ്രവണതയ്ക്ക് വേരോട്ടമുണ്ടായി തുടങ്ങിയതെന്നു കരുതപ്പെടുന്നു. ഉപഭോക്താവിന്റെ സ്വാതന്ത്ര്യങ്ങളെ ഹനിക്കുന്ന തരത്തിലുള്ള നിയന്ത്രണങ്ങളും പരിമിതികളുമുള്ള അനുമതിപത്രത്തോടെയുള്ള സോഫ്റ്റ്‌വെയർ വിപണനം തുടക്കം മുതലെ റിച്ചാർഡ് സ്റ്റാൾമാൻ എതിർത്തു പോന്നിരുന്നു. 1979ൽ പുറത്തിറക്കിയ സ്ക്രൈബ് മാർക്കപ്പ് ലാങ്വേജും ബന്ധപ്പെട്ട സോഫ്റ്റ്‌വെയറുകളും ഉപഭോക്താക്കളിൽ അടിച്ചേൽപ്പിച്ച നിയന്ത്രണങ്ങളെ "മനുഷ്യരാശിയോടു കാട്ടിയ അപരാധം" എന്നാണു സ്റ്റാൾമാൻ വിശേഷിപ്പിച്ചത്. ഒരാൾ ഒരു സോഫ്റ്റ്‌വെയർ പണം പ്രതിഫലമായി പ്രതീക്ഷിച്ചു വിപണനം ചെയ്യുന്നതിനെ താൻ എതിർക്കുന്നില്ലെന്നും, പക്ഷെ വിപണന സമയത്ത് ഉപഭോക്താവിന്മേൾ അടിച്ചേൽപ്പിക്കുന്ന ഏതു നിയന്ത്രണങ്ങളും അവരോടു കാട്ടുന്ന അപരാധമായി താൻ കരുതുന്നുവെന്നു സ്റ്റാൾമാൻ പിന്നീടും പറയുകയുണ്ടായി. 1980ൽ എം.ഐ.റ്റി. ലാബിൽ പുതുതായി സ്ഥാപിച്ച ലേസർ രശ്മികളുടെ സഹായത്തോടെ പ്രവർത്തിക്കുന്ന അച്ചടിയന്ത്രത്തിന്റെ നിയന്ത്രണ സോഫ്റ്റ്‌വെയറുകളുടെ നിർമ്മാണരേഖ പരിശോധിക്കാനോ അതിൽ മാറ്റം വരുത്താനോ ഉള്ള അവകാശം സിറോക്സ് കമ്പനി സ്റ്റാൾമാനും സഹപ്രവർത്തകർക്കും നിഷേധിക്കുകയുണ്ടായി. ലാബിൽ‌ മുന്നെ ഉണ്ടായിരുന്ന അച്ചടിയന്ത്രത്തിന്റെ സോഫ്റ്റ്‌വെയറിൽ മാറ്റം വരുത്തിയ സ്റ്റാൾമാൻ, അതിൽ അച്ചടി ജോലി കഴിഞാൽ അച്ചടി നിർദ്ദേശം നൽകിയ ആൾക്ക് അറിയിപ്പ് കിട്ടുന്ന ഒരു സംവിധാനം ഏർപ്പെടുത്തിയിരുന്നു. എം.ഐ.റ്റി. ലാബ് കെട്ടിടത്തിലെ പല നിലകളിലായി ഈ അച്ചടിയന്ത്രത്തെ ആശ്രയിച്ചു ജോലി ചെയ്തിരുന്നവർക്ക് അറിയിപ്പ് സംവിധാനത്തിന്റെ അഭാവം വലിയൊരു അസൗകര്യമായി മാറി, കൂട്ടത്തിൽ സോഫ്റ്റ്‌വെയറിന്റെ നിർമ്മാണരേഖ പുറത്തുവിടില്ലെന്ന സിറോക്സ് കമ്പനിയുടെ തീരുമാനവും. ഈ സംഭവം റിച്ചാർഡ് സ്റ്റാൾമാന്റെ മനസ്സിൽ സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകൾക്കെതിരായ നിലപാട് ഉറപ്പിക്കുകയും ഒരു സോഫ്റ്റ്‌വെയർ വിപണനം ചെയ്യുമ്പോൾ അതിന്റെ നിർമ്മാണരേഖ ഉപയോഗിക്കാനുള്ള അവകാശം ഉപഭോക്താക്കൾക്കു അത്യാവശ്യമാണെന്ന തീരുമാനത്തിൽ സ്റ്റാൾമാനെ എത്തിക്കുകയും ചെയ്തു. സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകൾക്കെതിരായ റിച്ചാർഡ് സ്റ്റാൾമാന്റെ നിലപാടുറപ്പിച്ച മറ്റൊരു സംഭവം ലിസ്പ് മെഷീനുകൾ എന്നറിയപ്പെട്ടിരുന്ന വിവിധോദ്യേശ കമ്പ്യൂട്ടറുകളുടെ വിപണത്തിനായി എം. ഐ. റ്റി. ലാബിൽ നിന്നു ഉദയം കൊണ്ട രണ്ടു കമ്പനികളുടെ ചരിത്രമാണ്. എം. ഐ. റ്റി. ലാബിൽ സ്റ്റാൾമാന്റെ സഹപ്രവർത്തകരായിരുന്ന റിച്ചാർഡ് ഗ്രീൻബ്ലാറ്റ്, ടോം നൈറ്റ് എന്നിവരുടെ നേതൃത്വത്തിൽ ലിസ്പ് മെഷീൻ ഇങ്ക്. എന്നൊരു കമ്പനിയും എം. ഐ. റ്റി. ലാബിനു പുറത്തു നിന്നുള്ള നിക്ഷേപരുടെ പിൻബലത്തിൽ സിംബോളിക്സ് എന്നൊരു കമ്പനിയും ലിസ്പ് കമ്പ്യൂട്ടറുകളുടെ വിപണത്തിനായി രൂപം കൊണ്ടു. രണ്ടു കമ്പനികളും സ്വകാര്യ സോഫ്റ്റ്‌വെയർ രൂപത്തിലായിരുന്നു വിപണനം നടത്തിയിരുന്നതെങ്കിലും സ്റ്റാൾമാന്റെ അഭിപ്രായത്തിൽ സിംബോലിക്സിന്റെ തന്ത്രങൾ എം. ഐ. റ്റി. ഹാക്കർ സമൂഹത്തിന്റെ താത്പര്യങൾക്കു വിരുദ്ധമായിരുന്നു. സിംബോളിക്സ് കമ്പനി പ്രോഗ്രാമ്മർമാർക്ക് എം. ഐ. റ്റി. ലാബിലെ കമ്പ്യൂട്ടറുളുടെ മേൽ കുത്തക നിഷേധിക്കാൻ വേണ്ടി 1981 മുതൽ 1983 വരെ റിച്ചാർഡ് സ്റ്റാൾമാൻ, സിംബോളിക്സ് കമ്പനി പ്രോഗ്രാമ്മർമാർ പുറത്തിറക്കിയ സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകൾക്ക് സ്വതന്ത്ര പതിപ്പുണ്ടാക്കാൻ വേണ്ടി തന്റെ സമയം നീക്കി വെച്ചു.<ref name="സിംബോളിക്സ് യുദ്ധം">[http://oreilly.com/openbook/freedom/ch07.html സാം വില്ല്യംസ്. ഫ്രീ ആസ് ഇൻ ഫ്രീഡം അധ്യായം 7]</ref> സ്റ്റാൾമാന്റെ അഭിപ്രായത്തിൽ സോഫ്റ്റ്‌വെയർ ഉപഭോക്താവിന് സോഫ്റ്റ്‌വെയർ മറ്റുള്ളവരുമായി പങ്കിടാനും,സോഫ്റ്റ്‌വെയറിനെ കുറിച്ച് പഠിക്കാനും വേണമെങ്കിൽ അതിൽ മാറ്റം വരുത്താനും മാറ്റം വരുത്തിയ സോഫ്റ്റ്‌വെയർ മറ്റുള്ളവർക്ക് വിതരണം ചെയ്യുവാനുമുള്ള അവകാശമുണ്ടായിരിക്കണം. ഉപഭോക്താവിനുണ്ടായിരിക്കേണ്ട ഈ അവകാശങ്ങൾ നിഷേധിക്കുന്നത് സ്റ്റാൾമാന്റെ അഭിപ്രായത്തിൽ‌ അസന്മാർഗ്ഗികവും സാമൂഹ്യ വിരുദ്ധവുമാണ്. 1984ൽ സ്റ്റാൾമാൻ എം. ഐ. റ്റി. ലാബിലെ തന്റെ ജോലി ഉപേക്ഷിക്കുകയും, താൻ 1983 സെപ്തംബർ മാസം പ്രഖ്യാപിച്ച ഗ്നു പ്രൊജക്റ്റ്നു വേണ്ടി തന്റെ മുഴുവൻ സമയം മാറ്റി വെയ്ക്കാൻ തീരുമാനിക്കുകയും ചെയ്തു. === എം‌ഐ‌ടിയിൽ നിന്നും ഫ്രീ സോഫ്റ്റ്‌വെയർ ഫൗണ്ടേഷനിൽ നിന്നുമുള്ള വിവാദവും രാജിയും === സമ്പന്നർക്കും വരേണ്യവർഗത്തിനുമായി എസ്‌കോർട്ട് സേവനം (പ്രായപൂർത്തിയാകാത്ത പെൺകുട്ടികൾ ഉൾപ്പെടെ) നല്കിവന്ന വിവാദ അമേരിക്കൻ കോടീശ്വരൻ [[ജെഫ്രി എപ്‌സ്റ്റൈൻ|ജെഫ്രി എപ്‌സ്റ്റൈന്റെ]] ഇരകളിലൊരാളായ വിർജീനിയ ജിയുഫ്രെ എന്ന യുവതി അദ്ദേഹത്തിന്റെ സ്വകാര്യ ദ്വീപിൽ എം‌ഐ‌.ടി.യിലെ പ്രമുഖ കമ്പ്യൂട്ടർ ശാസ്ത്രജ്ഞനായിരുന്ന [[മാർവിൻ മിൻസ്കി|മാർവിൻ ലീ മിൻസ്കി]]<nowiki/>യുമായി ലൈംഗിക ബന്ധത്തിൽ ഏർപ്പെടാൻ താൻ നിർദ്ദേശിക്കപ്പെട്ടു എന്നു വെളിപ്പെടുത്തുകയുണ്ടായി.  പ്രൊഫസർ മാർവിൻ മിൻസ്കിയെ ഭാഗികമായി ന്യായീകരിച്ചുകൊണ്ടു് സ്റ്റാൾമാൻ ഒരു ആഭ്യന്തര സി.‌എസ്‌.ഐ‌.എൽ. പട്ടികയിൽ പ്രസ്താവനകൾ നടത്തിയതായി 2019 സെപ്റ്റംബറിൽ റിപ്പോർട്ട് ചെയ്യപ്പെട്ടു. ഇതു വിവാദമായതിനെത്തുടർന്നു് സ്റ്റാൾമാൻ എംഐ.ടി.യിൽ നിന്നും ഫ്രീ സോഫ്റ്റ്‍വെയർ ഫൗണ്ടേഷനിൽ നിന്നും രാജിവച്ചു.<ref>{{Cite web|url=https://www.fsf.org/news/richard-m-stallman-resigns|title=Richard M. Stallman resigns|access-date=|last=|first=|date=|website=|publisher=}}</ref> എങ്കിലും ഗ്നു പദ്ധതിയുടെ തലവനായി ഇപ്പോഴും അദ്ദേഹം പ്രവർത്തിക്കുന്നു.<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Richard-Stallman-GNU-Head|title=Richard Stallman To Continue As Head Of The GNU Project|access-date=|last=|first=|date=|website=|publisher=}}</ref> ==ഗ്നു പദ്ധതി== [[ File:Richard M Stallman Swathanthra 2014 kerala.jpg|right|thumb|2014 സ്വതന്ത്ര സോഫ്റ്റ്‍വെയർ കോൺഫറൻസിൽ പങ്കെടുക്കാൻ റിച്ചാഡ് സ്റ്റാൾമാൻ കേരളത്തിലെത്തിയപ്പോൾ ]] സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകൾക്കെതിരെ ഉപഭോക്താക്കൾക്ക് ഒരു ബദൽ നൽകുകയെന്ന ഉദ്ദേശത്തോടെ 1983 സെപ്തംബർ മാസം 27 ആം തീയതിയാണ് റിച്ചാർഡ് സ്റ്റാൾമാൻ ഗ്നു പ്രൊജ്ക്റ്റിനു തുടക്കം കുറിക്കുന്നത്. സ്റ്റാൾമാൻ ഗ്നു പ്രൊജക്റ്റിനെ പറ്റി തന്റെ തന്നെ വാചകങളിൽ ഇങനെയാണ് വിശേഷിപ്പിക്കുന്നത്. "ഒരു ഓപ്പറേറ്റിങ് സിസ്റ്റം വികസിപ്പിച്ച ആളെന്ന നിലയിൽ ഈ പ്രൊജക്റ്റിനു വേണ്ട ശരിയായ വൈദഗ്ദ്ധ്യം എനിക്കുണ്ടെന്നു ഞാൻ വിശ്വസിക്കുന്നു. വിജയം ഉറപ്പു നൽകുന്നില്ലെങ്കിലും ഞാൻ ഈ ജോലിക്കു പ്രാപ്തനായ ഒരാളാണ് ഞാനെന്ന് കരുതുന്നു. പുതിയ ഓപ്പറേറ്റിങ് സിസ്റ്റം, യുനിക്സ് ഉപയോഗിച്ച് പരിചയമുള്ളവർക്ക് പെട്ടെന്നു ഉപയോഗത്തിൽ കൊണ്ടുവരാൻ തക്ക വണ്ണം നിലവിലുള്ള യുനിക്സ് ഓപ്പറേറ്റിങ് സിസ്റ്റവുമായി ഒത്തു പോകുന്ന നിലയിൽ വികസിപ്പിക്കാനുദ്ദേശിക്കുന്നു".<ref name="ഗ്നു പ്രഖ്യാപനം"/> 1985ൽ ഗ്നു എന്ന പേരിൽ ഒരു സ്വതന്ത്ര ഓപ്പറേറ്റിങ് സിസ്റ്റം ഉണ്ടാക്കാനുള്ള തന്റെ തീരുമാനത്തിന്റെ പ്രചോദനത്തെ പറ്റിയും പദ്ധതിയുടെ ഉദ്ദേശലക്ഷ്യങളെ കുറിച്ചും വിശദീകരിക്കാൻ വേണ്ടി, റിച്ചാർഡ് സ്റ്റാൾമാൻ ഗ്നു വിജ്ഞാപനം പുറത്തിറക്കി. ഇതു കൂടാതെ ഗ്നു പദ്ധതിയിൽ‌ ഭാഗവാക്കാവുന്ന പ്രോഗ്രാമ്മർമാരെ നിയമിക്കാനും അവർക്കും അവർ വികസിപ്പിച്ചെടുക്കുന്ന സോഫ്റ്റ്‌വെയറുകൾക്കും, സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ പ്രസ്ഥാനത്തിനു തന്നെയും നിയമ പരിരക്ഷ നൽകുക എന്ന ഉദ്ദേശത്തോടുകൂടി സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ സമിതി എന്ന പേരിൽ ലാഭേച്ഛയില്ലാതെ പ്രവർത്തിക്കുന്ന ഒരു സംഘടയ്ക്കും സ്റ്റാൾമാൻ രൂപം നൽകി. ഈ സംഘടനയുടെ പ്രസിഡ്ന്റ് സ്ഥാനത്ത് ഇന്നും റിച്ചാർഡ് സ്റ്റാൾമാനാണ്, പ്രതിഫലമില്ലാതെയാണ് അദ്ദേഹം ഈ ജോലി ഏറ്റെടുത്തിരുക്കുന്നത്.<ref name="ഗ്നു വിജ്ഞാപനം">[http://www.gnu.org/gnu/manifesto.html റിച്ചാർഡ് സ്റ്റാൾമാൻ. ഗ്നു വിജ്ഞാപനം]</ref> സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ പ്രസ്ഥാനത്തിന്റെ ഭാഗമായി, സ്വതന്ത്ര സോഫ്റ്റ്‌വെയറുകളുടെ വിതരണത്തിലും, മാറ്റം വരുത്തി ഉപയോഗിക്കാനുമുള്ള ഉപഭോക്താക്കളുടെ അവകാശം നിയമപരമായി സംരക്ഷിക്കാനായി [[പകർപ്പുപേക്ഷ]] എന്ന പേരിൽ പിൽക്കാലത്ത് അറിയപ്പെട്ട ജനകീയ പകർപ്പവകാശ നിയമത്തിന്റെ വികസനത്തിലും സ്റ്റാൾമാൻ മുഖ്യ പങ്കു വഹിച്ചു. സ്റ്റാൾമാൻ വിഭാവനം ചെയ്ത, [[പകർപ്പുപേക്ഷ]] രീതിയിലുള്ള സോഫ്റ്റ്‌വെയർ ഉപയോഗ അനുവാദപത്രം ആദ്യമായി ഉപയോഗിച്ചത് ഇമാക്സ് സാർവ്വജനിക അനുവാദപത്രത്തിലാണ്. പിന്നീട് ഗ്നു സാർവ്വജനിക അനുവാദപത്രമെന്ന നിലയിൽ ഗ്നു പദ്ധതി പ്രകാരം വികസിപ്പിച്ചെടുക്കുന്ന എല്ലാ സോഫ്റ്റ്‌വെയറുകൾക്കും ഉപയോഗിച്ചു തുടങി. ഗ്നു പദ്ധതിയിൽ‌ വികസിപ്പിക്കപ്പെട്ട പല സുപ്രധാന സോഫ്റ്റ്‌വെയറുകളുടെയും വികസന ചുമതല റിച്ചാർഡ് സ്റ്റാൾമാൻ നിർവഹിച്ചു. കമ്പ്യൂട്ടർ പ്രോഗ്രാമ്മുകൾ വികസിപ്പിച്ചെടുക്കാൻ ഉതകുന്ന ഇമാക്സ് എഡിറ്റർ, കമ്പ്യൂട്ടർ പ്രോഗ്രാമ്മുകളെ കമ്പ്യൂട്ടറിൽ പ്രവർത്തിപ്പിക്കാനനുയോജ്യമായ രീതിയിൽ മാറ്റിയെടുക്കാൻ ഉപയോഗിക്കുന്ന ഗ്നു കമ്പയിലർ ശേഖരം, പ്രോഗ്രാമിലുള്ള തെറ്റ് കണ്ടുപിടിച്ച് തിരുത്താൻ സഹായിക്കുന്ന ജി.ഡി.ബി ഡീബഗ്ഗർ, പ്രത്യേക ഉപയോഗത്തിനായി വികസിപ്പിച്ചെടുത്ത ഒരു കൂട്ടം കമ്പ്യൂട്ടർ പ്രോഗ്രാമ്മുകളെ ഒരുമിച്ച് ചേർത്ത് ഒരു വിതരണ സംവിധാനമായി മാറ്റാൻ സഹായിക്കുന്ന ജി. മേക്ക് എന്ന സോഫ്റ്റ്‌വെയർ സങ്കേതം തുടങിയവയെല്ലാം സ്റ്റാൾമാന്റെ നേതൃത്വത്തിൽ വികസിപ്പിച്ചെടുത്തവയാണ്. ഒരു ഓപ്പറേറ്റിംഗ് സിസ്റ്റം എന്ന നിലയിൽ ഗ്നു പദ്ധതിയിലെ പ്രധാന അഭാവം ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനെ കേന്ദ്രഭാഗത്തിന്റെതായിരുന്നു. 1990ൽ ചില ഗ്നു പദ്ധതി പ്രവർത്തകർ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കേന്ദ്രഭാഗം വികസിപ്പിച്ചെടുക്കുന്ന ജോലി ആരംഭിച്ചെങ്കിലും വ്യാപക ഉപയോഗത്തിനായുള്ള പൂർണ്ണത കൈവരിക്കുന്നതിന്നു മുന്നെയാണ് ഗ്നു പദ്ധതിയിൽ വികസിപ്പിക്കപ്പെട്ട സോഫ്റ്റ്‌വെയറുകളുടെ സഹായത്തോടെ ലിനസ് ട്രോവാൾഡ് എന്ന ഫിൻലാന്റുകാരൻ വിദ്യാർത്ഥി ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനെ കേന്ദ്രഭാഗം വികസിപ്പിച്ചെടുക്കുന്നത്. അങ്ങനെ സ്വകാര്യ സോഫ്റ്റ്‌വെയറുകൾക്ക് ബദലായി ഒരു സ്വതന്ത്ര ഓപ്പറേറ്റിംഗ് സിസ്റ്റം എന്ന റിച്ചാർഡ് സ്റ്റാൾമാന്റെ സ്വപ്നം ലിനസ് ട്രോവാൾഡ് വികസിപ്പിച്ചെടുത്ത ഓപ്പറേറ്റിംഗ് സിസ്റ്റം കേന്ദ്രഭാഗത്തിന്റെയും ഗ്നു പദ്ധതിയിൽ വികസിപ്പിച്ചെടുത്ത സോഫ്റ്റ്‌വെയറുകളുടെയും രൂപത്തിൽ സഫലമായിത്തുടങ്ങി.<ref name="ഗ്നുലിനക്സ് വിതരണങ്ങൾ]">{{Cite web |url=http://www.gnu.org/distros/distros.ml.html |title=സ്വതന്ത്ര ഗ്നു/ലിനക്സ് വിതരണങ്ങൾ |access-date=2013-05-26 |archive-date=2013-05-19 |archive-url=https://web.archive.org/web/20130519064422/http://www.gnu.org/distros/distros.ml.html |url-status=dead }}</ref> <ref name="ഗ്നുലിനക്സ് ലേഖകർ]">[http://gcc.gnu.org/onlinedocs/gcc/Contributors.html സ്വതന്ത്ര ഗ്നു/ലിനക്സ് ലേഖകർ]</ref> ==അവലംബം== {{reflist}} ==പുറത്തേക്കുള്ള കണ്ണികൾ== [http://static.fsf.org/nosvn/faif-2.0.pdf സാം വില്ല്യംസ്(2010) ഫ്രീ ആസ് ഇൻ ഫ്രീഡം ISBN 978-0-9831592-1-6] ==ഇവയും കാണുക== [[വിവരസാങ്കേതികരംഗത്തെ പ്രശസ്തരുടെ പട്ടിക]] {{FOSS celeb}} {{ഗ്നു}} {{അപൂർണ്ണ ജീവചരിത്രം}} [[വർഗ്ഗം:സ്വതന്ത്ര സോഫ്റ്റ്‌വെയർ പ്രചാരകർ]] [[വർഗ്ഗം:വിവരസാങ്കേതികവിദ്യാവിദഗ്ദ്ധർ]] [[വർഗ്ഗം:ജീവചരിത്രം]] [[വർഗ്ഗം:ഗ്നു പദ്ധതി]] [[വർഗ്ഗം:1953-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:അമേരിക്കൻ നിരീശ്വരവാദികൾ]] cjncoj6uxa77ozjcd2fgpuug3ryalss മീഡിയവിക്കി:Common.css 8 3970 4621530 4621524 2026-05-22T12:16:59Z Ranjithsiji 22471 update the common flex navbox 4621530 css text/css /* * This is the CSS for all desktop skins on en.Wikipedia. * Styling inside .mw-parser-output should generally use TemplateStyles. */ /* Main page fixes */ .interwiki-completelist { font-weight: bold; } /* പ്രധാന താളിലെ “പ്രധാന താൾ“ എന്ന തലക്കെട്ട് ഒഴിവാകാൻ - To remove Main page title */ body.page-പ്രധാന_താൾ h1.firstHeading { display:none; } /*HERE STARTS "METABOX" COLOUR-SCHEMES*/ /* Nou esquema de colors per a la Plantilla:Metacaixa usada a la portada */ /* Configuració per defecte en lila Tons usats; 1; 7050a0 2; 9070c0 3; b090e0 4; d0b0ff 5; f0d0ff */ .mcBoto { background-color: #d0b0ff; /* 4 */ border: 0.15em solid #000000; border-color: #f0d0ff #b090e0 #9070c0 #f0d0ff; /* 5 3 3 5 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor:pointer; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative;} .mcBoto a, .mcBoto strong { background: none !important; color:#7050a0 !important; /* 1 */ font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcBoto a:hover, .mcBoto strong:hover { color: black !important; text-decoration: underline !important;} .mcBotoSel { background-color: #9070c0; /* 2 */ border: 0.15em solid #000000; border-color: #b090e0 #7050a0 #9070c0 #b090e0; /* 3 1 2 3 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor: default; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative; color:white;} .mcBotoSel a { background: none !important; color:white !important; cursor: default; font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcContingut { background-color: #f8f8ff; border: 0.2em solid #9070c0; /* 2 */ border-color: #9070c0 #7050a0 #7050a0 #9070c0 ; /* 2 1 1 2 */ -moz-border-radius: 0em .5em .5em 0em; border-radius-topright: .5em; border-radius-bottomright: .5em; padding: 1em; position: static; /* Si hi posem relative falla amb MSIE */} .mcPestanya { background-color: #f8f8ff; border-color: #7050a0 #b090e0 #b090e0 #7050a0; /* 1 3 3 1 */ width: 100%; } /* Configuració del Verd 1;60b030 2;75c045 3;90d060 4;a5e085 5;c0f090 */ .mcപച്ച .mcBoto { background-color: #a5e085; /* 4 */ border-color: #c0f090 #90d060 #75c045 #c0f090; /* 5 3 2 5 */} .mcപച്ച .mcBoto a, .mcപച്ച .mcBoto strong { color:#60b030 !important; /* 1 */ font-size:90%} .mcപച്ച .mcBoto a:hover, .mcപച്ച .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcപച്ച .mcBotoSel { background-color: #75c045; /* 2 */ border-color: #90d060 #60b030 #75c045 #90d060; /* 3 1 2 3 */} .mcപച്ച .mcContingut { background-color: #f5fffa; border-color: #75c045 #60b030 #60b030 #75c045 ; /* 2 1 1 2 */} .mcപച്ച .mcPestanya { background-color: #f5fffa; border-color: #60b030 #90d060 #90d060 #60b030; /* 1 3 3 1 */} /* Configuració del Vermell 1;CC0000 2;FF0000 3;FF8888 4;FFAAAA 5;FFCCCC */ .mcചുവപ്പ് .mcBoto { background-color: #FFAAAA; /* 4 */ border-color: #FFCCCC #FF8888 #FF0000 #FFCCCC; /* 5 3 2 5 */} .mcചുവപ്പ് .mcBoto a, .mcചുവപ്പ് .mcBoto strong { color:#CC0000 !important; /* 1 */ font-size:90%} .mcചുവപ്പ് .mcBoto a:hover .mcചുവപ്പ് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcചുവപ്പ് .mcBotoSel { background-color: #FF0000; /* 2 */ border-color: #FF8888 #CC0000 #FF0000 #FF8888; /* 3 1 2 3 */} .mcചുവപ്പ് .mcContingut { background-color: #fffafa; border-color: #FF0000 #CC0000 #CC0000 #FF0000; /* 2 1 1 2 */} .mcചുവപ്പ് .mcPestanya { background-color: #fffafa; border-color: #CC0000 #FF0000 #FF0000 #CC0000; /* 1 3 3 1 */} /* Configuració del Blue 1;3379de 2;5b8dd6 3;88abde 4;a7c1e6 5;c8d6e9 */ .mcനീല .mcBoto { background-color: #a7c1e6; /* 4 */ border-color: #c8d6e9 #88abde #5b8dd6 #c8d6e9; /* 5 3 2 5 */} .mcനീല .mcBoto a, .mcനീല .mcBoto strong { color:#3379de !important; /* 1 */ font-size:90%} .mcനീല .mcBoto a:hover .mcനീല .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcനീല .mcBotoSel { background-color: #5b8dd6; /* 2 */ border-color: #88abde #3379de #5b8dd6 #88abde; /* 3 1 2 3 */} .mcനീല .mcContingut { background-color: #f0f8ff; border-color: #5b8dd6 #3379de #3379de #5b8dd6; /* 2 1 1 2 */} .mcനീല .mcPestanya { background-color: #f0f8ff; border-color: #3379de #88abde #88abde #3379de; /* 1 3 3 1 */} /* Configuració del Groc 1;ffd813 2;ffe147 3;ffe977 4;fff1a4 5;fef4bc */ .mcമഞ്ഞ .mcBoto { background-color: #fff1a4; /* 4 */ border-color: #fef4bc #ffe977 #ffe147 #fef4bc; /* 5 3 2 5 */} .mcമഞ്ഞ .mcBoto a, .mcമഞ്ഞ .mcBoto strong { color:#ffd813 !important; /* 1 */ font-size:90%} .mcമഞ്ഞ .mcBoto a:hover .mcമഞ്ഞ .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcമഞ്ഞ .mcBotoSel { background-color: #ffe147; /* 2 */ border-color: #ffe977 #ffd813 #ffe147 #ffe977; /* 3 1 2 3 */} .mcമഞ്ഞ .mcContingut { background-color: #fffce8; border-color: #ffe147 #ffd813 #ffd813 #ffe147; /* 2 1 1 2 */} .mcമഞ്ഞ .mcPestanya { background-color: #fffce8; border-color: #ffd813 #88abde #88abde #ffd813; /* 1 3 3 1 */} /* Configuració del Taronja 1;ff820e 2;ff9d42 3;ffac5d 4;ffbd7f 5;ffd0a4 6;ffeedd */ .mcഓറഞ്ച് .mcBoto { background-color: #ffbd7f; /* 4 */ border-color: #ffd0a4 #ffac5d #ff9d42 #ffd0a4; /* 5 3 2 5 */} .mcഓറഞ്ച് .mcBoto a, .mcഓറഞ്ച് .mcBoto strong { color:#ff820e !important; /* 1 */ font-size:90%} .mcഓറഞ്ച് .mcBoto a:hover .mcഓറഞ്ച് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcഓറഞ്ച് .mcBotoSel { background-color: #ff9d42; /* 2 */ border-color: #ffac5d #ff820e #ff9d42 #ffac5d; /* 3 1 2 3 */} .mcഓറഞ്ച് .mcContingut { background-color: #ffeedd; /* 6 */ border-color: #ff9d42 #ff820e #ff820e #ff9d42; /* 2 1 1 2 */} .mcഓറഞ്ച് .mcPestanya { background-color: #ffeedd; /* 6 */ border-color: #ff820e #ffac5d #ffac5d #ff820e; /* 1 3 3 1 */} /* Final d'estils de la Metacaixa */ /*HERE FINISHES "METABOX" COLOUR-SCHEMES*/ /* Reset italic styling set by user agent */ cite, dfn { font-style: inherit; } /* Straight quote marks for <q> */ q { quotes: '"' '"' "'" "'"; } /* Avoid collision of blockquote with floating elements by swapping margin and padding */ blockquote { overflow: hidden; margin: 1em 0; padding: 0 40px; } /* Consistent size for <small>, <sub> and <sup> */ small { font-size: 85%; } .mw-body-content sub, .mw-body-content sup, span[rel~='mw:referencedBy'] a::before /* for Parsoid */ { font-size: 80%; } /* Same spacing for indented and unindented paragraphs on talk pages */ .ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; } /* Reduce page jumps by hiding collapsed/dismissed content */ .client-js .mw-special-Watchlist #watchlist-message, .client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child), /* Hide charinsert base for those not using the gadget */ #editpage-specialchars { display: none; } /* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ .mw-rcfilters-enabled .mw-specialpage-summary { margin-top: 1em; } /* Make the list of references smaller * Keep in sync with Template:Refbegin/styles.css * And Template:Reflist/styles.css */ ol.references { font-size: 90%; margin-bottom: 0.5em; } /* Styling for JQuery makeCollapsible, matching that of collapseButton */ .mw-parser-output .mw-collapsible-toggle { font-weight: normal; /* @noflip */ text-align: right; padding-right: 0.2em; padding-left: 0.2em; } .mw-collapsible-leftside-toggle .mw-collapsible-toggle { /* @noflip */ float: left; /* @noflip */ text-align: left; } /* Lists in wikitable data cells are always left-aligned */ .wikitable td ul, .wikitable td ol, .wikitable td dl { /* @noflip */ text-align: left; } /* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ .mw-parser-output table.mw-hiero-table td { vertical-align: middle; } /* Change the external link icon to a PDF icon for all PDF files */ .mw-parser-output a[href$=".pdf"].external, .mw-parser-output a[href*=".pdf?"].external, .mw-parser-output a[href*=".pdf#"].external, .mw-parser-output a[href$=".PDF"].external, .mw-parser-output a[href*=".PDF?"].external, .mw-parser-output a[href*=".PDF#"].external { background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right; /* @noflip */ padding: 8px 18px 8px 0; } /* System messages styled similarly to fmbox */ div.mw-warning-with-logexcerpt, div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon, div.titleblacklist-warning { clear: both; margin: 0.2em 0; border: 1px solid #bb7070; background-color: #ffdbdb; padding: 0.25em 0.9em; box-sizing: border-box; } /* default colors for partial block message */ .mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt { border-color: #fc3; background-color: #fef6e7; } /* Increase the height of the image upload box */ #wpUploadDescription { height: 13em; } /* Minimum thumb width */ figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; } /* Prevent floating boxes from overlapping any category listings, file histories, edit previews, and edit [Show changes] views. */ #mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; } /* Styling for Abuse Filter tags */ .mw-tag-markers { font-style: italic; font-size: 90%; } /* Hide stuff meant for accounts with special permissions. Made visible again in [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]], [[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]], [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ .checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show, .patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show, .autoconfirmed-show, .user-show { display: none; } /* Hide the redlink generated by {{Editnotice}}, this overrides the ".sysop-show { display: none; }" above that applies to the same link as well. See [[phab:T45013]] Hide the images in editnotices to keep them readable in VE view. Long term, editnotices should become a core feature so that they can be designed responsive. */ .ve-ui-mwNoticesPopupTool-item .editnotice-redlink, .ve-ui-mwNoticesPopupTool-item .mbox-image, .ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; } /* Remove bullets when there are multiple edit page warnings */ ul.permissions-errors { margin: 0; } ul.permissions-errors > li { list-style: none none; } /* larger inline math */ span.mwe-math-mathml-inline { font-size: 118%; } /* Make <math display="block"> be left aligned with one space indent for * compatibility with style conventions */ .mwe-math-fallback-image-display, .mwe-math-mathml-display { margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em; } .mwe-math-mathml-display math { display: inline; } @media screen { /* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ /* The backgrounds for galleries. */ #content .gallerybox div.thumb { /* Light gray padding */ background-color: #f8f9fa; } /* Put a chequered background behind images, only visible if they have transparency. '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ .gallerybox .thumb img { background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; } /* But not on articles, user pages, or portals. */ .ns-0 .gallerybox .thumb img, .ns-2 .gallerybox .thumb img, .ns-100 .gallerybox .thumb img { background-image: none; } /* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ #siteSub { display: block; } } /* Hide FlaggedRevs notice UI when there are no pending changes */ .flaggedrevs_draft_synced, .flaggedrevs_stable_synced, /* "Temporary" to remove links in sidebar T255381 */ #t-upload, /* Hide broken download box on Special:Book pending T285400 */ .mw-special-Book #coll-downloadbox { display: none; } /* * BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS; * SEE [[MediaWiki talk:Common.css/to do]] */ /* Style for horizontal lists (separator following item). @source mediawiki.org/wiki/Snippets/Horizontal_lists @revision 8 (2016-05-21) @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; /* don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again */ display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } /** * Note hlist style usage differs in Minerva and is defined in core as well! * Please check Minerva desktop (and Minerva.css) when changing * See https://phabricator.wikimedia.org/T213239 */ .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* Unbulleted lists */ .plainlist ol, .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ol li, .plainlist ul li { margin-bottom: 0; } /* Infobox template style */ .infobox { border: 1px solid #a2a9b1; border-spacing: 3px; background-color: #f8f9fa; color: black; /* @noflip */ margin: 0.5em 0 0.5em 1em; padding: 0.2em; /* @noflip */ float: right; /* @noflip */ clear: right; font-size: 88%; line-height: 1.5em; width: 22em; } .infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data, .infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { vertical-align: top; } .infobox-label, .infobox-data, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { /* @noflip */ text-align: left; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-above, .infobox .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { font-size: 125%; font-weight: bold; text-align: center; } .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { padding: 0.2em; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image, .infobox .infobox-full-data, .infobox .infobox-below { text-align: center; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-navbar { /* @noflip */ text-align: right; } /* Normal font styling for wikitable row headers with scope="row" tag */ .wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] { font-weight: normal; /* @noflip */ text-align: left; } /* ambox/tmbox/imbox/cmbox/ombox/fmbox message boxes */ th.mbox-text, td.mbox-text { /* The message body cell(s) */ border: none; /* @noflip */ padding: 0.25em 0.9em; /* 0.9em left/right */ width: 100%; /* Make all mboxes the same width regardless of text length */ } td.mbox-image { /* The left image cell */ border: none; /* @noflip */ padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ text-align: center; } td.mbox-imageright { /* The right image cell */ border: none; /* @noflip */ padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ text-align: center; } td.mbox-empty-cell { /* An empty narrow cell */ border: none; padding: 0; width: 1px; } /* Article message box styles */ table.ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. */ table.ambox + table.ambox, table.ambox + .mw-empty-elt + table.ambox { margin-top: -1px; } .ambox th.mbox-text, .ambox td.mbox-text { /* The message body cell(s) */ padding: 0.25em 0.5em; /* 0.5em left/right */ } .ambox td.mbox-image { /* The left image cell */ /* @noflip */ padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ } .ambox td.mbox-imageright { /* The right image cell */ /* @noflip */ padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ } table.ambox-notice { /* @noflip */ border-left: 10px solid #36c; /* Blue */ } table.ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } table.ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } table.ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } table.ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } table.ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } /* Image message box styles */ table.imbox { margin: 4px 10%; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } .imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ display: block; /* Fix for webkit to force 100% width. */ } .mbox-inside .imbox { /* For imboxes inside other templates. */ margin: 4px; } table.imbox-notice { border: 3px solid #36c; /* Blue */ } table.imbox-speedy { border: 3px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.imbox-delete { border: 3px solid #b32424; /* Red */ } table.imbox-content { border: 3px solid #f28500; /* Orange */ } table.imbox-style { border: 3px solid #fc3; /* Yellow */ } table.imbox-move { border: 3px solid #9932cc; /* Purple */ } table.imbox-protection { border: 3px solid #a2a9b1; /* Gray-gold */ } table.imbox-license { border: 3px solid #88a; /* Dark gray */ background-color: #f7f8ff; /* Light gray */ } table.imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } /* Category message box styles */ table.cmbox { margin: 3px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; } table.cmbox-notice { background-color: #d8e8ff; /* Blue */ } table.cmbox-speedy { margin-top: 4px; margin-bottom: 4px; border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } table.cmbox-delete { background-color: #ffdbdb; /* Pink */ } table.cmbox-content { background-color: #ffe7ce; /* Orange */ } table.cmbox-style { background-color: #fff9db; /* Yellow */ } table.cmbox-move { background-color: #e4d8ff; /* Purple */ } table.cmbox-protection { background-color: #efefe1; /* Gray-gold */ } /* Other pages message box styles */ table.ombox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: #f8f9fa; box-sizing: border-box; } table.ombox-notice { border: 1px solid #a2a9b1; /* Gray */ } table.ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ombox-delete { border: 2px solid #b32424; /* Red */ } table.ombox-content { border: 1px solid #f28500; /* Orange */ } table.ombox-style { border: 1px solid #fc3; /* Yellow */ } table.ombox-move { border: 1px solid #9932cc; /* Purple */ } table.ombox-protection { border: 2px solid #a2a9b1; /* Gray-gold */ } /* Talk page message box styles */ table.tmbox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; min-width: 80%; box-sizing: border-box; } .tmbox.mbox-small { min-width: 0; /* reset the min-width of tmbox above */ } .mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } .mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } table.tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.tmbox-delete { border: 2px solid #b32424; /* Red */ } table.tmbox-content { border: 2px solid #f28500; /* Orange */ } table.tmbox-style { border: 2px solid #fc3; /* Yellow */ } table.tmbox-move { border: 2px solid #9932cc; /* Purple */ } table.tmbox-protection, table.tmbox-notice { border: 1px solid #c0c090; /* Gray-brown */ } /* Footer and header message box styles */ table.fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: #f8f9fa; /* Default "system" gray */ box-sizing: border-box; } table.fmbox-system { background-color: #f8f9fa; } table.fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } table.fmbox-editnotice { background-color: transparent; } /* These mbox-small classes must be placed after all other ambox/tmbox/ombox etc classes. "html body.mediawiki" is so they override "table.ambox + table.ambox" above. */ html body.mediawiki .mbox-small { /* For the "small=yes" option. */ /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; box-sizing: border-box; width: 238px; font-size: 88%; line-height: 1.25em; } html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ /* @noflip */ margin: 4px 1em 4px 0; box-sizing: border-box; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } /* Remove underlines from certain links */ .nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; } /* Prevent line breaks in silly places where desired (nowrap) and links when we don't want them to (nowraplinks a) */ .nowrap, .nowraplinks a { white-space: nowrap; } /* But allow wrapping where desired: */ .wrap, .wraplinks a { white-space: normal; } /* Selectively hide headers in WikiProject banners */ /* TemplateStyles */ .wpb .wpb-header { display: none; } .wpbs-inner .wpb .wpb-header { display: table-row; } .wpbs-inner .wpb-outside { display: none; /* hide things that should only display outside shells */ } /* texhtml class for inline math (based on generic times-serif class) */ span.texhtml { font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size: 118%; line-height: 1; white-space: nowrap; /* Force tabular and lining display for texhtml */ -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; font-feature-settings: "lnum", "tnum", "kern" 0; font-variant-numeric: lining-nums tabular-nums; font-kerning: none; } span.texhtml span.texhtml { font-size: 100%; } /* ========================================================================== NavboxMobile — flex layout rules for MediaWiki:Common.css ADD these rules to Common.css (desktop stylesheet). ========================================================================== */ /* ── Outer container ─────────────────────────────────────────────────────── */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 1em auto 0; background-color: #fdfdfd; color: inherit; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* ── MW collapsible-content wrapper ──────────────────────────────────────── */ /* MW JS wraps children 2..N of .mw-collapsible in this div. It must stay full-width so the flex rows inside don't break. */ .navbox-mf > .mw-collapsible-content { display: block; width: 100%; margin: 0; padding: 0; } /* ── Title bar ───────────────────────────────────────────────────────────── */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; background-color: #ccccff; padding: 0.2em 0.4em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 1.8em; } /* Navbar (v·d·e) — left flex item */ .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; /* @noflip */ order: 1; } /* Title text — centre flex item, takes all available space */ .navbox-mf-title-text { flex: 1 1 auto; text-align: center; /* @noflip */ order: 2; } /* MW-injected toggle button — right flex item */ /* MW appends the toggle as the last child of .navbox-mf-title */ .navbox-mf-title > .mw-collapsible-toggle { flex: 0 0 auto; font-weight: normal; font-size: smaller; text-align: right; min-width: 3em; white-space: nowrap; /* @noflip */ order: 3; /* Reset any float/position from Common.css global toggle rules */ float: none; position: static; } /* ── Above / Below ───────────────────────────────────────────────────────── */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: center; } .navbox-mf-abovebelow-inner { padding: 0.25em 1em; } /* ── Content rows ────────────────────────────────────────────────────────── */ /* * Each row is a flex container. * flex-wrap: wrap is the key — when the viewport is too narrow to fit * both group and list side by side, the list wraps below the group. * * The breakpoint is controlled by the min-width values below: * .navbox-mf-group min-width: 100% on narrow / auto on wide * .navbox-mf-list flex: 1 1 12em (needs at least 12em to sit beside group) * * On a typical desktop (>600px) both fit. On mobile (<~400px) the list * wraps. No media query needed. */ .navbox-mf-row { display: flex; flex-direction: row; flex-wrap: wrap; /* ← this is the responsive magic */ align-items: stretch; width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-row:first-of-type { border-top: none; } /* ── Group label ─────────────────────────────────────────────────────────── */ .navbox-mf-group { flex: 0 0 auto; /* don't grow, don't shrink past content */ min-width: 6em; /* minimum width before wrapping kicks in */ max-width: 20%; /* on wide screens stays a narrow column */ background-color: #ddddff; padding: 0.25em 0.75em; line-height: 1.5em; font-weight: bold; text-align: right; display: flex; align-items: center; justify-content: flex-end; box-sizing: border-box; /* Right border separates group from list on wide screens. When wrapped (mobile), the list is below so border is hidden. */ border-right: 2px solid #fdfdfd; } /* ── List content ────────────────────────────────────────────────────────── */ .navbox-mf-list { flex: 1 1 12em; /* grow to fill; wraps when < 12em available */ min-width: 0; /* allow shrinking below content width */ text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* ── Even/odd striping ───────────────────────────────────────────────────── */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* ── Wrapping behaviour: group becomes full-width header on narrow screens ── * * When the row wraps, .navbox-mf-group and .navbox-mf-list each become * their own flex line. We want the group to span the full width in that * case and lose its right border (since nothing sits beside it). * * Technique: once the list wraps (it starts below the group), the group * needs width:100%. We achieve this by giving .navbox-mf-group * flex-basis: 100% ONLY when it cannot sit beside the list. * * Because flex-wrap:wrap causes items to wrap based on their flex-basis, * we set group flex-basis to something that forces wrapping on mobile: * On mobile (~360px wide) the group min-width:6em leaves ~300px for the * list, but the list needs flex-basis:12em (192px). They fit together on * any screen wider than ~6em+12em = ~288px which is most phones. * * For very narrow or when groupwidth forces narrow context, border cleanup: */ @media (max-width: 480px) { .navbox-mf-group { flex-basis: 100%; /* group takes full line */ max-width: 100%; text-align: center; justify-content: center; border-right: none; border-bottom: 1px solid #e8e8ff; } .navbox-mf-list { flex-basis: 100%; /* list takes next full line */ } .navbox-mf-title-text { font-size: 100%; /* slightly smaller title on very narrow */ } } /* ── hlist padding ───────────────────────────────────────────────────────── */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* ── Subgroup colours ────────────────────────────────────────────────────── */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } /* ========================================================================== NavboxMobile flex layout end ========================================================================== */ @media screen { .nochecker .gallerybox .thumb img { background-image: none; } } /* Put anything you mean to be a sitewide addition above the TemplateStyles * comment above. */ pwn5lrf2t6q0sns9wh08nmftxyq9c34 4621538 4621530 2026-05-22T12:53:28Z Ranjithsiji 22471 fix some flex errors 4621538 css text/css /* * This is the CSS for all desktop skins on en.Wikipedia. * Styling inside .mw-parser-output should generally use TemplateStyles. */ /* Main page fixes */ .interwiki-completelist { font-weight: bold; } /* പ്രധാന താളിലെ “പ്രധാന താൾ“ എന്ന തലക്കെട്ട് ഒഴിവാകാൻ - To remove Main page title */ body.page-പ്രധാന_താൾ h1.firstHeading { display:none; } /*HERE STARTS "METABOX" COLOUR-SCHEMES*/ /* Nou esquema de colors per a la Plantilla:Metacaixa usada a la portada */ /* Configuració per defecte en lila Tons usats; 1; 7050a0 2; 9070c0 3; b090e0 4; d0b0ff 5; f0d0ff */ .mcBoto { background-color: #d0b0ff; /* 4 */ border: 0.15em solid #000000; border-color: #f0d0ff #b090e0 #9070c0 #f0d0ff; /* 5 3 3 5 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor:pointer; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative;} .mcBoto a, .mcBoto strong { background: none !important; color:#7050a0 !important; /* 1 */ font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcBoto a:hover, .mcBoto strong:hover { color: black !important; text-decoration: underline !important;} .mcBotoSel { background-color: #9070c0; /* 2 */ border: 0.15em solid #000000; border-color: #b090e0 #7050a0 #9070c0 #b090e0; /* 3 1 2 3 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor: default; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative; color:white;} .mcBotoSel a { background: none !important; color:white !important; cursor: default; font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcContingut { background-color: #f8f8ff; border: 0.2em solid #9070c0; /* 2 */ border-color: #9070c0 #7050a0 #7050a0 #9070c0 ; /* 2 1 1 2 */ -moz-border-radius: 0em .5em .5em 0em; border-radius-topright: .5em; border-radius-bottomright: .5em; padding: 1em; position: static; /* Si hi posem relative falla amb MSIE */} .mcPestanya { background-color: #f8f8ff; border-color: #7050a0 #b090e0 #b090e0 #7050a0; /* 1 3 3 1 */ width: 100%; } /* Configuració del Verd 1;60b030 2;75c045 3;90d060 4;a5e085 5;c0f090 */ .mcപച്ച .mcBoto { background-color: #a5e085; /* 4 */ border-color: #c0f090 #90d060 #75c045 #c0f090; /* 5 3 2 5 */} .mcപച്ച .mcBoto a, .mcപച്ച .mcBoto strong { color:#60b030 !important; /* 1 */ font-size:90%} .mcപച്ച .mcBoto a:hover, .mcപച്ച .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcപച്ച .mcBotoSel { background-color: #75c045; /* 2 */ border-color: #90d060 #60b030 #75c045 #90d060; /* 3 1 2 3 */} .mcപച്ച .mcContingut { background-color: #f5fffa; border-color: #75c045 #60b030 #60b030 #75c045 ; /* 2 1 1 2 */} .mcപച്ച .mcPestanya { background-color: #f5fffa; border-color: #60b030 #90d060 #90d060 #60b030; /* 1 3 3 1 */} /* Configuració del Vermell 1;CC0000 2;FF0000 3;FF8888 4;FFAAAA 5;FFCCCC */ .mcചുവപ്പ് .mcBoto { background-color: #FFAAAA; /* 4 */ border-color: #FFCCCC #FF8888 #FF0000 #FFCCCC; /* 5 3 2 5 */} .mcചുവപ്പ് .mcBoto a, .mcചുവപ്പ് .mcBoto strong { color:#CC0000 !important; /* 1 */ font-size:90%} .mcചുവപ്പ് .mcBoto a:hover .mcചുവപ്പ് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcചുവപ്പ് .mcBotoSel { background-color: #FF0000; /* 2 */ border-color: #FF8888 #CC0000 #FF0000 #FF8888; /* 3 1 2 3 */} .mcചുവപ്പ് .mcContingut { background-color: #fffafa; border-color: #FF0000 #CC0000 #CC0000 #FF0000; /* 2 1 1 2 */} .mcചുവപ്പ് .mcPestanya { background-color: #fffafa; border-color: #CC0000 #FF0000 #FF0000 #CC0000; /* 1 3 3 1 */} /* Configuració del Blue 1;3379de 2;5b8dd6 3;88abde 4;a7c1e6 5;c8d6e9 */ .mcനീല .mcBoto { background-color: #a7c1e6; /* 4 */ border-color: #c8d6e9 #88abde #5b8dd6 #c8d6e9; /* 5 3 2 5 */} .mcനീല .mcBoto a, .mcനീല .mcBoto strong { color:#3379de !important; /* 1 */ font-size:90%} .mcനീല .mcBoto a:hover .mcനീല .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcനീല .mcBotoSel { background-color: #5b8dd6; /* 2 */ border-color: #88abde #3379de #5b8dd6 #88abde; /* 3 1 2 3 */} .mcനീല .mcContingut { background-color: #f0f8ff; border-color: #5b8dd6 #3379de #3379de #5b8dd6; /* 2 1 1 2 */} .mcനീല .mcPestanya { background-color: #f0f8ff; border-color: #3379de #88abde #88abde #3379de; /* 1 3 3 1 */} /* Configuració del Groc 1;ffd813 2;ffe147 3;ffe977 4;fff1a4 5;fef4bc */ .mcമഞ്ഞ .mcBoto { background-color: #fff1a4; /* 4 */ border-color: #fef4bc #ffe977 #ffe147 #fef4bc; /* 5 3 2 5 */} .mcമഞ്ഞ .mcBoto a, .mcമഞ്ഞ .mcBoto strong { color:#ffd813 !important; /* 1 */ font-size:90%} .mcമഞ്ഞ .mcBoto a:hover .mcമഞ്ഞ .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcമഞ്ഞ .mcBotoSel { background-color: #ffe147; /* 2 */ border-color: #ffe977 #ffd813 #ffe147 #ffe977; /* 3 1 2 3 */} .mcമഞ്ഞ .mcContingut { background-color: #fffce8; border-color: #ffe147 #ffd813 #ffd813 #ffe147; /* 2 1 1 2 */} .mcമഞ്ഞ .mcPestanya { background-color: #fffce8; border-color: #ffd813 #88abde #88abde #ffd813; /* 1 3 3 1 */} /* Configuració del Taronja 1;ff820e 2;ff9d42 3;ffac5d 4;ffbd7f 5;ffd0a4 6;ffeedd */ .mcഓറഞ്ച് .mcBoto { background-color: #ffbd7f; /* 4 */ border-color: #ffd0a4 #ffac5d #ff9d42 #ffd0a4; /* 5 3 2 5 */} .mcഓറഞ്ച് .mcBoto a, .mcഓറഞ്ച് .mcBoto strong { color:#ff820e !important; /* 1 */ font-size:90%} .mcഓറഞ്ച് .mcBoto a:hover .mcഓറഞ്ച് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcഓറഞ്ച് .mcBotoSel { background-color: #ff9d42; /* 2 */ border-color: #ffac5d #ff820e #ff9d42 #ffac5d; /* 3 1 2 3 */} .mcഓറഞ്ച് .mcContingut { background-color: #ffeedd; /* 6 */ border-color: #ff9d42 #ff820e #ff820e #ff9d42; /* 2 1 1 2 */} .mcഓറഞ്ച് .mcPestanya { background-color: #ffeedd; /* 6 */ border-color: #ff820e #ffac5d #ffac5d #ff820e; /* 1 3 3 1 */} /* Final d'estils de la Metacaixa */ /*HERE FINISHES "METABOX" COLOUR-SCHEMES*/ /* Reset italic styling set by user agent */ cite, dfn { font-style: inherit; } /* Straight quote marks for <q> */ q { quotes: '"' '"' "'" "'"; } /* Avoid collision of blockquote with floating elements by swapping margin and padding */ blockquote { overflow: hidden; margin: 1em 0; padding: 0 40px; } /* Consistent size for <small>, <sub> and <sup> */ small { font-size: 85%; } .mw-body-content sub, .mw-body-content sup, span[rel~='mw:referencedBy'] a::before /* for Parsoid */ { font-size: 80%; } /* Same spacing for indented and unindented paragraphs on talk pages */ .ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; } /* Reduce page jumps by hiding collapsed/dismissed content */ .client-js .mw-special-Watchlist #watchlist-message, .client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child), /* Hide charinsert base for those not using the gadget */ #editpage-specialchars { display: none; } /* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ .mw-rcfilters-enabled .mw-specialpage-summary { margin-top: 1em; } /* Make the list of references smaller * Keep in sync with Template:Refbegin/styles.css * And Template:Reflist/styles.css */ ol.references { font-size: 90%; margin-bottom: 0.5em; } /* Styling for JQuery makeCollapsible, matching that of collapseButton */ .mw-parser-output .mw-collapsible-toggle { font-weight: normal; /* @noflip */ text-align: right; padding-right: 0.2em; padding-left: 0.2em; } .mw-collapsible-leftside-toggle .mw-collapsible-toggle { /* @noflip */ float: left; /* @noflip */ text-align: left; } /* Lists in wikitable data cells are always left-aligned */ .wikitable td ul, .wikitable td ol, .wikitable td dl { /* @noflip */ text-align: left; } /* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ .mw-parser-output table.mw-hiero-table td { vertical-align: middle; } /* Change the external link icon to a PDF icon for all PDF files */ .mw-parser-output a[href$=".pdf"].external, .mw-parser-output a[href*=".pdf?"].external, .mw-parser-output a[href*=".pdf#"].external, .mw-parser-output a[href$=".PDF"].external, .mw-parser-output a[href*=".PDF?"].external, .mw-parser-output a[href*=".PDF#"].external { background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right; /* @noflip */ padding: 8px 18px 8px 0; } /* System messages styled similarly to fmbox */ div.mw-warning-with-logexcerpt, div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon, div.titleblacklist-warning { clear: both; margin: 0.2em 0; border: 1px solid #bb7070; background-color: #ffdbdb; padding: 0.25em 0.9em; box-sizing: border-box; } /* default colors for partial block message */ .mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt { border-color: #fc3; background-color: #fef6e7; } /* Increase the height of the image upload box */ #wpUploadDescription { height: 13em; } /* Minimum thumb width */ figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; } /* Prevent floating boxes from overlapping any category listings, file histories, edit previews, and edit [Show changes] views. */ #mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; } /* Styling for Abuse Filter tags */ .mw-tag-markers { font-style: italic; font-size: 90%; } /* Hide stuff meant for accounts with special permissions. Made visible again in [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]], [[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]], [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ .checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show, .patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show, .autoconfirmed-show, .user-show { display: none; } /* Hide the redlink generated by {{Editnotice}}, this overrides the ".sysop-show { display: none; }" above that applies to the same link as well. See [[phab:T45013]] Hide the images in editnotices to keep them readable in VE view. Long term, editnotices should become a core feature so that they can be designed responsive. */ .ve-ui-mwNoticesPopupTool-item .editnotice-redlink, .ve-ui-mwNoticesPopupTool-item .mbox-image, .ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; } /* Remove bullets when there are multiple edit page warnings */ ul.permissions-errors { margin: 0; } ul.permissions-errors > li { list-style: none none; } /* larger inline math */ span.mwe-math-mathml-inline { font-size: 118%; } /* Make <math display="block"> be left aligned with one space indent for * compatibility with style conventions */ .mwe-math-fallback-image-display, .mwe-math-mathml-display { margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em; } .mwe-math-mathml-display math { display: inline; } @media screen { /* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ /* The backgrounds for galleries. */ #content .gallerybox div.thumb { /* Light gray padding */ background-color: #f8f9fa; } /* Put a chequered background behind images, only visible if they have transparency. '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ .gallerybox .thumb img { background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; } /* But not on articles, user pages, or portals. */ .ns-0 .gallerybox .thumb img, .ns-2 .gallerybox .thumb img, .ns-100 .gallerybox .thumb img { background-image: none; } /* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ #siteSub { display: block; } } /* Hide FlaggedRevs notice UI when there are no pending changes */ .flaggedrevs_draft_synced, .flaggedrevs_stable_synced, /* "Temporary" to remove links in sidebar T255381 */ #t-upload, /* Hide broken download box on Special:Book pending T285400 */ .mw-special-Book #coll-downloadbox { display: none; } /* * BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS; * SEE [[MediaWiki talk:Common.css/to do]] */ /* Style for horizontal lists (separator following item). @source mediawiki.org/wiki/Snippets/Horizontal_lists @revision 8 (2016-05-21) @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; /* don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again */ display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } /** * Note hlist style usage differs in Minerva and is defined in core as well! * Please check Minerva desktop (and Minerva.css) when changing * See https://phabricator.wikimedia.org/T213239 */ .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* Unbulleted lists */ .plainlist ol, .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ol li, .plainlist ul li { margin-bottom: 0; } /* Infobox template style */ .infobox { border: 1px solid #a2a9b1; border-spacing: 3px; background-color: #f8f9fa; color: black; /* @noflip */ margin: 0.5em 0 0.5em 1em; padding: 0.2em; /* @noflip */ float: right; /* @noflip */ clear: right; font-size: 88%; line-height: 1.5em; width: 22em; } .infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data, .infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { vertical-align: top; } .infobox-label, .infobox-data, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { /* @noflip */ text-align: left; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-above, .infobox .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { font-size: 125%; font-weight: bold; text-align: center; } .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { padding: 0.2em; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image, .infobox .infobox-full-data, .infobox .infobox-below { text-align: center; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-navbar { /* @noflip */ text-align: right; } /* Normal font styling for wikitable row headers with scope="row" tag */ .wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] { font-weight: normal; /* @noflip */ text-align: left; } /* ambox/tmbox/imbox/cmbox/ombox/fmbox message boxes */ th.mbox-text, td.mbox-text { /* The message body cell(s) */ border: none; /* @noflip */ padding: 0.25em 0.9em; /* 0.9em left/right */ width: 100%; /* Make all mboxes the same width regardless of text length */ } td.mbox-image { /* The left image cell */ border: none; /* @noflip */ padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ text-align: center; } td.mbox-imageright { /* The right image cell */ border: none; /* @noflip */ padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ text-align: center; } td.mbox-empty-cell { /* An empty narrow cell */ border: none; padding: 0; width: 1px; } /* Article message box styles */ table.ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. */ table.ambox + table.ambox, table.ambox + .mw-empty-elt + table.ambox { margin-top: -1px; } .ambox th.mbox-text, .ambox td.mbox-text { /* The message body cell(s) */ padding: 0.25em 0.5em; /* 0.5em left/right */ } .ambox td.mbox-image { /* The left image cell */ /* @noflip */ padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ } .ambox td.mbox-imageright { /* The right image cell */ /* @noflip */ padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ } table.ambox-notice { /* @noflip */ border-left: 10px solid #36c; /* Blue */ } table.ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } table.ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } table.ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } table.ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } table.ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } /* Image message box styles */ table.imbox { margin: 4px 10%; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } .imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ display: block; /* Fix for webkit to force 100% width. */ } .mbox-inside .imbox { /* For imboxes inside other templates. */ margin: 4px; } table.imbox-notice { border: 3px solid #36c; /* Blue */ } table.imbox-speedy { border: 3px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.imbox-delete { border: 3px solid #b32424; /* Red */ } table.imbox-content { border: 3px solid #f28500; /* Orange */ } table.imbox-style { border: 3px solid #fc3; /* Yellow */ } table.imbox-move { border: 3px solid #9932cc; /* Purple */ } table.imbox-protection { border: 3px solid #a2a9b1; /* Gray-gold */ } table.imbox-license { border: 3px solid #88a; /* Dark gray */ background-color: #f7f8ff; /* Light gray */ } table.imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } /* Category message box styles */ table.cmbox { margin: 3px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; } table.cmbox-notice { background-color: #d8e8ff; /* Blue */ } table.cmbox-speedy { margin-top: 4px; margin-bottom: 4px; border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } table.cmbox-delete { background-color: #ffdbdb; /* Pink */ } table.cmbox-content { background-color: #ffe7ce; /* Orange */ } table.cmbox-style { background-color: #fff9db; /* Yellow */ } table.cmbox-move { background-color: #e4d8ff; /* Purple */ } table.cmbox-protection { background-color: #efefe1; /* Gray-gold */ } /* Other pages message box styles */ table.ombox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: #f8f9fa; box-sizing: border-box; } table.ombox-notice { border: 1px solid #a2a9b1; /* Gray */ } table.ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ombox-delete { border: 2px solid #b32424; /* Red */ } table.ombox-content { border: 1px solid #f28500; /* Orange */ } table.ombox-style { border: 1px solid #fc3; /* Yellow */ } table.ombox-move { border: 1px solid #9932cc; /* Purple */ } table.ombox-protection { border: 2px solid #a2a9b1; /* Gray-gold */ } /* Talk page message box styles */ table.tmbox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; min-width: 80%; box-sizing: border-box; } .tmbox.mbox-small { min-width: 0; /* reset the min-width of tmbox above */ } .mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } .mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } table.tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.tmbox-delete { border: 2px solid #b32424; /* Red */ } table.tmbox-content { border: 2px solid #f28500; /* Orange */ } table.tmbox-style { border: 2px solid #fc3; /* Yellow */ } table.tmbox-move { border: 2px solid #9932cc; /* Purple */ } table.tmbox-protection, table.tmbox-notice { border: 1px solid #c0c090; /* Gray-brown */ } /* Footer and header message box styles */ table.fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: #f8f9fa; /* Default "system" gray */ box-sizing: border-box; } table.fmbox-system { background-color: #f8f9fa; } table.fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } table.fmbox-editnotice { background-color: transparent; } /* These mbox-small classes must be placed after all other ambox/tmbox/ombox etc classes. "html body.mediawiki" is so they override "table.ambox + table.ambox" above. */ html body.mediawiki .mbox-small { /* For the "small=yes" option. */ /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; box-sizing: border-box; width: 238px; font-size: 88%; line-height: 1.25em; } html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ /* @noflip */ margin: 4px 1em 4px 0; box-sizing: border-box; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } /* Remove underlines from certain links */ .nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; } /* Prevent line breaks in silly places where desired (nowrap) and links when we don't want them to (nowraplinks a) */ .nowrap, .nowraplinks a { white-space: nowrap; } /* But allow wrapping where desired: */ .wrap, .wraplinks a { white-space: normal; } /* Selectively hide headers in WikiProject banners */ /* TemplateStyles */ .wpb .wpb-header { display: none; } .wpbs-inner .wpb .wpb-header { display: table-row; } .wpbs-inner .wpb-outside { display: none; /* hide things that should only display outside shells */ } /* texhtml class for inline math (based on generic times-serif class) */ span.texhtml { font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size: 118%; line-height: 1; white-space: nowrap; /* Force tabular and lining display for texhtml */ -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; font-feature-settings: "lnum", "tnum", "kern" 0; font-variant-numeric: lining-nums tabular-nums; font-kerning: none; } span.texhtml span.texhtml { font-size: 100%; } /* ========================================================================== NavboxMobile — flex layout rules for MediaWiki:Common.css ADD these rules to Common.css (desktop stylesheet). ========================================================================== */ /* ── Outer container ─────────────────────────────────────────────────────── */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 1em auto 0; background-color: #fdfdfd; color: inherit; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* ── Title bar ───────────────────────────────────────────────────────────── */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.2em 0.4em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 1.8em; box-sizing: border-box; width: 100%; } /* Navbar (v·d·e) — left flex item */ .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } /* Title text — centre, takes all remaining space */ .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle button — right flex item, after title text */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0,0,0,0.2); border-radius: 2px; padding: 0.1em 0.4em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; } .navbox-mf-toggle:hover { background: rgba(0,0,0,0.07); } /* ── Body ────────────────────────────────────────────────────────────────── */ .navbox-mf-body { width: 100%; } /* ── Above / Below ───────────────────────────────────────────────────────── */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: center; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 1em; } /* ── Content rows ────────────────────────────────────────────────────────── */ .navbox-mf-row { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* ── Group label ─────────────────────────────────────────────────────────── */ .navbox-mf-group { flex: 0 0 auto; min-width: 6em; max-width: 20%; background-color: #ddddff; padding: 0.25em 0.75em; line-height: 1.5em; font-weight: bold; text-align: right; display: flex; align-items: center; justify-content: flex-end; box-sizing: border-box; border-right: 2px solid #fdfdfd; } /* ── List content ────────────────────────────────────────────────────────── */ .navbox-mf-list { flex: 1 1 12em; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* ── Even/odd striping ───────────────────────────────────────────────────── */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* ── Very narrow: force stacked layout ──────────────────────────────────── */ @media screen and (max-width: 480px) { .navbox-mf-group { flex-basis: 100%; max-width: 100%; text-align: center; justify-content: center; border-right: none; border-bottom: 1px solid #e8e8ff; min-width: 0; } .navbox-mf-list { flex-basis: 100%; } } /* ── hlist padding ───────────────────────────────────────────────────────── */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* ── Subgroup colours ────────────────────────────────────────────────────── */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } /* ========================================================================== NavboxMobile flex layout end ========================================================================== */ @media screen { .nochecker .gallerybox .thumb img { background-image: none; } } /* Put anything you mean to be a sitewide addition above the TemplateStyles * comment above. */ 1dhkn4g0ik9jwi61mt2eq4ez86cthch 4621606 4621538 2026-05-22T19:02:11Z Ranjithsiji 22471 fix css render issues in responsive navbox 4621606 css text/css /* * This is the CSS for all desktop skins on en.Wikipedia. * Styling inside .mw-parser-output should generally use TemplateStyles. */ /* Main page fixes */ .interwiki-completelist { font-weight: bold; } /* പ്രധാന താളിലെ “പ്രധാന താൾ“ എന്ന തലക്കെട്ട് ഒഴിവാകാൻ - To remove Main page title */ body.page-പ്രധാന_താൾ h1.firstHeading { display:none; } /*HERE STARTS "METABOX" COLOUR-SCHEMES*/ /* Nou esquema de colors per a la Plantilla:Metacaixa usada a la portada */ /* Configuració per defecte en lila Tons usats; 1; 7050a0 2; 9070c0 3; b090e0 4; d0b0ff 5; f0d0ff */ .mcBoto { background-color: #d0b0ff; /* 4 */ border: 0.15em solid #000000; border-color: #f0d0ff #b090e0 #9070c0 #f0d0ff; /* 5 3 3 5 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor:pointer; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative;} .mcBoto a, .mcBoto strong { background: none !important; color:#7050a0 !important; /* 1 */ font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcBoto a:hover, .mcBoto strong:hover { color: black !important; text-decoration: underline !important;} .mcBotoSel { background-color: #9070c0; /* 2 */ border: 0.15em solid #000000; border-color: #b090e0 #7050a0 #9070c0 #b090e0; /* 3 1 2 3 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor: default; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative; color:white;} .mcBotoSel a { background: none !important; color:white !important; cursor: default; font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcContingut { background-color: #f8f8ff; border: 0.2em solid #9070c0; /* 2 */ border-color: #9070c0 #7050a0 #7050a0 #9070c0 ; /* 2 1 1 2 */ -moz-border-radius: 0em .5em .5em 0em; border-radius-topright: .5em; border-radius-bottomright: .5em; padding: 1em; position: static; /* Si hi posem relative falla amb MSIE */} .mcPestanya { background-color: #f8f8ff; border-color: #7050a0 #b090e0 #b090e0 #7050a0; /* 1 3 3 1 */ width: 100%; } /* Configuració del Verd 1;60b030 2;75c045 3;90d060 4;a5e085 5;c0f090 */ .mcപച്ച .mcBoto { background-color: #a5e085; /* 4 */ border-color: #c0f090 #90d060 #75c045 #c0f090; /* 5 3 2 5 */} .mcപച്ച .mcBoto a, .mcപച്ച .mcBoto strong { color:#60b030 !important; /* 1 */ font-size:90%} .mcപച്ച .mcBoto a:hover, .mcപച്ച .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcപച്ച .mcBotoSel { background-color: #75c045; /* 2 */ border-color: #90d060 #60b030 #75c045 #90d060; /* 3 1 2 3 */} .mcപച്ച .mcContingut { background-color: #f5fffa; border-color: #75c045 #60b030 #60b030 #75c045 ; /* 2 1 1 2 */} .mcപച്ച .mcPestanya { background-color: #f5fffa; border-color: #60b030 #90d060 #90d060 #60b030; /* 1 3 3 1 */} /* Configuració del Vermell 1;CC0000 2;FF0000 3;FF8888 4;FFAAAA 5;FFCCCC */ .mcചുവപ്പ് .mcBoto { background-color: #FFAAAA; /* 4 */ border-color: #FFCCCC #FF8888 #FF0000 #FFCCCC; /* 5 3 2 5 */} .mcചുവപ്പ് .mcBoto a, .mcചുവപ്പ് .mcBoto strong { color:#CC0000 !important; /* 1 */ font-size:90%} .mcചുവപ്പ് .mcBoto a:hover .mcചുവപ്പ് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcചുവപ്പ് .mcBotoSel { background-color: #FF0000; /* 2 */ border-color: #FF8888 #CC0000 #FF0000 #FF8888; /* 3 1 2 3 */} .mcചുവപ്പ് .mcContingut { background-color: #fffafa; border-color: #FF0000 #CC0000 #CC0000 #FF0000; /* 2 1 1 2 */} .mcചുവപ്പ് .mcPestanya { background-color: #fffafa; border-color: #CC0000 #FF0000 #FF0000 #CC0000; /* 1 3 3 1 */} /* Configuració del Blue 1;3379de 2;5b8dd6 3;88abde 4;a7c1e6 5;c8d6e9 */ .mcനീല .mcBoto { background-color: #a7c1e6; /* 4 */ border-color: #c8d6e9 #88abde #5b8dd6 #c8d6e9; /* 5 3 2 5 */} .mcനീല .mcBoto a, .mcനീല .mcBoto strong { color:#3379de !important; /* 1 */ font-size:90%} .mcനീല .mcBoto a:hover .mcനീല .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcനീല .mcBotoSel { background-color: #5b8dd6; /* 2 */ border-color: #88abde #3379de #5b8dd6 #88abde; /* 3 1 2 3 */} .mcനീല .mcContingut { background-color: #f0f8ff; border-color: #5b8dd6 #3379de #3379de #5b8dd6; /* 2 1 1 2 */} .mcനീല .mcPestanya { background-color: #f0f8ff; border-color: #3379de #88abde #88abde #3379de; /* 1 3 3 1 */} /* Configuració del Groc 1;ffd813 2;ffe147 3;ffe977 4;fff1a4 5;fef4bc */ .mcമഞ്ഞ .mcBoto { background-color: #fff1a4; /* 4 */ border-color: #fef4bc #ffe977 #ffe147 #fef4bc; /* 5 3 2 5 */} .mcമഞ്ഞ .mcBoto a, .mcമഞ്ഞ .mcBoto strong { color:#ffd813 !important; /* 1 */ font-size:90%} .mcമഞ്ഞ .mcBoto a:hover .mcമഞ്ഞ .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcമഞ്ഞ .mcBotoSel { background-color: #ffe147; /* 2 */ border-color: #ffe977 #ffd813 #ffe147 #ffe977; /* 3 1 2 3 */} .mcമഞ്ഞ .mcContingut { background-color: #fffce8; border-color: #ffe147 #ffd813 #ffd813 #ffe147; /* 2 1 1 2 */} .mcമഞ്ഞ .mcPestanya { background-color: #fffce8; border-color: #ffd813 #88abde #88abde #ffd813; /* 1 3 3 1 */} /* Configuració del Taronja 1;ff820e 2;ff9d42 3;ffac5d 4;ffbd7f 5;ffd0a4 6;ffeedd */ .mcഓറഞ്ച് .mcBoto { background-color: #ffbd7f; /* 4 */ border-color: #ffd0a4 #ffac5d #ff9d42 #ffd0a4; /* 5 3 2 5 */} .mcഓറഞ്ച് .mcBoto a, .mcഓറഞ്ച് .mcBoto strong { color:#ff820e !important; /* 1 */ font-size:90%} .mcഓറഞ്ച് .mcBoto a:hover .mcഓറഞ്ച് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcഓറഞ്ച് .mcBotoSel { background-color: #ff9d42; /* 2 */ border-color: #ffac5d #ff820e #ff9d42 #ffac5d; /* 3 1 2 3 */} .mcഓറഞ്ച് .mcContingut { background-color: #ffeedd; /* 6 */ border-color: #ff9d42 #ff820e #ff820e #ff9d42; /* 2 1 1 2 */} .mcഓറഞ്ച് .mcPestanya { background-color: #ffeedd; /* 6 */ border-color: #ff820e #ffac5d #ffac5d #ff820e; /* 1 3 3 1 */} /* Final d'estils de la Metacaixa */ /*HERE FINISHES "METABOX" COLOUR-SCHEMES*/ /* Reset italic styling set by user agent */ cite, dfn { font-style: inherit; } /* Straight quote marks for <q> */ q { quotes: '"' '"' "'" "'"; } /* Avoid collision of blockquote with floating elements by swapping margin and padding */ blockquote { overflow: hidden; margin: 1em 0; padding: 0 40px; } /* Consistent size for <small>, <sub> and <sup> */ small { font-size: 85%; } .mw-body-content sub, .mw-body-content sup, span[rel~='mw:referencedBy'] a::before /* for Parsoid */ { font-size: 80%; } /* Same spacing for indented and unindented paragraphs on talk pages */ .ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; } /* Reduce page jumps by hiding collapsed/dismissed content */ .client-js .mw-special-Watchlist #watchlist-message, .client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child), /* Hide charinsert base for those not using the gadget */ #editpage-specialchars { display: none; } /* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ .mw-rcfilters-enabled .mw-specialpage-summary { margin-top: 1em; } /* Make the list of references smaller * Keep in sync with Template:Refbegin/styles.css * And Template:Reflist/styles.css */ ol.references { font-size: 90%; margin-bottom: 0.5em; } /* Styling for JQuery makeCollapsible, matching that of collapseButton */ .mw-parser-output .mw-collapsible-toggle { font-weight: normal; /* @noflip */ text-align: right; padding-right: 0.2em; padding-left: 0.2em; } .mw-collapsible-leftside-toggle .mw-collapsible-toggle { /* @noflip */ float: left; /* @noflip */ text-align: left; } /* Lists in wikitable data cells are always left-aligned */ .wikitable td ul, .wikitable td ol, .wikitable td dl { /* @noflip */ text-align: left; } /* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ .mw-parser-output table.mw-hiero-table td { vertical-align: middle; } /* Change the external link icon to a PDF icon for all PDF files */ .mw-parser-output a[href$=".pdf"].external, .mw-parser-output a[href*=".pdf?"].external, .mw-parser-output a[href*=".pdf#"].external, .mw-parser-output a[href$=".PDF"].external, .mw-parser-output a[href*=".PDF?"].external, .mw-parser-output a[href*=".PDF#"].external { background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right; /* @noflip */ padding: 8px 18px 8px 0; } /* System messages styled similarly to fmbox */ div.mw-warning-with-logexcerpt, div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon, div.titleblacklist-warning { clear: both; margin: 0.2em 0; border: 1px solid #bb7070; background-color: #ffdbdb; padding: 0.25em 0.9em; box-sizing: border-box; } /* default colors for partial block message */ .mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt { border-color: #fc3; background-color: #fef6e7; } /* Increase the height of the image upload box */ #wpUploadDescription { height: 13em; } /* Minimum thumb width */ figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; } /* Prevent floating boxes from overlapping any category listings, file histories, edit previews, and edit [Show changes] views. */ #mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; } /* Styling for Abuse Filter tags */ .mw-tag-markers { font-style: italic; font-size: 90%; } /* Hide stuff meant for accounts with special permissions. Made visible again in [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]], [[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]], [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ .checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show, .patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show, .autoconfirmed-show, .user-show { display: none; } /* Hide the redlink generated by {{Editnotice}}, this overrides the ".sysop-show { display: none; }" above that applies to the same link as well. See [[phab:T45013]] Hide the images in editnotices to keep them readable in VE view. Long term, editnotices should become a core feature so that they can be designed responsive. */ .ve-ui-mwNoticesPopupTool-item .editnotice-redlink, .ve-ui-mwNoticesPopupTool-item .mbox-image, .ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; } /* Remove bullets when there are multiple edit page warnings */ ul.permissions-errors { margin: 0; } ul.permissions-errors > li { list-style: none none; } /* larger inline math */ span.mwe-math-mathml-inline { font-size: 118%; } /* Make <math display="block"> be left aligned with one space indent for * compatibility with style conventions */ .mwe-math-fallback-image-display, .mwe-math-mathml-display { margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em; } .mwe-math-mathml-display math { display: inline; } @media screen { /* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ /* The backgrounds for galleries. */ #content .gallerybox div.thumb { /* Light gray padding */ background-color: #f8f9fa; } /* Put a chequered background behind images, only visible if they have transparency. '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ .gallerybox .thumb img { background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; } /* But not on articles, user pages, or portals. */ .ns-0 .gallerybox .thumb img, .ns-2 .gallerybox .thumb img, .ns-100 .gallerybox .thumb img { background-image: none; } /* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ #siteSub { display: block; } } /* Hide FlaggedRevs notice UI when there are no pending changes */ .flaggedrevs_draft_synced, .flaggedrevs_stable_synced, /* "Temporary" to remove links in sidebar T255381 */ #t-upload, /* Hide broken download box on Special:Book pending T285400 */ .mw-special-Book #coll-downloadbox { display: none; } /* * BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS; * SEE [[MediaWiki talk:Common.css/to do]] */ /* Style for horizontal lists (separator following item). @source mediawiki.org/wiki/Snippets/Horizontal_lists @revision 8 (2016-05-21) @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; /* don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again */ display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } /** * Note hlist style usage differs in Minerva and is defined in core as well! * Please check Minerva desktop (and Minerva.css) when changing * See https://phabricator.wikimedia.org/T213239 */ .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* Unbulleted lists */ .plainlist ol, .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ol li, .plainlist ul li { margin-bottom: 0; } /* Infobox template style */ .infobox { border: 1px solid #a2a9b1; border-spacing: 3px; background-color: #f8f9fa; color: black; /* @noflip */ margin: 0.5em 0 0.5em 1em; padding: 0.2em; /* @noflip */ float: right; /* @noflip */ clear: right; font-size: 88%; line-height: 1.5em; width: 22em; } .infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data, .infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { vertical-align: top; } .infobox-label, .infobox-data, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { /* @noflip */ text-align: left; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-above, .infobox .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { font-size: 125%; font-weight: bold; text-align: center; } .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { padding: 0.2em; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image, .infobox .infobox-full-data, .infobox .infobox-below { text-align: center; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-navbar { /* @noflip */ text-align: right; } /* Normal font styling for wikitable row headers with scope="row" tag */ .wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] { font-weight: normal; /* @noflip */ text-align: left; } /* ambox/tmbox/imbox/cmbox/ombox/fmbox message boxes */ th.mbox-text, td.mbox-text { /* The message body cell(s) */ border: none; /* @noflip */ padding: 0.25em 0.9em; /* 0.9em left/right */ width: 100%; /* Make all mboxes the same width regardless of text length */ } td.mbox-image { /* The left image cell */ border: none; /* @noflip */ padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ text-align: center; } td.mbox-imageright { /* The right image cell */ border: none; /* @noflip */ padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ text-align: center; } td.mbox-empty-cell { /* An empty narrow cell */ border: none; padding: 0; width: 1px; } /* Article message box styles */ table.ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. */ table.ambox + table.ambox, table.ambox + .mw-empty-elt + table.ambox { margin-top: -1px; } .ambox th.mbox-text, .ambox td.mbox-text { /* The message body cell(s) */ padding: 0.25em 0.5em; /* 0.5em left/right */ } .ambox td.mbox-image { /* The left image cell */ /* @noflip */ padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ } .ambox td.mbox-imageright { /* The right image cell */ /* @noflip */ padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ } table.ambox-notice { /* @noflip */ border-left: 10px solid #36c; /* Blue */ } table.ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } table.ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } table.ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } table.ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } table.ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } /* Image message box styles */ table.imbox { margin: 4px 10%; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } .imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ display: block; /* Fix for webkit to force 100% width. */ } .mbox-inside .imbox { /* For imboxes inside other templates. */ margin: 4px; } table.imbox-notice { border: 3px solid #36c; /* Blue */ } table.imbox-speedy { border: 3px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.imbox-delete { border: 3px solid #b32424; /* Red */ } table.imbox-content { border: 3px solid #f28500; /* Orange */ } table.imbox-style { border: 3px solid #fc3; /* Yellow */ } table.imbox-move { border: 3px solid #9932cc; /* Purple */ } table.imbox-protection { border: 3px solid #a2a9b1; /* Gray-gold */ } table.imbox-license { border: 3px solid #88a; /* Dark gray */ background-color: #f7f8ff; /* Light gray */ } table.imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } /* Category message box styles */ table.cmbox { margin: 3px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; } table.cmbox-notice { background-color: #d8e8ff; /* Blue */ } table.cmbox-speedy { margin-top: 4px; margin-bottom: 4px; border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } table.cmbox-delete { background-color: #ffdbdb; /* Pink */ } table.cmbox-content { background-color: #ffe7ce; /* Orange */ } table.cmbox-style { background-color: #fff9db; /* Yellow */ } table.cmbox-move { background-color: #e4d8ff; /* Purple */ } table.cmbox-protection { background-color: #efefe1; /* Gray-gold */ } /* Other pages message box styles */ table.ombox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: #f8f9fa; box-sizing: border-box; } table.ombox-notice { border: 1px solid #a2a9b1; /* Gray */ } table.ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ombox-delete { border: 2px solid #b32424; /* Red */ } table.ombox-content { border: 1px solid #f28500; /* Orange */ } table.ombox-style { border: 1px solid #fc3; /* Yellow */ } table.ombox-move { border: 1px solid #9932cc; /* Purple */ } table.ombox-protection { border: 2px solid #a2a9b1; /* Gray-gold */ } /* Talk page message box styles */ table.tmbox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; min-width: 80%; box-sizing: border-box; } .tmbox.mbox-small { min-width: 0; /* reset the min-width of tmbox above */ } .mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } .mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } table.tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.tmbox-delete { border: 2px solid #b32424; /* Red */ } table.tmbox-content { border: 2px solid #f28500; /* Orange */ } table.tmbox-style { border: 2px solid #fc3; /* Yellow */ } table.tmbox-move { border: 2px solid #9932cc; /* Purple */ } table.tmbox-protection, table.tmbox-notice { border: 1px solid #c0c090; /* Gray-brown */ } /* Footer and header message box styles */ table.fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: #f8f9fa; /* Default "system" gray */ box-sizing: border-box; } table.fmbox-system { background-color: #f8f9fa; } table.fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } table.fmbox-editnotice { background-color: transparent; } /* These mbox-small classes must be placed after all other ambox/tmbox/ombox etc classes. "html body.mediawiki" is so they override "table.ambox + table.ambox" above. */ html body.mediawiki .mbox-small { /* For the "small=yes" option. */ /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; box-sizing: border-box; width: 238px; font-size: 88%; line-height: 1.25em; } html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ /* @noflip */ margin: 4px 1em 4px 0; box-sizing: border-box; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } /* Remove underlines from certain links */ .nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; } /* Prevent line breaks in silly places where desired (nowrap) and links when we don't want them to (nowraplinks a) */ .nowrap, .nowraplinks a { white-space: nowrap; } /* But allow wrapping where desired: */ .wrap, .wraplinks a { white-space: normal; } /* Selectively hide headers in WikiProject banners */ /* TemplateStyles */ .wpb .wpb-header { display: none; } .wpbs-inner .wpb .wpb-header { display: table-row; } .wpbs-inner .wpb-outside { display: none; /* hide things that should only display outside shells */ } /* texhtml class for inline math (based on generic times-serif class) */ span.texhtml { font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size: 118%; line-height: 1; white-space: nowrap; /* Force tabular and lining display for texhtml */ -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; font-feature-settings: "lnum", "tnum", "kern" 0; font-variant-numeric: lining-nums tabular-nums; font-kerning: none; } span.texhtml span.texhtml { font-size: 100%; } /* ========================================================================== NavboxMobile — flex layout rules for MediaWiki:Common.css ADD these rules to Common.css (desktop stylesheet). ========================================================================== */ /* ── Outer container ─────────────────────────────────────────────────────── */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 1em auto 0; background-color: #fdfdfd; color: inherit; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* ── Suppress any stray MediaWiki auto-injected collapsible toggle ────────── If something upstream (a wrapper template, a gadget, etc.) still manages to mark part of our navbox as mw-collapsible, hide the second [hide] link so the user only sees our own .navbox-mf-toggle button. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li { display: none !important; } /* ── Title bar ───────────────────────────────────────────────────────────── */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.2em 0.4em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 1.8em; box-sizing: border-box; width: 100%; } /* Navbar (v·d·e) — left flex item */ .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { /* invisible spacer so title stays centred when navbar is absent */ visibility: hidden; } /* Title text — centre, takes all remaining space */ .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle button — right flex item, after title text */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.1em 0.4em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; /* tappable target on touch */ min-height: 1.8em; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } /* ── Body ────────────────────────────────────────────────────────────────── */ .navbox-mf-body { width: 100%; } /* ── Above / Below ───────────────────────────────────────────────────────── */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: center; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 1em; } /* ── Content rows ────────────────────────────────────────────────────────── */ .navbox-mf-row { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* ── Group label ─────────────────────────────────────────────────────────── */ .navbox-mf-group { flex: 0 0 auto; min-width: 6em; max-width: 20%; background-color: #ddddff; padding: 0.25em 0.75em; line-height: 1.5em; font-weight: bold; text-align: right; display: flex; align-items: center; justify-content: flex-end; box-sizing: border-box; border-right: 2px solid #fdfdfd; } /* ── List content ────────────────────────────────────────────────────────── */ .navbox-mf-list { flex: 1 1 12em; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* ── Even/odd striping ───────────────────────────────────────────────────── */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* ── Very narrow: force stacked layout ──────────────────────────────────── */ @media screen and (max-width: 480px) { .navbox-mf-group { flex-basis: 100%; max-width: 100%; text-align: center; justify-content: center; border-right: none; border-bottom: 1px solid #e8e8ff; min-width: 0; } .navbox-mf-list { flex-basis: 100%; } } /* ── hlist padding ───────────────────────────────────────────────────────── */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* ── Subgroup colours ────────────────────────────────────────────────────── */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* subgroups don't collapse */ /* ========================================================================== NavboxMobile flex layout end ========================================================================== */ @media screen { .nochecker .gallerybox .thumb img { background-image: none; } } /* Put anything you mean to be a sitewide addition above the TemplateStyles * comment above. */ mb6knoevoisdj67rhj20ddsuiy1tgza 4621610 4621606 2026-05-22T19:12:28Z Ranjithsiji 22471 update common css to fix the hide button issue in mobile navbox 4621610 css text/css /* * This is the CSS for all desktop skins on en.Wikipedia. * Styling inside .mw-parser-output should generally use TemplateStyles. */ /* Main page fixes */ .interwiki-completelist { font-weight: bold; } /* പ്രധാന താളിലെ “പ്രധാന താൾ“ എന്ന തലക്കെട്ട് ഒഴിവാകാൻ - To remove Main page title */ body.page-പ്രധാന_താൾ h1.firstHeading { display:none; } /*HERE STARTS "METABOX" COLOUR-SCHEMES*/ /* Nou esquema de colors per a la Plantilla:Metacaixa usada a la portada */ /* Configuració per defecte en lila Tons usats; 1; 7050a0 2; 9070c0 3; b090e0 4; d0b0ff 5; f0d0ff */ .mcBoto { background-color: #d0b0ff; /* 4 */ border: 0.15em solid #000000; border-color: #f0d0ff #b090e0 #9070c0 #f0d0ff; /* 5 3 3 5 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor:pointer; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative;} .mcBoto a, .mcBoto strong { background: none !important; color:#7050a0 !important; /* 1 */ font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcBoto a:hover, .mcBoto strong:hover { color: black !important; text-decoration: underline !important;} .mcBotoSel { background-color: #9070c0; /* 2 */ border: 0.15em solid #000000; border-color: #b090e0 #7050a0 #9070c0 #b090e0; /* 3 1 2 3 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor: default; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative; color:white;} .mcBotoSel a { background: none !important; color:white !important; cursor: default; font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcContingut { background-color: #f8f8ff; border: 0.2em solid #9070c0; /* 2 */ border-color: #9070c0 #7050a0 #7050a0 #9070c0 ; /* 2 1 1 2 */ -moz-border-radius: 0em .5em .5em 0em; border-radius-topright: .5em; border-radius-bottomright: .5em; padding: 1em; position: static; /* Si hi posem relative falla amb MSIE */} .mcPestanya { background-color: #f8f8ff; border-color: #7050a0 #b090e0 #b090e0 #7050a0; /* 1 3 3 1 */ width: 100%; } /* Configuració del Verd 1;60b030 2;75c045 3;90d060 4;a5e085 5;c0f090 */ .mcപച്ച .mcBoto { background-color: #a5e085; /* 4 */ border-color: #c0f090 #90d060 #75c045 #c0f090; /* 5 3 2 5 */} .mcപച്ച .mcBoto a, .mcപച്ച .mcBoto strong { color:#60b030 !important; /* 1 */ font-size:90%} .mcപച്ച .mcBoto a:hover, .mcപച്ച .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcപച്ച .mcBotoSel { background-color: #75c045; /* 2 */ border-color: #90d060 #60b030 #75c045 #90d060; /* 3 1 2 3 */} .mcപച്ച .mcContingut { background-color: #f5fffa; border-color: #75c045 #60b030 #60b030 #75c045 ; /* 2 1 1 2 */} .mcപച്ച .mcPestanya { background-color: #f5fffa; border-color: #60b030 #90d060 #90d060 #60b030; /* 1 3 3 1 */} /* Configuració del Vermell 1;CC0000 2;FF0000 3;FF8888 4;FFAAAA 5;FFCCCC */ .mcചുവപ്പ് .mcBoto { background-color: #FFAAAA; /* 4 */ border-color: #FFCCCC #FF8888 #FF0000 #FFCCCC; /* 5 3 2 5 */} .mcചുവപ്പ് .mcBoto a, .mcചുവപ്പ് .mcBoto strong { color:#CC0000 !important; /* 1 */ font-size:90%} .mcചുവപ്പ് .mcBoto a:hover .mcചുവപ്പ് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcചുവപ്പ് .mcBotoSel { background-color: #FF0000; /* 2 */ border-color: #FF8888 #CC0000 #FF0000 #FF8888; /* 3 1 2 3 */} .mcചുവപ്പ് .mcContingut { background-color: #fffafa; border-color: #FF0000 #CC0000 #CC0000 #FF0000; /* 2 1 1 2 */} .mcചുവപ്പ് .mcPestanya { background-color: #fffafa; border-color: #CC0000 #FF0000 #FF0000 #CC0000; /* 1 3 3 1 */} /* Configuració del Blue 1;3379de 2;5b8dd6 3;88abde 4;a7c1e6 5;c8d6e9 */ .mcനീല .mcBoto { background-color: #a7c1e6; /* 4 */ border-color: #c8d6e9 #88abde #5b8dd6 #c8d6e9; /* 5 3 2 5 */} .mcനീല .mcBoto a, .mcനീല .mcBoto strong { color:#3379de !important; /* 1 */ font-size:90%} .mcനീല .mcBoto a:hover .mcനീല .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcനീല .mcBotoSel { background-color: #5b8dd6; /* 2 */ border-color: #88abde #3379de #5b8dd6 #88abde; /* 3 1 2 3 */} .mcനീല .mcContingut { background-color: #f0f8ff; border-color: #5b8dd6 #3379de #3379de #5b8dd6; /* 2 1 1 2 */} .mcനീല .mcPestanya { background-color: #f0f8ff; border-color: #3379de #88abde #88abde #3379de; /* 1 3 3 1 */} /* Configuració del Groc 1;ffd813 2;ffe147 3;ffe977 4;fff1a4 5;fef4bc */ .mcമഞ്ഞ .mcBoto { background-color: #fff1a4; /* 4 */ border-color: #fef4bc #ffe977 #ffe147 #fef4bc; /* 5 3 2 5 */} .mcമഞ്ഞ .mcBoto a, .mcമഞ്ഞ .mcBoto strong { color:#ffd813 !important; /* 1 */ font-size:90%} .mcമഞ്ഞ .mcBoto a:hover .mcമഞ്ഞ .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcമഞ്ഞ .mcBotoSel { background-color: #ffe147; /* 2 */ border-color: #ffe977 #ffd813 #ffe147 #ffe977; /* 3 1 2 3 */} .mcമഞ്ഞ .mcContingut { background-color: #fffce8; border-color: #ffe147 #ffd813 #ffd813 #ffe147; /* 2 1 1 2 */} .mcമഞ്ഞ .mcPestanya { background-color: #fffce8; border-color: #ffd813 #88abde #88abde #ffd813; /* 1 3 3 1 */} /* Configuració del Taronja 1;ff820e 2;ff9d42 3;ffac5d 4;ffbd7f 5;ffd0a4 6;ffeedd */ .mcഓറഞ്ച് .mcBoto { background-color: #ffbd7f; /* 4 */ border-color: #ffd0a4 #ffac5d #ff9d42 #ffd0a4; /* 5 3 2 5 */} .mcഓറഞ്ച് .mcBoto a, .mcഓറഞ്ച് .mcBoto strong { color:#ff820e !important; /* 1 */ font-size:90%} .mcഓറഞ്ച് .mcBoto a:hover .mcഓറഞ്ച് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcഓറഞ്ച് .mcBotoSel { background-color: #ff9d42; /* 2 */ border-color: #ffac5d #ff820e #ff9d42 #ffac5d; /* 3 1 2 3 */} .mcഓറഞ്ച് .mcContingut { background-color: #ffeedd; /* 6 */ border-color: #ff9d42 #ff820e #ff820e #ff9d42; /* 2 1 1 2 */} .mcഓറഞ്ച് .mcPestanya { background-color: #ffeedd; /* 6 */ border-color: #ff820e #ffac5d #ffac5d #ff820e; /* 1 3 3 1 */} /* Final d'estils de la Metacaixa */ /*HERE FINISHES "METABOX" COLOUR-SCHEMES*/ /* Reset italic styling set by user agent */ cite, dfn { font-style: inherit; } /* Straight quote marks for <q> */ q { quotes: '"' '"' "'" "'"; } /* Avoid collision of blockquote with floating elements by swapping margin and padding */ blockquote { overflow: hidden; margin: 1em 0; padding: 0 40px; } /* Consistent size for <small>, <sub> and <sup> */ small { font-size: 85%; } .mw-body-content sub, .mw-body-content sup, span[rel~='mw:referencedBy'] a::before /* for Parsoid */ { font-size: 80%; } /* Same spacing for indented and unindented paragraphs on talk pages */ .ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; } /* Reduce page jumps by hiding collapsed/dismissed content */ .client-js .mw-special-Watchlist #watchlist-message, .client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child), /* Hide charinsert base for those not using the gadget */ #editpage-specialchars { display: none; } /* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ .mw-rcfilters-enabled .mw-specialpage-summary { margin-top: 1em; } /* Make the list of references smaller * Keep in sync with Template:Refbegin/styles.css * And Template:Reflist/styles.css */ ol.references { font-size: 90%; margin-bottom: 0.5em; } /* Styling for JQuery makeCollapsible, matching that of collapseButton */ .mw-parser-output .mw-collapsible-toggle { font-weight: normal; /* @noflip */ text-align: right; padding-right: 0.2em; padding-left: 0.2em; } .mw-collapsible-leftside-toggle .mw-collapsible-toggle { /* @noflip */ float: left; /* @noflip */ text-align: left; } /* Lists in wikitable data cells are always left-aligned */ .wikitable td ul, .wikitable td ol, .wikitable td dl { /* @noflip */ text-align: left; } /* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ .mw-parser-output table.mw-hiero-table td { vertical-align: middle; } /* Change the external link icon to a PDF icon for all PDF files */ .mw-parser-output a[href$=".pdf"].external, .mw-parser-output a[href*=".pdf?"].external, .mw-parser-output a[href*=".pdf#"].external, .mw-parser-output a[href$=".PDF"].external, .mw-parser-output a[href*=".PDF?"].external, .mw-parser-output a[href*=".PDF#"].external { background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right; /* @noflip */ padding: 8px 18px 8px 0; } /* System messages styled similarly to fmbox */ div.mw-warning-with-logexcerpt, div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon, div.titleblacklist-warning { clear: both; margin: 0.2em 0; border: 1px solid #bb7070; background-color: #ffdbdb; padding: 0.25em 0.9em; box-sizing: border-box; } /* default colors for partial block message */ .mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt { border-color: #fc3; background-color: #fef6e7; } /* Increase the height of the image upload box */ #wpUploadDescription { height: 13em; } /* Minimum thumb width */ figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; } /* Prevent floating boxes from overlapping any category listings, file histories, edit previews, and edit [Show changes] views. */ #mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; } /* Styling for Abuse Filter tags */ .mw-tag-markers { font-style: italic; font-size: 90%; } /* Hide stuff meant for accounts with special permissions. Made visible again in [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]], [[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]], [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ .checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show, .patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show, .autoconfirmed-show, .user-show { display: none; } /* Hide the redlink generated by {{Editnotice}}, this overrides the ".sysop-show { display: none; }" above that applies to the same link as well. See [[phab:T45013]] Hide the images in editnotices to keep them readable in VE view. Long term, editnotices should become a core feature so that they can be designed responsive. */ .ve-ui-mwNoticesPopupTool-item .editnotice-redlink, .ve-ui-mwNoticesPopupTool-item .mbox-image, .ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; } /* Remove bullets when there are multiple edit page warnings */ ul.permissions-errors { margin: 0; } ul.permissions-errors > li { list-style: none none; } /* larger inline math */ span.mwe-math-mathml-inline { font-size: 118%; } /* Make <math display="block"> be left aligned with one space indent for * compatibility with style conventions */ .mwe-math-fallback-image-display, .mwe-math-mathml-display { margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em; } .mwe-math-mathml-display math { display: inline; } @media screen { /* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ /* The backgrounds for galleries. */ #content .gallerybox div.thumb { /* Light gray padding */ background-color: #f8f9fa; } /* Put a chequered background behind images, only visible if they have transparency. '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ .gallerybox .thumb img { background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; } /* But not on articles, user pages, or portals. */ .ns-0 .gallerybox .thumb img, .ns-2 .gallerybox .thumb img, .ns-100 .gallerybox .thumb img { background-image: none; } /* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ #siteSub { display: block; } } /* Hide FlaggedRevs notice UI when there are no pending changes */ .flaggedrevs_draft_synced, .flaggedrevs_stable_synced, /* "Temporary" to remove links in sidebar T255381 */ #t-upload, /* Hide broken download box on Special:Book pending T285400 */ .mw-special-Book #coll-downloadbox { display: none; } /* * BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS; * SEE [[MediaWiki talk:Common.css/to do]] */ /* Style for horizontal lists (separator following item). @source mediawiki.org/wiki/Snippets/Horizontal_lists @revision 8 (2016-05-21) @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; /* don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again */ display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } /** * Note hlist style usage differs in Minerva and is defined in core as well! * Please check Minerva desktop (and Minerva.css) when changing * See https://phabricator.wikimedia.org/T213239 */ .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* Unbulleted lists */ .plainlist ol, .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ol li, .plainlist ul li { margin-bottom: 0; } /* Infobox template style */ .infobox { border: 1px solid #a2a9b1; border-spacing: 3px; background-color: #f8f9fa; color: black; /* @noflip */ margin: 0.5em 0 0.5em 1em; padding: 0.2em; /* @noflip */ float: right; /* @noflip */ clear: right; font-size: 88%; line-height: 1.5em; width: 22em; } .infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data, .infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { vertical-align: top; } .infobox-label, .infobox-data, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { /* @noflip */ text-align: left; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-above, .infobox .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { font-size: 125%; font-weight: bold; text-align: center; } .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { padding: 0.2em; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image, .infobox .infobox-full-data, .infobox .infobox-below { text-align: center; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-navbar { /* @noflip */ text-align: right; } /* Normal font styling for wikitable row headers with scope="row" tag */ .wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] { font-weight: normal; /* @noflip */ text-align: left; } /* ambox/tmbox/imbox/cmbox/ombox/fmbox message boxes */ th.mbox-text, td.mbox-text { /* The message body cell(s) */ border: none; /* @noflip */ padding: 0.25em 0.9em; /* 0.9em left/right */ width: 100%; /* Make all mboxes the same width regardless of text length */ } td.mbox-image { /* The left image cell */ border: none; /* @noflip */ padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ text-align: center; } td.mbox-imageright { /* The right image cell */ border: none; /* @noflip */ padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ text-align: center; } td.mbox-empty-cell { /* An empty narrow cell */ border: none; padding: 0; width: 1px; } /* Article message box styles */ table.ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. */ table.ambox + table.ambox, table.ambox + .mw-empty-elt + table.ambox { margin-top: -1px; } .ambox th.mbox-text, .ambox td.mbox-text { /* The message body cell(s) */ padding: 0.25em 0.5em; /* 0.5em left/right */ } .ambox td.mbox-image { /* The left image cell */ /* @noflip */ padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ } .ambox td.mbox-imageright { /* The right image cell */ /* @noflip */ padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ } table.ambox-notice { /* @noflip */ border-left: 10px solid #36c; /* Blue */ } table.ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } table.ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } table.ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } table.ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } table.ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } /* Image message box styles */ table.imbox { margin: 4px 10%; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } .imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ display: block; /* Fix for webkit to force 100% width. */ } .mbox-inside .imbox { /* For imboxes inside other templates. */ margin: 4px; } table.imbox-notice { border: 3px solid #36c; /* Blue */ } table.imbox-speedy { border: 3px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.imbox-delete { border: 3px solid #b32424; /* Red */ } table.imbox-content { border: 3px solid #f28500; /* Orange */ } table.imbox-style { border: 3px solid #fc3; /* Yellow */ } table.imbox-move { border: 3px solid #9932cc; /* Purple */ } table.imbox-protection { border: 3px solid #a2a9b1; /* Gray-gold */ } table.imbox-license { border: 3px solid #88a; /* Dark gray */ background-color: #f7f8ff; /* Light gray */ } table.imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } /* Category message box styles */ table.cmbox { margin: 3px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; } table.cmbox-notice { background-color: #d8e8ff; /* Blue */ } table.cmbox-speedy { margin-top: 4px; margin-bottom: 4px; border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } table.cmbox-delete { background-color: #ffdbdb; /* Pink */ } table.cmbox-content { background-color: #ffe7ce; /* Orange */ } table.cmbox-style { background-color: #fff9db; /* Yellow */ } table.cmbox-move { background-color: #e4d8ff; /* Purple */ } table.cmbox-protection { background-color: #efefe1; /* Gray-gold */ } /* Other pages message box styles */ table.ombox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: #f8f9fa; box-sizing: border-box; } table.ombox-notice { border: 1px solid #a2a9b1; /* Gray */ } table.ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ombox-delete { border: 2px solid #b32424; /* Red */ } table.ombox-content { border: 1px solid #f28500; /* Orange */ } table.ombox-style { border: 1px solid #fc3; /* Yellow */ } table.ombox-move { border: 1px solid #9932cc; /* Purple */ } table.ombox-protection { border: 2px solid #a2a9b1; /* Gray-gold */ } /* Talk page message box styles */ table.tmbox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; min-width: 80%; box-sizing: border-box; } .tmbox.mbox-small { min-width: 0; /* reset the min-width of tmbox above */ } .mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } .mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } table.tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.tmbox-delete { border: 2px solid #b32424; /* Red */ } table.tmbox-content { border: 2px solid #f28500; /* Orange */ } table.tmbox-style { border: 2px solid #fc3; /* Yellow */ } table.tmbox-move { border: 2px solid #9932cc; /* Purple */ } table.tmbox-protection, table.tmbox-notice { border: 1px solid #c0c090; /* Gray-brown */ } /* Footer and header message box styles */ table.fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: #f8f9fa; /* Default "system" gray */ box-sizing: border-box; } table.fmbox-system { background-color: #f8f9fa; } table.fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } table.fmbox-editnotice { background-color: transparent; } /* These mbox-small classes must be placed after all other ambox/tmbox/ombox etc classes. "html body.mediawiki" is so they override "table.ambox + table.ambox" above. */ html body.mediawiki .mbox-small { /* For the "small=yes" option. */ /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; box-sizing: border-box; width: 238px; font-size: 88%; line-height: 1.25em; } html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ /* @noflip */ margin: 4px 1em 4px 0; box-sizing: border-box; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } /* Remove underlines from certain links */ .nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; } /* Prevent line breaks in silly places where desired (nowrap) and links when we don't want them to (nowraplinks a) */ .nowrap, .nowraplinks a { white-space: nowrap; } /* But allow wrapping where desired: */ .wrap, .wraplinks a { white-space: normal; } /* Selectively hide headers in WikiProject banners */ /* TemplateStyles */ .wpb .wpb-header { display: none; } .wpbs-inner .wpb .wpb-header { display: table-row; } .wpbs-inner .wpb-outside { display: none; /* hide things that should only display outside shells */ } /* texhtml class for inline math (based on generic times-serif class) */ span.texhtml { font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size: 118%; line-height: 1; white-space: nowrap; /* Force tabular and lining display for texhtml */ -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; font-feature-settings: "lnum", "tnum", "kern" 0; font-variant-numeric: lining-nums tabular-nums; font-kerning: none; } span.texhtml span.texhtml { font-size: 100%; } /* ========================================================================== NavboxMobile — flex layout rules for MediaWiki:Common.css ADD these rules to Common.css (desktop stylesheet). ========================================================================== */ /* ── Outer container ─────────────────────────────────────────────────────── */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 1em auto 0; background-color: #fdfdfd; color: inherit; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* ── Suppress the DEFAULT mw-collapsible toggle MediaWiki tries to inject inside the body. We supply our own toggle (.navbox-mf-toggle) in the title bar via mw-customtoggle, so the auto-toggle is redundant. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li { display: none !important; } /* ── Title bar ───────────────────────────────────────────────────────────── */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.2em 0.4em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 1.8em; box-sizing: border-box; width: 100%; } /* Navbar (v·d·e) — left flex item */ .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { /* invisible spacer so title stays centred when navbar is absent */ visibility: hidden; } /* Title text — centre, takes all remaining space */ .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle — a <span class="mw-customtoggle-XXX"> that MediaWiki turns into a clickable [show]/[hide] link. We style it to LOOK like a small button. Before jquery.makeCollapsible runs, the span is empty (just a non-breaking space) so it occupies its slot but stays unobtrusive. */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.1em 0.5em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; /* The toggle is wrapped by MW in an <a>, kill its default styling */ text-decoration: none; user-select: none; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } .navbox-mf-toggle a, .navbox-mf-toggle a:link, .navbox-mf-toggle a:visited, .navbox-mf-toggle a:hover, .navbox-mf-toggle a:active { color: inherit; text-decoration: none; display: inline-block; width: 100%; height: 100%; } /* ── Body ────────────────────────────────────────────────────────────────── */ .navbox-mf-body { width: 100%; } /* When MW collapses the body it sets style="display:none" — make sure the title bar above it is untouched (it's a sibling, so it already is). */ /* ── Above / Below ───────────────────────────────────────────────────────── */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: center; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 1em; } /* ── Content rows ────────────────────────────────────────────────────────── */ .navbox-mf-row { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* ── Group label ─────────────────────────────────────────────────────────── */ .navbox-mf-group { flex: 0 0 auto; min-width: 6em; max-width: 20%; background-color: #ddddff; padding: 0.25em 0.75em; line-height: 1.5em; font-weight: bold; text-align: right; display: flex; align-items: center; justify-content: flex-end; box-sizing: border-box; border-right: 2px solid #fdfdfd; } /* ── List content ────────────────────────────────────────────────────────── */ .navbox-mf-list { flex: 1 1 12em; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* ── Even/odd striping ───────────────────────────────────────────────────── */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* ── Very narrow: force stacked layout ──────────────────────────────────── */ @media screen and (max-width: 480px) { .navbox-mf-group { flex-basis: 100%; max-width: 100%; text-align: center; justify-content: center; border-right: none; border-bottom: 1px solid #e8e8ff; min-width: 0; } .navbox-mf-list { flex-basis: 100%; } } /* ── hlist padding ───────────────────────────────────────────────────────── */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* ── Subgroup colours ────────────────────────────────────────────────────── */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* subgroups don't collapse */ /* ========================================================================== NavboxMobile flex layout end ========================================================================== */ @media screen { .nochecker .gallerybox .thumb img { background-image: none; } } /* Put anything you mean to be a sitewide addition above the TemplateStyles * comment above. */ lyx49yqb5hspw6f8ypfeg4qavamiuxm 4621614 4621610 2026-05-22T19:24:10Z Ranjithsiji 22471 fix the hide button label switch problem for mobile navbox 4621614 css text/css /* * This is the CSS for all desktop skins on en.Wikipedia. * Styling inside .mw-parser-output should generally use TemplateStyles. */ /* Main page fixes */ .interwiki-completelist { font-weight: bold; } /* പ്രധാന താളിലെ “പ്രധാന താൾ“ എന്ന തലക്കെട്ട് ഒഴിവാകാൻ - To remove Main page title */ body.page-പ്രധാന_താൾ h1.firstHeading { display:none; } /*HERE STARTS "METABOX" COLOUR-SCHEMES*/ /* Nou esquema de colors per a la Plantilla:Metacaixa usada a la portada */ /* Configuració per defecte en lila Tons usats; 1; 7050a0 2; 9070c0 3; b090e0 4; d0b0ff 5; f0d0ff */ .mcBoto { background-color: #d0b0ff; /* 4 */ border: 0.15em solid #000000; border-color: #f0d0ff #b090e0 #9070c0 #f0d0ff; /* 5 3 3 5 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor:pointer; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative;} .mcBoto a, .mcBoto strong { background: none !important; color:#7050a0 !important; /* 1 */ font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcBoto a:hover, .mcBoto strong:hover { color: black !important; text-decoration: underline !important;} .mcBotoSel { background-color: #9070c0; /* 2 */ border: 0.15em solid #000000; border-color: #b090e0 #7050a0 #9070c0 #b090e0; /* 3 1 2 3 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor: default; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative; color:white;} .mcBotoSel a { background: none !important; color:white !important; cursor: default; font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcContingut { background-color: #f8f8ff; border: 0.2em solid #9070c0; /* 2 */ border-color: #9070c0 #7050a0 #7050a0 #9070c0 ; /* 2 1 1 2 */ -moz-border-radius: 0em .5em .5em 0em; border-radius-topright: .5em; border-radius-bottomright: .5em; padding: 1em; position: static; /* Si hi posem relative falla amb MSIE */} .mcPestanya { background-color: #f8f8ff; border-color: #7050a0 #b090e0 #b090e0 #7050a0; /* 1 3 3 1 */ width: 100%; } /* Configuració del Verd 1;60b030 2;75c045 3;90d060 4;a5e085 5;c0f090 */ .mcപച്ച .mcBoto { background-color: #a5e085; /* 4 */ border-color: #c0f090 #90d060 #75c045 #c0f090; /* 5 3 2 5 */} .mcപച്ച .mcBoto a, .mcപച്ച .mcBoto strong { color:#60b030 !important; /* 1 */ font-size:90%} .mcപച്ച .mcBoto a:hover, .mcപച്ച .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcപച്ച .mcBotoSel { background-color: #75c045; /* 2 */ border-color: #90d060 #60b030 #75c045 #90d060; /* 3 1 2 3 */} .mcപച്ച .mcContingut { background-color: #f5fffa; border-color: #75c045 #60b030 #60b030 #75c045 ; /* 2 1 1 2 */} .mcപച്ച .mcPestanya { background-color: #f5fffa; border-color: #60b030 #90d060 #90d060 #60b030; /* 1 3 3 1 */} /* Configuració del Vermell 1;CC0000 2;FF0000 3;FF8888 4;FFAAAA 5;FFCCCC */ .mcചുവപ്പ് .mcBoto { background-color: #FFAAAA; /* 4 */ border-color: #FFCCCC #FF8888 #FF0000 #FFCCCC; /* 5 3 2 5 */} .mcചുവപ്പ് .mcBoto a, .mcചുവപ്പ് .mcBoto strong { color:#CC0000 !important; /* 1 */ font-size:90%} .mcചുവപ്പ് .mcBoto a:hover .mcചുവപ്പ് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcചുവപ്പ് .mcBotoSel { background-color: #FF0000; /* 2 */ border-color: #FF8888 #CC0000 #FF0000 #FF8888; /* 3 1 2 3 */} .mcചുവപ്പ് .mcContingut { background-color: #fffafa; border-color: #FF0000 #CC0000 #CC0000 #FF0000; /* 2 1 1 2 */} .mcചുവപ്പ് .mcPestanya { background-color: #fffafa; border-color: #CC0000 #FF0000 #FF0000 #CC0000; /* 1 3 3 1 */} /* Configuració del Blue 1;3379de 2;5b8dd6 3;88abde 4;a7c1e6 5;c8d6e9 */ .mcനീല .mcBoto { background-color: #a7c1e6; /* 4 */ border-color: #c8d6e9 #88abde #5b8dd6 #c8d6e9; /* 5 3 2 5 */} .mcനീല .mcBoto a, .mcനീല .mcBoto strong { color:#3379de !important; /* 1 */ font-size:90%} .mcനീല .mcBoto a:hover .mcനീല .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcനീല .mcBotoSel { background-color: #5b8dd6; /* 2 */ border-color: #88abde #3379de #5b8dd6 #88abde; /* 3 1 2 3 */} .mcനീല .mcContingut { background-color: #f0f8ff; border-color: #5b8dd6 #3379de #3379de #5b8dd6; /* 2 1 1 2 */} .mcനീല .mcPestanya { background-color: #f0f8ff; border-color: #3379de #88abde #88abde #3379de; /* 1 3 3 1 */} /* Configuració del Groc 1;ffd813 2;ffe147 3;ffe977 4;fff1a4 5;fef4bc */ .mcമഞ്ഞ .mcBoto { background-color: #fff1a4; /* 4 */ border-color: #fef4bc #ffe977 #ffe147 #fef4bc; /* 5 3 2 5 */} .mcമഞ്ഞ .mcBoto a, .mcമഞ്ഞ .mcBoto strong { color:#ffd813 !important; /* 1 */ font-size:90%} .mcമഞ്ഞ .mcBoto a:hover .mcമഞ്ഞ .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcമഞ്ഞ .mcBotoSel { background-color: #ffe147; /* 2 */ border-color: #ffe977 #ffd813 #ffe147 #ffe977; /* 3 1 2 3 */} .mcമഞ്ഞ .mcContingut { background-color: #fffce8; border-color: #ffe147 #ffd813 #ffd813 #ffe147; /* 2 1 1 2 */} .mcമഞ്ഞ .mcPestanya { background-color: #fffce8; border-color: #ffd813 #88abde #88abde #ffd813; /* 1 3 3 1 */} /* Configuració del Taronja 1;ff820e 2;ff9d42 3;ffac5d 4;ffbd7f 5;ffd0a4 6;ffeedd */ .mcഓറഞ്ച് .mcBoto { background-color: #ffbd7f; /* 4 */ border-color: #ffd0a4 #ffac5d #ff9d42 #ffd0a4; /* 5 3 2 5 */} .mcഓറഞ്ച് .mcBoto a, .mcഓറഞ്ച് .mcBoto strong { color:#ff820e !important; /* 1 */ font-size:90%} .mcഓറഞ്ച് .mcBoto a:hover .mcഓറഞ്ച് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcഓറഞ്ച് .mcBotoSel { background-color: #ff9d42; /* 2 */ border-color: #ffac5d #ff820e #ff9d42 #ffac5d; /* 3 1 2 3 */} .mcഓറഞ്ച് .mcContingut { background-color: #ffeedd; /* 6 */ border-color: #ff9d42 #ff820e #ff820e #ff9d42; /* 2 1 1 2 */} .mcഓറഞ്ച് .mcPestanya { background-color: #ffeedd; /* 6 */ border-color: #ff820e #ffac5d #ffac5d #ff820e; /* 1 3 3 1 */} /* Final d'estils de la Metacaixa */ /*HERE FINISHES "METABOX" COLOUR-SCHEMES*/ /* Reset italic styling set by user agent */ cite, dfn { font-style: inherit; } /* Straight quote marks for <q> */ q { quotes: '"' '"' "'" "'"; } /* Avoid collision of blockquote with floating elements by swapping margin and padding */ blockquote { overflow: hidden; margin: 1em 0; padding: 0 40px; } /* Consistent size for <small>, <sub> and <sup> */ small { font-size: 85%; } .mw-body-content sub, .mw-body-content sup, span[rel~='mw:referencedBy'] a::before /* for Parsoid */ { font-size: 80%; } /* Same spacing for indented and unindented paragraphs on talk pages */ .ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; } /* Reduce page jumps by hiding collapsed/dismissed content */ .client-js .mw-special-Watchlist #watchlist-message, .client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child), /* Hide charinsert base for those not using the gadget */ #editpage-specialchars { display: none; } /* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ .mw-rcfilters-enabled .mw-specialpage-summary { margin-top: 1em; } /* Make the list of references smaller * Keep in sync with Template:Refbegin/styles.css * And Template:Reflist/styles.css */ ol.references { font-size: 90%; margin-bottom: 0.5em; } /* Styling for JQuery makeCollapsible, matching that of collapseButton */ .mw-parser-output .mw-collapsible-toggle { font-weight: normal; /* @noflip */ text-align: right; padding-right: 0.2em; padding-left: 0.2em; } .mw-collapsible-leftside-toggle .mw-collapsible-toggle { /* @noflip */ float: left; /* @noflip */ text-align: left; } /* Lists in wikitable data cells are always left-aligned */ .wikitable td ul, .wikitable td ol, .wikitable td dl { /* @noflip */ text-align: left; } /* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ .mw-parser-output table.mw-hiero-table td { vertical-align: middle; } /* Change the external link icon to a PDF icon for all PDF files */ .mw-parser-output a[href$=".pdf"].external, .mw-parser-output a[href*=".pdf?"].external, .mw-parser-output a[href*=".pdf#"].external, .mw-parser-output a[href$=".PDF"].external, .mw-parser-output a[href*=".PDF?"].external, .mw-parser-output a[href*=".PDF#"].external { background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right; /* @noflip */ padding: 8px 18px 8px 0; } /* System messages styled similarly to fmbox */ div.mw-warning-with-logexcerpt, div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon, div.titleblacklist-warning { clear: both; margin: 0.2em 0; border: 1px solid #bb7070; background-color: #ffdbdb; padding: 0.25em 0.9em; box-sizing: border-box; } /* default colors for partial block message */ .mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt { border-color: #fc3; background-color: #fef6e7; } /* Increase the height of the image upload box */ #wpUploadDescription { height: 13em; } /* Minimum thumb width */ figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; } /* Prevent floating boxes from overlapping any category listings, file histories, edit previews, and edit [Show changes] views. */ #mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; } /* Styling for Abuse Filter tags */ .mw-tag-markers { font-style: italic; font-size: 90%; } /* Hide stuff meant for accounts with special permissions. Made visible again in [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]], [[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]], [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ .checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show, .patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show, .autoconfirmed-show, .user-show { display: none; } /* Hide the redlink generated by {{Editnotice}}, this overrides the ".sysop-show { display: none; }" above that applies to the same link as well. See [[phab:T45013]] Hide the images in editnotices to keep them readable in VE view. Long term, editnotices should become a core feature so that they can be designed responsive. */ .ve-ui-mwNoticesPopupTool-item .editnotice-redlink, .ve-ui-mwNoticesPopupTool-item .mbox-image, .ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; } /* Remove bullets when there are multiple edit page warnings */ ul.permissions-errors { margin: 0; } ul.permissions-errors > li { list-style: none none; } /* larger inline math */ span.mwe-math-mathml-inline { font-size: 118%; } /* Make <math display="block"> be left aligned with one space indent for * compatibility with style conventions */ .mwe-math-fallback-image-display, .mwe-math-mathml-display { margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em; } .mwe-math-mathml-display math { display: inline; } @media screen { /* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ /* The backgrounds for galleries. */ #content .gallerybox div.thumb { /* Light gray padding */ background-color: #f8f9fa; } /* Put a chequered background behind images, only visible if they have transparency. '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ .gallerybox .thumb img { background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; } /* But not on articles, user pages, or portals. */ .ns-0 .gallerybox .thumb img, .ns-2 .gallerybox .thumb img, .ns-100 .gallerybox .thumb img { background-image: none; } /* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ #siteSub { display: block; } } /* Hide FlaggedRevs notice UI when there are no pending changes */ .flaggedrevs_draft_synced, .flaggedrevs_stable_synced, /* "Temporary" to remove links in sidebar T255381 */ #t-upload, /* Hide broken download box on Special:Book pending T285400 */ .mw-special-Book #coll-downloadbox { display: none; } /* * BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS; * SEE [[MediaWiki talk:Common.css/to do]] */ /* Style for horizontal lists (separator following item). @source mediawiki.org/wiki/Snippets/Horizontal_lists @revision 8 (2016-05-21) @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; /* don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again */ display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } /** * Note hlist style usage differs in Minerva and is defined in core as well! * Please check Minerva desktop (and Minerva.css) when changing * See https://phabricator.wikimedia.org/T213239 */ .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* Unbulleted lists */ .plainlist ol, .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ol li, .plainlist ul li { margin-bottom: 0; } /* Infobox template style */ .infobox { border: 1px solid #a2a9b1; border-spacing: 3px; background-color: #f8f9fa; color: black; /* @noflip */ margin: 0.5em 0 0.5em 1em; padding: 0.2em; /* @noflip */ float: right; /* @noflip */ clear: right; font-size: 88%; line-height: 1.5em; width: 22em; } .infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data, .infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { vertical-align: top; } .infobox-label, .infobox-data, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { /* @noflip */ text-align: left; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-above, .infobox .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { font-size: 125%; font-weight: bold; text-align: center; } .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { padding: 0.2em; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image, .infobox .infobox-full-data, .infobox .infobox-below { text-align: center; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-navbar { /* @noflip */ text-align: right; } /* Normal font styling for wikitable row headers with scope="row" tag */ .wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] { font-weight: normal; /* @noflip */ text-align: left; } /* ambox/tmbox/imbox/cmbox/ombox/fmbox message boxes */ th.mbox-text, td.mbox-text { /* The message body cell(s) */ border: none; /* @noflip */ padding: 0.25em 0.9em; /* 0.9em left/right */ width: 100%; /* Make all mboxes the same width regardless of text length */ } td.mbox-image { /* The left image cell */ border: none; /* @noflip */ padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ text-align: center; } td.mbox-imageright { /* The right image cell */ border: none; /* @noflip */ padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ text-align: center; } td.mbox-empty-cell { /* An empty narrow cell */ border: none; padding: 0; width: 1px; } /* Article message box styles */ table.ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. */ table.ambox + table.ambox, table.ambox + .mw-empty-elt + table.ambox { margin-top: -1px; } .ambox th.mbox-text, .ambox td.mbox-text { /* The message body cell(s) */ padding: 0.25em 0.5em; /* 0.5em left/right */ } .ambox td.mbox-image { /* The left image cell */ /* @noflip */ padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ } .ambox td.mbox-imageright { /* The right image cell */ /* @noflip */ padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ } table.ambox-notice { /* @noflip */ border-left: 10px solid #36c; /* Blue */ } table.ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } table.ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } table.ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } table.ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } table.ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } /* Image message box styles */ table.imbox { margin: 4px 10%; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } .imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ display: block; /* Fix for webkit to force 100% width. */ } .mbox-inside .imbox { /* For imboxes inside other templates. */ margin: 4px; } table.imbox-notice { border: 3px solid #36c; /* Blue */ } table.imbox-speedy { border: 3px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.imbox-delete { border: 3px solid #b32424; /* Red */ } table.imbox-content { border: 3px solid #f28500; /* Orange */ } table.imbox-style { border: 3px solid #fc3; /* Yellow */ } table.imbox-move { border: 3px solid #9932cc; /* Purple */ } table.imbox-protection { border: 3px solid #a2a9b1; /* Gray-gold */ } table.imbox-license { border: 3px solid #88a; /* Dark gray */ background-color: #f7f8ff; /* Light gray */ } table.imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } /* Category message box styles */ table.cmbox { margin: 3px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; } table.cmbox-notice { background-color: #d8e8ff; /* Blue */ } table.cmbox-speedy { margin-top: 4px; margin-bottom: 4px; border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } table.cmbox-delete { background-color: #ffdbdb; /* Pink */ } table.cmbox-content { background-color: #ffe7ce; /* Orange */ } table.cmbox-style { background-color: #fff9db; /* Yellow */ } table.cmbox-move { background-color: #e4d8ff; /* Purple */ } table.cmbox-protection { background-color: #efefe1; /* Gray-gold */ } /* Other pages message box styles */ table.ombox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: #f8f9fa; box-sizing: border-box; } table.ombox-notice { border: 1px solid #a2a9b1; /* Gray */ } table.ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ombox-delete { border: 2px solid #b32424; /* Red */ } table.ombox-content { border: 1px solid #f28500; /* Orange */ } table.ombox-style { border: 1px solid #fc3; /* Yellow */ } table.ombox-move { border: 1px solid #9932cc; /* Purple */ } table.ombox-protection { border: 2px solid #a2a9b1; /* Gray-gold */ } /* Talk page message box styles */ table.tmbox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; min-width: 80%; box-sizing: border-box; } .tmbox.mbox-small { min-width: 0; /* reset the min-width of tmbox above */ } .mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } .mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } table.tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.tmbox-delete { border: 2px solid #b32424; /* Red */ } table.tmbox-content { border: 2px solid #f28500; /* Orange */ } table.tmbox-style { border: 2px solid #fc3; /* Yellow */ } table.tmbox-move { border: 2px solid #9932cc; /* Purple */ } table.tmbox-protection, table.tmbox-notice { border: 1px solid #c0c090; /* Gray-brown */ } /* Footer and header message box styles */ table.fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: #f8f9fa; /* Default "system" gray */ box-sizing: border-box; } table.fmbox-system { background-color: #f8f9fa; } table.fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } table.fmbox-editnotice { background-color: transparent; } /* These mbox-small classes must be placed after all other ambox/tmbox/ombox etc classes. "html body.mediawiki" is so they override "table.ambox + table.ambox" above. */ html body.mediawiki .mbox-small { /* For the "small=yes" option. */ /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; box-sizing: border-box; width: 238px; font-size: 88%; line-height: 1.25em; } html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ /* @noflip */ margin: 4px 1em 4px 0; box-sizing: border-box; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } /* Remove underlines from certain links */ .nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; } /* Prevent line breaks in silly places where desired (nowrap) and links when we don't want them to (nowraplinks a) */ .nowrap, .nowraplinks a { white-space: nowrap; } /* But allow wrapping where desired: */ .wrap, .wraplinks a { white-space: normal; } /* Selectively hide headers in WikiProject banners */ /* TemplateStyles */ .wpb .wpb-header { display: none; } .wpbs-inner .wpb .wpb-header { display: table-row; } .wpbs-inner .wpb-outside { display: none; /* hide things that should only display outside shells */ } /* texhtml class for inline math (based on generic times-serif class) */ span.texhtml { font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size: 118%; line-height: 1; white-space: nowrap; /* Force tabular and lining display for texhtml */ -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; font-feature-settings: "lnum", "tnum", "kern" 0; font-variant-numeric: lining-nums tabular-nums; font-kerning: none; } span.texhtml span.texhtml { font-size: 100%; } /* ========================================================================== NavboxMobile — flex layout rules for MediaWiki:Common.css ADD these rules to Common.css (desktop stylesheet). ========================================================================== */ /* ── Outer container ─────────────────────────────────────────────────────── */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 1em auto 0; background-color: #fdfdfd; color: inherit; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* ── Suppress the DEFAULT mw-collapsible toggle MediaWiki tries to inject inside the body. We supply our own toggle (.navbox-mf-toggle) in the title bar via mw-customtoggle, so the auto-toggle is redundant. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li { display: none !important; } /* ── Title bar ───────────────────────────────────────────────────────────── */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.2em 0.4em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 1.8em; box-sizing: border-box; width: 100%; } /* Navbar (v·d·e) — left flex item */ .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { /* invisible spacer so title stays centred when navbar is absent */ visibility: hidden; } /* Title text — centre, takes all remaining space */ .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle — a <span class="mw-customtoggle-XXX"> that MediaWiki turns into a clickable region. We supply the visible text ourselves: two child spans (.navbox-mf-toggle-hide and -show) swapped via CSS based on whether the sibling .navbox-mf-body carries .mw-collapsed. Styled to LOOK like a small button. */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.1em 0.5em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; text-decoration: none; user-select: none; display: inline-block; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } /* ── Label swap ──────────────────────────────────────────────────────────── Default state = body expanded → show "hide" label. When the sibling body has .mw-collapsed → show "show" label. Uses :has() — Baseline since late 2023; all current Wikipedia-supported browsers (Chrome 105+, Firefox 121+, Safari 15.4+) support it. Fallback for older browsers: both labels visible (still functional). */ .navbox-mf-toggle-hide, .navbox-mf-toggle-show { display: inline; } .navbox-mf:has(> .navbox-mf-body.mw-collapsed) .navbox-mf-toggle-hide { display: none; } .navbox-mf:not(:has(> .navbox-mf-body.mw-collapsed)) .navbox-mf-toggle-show { display: none; } /* ── Body ────────────────────────────────────────────────────────────────── */ .navbox-mf-body { width: 100%; } /* When MW collapses the body it sets style="display:none" — make sure the title bar above it is untouched (it's a sibling, so it already is). */ /* ── Above / Below ───────────────────────────────────────────────────────── */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: center; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 1em; } /* ── Content rows ────────────────────────────────────────────────────────── */ .navbox-mf-row { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* ── Group label ─────────────────────────────────────────────────────────── */ .navbox-mf-group { flex: 0 0 auto; min-width: 6em; max-width: 20%; background-color: #ddddff; padding: 0.25em 0.75em; line-height: 1.5em; font-weight: bold; text-align: right; display: flex; align-items: center; justify-content: flex-end; box-sizing: border-box; border-right: 2px solid #fdfdfd; } /* ── List content ────────────────────────────────────────────────────────── */ .navbox-mf-list { flex: 1 1 12em; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* ── Even/odd striping ───────────────────────────────────────────────────── */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* ── Very narrow: force stacked layout ──────────────────────────────────── */ @media screen and (max-width: 480px) { .navbox-mf-group { flex-basis: 100%; max-width: 100%; text-align: center; justify-content: center; border-right: none; border-bottom: 1px solid #e8e8ff; min-width: 0; } .navbox-mf-list { flex-basis: 100%; } } /* ── hlist padding ───────────────────────────────────────────────────────── */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* ── Subgroup colours ────────────────────────────────────────────────────── */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* subgroups don't collapse */ /* ========================================================================== NavboxMobile flex layout end ========================================================================== */ @media screen { .nochecker .gallerybox .thumb img { background-image: none; } } /* Put anything you mean to be a sitewide addition above the TemplateStyles * comment above. */ 8cxi5o2zfhx1n0heb8p8bfn8lsg9d7o 4621618 4621614 2026-05-22T19:32:02Z Ranjithsiji 22471 update the show/hide switch problem in mobile navbox 4621618 css text/css /* * This is the CSS for all desktop skins on en.Wikipedia. * Styling inside .mw-parser-output should generally use TemplateStyles. */ /* Main page fixes */ .interwiki-completelist { font-weight: bold; } /* പ്രധാന താളിലെ “പ്രധാന താൾ“ എന്ന തലക്കെട്ട് ഒഴിവാകാൻ - To remove Main page title */ body.page-പ്രധാന_താൾ h1.firstHeading { display:none; } /*HERE STARTS "METABOX" COLOUR-SCHEMES*/ /* Nou esquema de colors per a la Plantilla:Metacaixa usada a la portada */ /* Configuració per defecte en lila Tons usats; 1; 7050a0 2; 9070c0 3; b090e0 4; d0b0ff 5; f0d0ff */ .mcBoto { background-color: #d0b0ff; /* 4 */ border: 0.15em solid #000000; border-color: #f0d0ff #b090e0 #9070c0 #f0d0ff; /* 5 3 3 5 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor:pointer; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative;} .mcBoto a, .mcBoto strong { background: none !important; color:#7050a0 !important; /* 1 */ font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcBoto a:hover, .mcBoto strong:hover { color: black !important; text-decoration: underline !important;} .mcBotoSel { background-color: #9070c0; /* 2 */ border: 0.15em solid #000000; border-color: #b090e0 #7050a0 #9070c0 #b090e0; /* 3 1 2 3 */ border-radius-topleft: .5em; border-radius-topright: .5em; -moz-border-radius: .5em .5em 0em 0em; cursor: default; display: inline; margin-right: 0.1em; padding: 0.2em 0.3em 0.2em 0.3em; position: relative; color:white;} .mcBotoSel a { background: none !important; color:white !important; cursor: default; font-size: 90%; font-weight: bold; padding: 0 !important; text-decoration: none !important;} .mcContingut { background-color: #f8f8ff; border: 0.2em solid #9070c0; /* 2 */ border-color: #9070c0 #7050a0 #7050a0 #9070c0 ; /* 2 1 1 2 */ -moz-border-radius: 0em .5em .5em 0em; border-radius-topright: .5em; border-radius-bottomright: .5em; padding: 1em; position: static; /* Si hi posem relative falla amb MSIE */} .mcPestanya { background-color: #f8f8ff; border-color: #7050a0 #b090e0 #b090e0 #7050a0; /* 1 3 3 1 */ width: 100%; } /* Configuració del Verd 1;60b030 2;75c045 3;90d060 4;a5e085 5;c0f090 */ .mcപച്ച .mcBoto { background-color: #a5e085; /* 4 */ border-color: #c0f090 #90d060 #75c045 #c0f090; /* 5 3 2 5 */} .mcപച്ച .mcBoto a, .mcപച്ച .mcBoto strong { color:#60b030 !important; /* 1 */ font-size:90%} .mcപച്ച .mcBoto a:hover, .mcപച്ച .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcപച്ച .mcBotoSel { background-color: #75c045; /* 2 */ border-color: #90d060 #60b030 #75c045 #90d060; /* 3 1 2 3 */} .mcപച്ച .mcContingut { background-color: #f5fffa; border-color: #75c045 #60b030 #60b030 #75c045 ; /* 2 1 1 2 */} .mcപച്ച .mcPestanya { background-color: #f5fffa; border-color: #60b030 #90d060 #90d060 #60b030; /* 1 3 3 1 */} /* Configuració del Vermell 1;CC0000 2;FF0000 3;FF8888 4;FFAAAA 5;FFCCCC */ .mcചുവപ്പ് .mcBoto { background-color: #FFAAAA; /* 4 */ border-color: #FFCCCC #FF8888 #FF0000 #FFCCCC; /* 5 3 2 5 */} .mcചുവപ്പ് .mcBoto a, .mcചുവപ്പ് .mcBoto strong { color:#CC0000 !important; /* 1 */ font-size:90%} .mcചുവപ്പ് .mcBoto a:hover .mcചുവപ്പ് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcചുവപ്പ് .mcBotoSel { background-color: #FF0000; /* 2 */ border-color: #FF8888 #CC0000 #FF0000 #FF8888; /* 3 1 2 3 */} .mcചുവപ്പ് .mcContingut { background-color: #fffafa; border-color: #FF0000 #CC0000 #CC0000 #FF0000; /* 2 1 1 2 */} .mcചുവപ്പ് .mcPestanya { background-color: #fffafa; border-color: #CC0000 #FF0000 #FF0000 #CC0000; /* 1 3 3 1 */} /* Configuració del Blue 1;3379de 2;5b8dd6 3;88abde 4;a7c1e6 5;c8d6e9 */ .mcനീല .mcBoto { background-color: #a7c1e6; /* 4 */ border-color: #c8d6e9 #88abde #5b8dd6 #c8d6e9; /* 5 3 2 5 */} .mcനീല .mcBoto a, .mcനീല .mcBoto strong { color:#3379de !important; /* 1 */ font-size:90%} .mcനീല .mcBoto a:hover .mcനീല .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcനീല .mcBotoSel { background-color: #5b8dd6; /* 2 */ border-color: #88abde #3379de #5b8dd6 #88abde; /* 3 1 2 3 */} .mcനീല .mcContingut { background-color: #f0f8ff; border-color: #5b8dd6 #3379de #3379de #5b8dd6; /* 2 1 1 2 */} .mcനീല .mcPestanya { background-color: #f0f8ff; border-color: #3379de #88abde #88abde #3379de; /* 1 3 3 1 */} /* Configuració del Groc 1;ffd813 2;ffe147 3;ffe977 4;fff1a4 5;fef4bc */ .mcമഞ്ഞ .mcBoto { background-color: #fff1a4; /* 4 */ border-color: #fef4bc #ffe977 #ffe147 #fef4bc; /* 5 3 2 5 */} .mcമഞ്ഞ .mcBoto a, .mcമഞ്ഞ .mcBoto strong { color:#ffd813 !important; /* 1 */ font-size:90%} .mcമഞ്ഞ .mcBoto a:hover .mcമഞ്ഞ .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcമഞ്ഞ .mcBotoSel { background-color: #ffe147; /* 2 */ border-color: #ffe977 #ffd813 #ffe147 #ffe977; /* 3 1 2 3 */} .mcമഞ്ഞ .mcContingut { background-color: #fffce8; border-color: #ffe147 #ffd813 #ffd813 #ffe147; /* 2 1 1 2 */} .mcമഞ്ഞ .mcPestanya { background-color: #fffce8; border-color: #ffd813 #88abde #88abde #ffd813; /* 1 3 3 1 */} /* Configuració del Taronja 1;ff820e 2;ff9d42 3;ffac5d 4;ffbd7f 5;ffd0a4 6;ffeedd */ .mcഓറഞ്ച് .mcBoto { background-color: #ffbd7f; /* 4 */ border-color: #ffd0a4 #ffac5d #ff9d42 #ffd0a4; /* 5 3 2 5 */} .mcഓറഞ്ച് .mcBoto a, .mcഓറഞ്ച് .mcBoto strong { color:#ff820e !important; /* 1 */ font-size:90%} .mcഓറഞ്ച് .mcBoto a:hover .mcഓറഞ്ച് .mcBoto strong:hover { color: black !important; text-decoration: underline;} .mcഓറഞ്ച് .mcBotoSel { background-color: #ff9d42; /* 2 */ border-color: #ffac5d #ff820e #ff9d42 #ffac5d; /* 3 1 2 3 */} .mcഓറഞ്ച് .mcContingut { background-color: #ffeedd; /* 6 */ border-color: #ff9d42 #ff820e #ff820e #ff9d42; /* 2 1 1 2 */} .mcഓറഞ്ച് .mcPestanya { background-color: #ffeedd; /* 6 */ border-color: #ff820e #ffac5d #ffac5d #ff820e; /* 1 3 3 1 */} /* Final d'estils de la Metacaixa */ /*HERE FINISHES "METABOX" COLOUR-SCHEMES*/ /* Reset italic styling set by user agent */ cite, dfn { font-style: inherit; } /* Straight quote marks for <q> */ q { quotes: '"' '"' "'" "'"; } /* Avoid collision of blockquote with floating elements by swapping margin and padding */ blockquote { overflow: hidden; margin: 1em 0; padding: 0 40px; } /* Consistent size for <small>, <sub> and <sup> */ small { font-size: 85%; } .mw-body-content sub, .mw-body-content sup, span[rel~='mw:referencedBy'] a::before /* for Parsoid */ { font-size: 80%; } /* Same spacing for indented and unindented paragraphs on talk pages */ .ns-talk .mw-body-content dd { margin-top: 0.4em; margin-bottom: 0.4em; } /* Reduce page jumps by hiding collapsed/dismissed content */ .client-js .mw-special-Watchlist #watchlist-message, .client-js .collapsible:not( .mw-made-collapsible).collapsed > tbody > tr:not(:first-child), /* Hide charinsert base for those not using the gadget */ #editpage-specialchars { display: none; } /* Adds padding above Watchlist announcements where new recentchanges/watchlist filters are enabled */ .mw-rcfilters-enabled .mw-specialpage-summary { margin-top: 1em; } /* Make the list of references smaller * Keep in sync with Template:Refbegin/styles.css * And Template:Reflist/styles.css */ ol.references { font-size: 90%; margin-bottom: 0.5em; } /* Styling for JQuery makeCollapsible, matching that of collapseButton */ .mw-parser-output .mw-collapsible-toggle { font-weight: normal; /* @noflip */ text-align: right; padding-right: 0.2em; padding-left: 0.2em; } .mw-collapsible-leftside-toggle .mw-collapsible-toggle { /* @noflip */ float: left; /* @noflip */ text-align: left; } /* Lists in wikitable data cells are always left-aligned */ .wikitable td ul, .wikitable td ol, .wikitable td dl { /* @noflip */ text-align: left; } /* Fix for hieroglyphs specificity issue in infoboxes ([[phab:T43869]]) */ .mw-parser-output table.mw-hiero-table td { vertical-align: middle; } /* Change the external link icon to a PDF icon for all PDF files */ .mw-parser-output a[href$=".pdf"].external, .mw-parser-output a[href*=".pdf?"].external, .mw-parser-output a[href*=".pdf#"].external, .mw-parser-output a[href$=".PDF"].external, .mw-parser-output a[href*=".PDF?"].external, .mw-parser-output a[href*=".PDF#"].external { background: url("//upload.wikimedia.org/wikipedia/commons/4/4d/Icon_pdf_file.png") no-repeat right; /* @noflip */ padding: 8px 18px 8px 0; } /* System messages styled similarly to fmbox */ div.mw-warning-with-logexcerpt, div.mw-lag-warn-high, div.mw-cascadeprotectedwarning, div#mw-protect-cascadeon, div.titleblacklist-warning { clear: both; margin: 0.2em 0; border: 1px solid #bb7070; background-color: #ffdbdb; padding: 0.25em 0.9em; box-sizing: border-box; } /* default colors for partial block message */ .mw-contributions-blocked-notice-partial .mw-warning-with-logexcerpt { border-color: #fc3; background-color: #fef6e7; } /* Increase the height of the image upload box */ #wpUploadDescription { height: 13em; } /* Minimum thumb width */ figure[typeof~='mw:File/Thumb'], figure[typeof~='mw:File/Frame'], .thumbinner { min-width: 100px; } /* Prevent floating boxes from overlapping any category listings, file histories, edit previews, and edit [Show changes] views. */ #mw-subcategories, #mw-pages, #mw-category-media, #filehistory, #wikiPreview, #wikiDiff { clear: both; } /* Styling for Abuse Filter tags */ .mw-tag-markers { font-style: italic; font-size: 90%; } /* Hide stuff meant for accounts with special permissions. Made visible again in [[MediaWiki:Group-checkuser.css]], [[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-abusefilter.css]], [[MediaWiki:Group-abusefilter-helper.css]], [[MediaWiki:Group-patroller.css]], [[MediaWiki:Group-templateeditor.css]], [[MediaWiki:Group-extendedmover.css]], [[MediaWiki:Group-extendedconfirmed.css]], and [[Mediawiki:Group-autoconfirmed.css]]. */ .checkuser-show, .sysop-show, .abusefilter-show, .abusefilter-helper-show, .patroller-show, .templateeditor-show, .extendedmover-show, .extendedconfirmed-show, .autoconfirmed-show, .user-show { display: none; } /* Hide the redlink generated by {{Editnotice}}, this overrides the ".sysop-show { display: none; }" above that applies to the same link as well. See [[phab:T45013]] Hide the images in editnotices to keep them readable in VE view. Long term, editnotices should become a core feature so that they can be designed responsive. */ .ve-ui-mwNoticesPopupTool-item .editnotice-redlink, .ve-ui-mwNoticesPopupTool-item .mbox-image, .ve-ui-mwNoticesPopupTool-item .mbox-imageright { display: none !important; } /* Remove bullets when there are multiple edit page warnings */ ul.permissions-errors { margin: 0; } ul.permissions-errors > li { list-style: none none; } /* larger inline math */ span.mwe-math-mathml-inline { font-size: 118%; } /* Make <math display="block"> be left aligned with one space indent for * compatibility with style conventions */ .mwe-math-fallback-image-display, .mwe-math-mathml-display { margin-left: 1.6em !important; margin-top: 0.6em; margin-bottom: 0.6em; } .mwe-math-mathml-display math { display: inline; } @media screen { /* Gallery styles background changes are restricted to screen view. In printing we should avoid applying backgrounds. */ /* The backgrounds for galleries. */ #content .gallerybox div.thumb { /* Light gray padding */ background-color: #f8f9fa; } /* Put a chequered background behind images, only visible if they have transparency. '.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */ .gallerybox .thumb img { background: #fff url(//upload.wikimedia.org/wikipedia/commons/5/5d/Checker-16x16.png) repeat; } /* But not on articles, user pages, or portals. */ .ns-0 .gallerybox .thumb img, .ns-2 .gallerybox .thumb img, .ns-100 .gallerybox .thumb img { background-image: none; } /* Display "From Wikipedia, the free encyclopedia" in skins that support it, do not apply to print mode */ #siteSub { display: block; } } /* Hide FlaggedRevs notice UI when there are no pending changes */ .flaggedrevs_draft_synced, .flaggedrevs_stable_synced, /* "Temporary" to remove links in sidebar T255381 */ #t-upload, /* Hide broken download box on Special:Book pending T285400 */ .mw-special-Book #coll-downloadbox { display: none; } /* * BELOW HERE THERE BE SOONTOBE TEMPLATESTYLES THINGS; * SEE [[MediaWiki talk:Common.css/to do]] */ /* Style for horizontal lists (separator following item). @source mediawiki.org/wiki/Snippets/Horizontal_lists @revision 8 (2016-05-21) @author [[User:Edokter]] */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } /* Display list items inline */ .hlist dd, .hlist dt, .hlist li { margin: 0; /* don't trust the note that says margin doesn't work with inline * removing margin: 0 makes dds have margins again */ display: inline; } /* Display nested lists inline */ .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } /* Hide empty list items */ .hlist .mw-empty-li { display: none; } /* Generate interpuncts */ .hlist dt:after { content: ": "; } /** * Note hlist style usage differs in Minerva and is defined in core as well! * Please check Minerva desktop (and Minerva.css) when changing * See https://phabricator.wikimedia.org/T213239 */ .hlist dd:after, .hlist li:after { content: " · "; font-weight: bold; } .hlist dd:last-child:after, .hlist dt:last-child:after, .hlist li:last-child:after { content: none; } /* Add parentheses around nested lists */ .hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before, .hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before, .hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before { content: " ("; font-weight: normal; } .hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after, .hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after, .hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after { content: ")"; font-weight: normal; } /* Put ordinals in front of ordered list items */ .hlist ol { counter-reset: listitem; } .hlist ol > li { counter-increment: listitem; } .hlist ol > li:before { content: " " counter(listitem) "\a0"; } .hlist dd ol > li:first-child:before, .hlist dt ol > li:first-child:before, .hlist li ol > li:first-child:before { content: " (" counter(listitem) "\a0"; } /* Unbulleted lists */ .plainlist ol, .plainlist ul { line-height: inherit; list-style: none none; margin: 0; } .plainlist ol li, .plainlist ul li { margin-bottom: 0; } /* Infobox template style */ .infobox { border: 1px solid #a2a9b1; border-spacing: 3px; background-color: #f8f9fa; color: black; /* @noflip */ margin: 0.5em 0 0.5em 1em; padding: 0.2em; /* @noflip */ float: right; /* @noflip */ clear: right; font-size: 88%; line-height: 1.5em; width: 22em; } .infobox-header, .infobox-label, .infobox-above, .infobox-full-data, .infobox-data, .infobox-below, .infobox-subheader, .infobox-image, .infobox-navbar, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { vertical-align: top; } .infobox-label, .infobox-data, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox th, .infobox td { /* @noflip */ text-align: left; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-above, .infobox .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { font-size: 125%; font-weight: bold; text-align: center; } .infobox-title, /* Remove element selector when every .infobox thing is using the standard module/templates */ .infobox caption { padding: 0.2em; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-header, .infobox .infobox-subheader, .infobox .infobox-image, .infobox .infobox-full-data, .infobox .infobox-below { text-align: center; } /* Remove .infobox when element selectors above are removed */ .infobox .infobox-navbar { /* @noflip */ text-align: right; } /* Normal font styling for wikitable row headers with scope="row" tag */ .wikitable.plainrowheaders th[scope=row], .wikitable.plainrowheaders th[scope=rowgroup] { font-weight: normal; /* @noflip */ text-align: left; } /* ambox/tmbox/imbox/cmbox/ombox/fmbox message boxes */ th.mbox-text, td.mbox-text { /* The message body cell(s) */ border: none; /* @noflip */ padding: 0.25em 0.9em; /* 0.9em left/right */ width: 100%; /* Make all mboxes the same width regardless of text length */ } td.mbox-image { /* The left image cell */ border: none; /* @noflip */ padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */ text-align: center; } td.mbox-imageright { /* The right image cell */ border: none; /* @noflip */ padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */ text-align: center; } td.mbox-empty-cell { /* An empty narrow cell */ border: none; padding: 0; width: 1px; } /* Article message box styles */ table.ambox { margin: 0 10%; /* 10% = Will not overlap with other elements */ border: 1px solid #a2a9b1; /* @noflip */ border-left: 10px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } /* Single border between stacked boxes. */ table.ambox + table.ambox, table.ambox + .mw-empty-elt + table.ambox { margin-top: -1px; } .ambox th.mbox-text, .ambox td.mbox-text { /* The message body cell(s) */ padding: 0.25em 0.5em; /* 0.5em left/right */ } .ambox td.mbox-image { /* The left image cell */ /* @noflip */ padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */ } .ambox td.mbox-imageright { /* The right image cell */ /* @noflip */ padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */ } table.ambox-notice { /* @noflip */ border-left: 10px solid #36c; /* Blue */ } table.ambox-speedy { /* @noflip */ border-left: 10px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ambox-delete { /* @noflip */ border-left: 10px solid #b32424; /* Red */ } table.ambox-content { /* @noflip */ border-left: 10px solid #f28500; /* Orange */ } table.ambox-style { /* @noflip */ border-left: 10px solid #fc3; /* Yellow */ } table.ambox-move { /* @noflip */ border-left: 10px solid #9932cc; /* Purple */ } table.ambox-protection { /* @noflip */ border-left: 10px solid #a2a9b1; /* Gray-gold */ } /* Image message box styles */ table.imbox { margin: 4px 10%; border-collapse: collapse; border: 3px solid #36c; /* Default "notice" blue */ background-color: #fbfbfb; box-sizing: border-box; } .imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */ margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */ display: block; /* Fix for webkit to force 100% width. */ } .mbox-inside .imbox { /* For imboxes inside other templates. */ margin: 4px; } table.imbox-notice { border: 3px solid #36c; /* Blue */ } table.imbox-speedy { border: 3px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.imbox-delete { border: 3px solid #b32424; /* Red */ } table.imbox-content { border: 3px solid #f28500; /* Orange */ } table.imbox-style { border: 3px solid #fc3; /* Yellow */ } table.imbox-move { border: 3px solid #9932cc; /* Purple */ } table.imbox-protection { border: 3px solid #a2a9b1; /* Gray-gold */ } table.imbox-license { border: 3px solid #88a; /* Dark gray */ background-color: #f7f8ff; /* Light gray */ } table.imbox-featured { border: 3px solid #cba135; /* Brown-gold */ } /* Category message box styles */ table.cmbox { margin: 3px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; background-color: #dfe8ff; /* Default "notice" blue */ box-sizing: border-box; } table.cmbox-notice { background-color: #d8e8ff; /* Blue */ } table.cmbox-speedy { margin-top: 4px; margin-bottom: 4px; border: 4px solid #b32424; /* Red */ background-color: #ffdbdb; /* Pink */ } table.cmbox-delete { background-color: #ffdbdb; /* Pink */ } table.cmbox-content { background-color: #ffe7ce; /* Orange */ } table.cmbox-style { background-color: #fff9db; /* Yellow */ } table.cmbox-move { background-color: #e4d8ff; /* Purple */ } table.cmbox-protection { background-color: #efefe1; /* Gray-gold */ } /* Other pages message box styles */ table.ombox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #a2a9b1; /* Default "notice" gray */ background-color: #f8f9fa; box-sizing: border-box; } table.ombox-notice { border: 1px solid #a2a9b1; /* Gray */ } table.ombox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.ombox-delete { border: 2px solid #b32424; /* Red */ } table.ombox-content { border: 1px solid #f28500; /* Orange */ } table.ombox-style { border: 1px solid #fc3; /* Yellow */ } table.ombox-move { border: 1px solid #9932cc; /* Purple */ } table.ombox-protection { border: 2px solid #a2a9b1; /* Gray-gold */ } /* Talk page message box styles */ table.tmbox { margin: 4px 10%; border-collapse: collapse; border: 1px solid #c0c090; /* Default "notice" gray-brown */ background-color: #f8eaba; min-width: 80%; box-sizing: border-box; } .tmbox.mbox-small { min-width: 0; /* reset the min-width of tmbox above */ } .mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */ margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */ width: 100%; /* For Safari and Opera */ } .mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */ line-height: 1.5em; /* also "nested", so reset styles that are */ font-size: 100%; /* set in "mbox-small" above. */ } table.tmbox-speedy { border: 2px solid #b32424; /* Red */ background-color: #fee7e6; /* Pink */ } table.tmbox-delete { border: 2px solid #b32424; /* Red */ } table.tmbox-content { border: 2px solid #f28500; /* Orange */ } table.tmbox-style { border: 2px solid #fc3; /* Yellow */ } table.tmbox-move { border: 2px solid #9932cc; /* Purple */ } table.tmbox-protection, table.tmbox-notice { border: 1px solid #c0c090; /* Gray-brown */ } /* Footer and header message box styles */ table.fmbox { clear: both; margin: 0.2em 0; width: 100%; border: 1px solid #a2a9b1; background-color: #f8f9fa; /* Default "system" gray */ box-sizing: border-box; } table.fmbox-system { background-color: #f8f9fa; } table.fmbox-warning { border: 1px solid #bb7070; /* Dark pink */ background-color: #ffdbdb; /* Pink */ } table.fmbox-editnotice { background-color: transparent; } /* These mbox-small classes must be placed after all other ambox/tmbox/ombox etc classes. "html body.mediawiki" is so they override "table.ambox + table.ambox" above. */ html body.mediawiki .mbox-small { /* For the "small=yes" option. */ /* @noflip */ clear: right; /* @noflip */ float: right; /* @noflip */ margin: 4px 0 4px 1em; box-sizing: border-box; width: 238px; font-size: 88%; line-height: 1.25em; } html body.mediawiki .mbox-small-left { /* For the "small=left" option. */ /* @noflip */ margin: 4px 1em 4px 0; box-sizing: border-box; overflow: hidden; width: 238px; border-collapse: collapse; font-size: 88%; line-height: 1.25em; } /* Remove underlines from certain links */ .nounderlines a, .IPA a:link, .IPA a:visited { text-decoration: none !important; } /* Prevent line breaks in silly places where desired (nowrap) and links when we don't want them to (nowraplinks a) */ .nowrap, .nowraplinks a { white-space: nowrap; } /* But allow wrapping where desired: */ .wrap, .wraplinks a { white-space: normal; } /* Selectively hide headers in WikiProject banners */ /* TemplateStyles */ .wpb .wpb-header { display: none; } .wpbs-inner .wpb .wpb-header { display: table-row; } .wpbs-inner .wpb-outside { display: none; /* hide things that should only display outside shells */ } /* texhtml class for inline math (based on generic times-serif class) */ span.texhtml { font-family: "Nimbus Roman No9 L", "Times New Roman", Times, serif; font-size: 118%; line-height: 1; white-space: nowrap; /* Force tabular and lining display for texhtml */ -webkit-font-feature-settings: "lnum", "tnum", "kern" 0; font-feature-settings: "lnum", "tnum", "kern" 0; font-variant-numeric: lining-nums tabular-nums; font-kerning: none; } span.texhtml span.texhtml { font-size: 100%; } /* ========================================================================== NavboxMobile — flex layout rules for MediaWiki:Common.css ADD these rules to Common.css (desktop stylesheet). ========================================================================== */ /* ── Outer container ─────────────────────────────────────────────────────── */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 1em auto 0; background-color: #fdfdfd; color: inherit; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* ── Suppress the DEFAULT mw-collapsible toggle MediaWiki tries to inject inside the body. We supply our own toggle (.navbox-mf-toggle) in the title bar via mw-customtoggle, so the auto-toggle is redundant. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li { display: none !important; } /* ── Title bar ───────────────────────────────────────────────────────────── */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.2em 0.4em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 1.8em; box-sizing: border-box; width: 100%; } /* Navbar (v·d·e) — left flex item */ .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { /* invisible spacer so title stays centred when navbar is absent */ visibility: hidden; } /* Title text — centre, takes all remaining space */ .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle — a <span class="mw-customtoggle-XXX"> that MediaWiki turns into a clickable region. We supply the visible text ourselves: two child spans (.navbox-mf-toggle-hide and -show) swapped via CSS based on whether the sibling .navbox-mf-body carries .mw-collapsed. Styled to LOOK like a small button. */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.1em 0.5em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; text-decoration: none; user-select: none; display: inline-block; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } /* ── Label swap ──────────────────────────────────────────────────────────── Default state = body expanded → show "hide" label. When the body has .mw-collapsed → show "show" label. Uses :has() — Baseline since late 2023; all current Wikipedia-supported browsers (Chrome 105+, Firefox 121+, Safari 15.4+) support it. We do NOT require direct-child (>) so the rule still matches even if jquery.makeCollapsible rewraps the DOM on some skins. Fallback for browsers without :has(): only the "hide" label shows (forced by the @supports rule below), so the button always reads "ചുരുക്കുക" regardless of state — slightly imperfect but functional. */ .navbox-mf-toggle-hide { display: inline; } .navbox-mf-toggle-show { display: none; } /* default: body is expanded */ @supports selector(:has(*)) { .navbox-mf:has(.navbox-mf-body.mw-collapsed) .navbox-mf-toggle-hide { display: none; } .navbox-mf:has(.navbox-mf-body.mw-collapsed) .navbox-mf-toggle-show { display: inline; } } /* ── Body ────────────────────────────────────────────────────────────────── */ .navbox-mf-body { width: 100%; } /* When MW collapses the body it sets style="display:none" — make sure the title bar above it is untouched (it's a sibling, so it already is). */ /* ── Above / Below ───────────────────────────────────────────────────────── */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: center; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 1em; } /* ── Content rows ────────────────────────────────────────────────────────── */ .navbox-mf-row { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* ── Group label ─────────────────────────────────────────────────────────── */ .navbox-mf-group { flex: 0 0 auto; min-width: 6em; max-width: 20%; background-color: #ddddff; padding: 0.25em 0.75em; line-height: 1.5em; font-weight: bold; text-align: right; display: flex; align-items: center; justify-content: flex-end; box-sizing: border-box; border-right: 2px solid #fdfdfd; } /* ── List content ────────────────────────────────────────────────────────── */ .navbox-mf-list { flex: 1 1 12em; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* ── Even/odd striping ───────────────────────────────────────────────────── */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* ── Very narrow: force stacked layout ──────────────────────────────────── */ @media screen and (max-width: 480px) { .navbox-mf-group { flex-basis: 100%; max-width: 100%; text-align: center; justify-content: center; border-right: none; border-bottom: 1px solid #e8e8ff; min-width: 0; } .navbox-mf-list { flex-basis: 100%; } } /* ── hlist padding ───────────────────────────────────────────────────────── */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* ── Subgroup colours ────────────────────────────────────────────────────── */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* subgroups don't collapse */ /* ========================================================================== NavboxMobile flex layout end ========================================================================== */ @media screen { .nochecker .gallerybox .thumb img { background-image: none; } } /* Put anything you mean to be a sitewide addition above the TemplateStyles * comment above. */ dc40lmj9r5m4f8hajll9c7mpoqz2r6d സി.എച്ച്. മുഹമ്മദ്കോയ 0 4800 4622150 4618749 2026-05-23T06:21:02Z Asifalinair 206364 /* */ 4622150 wikitext text/x-wiki {{prettyurl|C. H. Mohammed Koya}} {{Infobox officeholder | name = സി.എച്ച്. മുഹമ്മദ്കോയ | image = CHmohammedKoya.jpg | office = കേരളത്തിന്റെ രണ്ടാം ഉപമുഖ്യമന്ത്രി | 1blankname = മുഖ്യമന്ത്രി | 1namedata = [[കെ. കരുണാകരൻ]] | term_start = [[മേയ് 24]] [[1982]] | term_end = [[സെപ്റ്റംബർ 28]] [[1983]] | predecessor = ''Office Vacant'' | successor = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | 1blankname1 = മുഖ്യമന്ത്രി | 1namedata1 = [[കെ. കരുണാകരൻ]] | term_start1 = [[ഡിസംബർ 28]] [[1981]] | term_end1 = [[മാർച്ച് 17]] [[1982]] | successor1 = ''Office Vacant'' | predecessor1 = [[ആർ. ശങ്കർ]] | order2 = പത്താമത്തെ | office2 = കേരള മുഖ്യമന്ത്രി | governor2 = [[ജ്യോതി വെങ്കിടാചലം]] | term_start2 = 12 ഒക്ടോബർ 1979 | term_end2 = 1 ഡിസംബർ 1979 | predecessor2 = [[പി.കെ. വാസുദേവൻ നായർ]] | successor2 = [[രാഷ്ട്രപതി ഭരണം]] | office3 = [[കേരളനിയമസഭയിലെ സ്പീക്കർമാരുടെ പട്ടിക|കേരളാ നിയമസഭാസ്പീക്കർ]] | term_start3 = 9 ജൂൺ 1961 | term_end3 = 11 നവംബർ 1961 | predecessor3 = [[കെ.എം. സീതി സാഹിബ്]] | successor3 = [[അലക്സാണ്ടർ പറമ്പിത്തറ]] | office4 = ലോക്സഭാംഗം | term_start4 = 25 ഫെബ്രുവരി 1962 | term_end4 = 21 ഫെബ്രുവരി 1967 | successor4 = [[ഇബ്രാഹിം സുലൈമാൻ സേട്ട്]] | predecessor4 = [[കെ.പി. കുട്ടിക്കൃഷ്ണൻ നായർ]] | constituency4 = [[കോഴിക്കോട് ലോക്‌സഭാ നിയോജകമണ്ഡലം|കോഴിക്കോട്]] | term_start5 = 5 ഫെബ്രുവരി 1973 | term_end5 = 20 മാർച്ച് 1977 | successor5 = [[ഇബ്രാഹിം സുലൈമാൻ സേട്ട്]] | predecessor5 = [[മുഹമ്മദ് ഇസ്മായിൽ]] | constituency5 = [[മഞ്ചേരി ലോക്‌സഭാ നിയോജകമണ്ഡലം|മഞ്ചേരി]] | office6 = കേരളത്തിലെ വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി | constituency = | term_start6 = [[ഒക്ടോബർ 4]] [[1978]] | term_end6 = [[ഡിസംബർ 1]] [[1979]] | predecessor6 = [[യു.എ. ബീരാൻ]] | successor6 = [[ബേബി ജോൺ]] | term_start7 = [[മാർച്ച് 25]] [[1977]] | term_end7 = [[ഡിസംബർ 20]] [[1977]] | predecessor7 = [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] | successor7 = [[യു.എ. ബീരാൻ]] | term_start8 = [[മാർച്ച് 6]] [[1967]] | term_end8 = [[മാർച്ച് 1]] [[1973]] | predecessor8 = [[പി.പി. ഉമ്മർകോയ]] | successor8 = [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] | office9 = [[കേരള നിയമസഭ|കേരള നിയമസഭാംഗം]] | term_start9 = 5 ഏപ്രിൽ 1957 | term_end9 = 6 മാർച്ച് 1962 | constituency9 = [[താനൂർ നിയമസഭാമണ്ഡലം|താനൂർ]] | successor9 = [[സി. മുഹമ്മദ് കുട്ടി]] | predecessor9 = | term_start10 = 6 മാർച്ച് 1967 | term_end10 = 17 സെപ്റ്റംബർ 1970 | constituency10 = [[മങ്കട നിയമസഭാമണ്ഡലം|മങ്കട]] | successor10 = [[എം. മൊയ്തീൻ കുട്ടി]] | predecessor10 = [[പി. അബ്ദുൾ മജീദ്]] | term_start11 = 17 സെപ്റ്റംബർ 1970 | term_end11 = 5 ഫെബ്രുവരി 1973 | constituency11 = [[കൊണ്ടോട്ടി നിയമസഭാമണ്ഡലം|കൊണ്ടോട്ടി]] | successor11 = [[പി. സീതി ഹാജി]] | predecessor11 = [[സയ്യിദ് ഉമ്മർ ബാഫക്കി]] | term_start12 = 25 മാർച്ച് 1977 | term_end12 = 3 ജനുവരി 1980 | constituency12 = [[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] | successor12 = [[യു.എ. ബീരാൻ]] | predecessor12 = [[യു.എ. ബീരാൻ]] | term_start13 = 26 മാർച്ച് 1980 | term_end13 = 28 സെപ്റ്റംബർ 1983 | constituency13 = [[മഞ്ചേരി നിയമസഭാമണ്ഡലം|മഞ്ചേരി]] | successor13 = [[ഇസ്ഹാഖ് കുരിക്കൾ]] | predecessor13 = [[എം.പി.എം. അബ്ദുള്ള കുരിക്കൾ]] | office14 = [[കേരളത്തിലെ ഗതാഗതമന്ത്രി]] | term_start14 = 12 ഒക്ടോബർ 1979 | term_end14 = 01 ഡിസംബർ 1979 | predecessor14 = [[കെ. നാരായണക്കുറുപ്പ്]] | successor14 = [[ലോനപ്പൻ നമ്പാടൻ]] | office15 = ആഭ്യന്തരവും വിദ്യാഭ്യാസവും വകുപ്പ് മന്ത്രി | term15 = 1969-1973 | birth_date = {{Birth date|1927|7|15|df=y}} | birth_place = [[അത്തോളി]] | death_date = {{death date and age|df=yes|1983|9|28|1927|7|15}} | death_place = [[ഹൈദരാബാദ്]] | spouse = കെ.കെ. ആമിന (കല്ല്യാണം ജൂൺ 1 1950)<ref>[http://loksabhaph.nic.in/writereaddata/biodata_1_12/1517.htm Loksabha Profile (1962)]</ref> | children = രണ്ട് പെൺമക്കളും (ഫൗസിയ, ഫരീദ) ഒരു മകനും ([[എം.കെ. മുനീർ]]) | party = [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] | footnotes = | date = 6 ജൂലൈ | year = 2021 | source = https://web.archive.org/web/20051219145038/http://www.keralacm.gov.in/mohammed.html കേരള സർക്കാർ }} [[കേരളം|കേരളത്തിലെ]] മുൻ [[മുഖ്യമന്ത്രി]] ആയിരുന്നു '''ചെറിയൻ കണ്ടി മുഹമ്മദ് കോയ''' എന്ന '''സി.എച്ച്. മുഹമ്മദ് കോയ''' ([[ജൂലൈ 15]], [[1927]] - [[സെപ്റ്റംബർ 28]], [[1983]]). [[മുസ്ലീം ലീ‍ഗ്|മുസ്ലിം ലീഗിൻ്റെ]] [[കേരളം|കേരളത്തിലെ]] ഏക [[മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രിയും]] ഇദ്ദേഹമായിരുന്നു. ഭരണാധികാരി, പത്രപ്രവർത്തകൻ, ഗ്രന്ഥകർത്താവ്, വാഗ്മിയും രാഷ്ട്രതന്ത്രജ്ഞൻ എന്നീ നിലകളിൽ പ്രഗാൽഭ്യം തെളിയിച്ചിരുന്നു. [[യൂനിവേഴ്‌സിറ്റി ഓഫ് കാലിക്കറ്റ്|കാലിക്കറ്റ് സർവകലാശാല]] സ്ഥാപിച്ചത് സി.എച്ചിന്റെ പരിശ്രമങ്ങൾ മൂലമാണ്. പത്താം ക്ലാസ്സ് വരെയുള്ള വിദ്യാഭ്യാസം സൗജന്യം ആക്കിയത് ഇദ്ദേഹമാണ്. ഏറ്റവും കുറച്ചുകാലം (54 ദിവസങ്ങൾ മാത്രം) കേരളത്തിന്റെ മുഖ്യമന്ത്രിയായ വ്യക്തിയാണ് സി.എച്ച്.മുഹമ്മദ് കോയ. നിയമസഭ സ്പീക്കറും സംസ്ഥാന മുഖ്യമന്ത്രിയുമായ ഏക വ്യക്തിയും അദ്ദേഹമാണ്. കേരളത്തിൽ രണ്ടു തവണ ഉപമുഖ്യമന്ത്രിയായും സി.എച്ച് പ്രവർത്തിച്ചു. കേരളത്തിന്റെ മുഖ്യമന്ത്രിയായ ശേഷം സംസ്ഥാന മന്ത്രിയായ ഏക വ്യക്തിയും സി.എച്ച് ആണ്. തുടർച്ചയായി ആറ് മന്ത്രിസഭകളിൽ വിദ്യാഭ്യാസവകുപ്പ് കൈകാര്യം ചെയ്ത മന്ത്രിയും കൂടിയാണ് സി.എച്ച്.മുഹമ്മദ് കോയ.<ref>http://www.niyamasabha.org/codes/members/m424.htm</ref> == ജീവിതരേഖ == 1927 ജൂലൈ 15ന് [[കോഴിക്കോട് ജില്ല]]യിലെ [[കൊയിലാണ്ടി താലൂക്ക്|കൊയിലാണ്ടി താലൂക്കിലെ]] [[അത്തോളി]]യിൽ ആലി മുസലിയാരുടേയും മറിയുമ്മയുടേയും മകനായി ജനിച്ചു. കൊങ്ങന്നൂർ എയ്ഡഡ് എലിമെന്ററി സ്കൂൾ, കൊയിലാണ്ടി ഹൈസ്കൂൾ എന്നിവിടങ്ങളിൽ നിന്ന് പ്രാഥമിക വിദ്യാഭ്യാസം പൂർത്തിയാക്കി. കോഴിക്കോട് സാമൂതിരി കോളേജിൽ ചേർന്നെങ്കിലും പഠനം പൂർത്തിയാക്കിയില്ല. [[ചന്ദ്രിക ദിനപ്പത്രം|ചന്ദ്രിക ദിനപത്രത്തിൽ]] ലേഖകനായിട്ടാണ് ഔദ്യോഗിക ജീവിതമാരംഭിച്ചത് തുടർന്ന് മുഖ്യ പത്രാധിപരായി.<ref>https://www.manoramaonline.com/district-news/kozhikode/2020/11/10/kozhikode-ch-muhammed-koya-story.html</ref><ref>{{Cite web|url=http://keralamediaacademy.org/archives/?q=content/muhammed-koya-c-h|title=Muhammed Koya C. H {{!}} Kerala Media Academy|access-date=2021-08-19|archive-date=2021-07-12|archive-url=https://web.archive.org/web/20210712072716/http://www.keralamediaacademy.org/archives/?q=content/muhammed-koya-c-h|url-status=dead}}</ref> === രാഷ്ട്രീയ ജീവിതം === ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് പ്രവർത്തകനായി രാഷ്ട്രീയ പ്രവർത്തനമാരംഭിച്ച സി.എച്ച്.മുഹമ്മദ് കോയ 1951-ൽ ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗിന്റെ ദേശീയ എക്സിക്യൂട്ടീവ് കമ്മറ്റിയിൽ അംഗമായി. 1957, 1960 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ താനൂർ മണ്ഡലത്തിൽ നിന്ന് വിജയിച്ചു നിയമസഭാംഗമായ സി.എച്ച് സീതിസാഹിബ് അന്തരിച്ചതിനെ തുടർന്ന് 1961 ജൂൺ 9ന് നിയമസഭ സ്പീക്കറായി തിരഞ്ഞെടുക്കപ്പെട്ടു. 1961-ലെ ലോക്സഭ തിരഞ്ഞെടുപ്പിൽ കോഴിക്കോട് മണ്ഡലത്തിൽ നിന്ന് പാർലമെന്റ് അംഗമായതിനെ തുടർന്ന് 1961 നവംബർ 10ന് നിയമസഭ സ്പീക്കർ പദവി രാജിവച്ചു. 1967-ൽ സംസ്ഥാന രാഷ്ട്രീയത്തിൽ തിരിച്ചെത്തിയ സി.എച്ച് 1967-ൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പിൽ മങ്കട മണ്ഡലത്തിൽ നിന്ന് ജയിച്ച് നിയമസഭാംഗമായി. 1973-ൽ മഞ്ചേരിയിൽ നടന്ന ലോക്സഭ ഉപതിരഞ്ഞെടുപ്പിൽ വിജയിച്ച് രണ്ടാമതും ലോക്സഭാംഗമായ സി.എച്ച് 1977 വരെ പാർലമെൻ്റ് അംഗമായിരുന്നു. 1977-ൽ മലപ്പുറത്തിനെ പ്രതിനിധീകരിച്ചു നിയമസഭയിലെത്തിയ സി.എച്ച്. 1979 ഒക്ടോബർ 12ന് കേരളത്തിന്റെ പത്താമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്ത് അധികാരമേറ്റെങ്കിലും 1979 ഡിസംബർ ഒന്നിന് രാജിവച്ചു. 1980, 1982 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ മഞ്ചേരിയിൽ നിന്ന് വിജയിച്ച സി.എച്ച്. 1981-ൽ കെ.കരുണാകരൻ മുഖ്യമന്ത്രിയായപ്പോൾ ഉപമുഖ്യമന്ത്രിയായി സ്ഥാനമേറ്റു. അവസാനമായി അംഗമായിരുന്ന 1982-ലെ ഏഴാം കേരള നിയമസഭയിലും സി.എച്ച് തന്നെയായിരുന്നു ഉപമുഖ്യമന്ത്രി. 1969-1970 കാലഘട്ടത്തിൽ വിദ്യാഭ്യാസ വകുപ്പിനൊപ്പം ആഭ്യന്തര വകുപ്പ് മന്ത്രിയായും പ്രവർത്തിച്ചു.<ref>{{Cite web |url=http://www.stateofkerala.in/niyamasabha/c_h_mohammed_koya.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-07-06 |archive-date=2021-07-09 |archive-url=https://web.archive.org/web/20210709185016/http://www.stateofkerala.in/niyamasabha/c_h_mohammed_koya.php |url-status=dead }}</ref> സംസ്ഥാന വിദ്യാഭ്യാസ വകുപ്പ്മന്ത്രിയെന്ന നിലയിൽ അദ്ദേഹത്തിന്റെ സംഭാവനയാണ് കാലിക്കറ്റ് സർവകലാശാല. ഹൈസ്കൂൾ വിദ്യാഭ്യാസം സൗജന്യമാക്കുന്നതിൽ അദ്ദേഹം മുഖ്യപങ്ക് വഹിച്ചു. അതുപോലെ തന്നെ വിദ്യാർത്ഥികൾക്ക് സർവകലാശാലകളുടെ ഉന്നതാധികാര സമിതികളായ സെനറ്റ്, സിൻഡിക്കേറ്റ്, അക്കാദമിക് കൗൺസിൽ എന്നിവയിൽ പ്രാതിനിധ്യം ലഭിക്കുന്നതിനും അദ്ദേഹം പ്രവർത്തിച്ചു. പത്രപ്രവർത്തകൻ, എഴുത്തുകാരൻ, പ്രാസംഗികൻ, സംഘാടകൻ, പാർലമെൻ്ററിയൻ, ഭരണാധികാരി എന്നീ നിലകളിൽ പ്രശസ്തനായിരുന്നു സി.എച്ച്. മുഹമ്മദ് കോയ.<ref>https://tv.mathrubhumi.com/en/news/kerala/leaders-workers-gather-at-nadakavu-in-remembrance-of-ch-mohammad-koya-1.29051</ref> === സ്വകാര്യ ജീവിതം === * ഭാര്യ : കെ.കെ. ആമിന * മക്കൾ * ഹൗസിയ * [[എം.കെ. മുനീർ]] മകൻ * ഫരീദ === പുസ്തകങ്ങൾ === സി.എച്ച്. ധാരാളം പുസ്തകങ്ങൾ രചിച്ചിട്ടുണ്ട്. പ്രധാന പുസ്തകങ്ങൾ ഇവയൊക്കെയാണ്. നിയമസഭ പ്രസംഗങ്ങൾ, ഹജ്ജ് യാത്ര, ഗൾഫ് രാജ്യങ്ങൾ, സോവിയറ്റ് യൂണിയൻ, ഞാൻ കണ്ട മലേഷ്യ, കോക്സ്-ലണ്ടൻ-കെയ്റോ ഇരുപത്തിയെട്ടാമത്തെ വയസ്സിലാണ് സി.എച്ചിന്റെ ആദ്യ പുസ്തകം പുറത്തിറങ്ങിയത്. 1955 ൽ പ്രസിദ്ധീകരിച്ച "ലിയാഖത്ത് അലീഖാൻ". 1960 ൽ ഹജ്ജ് യാത്രയെക്കുറിച്ച് "എന്റെ ഹജ്ജ് യാത്ര" എന്ന ഗ്രന്ഥവും പുറത്തിറക്കി. കേരള നിയമസഭ സമാജികനായിരിക്കെ 1962 ൽ "നിയമസഭാ ചട്ടങ്ങൾ" എന്ന ഗ്രന്ഥമെഴുതി. 1965 ലാണ് "ഞാൻ കണ്ട മലേഷ്യ" എന്ന ഗ്രന്ഥം എഴുതിയത്. 1961 ൽ "കൊ-ലണ്ടൻ കെയ്‌റോ" എന്ന യാത്രാ വിവരണ ഗ്രന്ഥത്തിന്റെ ആദ്യപതിപ്പിറങ്ങി. 1973 ൽ "ശ്രീലങ്കയിൽ അഞ്ചു ദിവസം" 1974 ൽ "സോവിയറ്റ് യൂണ്യനിൽ" എന്ന പുസ്തകവും 1977 ൽ "ഗൾഫ് രാജ്യങ്ങളിൽ" എന്ന പുസ്തകവും പുറത്തിറങ്ങി. സി.എച്ചിന്റെ യാത്രാവിവരണഗ്രന്ഥങ്ങളെ അപഗ്രഥിച്ച് പത്രപ്രവർത്തകനായ റഹ്മാൻ തായലങ്ങാടി "സഞ്ചാര സാഹിത്യകാരനായ സി.എച്ച്". എന്ന പേരിൽ പുസ്തകം പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. 1982 ൽ ലിബിയൻ യാത്രയെക്കുറിച്ച് "ലിബിയൻ ജമാഹിരിയയല" എന്ന പുസ്തകം പ്രസിദ്ധീകരിച്ചു. "ഇന്ത്യയിലെ മുസ്ലീം ഭരണകാലം കഥകളിലൂടെ" എന്ന ഗ്രന്ഥവും 1982 ലാണ് പുറത്തിറങ്ങിയത്<ref>https://malayalam.webdunia.com/article/current-affairs-in-malayalam/%E0%B4%9C%E0%B4%A8%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B4%BF%E0%B4%AF%E0%B4%A8%E0%B4%BE%E0%B4%AF-%E0%B4%B8%E0%B4%BF-%E0%B4%8E%E0%B4%9A%E0%B5%8D%E0%B4%9A%E0%B5%8D-107092800031_1.htm</ref> === മരണം === 1983 [[സെപ്റ്റംബർ 28|സെപ്റ്റംബർ 28-ന്]] 56-ആമത്തെ വയസ്സിൽ [[ഹൈദരാബാദ്|ഹൈദരാബാദിലെ]] സ്റ്റേറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസിൽ വെച്ച് സി.എച്ച്. അന്തരിച്ചു. മരണസമയത്ത് അദ്ദേഹം കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രിയും പൊതുമരാമത്തുവകുപ്പുമന്ത്രിയുമായിരുന്നു. ഒരു പൊതുപരിപാടിയിൽ സംബന്ധിക്കാനായി ഹൈദരാബാദിലെത്തിയ അദ്ദേഹത്തിന് അവിടെ വച്ച് [[മസ്തിഷ്കാഘാതം]] ഉണ്ടാകുകയായിരുന്നു. കടുത്ത [[പ്രമേഹം|പ്രമേഹരോഗിയായിരുന്ന]] അദ്ദേഹം, അമിതമായ അളവിൽ മധുരം കഴിച്ചതിനെത്തുടർന്ന് രക്തത്തിലെ പഞ്ചസാരയുടെ അളവ് ഉയർന്നതാണ് മസ്തിഷ്കാഘാതത്തിലേയ്ക്ക് വഴിവച്ചതെന്ന് പ്രമുഖ എഴുത്തുകാരനായിരുന്ന [[പുനത്തിൽ കുഞ്ഞബ്ദുള്ള|ഡോ. പുനത്തിൽ കുഞ്ഞബ്ദുള്ള]] പിൽക്കാലത്ത് അഭിപ്രായപ്പെടുകയുണ്ടായി. മൃതദേഹം ജന്മനാട്ടിലെത്തിച്ച് പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ സംസ്കരിച്ചു. <ref>Balarama Digest 2011 June 11 issue കേരളത്തിൻ്റെ മുഖ്യമന്ത്രിമാർ</ref> == അവലംബം == {{Reflist}} {{DEFAULTSORT:മുഹമ്മദ്കോയ}} {{commonscat|C. H. Mohammed Koya}} {{start box}} {{succession box | before = [[പി.കെ. വാസുദേവൻ നായർ]] | title = [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] | years = 1979– 1979 | after = [[ഇ.കെ. നായനാർ]]}} {{end box}} {{CMs_of_Kerala}} {{Speakers of KLA}} {{First KLA}} {{Second KLA}} {{Third KLA}} [[വർഗ്ഗം:1927-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം: 1983-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ജൂലൈ 15-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 28-ന് മരിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുസ്ലിം ലീഗ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഉപമുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കോഴിക്കോടിൽ നിന്നുമുള്ള രാഷ്ട്രീയപ്രവർത്തകർ]] [[വർഗ്ഗം:ഒന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:മൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:ആറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:ഏഴാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ വിദ്യാഭ്യാസവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആഭ്യന്തരമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:മൂന്നാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:അഞ്ചാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:നിയമസഭാംഗമായിരിക്കെ മരണപ്പെട്ടവർ]] 9kn2wdtndqmxielv2s8hf4a2o5qke51 4622157 4622150 2026-05-23T06:59:24Z Asifalinair 206364 4622157 wikitext text/x-wiki {{prettyurl|C. H. Mohammed Koya}} {{Infobox officeholder | name = സി.എച്ച്. മുഹമ്മദ്കോയ | image = CHmohammedKoya.jpg | office = കേരളത്തിന്റെ രണ്ടാം ഉപമുഖ്യമന്ത്രി | 1blankname = മുഖ്യമന്ത്രി | 1namedata = [[കെ. കരുണാകരൻ]] | term_start = [[മേയ് 24]] [[1982]] | term_end = [[സെപ്റ്റംബർ 28]] [[1983]] | predecessor = ''Office Vacant'' | successor = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | 1blankname1 = മുഖ്യമന്ത്രി | 1namedata1 = [[കെ. കരുണാകരൻ]] | term_start1 = [[ഡിസംബർ 28]] [[1981]] | term_end1 = [[മാർച്ച് 17]] [[1982]] | successor1 = ''Office Vacant'' | predecessor1 = [[ആർ. ശങ്കർ]] | order2 = പത്താമത്തെ | office2 = കേരള മുഖ്യമന്ത്രി | governor2 = [[ജ്യോതി വെങ്കിടാചലം]] | term_start2 = 12 ഒക്ടോബർ 1979 | term_end2 = 1 ഡിസംബർ 1979 | predecessor2 = [[പി.കെ. വാസുദേവൻ നായർ]] | successor2 = [[രാഷ്ട്രപതി ഭരണം]] | office3 = [[കേരളനിയമസഭയിലെ സ്പീക്കർമാരുടെ പട്ടിക|കേരളാ നിയമസഭാസ്പീക്കർ]] | term_start3 = 9 ജൂൺ 1961 | term_end3 = 11 നവംബർ 1961 | predecessor3 = [[കെ.എം. സീതി സാഹിബ്]] | successor3 = [[അലക്സാണ്ടർ പറമ്പിത്തറ]] | office4 = ലോക്സഭാംഗം | term_start4 = 25 ഫെബ്രുവരി 1962 | term_end4 = 21 ഫെബ്രുവരി 1967 | successor4 = [[ഇബ്രാഹിം സുലൈമാൻ സേട്ട്]] | predecessor4 = [[കെ.പി. കുട്ടിക്കൃഷ്ണൻ നായർ]] | constituency4 = [[കോഴിക്കോട് ലോക്‌സഭാ നിയോജകമണ്ഡലം|കോഴിക്കോട്]] | term_start5 = 5 ഫെബ്രുവരി 1973 | term_end5 = 20 മാർച്ച് 1977 | successor5 = [[ഇബ്രാഹിം സുലൈമാൻ സേട്ട്]] | predecessor5 = [[മുഹമ്മദ് ഇസ്മായിൽ]] | constituency5 = [[മഞ്ചേരി ലോക്‌സഭാ നിയോജകമണ്ഡലം|മഞ്ചേരി]] | office6 = കേരളത്തിലെ വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി | constituency = | term_start6 = [[ഒക്ടോബർ 4]] [[1978]] | term_end6 = [[ഡിസംബർ 1]] [[1979]] | predecessor6 = [[യു.എ. ബീരാൻ]] | successor6 = [[ബേബി ജോൺ]] | term_start7 = [[മാർച്ച് 25]] [[1977]] | term_end7 = [[ഡിസംബർ 20]] [[1977]] | predecessor7 = [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] | successor7 = [[യു.എ. ബീരാൻ]] | term_start8 = [[മാർച്ച് 6]] [[1967]] | term_end8 = [[മാർച്ച് 1]] [[1973]] | predecessor8 = [[പി.പി. ഉമ്മർകോയ]] | successor8 = [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] | office9 = [[കേരള നിയമസഭ|കേരള നിയമസഭാംഗം]] | term_start9 = 5 ഏപ്രിൽ 1957 | term_end9 = 6 മാർച്ച് 1962 | constituency9 = [[താനൂർ നിയമസഭാമണ്ഡലം|താനൂർ]] | successor9 = [[സി. മുഹമ്മദ് കുട്ടി]] | predecessor9 = | term_start10 = 6 മാർച്ച് 1967 | term_end10 = 17 സെപ്റ്റംബർ 1970 | constituency10 = [[മങ്കട നിയമസഭാമണ്ഡലം|മങ്കട]] | successor10 = [[എം. മൊയ്തീൻ കുട്ടി]] | predecessor10 = [[പി. അബ്ദുൾ മജീദ്]] | term_start11 = 17 സെപ്റ്റംബർ 1970 | term_end11 = 5 ഫെബ്രുവരി 1973 | constituency11 = [[കൊണ്ടോട്ടി നിയമസഭാമണ്ഡലം|കൊണ്ടോട്ടി]] | successor11 = [[പി. സീതി ഹാജി]] | predecessor11 = [[സയ്യിദ് ഉമ്മർ ബാഫക്കി]] | term_start12 = 25 മാർച്ച് 1977 | term_end12 = 3 ജനുവരി 1980 | constituency12 = [[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] | successor12 = [[യു.എ. ബീരാൻ]] | predecessor12 = [[യു.എ. ബീരാൻ]] | term_start13 = 26 മാർച്ച് 1980 | term_end13 = 28 സെപ്റ്റംബർ 1983 | constituency13 = [[മഞ്ചേരി നിയമസഭാമണ്ഡലം|മഞ്ചേരി]] | successor13 = [[ഇസ്ഹാഖ് കുരിക്കൾ]] | predecessor13 = [[എം.പി.എം. അബ്ദുള്ള കുരിക്കൾ]] | office14 = [[കേരളത്തിലെ ഗതാഗതമന്ത്രി]] | term_start14 = 12 ഒക്ടോബർ 1979 | term_end14 = 01 ഡിസംബർ 1979 | predecessor14 = [[കെ. നാരായണക്കുറുപ്പ്]] | successor14 = [[ലോനപ്പൻ നമ്പാടൻ]] | office15 = ആഭ്യന്തരവും വിദ്യാഭ്യാസവും വകുപ്പ് മന്ത്രി | term15 = 1969-1970, 1970-1973 | birth_date = {{Birth date|1927|7|15|df=y}} | birth_place = [[അത്തോളി]] | death_date = {{death date and age|df=yes|1983|9|28|1927|7|15}} | death_place = [[ഹൈദരാബാദ്]] | spouse = കെ.കെ. ആമിന (കല്ല്യാണം ജൂൺ 1 1950)<ref>[http://loksabhaph.nic.in/writereaddata/biodata_1_12/1517.htm Loksabha Profile (1962)]</ref> | children = രണ്ട് പെൺമക്കളും (ഫൗസിയ, ഫരീദ) ഒരു മകനും ([[എം.കെ. മുനീർ]]) | party = [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] | footnotes = | date = 6 ജൂലൈ | year = 2021 | source = https://web.archive.org/web/20051219145038/http://www.keralacm.gov.in/mohammed.html കേരള സർക്കാർ | 8blankname1 = മുഖ്യമന്ത്രി | 8namedata1 = സി.അച്യുതമേനോൻ }} [[കേരളം|കേരളത്തിലെ]] മുൻ [[മുഖ്യമന്ത്രി]] ആയിരുന്നു '''ചെറിയൻ കണ്ടി മുഹമ്മദ് കോയ''' എന്ന '''സി.എച്ച്. മുഹമ്മദ് കോയ''' ([[ജൂലൈ 15]], [[1927]] - [[സെപ്റ്റംബർ 28]], [[1983]]). [[മുസ്ലീം ലീ‍ഗ്|മുസ്ലിം ലീഗിൻ്റെ]] [[കേരളം|കേരളത്തിലെ]] ഏക [[മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രിയും]] ഇദ്ദേഹമായിരുന്നു. ഭരണാധികാരി, പത്രപ്രവർത്തകൻ, ഗ്രന്ഥകർത്താവ്, വാഗ്മിയും രാഷ്ട്രതന്ത്രജ്ഞൻ എന്നീ നിലകളിൽ പ്രഗാൽഭ്യം തെളിയിച്ചിരുന്നു. [[യൂനിവേഴ്‌സിറ്റി ഓഫ് കാലിക്കറ്റ്|കാലിക്കറ്റ് സർവകലാശാല]] സ്ഥാപിച്ചത് സി.എച്ചിന്റെ പരിശ്രമങ്ങൾ മൂലമാണ്. പത്താം ക്ലാസ്സ് വരെയുള്ള വിദ്യാഭ്യാസം സൗജന്യം ആക്കിയത് ഇദ്ദേഹമാണ്. ഏറ്റവും കുറച്ചുകാലം (54 ദിവസങ്ങൾ മാത്രം) കേരളത്തിന്റെ മുഖ്യമന്ത്രിയായ വ്യക്തിയാണ് സി.എച്ച്.മുഹമ്മദ് കോയ. നിയമസഭ സ്പീക്കറും സംസ്ഥാന മുഖ്യമന്ത്രിയുമായ ഏക വ്യക്തിയും അദ്ദേഹമാണ്. കേരളത്തിൽ രണ്ടു തവണ ഉപമുഖ്യമന്ത്രിയായും സി.എച്ച് പ്രവർത്തിച്ചു. കേരളത്തിന്റെ മുഖ്യമന്ത്രിയായ ശേഷം സംസ്ഥാന മന്ത്രിയായ ഏക വ്യക്തിയും സി.എച്ച് ആണ്. തുടർച്ചയായി ആറ് മന്ത്രിസഭകളിൽ വിദ്യാഭ്യാസവകുപ്പ് കൈകാര്യം ചെയ്ത മന്ത്രിയും കൂടിയാണ് സി.എച്ച്.മുഹമ്മദ് കോയ.<ref>http://www.niyamasabha.org/codes/members/m424.htm</ref> == ജീവിതരേഖ == 1927 ജൂലൈ 15ന് [[കോഴിക്കോട് ജില്ല]]യിലെ [[കൊയിലാണ്ടി താലൂക്ക്|കൊയിലാണ്ടി താലൂക്കിലെ]] [[അത്തോളി]]യിൽ ആലി മുസലിയാരുടേയും മറിയുമ്മയുടേയും മകനായി ജനിച്ചു. കൊങ്ങന്നൂർ എയ്ഡഡ് എലിമെന്ററി സ്കൂൾ, കൊയിലാണ്ടി ഹൈസ്കൂൾ എന്നിവിടങ്ങളിൽ നിന്ന് പ്രാഥമിക വിദ്യാഭ്യാസം പൂർത്തിയാക്കി. കോഴിക്കോട് സാമൂതിരി കോളേജിൽ ചേർന്നെങ്കിലും പഠനം പൂർത്തിയാക്കിയില്ല. [[ചന്ദ്രിക ദിനപ്പത്രം|ചന്ദ്രിക ദിനപത്രത്തിൽ]] ലേഖകനായിട്ടാണ് ഔദ്യോഗിക ജീവിതമാരംഭിച്ചത് തുടർന്ന് മുഖ്യ പത്രാധിപരായി.<ref>https://www.manoramaonline.com/district-news/kozhikode/2020/11/10/kozhikode-ch-muhammed-koya-story.html</ref><ref>{{Cite web|url=http://keralamediaacademy.org/archives/?q=content/muhammed-koya-c-h|title=Muhammed Koya C. H {{!}} Kerala Media Academy|access-date=2021-08-19|archive-date=2021-07-12|archive-url=https://web.archive.org/web/20210712072716/http://www.keralamediaacademy.org/archives/?q=content/muhammed-koya-c-h|url-status=dead}}</ref> === രാഷ്ട്രീയ ജീവിതം === ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് പ്രവർത്തകനായി രാഷ്ട്രീയ പ്രവർത്തനമാരംഭിച്ച സി.എച്ച്.മുഹമ്മദ് കോയ 1951-ൽ ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗിന്റെ ദേശീയ എക്സിക്യൂട്ടീവ് കമ്മറ്റിയിൽ അംഗമായി. 1957, 1960 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ താനൂർ മണ്ഡലത്തിൽ നിന്ന് വിജയിച്ചു നിയമസഭാംഗമായ സി.എച്ച് സീതിസാഹിബ് അന്തരിച്ചതിനെ തുടർന്ന് 1961 ജൂൺ 9ന് നിയമസഭ സ്പീക്കറായി തിരഞ്ഞെടുക്കപ്പെട്ടു. 1961-ലെ ലോക്സഭ തിരഞ്ഞെടുപ്പിൽ കോഴിക്കോട് മണ്ഡലത്തിൽ നിന്ന് പാർലമെന്റ് അംഗമായതിനെ തുടർന്ന് 1961 നവംബർ 10ന് നിയമസഭ സ്പീക്കർ പദവി രാജിവച്ചു. 1967-ൽ സംസ്ഥാന രാഷ്ട്രീയത്തിൽ തിരിച്ചെത്തിയ സി.എച്ച് 1967-ൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പിൽ മങ്കട മണ്ഡലത്തിൽ നിന്ന് ജയിച്ച് നിയമസഭാംഗമായി. 1973-ൽ മഞ്ചേരിയിൽ നടന്ന ലോക്സഭ ഉപതിരഞ്ഞെടുപ്പിൽ വിജയിച്ച് രണ്ടാമതും ലോക്സഭാംഗമായ സി.എച്ച് 1977 വരെ പാർലമെൻ്റ് അംഗമായിരുന്നു. 1977-ൽ മലപ്പുറത്തിനെ പ്രതിനിധീകരിച്ചു നിയമസഭയിലെത്തിയ സി.എച്ച്. 1979 ഒക്ടോബർ 12ന് കേരളത്തിന്റെ പത്താമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്ത് അധികാരമേറ്റെങ്കിലും 1979 ഡിസംബർ ഒന്നിന് രാജിവച്ചു. 1980, 1982 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ മഞ്ചേരിയിൽ നിന്ന് വിജയിച്ച സി.എച്ച്. 1981-ൽ കെ.കരുണാകരൻ മുഖ്യമന്ത്രിയായപ്പോൾ ഉപമുഖ്യമന്ത്രിയായി സ്ഥാനമേറ്റു. അവസാനമായി അംഗമായിരുന്ന 1982-ലെ ഏഴാം കേരള നിയമസഭയിലും സി.എച്ച് തന്നെയായിരുന്നു ഉപമുഖ്യമന്ത്രി. 1969-1970 കാലഘട്ടത്തിൽ വിദ്യാഭ്യാസ വകുപ്പിനൊപ്പം ആഭ്യന്തര വകുപ്പ് മന്ത്രിയായും പ്രവർത്തിച്ചു.<ref>{{Cite web |url=http://www.stateofkerala.in/niyamasabha/c_h_mohammed_koya.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-07-06 |archive-date=2021-07-09 |archive-url=https://web.archive.org/web/20210709185016/http://www.stateofkerala.in/niyamasabha/c_h_mohammed_koya.php |url-status=dead }}</ref> സംസ്ഥാന വിദ്യാഭ്യാസ വകുപ്പ്മന്ത്രിയെന്ന നിലയിൽ അദ്ദേഹത്തിന്റെ സംഭാവനയാണ് കാലിക്കറ്റ് സർവകലാശാല. ഹൈസ്കൂൾ വിദ്യാഭ്യാസം സൗജന്യമാക്കുന്നതിൽ അദ്ദേഹം മുഖ്യപങ്ക് വഹിച്ചു. അതുപോലെ തന്നെ വിദ്യാർത്ഥികൾക്ക് സർവകലാശാലകളുടെ ഉന്നതാധികാര സമിതികളായ സെനറ്റ്, സിൻഡിക്കേറ്റ്, അക്കാദമിക് കൗൺസിൽ എന്നിവയിൽ പ്രാതിനിധ്യം ലഭിക്കുന്നതിനും അദ്ദേഹം പ്രവർത്തിച്ചു. പത്രപ്രവർത്തകൻ, എഴുത്തുകാരൻ, പ്രാസംഗികൻ, സംഘാടകൻ, പാർലമെൻ്ററിയൻ, ഭരണാധികാരി എന്നീ നിലകളിൽ പ്രശസ്തനായിരുന്നു സി.എച്ച്. മുഹമ്മദ് കോയ.<ref>https://tv.mathrubhumi.com/en/news/kerala/leaders-workers-gather-at-nadakavu-in-remembrance-of-ch-mohammad-koya-1.29051</ref> === സ്വകാര്യ ജീവിതം === * ഭാര്യ : കെ.കെ. ആമിന * മക്കൾ * ഹൗസിയ * [[എം.കെ. മുനീർ]] മകൻ * ഫരീദ === പുസ്തകങ്ങൾ === സി.എച്ച്. ധാരാളം പുസ്തകങ്ങൾ രചിച്ചിട്ടുണ്ട്. പ്രധാന പുസ്തകങ്ങൾ ഇവയൊക്കെയാണ്. നിയമസഭ പ്രസംഗങ്ങൾ, ഹജ്ജ് യാത്ര, ഗൾഫ് രാജ്യങ്ങൾ, സോവിയറ്റ് യൂണിയൻ, ഞാൻ കണ്ട മലേഷ്യ, കോക്സ്-ലണ്ടൻ-കെയ്റോ ഇരുപത്തിയെട്ടാമത്തെ വയസ്സിലാണ് സി.എച്ചിന്റെ ആദ്യ പുസ്തകം പുറത്തിറങ്ങിയത്. 1955 ൽ പ്രസിദ്ധീകരിച്ച "ലിയാഖത്ത് അലീഖാൻ". 1960 ൽ ഹജ്ജ് യാത്രയെക്കുറിച്ച് "എന്റെ ഹജ്ജ് യാത്ര" എന്ന ഗ്രന്ഥവും പുറത്തിറക്കി. കേരള നിയമസഭ സമാജികനായിരിക്കെ 1962 ൽ "നിയമസഭാ ചട്ടങ്ങൾ" എന്ന ഗ്രന്ഥമെഴുതി. 1965 ലാണ് "ഞാൻ കണ്ട മലേഷ്യ" എന്ന ഗ്രന്ഥം എഴുതിയത്. 1961 ൽ "കൊ-ലണ്ടൻ കെയ്‌റോ" എന്ന യാത്രാ വിവരണ ഗ്രന്ഥത്തിന്റെ ആദ്യപതിപ്പിറങ്ങി. 1973 ൽ "ശ്രീലങ്കയിൽ അഞ്ചു ദിവസം" 1974 ൽ "സോവിയറ്റ് യൂണ്യനിൽ" എന്ന പുസ്തകവും 1977 ൽ "ഗൾഫ് രാജ്യങ്ങളിൽ" എന്ന പുസ്തകവും പുറത്തിറങ്ങി. സി.എച്ചിന്റെ യാത്രാവിവരണഗ്രന്ഥങ്ങളെ അപഗ്രഥിച്ച് പത്രപ്രവർത്തകനായ റഹ്മാൻ തായലങ്ങാടി "സഞ്ചാര സാഹിത്യകാരനായ സി.എച്ച്". എന്ന പേരിൽ പുസ്തകം പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. 1982 ൽ ലിബിയൻ യാത്രയെക്കുറിച്ച് "ലിബിയൻ ജമാഹിരിയയല" എന്ന പുസ്തകം പ്രസിദ്ധീകരിച്ചു. "ഇന്ത്യയിലെ മുസ്ലീം ഭരണകാലം കഥകളിലൂടെ" എന്ന ഗ്രന്ഥവും 1982 ലാണ് പുറത്തിറങ്ങിയത്<ref>https://malayalam.webdunia.com/article/current-affairs-in-malayalam/%E0%B4%9C%E0%B4%A8%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B4%BF%E0%B4%AF%E0%B4%A8%E0%B4%BE%E0%B4%AF-%E0%B4%B8%E0%B4%BF-%E0%B4%8E%E0%B4%9A%E0%B5%8D%E0%B4%9A%E0%B5%8D-107092800031_1.htm</ref> === മരണം === 1983 [[സെപ്റ്റംബർ 28|സെപ്റ്റംബർ 28-ന്]] 56-ആമത്തെ വയസ്സിൽ [[ഹൈദരാബാദ്|ഹൈദരാബാദിലെ]] സ്റ്റേറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസിൽ വെച്ച് സി.എച്ച്. അന്തരിച്ചു. മരണസമയത്ത് അദ്ദേഹം കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രിയും പൊതുമരാമത്തുവകുപ്പുമന്ത്രിയുമായിരുന്നു. ഒരു പൊതുപരിപാടിയിൽ സംബന്ധിക്കാനായി ഹൈദരാബാദിലെത്തിയ അദ്ദേഹത്തിന് അവിടെ വച്ച് [[മസ്തിഷ്കാഘാതം]] ഉണ്ടാകുകയായിരുന്നു. കടുത്ത [[പ്രമേഹം|പ്രമേഹരോഗിയായിരുന്ന]] അദ്ദേഹം, അമിതമായ അളവിൽ മധുരം കഴിച്ചതിനെത്തുടർന്ന് രക്തത്തിലെ പഞ്ചസാരയുടെ അളവ് ഉയർന്നതാണ് മസ്തിഷ്കാഘാതത്തിലേയ്ക്ക് വഴിവച്ചതെന്ന് പ്രമുഖ എഴുത്തുകാരനായിരുന്ന [[പുനത്തിൽ കുഞ്ഞബ്ദുള്ള|ഡോ. പുനത്തിൽ കുഞ്ഞബ്ദുള്ള]] പിൽക്കാലത്ത് അഭിപ്രായപ്പെടുകയുണ്ടായി. മൃതദേഹം ജന്മനാട്ടിലെത്തിച്ച് പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ സംസ്കരിച്ചു. <ref>Balarama Digest 2011 June 11 issue കേരളത്തിൻ്റെ മുഖ്യമന്ത്രിമാർ</ref> == അവലംബം == {{Reflist}} {{DEFAULTSORT:മുഹമ്മദ്കോയ}} {{commonscat|C. H. Mohammed Koya}} {{start box}} {{succession box | before = [[പി.കെ. വാസുദേവൻ നായർ]] | title = [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] | years = 1979– 1979 | after = [[ഇ.കെ. നായനാർ]]}} {{end box}} {{CMs_of_Kerala}} {{Speakers of KLA}} {{First KLA}} {{Second KLA}} {{Third KLA}} [[വർഗ്ഗം:1927-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം: 1983-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ജൂലൈ 15-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 28-ന് മരിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുസ്ലിം ലീഗ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഉപമുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കോഴിക്കോടിൽ നിന്നുമുള്ള രാഷ്ട്രീയപ്രവർത്തകർ]] [[വർഗ്ഗം:ഒന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:മൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:ആറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:ഏഴാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ വിദ്യാഭ്യാസവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആഭ്യന്തരമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:മൂന്നാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:അഞ്ചാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:നിയമസഭാംഗമായിരിക്കെ മരണപ്പെട്ടവർ]] dzk4aw8kn9rkrhrj786udxgnwkkrojg ഐക്യ ജനാധിപത്യ മുന്നണി 0 5657 4621572 4620023 2026-05-22T14:34:06Z Asifalinair 206364 /* യു.ഡി.എഫ് ഭരണം 2026 */ 4621572 wikitext text/x-wiki {{prettyurl|United Democratic Front}} {{Infobox Indian Political Party |party_name = ഐക്യ ജനാധിപത്യ മുന്നണി |abbreviation = ''' യു ഡി എഫ്''' |logo = UDF logo.png |logo_caption = |colorcode = |chairman = [[വി.ഡി. സതീശൻ]] |foundation = {{Start date and age|1979}} |founder = [[കെ. കരുണാകരൻ]] |ideology = [[Big tent]]<br />'''Factions'''<br /> * [[Social democracy]]<ref name="sd">{{Cite news|title=A virus, social democracy, and dividends for Kerala|url=https://www.thehindu.com/opinion/lead/a-virus-social-democracy-and-dividends-for-kerala/article31370554.ece|last=Heller|first=Patrick|date=18 April 2020|access-date=2 February 2021|work=The Hindu}}</ref> * [[Conservatism]]/[[Liberal conservatism]]<ref>{{cite web|url=https://theprint.in/opinion/udf-had-a-chance-in-kerala-then-congress-played-a-dangerous-communal-game/627244/?amp|title=UDF had a chance in Kerala. Then Congress played a dangerous communal game|date=24 March 2021 }}</ref><ref>{{cite web|url=https://english.mathrubhumi.com/news/kerala/new-curriculum-to-teach-masturbation-homosexuality-iuml-leader-abdurahiman-randathani-1.8130018|title=New curriculum to teach masturbation homosexuality: IUML leader Abdurahiman Randathani |quote= ...the Congress-led UDF opposition contended in the Kerala assembly that the gender neutral views in the education policy will result in "negation of religion" and "sexual anarchy."}}</ref> * [[Economic liberalism]]<ref>{{cite web|url=https://www.thehindubusinessline.com/news/national/cpi-m-opposes-kerala-move-to-privatise-drinking-water-scheme/article64119857.ece|title=CPI-M opposes Kerala move to privatise drinking water scheme|date=30 March 2013 }}</ref> * [[Sustainable development]]<ref name="sd"/> |position = [[Centrism|Centre]]<ref name="WP">{{cite news|url=https://www.washingtonpost.com/politics/2019/05/31/indias-election-results-were-more-than-modi-wave/ |title=India's election results were more than a 'Modi wave'|quote=The BJP's primary rival, the centrist Indian National Congress (Congress), won only 52 seats. |newspaper=[[Washington Post]] |access-date=31 May 2019}}</ref> to [[Centre-right]]<ref>{{cite web|title=A coloured scheme of things|url=https://www.outlookindia.com/magazine/story/india-news-a-coloured-scheme-of-things/301479}}</ref> |loksabha_seats ={{Composition bar|18|20|hex=#0000FF}} |rajyasabha_seats ={{Composition bar|3|9|hex=#0000FF}} |state_seats_name = [[കേരള നിയമസഭ]] |state_seats ={{Composition bar|102|140|hex=#0000FF}} |headquarters = "ഇന്ദിരാഭവൻ", [[വെള്ളയമ്പലം]], [[തിരുവനന്തപുരം ജില്ല]], കേരളം |predecessor = |eci = |flag= |symbol= |alliance=[[ഇന്ത്യൻ നാഷണൽ ഡെവലപ്‌മെൻ്റൽ ഇൻക്ലൂസീവ് അലയൻസ്|ഇന്ത്യ സഖ്യം]] (ദേശീയ തലം)|Convener= എം. എം. ഹസൻ}} കേരളത്തിലെ ജനപക്ഷ രാഷ്ട്രീയ പാർട്ടികളുടെ കൂട്ടായ്മയാണ് '''ഐക്യ ജനാധിപത്യ മുന്നണി''' അഥവാ '''യു.ഡി.എഫ്'''. മുന്നണിയിലെ ഏറ്റവും വലിയ കക്ഷിയായ [[കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസി]]ന്റെ കേരളാ ശാഖയായ [[കേരള പ്രദേശ് കോൺഗ്രസ് കമ്മിറ്റി]]യാണ് സാധാ‍രണയായി മുന്നണിക്ക് നേതൃത്വം നൽകുന്നത്.<ref>https://www.thehindu.com/news/national/kerala/Congress-releases-its-list/article14958476.ece</ref> ഓരോ തിരഞ്ഞെടുപ്പിലും മുന്നണിയിലെ പാർട്ടികളുടെ കാര്യത്തിൽ ചെറിയ വ്യത്യാസം ഉണ്ടാവുക പതിവാണ്. എങ്കിലും മുഖ്യകക്ഷികളായ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്, [[മുസ്ലിം ലീ‍ഗ്]], എന്നീ പാർട്ടികൾ കഴിഞ്ഞ കുറെ തിരഞ്ഞെടുപ്പുകളായി ഇതേ മുന്നണിയിൽ തുടരുന്നു. [[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി]] അഥവാ എൽ.ഡി.എഫ്. ആണ് കേരളത്തിൽ ഐക്യ ജനാധിപത്യ മുന്നണിക്ക് ബദൽ. ഐക്യ ജനാധിപത്യ മുന്നണി ഏകോപന സമിതി യോഗങ്ങൾ മാസത്തിൽ ഒരിക്കൽ എങ്കിലും ചേരുന്നു. കേരള പ്രതിപക്ഷ നേതാവ് [[വി.ഡി. സതീശൻ]] മുന്നണി ചെയർമാൻ. നിലവിൽ [[അടൂർ പ്രകാശ്]] ആണു [[യു.ഡി.എഫ്]] കൺവീനർ<ref>https://www.thehindu.com/news/cities/Thiruvananthapuram/udf-candidates-for-assembly-election/article8449571.ece</ref><ref>{{Cite web |url=https://english.mathrubhumi.com/election/2019/loksabha-election/kerala/udf-sweeps-away-left-in-kerala-whitewash-bjp-draws-blank-again-1.3818521 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-10-19 |archive-date=2020-10-19 |archive-url=https://web.archive.org/web/20201019105910/https://english.mathrubhumi.com/election/2019/loksabha-election/kerala/udf-sweeps-away-left-in-kerala-whitewash-bjp-draws-blank-again-1.3818521 |url-status=dead }}</ref> ==യു.ഡി.എഫ് കൺവീനർമാർ== * [[അടൂർ പ്രകാശ്]] 2025-തുടരുന്നു * [[എം.എം. ഹസൻ]] 2020-2025 * [[ബെന്നി ബെഹനാൻ]] 2018-2020 * [[പി.പി. തങ്കച്ചൻ]] 2004-2018 * [[ഉമ്മൻചാണ്ടി]] 2001-2004 * [[കെ. ശങ്കരനാരായണൻ]] 1985-2001 * [[ഉമ്മൻചാണ്ടി]] 1982-1985 * [[പി.ജെ. ജോസഫ്]] 1980-1982 (സ്ഥാപക കൺവീനർ) * [[A.K. Antony|എ.കെ. ആൻ്റണി]] 1970-1980 (രൂപീകരണ കൺവീനർ) ==ഐക്യ ജനാധിപത്യ മുന്നണി ഘടകകക്ഷികൾ == {| class="wikitable" |- ! നമ്പർ !! പാർട്ടി !! ചിഹ്നം !!കേരളത്തിലെ പാർട്ടി നേതാവ് |- | 1 || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] ||[[പ്രമാണം:Hand INC.svg|70x70ബിന്ദു]] കൈപ്പത്തി|| [[സണ്ണി ജോസഫ്|അഡ്വ.സണ്ണി ജോസഫ്]] |- | 2 || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] ||[[പ്രമാണം:Indian Election Symbol Lader.svg|82x82ബിന്ദു]] കോണി || [[സയ്യിദ് സാദിഖ് അലി ശിഹാബ് തങ്ങൾ]] |- |3|| [[കേരള കോൺഗ്രസ് |കേരള കോൺഗ്രസ് ‌]] || ചെണ്ട|| [[പി.ജെ. ജോസഫ്]] || |- |4|| [[ റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി ]] ||മൺവെട്ടിയും മൺകോരിയും || [[എ.എ. അസീസ്]] |- | 5|| [[കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]]||[[File:CMP-banner.svg|70px]] || [[സി.പി. ജോൺ]] |- | 6|| [[കേരള കോൺഗ്രസ് (ജേക്കബ്) ]] ||[[Image:Kerala-Congress-flag.svg|70px]] || [[അനൂപ് ജേക്കബ്]] |- | 7|| [[ഓൾ ഇന്ത്യാ ഫോർവേഡ് ബ്ലോക്ക്]] | സിംഹം|| ജി. ദേവരാജൻ, <ref>| https://url=/amp/www.janmabhumidaily.com/news406409/amp&rct=j&sa=U&ved=0ahUKEwiPjvm1qtnUAhVLQY8KHdTlBswQFggmMAQ&q{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഫെബ്രുവരി 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |- |8 |കേരള ഡെമോക്രാറ്റിക്‌ പാർട്ടി | |[[മാണി സി. കാപ്പൻ]] |- |9 |[[റെവല്യൂഷണറി മാർക്സിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]] | |കെ കെ രമ |- |10 |നാഷണൽ ജനത ദൾ | |ജോൺ ജോൺ |- |11 |ജെ എസ്‌ എസ്‌ (നാഷണൽ) | | |} == യു.ഡി.എഫ് ഭരണം 2026 == {{പ്രധാനലേഖനം|വി.ഡി. സതീശൻ മന്ത്രിസഭ}} * മുഖ്യമന്ത്രി : [[വി.ഡി. സതീശൻ]] * ആഭ്യന്തരവകുപ്പ് മന്ത്രി : [[രമേശ് ചെന്നിത്തല]] === കക്ഷിനില === * യു.ഡി.എഫ് : 102 / 140 * ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് : 63 * മുസ്ലിം ലീഗ് : 22 * കേരള കോൺഗ്രസ് : 7 * ആർ.എസ്.പി : 3 * കേരള കോൺഗ്രസ് (ജേക്കബ്) : 1 * ആർ.എം.പി : 1 * സി.എം.പി : 1 * സ്വതന്ത്രർ : 4 == 2021 നിയമസഭ കക്ഷിനില == * പ്രതിപക്ഷ നേതാവ് : [[വി.ഡി. സതീശൻ]]<ref>{{Cite web |url=https://www.manoramanews.com/news/breaking-news/2021/05/22/vd-satheesan-opposition-leader-kerala-22.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-06-01 |archive-date=2021-06-02 |archive-url=https://web.archive.org/web/20210602213656/https://www.manoramanews.com/news/breaking-news/2021/05/22/vd-satheesan-opposition-leader-kerala-22.html |url-status=dead }}</ref> * പ്രതിപക്ഷ ഉപനേതാവ് : [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]]<ref>https://keralakaumudi.com/news/mobile/news.php?id=544053&u=pk-kunhalikutti</ref> * യു.ഡി.എഫ് ആകെ : 42 * [[കോൺഗ്രസ്]] : 22 * [[മുസ്ലീം ലീഗ്]] : 15 * [[കേരള കോൺഗ്രസ്]] : 02 * [[കേരള കോൺഗ്രസ് (ജേക്കബ്)|ജേക്കബ് വിഭാഗം]] : 01 * [[മാണി സി. കാപ്പൻ| എൻ.സി.കെ]] : 01 * [[ആർ.എം.പി.]] : 01 == 2016 നിയമസഭ കക്ഷിനില== *പ്രതിപക്ഷ നേതാവ് : [[രമേശ് ചെന്നിത്തല]]<ref>https://www.thehindubusinessline.com/news/national/ramesh-chennithala-elected-opposition-leader-in-kerala/article8663331.ece</ref><ref>https://www.thehindu.com/elections/kerala2016/assembly-poll-defeat-a-temporary-setback-says-outgoijng-kerala-cmchandy/article8624763.ece</ref> *പ്രതിപക്ഷ ഉപനേതാവ് : [[എം.കെ. മുനീർ]] *[[യു.ഡി.എഫ്]] [[എം.എൽ.എ]]മാർ ആകെ= 42 *[[കോൺഗ്രസ്]] :21 *[[മുസ്ലീംലീഗ്]] :18 *[[കേരള കോൺഗ്രസ് (എം.)|പി.ജെ. ജോസഫ്]] വിഭാഗം :02 *[[കേരള കോൺഗ്രസ് (ജേക്കബ്)]] :01 ==ഇതും കാണുക== * [[എൽ.ഡി.എഫ്.]] ([[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി]]) * [[എൻ.ഡി.എ.]] == അവലംബം == {{reflist}} {{Political stub}} [[വർഗ്ഗം:കേരളരാഷ്ട്രീയം]] r6qdbsb1x60wcjoqxxcvdl2ov7o55n6 കാന്തപുരം എ.പി. അബൂബക്കർ മുസ്‌ലിയാർ 0 7192 4622182 4618280 2026-05-23T08:15:05Z Irshadpp 10433 4622182 wikitext text/x-wiki {{prettyurl|Sheikh Abubakr Ahmad}} {{വൃത്തിയാക്കേണ്ടവ|അക്ഷരത്തെറ്റുകൾ, ശൈലീ പ്രശ്നങ്ങൾ തുടങ്ങിയ}} {{ToDisambig|വാക്ക്=കാന്തപുരം}} {{Infobox religious biography/Mufti |honorific-prefix= ഹിസ് എമിനെൻസ് |name=ശൈയ്ഖ് അബൂബക്ർ അഹ്മദ് |honorific-suffix=ബാഖവി, മലൈബാരി |native_name= കാന്തപുരം എ. പി. അബൂബക്കർ മുസ്‌ലിയാർ |native_name_lang=ml |image=Sheikh Abubakr receiving an Award by OIC Today.jpg |alt=മലേഷ്യൻ സാമ്പത്തികകാര്യ മന്ത്രിയിൽ നിന്ന് ഒഐസി ടുഡേയുടെ അവാർഡ് സ്വീകരിക്കുന്നു. |caption=മലേഷ്യൻ സാമ്പത്തികകാര്യ മന്ത്രിയിൽ നിന്നും ഒഐസി ടുഡേയുടെ അവാർഡ് സ്വീകരിക്കുന്നു. |religion=[[ഇസ്‌ലാം]] |Madh'hab=[[ശാഫിഈ മദ്ഹബ്]] |lineage= |sect= |founder=[[മർക്കസു സ്സഖാഫത്തി സ്സുന്നിയ്യ]]<ref>{{cite journal |last1=Filippo Osella & Caroline Osella |title=Islamism and Social Reform in Kerala, South India |journal=Modern Asian Studies |volume=42 |issue=2/3 |page=327 |url=https://www-jstor-org.wikipedialibrary.idm.oclc.org/stable/pdf/20488022.pdf|jstor=20488022}}</ref> |subsect= |philosophy= |known_for=വിദ്യാഭ്യാസ, സാമൂഹിക പ്രവർത്തനങ്ങൾ |education= |alma_mater=ബാഖിയാത്തുസാലിഹാത് |other_names= |dharma_names= |monastic_name= |pen_name= |posthumous_name= |nationality=[[ഇന്ത്യ]]ൻ |flourished= |home_town=[[കാന്തപുരം]] |ethnicity=[[മലയാളി]] |birth_name=അബൂബക്കർ |birth_date= {{Birth date and age|df=yes|1937|03|22}}<ref name=indianexpress6239509>{{Cite web|url=https://indianexpress.com/article/india/women-shouldnt-hit-streets-against-caa-raise-slogans-or-clench-fists-sunni-muslim-cleric-in-kerala-6239509/|title=Women shouldn't hit streets against CAA, raise slogans or clench fists: Sunni Muslim cleric in Kerala|date=28 January 2020|website=The Indian Express|url-status=live|access-date=7 March 2020|quote=Aboobacker Musliyar is India's Grand Mufti, general secretary of the All India Sunni Jamiyyathul Ulama and chancellor of the Jamia Markaz group of institutions. The 83-year-old leads the AP faction of Samastha, the biggest Muslim body of scholars and clerics in Kerala.}}</ref><ref>{{cite web | url=https://sheikhabubakrahmad.com/About | title=About Sheikh Abubakr Ahmad | accessdate=8 May 2019 | archive-date=2019-05-08 | archive-url=https://web.archive.org/web/20190508054344/https://sheikhabubakrahmad.com/About | url-status=dead }}</ref> |birth_place=[[കാന്തപുരം]], പൂനൂർ, [[കോഴിക്കോട് ജില്ല]] |spouse=സൈനബ |children=[[അബ്ദുൾ ഹക്കീം അസ്ഹരി]] |mother=കുഞ്ഞീമ ഹജ്ജുമ്മ |father=മൌത്താരിയിൽ അഹമ്മദ്‌ ഹാജി |title=സുൽത്താനുൽ ഉലമ, ഖമറുൽ ഉലമ, അബുൽ അയ്താം |occupation=[[ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തി]],[[അഖിലേന്ത്യാ സുന്നി ജംഇയ്യത്തുൽ ഉലമ]]യുടെ ജനറൽ സെക്രട്ടറി 1992, സമസ്ത കേരള ജംഇയ്യത്തുൽ ഉലമ ജനറൽ സെക്രട്ടറി 1989, |teachers=[[#ഗുരുക്കന്മാർ|ഈ പട്ടിക കാണുക]] |students=[[ഹബീബ് അലി അൽ ജിഫ്രി]], [[സി. മുഹമ്മദ്‌ ഫൈസി]] |works=ഇന്ത്യ, മിഡിൽ ഈസ്റ്റ്, മലേഷ്യ എന്നിവിടങ്ങളിലായി അഞ്ഞൂറിലധികം വിദ്യാഭ്യാസ, കാരുണ്യ സ്ഥാപനങ്ങൾ സ്ഥാപിച്ചു. |literary_works = [[#പ്രധാന ഗ്രന്ഥങ്ങൾ|ഈ പട്ടിക കാണുക]] |profession=[[മർക്കസു സ്സഖാഫത്തി സ്സുന്നിയ്യ]]യുടെ ചാൻസലർ | website = {{Plainlist| * [https://sheikhabubakrahmad.com/ ഔദ്യോഗിക വെബ്സൈറ്റ്] }} |signature= |background=lightgreen | office1 = [[ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തി]] | term1 = 24 ഫെബ്രുവരി 2019 - | predecessor1 = അഖ്തർ റസാ ഖാൻ |official_name=مفتي الديار الهندية، الشيخ أبوبكر أحمد }} കേരളത്തിലെ ഒരു മുസ്‌ലിം പണ്ഡിതനാണ് '''കാന്തപുരം എ.പി. അബൂബക്കർ മുസ്‌ലിയാർ'''. [[അഖിലേന്ത്യാ സുന്നി ജംഇയ്യത്തുൽ ഉലമ]] ജനറൽ സെക്രട്ടറിയായ അദ്ദേഹത്തെ അനുയായികൾ [[ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തി]]<ref name="indiatimes68175547">{{Cite web|url=https://timesofindia.indiatimes.com/city/kozhikode/kanthapuram-selected-grand-mufti-of-india/articleshow/68175547.cms|title=Kanthapuram selected Grand Mufti of India &#124; Kozhikode News - Times of India|website=The Times of India}}</ref><ref name="mathrubhumi3598829">{{Cite web|url=https://www.mathrubhumi.com/print-edition/india/kanthapuram-abubakkar-musliyar-selected-as-grand-mufty--1.3598829|title=കാന്തപുരം എ.പി. അബൂബക്കർ മുസ്‌ലിയാർ ഗ്രാൻഡ് മുഫ്തി|access-date=25 feb 2019|website=Mathrubhumi|archive-url=https://web.archive.org/web/20190225033109/https://www.mathrubhumi.com/print-edition/india/kanthapuram-abubakkar-musliyar-selected-as-grand-mufty--1.3598829|archive-date=2019-02-25|url-status=dead}}</ref><ref>{{Cite web|url=https://jaihindtv.in/kanthapuram-ap-aboobakkar-musliar-as-grant-mufti/|title=കാന്തപുരം എ പി അബൂബക്കർ മുസ്ലിയാരെ ഗ്രാന്റ് മുഫ്തിയായി പ്രഖ്യാപിച്ചു|access-date=25 ഫിബ്രവരി 2019|date=24 ഫിബ്രവരി 2019|publisher=Jaihind TV}}</ref> എന്ന് വിശേഷിപ്പിക്കുന്നു. അറബിയിൽ ശൈഖ് അബൂബക്കർ അഹ്മദ് എന്ന് വിളിക്കുന്നു.<ref name="arabnews307156">http://www.arabnews.com/node/307156 അറബ് ന്യൂസ്‌ സൗദി അറേബ്യ</ref> [[കോഴിക്കോട് ജില്ല|കോഴിക്കോട് ജില്ലയിലെ]] [[കാന്തപുരം (വിവക്ഷകൾ)|കാന്തപുരത്ത്]] ജനനം. [[കോഴിക്കോട് ജില്ല|കോഴിക്കോട് ജില്ലയിലെ]] [[കുന്നമംഗലം|കുന്നമംഗലത്ത്]] സ്ഥിതിചെയ്യുന്ന [[മർക്കസു സ്സഖാഫത്തി സുന്നിയ|മർക്കസു സ്സഖാഫത്തി സുന്നിയയുടെ]] ജനറൽ സെക്രട്ടറി, മുസ്‌ലിം പണ്ഡിതൻ, പ്രഭാഷകൻ, എഴുത്തുകാരൻ, സംഘാടകൻ, വിദ്യാഭ്യാസ പ്രവർത്തകൻ എന്നീ നിലകളിൽ കാന്തപുരം അറിയപ്പെടുന്നു. == ജീവിത രേഖ == === കുട്ടിക്കാലം === [[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്ജില്ല]]യിലെ താമരശേരിക്കടുള്ള [[ഉണ്ണികുളം ഗ്രാമപഞ്ചായത്ത്‌|ഉണ്ണികുളം ഗ്രാമപഞ്ചായത്തിലെ]] കാന്തപുരം എന്ന ഗ്രാമത്തിൽ മൌത്താരി അഹമ്മദ്‌ ഹാജിയുടെയും കുഞ്ഞീമ ഹജ്ജുമ്മ യുടെയും മകനായി 1937 മാർച്ച് 22<ref>{{Cite book |title=വിശ്വാസപൂർവ്വം |publisher=മലൈബാർ പ്രസ് |year=2024 |isbn=8195918557 |edition=First |publication-date=20 June 2024 |pages=395 |language=Malayalam |trans-title=Vishwasapoorvam, Malayalam Autobiography of AP Aboobacker Musliyar Kanthapuram}}</ref> <ref name="indianexpress6239509" /> നാണ് ആലുങ്ങാപൊയിയിൽ അബൂബക്കർ മുസ്‌ലിയാർ ജനിച്ചത്‌. പിതാവ് അഹമ്മദ് ഹാജി [[ഖുർആൻ]] പണ്ഡിതനായിരുന്നു. മാതാവ് കുഞ്ഞീമ ഹജ്ജുമ്മ. തന്റെ പന്ത്രണ്ടാം വയസ്സിൽ പിതാവ് മരണപ്പെട്ടു. കാന്തപുരം എ.എം.എൽ.പി. സ്കൂളിൽ പ്രാഥമിക പഠനം നേടി. പിന്നീട് ഹയർ എലിമെന്ററി വിദ്യാഭ്യാസം പൂർത്തിയാക്കി. തുടർന്ന് [[ഖുർആൻ]] പാരായണ ശാസ്ത്രത്തിൽ പ്രാവീണ്യം നേടിയ ഖാരിഅ ആയിരുന്ന പുത്തൂർ അബ്ദുള്ള മുസ്‌ലിയാരിൽ നിന്നും ഖുർആൻ പഠനം പൂർത്തിയാക്കി. പിന്നീട് കാന്തപുരം, വാവാട്, പൂനൂർ, കോളിക്കൽ, തലക്കടത്തൂർ, ചാലിയം തുടങ്ങിയ പള്ളികളിൽ താമസിച്ചു മത പഠനം നേടി. 1961-ൽ ഉപരിപഠനത്തിനായ [[ബാഖിയാത്തു സ്വാലിഹാത്ത്, വെല്ലൂർ|വെല്ലൂർ ബാഖിയാത്തു സാലിഹാത് അറബിക് കോളേജിൽ]] ചേർന്നു. === നേതൃത്വത്തിലേക്ക് === 1963-ൽ തന്റെ ഇരുപത്തഞ്ചാം വയസ്സിൽ പൂനൂരിന് സമീപം മങ്ങാട് ജുമാ മസ്ജിദിലാണ് ദർസ് ആരംഭിച്ചത്. [[1970]]-ൽ കോളിക്കൽ ജുമാ മസ്ജിദിലേക്ക് മാറിയ അദ്ദേഹം ആറു വർഷത്തിനു ശേഷം സ്വന്തം നാടായ കാന്തപുരം ജുമാ മസ്ജിദിലെ ദർസ് ചുമതലയേറ്റു. പിന്നീട് [[കുന്ദമംഗലം|കുന്ദമംഗലത്തിനടുത്ത്]] കാരന്തൂരിൽ മർകസു സ്സഖാഫത്തി സുന്നിയ്യ എന്ന പേരിൽ സ്ഥാപനം ആരംഭിച്ചു. 1981 മുതൽ 1988 വരെ മർകസ് ശരീഅ വിഭാഗം തലവനായും 1988 മുതൽ ചാൻസലറായും സേവനം ചെയ്യുന്നു. 1974 ഏപ്രിലിൽ സമസ്ത കേരള ജംഇയ്യത്തുൽ ഉലമയുടെ കേന്ദ്ര മുശാവറിൽ അംഗമായി. പിന്നീട് അതിന്റെ ഓഫിസ് സെക്രട്ടറിയും ജോയിന്റ് സെക്രട്ടറിയുമായി. 1976 ൽ സംഘടന അഖിലേന്ത്യാ തലത്തിലേക്ക് വ്യാപിപ്പിക്കാൻ ചുമതലപ്പെടുത്തിയ മൂന്നംഗ സമിതിയിൽ അംഗമായി. 1975 മുതൽ 1989 വരെ സമസ്ത കേരളാ സുന്നീ യുവജന സംഘം ജനറൽ സെക്രട്ടറിയായി പ്രവർത്തിച്ചു. 1996 മുതൽ 2004 വരെ സമസ്ത കേരള സുന്നി യുവജന സംഘത്തിന്റെ പ്രസിഡണ്ടായിരുന്നു. 1987-ൽ കേരള ഹജ്ജ് കമ്മിറ്റി അംഗം, അറബി പാഠ പുസ്തക സംശോധനാ കമ്മിറ്റി അധ്യക്ഷൻ എന്നീ നിലകളിലും പ്രവർത്തിച്ചിട്ടുണ്ട്. ശേഷം&nbsp;സമസ്തയിലുണ്ടായ &nbsp;ചില പ്രശ്നങ്ങളാൽ 1989 ൽ സമസ്ത പുന സംഘടിപ്പിക്കപ്പെട്ടു. അന്ന് മുതൽ സമസ്ത കേരള ജം ഇയ്യത്തുൽ ഉലമ ജനറൽ സെക്രട്ടറിയായി പ്രവർത്തിച്ച് വരുന്നു. 1992-ൽ അഖിലേന്ത്യ സുന്നി ജംഇയ്യത്തുൽ ഉലമ നിലവിൽ വന്നപ്പോൾ അതിന്റെ ജനറൽ സെക്രട്ടറിയായി. 1993-ൽ തന്നെ കോഴിക്കോട് സംയുക്ത ഖാദിയായി ബൈഅത്ത് ചെയ്യപ്പെട്ടു. 2019 [[ഡെൽഹി|ഡൽഹിയിൽ]] നടന്ന ഗരീബ് നവാസ് സമാധാനസമ്മേളനത്തിൽ ഒരു വിഭാഗം മുസ്‌ലീം പണ്ഡിതർ അദ്ദേഹത്തെ [[ഗ്രാൻഡ് മുഫ്തി|ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തിയായി]] പ്രഖ്യാപിച്ചു. ഇന്ത്യയിലെ സുന്നി-സൂഫി ധാരയിലെ പരമോന്നത നേതാവായി അദ്ദേഹത്തെ അനുയായികൾ കരുതുന്നു. ദക്ഷിണേന്ത്യയിൽനിന്ന് ആദ്യമായാണ് ഒരാൾ ഈ പദവിയിലെത്തുന്നത്. [[File:Jkghhggfg.jpg|thumb|പ്രസംഗ വേദിയിൽ.]] കൂടാതെ [[സമസ്ത കേരള ജംഇയ്യത്തുൽ ഉലമ(എ പി വിഭാഗം)|സമസ്ത കേരള ജംഇയ്യത്തുൽ ഉലമയിലെ]] എ.പി വിഭാഗത്തിന്റെ ജനറൽ സെക്രട്ടറി, [[കേരള മുസ്‌ലിം ജമാഅത്ത്]] പ്രസിഡന്റ്, [[എസ് വൈ എസ്|സുന്നീ യുവജന സംഘം]] സുപ്രീം കൌൺസിൽ അധ്യക്ഷൻ. [[സമസ്ത കേരള സുന്നി വിദ്യാഭ്യാസ ബോർഡ്‌]] പ്രസിഡന്റ്, [[മർക്കസു സ്സഖാഫത്തി സ്സുന്നിയ്യ|മർകസുസഖാഫത്തി സുന്നിയ്യ]] ജനറൽ സെക്രട്ടറി, കേരളത്തിലെ നാല് ജില്ലകളുടെ സംയുക്ത ഖാസി പദവി തുടങ്ങിയ സ്ഥാനങ്ങൾ വഹിക്കുന്നുണ്ട്. ===ആഗോള തലത്തിൽ=== [[File:Sheikh Abubakr Ahmad (cropped).jpg|thumb|അന്താരാഷ്ട്ര സമ്മേളനത്തിൽ]] ജോർദ്ദാൻ രാജാവിന്റെ മേൽനോട്ടത്തിൽ പ്രവത്തിക്കുന്ന റോയൽ അൽ ബയ്ത് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഇസ്ലാമിക് തോട്ട്‌<ref>{{Cite web|url=https://www.aalalbayt.org/|title=Welcome}}</ref>, മുസ്ലിം വേൾഡ് ലീഗ്{{തെളിവ്}} തുടങ്ങിയ ലോക സംഘടനകളിൽ അംഗമാണ് അദ്ദേഹം. [[സഊദി അറേബ്യ|സൗദി അറേബ്യ]], [[യു.എ.ഇ]] തുടങ്ങിയ അറബ് രാഷ്ട്രങ്ങളുടെ തലവന്മാരുമായും കാന്തപുരം എ.പി അബൂബക്കർ മുസ്‌ലിയാർക്ക് വ്യക്തിബന്ധമുണ്ട്<ref name=saudigazette2013042116>{{Cite web|url=http://www.saudigazette.com.sa/index.cfm?method=home.regcon&contentid=20130421162248|title=Saudi Gazette/ Home Page|website=saudigazette.com.sa|access-date=2015-08-25|archive-date=2013-04-22|archive-url=https://web.archive.org/web/20130422111230/http://www.saudigazette.com.sa/index.cfm?method=home.regcon&contentid=20130421162248|url-status=dead}}</ref><ref>{{Cite web |url=http://www.coastaldigest.com/index.php/news/53088-a-p-aboobacker-takes-up-nitaqat-issue-with-saudi-authorities |title=ആർക്കൈവ് പകർപ്പ് |access-date=2015-08-31 |archive-date=2013-05-02 |archive-url=https://web.archive.org/web/20130502044439/http://coastaldigest.com/index.php/news/53088-a-p-aboobacker-takes-up-nitaqat-issue-with-saudi-authorities |url-status=dead }}</ref>. ജോർദാനിലെ അമ്മാൻ ദി റോയൽ ഇസ്ലാമിക് സ്ട്രാറ്റജിസ് സ്റ്റഡീസ് സെന്റർ പ്രസിദ്ധീകരിച്ച 2010 - 2020 കാലയളവിൽ ലോകത്തെ സ്വാധീനിച്ച അഞ്ഞൂറ് മുസ്‌ലിം വ്യക്തികളിൽ ഒരാളായി കാന്തപുരം എ.പി അബൂബക്കർ മുസ്‌ലിയാരെ തെരഞ്ഞെടുത്തിട്ടുണ്ട്.<ref name=mathrubhumi574336>{{Cite web|url=https://www.mathrubhumi.com/news/world/malayalam/dubai-malayalam-news-1.574336|title=ലോകത്തെ സ്വാധീനിച്ച മുസ്‌ലിം വ്യക്തിത്വം: കാന്തപുരം അഞ്ചാംവർഷവും പട്ടികയിൽ|website=Mathrubhumi|access-date=2019-06-11|archive-date=2019-04-07|archive-url=https://web.archive.org/web/20190407064217/https://www.mathrubhumi.com/news/world/malayalam/dubai-malayalam-news-1.574336|url-status=dead}}</ref><ref name="500M">{{cite book |title=THE WORLD'S 500 MOST INFLUENTIAL MUSLIMS-2016 |date=2016 |publisher=The Royal Islamic Strategic Studies Centre, Jordan |page=132 |pages=133 |url=https://www.themuslim500.com/wp-content/uploads/2018/05/TheMuslim500-2016-low.pdf#page=134 |accessdate=26 നവംബർ 2019}}</ref> == പ്രവർത്തനങ്ങൾ == === മതരംഗത്ത് === കോഴിക്കോട് ജില്ലയിലെ കാരന്തൂർ പ്രദേശത്തുനിന്നാണ് തന്റെ പ്രവർത്തനങ്ങൾക്ക് കാന്തപുരം തുടക്കമിട്ടത്. അനാഥാലയങ്ങൾ, തൊഴിൽ പരിശീലന കേന്ദ്രങ്ങൾ, ശരീഅത്ത്, ഖുർആൻ പഠന കേന്ദ്രം, എഞ്ചിനീയറിംഗ് കോളേജ്,<ref>{{Cite web|url=https://www.deccanchronicle.com/amp/content/tags/markaz-institute-of-engineering-and-technology|title=Markaz Institute Of Engineering And Technology {{!}} Deccan Chronicle|website=www.deccanchronicle.com|access-date=2020-03-20|archive-date=2020-03-20|archive-url=https://web.archive.org/web/20200320103524/https://www.deccanchronicle.com/amp/content/tags/markaz-institute-of-engineering-and-technology|url-status=dead}}</ref> ലോ കോളേജ്,<ref>{{Cite web|url=https://timesofindia.indiatimes.com/city/kochi/10-maulvis-all-set-for-new-role-as-advocates/articleshow/64145382.cms|title=10 maulvis all set for new role as advocates {{!}} Kochi News - Times of India|last=May 13|first=T. C. Sreemol {{!}} TNN {{!}} Updated:|last2=2018|website=The Times of India|language=en|access-date=2020-03-20|last3=Ist|first3=12:35}}</ref> ഇംഗ്ലീഷ് വിദ്യാഭ്യാസ സ്ഥാപനങ്ങൾ, അന്തർദേശീയ പാഠശാലകൾ, വനിതാ വിദ്യാഭ്യാസ കേന്ദ്രങ്ങൾ, ആശുപത്രികൾ, സാന്ത്വന കേന്ദങ്ങൾ, വ്യാപാര സമുച്ചയങ്ങൾ തുടങ്ങി നിരവധി സ്ഥാപനങ്ങൾ ഉൾപ്പെടുന്ന [[മർക്കസു സ്സഖാഫത്തി സുന്നിയ]] എന്ന പ്രശസ്ത<ref>{{Cite web|url=http://www.milligazette.com/news/9162-awards|title=Awards|last=Gazette|first=The Milli|date=2013-09-05|website=www.milligazette.com|language=en|url-status=live|archive-url=|archive-date=|access-date=2020-03-20|quote=MAULANA ABDUR RAHEEM who completed Kamil Saqafi course from South India’s famous religious-cum-modern Islamic University, Jamia Markaz Al Saqafat Al Sunniya in 2009}}</ref> സ്ഥാപനത്തിന്റെ സൂത്രധാരനും സ്ഥാപകനും, സ്ഥാപിത കാലം മുതൽ ജനറൽ സെക്രട്ടറിയും ആണ് കാന്തപുരം<ref name=saudigazette2012110114>{{Cite web|url=http://www.saudigazette.com.sa/index.cfm?method=home.regcon&contentid=20121101141437|title=Saudi Gazette/ Home Page|website=saudigazette.com.sa}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. ആ­യി­ര­ക്ക­ണ­ക്കി­ന് പള്ളി­ക­ളും മറ്റു വി­ദ്യാ­ഭ്യാസ സ്ഥാ­പ­ന­ങ്ങ­ളും മർ­ക­സി­ന് കീ­ഴിൽ കേ­ര­ള­ത്തി­ന് അക­ത്തും പു­റ­ത്തു­മാ­യി സ്ഥാ­പി­ച്ചി­ട്ടു­ണ്ട്. കൂടാതെ അനേകം സ്ഥാപനങ്ങളുടെ ഉപദേശകൻ, ചെയർമാൻ തുടങ്ങിയ സ്ഥാനങ്ങൾ വഹിക്കുന്നു. ഒട്ടേറെ സുന്നി പോഷക സംഘടനകൾ, സുന്നി പ്രസിദ്ധീകരണങ്ങൾ, സുന്നി മുഖ പത്രമായ [[സിറാജ് ദിനപത്രം]] തുടങ്ങിയവയുടെ പ്രവർത്തനങ്ങളും കാന്തപുരത്തിന്റെ കീഴിലാണ്. അനേകം മഹല്ലുകളുടെ ഖാസിയാണ് കാന്തപുരം. === വിദ്യാഭ്യാസ രംഗത്ത് === കാന്തപുരം ഏറ്റവും കൂടുതൽ ശ്രദ്ധ ചെലുത്തുന്ന പ്രവർത്തന മണ്ഡലമാണ് വിദ്യാഭ്യാസ രംഗം.<ref>{{Cite web|url=https://timesofindia.indiatimes.com/city/kozhikode/kozhikode-student-gets-phd-from-jnu-for-study-on-kanthapuram/articleshow/65884750.cms|title=Kozhikode student gets PhD from JNU for study on Kanthapuram {{!}} Kozhikode News - Times of India|last=Sep 20|first=TNN {{!}}|last2=2018|date=|website=The Times of India|language=en|url-status=live|archive-url=|archive-date=|access-date=2020-03-20|quote=Muhammed submitted his thesis on the 'The role and contribution of Sheikh Aboobacker Ahamed to the cultural, educational, and Arabic literacy awakening among the Muslim community in Kerala.' The study also discusses the Kanthapuram's initiatives in the educational field. "These efforts helped the Muslim community, especially the Sunni sections, tremendously to overcome the educational backwardness. He also set up educational institutions in Jammu and Kashmir, West Bengal and Gujarat," Muhammed said.|last3=Ist|first3=14:21}}</ref> വിദ്യാഭ്യാസ രംഗത്തെ കാന്തപുരത്തിൻറെ സ്വപ്ന പദ്ധതിയായ [[മർക്കസ് നോളജ് സിറ്റി]] കോഴിക്കോട് കൈതപ്പൊയിൽ എന്ന സ്ഥലത്ത് 120 എക്ടരിൽ നിർമ്മാണത്തിലാണ്. നിലവിൽ ശരിഅ സിറ്റി,യുനാനി മെഡിക്കൽ കോളേജ്, തുടങ്ങിയ നിരവധി അക്കാദമിക് സമുച്ചയം നിലവിൽ വന്നു. === ജീവകാരുണ്യ രംഗത്ത് === കാന്തപുരത്തിന്റെ കീഴിൽ വിവിധ [[അനാഥമന്ദിരം|അനാഥാലയങ്ങൾ]] പ്രവർത്തിക്കുന്നുണ്ട്. [[ആന്തമാൻ നിക്കോബാർ ദ്വീപുകൾ]], [[ബംഗാൾ]], [[ത്രിപുര]], [[പഞ്ചാബ്]], [[ഗുജറാത്ത്]], [[ആസ്സാം]], [[ഒറീസ്സ]], [[ഇന്ത്യാ-പാകിസ്താൻ അതിർത്തി|ഇന്ത്യ - പാക്ക് അതിർത്തി]] പ്രദേശങ്ങൾ തുടങ്ങിയ സ്ഥലങ്ങളിലെ അനാഥരും ദുർബലരുമായ വിദ്യാർതികൾക്ക് മർക്കസ്‌ പഠന സൗകര്യം നൽകുന്നുണ്ട്. നേപ്പാൾ പോലുള്ള രാജ്യങ്ങളിൽ അടുത്തകാലത്ത് പ്രവർത്തനം വ്യപിപ്പിച്ചിട്ടുണ്ട്.<ref>{{Cite web|url=http://www.iacad.gov.ae/en/Pages/IslamicCenter.aspx |title=Islamic Center |last=2010 |first=(c)جميع الحقوق محفوظة لدائرة الشؤون الإسلامية والعمل الخيري بدبي |website=www.iacad.gov.ae |access-date=2016-05-13 |url-status=dead |archiveurl=https://web.archive.org/web/20160501124035/http://www.iacad.gov.ae/en/Pages/IslamicCenter.aspx |archivedate=2016-05-01 }}</ref> കാശ്മീരി വിദ്യാർഥികളെ മർക്കസിനു കീഴിൽ സംരക്ഷിച്ചു വിദ്യാഭ്യാസം നൽകുന്നുണ്ട്. വിദേശ രാഷ്ട്രങ്ങളിലും വിദ്യാഭ്യാസ സ്ഥാപനങ്ങൾ നടത്തുന്നുണ്ട് ഇദ്ദേഹം{{തെളിവ്}}. === യാത്രകൾ === *"മനുഷ്യമനസ്സുകളെ കോർത്തിണക്കുക"എന്ന ശീർഷകത്തിൽ 1999 ൽ ഒരു കേരള യാത്ര നടത്തുകയുണ്ടായി. *2012 ൽ കാസർഗോട്ടു നിന്നും തിരുവനന്തപുരത്തേക്ക് "മാനവികതയെ ഉണർത്തുന്നു."യെന്ന മുദ്രാവാക്യവുമായി കേരളയാത്ര നടത്തി<ref>http://malayalam.oneindia.in/news.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. *2014 ൽ കർണ്ണാടകയാത്ര നടത്തി. *ആസാം യാത്ര *കാശ്മീർയാത്ര *ദ്വീപ് യാത്ര == പ്രധാന ഗ്രന്ഥങ്ങൾ == {{unreferenced}} ===മലയാളം=== *ഇസ്‌ലാമിലെ ആത്മീയ ദർശനം<ref>{{Cite web|url=http://www.puzha.com/malayalam/bookstore/cgi-bin/book-detail.cgi?code=4800|title=Malayalam Books Online|website=puzha.com|access-date=2015-08-24|archive-date=2016-03-04|archive-url=https://web.archive.org/web/20160304194523/http://www.puzha.com/malayalam/bookstore/cgi-bin/book-detail.cgi?code=4800|url-status=dead}}</ref> *വിശുദ്ധ പ്രവാചകന്മാർ ഇത് അറബിയിലേക്ക് ട്രാാൻസിലേറ്റ് ചെയ്തിട്ടുണ്ട് *സ്ത്രീ ജുമുഅ *കൂട്ടുപ്രാർഥന *ജുമുഅ ഖുതുബ *അൽ-ഹജ്ജ് *മൈന്റ് ഓഫ് ഇസലാം *അമേരിക്കൻ ഡയറി *ത്വരീഖത്ത് ഒരു പഠനം *ഇസ്ലാമും ഖാദിയാനിസവും *മുഹമ്മദ് റസൂല് (സ) *ഇസ്‌ലാം പഠനത്തിനൊരാമുഖം *പ്രിയപ്പെട്ട കുട്ടികളെ (ഇത് അറബിയിലേക്ക് വിവർത്തനം ചെയ്യപ്പെട്ടിട്ടുണ്ട്) *വിശ്വാസ പൂർവ്വം (ആത്മകഥ) ===ആത്മകഥ=== അബൂബക്കർ മുസ്ലിയാരുടെ ആത്മകഥയാണ് വിശ്വാസപൂർവം. മലബാർ ഫൗണ്ടേഷൻ ഫോർ റിസേർച്ച് ആന്റ് ഡെവലപ്‌മെന്റിാണ് ഇതിന്റെ പബ്ലിക്കേഷൻ ചെയ്തിരിക്കുന്നത്.മെയ് 2024ലാണ് ഇതിന്റെ ആദ്യ എഡിഷൻ പുറത്തിറങ്ങിയത്. അബൂബക്കർ മുസ്ലിയാരുടെ ജീവിത്തിന്റെ ഏകദേശ ഭാഗങ്ങളെല്ലാം ഇതിൽ പ്രതിപാദിക്കുന്നുണ്ട്. മലയാളമനോരമ മുൻ എഡിറ്റോറിയൽ ഡയറക്ടറായിരുന്ന തോമസ് ജേക്കബാണ് ഈകൃതിക്ക് അവതാരിക എഴുതിയിരിക്കുന്നത്. ==നേതൃത്വം നൽകുന്ന സ്ഥാപനങ്ങൾ== *[[മർക്കസു സ്സഖാഫത്തി സുന്നിയ]], [[കോഴിക്കോട്]] *മർക്കസ് നോളജ് സിറ്റി, [[കോഴിക്കോട് ജില്ല]]യിലെ കൈതപ്പൊയിലിൽ ==ഗുരുക്കന്മാർ== ബഹ്റുൽ ഉലൂം എന്ന സ്ഥാനപ്പേരിൽ അറിയപ്പെടുന്ന ഓ. കെ. സൈനുദ്ധീൻ കുട്ടി മുസ്ലിയാർ,ശൈഖ് ഹസ൯ ഹസ്റത്ത്, മുഹമ്മദ്‌ അബൂബക്ക൪ ഹസ്റത്ത്, അബ്ദുൽ ജബ്ബാ൪ ഹസ്റത്ത്, സഈദ്‌ ഹസ്റത്ത്, മീറാ൯ ഹസ്റത്ത്എ, ഇമ്പിച്ചാലി മുസ്‌ലിയാർ കുറ്റിക്കാട്ടൂർ എന്നിവ൪ ഗുരുനാഥ൯മാരാണ്‌. == വിമർശനങ്ങൾ == * മുസ്‌ലിം സംഘടനകളുടെ ഐക്യം ലക്ഷ്യമാക്കി കുവൈത്ത് ഔഖാഫ്‌ ഡയറക്ടറായിരുന്ന പരേതനായ നാദിർ അബ്ദുൽ അസീസ് നൂരിയുടെ സാന്നിദ്ധ്യത്തിൽ ഇദ്ദേഹം മറ്റിതര സംഘടനകളുമായി ഐക്യകരാറിൽ ഒപ്പ് വെച്ചു.{{തെളിവ്}} എന്നാൽ കാന്തപുരം എ.പി അബൂബക്കർ മുസ്‌ലിയാർ കരാർ പ്രസിദ്ധീകരണത്തിന് നൽകിയത് സ്വന്തം കോപ്പിയിൽ ആവശ്യമായ തിരുത്തലുകൾ വരുത്തിയതിനു ശേഷമായിരുന്നുവെന്ന് ജമാഅത്തെ ഇസ്‌ലാമിയുടെ മലയാള മുഖപത്രമായ [[പ്രബോധനം വാരിക]]ക്ക്‌ നൽകിയ അഭിമുഖത്തിൽ [[ടി.കെ അബ്ദുല്ല]] ആരോപിച്ചു.<ref name="PV9916">{{cite journal|journal=പ്രബോധനം വാരിക|date=09 സെപ്റ്റംബർ 2016|url=http://www.prabodhanam.net/article/595/539|title=കുവൈത്ത് കരാറിന്റെ ഗതിയും തഥൈവ|accessdate=19 നവംബർ 2019|quote=നിർഭാഗ്യവശാൽ കാന്തപുരം എ.പി അബൂബക്കർ മുസ്ലിയാർ കരാർ പ്രസിദ്ധീകരണത്തിന് നൽകിയത് സ്വന്തം കോപ്പിയിൽ സ്വമേധയാ വെട്ടും തിരുത്തും വരുത്തിക്കൊണ്ടാണ്|archive-date=2021-07-24|archive-url=https://web.archive.org/web/20210724235907/https://www.prabodhanam.net/article/595/539|url-status=dead}}</ref> *[[ചേകന്നൂർ മൗലവി]]യുടെ കൊലപാതകത്തിൽ ഇദ്ദേഹത്തിന് പങ്ക് സംശയിച്ചതിന്റെ അടിസ്ഥാനത്തിൽ കൊച്ചി സി.ബി.ഐ കോടതി കാന്തപുരത്തെ പത്താം പ്രതിയാക്കി സിബിഐ പ്രത്യേക ജഡ്ജി ബി. കെമാൽപാഷ ഉത്തരവിട്ടിരുന്നു.<ref>ദിഹിന്ദു റിപ്പോർട്ട്‌: http://www.hindu.com/2005/07/27/stories/2005072713660400.htm {{Webarchive|url=https://web.archive.org/web/20140716091008/http://www.hindu.com/2005/07/27/stories/2005072713660400.htm |date=2014-07-16 }}</ref> എന്നാൽ വ്യക്തമായ തെളിവുകളുടെ അഭാവത്താൽ പിന്നീട് അദ്ദേഹം ഒഴിവാക്കപ്പെട്ടു. * പെൺകുട്ടികൾ വഴിപിഴക്കാതിരിക്കാൻ വിവാഹപ്രായം പതിനാറാക്കണമെന്ന അദ്ദേഹത്തിൻറെ വാദം വിവാദമാവുകയുണ്ടായി<ref>{{Cite web|url=http://www.previous.asianetnews.tv/index.php/latest-news/12906-kanthapuram-on-marriage-circular|title=വിവാഹ പ്രായം 16 ആക്കണം : കാന്തപുരം|first=Super|last=User|website=Asianet News|access-date=2015-04-16|archive-date=2019-04-07|archive-url=https://web.archive.org/web/20190407062714/http://www.previous.asianetnews.tv/index.php/latest-news/12906-kanthapuram-on-marriage-circular|url-status=dead}}</ref>. * ലിംഗ സമത്വം പ്രകൃതി വിരുദ്ധവും ഇസ്ലാമിക വിരുദ്ധവും ആണെന്നും സ്ത്രീയുടെ പ്രധാന കർമ്മ മേഖല കുടുംബമാണ് എന്നുള്ള കാന്തപുരത്തിന്റെ പ്രസ്താവന കേരളത്തിൽ വൻ വിവാദം ഉണ്ടാക്കിയിരുന്നു.<ref>ലിംഗസമത്വം സമൂഹത്തിനെതിര്, സ്ത്രീകൾക്ക് പ്രസവിക്കാൻ മാത്രമേ കഴിയൂ- കാന്തപുരം Read more at: http://www.mathrubhumi.com/news/kerala/kanthapuram-malayalam-news-1.702049</ref>. ലിംഗ സമത്വം, സ്ത്രീ പുരുഷ തുല്യത എന്നിവയെ ശക്തമായി എതിർക്കുന്ന മുസ്ലിം നേതാവായാണ് കാന്തപുരത്തെ പൊതുവെ വിലയിരുത്തപ്പെടുന്നത്<ref>കേരളാ കൌമുദി ദിനപത്രത്തിൽ വന്ന വാർത്ത http://news.keralakaumudi.com/beta/news.php?NewsId=NCRP0068575&fb_comment_id=1203997726283177_1204014752948141#f1d4bab9e7dcb28</ref> *[[2011-ലെ കേരള നിയമസഭാ തെരഞ്ഞെടുപ്പ് ഫലങ്ങൾ|2011 ഇലെ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ]] തന്റെ പിന്തുണയില്ലായിരുന്നെങ്കിൽ [[മുസ്‌ലിം ലീഗ്|മുസ്‌ലിം ലീഗി]]ന് ഒന്നോ രണ്ടോ സീറ്റ് മാത്രമേ കിട്ടുമായിരുന്നുള്ളൂ എന്ന അദ്ദേഹത്തിൻറെ വാദം വിവാദം ക്ഷണിച്ചു വരുത്തി.<ref>റിപ്പോർട്ടർ ചാനലിലെ വേണുമായി 8 ഒക്ടോബർ 2011ന് നടത്തിയ അഭിമുഖം https://www.youtube.com/watch?v=0cVvRbMB_LU</ref> *[[2011-ലെ കേരള നിയമസഭാ തെരഞ്ഞെടുപ്പ് ഫലങ്ങൾ|2016 ഇലെ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ]] [[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലത്തിൽ]] മുസ്‌ലിം ലീഗ് സ്ഥാനാർത്തി [[എൻ. ഷംസുദ്ദീൻ|അഡ്വ. എൻ. ഷംസുദ്ദീനെ]] വിജയിപ്പിക്കരുതെന്ന് പരസ്യമായി ആവശ്യപ്പെട്ടെങ്കിലും 12325 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിന് അദ്ദേഹം വിജയിച്ചത് കാന്തപുരത്തിന് വൻ വിമർശനം ഏൽക്കേണ്ടി വന്നു. രണ്ട് സുന്നി പ്രവർത്തകരുടെ ഘാതകരെ രക്ഷിച്ച എംഎൽഎയെ പരാജയപ്പെടുത്തണമെന്നായിരുന്നു അണികളോട് കാന്തപുരം ആഹ്വാനം ചെയ്തിരുന്നത്.<ref>മണ്ണാർക്കാട് എംഎൽഎയെ ജയിപ്പിക്കരുതെന്ന് കാന്തപുരം-തേജസ്‌ ദിനപത്രത്തിലെ വാർത്ത http://www.thejasnews.com/%E0%B4%AE%E0%B4%A3%E0%B5%8D%E0%B4%A3%E0%B4%BE%E0%B4%B0%E0%B5%8D%E2%80%8D%E0%B4%95%E0%B5%8D%E0%B4%95%E0%B4%BE%E0%B4%9F%E0%B5%8D-%E0%B4%8E%E0%B4%82%E0%B4%8E%E0%B4%B2%E0%B5%8D%E2%80%8D%E0%B4%8E%E0%B4%AF.html/ {{Webarchive|url=https://web.archive.org/web/20160601175811/http://www.thejasnews.com/%E0%B4%AE%E0%B4%A3%E0%B5%8D%E0%B4%A3%E0%B4%BE%E0%B4%B0%E0%B5%8D%E2%80%8D%E0%B4%95%E0%B5%8D%E0%B4%95%E0%B4%BE%E0%B4%9F%E0%B5%8D-%E0%B4%8E%E0%B4%82%E0%B4%8E%E0%B4%B2%E0%B5%8D%E2%80%8D%E0%B4%8E%E0%B4%AF.html/ |date=2016-06-01 }}</ref> * ഇന്ത്യയിൽ [[നരേന്ദ്ര മോദി]]യുടെ ഭരണത്തിനു കീഴിൽ അസഹിഷ്ണുത വർദ്ധിച്ചതായി കരുതുന്നില്ലെന്ന് [[ഖലീജ് ടൈംസ്]]നു നൽകിയ അഭിമുഖത്തിൽ അദ്ദേഹം അഭിപ്രായപ്പെട്ടു<ref name="KT2016">{{cite web |last1=Khaleej Times |title=Fight terror with education |url=https://www.khaleejtimes.com/international/india/fight-terror-with-education |website=khaleejtimes.com |accessdate=19 നവംബർ 2019 |date=20 ജൂൺ 2016 |quote=Question: Do you think India is becoming increasingly intolerant, especially after the Bharatiya Janata Party came to power?<br />Answer: I don't think so. It's just one section of society who thinks that way.}}</ref><ref name=madhyamam204559>{{Cite web|url=https://www.madhyamam.com/kerala/2016/jun/22/204559|title=ബി.ജെ.പി ഭരണത്തിൽ അസഹിഷ്ണുത വർധിച്ചതായി കരുതുന്നില്ല –കാന്തപുരം|website=Madhyamam}}</ref> *[[2018]] ഇൽ [[കോഴിക്കോട്]] [[ചെറുവാടി]]യിൽ വെച്ച് സ്ത്രീകൾ പൊതുരംഗത്തിറങ്ങുന്നത് അക്രമവും നാശവും ഉണ്ടാക്കുമെന്ന അദ്ദേഹത്തിന്റെ അഭിപ്രായം ഏറെ വിമർശനങ്ങൾക്ക് കാരണമായി.<ref>സ്ത്രീകൾ പൊതുരംഗത്തിറങ്ങിയാൽ നാശവും അക്രമവും ഉണ്ടാവും-കാന്തപുരം http://www.mathrubhumi.com/news/kerala/anti-women-statement-by-kanthapuram-a-p-aboobacker-musliyar-1.2710671</ref><ref>{{Cite web|url=https://www.thenewsminute.com/article/women-need-not-participate-caa-protests-men-aboobacker-musliyar-stokes-row-116996|title='Women need not participate in CAA protests like men,' Aboobacker Musliyar stokes row &#124; the News Minute|access-date=2020-02-28|date=28 January 2020|website=www.thenewsminute.com|archive-url=https://web.archive.org/web/20200206204419/https://www.thenewsminute.com/article/women-need-not-participate-caa-protests-men-aboobacker-musliyar-stokes-row-116996|archive-date=6 February 2020}}</ref> *തിരുകേശവിവാദം: കാന്തപുരത്തിന് അബൂദാബിയിലെ ഒരു വ്യക്തി പ്രവാചക തിരുകേശം നൽകി എന്ന് സ്വയം അവകാശപെട്ടതോടെ ആണ് വിവാദങ്ങൾക്ക് തുടക്കം. മുടിയുടെ മഹത്ത്വം ലോകത്തെ ബോധ്യപ്പെടുത്താനും സൂക്ഷിയ്ക്കാനുമായി കോഴിക്കോട് നാൽപത് കോടിയോളം രൂപ മുടക്കി ഒരു പള്ളി പണിയാനും കാന്തപുരം തീരുമാനിച്ചു. ഇതിന്റെ പേരിൽ കേരളത്തിലും ഗൾഫിലും പണപ്പിരിവ് ആരംഭിച്ചതോടെ ചില മുസ്‌ലിം പണ്ഡിതരും സംഘടനകളും എതിർപ്പുമായി രംഗത്തെത്തി. മുടി വ്യാജമാണെന്നും കാന്തപുരത്തിന്റേത് തട്ടിപ്പുമാണെന്നും പറഞ്ഞ അവരോട് മുടി പ്രവാചകന്റേത് തന്നെയാണെന്ന് അദ്ദേഹം തറപ്പിച്ച് പറഞ്ഞു. തിരുകേശ വിവാദത്തിൽ ആദ്യമായി അഭിപ്രായം പറഞ്ഞ രാഷ്ട്രീയ നേതാവായ [[പിണറായി വിജയൻ|പിണറായി വിജയനോട്]] രാഷ്ട്രീയക്കാർ മതകാര്യങ്ങളിൽ ഇടപെടേണ്ടെന്നും അങ്ങനെയുണ്ടായാൽ അത് വർഗ്ഗീയ സംഘർഷങ്ങൾ സൃഷ്ടിയ്ക്കുമെന്നും കാന്തപുരം മറുപടി നൽകി.<ref>{{Cite web|url=https://www.asianetnews.com/news/e-k-sunni-resolution-against-kanthapuram-claim-regarding-prophet-hair-pj9x2s|title=പ്രവാചക കേശത്തിൻറെ ആധികാരികത തെളിയിക്കാൻ കാന്തപുരത്തെ വെല്ലുവിളിച്ച് ഇ കെ സുന്നി പ്രമേയം|website=Asianet News Network Pvt Ltd}}</ref> == ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തി == 2018 ജൂലൈ 20 ന് ഗ്രാൻഡ് മുഫ്തി [[ശൈഖ് അഖ്തർ റസാ ഖാൻ ബറേൽവി|അക്തർ റാസ ഖാൻ]]<ref name="Mulla221">{{Cite book|title=Sects and sub sects among the Muslims of Karnataka with special reference to North Karnataka a study|last=Mulla|first=Malikarehana A|page=221|chapter=6|quote=In India, the Grand Mufti is traditionally from the Barelvi school of Sunni Islam presently Mihammad Akhtar Raza Khan is the Grand Mufti of India.|access-date=27 February 2020|chapter-url=https://shodhganga.inflibnet.ac.in/bitstream/10603/105032/11/11_chapter%206.pdf#page=22}}</ref> മരിച്ചതിനെത്തുടർന്ന് രാംലീല മൈതാനത്ത് നടത്തിയ പരിപാടിയിൽ [[ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തി|ഇന്ത്യയുടെ ഗ്രാൻഡ് മുഫ്തി]]<nowiki/>യായി കാന്തപുരം എ പി അബൂബക്കർ മുസ്ലിയാരെ തിരഞ്ഞെടുത്തു എന്ന് മുസ്‌ലിയാരുടെ സ്വന്തം സ്ഥാപനമായ മർക്കസുസ്സഖാഫത്തുസ്സുന്നിയ്യയുടെ പത്രക്കുറിപ്പ് അവകാശപ്പെടുന്നു<ref>{{Cite web|url=https://timesofindia.indiatimes.com/city/kozhikode/kanthapuram-selected-grand-mufti-of-india/articleshow/68175547.cms|title=Kanthapuram selected Grand Mufti of India|access-date=15 February 2020|date=27 February 2019|website=The Times of India|publisher=|archive-url=https://web.archive.org/web/20190228040429/https://timesofindia.indiatimes.com/city/kozhikode/kanthapuram-selected-grand-mufti-of-india/articleshow/68175547.cms|archive-date=28 February 2019}}</ref><ref name="patrika3140733">{{Cite web|url=https://www.patrika.com/bareilly-news/azahari-miyan-janaze-mein-jan-sailaab-ki-photo-3140733/|title=अजहरी मियां के जनाजे में दिखा जो जनसैलाब, आपने कभी नहीं देखा होगा, देखें तस्वीरें|access-date=30 January 2019|website=[[Rajasthan Patrika]]|archive-url=https://web.archive.org/web/20190327122242/https://www.patrika.com/bareilly-news/azahari-miyan-janaze-mein-jan-sailaab-ki-photo-3140733/|archive-date=27 March 2019}}</ref>. 2019 ഫെബ്രുവരി 24 ഞായറാഴ്ചയാണ് പരിപാടി നടന്നത്. ചടങ്ങിന് ശേഷം, വിവിധ പ്രദേശങ്ങളിൽ അനുയായികൾ അദ്ദേഹത്തിന് സ്വീകരണം സംഘടിപ്പിച്ചിരുന്നു<ref>{{Cite web|url=https://localnews.manoramaonline.com/kozhikode/local-news/2019/03/02/kozhikode-kanthapuram-welcome.html|title=ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തി: കാന്തപുരത്തിന് നഗരത്തിന്റെ സ്നേഹാദരം|access-date=2019-08-07|website=[[മലയാള മനോരമ ദിനപത്രം]]|language=ml|archive-url=https://web.archive.org/web/20190807071412/https://localnews.manoramaonline.com/kozhikode/local-news/2019/03/02/kozhikode-kanthapuram-welcome.html|archive-date=2019-08-07}}</ref>.. == ബഹുമതികൾ, പുരസ്കാരങ്ങൾ, അന്താരാഷ്ട്ര അംഗീകാരങ്ങൾ == * 2023 ജൂലൈ 20 ന് ഇസ്ലാമിൽ സ്നേഹ സന്ദേശം പ്രചരിപ്പിക്കുന്നതിന് അദ്ദേഹം നൽകിയ വിലമതിക്കാനാവാത്ത സംഭാവനകളുടെ അടിസ്ഥാനത്തിൽ മലേഷ്യൻ രാജാവ് അൽ സുൽത്താൻ അബ്ദുല്ല സുൽത്താൽ അഹമ്മദ് ഷാഹത്ത് ൻറെ നേതൃത്വത്തിൽ മലേഷ്യ അദ്ദേഹത്തെ '''അന്താരാഷ്ട്ര ടോക്കോ മാൽ ഹിജ്റ അവാർഡ്''' നൽകി ആദരിച്ചു.<ref>{{Cite web|url=https://english.mathrubhumi.com/news/kerala/kanthapuram-conferred-with-malaysia-s-highest-civilian-award-for-muslim-scholars-1.8746468|title=Kanthapuram conferred with Malaysia's highest civilian award|access-date=2023-08-01|date=2023-07-20|website=English.Mathrubhumi|language=en}}</ref> * ഇസ്ലാമിക സംസ്കാരത്തിന്റെയും പൈതൃകത്തിന്റെയും സംരക്ഷണത്തിനുള്ള സേവനത്തിന് [[സൗദി അറേബ്യ|സൌദി അറേബ്യ]] ആസ്ഥാനമായുള്ള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഇസ്ലാമിക് ഹെറിറ്റേജിൽ നിന്നും '''ഇസ്ലാമിക് ഹെറിട്ടേജ് അവാർഡ്.''' 2008 ജനുവരിയിൽ അന്നത്തെ പാർലമെന്ററി കാര്യ മന്ത്രി [[വയലാർ രവി|വയലാർ രവിയാണ്]] ഈ അവാർഡ് നൽകിയത്. * 1992ലെ മികച്ച സാമൂഹിക പ്രവർത്തകനുള്ള '''റാസ് അൽ ഖൈമ ഇസ്ലാമിക് അക്കാദമി അവാർഡ്''' * വിദ്യാഭ്യാസ, സാമൂഹിക സേവന മേഖലകളിലെ മികച്ച സേവനങ്ങൾക്കുള്ള '''ഇന്ത്യൻ ഇസ്ലാമിക് സെന്റർ അവാർഡ്''' <ref name="Times of Oman 9 Feb 2012" /> * 2005-ലെ '''ഹമീൽ അൽ ഗെയ്ത്ത് അന്താരാഷ്ട്ര വിശുദ്ധ ഖുർആൻ പുരസ്കാരം''' <ref name="Times of Oman 9 Feb 2012" /> * 2006ലെ '''മികച്ച ഇന്തോ-അറബ് വ്യക്തിത്വത്തിനുള്ള പുരസ്കാരം''' <ref name="Times of Oman 9 Feb 2012" /> * മികച്ച വിദ്യാഭ്യാസ സേവങ്ങൾക്ക് 2016 ലെ മലേഷ്യയിലെ ക്വലാലംപൂർ ആസ്ഥാനമായി പ്രവർത്തിക്കുന്ന ഒഎസി ടുഡേ ഏർപ്പെടുത്തിയ''' ദി പ്രഷ്യസ് ജ്വൽസ് ഓഫ് മുസ്‌ലിം വേൾഡ് ബിസ് അവാർഡ്''' അന്നത്തെ മലേഷ്യൻ ധനകാര്യമന്ത്രി ജോഹാരി അബ്ദുൾ ഗനി സമ്മാനിച്ചു .<ref name="scribd427515137">{{Cite journal|title=9th Muslim World BIZ 2019 {{!}} Organisation Of Islamic Cooperation {{!}} Muslim World|url=https://www.scribd.com/document/427515137/9th-Muslim-World-BIZ-2019|journal=Muslim World Biz|publisher=OIC International Business Centre Sdn. Bhd.|accessdate=13 January 2020}}</ref><ref>{{Cite web|url=http://esf.mimt.gov.ir/parameters/mimt/modules/cdk/upload/content/sis_announcements/3357/1502524024054hg7ftrv5kijm25jvt496iq4hp6.pdf|title=نخبگان اقتصادی جهان اسلام|access-date=13 January 2020|website=[[Government of the Islamic Republic of Iran]]|language=fa|archive-url=https://web.archive.org/web/20200113142521/http://esf.mimt.gov.ir/parameters/mimt/modules/cdk/upload/content/sis_announcements/3357/1502524024054hg7ftrv5kijm25jvt496iq4hp6.pdf|archive-date=13 January 2020}}</ref><ref>{{Cite web|url=http://www.thejasnews.com/%E0%B4%B5%E0%B4%BF%E0%B4%A6%E0%B5%8D%E0%B4%AF%E0%B4%BE%E0%B4%AD%E0%B5%8D%E0%B4%AF%E0%B4%BE%E0%B4%B8-%E0%B4%B8%E0%B5%87%E0%B4%B5%E0%B4%A8%E0%B4%99%E0%B5%8D%E0%B4%99%E0%B4%B3%E0%B5%8D%E2%80%8D%E0%B4%95.html/|title=THEJAS NEWS|website=|publisher=thejasnews.com}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{Cite web|url=http://malayalam.naradanews.com/2016/10/kanthapuram-ap-aboobaker-honoured-with-the-jewels-of-muslim-world-bis-award/|title=NARADA MALAYAM|website=|publisher=malayalam.naradanews.com|access-date=2016-10-20|archive-date=2016-10-29|archive-url=https://web.archive.org/web/20161029114211/http://malayalam.naradanews.com/2016/10/kanthapuram-ap-aboobaker-honoured-with-the-jewels-of-muslim-world-bis-award/|url-status=dead}}</ref> * [[എസ്.എസ്.എഫ്]] ഗൾഫ് ഘടകമായ ആർ.സി.സി നൽകിയ കഴിഞ്ഞ അര നൂറ്റാണ്ടില് കേരള മുസ്ലിം ജീവിതത്തെ ഏറ്റവും കൂടുതല് സ്വാധീനിച്ച നേതാവ് എന്ന നിലയിൽ '''മഖ്ദൂം അവാർഡ്'''<ref name=mathrubhumi3449006>http://mathrubhumi.com/online/malayalam/news/story/3449006/2015-02-28/kerala&sa=U{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> * '''കേരള പ്രവാസി ഭാരതി അവാർഡ്'''<ref>{{Cite web|url=https://www.kvartha.com/2012/01/kanthapuram-wins-spiritual-excellence.html|title=കാന്തപുരത്തിന് പ്രവാസി ഭാരതി പുരസ്‌കാരം|website=Kvatha.com|language=en|access-date=2020-03-20}}</ref> * ജോർദാനിലെ റോയൽ ഇസ്ലാമിക് സ്ട്രാറ്റജിക് സ്റ്റഡീസ് സെന്റർ പ്രസിദ്ധീകരിച്ച ഏറ്റവും സ്വാധീനമുള്ള 500 മുസ്ലീങ്ങളുടെ പട്ടികയിൽ [[ഇന്ത്യ]] നിന്നും അദ്ദേഹം തുടർച്ചയായി നിരവധി വർഷങ്ങളായി സ്ഥാനം പിടിച്ചിട്ടുണ്ട്. == അവലംബങ്ങൾ == {{reflist|1}} [[വർഗ്ഗം:കേരളത്തിലെ ഇസ്ലാമിക പണ്ഡിതർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ സുന്നി മുസ്ലീങ്ങൾ]] [[വർഗ്ഗം:മുസ്ലീം മത നേതാക്കൾ]] [[വർഗ്ഗം:കോഴിക്കോട് ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ സമുദായനേതാക്കൾ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ ഇസ്ലാമികപണ്ഡിതർ]] [[വർഗ്ഗം:മർകസ്]] [[വർഗ്ഗം:1939-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:എപി വിഭാഗം സമസ്തയുടെ നേതാക്കൾ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രഭാഷകർ]] == ഇതും കാണുക == * [[ഇന്ത്യൻ ഗ്രാൻഡ് മുഫ്തി]] * [[മർക്കസു സ്സഖാഫത്തി സ്സുന്നിയ്യ]] * [[മർക്കസ് നോളജ് സിറ്റി]] == പുറം കണ്ണികൾ == * [http://www.malayalamvaarika.com/2012/may/04/report1.pdf അഭിമുഖം] {{Webarchive|url=https://web.archive.org/web/20160306113829/http://malayalamvaarika.com/2012/may/04/report1.pdf |date=2016-03-06 }} മലയാളം വാരിക, 2012 മെയ് 04 *[https://www.facebook.com/SheikhAboobacker ഫേസ്‌ബുക്ക് താൾ] *[http://thecorrectislamicfaith.blogspot.in/2013/05/shaykh-aboobacker-bin-ahmad.html സംഗ്രഹിത ജീവചരിത്രം] s06peb6w5z8fa8zim5g8b8ua4q2xjy2 പിണറായി വിജയൻ 0 9342 4622104 4621365 2026-05-23T03:36:20Z Altocar 2020 144384 /* */ 4622104 wikitext text/x-wiki {{prettyurl|Pinarayi Vijayan}} {{ToDisambig|വാക്ക്= പിണറായി}} {{Infobox officeholder | name = പിണറായി വിജയൻ | image = File:Vijayan.Dharmadam.CM.jpg | caption = | imagesize = | office = പതിനാറാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവ് | term_start = [[മേയ് 19]] [[2026]] | predecessor = [[വി.ഡി. സതീശൻ]] | office1 = [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ പന്ത്രണ്ടാമത്തെ മുഖ്യമന്ത്രി]] | term_start1 = [[മേയ് 04]] [[2026]] | term_end1 = [[മേയ് 18]] [[2026]] | predecessor1 = [[പിണറായി വിജയൻ]] | successor1 = [[വി.ഡി. സതീശൻ]] | term_start2 = [[മേയ് 25]] [[2016]] | term_end2 = [[മേയ് 4]] [[2026]] | predecessor2 = [[ഉമ്മൻ ചാണ്ടി]] | successor2 = [[ പിണറായി വിജയൻ]] | constituency2 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | office3 = [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.ഐ(എം)]] കേരള സംസ്ഥാന സെക്രട്ടറി | term_start3 = [[സെപ്റ്റംബർ 25]] [[1998]] | term_end3 = [[ഫെബ്രുവരി 23]] [[2015]] | predecessor3 = [[ചടയൻ ഗോവിന്ദൻ]] | successor3 = [[കോടിയേരി ബാലകൃഷ്ണൻ]] | office4 = കേരളത്തിന്റെ വൈദ്യുതി, സഹകരണ വകുപ്പ് മന്ത്രി | term_start4 = [[മേയ് 20]] [[1996]] | term_end4 = [[ഒക്ടോബർ 19]] [[1998]] | predecessor4 = [[ജി. കാർത്തികേയൻ]], [[എം.വി. രാഘവൻ]] | successor4 = [[എസ്. ശർമ്മ]] | office5 = കേരളനിയമസഭാംഗം | constituency5 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | term_start5 = [[മേയ് 21]] [[2016]] | term_end5 = | predecessor5 = [[കെ.കെ. നാരായണൻ]] | successor5 = | constituency6 = [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം|പയ്യന്നൂർ]] | term_start6 = [[മേയ് 14]] [[1996]] | term_end6 = [[മേയ് 16]] [[2001]] | predecessor6 = [[സി.പി. നാരായണൻ]] | successor6 = [[പി.കെ. ശ്രീമതി]] | constituency7 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start7 = [[ജൂൺ 21]] [[1991]] | term_end7 = [[മേയ് 14]] [[1996]] | predecessor7 = [[കെ.പി. മമ്മു]] | successor7 = [[കെ.കെ. ശൈലജ]] | constituency8 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start8 = [[ഒക്ടോബർ 4 ]] [[1970]] | term_end8 = [[നവംബർ 11]] [[1979]] | predecessor8 = [[കെ.കെ. അബു]] | successor8 = [[എം.വി. രാഘവൻ]] | office9 = സംസ്ഥാന ആഭ്യന്തരവകുപ്പ് മന്ത്രി | term9 = 2016 - 2026 | predecessor9 = [[രമേശ് ചെന്നിത്തല]] | successor9 =[[രമേശ് ചെന്നിത്തല]] | birth_date = {{Birth date and age|1945|05|24|df=yes}} | birth_place = [[പിണറായി]], [[തലശേരി]], [[കണ്ണൂർ]][[ജില്ല]] | residence = [[ക്ലിഫ് ഹൗസ്]], [[തിരുവനന്തപുരം]], [[കേരളം]] | death_date = | death_place = | party = [[File:CPI-M-flag.svg|50px]] [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം.]] | religion = [[നിരീശ്വരവാദം]] | father = മാറോളി കോരൻ | mother = ആലക്കാട്ട് കല്യാണി | spouse = ടി. കമല | children = വിവേക് കിരൺ, വീണ | website = www.keralacm.gov.in | footnotes = | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/139%20Pinarayi%20Vijayan.pdf നിയമസഭ | signature = Pinarayi Vijayan Signature.png }} 2016 മുതൽ 2026 വരെ തുടർച്ചയായി പത്ത് വർഷക്കാലം [[കേരളം|കേരളത്തിന്റെ]] [[മുഖ്യമന്ത്രി]]യായിരുന്ന മുതിർന്ന [[സി.പി.എം]] നേതാവാണ് '''പിണറായി വിജയൻ.(ജനനം: 24 മെയ് 1945)''' 2016 മേയ് 25-നാണ് കേരള മുഖ്യമന്ത്രിയായി ആദ്യമായി സ്ഥാനമേറ്റത്. രണ്ടാം തവണ 2021 മേയ് 20-ന് അധികാരമേറ്റു. <ref name=":0" /><ref name=":1" /> <ref>{{Cite web|url=https://ia601506.us.archive.org/25/items/business-of-the-government-among-the-ministers-2021/Business%20of%20the%20Government%20among%20the%20Ministers%202021.pdf|title=KERALA GAZETTE dt 2021 േമയ 20|access-date=21 May 2021|date=20 May 2021|publisher=Kerala Government}}</ref> 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ എൽഡിഎഫ് പരാജയപ്പെട്ടതിനാൽ മെയ് 4ന് രാജി സമർപ്പിച്ചു. സംസ്ഥാന [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തര വകുപ്പിൻ്റെ]] അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി ആയിരുന്നു പിണറായി വിജയൻ.<ref>{{Cite web|url=https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|title=Kerala Chief Minister {{!}} Shri. Pinarayi Vijayan {{!}} Official web portal of Kerala Government|access-date=2023-10-24|archive-date=2023-12-03|archive-url=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|url-status=deviated|archivedate=2023-12-03|archiveurl=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=}}</ref><ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/21/kerala-government-ministers-portfolio-list.html|title=മുഖ്യമന്ത്രിക്ക് 17ൽ പരം വകുപ്പുകൾ; വനിതാ ശിശുക്ഷേമവും വീണയ്ക്ക്|access-date=2023-10-24|language=ml}}</ref> നിലവിൽ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-ന്റെ പൊളിറ്റ് ബ്യൂറോ അംഗമായ പിണറായി വിജയൻ, 1998 മുതൽ 2015 വരെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ കേരളം ഘടകം സംസ്ഥാന സെക്രട്ടറിയായിരുന്നു. [[ഇ.കെ. നായനാർ|ഇ.കെ.നായനാർക്ക്]] ശേഷം കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടറിയായതും പിണറായി വിജയനാണ്. കേരളത്തിലെ കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ വിദ്യാർത്ഥി, യുവജന സംഘടനാ പ്രവർത്തനത്തിലൂടെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ നേതൃനിരയിലെത്തിയ പിണറായി വിജയൻ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]] [[കണ്ണൂർ]] ജില്ലാ സെക്രട്ടറിയായും കേരള സംസ്ഥാന സഹകരണ ബാങ്കിന്റെ പ്രസിഡന്റായും പ്രവർത്തിച്ചിട്ടുണ്ട്. [[ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥ (1975)|അടിയന്തരാവസ്ഥക്കാലത്ത്]] പതിനെട്ടുമാസം കണ്ണൂർ സെൻട്രൽജയിലിൽ രാഷ്ട്രീയ തടവുകാരനായിരുന്നു. 1970-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 26-മത്തെ വയസ്സിൽ [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ് മണ്ഡലത്തെ]] പ്രതിനിധീകരിച്ച്‌ ആദ്യമായി കേരള നിയമസഭയിൽ അംഗമായി. 1977-ലും 1991-ലും കൂത്തുപറമ്പ് മണ്ഡലത്തിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിൽ നിന്നും നിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016 മുതൽ ധർമ്മടം മണ്ഡലത്തിൽ നിന്നുള്ള നിയമസഭാംഗമാണ്‌. 1996 മുതൽ 1998 വരെ മൂന്നാം [[ഇ.കെ. നായനാർ|ഇ.കെ നായനാർ]] മന്ത്രിസഭയിൽ വിദ്യുച്ഛക്തി-സഹകരണ വകുപ്പുകളുടെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു.<ref>http://specials.manoramaonline.com/News/2017/ldf-government-anniversary/index.html</ref> ഈ കാലഘട്ടത്തിൽ കേരളത്തിലെ വൈദ്യുതി ഉൽപാദനം, വിതരണം എന്നിവ വളരെ കാര്യക്ഷമമാക്കുന്നതിലും, [[കേരളാ സ്റ്റേറ്റ് ഇലക്ട്രിസിറ്റി ബോർഡ്|കേരള സംസ്ഥാന വൈദ്യുതി ബോർഡ്]]ന്റെ പ്രവർത്തനം മെച്ചപ്പെടുത്തുന്നതിലും പ്രധാന പങ്ക് വഹിച്ചു<ref name="mabhu-98">{{cite news |title=മാതൃഭൂമി മുഖപ്രസംഗം |newspaper=മാതൃഭൂമി |quote=വൈദ്യുത ഉല്പാദന വിതരണ രം‌ഗങ്ങളിൽ ഗണ്യമായ നേട്ടങ്ങൾ വിജയന്റെ കാലത്തുണ്ടായിട്ടുണ്ട്. എല്ലാം അദ്ദേഹം മുൻകയ്യെടുത്ത് ചെയ്തുവെന്നല്ല; തുടങ്ങിവെച്ചവയും പണിതീരാതെ അനന്തമായി നീളുന്നവയുമായ പദ്ധതികൾക്കും പരിപാടികൾക്കും വേണ്ടിയിരുന്നത് ഒരു ഉന്ത് ആണ്. അതദ്ദേഹം കൊടുത്തു. ലോവർ പെരിയാറിൽ നിന്നും ബ്രഹ്മപുരത്തു നിന്നും വൈദ്യുതി കിട്ടുവാൻ തുടങ്ങി. [[കക്കാട് (വിവക്ഷകൾ)|കക്കാട്]] പദ്ധതിക്ക് പുനരുജ്ജീവനമായി. ആതിരപ്പള്ളിയും കുറ്റ്യാടി എക്സ്റ്റൻഷനും വീണ്ടും ചലിച്ചു തുടങ്ങി. കേരളത്തിനു വേണ്ടി ഒരു വൈദ്യുത വികസനനയം പ്രഖ്യാപിച്ചത് വിജയനാണ്. അത് പൊതുമേഖലയ്ക്കും സ്വകാര്യമേഖലയ്ക്കും പരിമിതമായ വിദേശമൂലധനത്തിനും സ്ഥാനം നൽകുന്ന ഒന്നായിരുന്നു. വിമർശനങ്ങളെ അവഗണിച്ച്, കോഴിക്കോടെ ഡീസൽ വൈദ്യുതകേന്ദ്രം സ്ഥാപിക്കുന്ന ജോലി അദ്ദേഹം തുടങ്ങി വച്ചു. ചീനയിൽ നിന്നുള്ള സഹായ സഹകരണങ്ങളോടെ ചെറുകിട വൈദ്യുത പദ്ധതികൾ തുടങ്ങുവാൻ പരിപാടിയുണ്ടാകി... വിജയൻ മന്ത്രിയാകുന്ന സമയത്ത് വ്യവസായങ്ങൾക്ക് നൂറ് ശതമാനം പവർകട്ട് ആയിരുന്നു. വീടുകൾക്ക് ലോഡ്‌ഷെഡിങ്ങ് വേറെ. ധാരാളം മഴ കിട്ടിയിട്ട് വൈദ്യുതി ഉല്പാദനം മെച്ചപ്പെട്ടു; ഒന്ന് രണ്ട് പദ്ധതികൾ ഉല്പാദനക്ഷമങ്ങളായി; കിഴക്കൻ ഗ്രിഡിൽ നിന്ന് വൈദ്യുതി വാങ്ങുവാൻ മന്ത്രി ഏർപ്പാടുമുണ്ടാക്കി. എല്ലാം കൂടി, മൂന്നു കൊല്ലത്തിനകം, വ്യവസായങ്ങൾക്കുള്ള പവർകട്ട് മുഴുവൻ നീക്കാൻ വിജയനു കഴിഞ്ഞു; ജില്ലാ ആസ്ഥാനങ്ങളിൽ ലോഡ് ഷെഡിങ്ങും നിർത്തി... |date=22 ഒക്ടോബർ 1998 |accessdate=20 June 2012}}</ref>. == ജീവിതരേഖ == [[കണ്ണൂർ ജില്ല|കണ്ണൂർ ജില്ലയിലെ]] തലശ്ശേരി താലൂക്കിലെ [[പിണറായി]] പഞ്ചായത്തിലെ ഒരു കർഷക കുടുംബത്തിൽ കള്ള്-ചെത്ത് തൊഴിലാളിയായിരുന്ന മുണ്ടയിൽ കോരന്റെയും ആലക്കണ്ടി കല്യാണിയുടെയും ഇളയ മകനായി ഇടവമാസത്തിലെ ചോതി നക്ഷത്രത്തിൽ 1945 മേയ് 24-ന്‌ ജനനം.<ref>https://english.mathrubhumi.com/news/kerala/pinarayi-turns-76-today-and-it-is-a-special-day-1.5690611</ref> കുമാരനും നാണുവും ജ്യേഷ്ഠ സഹോദരങ്ങളാണ്. പതിനാല് സഹോദരങ്ങളിൽ രണ്ട് പേരൊഴികെ ബാക്കി എല്ലാവരും മരിച്ചു. രണ്ടാമത്തെ സഹോദരനായിരുന്ന കുമാരനിലൂടെയാണ് വിജയൻ കമ്മ്യൂണിസ്റ്റായത്. പിണറായി ശാരദ വിലാസം എൽ പി സ്കൂളിലും പെരളശേരി ഗവ.ഹൈസ്കൂളിലുമായി വിദ്യാഭ്യാസം. സ്കൂൾ ഫൈനലിനു ശേഷം ഒരു വർഷം നെയ്ത്ത് തൊഴിലാളിയായി. പിന്നീടാണ് പ്രീ- യൂണിവേഴ്സിറ്റി കോഴ്സിന് തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ ചേർന്നത്.<ref>{{Cite web |url=https://www.keralacm.gov.in/mal/?page_id=13 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-01-13 |archive-date=2020-11-28 |archive-url=https://web.archive.org/web/20201128170716/https://www.keralacm.gov.in/mal/?page_id=13 |url-status=dead }}</ref> '''സ്വകാര്യ ജീവിതം''' തലശ്ശേരി സെന്റ് ജോസഫ്‌സ് സ്കൂൾ അദ്ധ്യാപിക [[ഒഞ്ചിയം ഗ്രാമപഞ്ചായത്ത്|ഒഞ്ചിയം]] കണ്ണൂക്കര സ്വദേശിനി ടി. കമലയാണ് ഭാര്യ. വിവേക് കിരൺ, വീണ എന്നിവർ മക്കൾ.<ref>{{Cite web |url=https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2021-02-26 |archive-url=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |url-status=deviated |archivedate=2021-02-26 |archiveurl=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php }}</ref> ==രാഷ്ട്രീയ ജീവിതം== [[File:Pinarayi vijayan klf.jpg|thumb|പിണറായി വിജയൻ കോഴിക്കോട് ലിറ്ററേച്ചർ ഫെസ്റ്റിവലിൽ (2017)]] വിദ്യാർത്ഥിയായിരുന്ന കാലഘട്ടത്തിൽ തന്നെ രാഷ്ട്രീയത്തിലേയ്ക്ക് കടന്നു വന്നു. എസ്.എഫ്.ഐ യുടെ പൂർവ്വിക സംഘടനയായ കെ.എസ്.എഫിലൂടെയായിരുന്നു രാഷ്ട്രീയ പ്രവേശനം. തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ സാമ്പത്തിക ശാസ്ത്രത്തിന് പഠിക്കുമ്പോൾ കെ.എസ്.എഫ് ന്റെ കണ്ണൂർ ജില്ലാ സെക്രട്ടറിയായി. തുടർന്ന് നിരവധി വിദ്യാർത്ഥി സമര മുന്നേറ്റങ്ങളിൽ നേതൃത്വം വഹിച്ചു. വൈകാതെ കെ.എസ്.എഫ് ന്റെ സംസ്ഥാന സെക്രട്ടറിയായി. തലശ്ശേരി കോടതിയ്ക്ക് സമീപം പിണറായി വിജയൻ നയിച്ച വിദ്യാർത്ഥി മാർച്ചിനു നേരെ പോലീസ് നടത്തിയ ലാത്തി ചാർജ്ജ് ഏറെ കോളിളക്കമുണ്ടാക്കിയിരുന്നു. പിണറായി ഉൾപ്പെടെയുള്ള വിദ്യാർത്ഥി നേതാക്കളെ പോലീസ് മൃഗീയമായി തല്ലിയപ്പോൾ സമീപത്തുള്ള കടലിൽ ചാടിയാണ് വിജയൻ അന്ന് രക്ഷപെട്ടത്. കെ.എസ്.വൈ.എഫിൻ്റെ സംസ്ഥാന വൈസ് പ്രസിഡൻറായും പ്രവർത്തിച്ചു.<ref>{{Cite web |url=https://www.cpimkerala.org/pinarayivijayan-36.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2020-12-05 |archive-url=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php |url-status=deviated |archivedate=2020-12-05 |archiveurl=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php }}</ref> 1964-ൽ [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി]]യിൽ അംഗമായ പിണറായി വിജയൻ 1967-ൽ [[സി.പി.എം]] തലശ്ശേരി മണ്ഡലം സെക്രട്ടറിയായി. 1968-ൽ മാവിലായിൽ നടന്ന കണ്ണൂർ ജില്ല-പ്ലീനറി സമ്മേളനത്തിൽ വച്ച് [[സി.പി.എം]] കണ്ണൂർ ജില്ലക്കമ്മറ്റി അംഗമായി.1972-ൽ സി.പി.എം. കണ്ണൂർ ജില്ല സെക്രട്ടേറിയറ്റ് അംഗമായ പിണറായി വിജയൻ 1978-ൽ പാർട്ടി സംസ്ഥാന കമ്മറ്റിയിലെത്തി. സി.പി.എമ്മിൻ്റെ കണ്ണൂർ ജില്ല സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടേറിയറ്റ് അംഗമായതിനെ തുടർന്ന് 1986-ൽ പിണറായി വിജയൻ [[സി.പി.എം]] [[കണ്ണൂർ]] ജില്ല സെക്രട്ടറിയായി. 1989-ൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടേറിയറ്റിലേയ്ക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടതിനെ തുടർന്ന് പ്രവർത്തനം പാർട്ടി സംസ്ഥാന കമ്മറ്റി ഓഫീസായ എ.കെ.ജി സെൻറർ കേന്ദ്രീകരിച്ചായി. 1998 സെപ്റ്റംബറിൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു. സി.പി.എം സംസ്ഥാന സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] അന്തരിച്ചതിനെ തുടർന്ന് വൈദ്യുതി വകുപ്പിൻ്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രി സ്ഥാനം രാജിവയ്ച്ച് പാർട്ടിയുടെ അമരത്ത് എത്തി. പിന്നീട് 2002-ലെ കണ്ണൂർ സമ്മേളനവും 2005-ലെ മലപ്പുറം സമ്മേളനവും 2008-ലെ കോട്ടയം സമ്മേളനവും 2012-ലെ തിരുവനന്തപുരം സമ്മേളനവും പിണറായി വിജയനെ തന്നെ വീണ്ടും സെക്രട്ടറിയായി തിരഞ്ഞെടുത്തു. മുഖ്യമന്ത്രി [[വി.എസ്. അച്യുതാനന്ദൻ|വി.എസ്. അച്യുതാനന്ദനുമായുള്ള]] അഭിപ്രായഭിന്നത പരസ്യമായി പ്രകടിപ്പിച്ചതിന് 2007 മെയ് 26-ന് പോളിറ്റ് ബ്യൂറോയിൽ നിന്നും സസ്പെൻഡ് ചെയ്യപ്പെട്ടു.<ref>http://www.rediff.com/news/2007/may/26ker.htm</ref> പിന്നീട്‌ [[2007]] [[ഒക്ടോബർ 1]]-ന് പിണറായി വിജയനെ പോളിറ്റ് ബ്യൂറോയിൽ തിരിച്ചെടുത്തു.<ref>http://www.rediff.com/news/2007/oct/01cpm.htm</ref> 2012 ഫെബ്രുവരി 10-ന് തുടർച്ചയായി നാലാം തവണയും സി.പി.എം. സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു.<ref>{{Cite web |url=http://www.mathrubhumi.com/story.php?id=250855 |title=പിണറായി വീണ്ടും സെക്രട്ടറി |access-date=2012-02-10 |archive-date=2012-02-10 |archive-url=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 |url-status=deviated |archivedate=2012-02-10 |archiveurl=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 }}</ref> പിണറായി വിജയനും ഇ.കെ. നായനാരുമാണ് ഏറ്റവും കൂടൂതൽ പ്രാവശ്യം പാർട്ടി സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടവർ. 2015-ൽ ആലപ്പുഴയിൽ വച്ച് നടന്ന പാർട്ടി സംസ്ഥാന സമ്മേളനത്തിൽ പിണറായി വിജയൻ സംസ്ഥാന സെക്രട്ടറി പദവി ഒഴിഞ്ഞതിനെ തുടർന്ന് [[കോടിയേരി ബാലകൃഷ്ണൻ]] പാർട്ടി സംസ്ഥാന സെക്രട്ടറിയായി സ്ഥാനമേറ്റു. 1970-ൽ ഇരുപത്തിയാറാം വയസിൽ നിയമസഭയിൽ അംഗമായ പിണറായി വിജയൻ പാർലമെൻ്ററി രംഗത്തും മികവ് തെളിയിച്ചു. 1970, 1977, 1991 എന്നീ വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ കൂത്ത്പറമ്പിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിനെ പ്രതിനിധീകരിച്ചും നിയമസഭയിലെത്തി. 1996-2001 ലെ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിലെ വൈദ്യുതി-സഹകരണ വകുപ്പിന്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു പിണറായി വിജയൻ. 1998-ൽ കൽക്കട്ടയിൽ വച്ച് നടന്ന [[സി.പി.എം|സി.പി.എമ്മിന്റെ]] പതിനാറാമത് പാർട്ടി കോൺഗ്രസിലൂടെ പാർട്ടിയുടെ കേന്ദ്രകമ്മറ്റി, പൊളിറ്റ് ബ്യൂറോ അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016-ൽ നടന്ന പതിനാലാം കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ധർമടത്ത് നിന്ന് മത്സരിച്ച് ജയിച്ചു. നിയമസഭയിൽ [[ഇടതുമുന്നണി]]യ്ക്ക് ഭൂരിപക്ഷം കിട്ടിയതിനെ തുടർന്ന് 2016 മെയ് 25 ന് [[കേരള]] [[മുഖ്യമന്ത്രി]]യായി അധികാരമേറ്റു. 2021-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ഇടതുമുന്നണി 99 സീറ്റുകൾ നേടിയതിനെ തുടർന്ന് തുടർച്ചയായി രണ്ടാം തവണയും കേരള മുഖ്യമന്ത്രിയായി ചുമതലയേറ്റു. <ref>https://www.mathrubhumi.com/mobile/specials/politics/pinarayi-vijayan{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> അഞ്ച് വർഷ കാലാവധി പൂർത്തിയാക്കി അധികാരത്തുടർച്ച നേടിയ ആദ്യ കേരള മുഖ്യമന്ത്രി എന്ന ചരിത്രനേട്ടത്തിനുടമയായ പിണറായി വിജയൻ മുഖ്യമന്ത്രി എന്ന നിലയിൽ രണ്ടാം തവണ 2021 മേയ് 20 ന് സത്യപ്രതിജ്ഞ ചെയ്തു. 2026-ൽ നടന്ന പതിനാറാം നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ ധർമ്മടത്ത് നിന്ന് ജയിച്ചെങ്കിലും ഇടതുമുന്നണി പരാജയപ്പെട്ടതിനാൽ മുഖ്യമന്ത്രി സ്ഥാനം 2026 മെയ് 4ന് രാജി വെച്ചു. പ്രത്യയശാസ്ത്രത്തിനുമപ്പുറം പ്രായോഗിക രാഷ്ട്രീയത്തിന് മുൻതൂക്കം നൽകുന്ന രാഷ്ട്രീയ നേതാവായാണ് പിണറായി വിജയൻ സി.പി.എമ്മിൽ അറിയപ്പെടുന്നത്.<ref>https://www.manoramaonline.com/news/kerala/2025/05/24/cm-pinarayi-vijayan-80th-birthday.html</ref> <ref name=":0">{{Cite web|url=https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|title=രണ്ടാം പിണറായി സർക്കാറിലെ മന്ത്രിമാരുടെ വകുപ്പുകൾ ഇങ്ങനെ...|access-date=21 May 2021|date=21 May 2021|publisher=മാധ്യമം|archive-date=2021-05-21|archive-url=https://archive.today/20210521124207/https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|url-status=bot: unknown}}</ref><ref name=":1">{{Cite web|url=https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|title=മന്ത്രിമാരുടെ വകുപ്പുകൾ തീരുമാനിച്ച്‌ ഉത്തരവായി; ന്യൂനപക്ഷ ക്ഷേമവും പ്രവാസിക്ഷേമവും മുഖ്യമന്ത്രിക്ക്‌|access-date=21 May 2021|date=21 May 2021|publisher=ദേശാഭിമാനി|archive-date=2021-05-21|archive-url=https://archive.today/20210521124004/https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|url-status=bot: unknown}}</ref> == കേരള മുഖ്യമന്ത്രി == കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്നവരുടെ പട്ടികയിൽ രണ്ടാം സ്ഥാനത്താണ് നിലവിൽ പിണറായി വിജയൻ. നിയമസഭ തിരഞ്ഞെടുപ്പ് പരാജയത്തെ തുടർന്ന് മുഖ്യമന്ത്രി സ്ഥാനം രാജി വച്ച 2026 മെയ് നാലാം തീയതി വരെ<ref>[https://keralakaumudi.com/news/mobile/news.php?id=1741594&u=cm-pinarayi-vijayan-to-resign-tommorow പിണറായി വിജയൻ രാജി വെച്ചു]</ref> 2016 മുതൽ 2026 വരെയുള്ള പത്ത് വർഷം തുടർച്ചയായി 3633 ദിവസം മുഖ്യമന്ത്രി പദവിയിൽ തുടർന്നു. (ആകെ 9 വർഷം, 11 മാസം, 9 ദിവസം)<ref>[https://www.manoramanews.com/kerala/politics/2025/04/14/cm-pinarayi-vijayan-the-chief-minister-who-is-rewriting-history.html പിണറായിക്ക് മുന്നിൽ ഇനി നായനാർ മാത്രം]</ref> മുൻ മുഖ്യമന്ത്രിയും മുതിർന്ന ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് നേതാവുമായിരുന്ന ലീഡർ കെ.കരുണാകരനെയാണ് (3246 ദിവസം) 2025 ഏപ്രിൽ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നത്. മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സമുന്നത നേതാവായിരുന്ന ഇ.കെ.നായനാരാണ് (4009 ദിവസം) കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി പദവിയിലിരുന്നത്. 2023 ഫെബ്രുവരി പതിനേഴിന് മുൻ മുഖ്യമന്ത്രി സി.അച്യുതമേനോന് തൊട്ട് പിന്നിൽ നാലാം സ്ഥാനത്ത് (2459 ദിവസം) എത്തിയിരുന്നു പിണറായി വിജയൻ. 1970 മുതൽ 1977 വരെ തുടർച്ചയായി മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്ന സി.അച്യുതമേനോൻ്റെ റെക്കോർഡ് (2364 ദിവസം) 2022 നവംബർ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നിരുന്നു. കേരളത്തിൽ ഇതുവരെ 12 പേർ മുഖ്യമന്ത്രിമാരായിട്ടുണ്ട് എങ്കിലും തുടർച്ചയായി രണ്ട് മന്ത്രിസഭകളിൽ മുഖ്യമന്ത്രിയാവാൻ അവസരം ലഭിച്ചത് പിണറായി വിജയന് മാത്രമാണ്. ഏറ്റവും കൂടുതൽ ദിവസം (31) കാവൽ മുഖ്യമന്ത്രിയായതിൻ്റെ റെക്കോർഡും പിണറായി വിജയന് തന്നെയാണ്. 2021 മെയ് മൂന്ന് മുതൽ മെയ് 20 വരെയും 2026 മെയ് നാല് മുതൽ മെയ് 18 വരെയുമാണ് അദ്ദേഹം സംസ്ഥാനത്തിൻ്റെ കാവൽ മുഖ്യമന്ത്രിയായിരുന്നത്.<ref>[https://www.manoramaonline.com/news/kerala/2023/08/17/pinarayi-vijayan-is-third-in-the-list-of-longest-tenured-cm-of-kerala.html മുഖ്യമന്ത്രി പദവിയിൽ അച്യുതമേനോനെ മറികടന്ന് പിണറായി വിജയൻ]</ref><ref>{{Cite web|url=https://keralacm.gov.in/ml/%e0%b4%ae%e0%b5%81%e0%b4%96%e0%b5%8d%e0%b4%af%e0%b4%ae%e0%b4%a8%e0%b5%8d%e0%b4%a4%e0%b5%8d%e0%b4%b0%e0%b4%bf%e0%b4%af%e0%b5%81%e0%b4%9f%e0%b5%86-%e0%b4%95%e0%b5%80%e0%b4%b4%e0%b4%bf%e0%b4%b2%e0%b5%81/|title=മുഖ്യമന്ത്രിയുടെ കീഴിലുള്ള വകുപ്പുകൾ - Official website of Kerala Chief Minister|access-date=2023-10-23|date=2021-05-18|language=ml-IN}}</ref> == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=deviated |archivedate=2021-11-11 |archiveurl=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-05-10 |archive-url=https://web.archive.org/web/20210510182516/http://www.keralaassembly.org/ |url-status=dead }}</ref> ! വർഷം !! മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും !! പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും |- | 2026 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || അഡ്വ. വി പി അബ്ദുൽ റഷീദ് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- |- | 2021 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || സി രഘുനാഥ്‌ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 2016 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || [[മമ്പറം ദിവാകരൻ]] |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1996 || [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം]], [[എൽ.ഡി.എഫ്]]||കെ എൻ കണ്ണോത്ത് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1991 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]] || [[പി. രാമകൃഷ്ണൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- | 1977 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| അബ്ദുൾ ഖാദർ|| [[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- | 1970 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| തായത്ത് രാഘവൻ്|| [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- |} ==ലാവ്‌ലിൻ കേസ്== 1996 മുതൽ 1998 കാലഘട്ടത്തിൽ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിൽ [[വിദ്യുച്ഛക്തി]] മന്ത്രിയായിരിക്കുമ്പോൾ, [[എസ്.എൻ.സി. ലാവലിൻ|ലാവലിൻ കമ്പനിയുമായി]] നടന്ന സർക്കാർ ഇടപാടിൽ അഴിമതി നടന്നിട്ടുണ്ടെന്ന് ആരോപണമുണ്ടായി. ഇതിനെ തുടർന്ന് [[ഐക്യ ജനാധിപത്യ മുന്നണി|യു. ഡി. എഫ്]] ഭരണകാലത്ത് [[സംസ്ഥാന വിജിലൻസ്]] അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു <ref name="oneindia">{{cite web |url=http://news.oneindia.in/2006/03/01/kerala-govt-to-hand-over-snc-lavalin-case-to-cbi-chandy-1141211398.html |title=Kerala Govt to hand over SNC Lavalin case to CBI: Chandy |date=1 March 2006 |quote=Vigilance Director Upendra Verma was also shunted out of the department a day after the investigating agency filed an FIR in the court without naming any politician in the list of accused. |publisher=One India |accessdate=19 June 2012 }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ പിന്നീട് കേസ് അന്വേഷിച്ച [[സി.ബി.ഐ]] പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. സിപിഐ(എം) നേതൃത്വത്തിലുള്ള ഇടതുപക്ഷജനാധിപത്യമുന്നണി [[കേരളാ മന്ത്രിസഭ|മന്ത്രിസഭ]] സഭ അതിന് അനുമതി നിഷേധിച്ചെങ്കിലും അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്. ഗവായി]] അദ്ദേഹത്തെ പ്രോസിക്യൂട്ട്‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു സിപിഐ(എം) ആരോപിച്ചിരുന്നു. [[കേരളാ ഗവർണ്ണർ|കേരളാ ഗവർണ്ണറുടെ]] ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീം കോടതി (ഇന്ത്യ)|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. തുടർന്നുള്ള അന്വേഷണത്തിൽ പിണറായി വിജയൻ ലാവലിൻ ഇടപാടിൽ സാമ്പത്തികലാഭം ഉണ്ടാക്കിയതിനു തെളിവ് ലഭിച്ചിട്ടില്ലന്ന് [[സി.ബി.ഐ]] കോടതിയിൽ [[സത്യവാങ്മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]{{Dead link|date=February 2020}}</ref><ref>{{cite web |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |accessdate=29 ഏപ്രിൽ 2010 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |archivedate=ഫെബ്രുവരി 17, 2020 |date=18 ഏപ്രിൽ 2010}}</ref>. തുടർന്ന് കേസിന്റെ വിചാരണ നടന്നിരുന്ന തിരുവനന്തപുരം സി.ബി.ഐ. കോടതിയിൽ പിണറായി വിജയൻ ഉൾപ്പെടെ ഏഴുപേർ വിടുതൽ ഹർജി സമർപ്പിച്ചു. അത് പരിഗണിച്ച കോടതി പിണറായി വിജയനെ കേസിൽ പ്രതിചേർത്ത് വിചാരണ തുടരാനുള്ള വസ്തുതകൾ സി.ബി.ഐ. സമർപ്പിച്ച കുറ്റപത്രത്തിൽ അടങ്ങിയിട്ടില്ലെന്ന് കണ്ടെത്തുകയും അഴിമതി, അധികാരദുർവിനിയോഗം, കുറ്റകരമായ ഗൂഢാലോചന തുടങ്ങിയ ആരോപണങ്ങൾ അടങ്ങിയ കുറ്റപത്രം തന്നെ നിലനിൽക്കില്ലെന്നും പ്രസ്താവിച്ചു. <ref>[http://www.manoramanews.com/cgi-bin/MMOnline.dll/portal/ep/mmtvContentView.do?BV_ID=@@@&tabId=14&programId=9958837&contentId=15387617 ലാവലിൻ കേസിൽ പിണറായി ഉൾപ്പെടെയുള്ളവരുടെ ഹർജി അനുവദിച്ചു]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=സെപ്റ്റംബർ 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> നിലവിൽ ഈ സിബിഐ നൽകിയ അപ്പീലിൽ സുപ്രീം കോടതി പിണറായി വിജയന് നോട്ടീസ് അയച്ചിരിക്കുകയാണ്. == വിമർശനങ്ങൾ == *നായനാർ മന്ത്രിസഭയിൽ വൈദ്യുതിമന്ത്രിയായിരുന്ന കാലത്ത് [[പന്നിയാർ]]-[[ചെങ്കുളം]]-[[പള്ളിവാസൽ]] പദ്ധതികളുടെ നവീകരണത്തിനായി [[കാനഡ|കാനഡയിലെ]] [[എസ്.എൻ.സി. ലാവ്‌ലിൻ]] എന്ന കമ്പനിയുമായി ഇദ്ദേഹം ഒപ്പുവച്ച{{തെളിവ്}} കരാറിനെക്കുറിച്ച് ആരോപണമുണ്ടായതിനെ തുടർന്ന് [[യു. ഡി. എഫ്]] ഭരണകാലത്ത് സംസ്ഥാന വിജിലൻസ് അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു. എന്നാൽ അടുത്ത തിരഞ്ഞെടുപ്പ് കാലത്ത് ഇത് വീണ്ടും അന്വേഷിക്കാൻ സി.ബി.ഐ-യെ ഏൽപിക്കാൻ [[യു. ഡി. എഫ്]] തീരുമാനിച്ചു. തുടർന്ന് സി.ബി.ഐ. പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. [[അഡ്വേക്കേറ്റ് ജനറൽ|അഡ്വേക്കേറ്റ് ജനറലിന്റേയും]], [[കേരളാ മന്ത്രിസഭ|കേരളാ മന്ത്രിസഭയുടേയും]] ഉപദേശം മറികടന്ന് അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്‌. ഗവായ്‌]] സ്വന്തം നിലയിൽ പ്രോസിക്യൂട്ട്[‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു ആരോപണമുയർന്നു. കേരളാ ഗവർണ്ണറുടെ ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീംകോടതി|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. അന്വേഷണത്തിലൂടെ പിണറായി വിജയൻ അഴിമതി നടത്തിയില്ലെന്നു തെളിഞ്ഞതിനു ശേഷം സി.ബി.ഐ തന്നെ അപ്രകാരം കോടതിയിൽ [[സത്യവാങ്‌മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]</ref><ref>{{Cite web |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010 |access-date=2010-04-29 |archive-date=2012-05-29 |archive-url=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |url-status=deviated |archivedate=2012-05-29 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala }}</ref>. അടിസ്ഥാനരഹിതമായ ആരോപണങ്ങൾ ഉന്നയിച്ച് അദ്ദേഹത്തെ വ്യക്തിഹത്യ ചെയ്യാനുള്ള ശ്രമമാണു കേസിനു പിന്നിൽ എന്ന് സി.പി.ഐ.(എം) ആരോപിക്കുന്നു<ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn200410.pdf |title=ലാവ്‌ലിൻ:സത്യം തെളിഞ്ഞു |access-date=2010-04-30 |archive-date=2016-03-05 |archive-url=https://web.archive.org/web/20160305011832/http://www.deshabhimani.com/e_paper/1chn200410.pdf |url-status=dead }}</ref><ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn190410.pdf |title=അവഹേളിച്ചതിന്റെ ഉത്തരവാദിത്തം ആര് ഏറേറെടുക്കും |access-date=2010-04-30 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304213826/http://www.deshabhimani.com/e_paper/1chn190410.pdf |url-status=dead }}</ref>. *2007 ഫെബ്രുവരി 16ന് ചെന്നൈ വിമാനത്താവളത്തിൽ വച്ച് സുരക്ഷാ പരിശോധനക്കിടെ പിണറായി വിജയന്റെ ബഗേജിൽ നിന്നും 5 വെടിയുണ്ടകൾ ഉദ്യോഗസ്ഥർ കണ്ടെടുക്കുകയുണ്ടായി. ലൈസൻസിന്റെ പകർപ്പ് ഫാക്സ് ആയി ലഭിച്ചതിനു ശേഷം ഉദ്യോഗസ്ഥർ അദ്ദേഹത്തെ പോകാൻ അനുവദിച്ചു.<ref>{{Cite web |url=http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2007-02-22 |archive-url=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |url-status=deviated |archivedate=2007-02-22 |archiveurl=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm }}</ref> *തൊഴിലാളി നേതാവായി ഉയർന്നുവന്ന പിണറായിയുടെ മകന്റെ ബർമിങ്ഹാം യൂണിവേഴ്സിറ്റിയിലെ വിദ്യാഭ്യാസവും മകളുടെ സ്വാശ്രയ കോളേജിലെ പഠനവുമെല്ലാം അദ്ദേഹത്തിനെതിരെയുള്ള മറ്റു വിമർശനങ്ങളിൽ ചിലതാണ്‌. <ref>http://thatsmalayalam.oneindia.mobi/news/2008/02/14/51199.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ കേരള ആദായ നികുതി വകുപ്പ് 2008 ജനുവരിയിൽ ഹൈക്കോടതിക്ക് നൽകിയ സത്യവാങ്ങ്‌മൂലത്തിൽ പിണറായിയുടെ മകന്റെ ബർമിങ്ങ്ഹാം സർവ്വകലാശാലയിലെ പഠിപ്പിന് പിണറായി വിജയൻ വക സാമ്പത്തിക സഹായമൊന്നും നൽകുകയുണ്ടായില്ല എന്ന വ്യക്തമാക്കുകയുണ്ടായി.<ref>{{cite web|title = മകന്റെ വിദേശപഠന ചെലവ്‌ പിണറായി വഹിച്ചിട്ടില്ല - ആദായനികുതി വകുപ്പ്‌.|publisher = [[മാതൃഭൂമി]]|url = http://www.mathrubhumi.com/php/newFrm.php?news_id=12209&n_type=HO&category_id=3&Farc=T&previous=Y|date = ജനുവരി 2, 2008|accessdate = ഓഗസ്റ്റ് 7, 2009|language = മലയാളം}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> *കേരളത്തിലെ ചില മുഖ്യധാരാ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗമായി [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-നെതിരെ ഒരു ശക്തമായ മാധ്യമസിന്റിക്കേറ്റ് പ്രവർത്തിക്കുന്നതായി അദ്ദേഹം കരുതുന്നു. അത് ചില ഉദാഹരണസഹിതം അദ്ദേഹം പ്രസ്താവിച്ചതിനാൽ ആ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗത്ത് നിന്ന് അദ്ദേഹത്തിന് എതിരെ ശക്തമായ വിമർശങ്ങളുണ്ടായി . {{fact}} *മാധ്യമസിന്റിക്കേറ്റിനെതിരെ അദ്ദേഹം നടത്തിയ പ്രസ്താവനയെ, [[മാതൃഭൂമി]] പത്രാധിപനെതിരായ ഭീഷണിപ്പെടുത്തലായി ചിത്രീകരിച്ച് പത്രാധിപരുടെ ഗിൽഡ് അപലപിച്ചിരുന്നു. <ref>{{Cite web |url=http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2009-02-09 |archive-url=https://web.archive.org/web/20090209172703/http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |url-status=dead }}</ref><ref> http://www.financialexpress.com/news/CPIM-mouth-piece-snipes-at-Editors-Guild/204556/ </ref> *പിണറായി വിജയൻ കൊട്ടാരതുല്യമായ വീട് നിർമ്മിച്ചതിനെപ്പറ്റി അന്വേഷിക്കാൻപോയ നാലു സഖാക്കളെ സസ്‌പെന്റ് ചെയ്തുകൊണ്ടാണ് പിണറായി വിജയൻ തനിക്കെതിരായ വിമർശനത്തെ അടിച്ചമർത്തിയത് എന്ന ആരോപണം വലിയ വിവാദം ആയിരുന്നു. ഒരു തൊഴിലാളി നേതാവിന് ഇത്രയും വലിയ വീട് പണിതത്തിനെ കുറിച്ചു പാർട്ടിയിൽ തന്നെ നിരവധി വാക്കേറ്റങ്ങൾക്കു കാരണം ആയി. 4 സഖാക്കളെ [[സി.പി.ഐ.എം]] പുറത്താക്കിയത് വേറെ കാരണങ്ങളായിരുന്നു എന്നതായിരുന്നു പിന്നീടുള്ള പത്രറിപ്പോർട്ട്.<ref>http://www.indianexpress.com/news/why-none-dares-talk-about-pinarayi/473293/0</ref> . ==അവലംബം== {{reflist|2}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * http://www.cpim.org/bio/pinarayi_vijayan.htm {{Webarchive|url=https://web.archive.org/web/20080225150859/http://www.cpim.org/bio/pinarayi_vijayan.htm |date=2008-02-25 }} *[http://malablo.com/പിണറായി-വിജയൻജീവിത-വഴിക/ പിണറായി വിജയൻ ജീവിത വഴികളിലൂടെ.] {{Webarchive|url=https://web.archive.org/web/20200716211615/http://malablo.com/%E0%B4%AA%E0%B4%BF%E0%B4%A3%E0%B4%B1%E0%B4%BE%E0%B4%AF%E0%B4%BF-%E0%B4%B5%E0%B4%BF%E0%B4%9C%E0%B4%AF%E0%B5%BB%E0%B4%9C%E0%B5%80%E0%B4%B5%E0%B4%BF%E0%B4%A4-%E0%B4%B5%E0%B4%B4%E0%B4%BF%E0%B4%95/ |date=2020-07-16 }} {{commons category|Pinarayi Vijayan}} {{S-start}} {{s-off}} {{s-bef|before=[[ഉമ്മൻ ചാണ്ടി]]}} {{s-ttl|title=[[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=25 മേയ് 2016 – 04 മേയ് 2026}} {{s-aft|after= [[വി.ഡി. സതീശൻ]]}} {{S-end}} {{CMs of Kerala}} {{Fourteenth KLA}} {{DEFAULTSORT:വിജയൻ}} [[വർഗ്ഗം:1944-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മാർച്ച് 21-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:നിരീശ്വരവാദികൾ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഒൻപതാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പത്താം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സഹകരണവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ വൈദ്യുതിവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:സി.പി.ഐ.എം. സംസ്ഥാന സെക്രട്ടറിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ.എം. പ്രവർത്തകർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥയിൽ തടവിലാക്കപ്പെട്ടവർ]] [[വർഗ്ഗം:കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)-ൽ നിന്നുള്ള മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആഭ്യന്തരമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഐ.ടി. വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രിന്റിംഗ്, സ്റ്റേഷനറി വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] gd9l4z6kp6l2ni75wyysxh09xdcctju 4622106 4622104 2026-05-23T03:39:17Z Altocar 2020 144384 /* രാഷ്ട്രീയ ജീവിതം */ 4622106 wikitext text/x-wiki {{prettyurl|Pinarayi Vijayan}} {{ToDisambig|വാക്ക്= പിണറായി}} {{Infobox officeholder | name = പിണറായി വിജയൻ | image = File:Vijayan.Dharmadam.CM.jpg | caption = | imagesize = | office = പതിനാറാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവ് | term_start = [[മേയ് 19]] [[2026]] | predecessor = [[വി.ഡി. സതീശൻ]] | office1 = [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ പന്ത്രണ്ടാമത്തെ മുഖ്യമന്ത്രി]] | term_start1 = [[മേയ് 04]] [[2026]] | term_end1 = [[മേയ് 18]] [[2026]] | predecessor1 = [[പിണറായി വിജയൻ]] | successor1 = [[വി.ഡി. സതീശൻ]] | term_start2 = [[മേയ് 25]] [[2016]] | term_end2 = [[മേയ് 4]] [[2026]] | predecessor2 = [[ഉമ്മൻ ചാണ്ടി]] | successor2 = [[ പിണറായി വിജയൻ]] | constituency2 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | office3 = [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.ഐ(എം)]] കേരള സംസ്ഥാന സെക്രട്ടറി | term_start3 = [[സെപ്റ്റംബർ 25]] [[1998]] | term_end3 = [[ഫെബ്രുവരി 23]] [[2015]] | predecessor3 = [[ചടയൻ ഗോവിന്ദൻ]] | successor3 = [[കോടിയേരി ബാലകൃഷ്ണൻ]] | office4 = കേരളത്തിന്റെ വൈദ്യുതി, സഹകരണ വകുപ്പ് മന്ത്രി | term_start4 = [[മേയ് 20]] [[1996]] | term_end4 = [[ഒക്ടോബർ 19]] [[1998]] | predecessor4 = [[ജി. കാർത്തികേയൻ]], [[എം.വി. രാഘവൻ]] | successor4 = [[എസ്. ശർമ്മ]] | office5 = കേരളനിയമസഭാംഗം | constituency5 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | term_start5 = [[മേയ് 21]] [[2016]] | term_end5 = | predecessor5 = [[കെ.കെ. നാരായണൻ]] | successor5 = | constituency6 = [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം|പയ്യന്നൂർ]] | term_start6 = [[മേയ് 14]] [[1996]] | term_end6 = [[മേയ് 16]] [[2001]] | predecessor6 = [[സി.പി. നാരായണൻ]] | successor6 = [[പി.കെ. ശ്രീമതി]] | constituency7 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start7 = [[ജൂൺ 21]] [[1991]] | term_end7 = [[മേയ് 14]] [[1996]] | predecessor7 = [[കെ.പി. മമ്മു]] | successor7 = [[കെ.കെ. ശൈലജ]] | constituency8 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start8 = [[ഒക്ടോബർ 4 ]] [[1970]] | term_end8 = [[നവംബർ 11]] [[1979]] | predecessor8 = [[കെ.കെ. അബു]] | successor8 = [[എം.വി. രാഘവൻ]] | office9 = സംസ്ഥാന ആഭ്യന്തരവകുപ്പ് മന്ത്രി | term9 = 2016 - 2026 | predecessor9 = [[രമേശ് ചെന്നിത്തല]] | successor9 =[[രമേശ് ചെന്നിത്തല]] | birth_date = {{Birth date and age|1945|05|24|df=yes}} | birth_place = [[പിണറായി]], [[തലശേരി]], [[കണ്ണൂർ]][[ജില്ല]] | residence = [[ക്ലിഫ് ഹൗസ്]], [[തിരുവനന്തപുരം]], [[കേരളം]] | death_date = | death_place = | party = [[File:CPI-M-flag.svg|50px]] [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം.]] | religion = [[നിരീശ്വരവാദം]] | father = മാറോളി കോരൻ | mother = ആലക്കാട്ട് കല്യാണി | spouse = ടി. കമല | children = വിവേക് കിരൺ, വീണ | website = www.keralacm.gov.in | footnotes = | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/139%20Pinarayi%20Vijayan.pdf നിയമസഭ | signature = Pinarayi Vijayan Signature.png }} 2016 മുതൽ 2026 വരെ തുടർച്ചയായി പത്ത് വർഷക്കാലം [[കേരളം|കേരളത്തിന്റെ]] [[മുഖ്യമന്ത്രി]]യായിരുന്ന മുതിർന്ന [[സി.പി.എം]] നേതാവാണ് '''പിണറായി വിജയൻ.(ജനനം: 24 മെയ് 1945)''' 2016 മേയ് 25-നാണ് കേരള മുഖ്യമന്ത്രിയായി ആദ്യമായി സ്ഥാനമേറ്റത്. രണ്ടാം തവണ 2021 മേയ് 20-ന് അധികാരമേറ്റു. <ref name=":0" /><ref name=":1" /> <ref>{{Cite web|url=https://ia601506.us.archive.org/25/items/business-of-the-government-among-the-ministers-2021/Business%20of%20the%20Government%20among%20the%20Ministers%202021.pdf|title=KERALA GAZETTE dt 2021 േമയ 20|access-date=21 May 2021|date=20 May 2021|publisher=Kerala Government}}</ref> 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ എൽഡിഎഫ് പരാജയപ്പെട്ടതിനാൽ മെയ് 4ന് രാജി സമർപ്പിച്ചു. സംസ്ഥാന [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തര വകുപ്പിൻ്റെ]] അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി ആയിരുന്നു പിണറായി വിജയൻ.<ref>{{Cite web|url=https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|title=Kerala Chief Minister {{!}} Shri. Pinarayi Vijayan {{!}} Official web portal of Kerala Government|access-date=2023-10-24|archive-date=2023-12-03|archive-url=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|url-status=deviated|archivedate=2023-12-03|archiveurl=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=}}</ref><ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/21/kerala-government-ministers-portfolio-list.html|title=മുഖ്യമന്ത്രിക്ക് 17ൽ പരം വകുപ്പുകൾ; വനിതാ ശിശുക്ഷേമവും വീണയ്ക്ക്|access-date=2023-10-24|language=ml}}</ref> നിലവിൽ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-ന്റെ പൊളിറ്റ് ബ്യൂറോ അംഗമായ പിണറായി വിജയൻ, 1998 മുതൽ 2015 വരെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ കേരളം ഘടകം സംസ്ഥാന സെക്രട്ടറിയായിരുന്നു. [[ഇ.കെ. നായനാർ|ഇ.കെ.നായനാർക്ക്]] ശേഷം കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടറിയായതും പിണറായി വിജയനാണ്. കേരളത്തിലെ കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ വിദ്യാർത്ഥി, യുവജന സംഘടനാ പ്രവർത്തനത്തിലൂടെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ നേതൃനിരയിലെത്തിയ പിണറായി വിജയൻ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]] [[കണ്ണൂർ]] ജില്ലാ സെക്രട്ടറിയായും കേരള സംസ്ഥാന സഹകരണ ബാങ്കിന്റെ പ്രസിഡന്റായും പ്രവർത്തിച്ചിട്ടുണ്ട്. [[ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥ (1975)|അടിയന്തരാവസ്ഥക്കാലത്ത്]] പതിനെട്ടുമാസം കണ്ണൂർ സെൻട്രൽജയിലിൽ രാഷ്ട്രീയ തടവുകാരനായിരുന്നു. 1970-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 26-മത്തെ വയസ്സിൽ [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ് മണ്ഡലത്തെ]] പ്രതിനിധീകരിച്ച്‌ ആദ്യമായി കേരള നിയമസഭയിൽ അംഗമായി. 1977-ലും 1991-ലും കൂത്തുപറമ്പ് മണ്ഡലത്തിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിൽ നിന്നും നിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016 മുതൽ ധർമ്മടം മണ്ഡലത്തിൽ നിന്നുള്ള നിയമസഭാംഗമാണ്‌. 1996 മുതൽ 1998 വരെ മൂന്നാം [[ഇ.കെ. നായനാർ|ഇ.കെ നായനാർ]] മന്ത്രിസഭയിൽ വിദ്യുച്ഛക്തി-സഹകരണ വകുപ്പുകളുടെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു.<ref>http://specials.manoramaonline.com/News/2017/ldf-government-anniversary/index.html</ref> ഈ കാലഘട്ടത്തിൽ കേരളത്തിലെ വൈദ്യുതി ഉൽപാദനം, വിതരണം എന്നിവ വളരെ കാര്യക്ഷമമാക്കുന്നതിലും, [[കേരളാ സ്റ്റേറ്റ് ഇലക്ട്രിസിറ്റി ബോർഡ്|കേരള സംസ്ഥാന വൈദ്യുതി ബോർഡ്]]ന്റെ പ്രവർത്തനം മെച്ചപ്പെടുത്തുന്നതിലും പ്രധാന പങ്ക് വഹിച്ചു<ref name="mabhu-98">{{cite news |title=മാതൃഭൂമി മുഖപ്രസംഗം |newspaper=മാതൃഭൂമി |quote=വൈദ്യുത ഉല്പാദന വിതരണ രം‌ഗങ്ങളിൽ ഗണ്യമായ നേട്ടങ്ങൾ വിജയന്റെ കാലത്തുണ്ടായിട്ടുണ്ട്. എല്ലാം അദ്ദേഹം മുൻകയ്യെടുത്ത് ചെയ്തുവെന്നല്ല; തുടങ്ങിവെച്ചവയും പണിതീരാതെ അനന്തമായി നീളുന്നവയുമായ പദ്ധതികൾക്കും പരിപാടികൾക്കും വേണ്ടിയിരുന്നത് ഒരു ഉന്ത് ആണ്. അതദ്ദേഹം കൊടുത്തു. ലോവർ പെരിയാറിൽ നിന്നും ബ്രഹ്മപുരത്തു നിന്നും വൈദ്യുതി കിട്ടുവാൻ തുടങ്ങി. [[കക്കാട് (വിവക്ഷകൾ)|കക്കാട്]] പദ്ധതിക്ക് പുനരുജ്ജീവനമായി. ആതിരപ്പള്ളിയും കുറ്റ്യാടി എക്സ്റ്റൻഷനും വീണ്ടും ചലിച്ചു തുടങ്ങി. കേരളത്തിനു വേണ്ടി ഒരു വൈദ്യുത വികസനനയം പ്രഖ്യാപിച്ചത് വിജയനാണ്. അത് പൊതുമേഖലയ്ക്കും സ്വകാര്യമേഖലയ്ക്കും പരിമിതമായ വിദേശമൂലധനത്തിനും സ്ഥാനം നൽകുന്ന ഒന്നായിരുന്നു. വിമർശനങ്ങളെ അവഗണിച്ച്, കോഴിക്കോടെ ഡീസൽ വൈദ്യുതകേന്ദ്രം സ്ഥാപിക്കുന്ന ജോലി അദ്ദേഹം തുടങ്ങി വച്ചു. ചീനയിൽ നിന്നുള്ള സഹായ സഹകരണങ്ങളോടെ ചെറുകിട വൈദ്യുത പദ്ധതികൾ തുടങ്ങുവാൻ പരിപാടിയുണ്ടാകി... വിജയൻ മന്ത്രിയാകുന്ന സമയത്ത് വ്യവസായങ്ങൾക്ക് നൂറ് ശതമാനം പവർകട്ട് ആയിരുന്നു. വീടുകൾക്ക് ലോഡ്‌ഷെഡിങ്ങ് വേറെ. ധാരാളം മഴ കിട്ടിയിട്ട് വൈദ്യുതി ഉല്പാദനം മെച്ചപ്പെട്ടു; ഒന്ന് രണ്ട് പദ്ധതികൾ ഉല്പാദനക്ഷമങ്ങളായി; കിഴക്കൻ ഗ്രിഡിൽ നിന്ന് വൈദ്യുതി വാങ്ങുവാൻ മന്ത്രി ഏർപ്പാടുമുണ്ടാക്കി. എല്ലാം കൂടി, മൂന്നു കൊല്ലത്തിനകം, വ്യവസായങ്ങൾക്കുള്ള പവർകട്ട് മുഴുവൻ നീക്കാൻ വിജയനു കഴിഞ്ഞു; ജില്ലാ ആസ്ഥാനങ്ങളിൽ ലോഡ് ഷെഡിങ്ങും നിർത്തി... |date=22 ഒക്ടോബർ 1998 |accessdate=20 June 2012}}</ref>. == ജീവിതരേഖ == [[കണ്ണൂർ ജില്ല|കണ്ണൂർ ജില്ലയിലെ]] തലശ്ശേരി താലൂക്കിലെ [[പിണറായി]] പഞ്ചായത്തിലെ ഒരു കർഷക കുടുംബത്തിൽ കള്ള്-ചെത്ത് തൊഴിലാളിയായിരുന്ന മുണ്ടയിൽ കോരന്റെയും ആലക്കണ്ടി കല്യാണിയുടെയും ഇളയ മകനായി ഇടവമാസത്തിലെ ചോതി നക്ഷത്രത്തിൽ 1945 മേയ് 24-ന്‌ ജനനം.<ref>https://english.mathrubhumi.com/news/kerala/pinarayi-turns-76-today-and-it-is-a-special-day-1.5690611</ref> കുമാരനും നാണുവും ജ്യേഷ്ഠ സഹോദരങ്ങളാണ്. പതിനാല് സഹോദരങ്ങളിൽ രണ്ട് പേരൊഴികെ ബാക്കി എല്ലാവരും മരിച്ചു. രണ്ടാമത്തെ സഹോദരനായിരുന്ന കുമാരനിലൂടെയാണ് വിജയൻ കമ്മ്യൂണിസ്റ്റായത്. പിണറായി ശാരദ വിലാസം എൽ പി സ്കൂളിലും പെരളശേരി ഗവ.ഹൈസ്കൂളിലുമായി വിദ്യാഭ്യാസം. സ്കൂൾ ഫൈനലിനു ശേഷം ഒരു വർഷം നെയ്ത്ത് തൊഴിലാളിയായി. പിന്നീടാണ് പ്രീ- യൂണിവേഴ്സിറ്റി കോഴ്സിന് തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ ചേർന്നത്.<ref>{{Cite web |url=https://www.keralacm.gov.in/mal/?page_id=13 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-01-13 |archive-date=2020-11-28 |archive-url=https://web.archive.org/web/20201128170716/https://www.keralacm.gov.in/mal/?page_id=13 |url-status=dead }}</ref> '''സ്വകാര്യ ജീവിതം''' തലശ്ശേരി സെന്റ് ജോസഫ്‌സ് സ്കൂൾ അദ്ധ്യാപിക [[ഒഞ്ചിയം ഗ്രാമപഞ്ചായത്ത്|ഒഞ്ചിയം]] കണ്ണൂക്കര സ്വദേശിനി ടി. കമലയാണ് ഭാര്യ. വിവേക് കിരൺ, വീണ എന്നിവർ മക്കൾ.<ref>{{Cite web |url=https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2021-02-26 |archive-url=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |url-status=deviated |archivedate=2021-02-26 |archiveurl=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php }}</ref> ==രാഷ്ട്രീയ ജീവിതം== [[File:Pinarayi vijayan klf.jpg|thumb|പിണറായി വിജയൻ കോഴിക്കോട് ലിറ്ററേച്ചർ ഫെസ്റ്റിവലിൽ (2017)]] വിദ്യാർത്ഥിയായിരുന്ന കാലഘട്ടത്തിൽ തന്നെ രാഷ്ട്രീയത്തിലേയ്ക്ക് കടന്നു വന്നു. എസ്.എഫ്.ഐ യുടെ പൂർവ്വിക സംഘടനയായ കെ.എസ്.എഫിലൂടെയായിരുന്നു രാഷ്ട്രീയ പ്രവേശനം. തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ സാമ്പത്തിക ശാസ്ത്രത്തിന് പഠിക്കുമ്പോൾ കെ.എസ്.എഫ് ന്റെ കണ്ണൂർ ജില്ലാ സെക്രട്ടറിയായി. തുടർന്ന് നിരവധി വിദ്യാർത്ഥി സമര മുന്നേറ്റങ്ങളിൽ നേതൃത്വം വഹിച്ചു. വൈകാതെ കെ.എസ്.എഫ് ന്റെ സംസ്ഥാന സെക്രട്ടറിയായി. തലശ്ശേരി കോടതിയ്ക്ക് സമീപം പിണറായി വിജയൻ നയിച്ച വിദ്യാർത്ഥി മാർച്ചിനു നേരെ പോലീസ് നടത്തിയ ലാത്തി ചാർജ്ജ് ഏറെ കോളിളക്കമുണ്ടാക്കിയിരുന്നു. പിണറായി ഉൾപ്പെടെയുള്ള വിദ്യാർത്ഥി നേതാക്കളെ പോലീസ് മൃഗീയമായി തല്ലിയപ്പോൾ സമീപത്തുള്ള കടലിൽ ചാടിയാണ് വിജയൻ അന്ന് രക്ഷപെട്ടത്. കെ.എസ്.വൈ.എഫിൻ്റെ സംസ്ഥാന വൈസ് പ്രസിഡൻറായും പ്രവർത്തിച്ചു.<ref>{{Cite web |url=https://www.cpimkerala.org/pinarayivijayan-36.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2020-12-05 |archive-url=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php |url-status=deviated |archivedate=2020-12-05 |archiveurl=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php }}</ref> 1964-ൽ [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി]]യിൽ അംഗമായ പിണറായി വിജയൻ 1967-ൽ [[സി.പി.എം]] തലശ്ശേരി മണ്ഡലം സെക്രട്ടറിയായി. 1968-ൽ മാവിലായിൽ നടന്ന കണ്ണൂർ ജില്ല-പ്ലീനറി സമ്മേളനത്തിൽ വച്ച് [[സി.പി.എം]] കണ്ണൂർ ജില്ലക്കമ്മറ്റി അംഗമായി.1972-ൽ സി.പി.എം. കണ്ണൂർ ജില്ല സെക്രട്ടേറിയറ്റ് അംഗമായ പിണറായി വിജയൻ 1978-ൽ പാർട്ടി സംസ്ഥാന കമ്മറ്റിയിലെത്തി. സി.പി.എമ്മിൻ്റെ കണ്ണൂർ ജില്ല സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടേറിയറ്റ് അംഗമായതിനെ തുടർന്ന് 1986-ൽ പിണറായി വിജയൻ [[സി.പി.എം]] [[കണ്ണൂർ]] ജില്ല സെക്രട്ടറിയായി. 1989-ൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടേറിയറ്റിലേയ്ക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടതിനെ തുടർന്ന് പ്രവർത്തനം പാർട്ടി സംസ്ഥാന കമ്മറ്റി ഓഫീസായ എ.കെ.ജി സെൻറർ കേന്ദ്രീകരിച്ചായി. 1998 സെപ്റ്റംബറിൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു. സി.പി.എം സംസ്ഥാന സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] അന്തരിച്ചതിനെ തുടർന്ന് വൈദ്യുതി വകുപ്പിൻ്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രി സ്ഥാനം രാജിവയ്ച്ച് പാർട്ടിയുടെ അമരത്ത് എത്തി. പിന്നീട് 2002-ലെ കണ്ണൂർ സമ്മേളനവും 2005-ലെ മലപ്പുറം സമ്മേളനവും 2008-ലെ കോട്ടയം സമ്മേളനവും 2012-ലെ തിരുവനന്തപുരം സമ്മേളനവും പിണറായി വിജയനെ തന്നെ വീണ്ടും സെക്രട്ടറിയായി തിരഞ്ഞെടുത്തു. മുഖ്യമന്ത്രി [[വി.എസ്. അച്യുതാനന്ദൻ|വി.എസ്. അച്യുതാനന്ദനുമായുള്ള]] അഭിപ്രായഭിന്നത പരസ്യമായി പ്രകടിപ്പിച്ചതിന് 2007 മെയ് 26-ന് പോളിറ്റ് ബ്യൂറോയിൽ നിന്നും സസ്പെൻഡ് ചെയ്യപ്പെട്ടു.<ref>http://www.rediff.com/news/2007/may/26ker.htm</ref> പിന്നീട്‌ [[2007]] [[ഒക്ടോബർ 1]]-ന് പിണറായി വിജയനെ പോളിറ്റ് ബ്യൂറോയിൽ തിരിച്ചെടുത്തു.<ref>http://www.rediff.com/news/2007/oct/01cpm.htm</ref> 2012 ഫെബ്രുവരി 10-ന് തുടർച്ചയായി നാലാം തവണയും സി.പി.എം. സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു.<ref>{{Cite web |url=http://www.mathrubhumi.com/story.php?id=250855 |title=പിണറായി വീണ്ടും സെക്രട്ടറി |access-date=2012-02-10 |archive-date=2012-02-10 |archive-url=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 |url-status=deviated |archivedate=2012-02-10 |archiveurl=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 }}</ref> പിണറായി വിജയനും ഇ.കെ. നായനാരുമാണ് ഏറ്റവും കൂടൂതൽ പ്രാവശ്യം പാർട്ടി സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടവർ. 2015-ൽ ആലപ്പുഴയിൽ വച്ച് നടന്ന പാർട്ടി സംസ്ഥാന സമ്മേളനത്തിൽ പിണറായി വിജയൻ സംസ്ഥാന സെക്രട്ടറി പദവി ഒഴിഞ്ഞതിനെ തുടർന്ന് [[കോടിയേരി ബാലകൃഷ്ണൻ]] പാർട്ടി സംസ്ഥാന സെക്രട്ടറിയായി സ്ഥാനമേറ്റു. 1970-ൽ ഇരുപത്തിയാറാം വയസിൽ നിയമസഭയിൽ അംഗമായ പിണറായി വിജയൻ പാർലമെൻ്ററി രംഗത്തും മികവ് തെളിയിച്ചു. 1970, 1977, 1991 എന്നീ വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ കൂത്ത്പറമ്പിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിനെ പ്രതിനിധീകരിച്ചും നിയമസഭയിലെത്തി. 1996-2001 ലെ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിലെ വൈദ്യുതി-സഹകരണ വകുപ്പിന്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു പിണറായി വിജയൻ. 1998-ൽ കൽക്കട്ടയിൽ വച്ച് നടന്ന [[സി.പി.എം|സി.പി.എമ്മിന്റെ]] പതിനാറാമത് പാർട്ടി കോൺഗ്രസിലൂടെ പാർട്ടിയുടെ കേന്ദ്രകമ്മറ്റി, പൊളിറ്റ് ബ്യൂറോ അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016-ൽ നടന്ന പതിനാലാം കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ധർമടത്ത് നിന്ന് മത്സരിച്ച് ജയിച്ചു. നിയമസഭയിൽ [[ഇടതുമുന്നണി]]യ്ക്ക് ഭൂരിപക്ഷം കിട്ടിയതിനെ തുടർന്ന് 2016 മെയ് 25 ന് [[കേരള]] [[മുഖ്യമന്ത്രി]]യായി അധികാരമേറ്റു. 2021-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ഇടതുമുന്നണി 99 സീറ്റുകൾ നേടിയതിനെ തുടർന്ന് തുടർച്ചയായി രണ്ടാം തവണയും കേരള മുഖ്യമന്ത്രിയായി ചുമതലയേറ്റു. <ref>https://www.mathrubhumi.com/mobile/specials/politics/pinarayi-vijayan{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> അഞ്ച് വർഷ കാലാവധി പൂർത്തിയാക്കി അധികാരത്തുടർച്ച നേടിയ ആദ്യ കേരള മുഖ്യമന്ത്രി എന്ന ചരിത്രനേട്ടത്തിനുടമയായ പിണറായി വിജയൻ മുഖ്യമന്ത്രി എന്ന നിലയിൽ രണ്ടാം തവണ 2021 മേയ് 20 ന് സത്യപ്രതിജ്ഞ ചെയ്തു. 2026-ൽ നടന്ന പതിനാറാം നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ ധർമ്മടത്ത് നിന്ന് ജയിച്ചെങ്കിലും ഇടതുമുന്നണി പരാജയപ്പെട്ടതിനാൽ മുഖ്യമന്ത്രി സ്ഥാനം 2026 മെയ് 4ന് രാജി വെച്ചു. 2026 മെയ് 14ന് ചേർന്ന സി.പി.എം സംസ്ഥാന കമ്മിറ്റി യോഗം പതിനാറാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായി പിണറായി വിജയനെ തിരഞ്ഞെടുത്തു. മാർക്സിസ്റ്റ് പാർട്ടിയുടെ പ്രത്യയശാസ്ത്രത്തിനുമപ്പുറം പ്രായോഗിക രാഷ്ട്രീയത്തിന് മുൻതൂക്കം നൽകുന്ന രാഷ്ട്രീയ നേതാവായാണ് പിണറായി വിജയൻ സി.പി.എമ്മിൽ അറിയപ്പെടുന്നത്.<ref>https://www.manoramaonline.com/news/kerala/2025/05/24/cm-pinarayi-vijayan-80th-birthday.html</ref> <ref name=":0">{{Cite web|url=https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|title=രണ്ടാം പിണറായി സർക്കാറിലെ മന്ത്രിമാരുടെ വകുപ്പുകൾ ഇങ്ങനെ...|access-date=21 May 2021|date=21 May 2021|publisher=മാധ്യമം|archive-date=2021-05-21|archive-url=https://archive.today/20210521124207/https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|url-status=bot: unknown}}</ref><ref name=":1">{{Cite web|url=https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|title=മന്ത്രിമാരുടെ വകുപ്പുകൾ തീരുമാനിച്ച്‌ ഉത്തരവായി; ന്യൂനപക്ഷ ക്ഷേമവും പ്രവാസിക്ഷേമവും മുഖ്യമന്ത്രിക്ക്‌|access-date=21 May 2021|date=21 May 2021|publisher=ദേശാഭിമാനി|archive-date=2021-05-21|archive-url=https://archive.today/20210521124004/https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|url-status=bot: unknown}}</ref> == കേരള മുഖ്യമന്ത്രി == കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്നവരുടെ പട്ടികയിൽ രണ്ടാം സ്ഥാനത്താണ് നിലവിൽ പിണറായി വിജയൻ. നിയമസഭ തിരഞ്ഞെടുപ്പ് പരാജയത്തെ തുടർന്ന് മുഖ്യമന്ത്രി സ്ഥാനം രാജി വച്ച 2026 മെയ് നാലാം തീയതി വരെ<ref>[https://keralakaumudi.com/news/mobile/news.php?id=1741594&u=cm-pinarayi-vijayan-to-resign-tommorow പിണറായി വിജയൻ രാജി വെച്ചു]</ref> 2016 മുതൽ 2026 വരെയുള്ള പത്ത് വർഷം തുടർച്ചയായി 3633 ദിവസം മുഖ്യമന്ത്രി പദവിയിൽ തുടർന്നു. (ആകെ 9 വർഷം, 11 മാസം, 9 ദിവസം)<ref>[https://www.manoramanews.com/kerala/politics/2025/04/14/cm-pinarayi-vijayan-the-chief-minister-who-is-rewriting-history.html പിണറായിക്ക് മുന്നിൽ ഇനി നായനാർ മാത്രം]</ref> മുൻ മുഖ്യമന്ത്രിയും മുതിർന്ന ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് നേതാവുമായിരുന്ന ലീഡർ കെ.കരുണാകരനെയാണ് (3246 ദിവസം) 2025 ഏപ്രിൽ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നത്. മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സമുന്നത നേതാവായിരുന്ന ഇ.കെ.നായനാരാണ് (4009 ദിവസം) കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി പദവിയിലിരുന്നത്. 2023 ഫെബ്രുവരി പതിനേഴിന് മുൻ മുഖ്യമന്ത്രി സി.അച്യുതമേനോന് തൊട്ട് പിന്നിൽ നാലാം സ്ഥാനത്ത് (2459 ദിവസം) എത്തിയിരുന്നു പിണറായി വിജയൻ. 1970 മുതൽ 1977 വരെ തുടർച്ചയായി മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്ന സി.അച്യുതമേനോൻ്റെ റെക്കോർഡ് (2364 ദിവസം) 2022 നവംബർ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നിരുന്നു. കേരളത്തിൽ ഇതുവരെ 12 പേർ മുഖ്യമന്ത്രിമാരായിട്ടുണ്ട് എങ്കിലും തുടർച്ചയായി രണ്ട് മന്ത്രിസഭകളിൽ മുഖ്യമന്ത്രിയാവാൻ അവസരം ലഭിച്ചത് പിണറായി വിജയന് മാത്രമാണ്. ഏറ്റവും കൂടുതൽ ദിവസം (31) കാവൽ മുഖ്യമന്ത്രിയായതിൻ്റെ റെക്കോർഡും പിണറായി വിജയന് തന്നെയാണ്. 2021 മെയ് മൂന്ന് മുതൽ മെയ് 20 വരെയും 2026 മെയ് നാല് മുതൽ മെയ് 18 വരെയുമാണ് അദ്ദേഹം സംസ്ഥാനത്തിൻ്റെ കാവൽ മുഖ്യമന്ത്രിയായിരുന്നത്.<ref>[https://www.manoramaonline.com/news/kerala/2023/08/17/pinarayi-vijayan-is-third-in-the-list-of-longest-tenured-cm-of-kerala.html മുഖ്യമന്ത്രി പദവിയിൽ അച്യുതമേനോനെ മറികടന്ന് പിണറായി വിജയൻ]</ref><ref>{{Cite web|url=https://keralacm.gov.in/ml/%e0%b4%ae%e0%b5%81%e0%b4%96%e0%b5%8d%e0%b4%af%e0%b4%ae%e0%b4%a8%e0%b5%8d%e0%b4%a4%e0%b5%8d%e0%b4%b0%e0%b4%bf%e0%b4%af%e0%b5%81%e0%b4%9f%e0%b5%86-%e0%b4%95%e0%b5%80%e0%b4%b4%e0%b4%bf%e0%b4%b2%e0%b5%81/|title=മുഖ്യമന്ത്രിയുടെ കീഴിലുള്ള വകുപ്പുകൾ - Official website of Kerala Chief Minister|access-date=2023-10-23|date=2021-05-18|language=ml-IN}}</ref> == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=deviated |archivedate=2021-11-11 |archiveurl=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-05-10 |archive-url=https://web.archive.org/web/20210510182516/http://www.keralaassembly.org/ |url-status=dead }}</ref> ! വർഷം !! മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും !! പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും |- | 2026 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || അഡ്വ. വി പി അബ്ദുൽ റഷീദ് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- |- | 2021 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || സി രഘുനാഥ്‌ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 2016 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || [[മമ്പറം ദിവാകരൻ]] |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1996 || [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം]], [[എൽ.ഡി.എഫ്]]||കെ എൻ കണ്ണോത്ത് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1991 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]] || [[പി. രാമകൃഷ്ണൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- | 1977 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| അബ്ദുൾ ഖാദർ|| [[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- | 1970 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| തായത്ത് രാഘവൻ്|| [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- |} ==ലാവ്‌ലിൻ കേസ്== 1996 മുതൽ 1998 കാലഘട്ടത്തിൽ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിൽ [[വിദ്യുച്ഛക്തി]] മന്ത്രിയായിരിക്കുമ്പോൾ, [[എസ്.എൻ.സി. ലാവലിൻ|ലാവലിൻ കമ്പനിയുമായി]] നടന്ന സർക്കാർ ഇടപാടിൽ അഴിമതി നടന്നിട്ടുണ്ടെന്ന് ആരോപണമുണ്ടായി. ഇതിനെ തുടർന്ന് [[ഐക്യ ജനാധിപത്യ മുന്നണി|യു. ഡി. എഫ്]] ഭരണകാലത്ത് [[സംസ്ഥാന വിജിലൻസ്]] അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു <ref name="oneindia">{{cite web |url=http://news.oneindia.in/2006/03/01/kerala-govt-to-hand-over-snc-lavalin-case-to-cbi-chandy-1141211398.html |title=Kerala Govt to hand over SNC Lavalin case to CBI: Chandy |date=1 March 2006 |quote=Vigilance Director Upendra Verma was also shunted out of the department a day after the investigating agency filed an FIR in the court without naming any politician in the list of accused. |publisher=One India |accessdate=19 June 2012 }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ പിന്നീട് കേസ് അന്വേഷിച്ച [[സി.ബി.ഐ]] പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. സിപിഐ(എം) നേതൃത്വത്തിലുള്ള ഇടതുപക്ഷജനാധിപത്യമുന്നണി [[കേരളാ മന്ത്രിസഭ|മന്ത്രിസഭ]] സഭ അതിന് അനുമതി നിഷേധിച്ചെങ്കിലും അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്. ഗവായി]] അദ്ദേഹത്തെ പ്രോസിക്യൂട്ട്‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു സിപിഐ(എം) ആരോപിച്ചിരുന്നു. [[കേരളാ ഗവർണ്ണർ|കേരളാ ഗവർണ്ണറുടെ]] ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീം കോടതി (ഇന്ത്യ)|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. തുടർന്നുള്ള അന്വേഷണത്തിൽ പിണറായി വിജയൻ ലാവലിൻ ഇടപാടിൽ സാമ്പത്തികലാഭം ഉണ്ടാക്കിയതിനു തെളിവ് ലഭിച്ചിട്ടില്ലന്ന് [[സി.ബി.ഐ]] കോടതിയിൽ [[സത്യവാങ്മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]{{Dead link|date=February 2020}}</ref><ref>{{cite web |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |accessdate=29 ഏപ്രിൽ 2010 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |archivedate=ഫെബ്രുവരി 17, 2020 |date=18 ഏപ്രിൽ 2010}}</ref>. തുടർന്ന് കേസിന്റെ വിചാരണ നടന്നിരുന്ന തിരുവനന്തപുരം സി.ബി.ഐ. കോടതിയിൽ പിണറായി വിജയൻ ഉൾപ്പെടെ ഏഴുപേർ വിടുതൽ ഹർജി സമർപ്പിച്ചു. അത് പരിഗണിച്ച കോടതി പിണറായി വിജയനെ കേസിൽ പ്രതിചേർത്ത് വിചാരണ തുടരാനുള്ള വസ്തുതകൾ സി.ബി.ഐ. സമർപ്പിച്ച കുറ്റപത്രത്തിൽ അടങ്ങിയിട്ടില്ലെന്ന് കണ്ടെത്തുകയും അഴിമതി, അധികാരദുർവിനിയോഗം, കുറ്റകരമായ ഗൂഢാലോചന തുടങ്ങിയ ആരോപണങ്ങൾ അടങ്ങിയ കുറ്റപത്രം തന്നെ നിലനിൽക്കില്ലെന്നും പ്രസ്താവിച്ചു. <ref>[http://www.manoramanews.com/cgi-bin/MMOnline.dll/portal/ep/mmtvContentView.do?BV_ID=@@@&tabId=14&programId=9958837&contentId=15387617 ലാവലിൻ കേസിൽ പിണറായി ഉൾപ്പെടെയുള്ളവരുടെ ഹർജി അനുവദിച്ചു]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=സെപ്റ്റംബർ 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> നിലവിൽ ഈ സിബിഐ നൽകിയ അപ്പീലിൽ സുപ്രീം കോടതി പിണറായി വിജയന് നോട്ടീസ് അയച്ചിരിക്കുകയാണ്. == വിമർശനങ്ങൾ == *നായനാർ മന്ത്രിസഭയിൽ വൈദ്യുതിമന്ത്രിയായിരുന്ന കാലത്ത് [[പന്നിയാർ]]-[[ചെങ്കുളം]]-[[പള്ളിവാസൽ]] പദ്ധതികളുടെ നവീകരണത്തിനായി [[കാനഡ|കാനഡയിലെ]] [[എസ്.എൻ.സി. ലാവ്‌ലിൻ]] എന്ന കമ്പനിയുമായി ഇദ്ദേഹം ഒപ്പുവച്ച{{തെളിവ്}} കരാറിനെക്കുറിച്ച് ആരോപണമുണ്ടായതിനെ തുടർന്ന് [[യു. ഡി. എഫ്]] ഭരണകാലത്ത് സംസ്ഥാന വിജിലൻസ് അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു. എന്നാൽ അടുത്ത തിരഞ്ഞെടുപ്പ് കാലത്ത് ഇത് വീണ്ടും അന്വേഷിക്കാൻ സി.ബി.ഐ-യെ ഏൽപിക്കാൻ [[യു. ഡി. എഫ്]] തീരുമാനിച്ചു. തുടർന്ന് സി.ബി.ഐ. പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. [[അഡ്വേക്കേറ്റ് ജനറൽ|അഡ്വേക്കേറ്റ് ജനറലിന്റേയും]], [[കേരളാ മന്ത്രിസഭ|കേരളാ മന്ത്രിസഭയുടേയും]] ഉപദേശം മറികടന്ന് അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്‌. ഗവായ്‌]] സ്വന്തം നിലയിൽ പ്രോസിക്യൂട്ട്[‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു ആരോപണമുയർന്നു. കേരളാ ഗവർണ്ണറുടെ ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീംകോടതി|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. അന്വേഷണത്തിലൂടെ പിണറായി വിജയൻ അഴിമതി നടത്തിയില്ലെന്നു തെളിഞ്ഞതിനു ശേഷം സി.ബി.ഐ തന്നെ അപ്രകാരം കോടതിയിൽ [[സത്യവാങ്‌മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]</ref><ref>{{Cite web |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010 |access-date=2010-04-29 |archive-date=2012-05-29 |archive-url=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |url-status=deviated |archivedate=2012-05-29 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala }}</ref>. അടിസ്ഥാനരഹിതമായ ആരോപണങ്ങൾ ഉന്നയിച്ച് അദ്ദേഹത്തെ വ്യക്തിഹത്യ ചെയ്യാനുള്ള ശ്രമമാണു കേസിനു പിന്നിൽ എന്ന് സി.പി.ഐ.(എം) ആരോപിക്കുന്നു<ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn200410.pdf |title=ലാവ്‌ലിൻ:സത്യം തെളിഞ്ഞു |access-date=2010-04-30 |archive-date=2016-03-05 |archive-url=https://web.archive.org/web/20160305011832/http://www.deshabhimani.com/e_paper/1chn200410.pdf |url-status=dead }}</ref><ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn190410.pdf |title=അവഹേളിച്ചതിന്റെ ഉത്തരവാദിത്തം ആര് ഏറേറെടുക്കും |access-date=2010-04-30 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304213826/http://www.deshabhimani.com/e_paper/1chn190410.pdf |url-status=dead }}</ref>. *2007 ഫെബ്രുവരി 16ന് ചെന്നൈ വിമാനത്താവളത്തിൽ വച്ച് സുരക്ഷാ പരിശോധനക്കിടെ പിണറായി വിജയന്റെ ബഗേജിൽ നിന്നും 5 വെടിയുണ്ടകൾ ഉദ്യോഗസ്ഥർ കണ്ടെടുക്കുകയുണ്ടായി. ലൈസൻസിന്റെ പകർപ്പ് ഫാക്സ് ആയി ലഭിച്ചതിനു ശേഷം ഉദ്യോഗസ്ഥർ അദ്ദേഹത്തെ പോകാൻ അനുവദിച്ചു.<ref>{{Cite web |url=http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2007-02-22 |archive-url=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |url-status=deviated |archivedate=2007-02-22 |archiveurl=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm }}</ref> *തൊഴിലാളി നേതാവായി ഉയർന്നുവന്ന പിണറായിയുടെ മകന്റെ ബർമിങ്ഹാം യൂണിവേഴ്സിറ്റിയിലെ വിദ്യാഭ്യാസവും മകളുടെ സ്വാശ്രയ കോളേജിലെ പഠനവുമെല്ലാം അദ്ദേഹത്തിനെതിരെയുള്ള മറ്റു വിമർശനങ്ങളിൽ ചിലതാണ്‌. <ref>http://thatsmalayalam.oneindia.mobi/news/2008/02/14/51199.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ കേരള ആദായ നികുതി വകുപ്പ് 2008 ജനുവരിയിൽ ഹൈക്കോടതിക്ക് നൽകിയ സത്യവാങ്ങ്‌മൂലത്തിൽ പിണറായിയുടെ മകന്റെ ബർമിങ്ങ്ഹാം സർവ്വകലാശാലയിലെ പഠിപ്പിന് പിണറായി വിജയൻ വക സാമ്പത്തിക സഹായമൊന്നും നൽകുകയുണ്ടായില്ല എന്ന വ്യക്തമാക്കുകയുണ്ടായി.<ref>{{cite web|title = മകന്റെ വിദേശപഠന ചെലവ്‌ പിണറായി വഹിച്ചിട്ടില്ല - ആദായനികുതി വകുപ്പ്‌.|publisher = [[മാതൃഭൂമി]]|url = http://www.mathrubhumi.com/php/newFrm.php?news_id=12209&n_type=HO&category_id=3&Farc=T&previous=Y|date = ജനുവരി 2, 2008|accessdate = ഓഗസ്റ്റ് 7, 2009|language = മലയാളം}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> *കേരളത്തിലെ ചില മുഖ്യധാരാ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗമായി [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-നെതിരെ ഒരു ശക്തമായ മാധ്യമസിന്റിക്കേറ്റ് പ്രവർത്തിക്കുന്നതായി അദ്ദേഹം കരുതുന്നു. അത് ചില ഉദാഹരണസഹിതം അദ്ദേഹം പ്രസ്താവിച്ചതിനാൽ ആ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗത്ത് നിന്ന് അദ്ദേഹത്തിന് എതിരെ ശക്തമായ വിമർശങ്ങളുണ്ടായി . {{fact}} *മാധ്യമസിന്റിക്കേറ്റിനെതിരെ അദ്ദേഹം നടത്തിയ പ്രസ്താവനയെ, [[മാതൃഭൂമി]] പത്രാധിപനെതിരായ ഭീഷണിപ്പെടുത്തലായി ചിത്രീകരിച്ച് പത്രാധിപരുടെ ഗിൽഡ് അപലപിച്ചിരുന്നു. <ref>{{Cite web |url=http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2009-02-09 |archive-url=https://web.archive.org/web/20090209172703/http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |url-status=dead }}</ref><ref> http://www.financialexpress.com/news/CPIM-mouth-piece-snipes-at-Editors-Guild/204556/ </ref> *പിണറായി വിജയൻ കൊട്ടാരതുല്യമായ വീട് നിർമ്മിച്ചതിനെപ്പറ്റി അന്വേഷിക്കാൻപോയ നാലു സഖാക്കളെ സസ്‌പെന്റ് ചെയ്തുകൊണ്ടാണ് പിണറായി വിജയൻ തനിക്കെതിരായ വിമർശനത്തെ അടിച്ചമർത്തിയത് എന്ന ആരോപണം വലിയ വിവാദം ആയിരുന്നു. ഒരു തൊഴിലാളി നേതാവിന് ഇത്രയും വലിയ വീട് പണിതത്തിനെ കുറിച്ചു പാർട്ടിയിൽ തന്നെ നിരവധി വാക്കേറ്റങ്ങൾക്കു കാരണം ആയി. 4 സഖാക്കളെ [[സി.പി.ഐ.എം]] പുറത്താക്കിയത് വേറെ കാരണങ്ങളായിരുന്നു എന്നതായിരുന്നു പിന്നീടുള്ള പത്രറിപ്പോർട്ട്.<ref>http://www.indianexpress.com/news/why-none-dares-talk-about-pinarayi/473293/0</ref> . ==അവലംബം== {{reflist|2}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * http://www.cpim.org/bio/pinarayi_vijayan.htm {{Webarchive|url=https://web.archive.org/web/20080225150859/http://www.cpim.org/bio/pinarayi_vijayan.htm |date=2008-02-25 }} *[http://malablo.com/പിണറായി-വിജയൻജീവിത-വഴിക/ പിണറായി വിജയൻ ജീവിത വഴികളിലൂടെ.] {{Webarchive|url=https://web.archive.org/web/20200716211615/http://malablo.com/%E0%B4%AA%E0%B4%BF%E0%B4%A3%E0%B4%B1%E0%B4%BE%E0%B4%AF%E0%B4%BF-%E0%B4%B5%E0%B4%BF%E0%B4%9C%E0%B4%AF%E0%B5%BB%E0%B4%9C%E0%B5%80%E0%B4%B5%E0%B4%BF%E0%B4%A4-%E0%B4%B5%E0%B4%B4%E0%B4%BF%E0%B4%95/ |date=2020-07-16 }} {{commons category|Pinarayi Vijayan}} {{S-start}} {{s-off}} {{s-bef|before=[[ഉമ്മൻ ചാണ്ടി]]}} {{s-ttl|title=[[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=25 മേയ് 2016 – 04 മേയ് 2026}} {{s-aft|after= [[വി.ഡി. സതീശൻ]]}} {{S-end}} {{CMs of Kerala}} {{Fourteenth KLA}} {{DEFAULTSORT:വിജയൻ}} [[വർഗ്ഗം:1944-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മാർച്ച് 21-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:നിരീശ്വരവാദികൾ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഒൻപതാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പത്താം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സഹകരണവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ വൈദ്യുതിവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:സി.പി.ഐ.എം. സംസ്ഥാന സെക്രട്ടറിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ.എം. പ്രവർത്തകർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥയിൽ തടവിലാക്കപ്പെട്ടവർ]] [[വർഗ്ഗം:കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)-ൽ നിന്നുള്ള മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആഭ്യന്തരമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഐ.ടി. വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രിന്റിംഗ്, സ്റ്റേഷനറി വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] ni34qs03sqeabe2017dvsjmgc035j2d 4622194 4622106 2026-05-23T08:51:07Z Altocar 2020 144384 /* */ 4622194 wikitext text/x-wiki {{prettyurl|Pinarayi Vijayan}} {{ToDisambig|വാക്ക്= പിണറായി}} {{Infobox officeholder | name = പിണറായി വിജയൻ | image = File:Vijayan.Dharmadam.CM.jpg | caption = | imagesize = | office = പതിനാറാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവ് | term_start = [[മേയ് 19]] [[2026]] | predecessor = [[വി.ഡി. സതീശൻ]] | office1 = [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ പന്ത്രണ്ടാമത്തെ മുഖ്യമന്ത്രി]] | term_start1 = [[മേയ് 04]] [[2026]] | term_end1 = [[മേയ് 18]] [[2026]] | predecessor1 = [[പിണറായി വിജയൻ]] | successor1 = [[വി.ഡി. സതീശൻ]] | term_start2 = [[മേയ് 25]] [[2016]] | term_end2 = [[മേയ് 4]] [[2026]] | predecessor2 = [[ഉമ്മൻ ചാണ്ടി]] | successor2 = [[ പിണറായി വിജയൻ]] | constituency2 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | office3 = [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.ഐ(എം)]] കേരള സംസ്ഥാന സെക്രട്ടറി | term_start3 = [[സെപ്റ്റംബർ 25]] [[1998]] | term_end3 = [[ഫെബ്രുവരി 23]] [[2015]] | predecessor3 = [[ചടയൻ ഗോവിന്ദൻ]] | successor3 = [[കോടിയേരി ബാലകൃഷ്ണൻ]] | office4 = കേരളത്തിന്റെ വൈദ്യുതി, സഹകരണ വകുപ്പ് മന്ത്രി | term_start4 = [[മേയ് 20]] [[1996]] | term_end4 = [[ഒക്ടോബർ 19]] [[1998]] | predecessor4 = [[ജി. കാർത്തികേയൻ]], [[എം.വി. രാഘവൻ]] | successor4 = [[എസ്. ശർമ്മ]] | office5 = കേരളനിയമസഭാംഗം | constituency5 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | term_start5 = [[മേയ് 21]] [[2016]] | term_end5 = | predecessor5 = [[കെ.കെ. നാരായണൻ]] | successor5 = | constituency6 = [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം|പയ്യന്നൂർ]] | term_start6 = [[മേയ് 14]] [[1996]] | term_end6 = [[മേയ് 16]] [[2001]] | predecessor6 = [[സി.പി. നാരായണൻ]] | successor6 = [[പി.കെ. ശ്രീമതി]] | constituency7 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start7 = [[ജൂൺ 21]] [[1991]] | term_end7 = [[മേയ് 14]] [[1996]] | predecessor7 = [[കെ.പി. മമ്മു]] | successor7 = [[കെ.കെ. ശൈലജ]] | constituency8 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start8 = [[ഒക്ടോബർ 4 ]] [[1970]] | term_end8 = [[നവംബർ 11]] [[1979]] | predecessor8 = [[കെ.കെ. അബു]] | successor8 = [[എം.വി. രാഘവൻ]] | office9 = സംസ്ഥാന ആഭ്യന്തരവകുപ്പിൻ്റെ അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി | term9 = 2016 - 2026 | predecessor9 = [[രമേശ് ചെന്നിത്തല]] | successor9 =[[രമേശ് ചെന്നിത്തല]] | birth_date = {{Birth date and age|1945|05|24|df=yes}} | birth_place = [[പിണറായി]], [[തലശേരി]], [[കണ്ണൂർ]][[ജില്ല]] | residence = [[ക്ലിഫ് ഹൗസ്]], [[തിരുവനന്തപുരം]], [[കേരളം]] | death_date = | death_place = | party = [[File:CPI-M-flag.svg|50px]] [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം.]] | religion = [[നിരീശ്വരവാദം]] | father = മാറോളി കോരൻ | mother = ആലക്കാട്ട് കല്യാണി | spouse = ടി. കമല | children = വിവേക് കിരൺ, വീണ | website = www.keralacm.gov.in | footnotes = | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/139%20Pinarayi%20Vijayan.pdf നിയമസഭ | signature = Pinarayi Vijayan Signature.png }} 2016 മുതൽ 2026 വരെ തുടർച്ചയായി പത്ത് വർഷക്കാലം [[കേരളം|കേരളത്തിന്റെ]] [[മുഖ്യമന്ത്രി]]യായിരുന്ന മുതിർന്ന [[സി.പി.എം]] നേതാവാണ് '''പിണറായി വിജയൻ.(ജനനം: 24 മെയ് 1945)''' 2016 മേയ് 25-നാണ് കേരള മുഖ്യമന്ത്രിയായി ആദ്യമായി സ്ഥാനമേറ്റത്. രണ്ടാം തവണ 2021 മേയ് 20-ന് അധികാരമേറ്റു. <ref name=":0" /><ref name=":1" /> <ref>{{Cite web|url=https://ia601506.us.archive.org/25/items/business-of-the-government-among-the-ministers-2021/Business%20of%20the%20Government%20among%20the%20Ministers%202021.pdf|title=KERALA GAZETTE dt 2021 േമയ 20|access-date=21 May 2021|date=20 May 2021|publisher=Kerala Government}}</ref> 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ എൽഡിഎഫ് പരാജയപ്പെട്ടതിനാൽ മെയ് 4ന് രാജി സമർപ്പിച്ചു. സംസ്ഥാന [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തര വകുപ്പിൻ്റെ]] അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി ആയിരുന്നു പിണറായി വിജയൻ.<ref>{{Cite web|url=https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|title=Kerala Chief Minister {{!}} Shri. Pinarayi Vijayan {{!}} Official web portal of Kerala Government|access-date=2023-10-24|archive-date=2023-12-03|archive-url=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|url-status=deviated|archivedate=2023-12-03|archiveurl=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=}}</ref><ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/21/kerala-government-ministers-portfolio-list.html|title=മുഖ്യമന്ത്രിക്ക് 17ൽ പരം വകുപ്പുകൾ; വനിതാ ശിശുക്ഷേമവും വീണയ്ക്ക്|access-date=2023-10-24|language=ml}}</ref> നിലവിൽ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-ന്റെ പൊളിറ്റ് ബ്യൂറോ അംഗമായ പിണറായി വിജയൻ, 1998 മുതൽ 2015 വരെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ കേരളം ഘടകം സംസ്ഥാന സെക്രട്ടറിയായിരുന്നു. [[ഇ.കെ. നായനാർ|ഇ.കെ.നായനാർക്ക്]] ശേഷം കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടറിയായതും പിണറായി വിജയനാണ്. കേരളത്തിലെ കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ വിദ്യാർത്ഥി, യുവജന സംഘടനാ പ്രവർത്തനത്തിലൂടെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ നേതൃനിരയിലെത്തിയ പിണറായി വിജയൻ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]] [[കണ്ണൂർ]] ജില്ലാ സെക്രട്ടറിയായും കേരള സംസ്ഥാന സഹകരണ ബാങ്കിന്റെ പ്രസിഡന്റായും പ്രവർത്തിച്ചിട്ടുണ്ട്. [[ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥ (1975)|അടിയന്തരാവസ്ഥക്കാലത്ത്]] പതിനെട്ടുമാസം കണ്ണൂർ സെൻട്രൽജയിലിൽ രാഷ്ട്രീയ തടവുകാരനായിരുന്നു. 1970-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 26-മത്തെ വയസ്സിൽ [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ് മണ്ഡലത്തെ]] പ്രതിനിധീകരിച്ച്‌ ആദ്യമായി കേരള നിയമസഭയിൽ അംഗമായി. 1977-ലും 1991-ലും കൂത്തുപറമ്പ് മണ്ഡലത്തിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിൽ നിന്നും നിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016 മുതൽ ധർമ്മടം മണ്ഡലത്തിൽ നിന്നുള്ള നിയമസഭാംഗമാണ്‌. 1996 മുതൽ 1998 വരെ മൂന്നാം [[ഇ.കെ. നായനാർ|ഇ.കെ നായനാർ]] മന്ത്രിസഭയിൽ വിദ്യുച്ഛക്തി-സഹകരണ വകുപ്പുകളുടെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു.<ref>http://specials.manoramaonline.com/News/2017/ldf-government-anniversary/index.html</ref> ഈ കാലഘട്ടത്തിൽ കേരളത്തിലെ വൈദ്യുതി ഉൽപാദനം, വിതരണം എന്നിവ വളരെ കാര്യക്ഷമമാക്കുന്നതിലും, [[കേരളാ സ്റ്റേറ്റ് ഇലക്ട്രിസിറ്റി ബോർഡ്|കേരള സംസ്ഥാന വൈദ്യുതി ബോർഡ്]]ന്റെ പ്രവർത്തനം മെച്ചപ്പെടുത്തുന്നതിലും പ്രധാന പങ്ക് വഹിച്ചു<ref name="mabhu-98">{{cite news |title=മാതൃഭൂമി മുഖപ്രസംഗം |newspaper=മാതൃഭൂമി |quote=വൈദ്യുത ഉല്പാദന വിതരണ രം‌ഗങ്ങളിൽ ഗണ്യമായ നേട്ടങ്ങൾ വിജയന്റെ കാലത്തുണ്ടായിട്ടുണ്ട്. എല്ലാം അദ്ദേഹം മുൻകയ്യെടുത്ത് ചെയ്തുവെന്നല്ല; തുടങ്ങിവെച്ചവയും പണിതീരാതെ അനന്തമായി നീളുന്നവയുമായ പദ്ധതികൾക്കും പരിപാടികൾക്കും വേണ്ടിയിരുന്നത് ഒരു ഉന്ത് ആണ്. അതദ്ദേഹം കൊടുത്തു. ലോവർ പെരിയാറിൽ നിന്നും ബ്രഹ്മപുരത്തു നിന്നും വൈദ്യുതി കിട്ടുവാൻ തുടങ്ങി. [[കക്കാട് (വിവക്ഷകൾ)|കക്കാട്]] പദ്ധതിക്ക് പുനരുജ്ജീവനമായി. ആതിരപ്പള്ളിയും കുറ്റ്യാടി എക്സ്റ്റൻഷനും വീണ്ടും ചലിച്ചു തുടങ്ങി. കേരളത്തിനു വേണ്ടി ഒരു വൈദ്യുത വികസനനയം പ്രഖ്യാപിച്ചത് വിജയനാണ്. അത് പൊതുമേഖലയ്ക്കും സ്വകാര്യമേഖലയ്ക്കും പരിമിതമായ വിദേശമൂലധനത്തിനും സ്ഥാനം നൽകുന്ന ഒന്നായിരുന്നു. വിമർശനങ്ങളെ അവഗണിച്ച്, കോഴിക്കോടെ ഡീസൽ വൈദ്യുതകേന്ദ്രം സ്ഥാപിക്കുന്ന ജോലി അദ്ദേഹം തുടങ്ങി വച്ചു. ചീനയിൽ നിന്നുള്ള സഹായ സഹകരണങ്ങളോടെ ചെറുകിട വൈദ്യുത പദ്ധതികൾ തുടങ്ങുവാൻ പരിപാടിയുണ്ടാകി... വിജയൻ മന്ത്രിയാകുന്ന സമയത്ത് വ്യവസായങ്ങൾക്ക് നൂറ് ശതമാനം പവർകട്ട് ആയിരുന്നു. വീടുകൾക്ക് ലോഡ്‌ഷെഡിങ്ങ് വേറെ. ധാരാളം മഴ കിട്ടിയിട്ട് വൈദ്യുതി ഉല്പാദനം മെച്ചപ്പെട്ടു; ഒന്ന് രണ്ട് പദ്ധതികൾ ഉല്പാദനക്ഷമങ്ങളായി; കിഴക്കൻ ഗ്രിഡിൽ നിന്ന് വൈദ്യുതി വാങ്ങുവാൻ മന്ത്രി ഏർപ്പാടുമുണ്ടാക്കി. എല്ലാം കൂടി, മൂന്നു കൊല്ലത്തിനകം, വ്യവസായങ്ങൾക്കുള്ള പവർകട്ട് മുഴുവൻ നീക്കാൻ വിജയനു കഴിഞ്ഞു; ജില്ലാ ആസ്ഥാനങ്ങളിൽ ലോഡ് ഷെഡിങ്ങും നിർത്തി... |date=22 ഒക്ടോബർ 1998 |accessdate=20 June 2012}}</ref>. == ജീവിതരേഖ == [[കണ്ണൂർ ജില്ല|കണ്ണൂർ ജില്ലയിലെ]] തലശ്ശേരി താലൂക്കിലെ [[പിണറായി]] പഞ്ചായത്തിലെ ഒരു കർഷക കുടുംബത്തിൽ കള്ള്-ചെത്ത് തൊഴിലാളിയായിരുന്ന മുണ്ടയിൽ കോരന്റെയും ആലക്കണ്ടി കല്യാണിയുടെയും ഇളയ മകനായി ഇടവമാസത്തിലെ ചോതി നക്ഷത്രത്തിൽ 1945 മേയ് 24-ന്‌ ജനനം.<ref>https://english.mathrubhumi.com/news/kerala/pinarayi-turns-76-today-and-it-is-a-special-day-1.5690611</ref> കുമാരനും നാണുവും ജ്യേഷ്ഠ സഹോദരങ്ങളാണ്. പതിനാല് സഹോദരങ്ങളിൽ രണ്ട് പേരൊഴികെ ബാക്കി എല്ലാവരും മരിച്ചു. രണ്ടാമത്തെ സഹോദരനായിരുന്ന കുമാരനിലൂടെയാണ് വിജയൻ കമ്മ്യൂണിസ്റ്റായത്. പിണറായി ശാരദ വിലാസം എൽ പി സ്കൂളിലും പെരളശേരി ഗവ.ഹൈസ്കൂളിലുമായി വിദ്യാഭ്യാസം. സ്കൂൾ ഫൈനലിനു ശേഷം ഒരു വർഷം നെയ്ത്ത് തൊഴിലാളിയായി. പിന്നീടാണ് പ്രീ- യൂണിവേഴ്സിറ്റി കോഴ്സിന് തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ ചേർന്നത്.<ref>{{Cite web |url=https://www.keralacm.gov.in/mal/?page_id=13 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-01-13 |archive-date=2020-11-28 |archive-url=https://web.archive.org/web/20201128170716/https://www.keralacm.gov.in/mal/?page_id=13 |url-status=dead }}</ref> '''സ്വകാര്യ ജീവിതം''' തലശ്ശേരി സെന്റ് ജോസഫ്‌സ് സ്കൂൾ അദ്ധ്യാപിക [[ഒഞ്ചിയം ഗ്രാമപഞ്ചായത്ത്|ഒഞ്ചിയം]] കണ്ണൂക്കര സ്വദേശിനി ടി. കമലയാണ് ഭാര്യ. വിവേക് കിരൺ, വീണ എന്നിവർ മക്കൾ.<ref>{{Cite web |url=https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2021-02-26 |archive-url=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |url-status=deviated |archivedate=2021-02-26 |archiveurl=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php }}</ref> ==രാഷ്ട്രീയ ജീവിതം== [[File:Pinarayi vijayan klf.jpg|thumb|പിണറായി വിജയൻ കോഴിക്കോട് ലിറ്ററേച്ചർ ഫെസ്റ്റിവലിൽ (2017)]] വിദ്യാർത്ഥിയായിരുന്ന കാലഘട്ടത്തിൽ തന്നെ രാഷ്ട്രീയത്തിലേയ്ക്ക് കടന്നു വന്നു. എസ്.എഫ്.ഐ യുടെ പൂർവ്വിക സംഘടനയായ കെ.എസ്.എഫിലൂടെയായിരുന്നു രാഷ്ട്രീയ പ്രവേശനം. തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ സാമ്പത്തിക ശാസ്ത്രത്തിന് പഠിക്കുമ്പോൾ കെ.എസ്.എഫ് ന്റെ കണ്ണൂർ ജില്ലാ സെക്രട്ടറിയായി. തുടർന്ന് നിരവധി വിദ്യാർത്ഥി സമര മുന്നേറ്റങ്ങളിൽ നേതൃത്വം വഹിച്ചു. വൈകാതെ കെ.എസ്.എഫ് ന്റെ സംസ്ഥാന സെക്രട്ടറിയായി. തലശ്ശേരി കോടതിയ്ക്ക് സമീപം പിണറായി വിജയൻ നയിച്ച വിദ്യാർത്ഥി മാർച്ചിനു നേരെ പോലീസ് നടത്തിയ ലാത്തി ചാർജ്ജ് ഏറെ കോളിളക്കമുണ്ടാക്കിയിരുന്നു. പിണറായി ഉൾപ്പെടെയുള്ള വിദ്യാർത്ഥി നേതാക്കളെ പോലീസ് മൃഗീയമായി തല്ലിയപ്പോൾ സമീപത്തുള്ള കടലിൽ ചാടിയാണ് വിജയൻ അന്ന് രക്ഷപെട്ടത്. കെ.എസ്.വൈ.എഫിൻ്റെ സംസ്ഥാന വൈസ് പ്രസിഡൻറായും പ്രവർത്തിച്ചു.<ref>{{Cite web |url=https://www.cpimkerala.org/pinarayivijayan-36.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2020-12-05 |archive-url=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php |url-status=deviated |archivedate=2020-12-05 |archiveurl=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php }}</ref> 1964-ൽ [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി]]യിൽ അംഗമായ പിണറായി വിജയൻ 1967-ൽ [[സി.പി.എം]] തലശ്ശേരി മണ്ഡലം സെക്രട്ടറിയായി. 1968-ൽ മാവിലായിൽ നടന്ന കണ്ണൂർ ജില്ല-പ്ലീനറി സമ്മേളനത്തിൽ വച്ച് [[സി.പി.എം]] കണ്ണൂർ ജില്ലക്കമ്മറ്റി അംഗമായി.1972-ൽ സി.പി.എം. കണ്ണൂർ ജില്ല സെക്രട്ടേറിയറ്റ് അംഗമായ പിണറായി വിജയൻ 1978-ൽ പാർട്ടി സംസ്ഥാന കമ്മറ്റിയിലെത്തി. സി.പി.എമ്മിൻ്റെ കണ്ണൂർ ജില്ല സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടേറിയറ്റ് അംഗമായതിനെ തുടർന്ന് 1986-ൽ പിണറായി വിജയൻ [[സി.പി.എം]] [[കണ്ണൂർ]] ജില്ല സെക്രട്ടറിയായി. 1989-ൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടേറിയറ്റിലേയ്ക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടതിനെ തുടർന്ന് പ്രവർത്തനം പാർട്ടി സംസ്ഥാന കമ്മറ്റി ഓഫീസായ എ.കെ.ജി സെൻറർ കേന്ദ്രീകരിച്ചായി. 1998 സെപ്റ്റംബറിൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു. സി.പി.എം സംസ്ഥാന സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] അന്തരിച്ചതിനെ തുടർന്ന് വൈദ്യുതി വകുപ്പിൻ്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രി സ്ഥാനം രാജിവയ്ച്ച് പാർട്ടിയുടെ അമരത്ത് എത്തി. പിന്നീട് 2002-ലെ കണ്ണൂർ സമ്മേളനവും 2005-ലെ മലപ്പുറം സമ്മേളനവും 2008-ലെ കോട്ടയം സമ്മേളനവും 2012-ലെ തിരുവനന്തപുരം സമ്മേളനവും പിണറായി വിജയനെ തന്നെ വീണ്ടും സെക്രട്ടറിയായി തിരഞ്ഞെടുത്തു. മുഖ്യമന്ത്രി [[വി.എസ്. അച്യുതാനന്ദൻ|വി.എസ്. അച്യുതാനന്ദനുമായുള്ള]] അഭിപ്രായഭിന്നത പരസ്യമായി പ്രകടിപ്പിച്ചതിന് 2007 മെയ് 26-ന് പോളിറ്റ് ബ്യൂറോയിൽ നിന്നും സസ്പെൻഡ് ചെയ്യപ്പെട്ടു.<ref>http://www.rediff.com/news/2007/may/26ker.htm</ref> പിന്നീട്‌ [[2007]] [[ഒക്ടോബർ 1]]-ന് പിണറായി വിജയനെ പോളിറ്റ് ബ്യൂറോയിൽ തിരിച്ചെടുത്തു.<ref>http://www.rediff.com/news/2007/oct/01cpm.htm</ref> 2012 ഫെബ്രുവരി 10-ന് തുടർച്ചയായി നാലാം തവണയും സി.പി.എം. സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു.<ref>{{Cite web |url=http://www.mathrubhumi.com/story.php?id=250855 |title=പിണറായി വീണ്ടും സെക്രട്ടറി |access-date=2012-02-10 |archive-date=2012-02-10 |archive-url=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 |url-status=deviated |archivedate=2012-02-10 |archiveurl=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 }}</ref> പിണറായി വിജയനും ഇ.കെ. നായനാരുമാണ് ഏറ്റവും കൂടൂതൽ പ്രാവശ്യം പാർട്ടി സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടവർ. 2015-ൽ ആലപ്പുഴയിൽ വച്ച് നടന്ന പാർട്ടി സംസ്ഥാന സമ്മേളനത്തിൽ പിണറായി വിജയൻ സംസ്ഥാന സെക്രട്ടറി പദവി ഒഴിഞ്ഞതിനെ തുടർന്ന് [[കോടിയേരി ബാലകൃഷ്ണൻ]] പാർട്ടി സംസ്ഥാന സെക്രട്ടറിയായി സ്ഥാനമേറ്റു. 1970-ൽ ഇരുപത്തിയാറാം വയസിൽ നിയമസഭയിൽ അംഗമായ പിണറായി വിജയൻ പാർലമെൻ്ററി രംഗത്തും മികവ് തെളിയിച്ചു. 1970, 1977, 1991 എന്നീ വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ കൂത്ത്പറമ്പിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിനെ പ്രതിനിധീകരിച്ചും നിയമസഭയിലെത്തി. 1996-2001 ലെ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിലെ വൈദ്യുതി-സഹകരണ വകുപ്പിന്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു പിണറായി വിജയൻ. 1998-ൽ കൽക്കട്ടയിൽ വച്ച് നടന്ന [[സി.പി.എം|സി.പി.എമ്മിന്റെ]] പതിനാറാമത് പാർട്ടി കോൺഗ്രസിലൂടെ പാർട്ടിയുടെ കേന്ദ്രകമ്മറ്റി, പൊളിറ്റ് ബ്യൂറോ അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016-ൽ നടന്ന പതിനാലാം കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ധർമടത്ത് നിന്ന് മത്സരിച്ച് ജയിച്ചു. നിയമസഭയിൽ [[ഇടതുമുന്നണി]]യ്ക്ക് ഭൂരിപക്ഷം കിട്ടിയതിനെ തുടർന്ന് 2016 മെയ് 25 ന് [[കേരള]] [[മുഖ്യമന്ത്രി]]യായി അധികാരമേറ്റു. 2021-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ഇടതുമുന്നണി 99 സീറ്റുകൾ നേടിയതിനെ തുടർന്ന് തുടർച്ചയായി രണ്ടാം തവണയും കേരള മുഖ്യമന്ത്രിയായി ചുമതലയേറ്റു. <ref>https://www.mathrubhumi.com/mobile/specials/politics/pinarayi-vijayan{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> അഞ്ച് വർഷ കാലാവധി പൂർത്തിയാക്കി അധികാരത്തുടർച്ച നേടിയ ആദ്യ കേരള മുഖ്യമന്ത്രി എന്ന ചരിത്രനേട്ടത്തിനുടമയായ പിണറായി വിജയൻ മുഖ്യമന്ത്രി എന്ന നിലയിൽ രണ്ടാം തവണ 2021 മേയ് 20 ന് സത്യപ്രതിജ്ഞ ചെയ്തു. 2026-ൽ നടന്ന പതിനാറാം നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ ധർമ്മടത്ത് നിന്ന് ജയിച്ചെങ്കിലും ഇടതുമുന്നണി പരാജയപ്പെട്ടതിനാൽ മുഖ്യമന്ത്രി സ്ഥാനം 2026 മെയ് 4ന് രാജി വെച്ചു. 2026 മെയ് 14ന് ചേർന്ന സി.പി.എം സംസ്ഥാന കമ്മിറ്റി യോഗം പതിനാറാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായി പിണറായി വിജയനെ തിരഞ്ഞെടുത്തു. മാർക്സിസ്റ്റ് പാർട്ടിയുടെ പ്രത്യയശാസ്ത്രത്തിനുമപ്പുറം പ്രായോഗിക രാഷ്ട്രീയത്തിന് മുൻതൂക്കം നൽകുന്ന രാഷ്ട്രീയ നേതാവായാണ് പിണറായി വിജയൻ സി.പി.എമ്മിൽ അറിയപ്പെടുന്നത്.<ref>https://www.manoramaonline.com/news/kerala/2025/05/24/cm-pinarayi-vijayan-80th-birthday.html</ref> <ref name=":0">{{Cite web|url=https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|title=രണ്ടാം പിണറായി സർക്കാറിലെ മന്ത്രിമാരുടെ വകുപ്പുകൾ ഇങ്ങനെ...|access-date=21 May 2021|date=21 May 2021|publisher=മാധ്യമം|archive-date=2021-05-21|archive-url=https://archive.today/20210521124207/https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|url-status=bot: unknown}}</ref><ref name=":1">{{Cite web|url=https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|title=മന്ത്രിമാരുടെ വകുപ്പുകൾ തീരുമാനിച്ച്‌ ഉത്തരവായി; ന്യൂനപക്ഷ ക്ഷേമവും പ്രവാസിക്ഷേമവും മുഖ്യമന്ത്രിക്ക്‌|access-date=21 May 2021|date=21 May 2021|publisher=ദേശാഭിമാനി|archive-date=2021-05-21|archive-url=https://archive.today/20210521124004/https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|url-status=bot: unknown}}</ref> == കേരള മുഖ്യമന്ത്രി == കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്നവരുടെ പട്ടികയിൽ രണ്ടാം സ്ഥാനത്താണ് നിലവിൽ പിണറായി വിജയൻ. നിയമസഭ തിരഞ്ഞെടുപ്പ് പരാജയത്തെ തുടർന്ന് മുഖ്യമന്ത്രി സ്ഥാനം രാജി വച്ച 2026 മെയ് നാലാം തീയതി വരെ<ref>[https://keralakaumudi.com/news/mobile/news.php?id=1741594&u=cm-pinarayi-vijayan-to-resign-tommorow പിണറായി വിജയൻ രാജി വെച്ചു]</ref> 2016 മുതൽ 2026 വരെയുള്ള പത്ത് വർഷം തുടർച്ചയായി 3633 ദിവസം മുഖ്യമന്ത്രി പദവിയിൽ തുടർന്നു. (ആകെ 9 വർഷം, 11 മാസം, 9 ദിവസം)<ref>[https://www.manoramanews.com/kerala/politics/2025/04/14/cm-pinarayi-vijayan-the-chief-minister-who-is-rewriting-history.html പിണറായിക്ക് മുന്നിൽ ഇനി നായനാർ മാത്രം]</ref> മുൻ മുഖ്യമന്ത്രിയും മുതിർന്ന ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് നേതാവുമായിരുന്ന ലീഡർ കെ.കരുണാകരനെയാണ് (3246 ദിവസം) 2025 ഏപ്രിൽ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നത്. മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സമുന്നത നേതാവായിരുന്ന ഇ.കെ.നായനാരാണ് (4009 ദിവസം) കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി പദവിയിലിരുന്നത്. 2023 ഫെബ്രുവരി പതിനേഴിന് മുൻ മുഖ്യമന്ത്രി സി.അച്യുതമേനോന് തൊട്ട് പിന്നിൽ നാലാം സ്ഥാനത്ത് (2459 ദിവസം) എത്തിയിരുന്നു പിണറായി വിജയൻ. 1970 മുതൽ 1977 വരെ തുടർച്ചയായി മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്ന സി.അച്യുതമേനോൻ്റെ റെക്കോർഡ് (2364 ദിവസം) 2022 നവംബർ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നിരുന്നു. കേരളത്തിൽ ഇതുവരെ 12 പേർ മുഖ്യമന്ത്രിമാരായിട്ടുണ്ട് എങ്കിലും തുടർച്ചയായി രണ്ട് മന്ത്രിസഭകളിൽ മുഖ്യമന്ത്രിയാവാൻ അവസരം ലഭിച്ചത് പിണറായി വിജയന് മാത്രമാണ്. ഏറ്റവും കൂടുതൽ ദിവസം (31) കാവൽ മുഖ്യമന്ത്രിയായതിൻ്റെ റെക്കോർഡും പിണറായി വിജയന് തന്നെയാണ്. 2021 മെയ് മൂന്ന് മുതൽ മെയ് 20 വരെയും 2026 മെയ് നാല് മുതൽ മെയ് 18 വരെയുമാണ് അദ്ദേഹം സംസ്ഥാനത്തിൻ്റെ കാവൽ മുഖ്യമന്ത്രിയായിരുന്നത്.<ref>[https://www.manoramaonline.com/news/kerala/2023/08/17/pinarayi-vijayan-is-third-in-the-list-of-longest-tenured-cm-of-kerala.html മുഖ്യമന്ത്രി പദവിയിൽ അച്യുതമേനോനെ മറികടന്ന് പിണറായി വിജയൻ]</ref><ref>{{Cite web|url=https://keralacm.gov.in/ml/%e0%b4%ae%e0%b5%81%e0%b4%96%e0%b5%8d%e0%b4%af%e0%b4%ae%e0%b4%a8%e0%b5%8d%e0%b4%a4%e0%b5%8d%e0%b4%b0%e0%b4%bf%e0%b4%af%e0%b5%81%e0%b4%9f%e0%b5%86-%e0%b4%95%e0%b5%80%e0%b4%b4%e0%b4%bf%e0%b4%b2%e0%b5%81/|title=മുഖ്യമന്ത്രിയുടെ കീഴിലുള്ള വകുപ്പുകൾ - Official website of Kerala Chief Minister|access-date=2023-10-23|date=2021-05-18|language=ml-IN}}</ref> == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=deviated |archivedate=2021-11-11 |archiveurl=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-05-10 |archive-url=https://web.archive.org/web/20210510182516/http://www.keralaassembly.org/ |url-status=dead }}</ref> ! വർഷം !! മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും !! പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും |- | 2026 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || അഡ്വ. വി പി അബ്ദുൽ റഷീദ് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- |- | 2021 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || സി രഘുനാഥ്‌ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 2016 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || [[മമ്പറം ദിവാകരൻ]] |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1996 || [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം]], [[എൽ.ഡി.എഫ്]]||കെ എൻ കണ്ണോത്ത് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1991 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]] || [[പി. രാമകൃഷ്ണൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- | 1977 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| അബ്ദുൾ ഖാദർ|| [[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- | 1970 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| തായത്ത് രാഘവൻ്|| [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- |} ==ലാവ്‌ലിൻ കേസ്== 1996 മുതൽ 1998 കാലഘട്ടത്തിൽ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിൽ [[വിദ്യുച്ഛക്തി]] മന്ത്രിയായിരിക്കുമ്പോൾ, [[എസ്.എൻ.സി. ലാവലിൻ|ലാവലിൻ കമ്പനിയുമായി]] നടന്ന സർക്കാർ ഇടപാടിൽ അഴിമതി നടന്നിട്ടുണ്ടെന്ന് ആരോപണമുണ്ടായി. ഇതിനെ തുടർന്ന് [[ഐക്യ ജനാധിപത്യ മുന്നണി|യു. ഡി. എഫ്]] ഭരണകാലത്ത് [[സംസ്ഥാന വിജിലൻസ്]] അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു <ref name="oneindia">{{cite web |url=http://news.oneindia.in/2006/03/01/kerala-govt-to-hand-over-snc-lavalin-case-to-cbi-chandy-1141211398.html |title=Kerala Govt to hand over SNC Lavalin case to CBI: Chandy |date=1 March 2006 |quote=Vigilance Director Upendra Verma was also shunted out of the department a day after the investigating agency filed an FIR in the court without naming any politician in the list of accused. |publisher=One India |accessdate=19 June 2012 }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ പിന്നീട് കേസ് അന്വേഷിച്ച [[സി.ബി.ഐ]] പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. സിപിഐ(എം) നേതൃത്വത്തിലുള്ള ഇടതുപക്ഷജനാധിപത്യമുന്നണി [[കേരളാ മന്ത്രിസഭ|മന്ത്രിസഭ]] സഭ അതിന് അനുമതി നിഷേധിച്ചെങ്കിലും അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്. ഗവായി]] അദ്ദേഹത്തെ പ്രോസിക്യൂട്ട്‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു സിപിഐ(എം) ആരോപിച്ചിരുന്നു. [[കേരളാ ഗവർണ്ണർ|കേരളാ ഗവർണ്ണറുടെ]] ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീം കോടതി (ഇന്ത്യ)|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. തുടർന്നുള്ള അന്വേഷണത്തിൽ പിണറായി വിജയൻ ലാവലിൻ ഇടപാടിൽ സാമ്പത്തികലാഭം ഉണ്ടാക്കിയതിനു തെളിവ് ലഭിച്ചിട്ടില്ലന്ന് [[സി.ബി.ഐ]] കോടതിയിൽ [[സത്യവാങ്മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]{{Dead link|date=February 2020}}</ref><ref>{{cite web |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |accessdate=29 ഏപ്രിൽ 2010 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |archivedate=ഫെബ്രുവരി 17, 2020 |date=18 ഏപ്രിൽ 2010}}</ref>. തുടർന്ന് കേസിന്റെ വിചാരണ നടന്നിരുന്ന തിരുവനന്തപുരം സി.ബി.ഐ. കോടതിയിൽ പിണറായി വിജയൻ ഉൾപ്പെടെ ഏഴുപേർ വിടുതൽ ഹർജി സമർപ്പിച്ചു. അത് പരിഗണിച്ച കോടതി പിണറായി വിജയനെ കേസിൽ പ്രതിചേർത്ത് വിചാരണ തുടരാനുള്ള വസ്തുതകൾ സി.ബി.ഐ. സമർപ്പിച്ച കുറ്റപത്രത്തിൽ അടങ്ങിയിട്ടില്ലെന്ന് കണ്ടെത്തുകയും അഴിമതി, അധികാരദുർവിനിയോഗം, കുറ്റകരമായ ഗൂഢാലോചന തുടങ്ങിയ ആരോപണങ്ങൾ അടങ്ങിയ കുറ്റപത്രം തന്നെ നിലനിൽക്കില്ലെന്നും പ്രസ്താവിച്ചു. <ref>[http://www.manoramanews.com/cgi-bin/MMOnline.dll/portal/ep/mmtvContentView.do?BV_ID=@@@&tabId=14&programId=9958837&contentId=15387617 ലാവലിൻ കേസിൽ പിണറായി ഉൾപ്പെടെയുള്ളവരുടെ ഹർജി അനുവദിച്ചു]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=സെപ്റ്റംബർ 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> നിലവിൽ ഈ സിബിഐ നൽകിയ അപ്പീലിൽ സുപ്രീം കോടതി പിണറായി വിജയന് നോട്ടീസ് അയച്ചിരിക്കുകയാണ്. == വിമർശനങ്ങൾ == *നായനാർ മന്ത്രിസഭയിൽ വൈദ്യുതിമന്ത്രിയായിരുന്ന കാലത്ത് [[പന്നിയാർ]]-[[ചെങ്കുളം]]-[[പള്ളിവാസൽ]] പദ്ധതികളുടെ നവീകരണത്തിനായി [[കാനഡ|കാനഡയിലെ]] [[എസ്.എൻ.സി. ലാവ്‌ലിൻ]] എന്ന കമ്പനിയുമായി ഇദ്ദേഹം ഒപ്പുവച്ച{{തെളിവ്}} കരാറിനെക്കുറിച്ച് ആരോപണമുണ്ടായതിനെ തുടർന്ന് [[യു. ഡി. എഫ്]] ഭരണകാലത്ത് സംസ്ഥാന വിജിലൻസ് അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു. എന്നാൽ അടുത്ത തിരഞ്ഞെടുപ്പ് കാലത്ത് ഇത് വീണ്ടും അന്വേഷിക്കാൻ സി.ബി.ഐ-യെ ഏൽപിക്കാൻ [[യു. ഡി. എഫ്]] തീരുമാനിച്ചു. തുടർന്ന് സി.ബി.ഐ. പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. [[അഡ്വേക്കേറ്റ് ജനറൽ|അഡ്വേക്കേറ്റ് ജനറലിന്റേയും]], [[കേരളാ മന്ത്രിസഭ|കേരളാ മന്ത്രിസഭയുടേയും]] ഉപദേശം മറികടന്ന് അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്‌. ഗവായ്‌]] സ്വന്തം നിലയിൽ പ്രോസിക്യൂട്ട്[‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു ആരോപണമുയർന്നു. കേരളാ ഗവർണ്ണറുടെ ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീംകോടതി|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. അന്വേഷണത്തിലൂടെ പിണറായി വിജയൻ അഴിമതി നടത്തിയില്ലെന്നു തെളിഞ്ഞതിനു ശേഷം സി.ബി.ഐ തന്നെ അപ്രകാരം കോടതിയിൽ [[സത്യവാങ്‌മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]</ref><ref>{{Cite web |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010 |access-date=2010-04-29 |archive-date=2012-05-29 |archive-url=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |url-status=deviated |archivedate=2012-05-29 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala }}</ref>. അടിസ്ഥാനരഹിതമായ ആരോപണങ്ങൾ ഉന്നയിച്ച് അദ്ദേഹത്തെ വ്യക്തിഹത്യ ചെയ്യാനുള്ള ശ്രമമാണു കേസിനു പിന്നിൽ എന്ന് സി.പി.ഐ.(എം) ആരോപിക്കുന്നു<ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn200410.pdf |title=ലാവ്‌ലിൻ:സത്യം തെളിഞ്ഞു |access-date=2010-04-30 |archive-date=2016-03-05 |archive-url=https://web.archive.org/web/20160305011832/http://www.deshabhimani.com/e_paper/1chn200410.pdf |url-status=dead }}</ref><ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn190410.pdf |title=അവഹേളിച്ചതിന്റെ ഉത്തരവാദിത്തം ആര് ഏറേറെടുക്കും |access-date=2010-04-30 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304213826/http://www.deshabhimani.com/e_paper/1chn190410.pdf |url-status=dead }}</ref>. *2007 ഫെബ്രുവരി 16ന് ചെന്നൈ വിമാനത്താവളത്തിൽ വച്ച് സുരക്ഷാ പരിശോധനക്കിടെ പിണറായി വിജയന്റെ ബഗേജിൽ നിന്നും 5 വെടിയുണ്ടകൾ ഉദ്യോഗസ്ഥർ കണ്ടെടുക്കുകയുണ്ടായി. ലൈസൻസിന്റെ പകർപ്പ് ഫാക്സ് ആയി ലഭിച്ചതിനു ശേഷം ഉദ്യോഗസ്ഥർ അദ്ദേഹത്തെ പോകാൻ അനുവദിച്ചു.<ref>{{Cite web |url=http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2007-02-22 |archive-url=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |url-status=deviated |archivedate=2007-02-22 |archiveurl=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm }}</ref> *തൊഴിലാളി നേതാവായി ഉയർന്നുവന്ന പിണറായിയുടെ മകന്റെ ബർമിങ്ഹാം യൂണിവേഴ്സിറ്റിയിലെ വിദ്യാഭ്യാസവും മകളുടെ സ്വാശ്രയ കോളേജിലെ പഠനവുമെല്ലാം അദ്ദേഹത്തിനെതിരെയുള്ള മറ്റു വിമർശനങ്ങളിൽ ചിലതാണ്‌. <ref>http://thatsmalayalam.oneindia.mobi/news/2008/02/14/51199.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ കേരള ആദായ നികുതി വകുപ്പ് 2008 ജനുവരിയിൽ ഹൈക്കോടതിക്ക് നൽകിയ സത്യവാങ്ങ്‌മൂലത്തിൽ പിണറായിയുടെ മകന്റെ ബർമിങ്ങ്ഹാം സർവ്വകലാശാലയിലെ പഠിപ്പിന് പിണറായി വിജയൻ വക സാമ്പത്തിക സഹായമൊന്നും നൽകുകയുണ്ടായില്ല എന്ന വ്യക്തമാക്കുകയുണ്ടായി.<ref>{{cite web|title = മകന്റെ വിദേശപഠന ചെലവ്‌ പിണറായി വഹിച്ചിട്ടില്ല - ആദായനികുതി വകുപ്പ്‌.|publisher = [[മാതൃഭൂമി]]|url = http://www.mathrubhumi.com/php/newFrm.php?news_id=12209&n_type=HO&category_id=3&Farc=T&previous=Y|date = ജനുവരി 2, 2008|accessdate = ഓഗസ്റ്റ് 7, 2009|language = മലയാളം}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> *കേരളത്തിലെ ചില മുഖ്യധാരാ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗമായി [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-നെതിരെ ഒരു ശക്തമായ മാധ്യമസിന്റിക്കേറ്റ് പ്രവർത്തിക്കുന്നതായി അദ്ദേഹം കരുതുന്നു. അത് ചില ഉദാഹരണസഹിതം അദ്ദേഹം പ്രസ്താവിച്ചതിനാൽ ആ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗത്ത് നിന്ന് അദ്ദേഹത്തിന് എതിരെ ശക്തമായ വിമർശങ്ങളുണ്ടായി . {{fact}} *മാധ്യമസിന്റിക്കേറ്റിനെതിരെ അദ്ദേഹം നടത്തിയ പ്രസ്താവനയെ, [[മാതൃഭൂമി]] പത്രാധിപനെതിരായ ഭീഷണിപ്പെടുത്തലായി ചിത്രീകരിച്ച് പത്രാധിപരുടെ ഗിൽഡ് അപലപിച്ചിരുന്നു. <ref>{{Cite web |url=http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2009-02-09 |archive-url=https://web.archive.org/web/20090209172703/http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |url-status=dead }}</ref><ref> http://www.financialexpress.com/news/CPIM-mouth-piece-snipes-at-Editors-Guild/204556/ </ref> *പിണറായി വിജയൻ കൊട്ടാരതുല്യമായ വീട് നിർമ്മിച്ചതിനെപ്പറ്റി അന്വേഷിക്കാൻപോയ നാലു സഖാക്കളെ സസ്‌പെന്റ് ചെയ്തുകൊണ്ടാണ് പിണറായി വിജയൻ തനിക്കെതിരായ വിമർശനത്തെ അടിച്ചമർത്തിയത് എന്ന ആരോപണം വലിയ വിവാദം ആയിരുന്നു. ഒരു തൊഴിലാളി നേതാവിന് ഇത്രയും വലിയ വീട് പണിതത്തിനെ കുറിച്ചു പാർട്ടിയിൽ തന്നെ നിരവധി വാക്കേറ്റങ്ങൾക്കു കാരണം ആയി. 4 സഖാക്കളെ [[സി.പി.ഐ.എം]] പുറത്താക്കിയത് വേറെ കാരണങ്ങളായിരുന്നു എന്നതായിരുന്നു പിന്നീടുള്ള പത്രറിപ്പോർട്ട്.<ref>http://www.indianexpress.com/news/why-none-dares-talk-about-pinarayi/473293/0</ref> . ==അവലംബം== {{reflist|2}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * http://www.cpim.org/bio/pinarayi_vijayan.htm {{Webarchive|url=https://web.archive.org/web/20080225150859/http://www.cpim.org/bio/pinarayi_vijayan.htm |date=2008-02-25 }} *[http://malablo.com/പിണറായി-വിജയൻജീവിത-വഴിക/ പിണറായി വിജയൻ ജീവിത വഴികളിലൂടെ.] {{Webarchive|url=https://web.archive.org/web/20200716211615/http://malablo.com/%E0%B4%AA%E0%B4%BF%E0%B4%A3%E0%B4%B1%E0%B4%BE%E0%B4%AF%E0%B4%BF-%E0%B4%B5%E0%B4%BF%E0%B4%9C%E0%B4%AF%E0%B5%BB%E0%B4%9C%E0%B5%80%E0%B4%B5%E0%B4%BF%E0%B4%A4-%E0%B4%B5%E0%B4%B4%E0%B4%BF%E0%B4%95/ |date=2020-07-16 }} {{commons category|Pinarayi Vijayan}} {{S-start}} {{s-off}} {{s-bef|before=[[ഉമ്മൻ ചാണ്ടി]]}} {{s-ttl|title=[[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=25 മേയ് 2016 – 04 മേയ് 2026}} {{s-aft|after= [[വി.ഡി. സതീശൻ]]}} {{S-end}} {{CMs of Kerala}} {{Fourteenth KLA}} {{DEFAULTSORT:വിജയൻ}} [[വർഗ്ഗം:1944-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മാർച്ച് 21-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:നിരീശ്വരവാദികൾ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഒൻപതാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പത്താം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സഹകരണവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ വൈദ്യുതിവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:സി.പി.ഐ.എം. സംസ്ഥാന സെക്രട്ടറിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ.എം. പ്രവർത്തകർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥയിൽ തടവിലാക്കപ്പെട്ടവർ]] [[വർഗ്ഗം:കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)-ൽ നിന്നുള്ള മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആഭ്യന്തരമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഐ.ടി. വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രിന്റിംഗ്, സ്റ്റേഷനറി വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] sqqx90if731wrh89um9byoqc4nsmmdi 4622195 4622194 2026-05-23T08:52:46Z Altocar 2020 144384 /* ജീവിതരേഖ */ 4622195 wikitext text/x-wiki {{prettyurl|Pinarayi Vijayan}} {{ToDisambig|വാക്ക്= പിണറായി}} {{Infobox officeholder | name = പിണറായി വിജയൻ | image = File:Vijayan.Dharmadam.CM.jpg | caption = | imagesize = | office = പതിനാറാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവ് | term_start = [[മേയ് 19]] [[2026]] | predecessor = [[വി.ഡി. സതീശൻ]] | office1 = [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ പന്ത്രണ്ടാമത്തെ മുഖ്യമന്ത്രി]] | term_start1 = [[മേയ് 04]] [[2026]] | term_end1 = [[മേയ് 18]] [[2026]] | predecessor1 = [[പിണറായി വിജയൻ]] | successor1 = [[വി.ഡി. സതീശൻ]] | term_start2 = [[മേയ് 25]] [[2016]] | term_end2 = [[മേയ് 4]] [[2026]] | predecessor2 = [[ഉമ്മൻ ചാണ്ടി]] | successor2 = [[ പിണറായി വിജയൻ]] | constituency2 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | office3 = [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.ഐ(എം)]] കേരള സംസ്ഥാന സെക്രട്ടറി | term_start3 = [[സെപ്റ്റംബർ 25]] [[1998]] | term_end3 = [[ഫെബ്രുവരി 23]] [[2015]] | predecessor3 = [[ചടയൻ ഗോവിന്ദൻ]] | successor3 = [[കോടിയേരി ബാലകൃഷ്ണൻ]] | office4 = കേരളത്തിന്റെ വൈദ്യുതി, സഹകരണ വകുപ്പ് മന്ത്രി | term_start4 = [[മേയ് 20]] [[1996]] | term_end4 = [[ഒക്ടോബർ 19]] [[1998]] | predecessor4 = [[ജി. കാർത്തികേയൻ]], [[എം.വി. രാഘവൻ]] | successor4 = [[എസ്. ശർമ്മ]] | office5 = കേരളനിയമസഭാംഗം | constituency5 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | term_start5 = [[മേയ് 21]] [[2016]] | term_end5 = | predecessor5 = [[കെ.കെ. നാരായണൻ]] | successor5 = | constituency6 = [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം|പയ്യന്നൂർ]] | term_start6 = [[മേയ് 14]] [[1996]] | term_end6 = [[മേയ് 16]] [[2001]] | predecessor6 = [[സി.പി. നാരായണൻ]] | successor6 = [[പി.കെ. ശ്രീമതി]] | constituency7 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start7 = [[ജൂൺ 21]] [[1991]] | term_end7 = [[മേയ് 14]] [[1996]] | predecessor7 = [[കെ.പി. മമ്മു]] | successor7 = [[കെ.കെ. ശൈലജ]] | constituency8 = [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | term_start8 = [[ഒക്ടോബർ 4 ]] [[1970]] | term_end8 = [[നവംബർ 11]] [[1979]] | predecessor8 = [[കെ.കെ. അബു]] | successor8 = [[എം.വി. രാഘവൻ]] | office9 = സംസ്ഥാന ആഭ്യന്തരവകുപ്പിൻ്റെ അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി | term9 = 2016 - 2026 | predecessor9 = [[രമേശ് ചെന്നിത്തല]] | successor9 =[[രമേശ് ചെന്നിത്തല]] | birth_date = {{Birth date and age|1945|05|24|df=yes}} | birth_place = [[പിണറായി]], [[തലശേരി]], [[കണ്ണൂർ]][[ജില്ല]] | residence = [[ക്ലിഫ് ഹൗസ്]], [[തിരുവനന്തപുരം]], [[കേരളം]] | death_date = | death_place = | party = [[File:CPI-M-flag.svg|50px]] [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം.]] | religion = [[നിരീശ്വരവാദം]] | father = മാറോളി കോരൻ | mother = ആലക്കാട്ട് കല്യാണി | spouse = ടി. കമല | children = വിവേക് കിരൺ, വീണ | website = www.keralacm.gov.in | footnotes = | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/139%20Pinarayi%20Vijayan.pdf നിയമസഭ | signature = Pinarayi Vijayan Signature.png }} 2016 മുതൽ 2026 വരെ തുടർച്ചയായി പത്ത് വർഷക്കാലം [[കേരളം|കേരളത്തിന്റെ]] [[മുഖ്യമന്ത്രി]]യായിരുന്ന മുതിർന്ന [[സി.പി.എം]] നേതാവാണ് '''പിണറായി വിജയൻ.(ജനനം: 24 മെയ് 1945)''' 2016 മേയ് 25-നാണ് കേരള മുഖ്യമന്ത്രിയായി ആദ്യമായി സ്ഥാനമേറ്റത്. രണ്ടാം തവണ 2021 മേയ് 20-ന് അധികാരമേറ്റു. <ref name=":0" /><ref name=":1" /> <ref>{{Cite web|url=https://ia601506.us.archive.org/25/items/business-of-the-government-among-the-ministers-2021/Business%20of%20the%20Government%20among%20the%20Ministers%202021.pdf|title=KERALA GAZETTE dt 2021 േമയ 20|access-date=21 May 2021|date=20 May 2021|publisher=Kerala Government}}</ref> 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ എൽഡിഎഫ് പരാജയപ്പെട്ടതിനാൽ മെയ് 4ന് രാജി സമർപ്പിച്ചു. സംസ്ഥാന [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തര വകുപ്പിൻ്റെ]] അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി ആയിരുന്നു പിണറായി വിജയൻ.<ref>{{Cite web|url=https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|title=Kerala Chief Minister {{!}} Shri. Pinarayi Vijayan {{!}} Official web portal of Kerala Government|access-date=2023-10-24|archive-date=2023-12-03|archive-url=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=|url-status=deviated|archivedate=2023-12-03|archiveurl=https://web.archive.org/web/20231203000158/https://kerala.gov.in/subdetail/NjE5ODgzNzguMzI=/MTk5NjIzNTkuMTI=}}</ref><ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/21/kerala-government-ministers-portfolio-list.html|title=മുഖ്യമന്ത്രിക്ക് 17ൽ പരം വകുപ്പുകൾ; വനിതാ ശിശുക്ഷേമവും വീണയ്ക്ക്|access-date=2023-10-24|language=ml}}</ref> നിലവിൽ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-ന്റെ പൊളിറ്റ് ബ്യൂറോ അംഗമായ പിണറായി വിജയൻ, 1998 മുതൽ 2015 വരെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ കേരളം ഘടകം സംസ്ഥാന സെക്രട്ടറിയായിരുന്നു. [[ഇ.കെ. നായനാർ|ഇ.കെ.നായനാർക്ക്]] ശേഷം കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടറിയായതും പിണറായി വിജയനാണ്. കേരളത്തിലെ കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ വിദ്യാർത്ഥി, യുവജന സംഘടനാ പ്രവർത്തനത്തിലൂടെ മാർക്സിസ്റ്റ് പാർട്ടിയുടെ നേതൃനിരയിലെത്തിയ പിണറായി വിജയൻ [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]] [[കണ്ണൂർ]] ജില്ലാ സെക്രട്ടറിയായും കേരള സംസ്ഥാന സഹകരണ ബാങ്കിന്റെ പ്രസിഡന്റായും പ്രവർത്തിച്ചിട്ടുണ്ട്. [[ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥ (1975)|അടിയന്തരാവസ്ഥക്കാലത്ത്]] പതിനെട്ടുമാസം കണ്ണൂർ സെൻട്രൽജയിലിൽ രാഷ്ട്രീയ തടവുകാരനായിരുന്നു. 1970-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 26-മത്തെ വയസ്സിൽ [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ് മണ്ഡലത്തെ]] പ്രതിനിധീകരിച്ച്‌ ആദ്യമായി കേരള നിയമസഭയിൽ അംഗമായി. 1977-ലും 1991-ലും കൂത്തുപറമ്പ് മണ്ഡലത്തിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിൽ നിന്നും നിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016 മുതൽ ധർമ്മടം മണ്ഡലത്തിൽ നിന്നുള്ള നിയമസഭാംഗമാണ്‌. 1996 മുതൽ 1998 വരെ മൂന്നാം [[ഇ.കെ. നായനാർ|ഇ.കെ നായനാർ]] മന്ത്രിസഭയിൽ വിദ്യുച്ഛക്തി-സഹകരണ വകുപ്പുകളുടെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു.<ref>http://specials.manoramaonline.com/News/2017/ldf-government-anniversary/index.html</ref> ഈ കാലഘട്ടത്തിൽ കേരളത്തിലെ വൈദ്യുതി ഉൽപാദനം, വിതരണം എന്നിവ വളരെ കാര്യക്ഷമമാക്കുന്നതിലും, [[കേരളാ സ്റ്റേറ്റ് ഇലക്ട്രിസിറ്റി ബോർഡ്|കേരള സംസ്ഥാന വൈദ്യുതി ബോർഡ്]]ന്റെ പ്രവർത്തനം മെച്ചപ്പെടുത്തുന്നതിലും പ്രധാന പങ്ക് വഹിച്ചു<ref name="mabhu-98">{{cite news |title=മാതൃഭൂമി മുഖപ്രസംഗം |newspaper=മാതൃഭൂമി |quote=വൈദ്യുത ഉല്പാദന വിതരണ രം‌ഗങ്ങളിൽ ഗണ്യമായ നേട്ടങ്ങൾ വിജയന്റെ കാലത്തുണ്ടായിട്ടുണ്ട്. എല്ലാം അദ്ദേഹം മുൻകയ്യെടുത്ത് ചെയ്തുവെന്നല്ല; തുടങ്ങിവെച്ചവയും പണിതീരാതെ അനന്തമായി നീളുന്നവയുമായ പദ്ധതികൾക്കും പരിപാടികൾക്കും വേണ്ടിയിരുന്നത് ഒരു ഉന്ത് ആണ്. അതദ്ദേഹം കൊടുത്തു. ലോവർ പെരിയാറിൽ നിന്നും ബ്രഹ്മപുരത്തു നിന്നും വൈദ്യുതി കിട്ടുവാൻ തുടങ്ങി. [[കക്കാട് (വിവക്ഷകൾ)|കക്കാട്]] പദ്ധതിക്ക് പുനരുജ്ജീവനമായി. ആതിരപ്പള്ളിയും കുറ്റ്യാടി എക്സ്റ്റൻഷനും വീണ്ടും ചലിച്ചു തുടങ്ങി. കേരളത്തിനു വേണ്ടി ഒരു വൈദ്യുത വികസനനയം പ്രഖ്യാപിച്ചത് വിജയനാണ്. അത് പൊതുമേഖലയ്ക്കും സ്വകാര്യമേഖലയ്ക്കും പരിമിതമായ വിദേശമൂലധനത്തിനും സ്ഥാനം നൽകുന്ന ഒന്നായിരുന്നു. വിമർശനങ്ങളെ അവഗണിച്ച്, കോഴിക്കോടെ ഡീസൽ വൈദ്യുതകേന്ദ്രം സ്ഥാപിക്കുന്ന ജോലി അദ്ദേഹം തുടങ്ങി വച്ചു. ചീനയിൽ നിന്നുള്ള സഹായ സഹകരണങ്ങളോടെ ചെറുകിട വൈദ്യുത പദ്ധതികൾ തുടങ്ങുവാൻ പരിപാടിയുണ്ടാകി... വിജയൻ മന്ത്രിയാകുന്ന സമയത്ത് വ്യവസായങ്ങൾക്ക് നൂറ് ശതമാനം പവർകട്ട് ആയിരുന്നു. വീടുകൾക്ക് ലോഡ്‌ഷെഡിങ്ങ് വേറെ. ധാരാളം മഴ കിട്ടിയിട്ട് വൈദ്യുതി ഉല്പാദനം മെച്ചപ്പെട്ടു; ഒന്ന് രണ്ട് പദ്ധതികൾ ഉല്പാദനക്ഷമങ്ങളായി; കിഴക്കൻ ഗ്രിഡിൽ നിന്ന് വൈദ്യുതി വാങ്ങുവാൻ മന്ത്രി ഏർപ്പാടുമുണ്ടാക്കി. എല്ലാം കൂടി, മൂന്നു കൊല്ലത്തിനകം, വ്യവസായങ്ങൾക്കുള്ള പവർകട്ട് മുഴുവൻ നീക്കാൻ വിജയനു കഴിഞ്ഞു; ജില്ലാ ആസ്ഥാനങ്ങളിൽ ലോഡ് ഷെഡിങ്ങും നിർത്തി... |date=22 ഒക്ടോബർ 1998 |accessdate=20 June 2012}}</ref>. == ജീവിതരേഖ == [[കണ്ണൂർ ജില്ല|കണ്ണൂർ ജില്ലയിലെ]] തലശ്ശേരി താലൂക്കിലെ [[പിണറായി]] പഞ്ചായത്തിലെ ഒരു കർഷക കുടുംബത്തിൽ കള്ള്-ചെത്ത് തൊഴിലാളിയായിരുന്ന മുണ്ടയിൽ മരോളി കോരന്റെയും ആലക്കണ്ടി കല്യാണിയുടെയും ഇളയ മകനായി ഇടവമാസത്തിലെ ചോതി നക്ഷത്രത്തിൽ 1945 മേയ് 24-ന്‌ ജനനം.<ref>https://english.mathrubhumi.com/news/kerala/pinarayi-turns-76-today-and-it-is-a-special-day-1.5690611</ref> കുമാരനും നാണുവും ജ്യേഷ്ഠ സഹോദരങ്ങളാണ്. പതിനാല് സഹോദരങ്ങളിൽ രണ്ട് പേരൊഴികെ ബാക്കി എല്ലാവരും മരിച്ചു. രണ്ടാമത്തെ സഹോദരനായിരുന്ന കുമാരനിലൂടെയാണ് വിജയൻ കമ്മ്യൂണിസ്റ്റായത്. പിണറായി ശാരദ വിലാസം എൽ പി സ്കൂളിലും പെരളശേരി ഗവ.ഹൈസ്കൂളിലുമായി വിദ്യാഭ്യാസം. സ്കൂൾ ഫൈനലിനു ശേഷം ഒരു വർഷം നെയ്ത്ത് തൊഴിലാളിയായി. പിന്നീടാണ് പ്രീ- യൂണിവേഴ്സിറ്റി കോഴ്സിന് തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ ചേർന്നത്.<ref>{{Cite web |url=https://www.keralacm.gov.in/mal/?page_id=13 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-01-13 |archive-date=2020-11-28 |archive-url=https://web.archive.org/web/20201128170716/https://www.keralacm.gov.in/mal/?page_id=13 |url-status=dead }}</ref> '''സ്വകാര്യ ജീവിതം''' തലശ്ശേരി സെന്റ് ജോസഫ്‌സ് സ്കൂൾ അദ്ധ്യാപിക [[ഒഞ്ചിയം ഗ്രാമപഞ്ചായത്ത്|ഒഞ്ചിയം]] കണ്ണൂക്കര സ്വദേശിനി ടി. കമലയാണ് ഭാര്യ. വിവേക് കിരൺ, വീണ എന്നിവർ മക്കൾ.<ref>{{Cite web |url=https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2021-02-26 |archive-url=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php |url-status=deviated |archivedate=2021-02-26 |archiveurl=https://web.archive.org/web/20210226025746/https://www.cpimkerala.org/eng/pinarayi-vijayan-24.php }}</ref> ==രാഷ്ട്രീയ ജീവിതം== [[File:Pinarayi vijayan klf.jpg|thumb|പിണറായി വിജയൻ കോഴിക്കോട് ലിറ്ററേച്ചർ ഫെസ്റ്റിവലിൽ (2017)]] വിദ്യാർത്ഥിയായിരുന്ന കാലഘട്ടത്തിൽ തന്നെ രാഷ്ട്രീയത്തിലേയ്ക്ക് കടന്നു വന്നു. എസ്.എഫ്.ഐ യുടെ പൂർവ്വിക സംഘടനയായ കെ.എസ്.എഫിലൂടെയായിരുന്നു രാഷ്ട്രീയ പ്രവേശനം. തലശ്ശേരി ബ്രണ്ണൻ കോളേജിൽ സാമ്പത്തിക ശാസ്ത്രത്തിന് പഠിക്കുമ്പോൾ കെ.എസ്.എഫ് ന്റെ കണ്ണൂർ ജില്ലാ സെക്രട്ടറിയായി. തുടർന്ന് നിരവധി വിദ്യാർത്ഥി സമര മുന്നേറ്റങ്ങളിൽ നേതൃത്വം വഹിച്ചു. വൈകാതെ കെ.എസ്.എഫ് ന്റെ സംസ്ഥാന സെക്രട്ടറിയായി. തലശ്ശേരി കോടതിയ്ക്ക് സമീപം പിണറായി വിജയൻ നയിച്ച വിദ്യാർത്ഥി മാർച്ചിനു നേരെ പോലീസ് നടത്തിയ ലാത്തി ചാർജ്ജ് ഏറെ കോളിളക്കമുണ്ടാക്കിയിരുന്നു. പിണറായി ഉൾപ്പെടെയുള്ള വിദ്യാർത്ഥി നേതാക്കളെ പോലീസ് മൃഗീയമായി തല്ലിയപ്പോൾ സമീപത്തുള്ള കടലിൽ ചാടിയാണ് വിജയൻ അന്ന് രക്ഷപെട്ടത്. കെ.എസ്.വൈ.എഫിൻ്റെ സംസ്ഥാന വൈസ് പ്രസിഡൻറായും പ്രവർത്തിച്ചു.<ref>{{Cite web |url=https://www.cpimkerala.org/pinarayivijayan-36.php |title=ആർക്കൈവ് പകർപ്പ് |access-date=2020-12-13 |archive-date=2020-12-05 |archive-url=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php |url-status=deviated |archivedate=2020-12-05 |archiveurl=https://web.archive.org/web/20201205135622/https://www.cpimkerala.org/pinarayivijayan-36.php }}</ref> 1964-ൽ [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി]]യിൽ അംഗമായ പിണറായി വിജയൻ 1967-ൽ [[സി.പി.എം]] തലശ്ശേരി മണ്ഡലം സെക്രട്ടറിയായി. 1968-ൽ മാവിലായിൽ നടന്ന കണ്ണൂർ ജില്ല-പ്ലീനറി സമ്മേളനത്തിൽ വച്ച് [[സി.പി.എം]] കണ്ണൂർ ജില്ലക്കമ്മറ്റി അംഗമായി.1972-ൽ സി.പി.എം. കണ്ണൂർ ജില്ല സെക്രട്ടേറിയറ്റ് അംഗമായ പിണറായി വിജയൻ 1978-ൽ പാർട്ടി സംസ്ഥാന കമ്മറ്റിയിലെത്തി. സി.പി.എമ്മിൻ്റെ കണ്ണൂർ ജില്ല സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] പാർട്ടിയുടെ സംസ്ഥാന സെക്രട്ടേറിയറ്റ് അംഗമായതിനെ തുടർന്ന് 1986-ൽ പിണറായി വിജയൻ [[സി.പി.എം]] [[കണ്ണൂർ]] ജില്ല സെക്രട്ടറിയായി. 1989-ൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടേറിയറ്റിലേയ്ക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടതിനെ തുടർന്ന് പ്രവർത്തനം പാർട്ടി സംസ്ഥാന കമ്മറ്റി ഓഫീസായ എ.കെ.ജി സെൻറർ കേന്ദ്രീകരിച്ചായി. 1998 സെപ്റ്റംബറിൽ [[സി.പി.എം]] സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു. സി.പി.എം സംസ്ഥാന സെക്രട്ടറിയായിരുന്ന [[ചടയൻ ഗോവിന്ദൻ]] അന്തരിച്ചതിനെ തുടർന്ന് വൈദ്യുതി വകുപ്പിൻ്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രി സ്ഥാനം രാജിവയ്ച്ച് പാർട്ടിയുടെ അമരത്ത് എത്തി. പിന്നീട് 2002-ലെ കണ്ണൂർ സമ്മേളനവും 2005-ലെ മലപ്പുറം സമ്മേളനവും 2008-ലെ കോട്ടയം സമ്മേളനവും 2012-ലെ തിരുവനന്തപുരം സമ്മേളനവും പിണറായി വിജയനെ തന്നെ വീണ്ടും സെക്രട്ടറിയായി തിരഞ്ഞെടുത്തു. മുഖ്യമന്ത്രി [[വി.എസ്. അച്യുതാനന്ദൻ|വി.എസ്. അച്യുതാനന്ദനുമായുള്ള]] അഭിപ്രായഭിന്നത പരസ്യമായി പ്രകടിപ്പിച്ചതിന് 2007 മെയ് 26-ന് പോളിറ്റ് ബ്യൂറോയിൽ നിന്നും സസ്പെൻഡ് ചെയ്യപ്പെട്ടു.<ref>http://www.rediff.com/news/2007/may/26ker.htm</ref> പിന്നീട്‌ [[2007]] [[ഒക്ടോബർ 1]]-ന് പിണറായി വിജയനെ പോളിറ്റ് ബ്യൂറോയിൽ തിരിച്ചെടുത്തു.<ref>http://www.rediff.com/news/2007/oct/01cpm.htm</ref> 2012 ഫെബ്രുവരി 10-ന് തുടർച്ചയായി നാലാം തവണയും സി.പി.എം. സംസ്ഥാന സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടു.<ref>{{Cite web |url=http://www.mathrubhumi.com/story.php?id=250855 |title=പിണറായി വീണ്ടും സെക്രട്ടറി |access-date=2012-02-10 |archive-date=2012-02-10 |archive-url=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 |url-status=deviated |archivedate=2012-02-10 |archiveurl=https://web.archive.org/web/20120210103840/http://www.mathrubhumi.com/story.php?id=250855 }}</ref> പിണറായി വിജയനും ഇ.കെ. നായനാരുമാണ് ഏറ്റവും കൂടൂതൽ പ്രാവശ്യം പാർട്ടി സെക്രട്ടറിയായി തിരഞ്ഞെടുക്കപ്പെട്ടവർ. 2015-ൽ ആലപ്പുഴയിൽ വച്ച് നടന്ന പാർട്ടി സംസ്ഥാന സമ്മേളനത്തിൽ പിണറായി വിജയൻ സംസ്ഥാന സെക്രട്ടറി പദവി ഒഴിഞ്ഞതിനെ തുടർന്ന് [[കോടിയേരി ബാലകൃഷ്ണൻ]] പാർട്ടി സംസ്ഥാന സെക്രട്ടറിയായി സ്ഥാനമേറ്റു. 1970-ൽ ഇരുപത്തിയാറാം വയസിൽ നിയമസഭയിൽ അംഗമായ പിണറായി വിജയൻ പാർലമെൻ്ററി രംഗത്തും മികവ് തെളിയിച്ചു. 1970, 1977, 1991 എന്നീ വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ കൂത്ത്പറമ്പിൽ നിന്നും 1996-ൽ പയ്യന്നൂരിനെ പ്രതിനിധീകരിച്ചും നിയമസഭയിലെത്തി. 1996-2001 ലെ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിലെ വൈദ്യുതി-സഹകരണ വകുപ്പിന്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായിരുന്നു പിണറായി വിജയൻ. 1998-ൽ കൽക്കട്ടയിൽ വച്ച് നടന്ന [[സി.പി.എം|സി.പി.എമ്മിന്റെ]] പതിനാറാമത് പാർട്ടി കോൺഗ്രസിലൂടെ പാർട്ടിയുടെ കേന്ദ്രകമ്മറ്റി, പൊളിറ്റ് ബ്യൂറോ അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. 2016-ൽ നടന്ന പതിനാലാം കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ധർമടത്ത് നിന്ന് മത്സരിച്ച് ജയിച്ചു. നിയമസഭയിൽ [[ഇടതുമുന്നണി]]യ്ക്ക് ഭൂരിപക്ഷം കിട്ടിയതിനെ തുടർന്ന് 2016 മെയ് 25 ന് [[കേരള]] [[മുഖ്യമന്ത്രി]]യായി അധികാരമേറ്റു. 2021-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ ഇടതുമുന്നണി 99 സീറ്റുകൾ നേടിയതിനെ തുടർന്ന് തുടർച്ചയായി രണ്ടാം തവണയും കേരള മുഖ്യമന്ത്രിയായി ചുമതലയേറ്റു. <ref>https://www.mathrubhumi.com/mobile/specials/politics/pinarayi-vijayan{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> അഞ്ച് വർഷ കാലാവധി പൂർത്തിയാക്കി അധികാരത്തുടർച്ച നേടിയ ആദ്യ കേരള മുഖ്യമന്ത്രി എന്ന ചരിത്രനേട്ടത്തിനുടമയായ പിണറായി വിജയൻ മുഖ്യമന്ത്രി എന്ന നിലയിൽ രണ്ടാം തവണ 2021 മേയ് 20 ന് സത്യപ്രതിജ്ഞ ചെയ്തു. 2026-ൽ നടന്ന പതിനാറാം നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ ധർമ്മടത്ത് നിന്ന് ജയിച്ചെങ്കിലും ഇടതുമുന്നണി പരാജയപ്പെട്ടതിനാൽ മുഖ്യമന്ത്രി സ്ഥാനം 2026 മെയ് 4ന് രാജി വെച്ചു. 2026 മെയ് 14ന് ചേർന്ന സി.പി.എം സംസ്ഥാന കമ്മിറ്റി യോഗം പതിനാറാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായി പിണറായി വിജയനെ തിരഞ്ഞെടുത്തു. മാർക്സിസ്റ്റ് പാർട്ടിയുടെ പ്രത്യയശാസ്ത്രത്തിനുമപ്പുറം പ്രായോഗിക രാഷ്ട്രീയത്തിന് മുൻതൂക്കം നൽകുന്ന രാഷ്ട്രീയ നേതാവായാണ് പിണറായി വിജയൻ സി.പി.എമ്മിൽ അറിയപ്പെടുന്നത്.<ref>https://www.manoramaonline.com/news/kerala/2025/05/24/cm-pinarayi-vijayan-80th-birthday.html</ref> <ref name=":0">{{Cite web|url=https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|title=രണ്ടാം പിണറായി സർക്കാറിലെ മന്ത്രിമാരുടെ വകുപ്പുകൾ ഇങ്ങനെ...|access-date=21 May 2021|date=21 May 2021|publisher=മാധ്യമം|archive-date=2021-05-21|archive-url=https://archive.today/20210521124207/https://www.madhyamam.com/kerala/portfolio-of-new-kerala-govt-800491?infinitescroll=1|url-status=bot: unknown}}</ref><ref name=":1">{{Cite web|url=https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|title=മന്ത്രിമാരുടെ വകുപ്പുകൾ തീരുമാനിച്ച്‌ ഉത്തരവായി; ന്യൂനപക്ഷ ക്ഷേമവും പ്രവാസിക്ഷേമവും മുഖ്യമന്ത്രിക്ക്‌|access-date=21 May 2021|date=21 May 2021|publisher=ദേശാഭിമാനി|archive-date=2021-05-21|archive-url=https://archive.today/20210521124004/https://www.deshabhimani.com/news/kerala/governor-allot-the-business-of-the-government-among-the-ministers/944751|url-status=bot: unknown}}</ref> == കേരള മുഖ്യമന്ത്രി == കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്നവരുടെ പട്ടികയിൽ രണ്ടാം സ്ഥാനത്താണ് നിലവിൽ പിണറായി വിജയൻ. നിയമസഭ തിരഞ്ഞെടുപ്പ് പരാജയത്തെ തുടർന്ന് മുഖ്യമന്ത്രി സ്ഥാനം രാജി വച്ച 2026 മെയ് നാലാം തീയതി വരെ<ref>[https://keralakaumudi.com/news/mobile/news.php?id=1741594&u=cm-pinarayi-vijayan-to-resign-tommorow പിണറായി വിജയൻ രാജി വെച്ചു]</ref> 2016 മുതൽ 2026 വരെയുള്ള പത്ത് വർഷം തുടർച്ചയായി 3633 ദിവസം മുഖ്യമന്ത്രി പദവിയിൽ തുടർന്നു. (ആകെ 9 വർഷം, 11 മാസം, 9 ദിവസം)<ref>[https://www.manoramanews.com/kerala/politics/2025/04/14/cm-pinarayi-vijayan-the-chief-minister-who-is-rewriting-history.html പിണറായിക്ക് മുന്നിൽ ഇനി നായനാർ മാത്രം]</ref> മുൻ മുഖ്യമന്ത്രിയും മുതിർന്ന ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് നേതാവുമായിരുന്ന ലീഡർ കെ.കരുണാകരനെയാണ് (3246 ദിവസം) 2025 ഏപ്രിൽ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നത്. മാർക്സിസ്റ്റ് പാർട്ടിയുടെ സമുന്നത നേതാവായിരുന്ന ഇ.കെ.നായനാരാണ് (4009 ദിവസം) കേരളത്തിൽ ഏറ്റവും കൂടുതൽ കാലം മുഖ്യമന്ത്രി പദവിയിലിരുന്നത്. 2023 ഫെബ്രുവരി പതിനേഴിന് മുൻ മുഖ്യമന്ത്രി സി.അച്യുതമേനോന് തൊട്ട് പിന്നിൽ നാലാം സ്ഥാനത്ത് (2459 ദിവസം) എത്തിയിരുന്നു പിണറായി വിജയൻ. 1970 മുതൽ 1977 വരെ തുടർച്ചയായി മുഖ്യമന്ത്രി സ്ഥാനത്തിരുന്ന സി.അച്യുതമേനോൻ്റെ റെക്കോർഡ് (2364 ദിവസം) 2022 നവംബർ പതിനാലിന് പിണറായി വിജയൻ മറികടന്നിരുന്നു. കേരളത്തിൽ ഇതുവരെ 12 പേർ മുഖ്യമന്ത്രിമാരായിട്ടുണ്ട് എങ്കിലും തുടർച്ചയായി രണ്ട് മന്ത്രിസഭകളിൽ മുഖ്യമന്ത്രിയാവാൻ അവസരം ലഭിച്ചത് പിണറായി വിജയന് മാത്രമാണ്. ഏറ്റവും കൂടുതൽ ദിവസം (31) കാവൽ മുഖ്യമന്ത്രിയായതിൻ്റെ റെക്കോർഡും പിണറായി വിജയന് തന്നെയാണ്. 2021 മെയ് മൂന്ന് മുതൽ മെയ് 20 വരെയും 2026 മെയ് നാല് മുതൽ മെയ് 18 വരെയുമാണ് അദ്ദേഹം സംസ്ഥാനത്തിൻ്റെ കാവൽ മുഖ്യമന്ത്രിയായിരുന്നത്.<ref>[https://www.manoramaonline.com/news/kerala/2023/08/17/pinarayi-vijayan-is-third-in-the-list-of-longest-tenured-cm-of-kerala.html മുഖ്യമന്ത്രി പദവിയിൽ അച്യുതമേനോനെ മറികടന്ന് പിണറായി വിജയൻ]</ref><ref>{{Cite web|url=https://keralacm.gov.in/ml/%e0%b4%ae%e0%b5%81%e0%b4%96%e0%b5%8d%e0%b4%af%e0%b4%ae%e0%b4%a8%e0%b5%8d%e0%b4%a4%e0%b5%8d%e0%b4%b0%e0%b4%bf%e0%b4%af%e0%b5%81%e0%b4%9f%e0%b5%86-%e0%b4%95%e0%b5%80%e0%b4%b4%e0%b4%bf%e0%b4%b2%e0%b5%81/|title=മുഖ്യമന്ത്രിയുടെ കീഴിലുള്ള വകുപ്പുകൾ - Official website of Kerala Chief Minister|access-date=2023-10-23|date=2021-05-18|language=ml-IN}}</ref> == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=deviated |archivedate=2021-11-11 |archiveurl=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-24 |archive-date=2021-05-10 |archive-url=https://web.archive.org/web/20210510182516/http://www.keralaassembly.org/ |url-status=dead }}</ref> ! വർഷം !! മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും !! പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും |- | 2026 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || അഡ്വ. വി പി അബ്ദുൽ റഷീദ് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- |- | 2021 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || സി രഘുനാഥ്‌ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 2016 || [[ധർമ്മടം നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം]], [[എൽ.ഡി.എഫ്]] || [[മമ്പറം ദിവാകരൻ]] |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1996 || [[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം]], [[എൽ.ഡി.എഫ്]]||കെ എൻ കണ്ണോത്ത് |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്.]] |- | 1991 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]] || [[പി. രാമകൃഷ്ണൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- | 1977 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| അബ്ദുൾ ഖാദർ|| [[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- | 1970 || [[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം]] || [[പിണറായി വിജയൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]|| തായത്ത് രാഘവൻ്|| [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]]. |- |} ==ലാവ്‌ലിൻ കേസ്== 1996 മുതൽ 1998 കാലഘട്ടത്തിൽ [[ഇ.കെ. നായനാർ]] മന്ത്രിസഭയിൽ [[വിദ്യുച്ഛക്തി]] മന്ത്രിയായിരിക്കുമ്പോൾ, [[എസ്.എൻ.സി. ലാവലിൻ|ലാവലിൻ കമ്പനിയുമായി]] നടന്ന സർക്കാർ ഇടപാടിൽ അഴിമതി നടന്നിട്ടുണ്ടെന്ന് ആരോപണമുണ്ടായി. ഇതിനെ തുടർന്ന് [[ഐക്യ ജനാധിപത്യ മുന്നണി|യു. ഡി. എഫ്]] ഭരണകാലത്ത് [[സംസ്ഥാന വിജിലൻസ്]] അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു <ref name="oneindia">{{cite web |url=http://news.oneindia.in/2006/03/01/kerala-govt-to-hand-over-snc-lavalin-case-to-cbi-chandy-1141211398.html |title=Kerala Govt to hand over SNC Lavalin case to CBI: Chandy |date=1 March 2006 |quote=Vigilance Director Upendra Verma was also shunted out of the department a day after the investigating agency filed an FIR in the court without naming any politician in the list of accused. |publisher=One India |accessdate=19 June 2012 }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ പിന്നീട് കേസ് അന്വേഷിച്ച [[സി.ബി.ഐ]] പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. സിപിഐ(എം) നേതൃത്വത്തിലുള്ള ഇടതുപക്ഷജനാധിപത്യമുന്നണി [[കേരളാ മന്ത്രിസഭ|മന്ത്രിസഭ]] സഭ അതിന് അനുമതി നിഷേധിച്ചെങ്കിലും അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്. ഗവായി]] അദ്ദേഹത്തെ പ്രോസിക്യൂട്ട്‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു സിപിഐ(എം) ആരോപിച്ചിരുന്നു. [[കേരളാ ഗവർണ്ണർ|കേരളാ ഗവർണ്ണറുടെ]] ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീം കോടതി (ഇന്ത്യ)|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. തുടർന്നുള്ള അന്വേഷണത്തിൽ പിണറായി വിജയൻ ലാവലിൻ ഇടപാടിൽ സാമ്പത്തികലാഭം ഉണ്ടാക്കിയതിനു തെളിവ് ലഭിച്ചിട്ടില്ലന്ന് [[സി.ബി.ഐ]] കോടതിയിൽ [[സത്യവാങ്മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]{{Dead link|date=February 2020}}</ref><ref>{{cite web |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |accessdate=29 ഏപ്രിൽ 2010 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |archivedate=ഫെബ്രുവരി 17, 2020 |date=18 ഏപ്രിൽ 2010}}</ref>. തുടർന്ന് കേസിന്റെ വിചാരണ നടന്നിരുന്ന തിരുവനന്തപുരം സി.ബി.ഐ. കോടതിയിൽ പിണറായി വിജയൻ ഉൾപ്പെടെ ഏഴുപേർ വിടുതൽ ഹർജി സമർപ്പിച്ചു. അത് പരിഗണിച്ച കോടതി പിണറായി വിജയനെ കേസിൽ പ്രതിചേർത്ത് വിചാരണ തുടരാനുള്ള വസ്തുതകൾ സി.ബി.ഐ. സമർപ്പിച്ച കുറ്റപത്രത്തിൽ അടങ്ങിയിട്ടില്ലെന്ന് കണ്ടെത്തുകയും അഴിമതി, അധികാരദുർവിനിയോഗം, കുറ്റകരമായ ഗൂഢാലോചന തുടങ്ങിയ ആരോപണങ്ങൾ അടങ്ങിയ കുറ്റപത്രം തന്നെ നിലനിൽക്കില്ലെന്നും പ്രസ്താവിച്ചു. <ref>[http://www.manoramanews.com/cgi-bin/MMOnline.dll/portal/ep/mmtvContentView.do?BV_ID=@@@&tabId=14&programId=9958837&contentId=15387617 ലാവലിൻ കേസിൽ പിണറായി ഉൾപ്പെടെയുള്ളവരുടെ ഹർജി അനുവദിച്ചു]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=സെപ്റ്റംബർ 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> നിലവിൽ ഈ സിബിഐ നൽകിയ അപ്പീലിൽ സുപ്രീം കോടതി പിണറായി വിജയന് നോട്ടീസ് അയച്ചിരിക്കുകയാണ്. == വിമർശനങ്ങൾ == *നായനാർ മന്ത്രിസഭയിൽ വൈദ്യുതിമന്ത്രിയായിരുന്ന കാലത്ത് [[പന്നിയാർ]]-[[ചെങ്കുളം]]-[[പള്ളിവാസൽ]] പദ്ധതികളുടെ നവീകരണത്തിനായി [[കാനഡ|കാനഡയിലെ]] [[എസ്.എൻ.സി. ലാവ്‌ലിൻ]] എന്ന കമ്പനിയുമായി ഇദ്ദേഹം ഒപ്പുവച്ച{{തെളിവ്}} കരാറിനെക്കുറിച്ച് ആരോപണമുണ്ടായതിനെ തുടർന്ന് [[യു. ഡി. എഫ്]] ഭരണകാലത്ത് സംസ്ഥാന വിജിലൻസ് അന്വേഷണം നടത്തുകയും പിണറായി വിജയൻ തെറ്റു ചെയ്തിട്ടില്ലെന്നു കണ്ടെത്തുകയും ചെയ്തിരുന്നു. എന്നാൽ അടുത്ത തിരഞ്ഞെടുപ്പ് കാലത്ത് ഇത് വീണ്ടും അന്വേഷിക്കാൻ സി.ബി.ഐ-യെ ഏൽപിക്കാൻ [[യു. ഡി. എഫ്]] തീരുമാനിച്ചു. തുടർന്ന് സി.ബി.ഐ. പിണറായി വിജയനെ ഒൻപതാം പ്രതിയായി ചേർക്കുകയും പ്രോസിക്യൂട്ട് ചെയ്യാൻ അനുമതി തേടുകയും ചെയ്തു. [[അഡ്വേക്കേറ്റ് ജനറൽ|അഡ്വേക്കേറ്റ് ജനറലിന്റേയും]], [[കേരളാ മന്ത്രിസഭ|കേരളാ മന്ത്രിസഭയുടേയും]] ഉപദേശം മറികടന്ന് അന്നത്തെ [[കേരളാ ഗവർണ്ണർ]] [[ആർ.എസ്‌. ഗവായ്‌]] സ്വന്തം നിലയിൽ പ്രോസിക്യൂട്ട്[‌ ചെയ്യാൻ അനുമതി നൽകി. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിൽ]] തന്റെ മകന്റെ തിരഞ്ഞെടുപ്പു വിജയത്തിന് [[കോൺഗ്രസ്]] സഹായം ഉറപ്പുവരുത്താൻ ആർ.എസ്‌. ഗവായ്‌ യു. ഡി. എഫ് നേതാക്കളുടെ ഇംഗിതത്തിനൊത്ത് ചെയ്തതാണിതെന്നു ആരോപണമുയർന്നു. കേരളാ ഗവർണ്ണറുടെ ഈ തീരുമാനത്തെ പിണറായി വിജയൻ [[സുപ്രീംകോടതി|സുപ്രീംകോടതിയിൽ]] ചോദ്യംചെയ്തു. അന്വേഷണത്തിലൂടെ പിണറായി വിജയൻ അഴിമതി നടത്തിയില്ലെന്നു തെളിഞ്ഞതിനു ശേഷം സി.ബി.ഐ തന്നെ അപ്രകാരം കോടതിയിൽ [[സത്യവാങ്‌മൂലം]] നൽകുകയുണ്ടായി<ref>[http://www.madhyamam.in/story/ലാവലിൻ-പിണറായി-ഉൾപ്പെട്ട-പണമിടപാടിന്-തെളിവില്ല-സിബിഐ പിണറായി വിജയൻ ഉൾപ്പെട്ട പണമിടപാടിന് തെളിവില്ല സിബിഐ മാധ്യമം ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010]</ref><ref>{{Cite web |url=http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |title=പിണറായിക്ക് എതിരെ തെളിവില്ലെന്ന് സി.ബി.ഐ മാതൃഭൂമി ദിനപത്രം, 18 ഏപ്രിൽ 2010; ശേഖരിച്ചത് 29 ഏപ്രിൽ 2010 |access-date=2010-04-29 |archive-date=2012-05-29 |archive-url=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala |url-status=deviated |archivedate=2012-05-29 |archiveurl=https://web.archive.org/web/20120529010621/http://www.mathrubhumi.com/online/malayalam/news/story/265806/2010-04-18/kerala }}</ref>. അടിസ്ഥാനരഹിതമായ ആരോപണങ്ങൾ ഉന്നയിച്ച് അദ്ദേഹത്തെ വ്യക്തിഹത്യ ചെയ്യാനുള്ള ശ്രമമാണു കേസിനു പിന്നിൽ എന്ന് സി.പി.ഐ.(എം) ആരോപിക്കുന്നു<ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn200410.pdf |title=ലാവ്‌ലിൻ:സത്യം തെളിഞ്ഞു |access-date=2010-04-30 |archive-date=2016-03-05 |archive-url=https://web.archive.org/web/20160305011832/http://www.deshabhimani.com/e_paper/1chn200410.pdf |url-status=dead }}</ref><ref>{{Cite web |url=http://deshabhimani.com/e_paper/1chn190410.pdf |title=അവഹേളിച്ചതിന്റെ ഉത്തരവാദിത്തം ആര് ഏറേറെടുക്കും |access-date=2010-04-30 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304213826/http://www.deshabhimani.com/e_paper/1chn190410.pdf |url-status=dead }}</ref>. *2007 ഫെബ്രുവരി 16ന് ചെന്നൈ വിമാനത്താവളത്തിൽ വച്ച് സുരക്ഷാ പരിശോധനക്കിടെ പിണറായി വിജയന്റെ ബഗേജിൽ നിന്നും 5 വെടിയുണ്ടകൾ ഉദ്യോഗസ്ഥർ കണ്ടെടുക്കുകയുണ്ടായി. ലൈസൻസിന്റെ പകർപ്പ് ഫാക്സ് ആയി ലഭിച്ചതിനു ശേഷം ഉദ്യോഗസ്ഥർ അദ്ദേഹത്തെ പോകാൻ അനുവദിച്ചു.<ref>{{Cite web |url=http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2007-02-22 |archive-url=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm |url-status=deviated |archivedate=2007-02-22 |archiveurl=https://web.archive.org/web/20070222111036/http://www.hindu.com/2007/02/20/stories/2007022011850400.htm }}</ref> *തൊഴിലാളി നേതാവായി ഉയർന്നുവന്ന പിണറായിയുടെ മകന്റെ ബർമിങ്ഹാം യൂണിവേഴ്സിറ്റിയിലെ വിദ്യാഭ്യാസവും മകളുടെ സ്വാശ്രയ കോളേജിലെ പഠനവുമെല്ലാം അദ്ദേഹത്തിനെതിരെയുള്ള മറ്റു വിമർശനങ്ങളിൽ ചിലതാണ്‌. <ref>http://thatsmalayalam.oneindia.mobi/news/2008/02/14/51199.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. എന്നാൽ കേരള ആദായ നികുതി വകുപ്പ് 2008 ജനുവരിയിൽ ഹൈക്കോടതിക്ക് നൽകിയ സത്യവാങ്ങ്‌മൂലത്തിൽ പിണറായിയുടെ മകന്റെ ബർമിങ്ങ്ഹാം സർവ്വകലാശാലയിലെ പഠിപ്പിന് പിണറായി വിജയൻ വക സാമ്പത്തിക സഹായമൊന്നും നൽകുകയുണ്ടായില്ല എന്ന വ്യക്തമാക്കുകയുണ്ടായി.<ref>{{cite web|title = മകന്റെ വിദേശപഠന ചെലവ്‌ പിണറായി വഹിച്ചിട്ടില്ല - ആദായനികുതി വകുപ്പ്‌.|publisher = [[മാതൃഭൂമി]]|url = http://www.mathrubhumi.com/php/newFrm.php?news_id=12209&n_type=HO&category_id=3&Farc=T&previous=Y|date = ജനുവരി 2, 2008|accessdate = ഓഗസ്റ്റ് 7, 2009|language = മലയാളം}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> *കേരളത്തിലെ ചില മുഖ്യധാരാ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗമായി [[സി.പി.ഐ.എം|സി.പി.ഐ.(എം)]]-നെതിരെ ഒരു ശക്തമായ മാധ്യമസിന്റിക്കേറ്റ് പ്രവർത്തിക്കുന്നതായി അദ്ദേഹം കരുതുന്നു. അത് ചില ഉദാഹരണസഹിതം അദ്ദേഹം പ്രസ്താവിച്ചതിനാൽ ആ പത്ര-ദൃശ്യ മാധ്യമങ്ങളുടെ ഭാഗത്ത് നിന്ന് അദ്ദേഹത്തിന് എതിരെ ശക്തമായ വിമർശങ്ങളുണ്ടായി . {{fact}} *മാധ്യമസിന്റിക്കേറ്റിനെതിരെ അദ്ദേഹം നടത്തിയ പ്രസ്താവനയെ, [[മാതൃഭൂമി]] പത്രാധിപനെതിരായ ഭീഷണിപ്പെടുത്തലായി ചിത്രീകരിച്ച് പത്രാധിപരുടെ ഗിൽഡ് അപലപിച്ചിരുന്നു. <ref>{{Cite web |url=http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-05-08 |archive-date=2009-02-09 |archive-url=https://web.archive.org/web/20090209172703/http://www.thehoot.org/web/home/story.php?storyid=2608&pg=1&mod=1&sectionId=2 |url-status=dead }}</ref><ref> http://www.financialexpress.com/news/CPIM-mouth-piece-snipes-at-Editors-Guild/204556/ </ref> *പിണറായി വിജയൻ കൊട്ടാരതുല്യമായ വീട് നിർമ്മിച്ചതിനെപ്പറ്റി അന്വേഷിക്കാൻപോയ നാലു സഖാക്കളെ സസ്‌പെന്റ് ചെയ്തുകൊണ്ടാണ് പിണറായി വിജയൻ തനിക്കെതിരായ വിമർശനത്തെ അടിച്ചമർത്തിയത് എന്ന ആരോപണം വലിയ വിവാദം ആയിരുന്നു. ഒരു തൊഴിലാളി നേതാവിന് ഇത്രയും വലിയ വീട് പണിതത്തിനെ കുറിച്ചു പാർട്ടിയിൽ തന്നെ നിരവധി വാക്കേറ്റങ്ങൾക്കു കാരണം ആയി. 4 സഖാക്കളെ [[സി.പി.ഐ.എം]] പുറത്താക്കിയത് വേറെ കാരണങ്ങളായിരുന്നു എന്നതായിരുന്നു പിന്നീടുള്ള പത്രറിപ്പോർട്ട്.<ref>http://www.indianexpress.com/news/why-none-dares-talk-about-pinarayi/473293/0</ref> . ==അവലംബം== {{reflist|2}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * http://www.cpim.org/bio/pinarayi_vijayan.htm {{Webarchive|url=https://web.archive.org/web/20080225150859/http://www.cpim.org/bio/pinarayi_vijayan.htm |date=2008-02-25 }} *[http://malablo.com/പിണറായി-വിജയൻജീവിത-വഴിക/ പിണറായി വിജയൻ ജീവിത വഴികളിലൂടെ.] {{Webarchive|url=https://web.archive.org/web/20200716211615/http://malablo.com/%E0%B4%AA%E0%B4%BF%E0%B4%A3%E0%B4%B1%E0%B4%BE%E0%B4%AF%E0%B4%BF-%E0%B4%B5%E0%B4%BF%E0%B4%9C%E0%B4%AF%E0%B5%BB%E0%B4%9C%E0%B5%80%E0%B4%B5%E0%B4%BF%E0%B4%A4-%E0%B4%B5%E0%B4%B4%E0%B4%BF%E0%B4%95/ |date=2020-07-16 }} {{commons category|Pinarayi Vijayan}} {{S-start}} {{s-off}} {{s-bef|before=[[ഉമ്മൻ ചാണ്ടി]]}} {{s-ttl|title=[[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=25 മേയ് 2016 – 04 മേയ് 2026}} {{s-aft|after= [[വി.ഡി. സതീശൻ]]}} {{S-end}} {{CMs of Kerala}} {{Fourteenth KLA}} {{DEFAULTSORT:വിജയൻ}} [[വർഗ്ഗം:1944-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മാർച്ച് 21-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:നിരീശ്വരവാദികൾ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഒൻപതാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പത്താം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സഹകരണവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ വൈദ്യുതിവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:സി.പി.ഐ.എം. സംസ്ഥാന സെക്രട്ടറിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ.എം. പ്രവർത്തകർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ അടിയന്തരാവസ്ഥയിൽ തടവിലാക്കപ്പെട്ടവർ]] [[വർഗ്ഗം:കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)-ൽ നിന്നുള്ള മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആഭ്യന്തരമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഐ.ടി. വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രിന്റിംഗ്, സ്റ്റേഷനറി വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] 4ialu1bvydy52afdeymnw9janshrzgk ജഗതി ശ്രീകുമാർ 0 9440 4622156 4614779 2026-05-23T06:52:06Z Sreehari lijinas 209493 /* പുരസ്കാരങ്ങൾ */ 4622156 wikitext text/x-wiki {{prettyurl|Jagathy Sreekumar}} {{നാനാർത്ഥം|വാക്ക്=ജഗതി}} {{Infobox actor | name = ജഗതി ശ്രീകുമാർ | image = Jagathy Sreekumar 2008.jpg | caption = | birthname = {{birth date and age|1950|1|5}} | birthdate = {{birth date and age|1951|1|5}} | birthplace = {{flagicon|India}} [[തിരുവനന്തപുരം]], [[കേരളം]], [[ഇന്ത്യ]] | othername = ശ്രീകുമാർ, ജഗതി, അമ്പിളി | occupation = ചലച്ചിത്ര അഭിനേതാവ് | yearsactive = 1973-2012, 2019- മുതൽ | spouse = [[മല്ലിക സുകുമാരൻ]] (1976–1979) <br>കല (1979–1984)<ref>{{Cite web |url=http://www.mangalam.com/mangalam-varika/44220 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2015-03-14 |archive-date=2013-12-03 |archive-url=https://web.archive.org/web/20131203074104/http://www.mangalam.com/mangalam-varika/44220 |url-status=dead }}</ref><br>ശോഭ (1984–ഇതുവരെ) | children = രാജ് കുമാർ <br/>പാർവതി <br />[[ശ്രീലക്ഷ്മി ശ്രീകുമാർ|ശ്രീലക്ഷ്മി]]<ref name="mangalam.com">{{Cite web |url=http://www.mangalam.com/mangalam-varika/41653 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2015-03-14 |archive-date=2013-12-03 |archive-url=https://web.archive.org/web/20131203075648/http://www.mangalam.com/mangalam-varika/41653 |url-status=dead }}</ref> | parents = [[ജഗതി എൻ.കെ. ആചാരി]], പൊന്നമ്മ | website = | nationalfilmawards = | filmfareawards = | awards = }} [[മലയാളചലച്ചിത്രം|മലയാള സിനിമയിലെ]] പ്രമുഖനായ [[ഹാസ്യം|ഹാസ്യ നടൻ]] ആണ് '''ജഗതി''' എന്നറിയപ്പെടുന്ന '''ജഗതി ശ്രീകുമാർ'''. മികച്ച [[ഹാസ്യം|ഹാസ്യ താരത്തിനുള്ള]] 2011-ലെ കേരള സംസ്ഥാന ചലച്ചിത്ര പുരസ്കാരം ഇദ്ദേഹത്തിനു ലഭിച്ചു<ref>{{Cite web |url=http://www.mathrubhumi.com/movies/malayalam/287826/ |title=ദിലീപ് നടൻ, ശ്വേത-നടി, ഇന്ത്യൻ റുപ്പി മികച്ച ചിത്രം |access-date=2012-07-19 |archive-date=2014-03-05 |archive-url=https://web.archive.org/web/20140305125805/http://www.mathrubhumi.com/movies/malayalam/287826 |url-status=dead }}</ref>. == ആദ്യ ജീവിതം == പ്രമുഖ നാടകാചാര്യനായിരുന്ന പരേതനായ [[ജഗതി എൻ.കെ. ആചാരി|ജഗതി എൻ.കെ. ആചാരിയുടെയും]] പരേതയായ പൊന്നമ്മാളിന്റെയും മൂത്ത മകനായി 1950 [[ജനുവരി 5]]-ന്‌, [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം ജില്ലയിലെ]] ജഗതിയിൽ ജനിച്ചു. കൃഷ്ണകുമാർ എന്ന അനുജനും ജമീല, സുഗദമ്മ എന്നീ അനുജത്തിമാരും അദ്ദേഹത്തിനുണ്ട് == അഭിനയ ജീവിതം == മലയാളത്തിൽ ഏകദേശം 1500 ഓളം ചിത്രങ്ങളിൽ അഭിനയിച്ചു<ref name="The Hindu">http://www.hinduonnet.com/thehindu/fr/2005/06/10/stories/2005061002980100.htm {{Webarchive|url=https://web.archive.org/web/20100811061752/http://www.hinduonnet.com/thehindu/fr/2005/06/10/stories/2005061002980100.htm |date=2010-08-11 }} The Hindu</ref> . മലയാള സിനിമയിലെ ഹാസ്യ സാമ്രാട്ട് എന്നു അറിയപ്പെടുന്നു. അച്ഛന്റെ നാടകങ്ങളിലൂടെയാണ് ജഗതി കലാ ലോകത്തേക്ക് കടക്കുന്നത്. തിരുവനന്തപുരം മോഡൽ സ്കൂളിൽ അഞ്ചാം ക്ലാസിൽ പഠിക്കുമ്പോഴാണ് ആദ്യ നാടകാഭിനയം. എന്നാൽ 3-അം വയസ്സിൽ തന്നെ ''അച്ഛനും മകനും'' എന്ന ചിത്രത്തിൽ ശ്രീകുമാർ അഭിനയിച്ചു. അച്ഛൻ ജഗതി എൻ കെ ആചാരി ആയിരുന്നു അതിന്റെ തിരക്കഥ. [[മാർ ഇവാനിയസ് കോളേജ്|തിരുവനന്തപുരം മാർ ഇവാനിയോസ് കോളേജിൽ]] നിന്നും ബോട്ടണിയിൽ ബിരുദമെടുത്ത ശേഷം മദിരാശിയിൽ കുറച്ചു കാലം മെഡിക്കൽ റെപ്രസന്റേറ്റിവായി ജോലി ചെയ്യവേയാണ് സിനിമയിലേയ്ക്ക് കാലെടുത്തു വെയ്ക്കുന്നത്. [[ചട്ടമ്പിക്കല്യാണി (മലയാളചലച്ചിത്രം)|ചട്ടമ്പി കല്യാണി]] എന്ന ചിത്രത്തിൽ [[അടൂർ ഭാസി|അടൂർ ഭാസിയുടെ]] ശിങ്കിടി പയ്യന്റെ വേഷത്തിലൂടെ ജഗതി ശ്രദ്ധിക്കപ്പെട്ടു.<ref>{{Cite web |url=http://www.hinduonnet.com/thehindu/fr/2005/06/10/stories/2005061002980100.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2008-07-08 |archive-date=2010-08-11 |archive-url=https://web.archive.org/web/20100811061752/http://www.hinduonnet.com/thehindu/fr/2005/06/10/stories/2005061002980100.htm |url-status=dead }}</ref> വെറും ഒരു കൊമേഡിയൻ എന്ന നിലയിൽ നിന്നും തന്റേതായ കഴിവുകളിലൂടെ ജഗതി മലയാള സിനിമയിലെ അതുല്യ നടനായി ഉയർന്നു. 1984 മുതൽ തൊണ്ണൂറുകൾ വരെ മലയാളസിനിമയുടെ സബ് സൂപ്പർസ്റ്റാർ ആയിരുന്നു.2012 മാർച്ച് 10 ന് ദേശീയ പാതയിൽ [[മലപ്പുറം ജില്ല|മലപ്പുറം ജില്ലയിലെ]] തേഞ്ഞിപ്പാലത്തിനടുത്തുള്ള പാണാമ്പ്രവളവിൽ വെച്ചുണ്ടായ വാഹനാപകടത്തിൽ ജഗതി ശ്രീകുമാറിനു ഗുരുതരമായ പരിക്കു പറ്റി. തുടർന്ന് ഒരു വർഷത്തോളം അദ്ദേഹം ആശുപത്രിയിലായിരുന്നു. ഇപ്പോഴും അദ്ദേഹം പൂർണാരോഗ്യം വീണ്ടെടുത്തിട്ടില്ല. 2022 മെയ് 1ാം തീയതി റിലീസ് ചെയ്ത "സി.ബി.ഐ 5 ദ് ബ്രയിൻ" എന്ന മമ്മൂട്ടി ചിത്രത്തിൽ അദ്ദേഹം വിക്രം എന്ന കഥാപാത്രമായി വീണ്ടും എത്തി ശ്രദ്ധ നേടി. ==പുരസ്കാരങ്ങൾ== [[കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം]] * മികച്ച ഹാസ്യതാരത്തിനുള്ള അവാർഡ്‌ - 2011- [[സ്വപ്ന സഞ്ചാരി|സ്വപ്നസഞ്ചാരി]] * പ്രതേക ജൂറി അവാർഡ്‌ -2009- [[രാമാനം]] * പ്രതേക ജൂറി അവാർഡ്‌ -2007- [[പരദേശി]], [[അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ|അറബികഥ]], [[വീരാളിപ്പട്ട്|വീരാളിപട്ട്‌]] * മികച്ച രണ്ടാമത്തെ നടൻ -2002 -[[മീശമാധവൻ|മീശ മാധവൻ]], [[നിഴൽക്കുത്ത്]] * മികച്ച രണ്ടാമത്തെ നടൻ -1991- [[കിലുക്കം]], [[അപൂർവ്വം ചിലർ|അപൂർവം ചിലർ]] * ഏഷ്യാനെറ്റ്‌ ഫിലിം അവാർഡ്‌ * ജയ്ഹിന്ദ്‌ ടി വി അവാർഡ്‌ == വിതുര സ്ത്രീപീഡന കേസ് == കോളിളക്കം സൃഷ്ടിച്ച [[വിതുര സ്ത്രീപീഡനക്കേസ്|വിതുര സ്ത്രീപീഡന കേസിൽ]] ജഗതി കുറ്റക്കാരനാണെന്ന് ആരോപിതനായിരുന്നു. കേസിൽ പ്രതിചേർത്തിരുന്ന നടൻ ജഗതി ശ്രീകുമാറിനെ കോടതി നേരത്തെ വെറുതെ വിട്ടിരുന്നു. ഈ വിധിയ്ക്കെതിരെ സർക്കാരിന്റെ അപ്പീൽ ഹൈക്കോടതിയിൽ നിലവിലുണ്ട്.<ref name="കേരള കൗമുദി">http://news.keralakaumudi.com/news.php?nid=0b6d04ff4c0bcbc16e8cf9a23a0d9194 കേരള കൗമുദി</ref> മാവേലിക്കരയിലെ ഫേബിയൻ ബുക്സ് പ്രസാധനം ചെയ്ത സാമൂഹിക പ്രവർത്തകയും ഫെമിനിസ്റ്റുമായ പ്രൊഫ. ഗീതയുടെ അന്യായങ്ങൾ എന്ന പുസ്തകത്തിൽ നടൻ ജഗതി ശ്രീകുമാറിനെ കുറിച്ച്‌ വിതുര പെൺകുട്ടി പറഞ്ഞ വാക്കുകളും ഉണ്ട്. ജഗതി തന്നെ പീഡിപ്പിച്ചു എന്ന് യാതൊരു സംശ്ശയവുമില്ലായെന്നും, തന്നെ ഉപദ്രവിയ്ക്കാതെ വെറുതെ വിടണമെന്ന നിരന്തരമായ അഭ്യർത്ഥനയെ മാനിയ്ക്കാതെ, മുറിക്കുള്ളിൽ ഓടിച്ചു പിടിച്ചാണ്‌ ജഗതി തന്നെ പീഡിപ്പിച്ചതെന്നും‌ പെൺകുട്ടി പറയുന്നു. <ref>http://keralarani.com/news/movie-news-gossips/7616-did-jagathy-a-culprit-in-vidhura-case{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> == അവലംബം == <references/> == പുറത്തേക്കുള്ള കണ്ണികൾ == {{commons category|Jagathy Sreekumar}} * {{imdb name|0415549|name=Jagathi Sreekumar}} {{ജഗതി ശ്രീകുമാർ അഭിനയിച്ച ചലച്ചിത്രങ്ങളുടെ പട്ടിക}} [[വർഗ്ഗം:1951-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ജനുവരി 5-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:തിരുവനന്തപുരം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മലയാള ഹാസ്യനടന്മാർ]] [[വർഗ്ഗം:മികച്ച രണ്ടാമത്തെ നടനുള്ള കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:അഭിനയത്തിനുള്ള കേരളസംസ്ഥാനസർക്കാർ പ്രത്യേകപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:മികച്ച ഹാസ്യതാരത്തിനുള്ള കേരളസംസ്ഥാന ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] 82dqy26sk6vcqjtinzldlxxec0fez3i വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ് 4 10932 4621543 4613903 2026-05-22T13:03:48Z Ranjithsiji 22471 /* മലയാളം വിക്കിപീഡിയയിലെ നാവ്ബോക്സുകൾ മൊബൈലിൽ കാണിക്കുന്നത് സംബന്ധിച്ച് */ പുതിയ ഉപവിഭാഗം 4621543 wikitext text/x-wiki __NEWSECTIONLINK__ {{prettyurl|WP:ANB}} {{വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/തലക്കെട്ട്}} {| border="0" cellpadding="2" style="float: right; background-color:#f9f9f9;margin:1px;border: thin solid red; width: 200px; border-collapse: collapse; font-size: 95%;" |+ colspan="2" style="margin-left: inherit; background:red; color:#ffffff;text-align:center;"| '''നോട്ടീസ് ബോർഡിലെ</br>പഴയ സം‌വാദങ്ങൾ''' |- !align="center"|[[Image:Vista-file-manager.png|50px|സംവാദ നിലവറ]]<br/> |- | [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2007|2007]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2008|2008]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2009|2009]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2010|2010]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2011|2011]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2012|2012]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2013|2013]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2014|2014]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2015|2015]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2016|2016]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2017|2017]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2018|2018]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2019|2019]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2020|2020]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2021|2021]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2022|2022]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2023|2023]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2024|2024]] . [[വിക്കിപീഡിയ:കാര്യനിർവാഹകർക്കുള്ള നോട്ടീസ് ബോർഡ്/2025|2025]] |} == Report concerning Jaisonll799 == {{User|Jaisonll799}} Vandalism <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small> --[[ഉപയോക്താവ്:Langusto|Langusto]] ([[ഉപയോക്താവിന്റെ സംവാദം:Langusto|സംവാദം]]) 14:59, 6 ഫെബ്രുവരി 2026 (UTC) == Report concerning Latijn == {{User|Latijn}} Vandalism. X-Wiki-Vandalism. See Metawiki <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small> --[[ഉപയോക്താവ്:NDG|NDG]] ([[ഉപയോക്താവിന്റെ സംവാദം:NDG|സംവാദം]]) 20:11, 2 മാർച്ച് 2026 (UTC) == അവലംബം-അവലംബങ്ങൾ == താളുകളുടെ അവസാനത്തിൽ അവലംബങ്ങൾക്കുള്ള തലക്കെട്ട് ഇത്രയും കാലം '''അവലംബം''' എന്നായിരുന്നു. എന്നാൽ ഈയിടെ അത് '''അവലംബങ്ങൾ''' എന്നാക്കി [https://ml.wikipedia.org/w/index.php?title=%E0%B4%B5%E0%B4%BF%E0%B4%A8%E0%B5%8D%E0%B4%A8%E0%B4%BF_%E0%B4%AE%E0%B4%A1%E0%B4%BF%E0%B4%95%E0%B4%BF%E0%B4%B8%E0%B5%87%E0%B4%B2_%E0%B4%AE%E0%B4%A3%E0%B5%8D%E0%B4%9F%E0%B5%87%E0%B4%B2&diff=prev&oldid=4605583 മാറ്റുന്നത്] കാണുന്നുണ്ട്. അങ്ങനെ മാറ്റാൻ തീരുമാനിക്കുന്നുന്നെങ്കിൽ ഏതെങ്കിലും ബോട്ടോടിച്ച് മാറ്റാൻ കഴിയില്ലേ. ആദ്യം അങ്ങനെ മാറ്റണോ വേണ്ടേ എന്ന് തീരുമാനിക്കുക. എന്നിട്ട് ആവശ്യമായത് ചെയ്യുമല്ലോ.-- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 07:08, 5 മാർച്ച് 2026 (UTC) :അവലംബം എന്നത് ഏകവചനവും അവലംബങ്ങൾ ബഹുവചനവുമാണ്. ഒരു അവലംബം മാത്രമേയുള്ളൂവെങ്കിൽ അവലംബം ശരി. പക്ഷെ ഭാവിയിൽ കൂടുതൽ അവലംബം വരികയാണെങ്കിൽ അവലംബങ്ങൾ ശരി. ആദ്യം ലേഖനമെഴുതിയവർ ഇത് പരിഗണിക്കാത്തതായിരിക്കാൻ സാദ്ധ്യതയുണ്ട്. ഇത് ബോട്ടോടിച്ച് ചെയ്യാവുന്നതാണ്. ലേഖനത്തിൽ തിരുത്തുന്നതും സാദ്ധ്യമാണ്. എങ്ങനെയായാലും വിരോധമില്ല. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 07:43, 5 മാർച്ച് 2026 (UTC) ::പക്ഷെ, അത് 85000+ ലേഖനങ്ങളിൽ ഇപ്പോഴുള്ളത് അവലംബം എന്നാണ്. അത് അങ്ങനെ തന്നെ നിലനിൽക്കുന്നത് കൊണ്ട് പ്രത്യേകിച്ച് പ്രശ്നമൊന്നുമില്ല. ഒരു സമവായമില്ലാതെ അത് ഏതാനും ലേഖനങ്ങളിൽ മാറ്റുന്നത് നന്നാവില്ല എന്ന് കരുതുന്നു. [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 23:21, 5 മാർച്ച് 2026 (UTC) :::അങ്ങനെ നിലനിൽക്കുന്നത് ഭാഷാപരമായി ശരിയല്ല. മാറ്റേണ്ടതാണ്. 85000+ ലേഖനങ്ങളിലുണ്ട് എന്നുള്ളതുകൊണ്ട് അത് ശരിയാവണമെന്നില്ല. ഭാഷ എന്നത് ഭൂരിപക്ഷതീരുമാനം മാത്രമല്ല വ്യാകരണനിയമങ്ങളും കൂടിയാണ്. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 14:51, 25 മാർച്ച് 2026 (UTC) :നിലവിലുള്ള ഒരു ശൈലി മാറ്റുമ്പോൾ ഒരു സമവായം അനിവാര്യമാണ്. പ്രത്യേകിച്ചും അത് [[വിക്കിപീഡിയ:വോട്ടെടുപ്പ്|ചർച്ച]] ചെയ്ത് സമവായമായ കാര്യമായതിനാലും, പലയിടങ്ങളിലും [[വിക്കിപീഡിയ:ലേഖനങ്ങളിലെ_അവലംബങ്ങൾ_-_തുടക്കക്കാർക്ക്|ഡോക്യുമെന്റ്]] ചെയ്യപ്പെട്ടതുകൊണ്ടും. ഇനി അത് മാറ്റണമെങ്കിൽ ചർച്ച ചെയ്ത് തീരുമാനിക്കാം. അവലംബങ്ങൾ എന്ന് മാത്രമാക്കേണ്ടതില്ല റെഫറൻസുകൾ, സൈറ്റേഷനുകൾ, തെളിവുകൾ, പരാമർശങ്ങൾ എന്നിവയൊക്കെയും ചർച്ചക്ക് വെക്കാവുന്നതാണ്. തലക്കെട്ട് എന്ന നിലക്ക് ഏകവചനം മതിയാവുന്നതാണെന്നാണ് എന്റെ വിലയിരുത്തൽ. അത് അവലംബം ഒന്നും ഇല്ലെങ്കിലും, നൂറുകണക്കിന് ഉണ്ടെങ്കിലും തലക്കെട്ട് മാറ്റേണ്ടതില്ല.--[[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 19:52, 25 മാർച്ച് 2026 (UTC) ::ഈ ചർച്ചകൾ കൂടി ശ്രദ്ധിക്കുക. :::*[[വിക്കിപീഡിയ:പഞ്ചായത്ത്_(നയരൂപീകരണം)/Archive_1#റെഫറൻസുകൾ|നയരൂപീകരണം]] :::*[[വിക്കിപീഡിയ:പഞ്ചായത്ത്_(പലവക)/archive_2#പ്രമാണാധാരസൂചിക|പ്രമാണാധാരസൂചിക]] :::*[[വിക്കിപീഡിയ:പഞ്ചായത്ത്_(പലവക)/archive_4#ആധാരസൂചിക|ആധാരസൂചിക]] ::--[[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 20:05, 25 മാർച്ച് 2026 (UTC) :::അവലംബം എന്ന വാക്ക് റെഫറൻസിന്‌ തുല്യമായി അംഗീകരിച്ചിരിക്കുന്നു എന്ന് വോട്ടെടുപ്പിൽ തീരുമാനിച്ചതാണ്. https://olam.in/dictionary/english/malayalam/reference പറയുന്നത് ഉദ്ധരണം, സൂചന, പരാമർശനം, പരാമർശം, സംശബ്ദം എന്നിങ്ങനെയാണ്. https://translate.wmcloud.org/ ൽ Reference -> പരാമർശം, References -> പരാമർശങ്ങൾ എന്നിങ്ങനെയാണ്. ഇവിടെ ഏകവചനം വേണോ ബഹുവചനം വേണോ എന്നതാണ് ചോദ്യം. കാര്യങ്ങൾ കൂടുതൽ വ്യക്തമാവാനായി അവലംബങ്ങൾ എന്നുപയോഗിക്കണം എന്നാണ് എന്റെ അഭിപ്രായം അതാണ് കൂടുതൽ ശരി. ഉദാ: കാര്യം -> കാര്യങ്ങൾ, പരാമർശം -> പരാമർശങ്ങൾ, വിവരം -> വിവരങ്ങൾ, ദത്തം -> ദത്തങ്ങൾ എന്നിങ്ങനെ വ്യാപകമായി ബഹുവചനം പ്രയോഗത്തിലുണ്ട്. അതുകൊണ്ട് ഒന്നിലധികം അവലംബം ഉണ്ടെങ്കിൽ ബഹുവചനം വേണ്ടതാണ്. ഇതേ കാര്യം ബാഹ്യലിങ്കുകൾ, പുറത്തേക്കുള്ള കണ്ണികൾ എന്നിവയിലും ബാധകമാണ്. വിവരം ഉൾക്കൊള്ളുന്ന ഒരു കണ്ണിയാണ് ഉള്ളതെങ്കിൽ കണ്ണി എന്നും ഒന്നിലധികമുണ്ടെങ്കിൽ കണ്ണികൾ എന്നും പ്രയോഗിക്കുന്നു. വിക്കിപീഡിയയിൽ തന്നെ ഉപവർഗ്ഗങ്ങൾ, താളുകൾ എന്നിവയും വ്യാപകമായി ഉപയോഗിക്കുന്നുണ്ട് (വർഗ്ഗത്തിലെ താളുകൾ, വർഗ്ഗത്തിലെ താൾ എന്നല്ല). അതുകൊണ്ട് അവലംബത്തിനുമാത്രം ഏകവചനം മതിയെന്നത് ഭാഷാപരമായി ശരിയല്ല. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 05:35, 26 മാർച്ച് 2026 (UTC) ::::ഏകവചനം വേണോ, ബഹുവചനം വേണോ എന്നെല്ലാം ചർച്ചകളിൽ വന്നിട്ടുണ്ട്. ഏകവചനം മതി എന്നാണ് സമവായമായത്. അതാണ് മലയാള ഭാഷയുടെ രീതി എന്നും അവിടെ പറഞ്ഞിട്ടുണ്ട്. അതിന് ശേഷം വോട്ടെടുപ്പ് നടന്നത് അവലംബം, അവലംബങ്ങൾ, സഹായകപ്രമാണങ്ങൾ എന്നിവ വെച്ചാണ്. ആ വോട്ടെടുപ്പിലാണ് ഏകവചനമായ അവലംബം മതി എന്ന് തീരുമാനമായത്. :::::*മലയാളം വ്യാകരണത്തിൽ അചേതനങ്ങൾ (നിഷ്പ്രാണവസ്തുക്കൾ, ജഡമായ വസ്തുക്കൾ, നപുംസകലിംഗം) എന്നിവയുടെ ബഹുവചനം സൂചിപ്പിക്കാൻ പലപ്പോഴും ഏകവചന രൂപം തന്നെ ഉപയോഗിക്കുന്നത് ഭാഷയുടെ ഒരു സ്വഭാവമാണ്. :::::*ഇത് മലയാളത്തിന്റെ പ്രകൃതിസിദ്ധമായ സ്വഭാവം ആണെന്ന് വ്യാകരണ ഗ്രന്ഥങ്ങളിലും ചർച്ചകളിലും പറയാറുണ്ട്. അചേതന വസ്തുക്കളുടെ ബഹുത്വം സന്ദർഭം കൊണ്ടോ വാക്യഘടന കൊണ്ടോ മനസ്സിലാക്കാമെന്നതിനാൽ, "കൾ" പോലുള്ള ബഹുവചന പ്രത്യയം എപ്പോഴും നിർബന്ധമല്ല. :::::*ഈ ശൈലി മലയാളത്തെ ലളിതവും സ്വാഭാവികവുമാക്കുന്ന ഒരു പ്രത്യേകതയാണ്.'' ::::എന്നെല്ലാമാണ് ഗ്രോക്ക് പറഞ്ഞതും.-- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 10:32, 26 മാർച്ച് 2026 (UTC) :::::ഇതിന് വ്യാപകമായ പ്രത്യാഘാതം (പ്രത്യാഘാതങ്ങൾ വേണ്ടല്ലോ) ഉണ്ട് (ഇവിടെയും പ്രശ്നമുണ്ട്. ഞാനുദ്ദേശിച്ചത് ഒന്നിലധികം പ്രത്യാഘാതം ആണ് അത് ഈ വാക്ക് ദ്യോതിപ്പിക്കുന്നില്ല.). :::::മലയാളം വ്യാകരണത്തിൽ അചേതനങ്ങൾ (നിഷ്പ്രാണവസ്തുക്കൾ, ജഡമായ വസ്തുക്കൾ, നപുംസകലിംഗം) എന്നിവയുടെ ബഹുവചനം സൂചിപ്പിക്കാൻ പലപ്പോഴും ഏകവചന രൂപം തന്നെ ഉപയോഗിക്കുന്നത് ഭാഷയുടെ ഒരു സ്വഭാവമാണ്. :::::ഈ വാചകം തന്നെ മാറ്റണം. ''മലയാളം വ്യാകരണത്തിൽ അചേതനം (നിഷ്പ്രാണവസ്തു, ജഡമായ വസ്തു, നപുംസകലിംഗം) എന്നിവയുടെ ബഹുവചനം സൂചിപ്പിക്കാൻ പലപ്പോഴും ഏകവചന രൂപം തന്നെ ഉപയോഗിക്കുന്നത് ഭാഷയുടെ ഒരു സ്വഭാവമാണ്''. എന്നാക്കണം. :::::വർഗ്ഗങ്ങൾ, ഉപതാളുകൾ, കണ്ണികൾ, തിരുത്തുകൾ, ചർച്ചകൾ, സമീപകാല മാറ്റങ്ങൾ എന്നിവയെല്ലാം വർഗ്ഗം, ഉപതാൾ, കണ്ണി, തിരുത്ത്, ചർച്ച, സമീപകാല മാറ്റം എന്നിങ്ങനെ ഏകവചനമായി ഉപയോഗിക്കണം (ഇതെല്ലാം അചേതന വസ്തുക്കളാണ്). എന്നാൽ വ്യാപകമായി മലയാള ഭാഷയുടെ പ്രയോഗം അങ്ങനെയല്ല. ഈ നിയമം നമ്മൾ അനുസരിക്കാൻ തീരുമാനിച്ചാൽ മീഡിയവിക്കിയുടെ മലയാളം പരിഭാഷയിൽ തന്നെ വ്യാപകമായ മാറ്റം വേണ്ടിവരും. നേരത്തേ സൂചിപ്പിച്ച ചർച്ചകളിൽ ഈ തരത്തലുള്ള പരിഗണന ഉണ്ടായിട്ടുള്ളതല്ല. അതുകൊണ്ട് അവലംബങ്ങൾ, പുറത്തേക്കുള്ള കണ്ണികൾ എന്നിവ രണ്ടും ഉപയോഗിക്കണമെന്നാണ് എന്റെ അഭിപ്രായം. * [[വിക്കിപീഡിയ:പഞ്ചായത്ത്_(പലവക)/archive_4#ആധാരസൂചിക-_ചർച്ച|ആധാരസൂചിക-_ചർച്ച]] കാണുക. അവസാനം സമവായമാകാതെ പിരിയുകയാണുണ്ടായത്. ഇപ്പോൾ ച‌ർച്ചക്കുവച്ചാലും ഫലം ഇതിലും നല്ലതാകാൻ സാദ്ധ്യതയില്ല. നോക്കാം. [[വിക്കിപീഡിയ:പഞ്ചായത്ത്_(പലവക)#ലേഖനത്തിൽ_അവലംബം/അവലംബങ്ങൾ_ഏതാണ്_വേണ്ടത്|ചർച്ച തുടങ്ങിവയ്ക്കുന്നു]] [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 14:10, 26 മാർച്ച് 2026 (UTC) == Unused interface messages == Please delete the following interface messages, as they are no longer used: * [[MediaWiki:Watchdetails]] * [[MediaWiki:Watcheditlist]] See [[:m:Steward requests/Miscellaneous#Deleting unused messages from multiple wikis|this SRM request]] and [[:phab:T234776]]. [[ഉപയോക്താവ്:NguoiDungKhongDinhDanh|NguoiDungKhongDinhDanh]] ([[ഉപയോക്താവിന്റെ സംവാദം:NguoiDungKhongDinhDanh|സംവാദം]]) 00:55, 25 മാർച്ച് 2026 (UTC) :{{done}} --[[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 14:49, 25 മാർച്ച് 2026 (UTC) == FORMAL COMPLAINT REGARDING ADMINISTRATIVE MISCONDUCT AND MISINFORMATION == FORMAL COMPLAINT REGARDING ADMINISTRATIVE MISCONDUCT AND MISINFORMATION To: The Wikipedia Administrators' Noticeboard / Meta-Wiki Stewards Subject: Formal Complaint against Administrator Ranjithsiji (User:Ranjithsiji) for Abuse of Power and Promotion of Misinformation on the "Ezhamkulam Devi Temple" Page. Dear Stewards/Administrators, I am writing to formally report a serious case of administrative misconduct by Ranjithsiji on the Malayalam Wikipedia article "Ezhamkulam Devi Temple". Statement of Grievance: The administrator, Ranjithsiji, has been using his administrative tools to suppress the authentic history of the Ezhamkulam Devi Temple. He has deliberately modified the article to favor a false narrative, allegedly to support certain local groups involved in financial exploitation and public deception. Despite providing multiple pieces of historical and official evidence proving the centuries-old custodianship of the Ambalathinal Family (Ambalathinal Tharavadu), the administrator has: 1. Manipulated Content: Replaced verified historical facts with fabricated stories. 2. Abused Protection Tools: Locked (Protected) the page to prevent any factual corrections by the public, thereby shielding misinformation. 3. Ignored Official Records: Disregarded official temple management records and video evidence that validate the Ambalathinal family’s rights. Supporting Evidence (6 Points): <nowiki>*</nowiki> Evidence 1 (Image): <nowiki>https://commons.wikimedia.org/wiki/File:%E0%B4%8F%E0%B4%B4%E0%B4%82%E0%B4%95%E0%B5%81%E0%B4%B3%E0%B4%82_%E0%B4%A6%E0%B5%87%E0%B4%B5%E0%B5%80%E0%B4%95%E0%B5%8D%E0%B4%B7%E0%B5%87%E0%B4%A4%E0%B5%8D%E0%B4%B0%E0%B4%B5%E0%B5%81%E0%B4%82_%E0%B4%85%E0%B4%AE%E0%B5%8D%E0%B4%AA%E0%B4%B2%E0%B4%A4%E0%B5%8D%E0%B4%A4%E0%B4%BF%E0%B4%A8%E0%B4%BE%E0%B5%BD_%E0%B4%A4%E0%B4%B1%E0%B4%B5%E0%B4%BE%E0%B4%9F%E0%B5%81%E0%B4%82_%E0%B4%85%E0%B4%B2%E0%B5%8D%E0%B4%B2%E0%B5%87_%E0%B4%85%E0%B4%AE%E0%B5%8D%E0%B4%AA%E0%B4%B2%E0%B4%A4%E0%B5%8D%E0%B4%A4%E0%B4%BF%E0%B4%A8%E0%B4%BE%E0%B5%BD_%E0%B4%95%E0%B5%81%E0%B4%9F%E0%B5%81%E0%B4%82%E0%B4%AC%E0%B4%B5%E0%B5%81%E0%B4%82.jpg</nowiki> <nowiki>*</nowiki> Evidence 2 (Image): <nowiki>https://commons.wikimedia.org/wiki/File:%E0%B4%8F%E0%B4%B4%E0%B4%82%E0%B4%95%E0%B5%81%E0%B4%B3%E0%B4%82_%E0%B4%A6%E0%B5%87%E0%B4%B5%E0%B5%80%E0%B4%95%E0%B5%8D%E0%B4%B7%E0%B5%87%E0%B4%A4%E0%B5%8D%E0%B4%B0%E0%B4%B5%E0%B5%81%E0%B4%82_%E0%B4%85%E0%B4%AE%E0%B5%8D%E0%B4%AA%E0%B4%B2%E0%B4%A4%E0%B5%8D%E0%B4%A4%E0%B4%BF%E0%B4%A8%E0%B4%BE%E0%B5%BD_%E0%B4%A4%E0%B4%B1%E0%B4%B5%E0%B4%BE%E0%B4%9F%E0%B5%81%E0%B4%82.jpg</nowiki> <nowiki>*</nowiki> Evidence 3 (Documentary Video): <nowiki>http://www.youtube.com/watch?v=r3BlxrMuENw</nowiki> – Confirms at [00:05:54] that the ritual weapons for the temple's 'Thookam' ceremony are stored in the family’s ancestral home. <nowiki>*</nowiki> Evidence 4 (Ceremonial Rights Video): <nowiki>https://youtube.com/shorts/82X84d0DHTI</nowiki> – Confirms family rights at [00:01:14]. <nowiki>*</nowiki> Evidence 5 (OFFICIAL RECORD): <nowiki>http://www.youtube.com/watch?v=8aGpQ1H8Iug</nowiki> – This song was officially released by the Ezhamkulam Devi Temple Management Committee. The lyrics at [00:01:49] and [00:02:44] explicitly recognize the divine and historical connection between the temple and the Ambalathinal family. <nowiki>*</nowiki> Evidence 6 (Historical Video): <nowiki>http://www.youtube.com/watch?v=F6cdJkALjgw</nowiki> Requested Action: I request an immediate investigation into the actions of Administrator Ranjithsiji. His involvement with groups attempting to monetize false history is a violation of Wikipedia’s core principles of Neutral Point of View (NPOV) and Verifiability. I urge the community to: 1. Remove the biased protection (lock) on the "Ezhamkulam Devi Temple" page. 2. Restore the factual history of the Ambalathinal family based on the provided official records. 3. Review the administrative status of Ranjithsiji for the misuse of power. Sincerely, [Your Name/Username] [[പ്രത്യേകം:സംഭാവനകൾ/&#126;2026-19949-79|&#126;2026-19949-79]] ([[ഉപയോക്താവിന്റെ സംവാദം:&#126;2026-19949-79|talk]]) 10:56, 1 ഏപ്രിൽ 2026 (UTC) [Your Name/Username] [[ഉപയോക്താവ്:Jayachandran thampi|Jayachandran thampi]] ([[ഉപയോക്താവിന്റെ സംവാദം:Jayachandran thampi|സംവാദം]]) 10:58, 1 ഏപ്രിൽ 2026 (UTC) :@[[ഉപയോക്താവ്:Jayachandran thampi|Jayachandran thampi]] [[ഏഴംകുളം ദേവീക്ഷേത്രം]] എന്നതാളിൽ വ്യാപകമായ നശീകരണപ്രവർത്തനങ്ങൾ (ലേഖനത്തിന്റെ പൊതുവായ ലേയൗട്ട് നശിപ്പിക്കുക, തെളിവില്ലാത്ത വിവരങ്ങൾ എഴുതുക, തിരുത്തൽ യുദ്ധം നടത്തുക, അവലംബങ്ങൾ ചേർക്കാതിരിക്കുക, പരസ്യപരമായ വീഡിയോ ലിങ്കുകൾ ചേർക്കുക മുതലായ പ്രവർത്തനങ്ങൾ) തുടർച്ചയായയി ചെയ്യുകയും ലേഖനം നന്നാക്കാനുള്ള തുടർച്ചയായ ശ്രമങ്ങളെ തടസ്സപ്പെടുത്തുകയും ചെയ്യുന്നതുകൊണ്ട് ഈ ലേഖനം അംഗത്വമെടുത്തവർക്ക് മാത്രം തിരുത്താവുന്നരീതിയിൽ പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. ഇത് ലേഖനത്തിനെ സംരക്ഷിക്കാനുള്ള ശ്രമത്തിന്റെ ഭാഗമായായണ്. കൂടാതെ ഈ സംവാദത്താളിൽ ആവശ്യപ്പെട്ട വിവിധ തെളിവുകൾ സംവാദമടക്കം ചില താത്കാലിക അക്കൗണ്ടുകൾ മായ്ച്ചുകളഞ്ഞതും(താൾ ശൂന്യമാക്കുകയും) കൂടി കണക്കിലെടുത്ത് ലേഖനം സംരക്ഷിച്ചിരിക്കുന്നു. തത്കാലം ഈ ലേഖനം തിരുത്തുന്നതിന് ഒരു അക്കൗണ്ട് എടുക്കുക. നശീകരണം നടത്താതിരിക്കുക. ചേർക്കുന്ന വിവരങ്ങൾക്ക് മതിയായ തെളിവുകൾ നൽകുക, വിക്കിപീഡിയയുടെ നയങ്ങൾ അനുസരിക്കുക എന്നിവ ചെയ്ത് ലേഖനം നന്നാക്കാവുന്നതാണ്. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 12:49, 1 ഏപ്രിൽ 2026 (UTC) == Request for Investigation: User:Ranjithsiji and Ezhamkulam Devi Temple page == I am reporting administrative bias and misuse of tools by Ranjithsiji on the Ezhamkulam Devi Temple page. On April 1 2026 the administrator locked the page indefinitely to suppress historical facts and official records regarding the Ambalathinal family. Despite evidence from the Official Temple Committee song (YouTube ID 8aGpQ1H8Iug) and historical videos (YouTube ID r3BlxrMuENw and 82X84d0DHTI) the admin refuses to allow factual corrections. This protection supports misinformation for local financial interests. I request the removal of page protection and a review of the administrator's conduct. Sincerely, [aju] FORMAL COMPLAINT REGARDING ADMINISTRATIVE MISCONDUCT AND MISINFORMATION To: The Wikipedia Administrators' Noticeboard / Meta-Wiki Stewards Subject: Formal Complaint against Administrator Ranjithsiji (User:Ranjithsiji) for Abuse of Power and Promotion of Misinformation on the "Ezhamkulam Devi Temple" Page. Dear Stewards/Administrators, I am writing to formally report a serious case of administrative misconduct by Ranjithsiji on the Malayalam Wikipedia article "Ezhamkulam Devi Temple". Statement of Grievance: The administrator, Ranjithsiji, has been using his administrative tools to suppress the authentic history of the Ezhamkulam Devi Temple. He has deliberately modified the article to favor a false narrative, allegedly to support certain local groups involved in financial exploitation and public deception. Despite providing multiple pieces of historical and official evidence proving the centuries-old custodianship of the Ambalathinal Family (Ambalathinal Tharavadu), the administrator has: 1. Manipulated Content: Replaced verified historical facts with fabricated stories. 2. Abused Protection Tools: Locked (Protected) the page to prevent any factual corrections by the public, thereby shielding misinformation. 3. Ignored Official Records: Disregarded official temple management records and video evidence that validate the Ambalathinal family’s rights. Supporting Evidence (6 Points): <nowiki>*</nowiki> Evidence 1 (Image): <nowiki>https://commons.wikimedia.org/wiki/File:%E0%B4%8F%E0%B4%B4%E0%B4%82%E0%B4%95%E0%B5%81%E0%B4%B3%E0%B4%82_%E0%B4%A6%E0%B5%87%E0%B4%B5%E0%B5%80%E0%B4%95%E0%B5%8D%E0%B4%B7%E0%B5%87%E0%B4%A4%E0%B5%8D%E0%B4%B0%E0%B4%B5%E0%B5%81%E0%B4%82_%E0%B4%85%E0%B4%AE%E0%B5%8D%E0%B4%AA%E0%B4%B2%E0%B4%A4%E0%B5%8D%E0%B4%A4%E0%B4%BF%E0%B4%A8%E0%B4%BE%E0%B5%BD_%E0%B4%A4%E0%B4%B1%E0%B4%B5%E0%B4%BE%E0%B4%9F%E0%B5%81%E0%B4%82_%E0%B4%85%E0%B4%B2%E0%B5%8D%E0%B4%B2%E0%B5%87_%E0%B4%85%E0%B4%AE%E0%B5%8D%E0%B4%AA%E0%B4%B2%E0%B4%A4%E0%B5%8D%E0%B4%A4%E0%B4%BF%E0%B4%A8%E0%B4%BE%E0%B5%BD_%E0%B4%95%E0%B5%81%E0%B4%9F%E0%B5%81%E0%B4%82%E0%B4%AC%E0%B4%B5%E0%B5%81%E0%B4%82.jpg</nowiki> <nowiki>*</nowiki> Evidence 2 (Image): <nowiki>https://commons.wikimedia.org/wiki/File:%E0%B4%8F%E0%B4%B4%E0%B4%82%E0%B4%95%E0%B5%81%E0%B4%B3%E0%B4%82_%E0%B4%A6%E0%B5%87%E0%B4%B5%E0%B5%80%E0%B4%95%E0%B5%8D%E0%B4%B7%E0%B5%87%E0%B4%A4%E0%B5%8D%E0%B4%B0%E0%B4%B5%E0%B5%81%E0%B4%82_%E0%B4%85%E0%B4%AE%E0%B5%8D%E0%B4%AA%E0%B4%B2%E0%B4%A4%E0%B5%8D%E0%B4%A4%E0%B4%BF%E0%B4%A8%E0%B4%BE%E0%B5%BD_%E0%B4%A4%E0%B4%B1%E0%B4%B5%E0%B4%BE%E0%B4%9F%E0%B5%81%E0%B4%82.jpg</nowiki> <nowiki>*</nowiki> Evidence 3 (Documentary Video): <nowiki>http://www.youtube.com/watch?v=r3BlxrMuENw</nowiki> – Confirms at [00:05:54] that the ritual weapons for the temple's 'Thookam' ceremony are stored in the family’s ancestral home. <nowiki>*</nowiki> Evidence 4 (Ceremonial Rights Video): <nowiki>https://youtube.com/shorts/82X84d0DHTI</nowiki> – Confirms family rights at [00:01:14]. <nowiki>*</nowiki> Evidence 5 (OFFICIAL RECORD): <nowiki>http://www.youtube.com/watch?v=8aGpQ1H8Iug</nowiki> – This song was officially released by the Ezhamkulam Devi Temple Management Committee. The lyrics at [00:01:49] and [00:02:44] explicitly recognize the divine and historical connection between the temple and the Ambalathinal family. <nowiki>*</nowiki> Evidence 6 (Historical Video): <nowiki>http://www.youtube.com/watch?v=F6cdJkALjgw</nowiki> Requested Action: I request an immediate investigation into the actions of Administrator Ranjithsiji. His involvement with groups attempting to monetize false history is a violation of Wikipedia’s core principles of Neutral Point of View (NPOV) and Verifiability. I urge the community to: 1. Remove the biased protection (lock) on the "Ezhamkulam Devi Temple" page. 2. Restore the factual history of the Ambalathinal family based on the provided official records. 3. Review the administrative status of Ranjithsiji for the misuse of power. Sincerely, [Aju] [[ഉപയോക്താവ്:Aju m unnithan|Aju m unnithan]] ([[ഉപയോക്താവിന്റെ സംവാദം:Aju m unnithan|സംവാദം]]) 13:45, 1 ഏപ്രിൽ 2026 (UTC) :@[[ഉപയോക്താവ്:Aju m unnithan|Aju m unnithan]] താങ്കളുടെ ഈ പരാതി തന്നെ @[[ഉപയോക്താവ്:Jayachandran thampi|Jayachandran thampi]] എന്ന ഉപയോക്താവ് മുകളിൽ പറഞ്ഞിട്ടുള്ളതാണ്. അതുകൊണ്ട് താങ്കൾ ആ ചർച്ചയിൽ പങ്കുചേരുന്നതാണ് നല്ലത് എന്നുതോന്നു. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 14:35, 1 ഏപ്രിൽ 2026 (UTC) ::ഈ താൾ മൊത്തം അലങ്കോലപ്പെട്ടിട്ടുണ്ടല്ലോ. അവസാനത്തെ ചില എഡിറ്റുകളോടെയാണ് ഇത് സംഭവിച്ചിട്ടുള്ളത്. ഒന്ന് പരിശോധിക്കാമോ, @[[ഉപയോക്താവ്:Ranjithsiji|Ranjithsiji]].--- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 06:49, 2 ഏപ്രിൽ 2026 (UTC) :::@[[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ഇപ്പോൾ ശെരിയായോ? [[ഉപയോക്താവ്:Adithyak1997|Adithyak1997]] ([[ഉപയോക്താവിന്റെ സംവാദം:Adithyak1997|സംവാദം]]) 20:59, 2 ഏപ്രിൽ 2026 (UTC) ::::{{കൈ}} [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 06:03, 8 ഏപ്രിൽ 2026 (UTC) == Report concerning Alen.k.joseph == {{User|Alen.k.joseph}} Consistently removing speedy deletion tags <small>[[:m:Special:MyLanguage/User:TenWhile6/XReport|XReport]]</small> --[[ഉപയോക്താവ്:魔琴|魔琴]] ([[ഉപയോക്താവിന്റെ സംവാദം:魔琴|സംവാദം]]) 12:07, 10 ഏപ്രിൽ 2026 (UTC) :Given temporary block. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 04:54, 11 ഏപ്രിൽ 2026 (UTC) == നശീകരണപ്രവർത്തനം == [[ഉപയോക്താവ്:Sneha lokam Pallikkal|Sneha lokam Pallikkal]] എന്ന ഉപയോക്താവ് ആവർത്തിച്ചുള്ള [[ഉപയോക്താവിന്റെ_സംവാദം:Sneha_lokam_Pallikkal#പക്ഷപാതപരമായ_ഉള്ളടക്കം|മുന്നറിയിപ്പുകൾക്കും]] [https://ml.wikipedia.org/w/index.php?title=%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B4%A4%E0%B5%8D%E0%B4%AF%E0%B5%87%E0%B4%95%E0%B4%82:%E0%B4%B0%E0%B5%87%E0%B4%96&logid=1715391 തടയപ്പെടലിനും] ശേഷവും പക്ഷപാതപരമായ ഉള്ളടക്കം ചേർക്കുകയും, അവലംബമുള്ള ഭാഗങ്ങൾ നീക്കം ചെയ്യുകയും ചെയ്തുകൊണ്ടിരിക്കുന്നു. നടപടി എടുക്കണമെന്ന് ആവശ്യപ്പെടുന്നു.-- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 11:09, 12 ഏപ്രിൽ 2026 (UTC) :{{tick}} തടഞ്ഞു -- [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 14:16, 16 ഏപ്രിൽ 2026 (UTC) == മലയാളം വിക്കിപീഡിയയിലെ നാവ്ബോക്സുകൾ മൊബൈലിൽ കാണിക്കുന്നത് സംബന്ധിച്ച് == വിക്കിപീഡിയകളുടെ ലേഖനങ്ങളുടെ താഴെയുള്ള നാവിഗേഷൻ ബോക്സുകൾ മൊബൈലിൽ കാണില്ല എന്നുള്ളത് എല്ലാവർക്കും അറിയാവുന്ന കാര്യമാണല്ലോ. വായനക്കാർക്ക് കൂടുതൽ വിവരംനൽകാനും അവരെ വിക്കിയിൽ തുടരുന്നതിനുള്ള പ്രചോദനം നൽകാനും മനുഷ്യനിർമ്മിതമായ ഇത്തരം നാവിഗേഷൻ ബോക്സുകൾ അത്യന്താപേക്ഷിതമാണ്. എന്നാൽ വിക്കിപീഡിയ വായിക്കുന്ന ഭൂരിഭാഗം വരുന്ന മൊബൈൽ ഉപയോക്താക്കൾക്ക് ഇവ കാണാൻ കഴിയുന്നതല്ല. അതുപരിഹരിക്കാനായി നിലവിലുള്ള നാവിഗേഷൻ ബോക്സുകളുടെ css മാറ്റംവരുത്തി നേരത്തേ പരീക്ഷണം നടത്തിയിരുന്നു. എന്നാൽ അത് പ്രവർത്തിക്കുകയുണ്ടായില്ല. ഇപ്പോൾ css സിസ്റ്റം വളരെ പുരോഗമിച്ചിരിക്കുന്നതിാൽ div എലമെന്റ് അടിസ്ഥാനപ്പെടുത്തി flex system ഉപയോഗിച്ച് ഇത് പുനർനിർമ്മിക്കാമെന്ന് വിചാരിക്കുന്നു. അതിൻ പ്രകാരം Common.css ൽ ചില ക്സാസുകൾ ചേർത്തിട്ടുണ്ട്. NavboxMobile എന്ന പുതിയ ഘടകവും NavboxMobile എന്ന പുതിയ ഫലകവും നിർമ്മിച്ചു. കൂടുതൽ ശരിയാക്കലുകൾ നടത്തിക്കൊണ്ടിരിക്കുന്നു. ഇതുമായി ബന്ധപ്പെട്ട അഭിപ്രായങ്ങൾ ക്ഷണിക്കുന്നു. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 13:03, 22 മേയ് 2026 (UTC) 35bulyp7hj9fa40noyv9obl7eci9utc കെ.ബി. ഗണേഷ് കുമാർ 0 15372 4622088 4620283 2026-05-23T01:06:02Z ~2026-30759-64 218197 /* */ updated image caption 4622088 wikitext text/x-wiki {{infobox politician | name = കെ.ബി. ഗണേഷ് കുമാർ | image = Ganeshkumar.k.b.JPG | caption = പെണ്ണ് പിടിയൻ | birth_date = {{birth date and age|1966|05|25|df=yes}} | birth_place = തിരുവനന്തപുരം | death_date = | death_place = | office2 = [[നിയമസഭാംഗം]] | term2 = [[17 മേയ്]] [[2001]] - [[4]] [[മേയ്]] [[2026]] | predecessor2 = [[കെ. പ്രകാശ് ബാബു]] | successor2 = [[ജ്യോതികുമാർ ചാമക്കാല]] | constituency2 = പത്തനാപുരം നിയമസഭാമണ്ഡലം | office3 = സംസ്ഥാന വനം, പരിസ്ഥിതി വകുപ്പ് മന്ത്രി | term3 = 2011-2013 | predecessor3 = എം. വിജയകുമാർ | successor3 = തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ | office = കേരളത്തിലെ ഗതാഗത വകുപ്പ് മന്ത്രി | term = [[29 ഡിസംബർ]] [[2023]] - [[4]] [[മേയ്]] [[2026]] | predecessor = [[ആന്റണി രാജു]] | successor = [[സി.പി. ജോൺ]] | term1 = [[17 മേയ്]] [[2001]] - [[10 മാർച്ച്]] [[2003]] | predecessor1 = [[സി.കെ. നാണു]] | successor1 = [[ആർ. ബാലകൃഷ്ണപിള്ള]] | party = കേരള കോൺഗ്രസ് (ബി) * (എൽ.ഡി.എഫ് : 2015-മുതൽ) * (യു.ഡി.എഫ് : 1982-2001, 2001-2014) * (സ്വതന്ത്രൻ : 2014-2015) | occupation = മലയാള ചലച്ചിത്ര അഭിനേതാവ് | spouse = * ബിന്ദു മേനോൻ(2014-മുതൽ) * യാമിനി തങ്കച്ചി (1994-2013) (വിവാഹമോചനം) | children = * ആദിത്യ കൃഷ്ണൻ * ദേവരാമൻ | year = 2026 | date = മെയ് 4 | source = https://niyamasabha.nic.in/index.php/content/member_homepage/166 കേരള നിയമസഭ }} 2023 ഡിസംബർ 29 മുതൽ 2026 മെയ് 4 വരെ കേരളസംസ്ഥാന ഗതാഗത വകുപ്പ് മന്ത്രിയായിരുന്ന<ref>[https://www.manoramaonline.com/news/latest-news/2023/12/29/kb-ganesh-kumar-and-ramachandran-kadannappally-swearing-in-ceremony.html ഗണേഷ് കുമാറും കടന്നപ്പള്ളി രാമചന്ദ്രനും മന്ത്രിമാരായി ചുമതലയേറ്റു]</ref>[[കേരള കോൺഗ്രസ് (ബി)]] വിഭാഗം ചെയർമാനും [[കൊല്ലം ജില്ല|കൊല്ലം ജില്ലയിൽ]] നിന്നുള്ള മലയാള ചലച്ചിത്ര അഭിനേതാവുമാണ് ''' കെ.ബി.ഗണേഷ് കുമാർ '''(ജനനം: 25 മെയ് 1966).2001 മുതൽ പത്തനാപുരത്ത് നിന്നുള്ള [[കേരള നിയമസഭ|നിയമസഭാംഗവും]] രണ്ട് തവണ സംസ്ഥാന കാബിനറ്റ് വകുപ്പ് മന്ത്രിയുമായിരുന്നു. മലയാള ചലച്ചിത്രനടൻ, ടി.വി. സീരിയൽ അഭിനേതാവ്, രാഷ്ട്രീയ പ്രവർത്തകൻ എന്നീ നിലകളിൽ പ്രശസ്തനായ ഗണേഷ് കുമാർ മുൻമന്ത്രിയും മുതിർന്ന കേരളകോൺഗ്രസ് നേതാവുമായിരുന്ന [[ആർ. ബാലകൃഷ്ണപിള്ള|ആർ. ബാലകൃഷ്ണപിള്ളയുടെ]] മകനാണ്.<ref>"പത്തനാപുരം അഞ്ചാമതും ഗണേഷ് | Elections2021 | Kerala Assembly election 2021 | Kerala Assembly Election 2021 Opinion Poll | Kerala Assembly Election 2021 Date | Kerala Assembly Election Results 2016 | Kerala Lok Sabha Election Results 2019 | Ramesh Chennithala | Pinarayi Vijayan | Oommen Chandy | Kummanam Rajasekharan | കൊല്ലം വാർത്തകൾ | ചുറ്റുവട്ടം | മലയാള മനോരമ ജില്ല വാർത്തകൾ | Kollam News | Kerala District News | Chuttuvattom | Malayala Manorama" https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-pathanapuram-election-winner.html</ref><ref>"Pathanapuram Assembly Election Results 2021 | പത്തനാപുരം തിരഞ്ഞെടുപ്പ് വാർത്തകൾ | തെരഞ്ഞെടുപ്പ് ഫലം | Malayala Manorama" https://www.manoramaonline.com/news/indepth/assembly-elections-2021/kerala-kollam/2021/04/23/pathanapuram-constituency-election-results.html</ref><ref>"കെ.ബി.ഗണേഷ് കുമാർ കേരള കോൺഗ്രസ് (ബി) പാർട്ടി ചെയർമാൻ | KB Ganesh Kumar | Kerala Congress B | Manorama Online" https://www.manoramaonline.com/news/latest-news/2021/05/10/kb-ganesh-kumar-elected-as-kerala-congress-b-party-chairman.html</ref><ref>"ഗണേഷ്കുമാറിന് രണ്ടരവർഷം മന്ത്രിപദം; കടന്നപ്പള്ളി വീണ്ടും മന്ത്രിയായേക്കും | Manorama Online" https://www.manoramaonline.com/news/latest-news/2021/05/16/kerala-cabinet-talks-updates.html</ref><ref>"ദൃശ്യം 2വിലെ ആ ഡയലോഗിൽ തീയതി മാറിപ്പോയി: ഗണേഷ് കുമാർ | Ganesh Kumar Drishyam 2" https://www.manoramaonline.com/movies/movie-news/2021/03/30/ganesh-kumar-about-drishyam-2-dialogue.html</ref><ref>"അച്ഛന്റെ വഴിയേ ജനപ്രതിനിധിയാകാം, പക്ഷേ നാട്ടുകാരുടെ പിന്തുണ കൂടി വേണം | Elections2021 | Kerala Assembly election 2021 | Kerala Assembly Election 2021 Opinion Poll | Kerala Assembly Election 2021 Date | Kerala Assembly Election Results 2016 | Kerala Lok Sabha Election Results 2019 | Ramesh Chennithala | Pinarayi Vijayan | Oommen Chandy | Kummanam Rajasekharan | കൊല്ലം വാർത്തകൾ | ചുറ്റുവട്ടം | മലയാള മനോരമ ജില്ല വാർത്തകൾ | Kollam News | Kerala District News | Chuttuvattom | Malayala Manorama" https://www.manoramaonline.com/district-news/kollam/2021/03/09/kollam-father-son.html</ref><ref>"ഗണേഷിനോട് ഇടഞ്ഞ് കേരള കോൺഗ്രസ് (ബി) പിളർന്നു | KB Ganesh Kumar | Malayalam News | Manorama Online" https://www.manoramaonline.com/news/kerala/2021/02/17/kerala-congress-b-split-with-ganesh.html</ref> == ജീവിതരേഖ == മുൻ മന്ത്രിയും കേരള കോൺഗ്രസ് (ബി) വിഭാഗം നേതാവുമായിരുന്ന ആർ. ബാലകൃഷ്ണപിള്ളയുടേയും വത്സലകുമാരിയുടേയും മകനായി 1966 മെയ് 25ന് തിരുവനന്തപുരത്ത് ജനനം. പ്രാഥമിക വിദ്യാഭ്യാസത്തിനു ശേഷം തിരുവനന്തപുരം ഗവ. ആർട്ട്സ് കോളേജിൽ നിന്ന് ബിരുദം നേടി. ബി.കോമാണ് വിദ്യാഭ്യാസ യോഗ്യത. == സിനിമ ജീവിതം == പ്രശസ്ത സംവിധായകനായ കെ.ജി. ജോർജുമായുള്ള പരിചയമാണ് സിനിമ രംഗത്തേക്ക് വരാൻ ഗണേഷിന് സഹായകരമായത്. കെ.ജി. ജോർജ് സംവിധാനം ചെയ്ത് 1985-ൽ റിലീസായ ''ഇരകൾ'' എന്ന സിനിമയിലെ മാനസിക രോഗം ബാധിച്ച നായകനായി അഭിനയിച്ചു കൊണ്ടാണ് ഗണേഷിൻ്റെ സിനിമ അരങ്ങേറ്റം. 1987-ൽ മോഹൻലാൽ നായകനായ ''ചെപ്പ്'' എന്ന സിനിമയിലെ ഗണേഷിൻ്റെ വില്ലൻ വേഷം നിരൂപക പ്രശംസ നേടിയതാണ്. രാക്കുയിലിൻ രാഗസദസിൽ, സംഘം, ഒരു മുത്തശ്ശി കഥ, കമ്മീഷണർ എന്നിങ്ങനെ നിരവധി സിനിമകളിൽ ശ്രദ്ധേയ വേഷങ്ങൾ ചെയ്തു. 1990-കളുടെ മധ്യത്തിൽ സപ്പോർട്ടിംഗ് റോളുകളിലൂടെയും വില്ലൻ വേഷങ്ങളിലൂടെയും ഗണേഷ് മലയാള സിനിമയിൽ നിറഞ്ഞുനിന്നു. ഇതുവരെ ഏകദേശം 250 സിനിമകളിൽ അഭിനയിച്ചിട്ടുണ്ട്. 2000 ആണ്ടിൻ്റെ തുടക്കത്തിൽ സിനിമയിൽ നിന്ന് രാഷ്ട്രീയത്തിലെത്തിയ ഗണേഷ് 2001-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ പത്തനാപുരത്ത് നിന്ന് യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി മത്സരിച്ചു ജയിക്കുകയും എ.കെ. ആൻ്റണി മുഖ്യമന്ത്രിയായ യു.ഡി.എഫ് മന്ത്രിസഭയിലെ ഗതാഗത വകുപ്പിൻ്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായും പ്രവർത്തിച്ചു. 2001-ൽ സംസ്ഥാന നിയമസഭയിലേയ്ക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടതിനെ തുടർന്ന്‌ മുഴുവൻ സമയ രാഷ്ട്രീയ പ്രവർത്തകനായി മാറി. പിന്നീട് സെലക്ടീവ് റോളുകളിൽ മാത്രം സിനിമയിൽ അഭിനയിച്ചു. രാഷ്ട്രീയ ഇമേജിനെ അഭിനയ ജീവിതം ഒരുതരത്തിലും ബാധിക്കാതിരിക്കാൻ വില്ലൻ വേഷങ്ങൾ പൂർണ്ണമായും ഒഴിവാക്കി. പിന്നീട് കോമഡി റോളുകളിലും ഉപ-നായകനായും സിനിമാഭിനയം തുടരുന്ന ഗണേഷിന് ''സൂര്യ ടി.വിയിലെ'' ''മാധവം'' എന്ന ടെലി സീരിയലിലെ അഭിനയത്തിന് 2007-ലെ മികച്ച ടി.വി. അഭിനേതാവിനുള്ള സംസ്ഥാന പുരസ്കാരം ലഭിച്ചു. 2008-ലെ ഫ്രെയിം മീഡിയ ഗാലപ്പ് പോളിൽ മികച്ച നടനുള്ള സീരിയൽ അവാർഡ് ''അമൃത ടി.വിയിലെ'' ''അളിയന്മാരും പെങ്ങൻമാരും'' എന്ന പരമ്പരയ്ക്ക് ലഭിച്ചു.<ref>"കെ ബി ഗണേഷ് കുമാർ - K B Ganesh kumar | M3DB" https://m3db.com/k-b-ganesh-kumar</ref> == രാഷ്ട്രീയ ജീവിതം == 2001-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി പത്തനാപുരത്ത് നിന്ന് നിയമസഭാംഗമായതോടെയാണ് ഗണേഷിൻ്റെ രാഷ്ട്രീയ ജീവിതമാരംഭിക്കുന്നത്. പിന്നീട് നടന്ന എല്ലാ നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും (2006, 2011, 2016, 2021) പത്തനാപുരത്ത് നിന്ന് തുടർച്ചയായി ജയിച്ച് നിയമസഭാംഗമായി തുടരുന്ന ഗണേഷ് കുമാർ രണ്ട് തവണ സംസ്ഥാന കാബിനറ്റ് വകുപ്പ് മന്ത്രിയായിരുന്നു. 2001-ലെ എ.കെ. ആൻറണി നയിച്ച യു.ഡി.എഫ് മന്ത്രിസഭയിലെ ഗതാഗത വകുപ്പ് മന്ത്രിയായ ഗണേഷ് 2003-ൽ പിതാവ് ആർ. ബാലകൃഷ്ണ പിള്ളയ്ക്ക് മന്ത്രിയാകാൻ വേണ്ടി രാജി വയ്ക്കുകയായിരുന്നു. 2011-ലെ ഉമ്മൻചാണ്ടി മന്ത്രിസഭയിലെ വനം, പരിസ്ഥിതി വകുപ്പ് മന്ത്രിയായിരുന്ന ഗണേഷ് ഭാര്യയുമായുള്ള വിവാഹ മോചന തർക്കത്തെ തുടർന്ന് 2013-ൽ രാജിവച്ചു. കേരള കോൺഗ്രസ് ബിയുടെ ചെയർമാനായി തുടരുന്ന 2001 മുതൽ തുടർച്ചയായി അഞ്ച് തവണ നിയമസഭാംഗമായ ഗണേഷ് കുമാർ രണ്ടാം പിണറായി മന്ത്രിസഭ പുന:സംഘടനയുടെ ഭാഗമായി 2023 ഡിസംബർ 29ന് സംസ്ഥാന ഗതാഗത വകുപ്പ് മന്ത്രിയായി സ്ഥാനമേറ്റു.<ref>https://www.manoramaonline.com/news/latest-news/2023/12/24/ahamed-devarkovil-and-antony-raju-resigned.html</ref> 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ പത്തനാപുരത്ത് നിന്ന് എൽ.ഡി.എഫ് ടിക്കറ്റിൽ വീണ്ടും മത്സരിച്ച ഗണേഷ് കുമാർ 25 വർഷത്തിന് ശേഷം ഇതാദ്യമായി കോൺഗ്രസിലെ ജ്യോതികുമാർ ചാമക്കാലയോട് പരാജയപ്പെട്ടു. പരാജയത്തോടെ കേരള കോൺഗ്രസ്(ബി) പാർട്ടിക്ക് ഇതാദ്യമായി നിയമസഭയിൽ പ്രാതിനിധ്യം ഇല്ലാതായി. ''' മറ്റ് പദവികൾ ''' * മലയാള താര സംഘടനയായ അമ്മയുടെ (Association of Malayalam Movie Artists) സ്ഥാപകാംഗവും മുൻ സംസ്ഥാന ട്രഷററുമാണ് * ടെലിവിഷൻ മിനി സ്ക്രീൻ സംഘടനയായ ആത്മയുടെ (Association of Malayalam TV Media Artists) ആദ്യ പ്രസിഡൻറ് * പ്രഥമ ചെയർമാൻ, മലയാളം ടി.വി ഫ്രെട്ടേനിറ്റി * വൈസ് പ്രസിഡൻറ്, അമ്മ * പ്രസിഡൻ്റ്, ആത്മ * പ്രസിഡൻറ്, മലയാളം ടി.വി. ആർട്ടിസ്റ്റ് അസോസിയേഷൻ സഹകരണ സൊസൈറ്റി * സംസ്ഥാന പ്രസിഡൻറ്, കേരള സംസ്ഥാന ആന ഉടമ സംഘടന * ചെയർമാൻ, മലയാളം ടി.വി. ഫ്രട്ടേനിറ്റി ''' എഴുതിയ നോവൽ ''' * കരക്കടുക്കാത്ത കപ്പൽ {| class="wikitable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref> http://www.keralaassembly.org/1982/1982117.html </ref> ! വർഷം !!മണ്ഡലം|| വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും !! പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും |- |2016|| [[പത്തനാപുരം നിയമസഭാമണ്ഡലം]]|| കെ.ബി. ഗണേശ് കുമാർ||[[കേരള കോൺഗ്രസ് (ബി)]], [[എൽ.ഡി.എഫ്.]]||[[ജഗദീഷ്]]||[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഐൻസി]] ,[[യു.ഡി.എഫ്.]] |- |2011|| പത്തനാപുരം നിയമസഭാമണ്ഡലം|| കെ.ബി. ഗണേശ് കുമാർ||കേരള കോൺഗ്രസ് (ബി), യു.ഡി.എഫ്.||കെ. രാജഗോപാൽ||[[സി.പി.ഐ.എം.]], എൽ.ഡി.എഫ്. |- |2006||പത്തനാപുരം നിയമസഭാമണ്ഡലം||കെ.ബി. ഗണേശ് കുമാർ||കേരള കോൺഗ്രസ് (ബി), യു.ഡി.എഫ്.||[[കെ.ആർ. ചന്ദ്രമോഹനൻ]]||സി.പി.ഐ., എൽ.ഡി.എഫ്. |- |2001||പത്തനാപുരം നിയമസഭാമണ്ഡലം||കെ.ബി. ഗണേശ് കുമാർ||കേരള കോൺഗ്രസ് (ബി), യു.ഡി.എഫ്.||[[കെ. പ്രകാശ് ബാബു]]||സി.പി.ഐ., എൽ.ഡി.എഫ്. |- |} == അഭിനയിച്ച മലയാള സിനിമകൾ == * ഇരകൾ 1985 * രാക്കുയിലിൻ രാഗസദസിൽ 1986 * അമ്പിളി അമ്മാവൻ 1986 * സുഖമോ ദേവി 1986 * വിശ്വസിച്ചാലും ഇല്ലെങ്കിലും 1986 * യുവജനോത്സവം 1986 * ചെപ്പ് 1987 * കഥയ്ക്ക് പിന്നിൽ 1987 * സർവ്വകലാശാല 1987 * ഭൂമിയിലെ രാജാക്കന്മാർ 1987 * ഉണ്ണികളെ ഒരു കഥ പറയാം 1987 * സംഘം 1988 * ഒരു വിവാദ വിഷയം 1988 * മൃത്യുഞ്ജയം 1988 * ചിത്രം 1988 * ഒരു മുത്തശ്ശി കഥ 1988 * ജന്മാന്തരം 1988 * മുക്തി 1988 * വന്ദനം 1989 * ജാഗ്രത 1989 * അഥർവ്വം 1989 * ദേവദാസ് 1989 * നായർസാബ് 1989 * പുതിയ കരുക്കൾ 1989 * മെയ്ദിനം 1990 * മാലയോഗം 1990 * ഏയ് ഓട്ടോ 1990 * പുറപ്പാട് 1990 * ഗജകേസരിയോഗം 1990 * രണ്ടാം വരവ് 1990 * കടത്തനാടൻ അമ്പാടി 1990 * വീണമീട്ടിയ വിലങ്ങുകൾ 1990 * കോട്ടയം കുഞ്ഞച്ചൻ 1990 * അപൂർവ്വം ചിലർ 1991 * ഞാൻ ഗന്ധർവ്വൻ 1991 * പാരലൽ കോളേജ് 1991 * കാക്കത്തൊള്ളായിരം 1991 * ഒന്നാം മുഹൂർത്തം 1991 * കിലുക്കം 1991 * നയം വ്യക്തമാക്കുന്നു 1991 * കുറ്റപത്രം 1991 * അഭിമന്യു 1991 * മഹാനഗരം 1992 * മാന്യന്മാർ 1992 * നീലക്കുറുക്കൻ 1992 * കാഴ്ചക്കപ്പുറം 1992 * തലസ്ഥാനം 1992 * കിഴക്കൻ പത്രോസ് 1992 * കാസർകോട് ഖാദർഭായി 1992 * കളിപ്പാട്ടം 1993 * പ്രവാചകൻ 1993 * മാഫിയ 1993 * യാദവം 1993 * ഏകലവ്യൻ 1993 * വരം 1993 * അമ്മയാണെ സത്യം 1993 * ബട്ടർഫ്ലൈസ് 1993 * ജനം 1993 * മണിചിത്രത്താഴ് 1993 * ആർദ്രം 1993 * സ്ഥലത്തെ പ്രധാന പയ്യൻസ് 1993 * കസ്റ്റംസ് ഡയറി 1993 * പക്ഷേ 1993 * നന്ദിനി ഓപ്പോൾ 1994 * കമ്മീഷ്ണർ 1994 * സന്താനഗോപാലം 1994 * പാവം ഐ.എ.ഐവാച്ചൻ 1994 * ഗമനം 1994 * രുദ്രാക്ഷം 1994 * കാശ്മീരം 1994 * വിഷ്ണു 1994 * ദി കിംഗ് 1995 * സിംഹവാലൻ മേനോൻ 1995 * അഗ്രജൻ 1995 * ഇന്ത്യൻ മിലിട്ടറി ഇൻറലിജൻസ് 1995 * പ്രായിക്കര പാപ്പാൻ 1995 * മഹാത്മ 1995 * ആയിരം നാവുള്ള അനന്തൻ 1996 * അസുരവംശം 1997 * ഗുരു 1997 * കല്യാണ പിറ്റേന്ന് 1997 * കണ്ണൂർ 1997 * വർണ്ണപ്പകിട്ട് 1997 * സമ്മാനം 1997 * ആറാം തമ്പുരാൻ 1997 * ഒരു സങ്കീർത്തനം പോലെ 1998 * ദി ട്രൂത്ത് 1998 * ഒളിമ്പ്യൻ അന്തോണി ആദം 1999 * ക്രൈം ഫയൽ 1999 * വർണ്ണച്ചിറകുകൾ 1999 * വാസന്തിയും ലക്ഷ്മിയും പിന്നെ ഞാനും 1999 * ഉസ്താദ് 1999 * എഫ്.ഐ.ആർ 1999 * ആയിരം മേനി 2000 * പൈലറ്റ്സ് 2000 * സൂസന്ന 2000 * ദാദാസാഹിബ് 2000 * കരുമാടിക്കുട്ടൻ 2001 * കിളിച്ചുണ്ടൻ മാമ്പഴം 2003 * അമ്മക്കിളിക്കൂട് 2003 * കസ്തൂരിമാൻ 2003 * വിസ്മയത്തുമ്പത്ത് 2004 * ബോയ്ഫ്രണ്ട് 2005 * ഫോട്ടോഗ്രാഫർ 2006 * ഹലോ 2007 * അലിഭായ് 2007 * വെറുതെ ഒരു ഭാര്യ 2008 * ഇവർ വിവാഹിതരായാൽ 2009 * സാഗർ ഏലിയാസ് ജാക്കി 2009 * സ്വ.ലേ 2009 * കേരളോത്സവം 2009 * രഹസ്യപ്പോലീസ് 2009 * റെഡ് ചില്ലീസ് 2009 * വെള്ളത്തൂവൽ 2009 * കഥ, സംവിധാനം കുഞ്ചാക്കോ 2009 * അലക്സാണ്ടർ ദി ഗ്രേറ്റ് 2010 * ഫോർ ഫ്രണ്ട്സ് 2010 * ഒരിടത്തൊരു പോസ്റ്റ്മാൻ 2010 * കന്മഴ പെയ്യും മുൻപെ 2010 * ജനകൻ 2010 * പ്രിയപ്പെട്ട നാട്ടുകാരെ 2011 * സാൻവിച്ച് 2011 * സ്പിരിറ്റ് 2012 * മൈ ബോസ് 2012 * ലേഡീസ് & ജൻ്റിൻമെൻ 2013 * അപ്പ് & ഡൗൺ 2013 * ഗീതാഞ്ജലി 2013 * അവതാരം 2014 * വില്ലാളി വീരൻ 2014 * മിഴി തുറക്കൂ 2014 * 100° സെൽഷ്യസ് 2014 * ഷീ ടാക്സി 2015 * തിങ്കൾ മുതൽ വെള്ളി വരെ 2015 * C/O സൈറാ ബാനു 2017 * മന്ദാരം 2018 * കോടതി സമക്ഷം ബാലൻ വക്കീൽ 2019 * മി. പവനായി 2019 * മേരാ നാം ഷാജി 2019 * മരക്കാർ അറബിക്കടലിൻ്റെ സിംഹം 2021 * ദൃശ്യം 2 2021 * സാജൻ ബേക്കറി 2021 * ആറാട്ട് 2022 * മോൺസ്റ്റർ 2022 == അവലംബം == <references/> {{Fourteenth KLA}}{{DEFAULTSORT:ഗണേഷ് കുമാർ}} [[വർഗ്ഗം:1966-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 25-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ അഭിനേതാക്കളായ രാഷ്ട്രീയക്കാർ]] [[വർഗ്ഗം:കേരള കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ വനംവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഗതാഗതവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ കായികവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] sxsl2xzl2ou3kfm4yef1cy1rx4ok4yw 4622091 4622088 2026-05-23T01:34:52Z ~2026-30825-11 218200 /* */ caption update 4622091 wikitext text/x-wiki {{infobox politician | name = കെ.ബി. ഗണേഷ് കുമാർ | image = Ganeshkumar.k.b.JPG | caption = | birth_date = {{birth date and age|1966|05|25|df=yes}} | birth_place = തിരുവനന്തപുരം | death_date = | death_place = | office2 = [[നിയമസഭാംഗം]] | term2 = [[17 മേയ്]] [[2001]] - [[4]] [[മേയ്]] [[2026]] | predecessor2 = [[കെ. പ്രകാശ് ബാബു]] | successor2 = [[ജ്യോതികുമാർ ചാമക്കാല]] | constituency2 = പത്തനാപുരം നിയമസഭാമണ്ഡലം | office3 = സംസ്ഥാന വനം, പരിസ്ഥിതി വകുപ്പ് മന്ത്രി | term3 = 2011-2013 | predecessor3 = എം. വിജയകുമാർ | successor3 = തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ | office = കേരളത്തിലെ ഗതാഗത വകുപ്പ് മന്ത്രി | term = [[29 ഡിസംബർ]] [[2023]] - [[4]] [[മേയ്]] [[2026]] | predecessor = [[ആന്റണി രാജു]] | successor = [[സി.പി. ജോൺ]] | term1 = [[17 മേയ്]] [[2001]] - [[10 മാർച്ച്]] [[2003]] | predecessor1 = [[സി.കെ. നാണു]] | successor1 = [[ആർ. ബാലകൃഷ്ണപിള്ള]] | party = കേരള കോൺഗ്രസ് (ബി) * (എൽ.ഡി.എഫ് : 2015-മുതൽ) * (യു.ഡി.എഫ് : 1982-2001, 2001-2014) * (സ്വതന്ത്രൻ : 2014-2015) | occupation = മലയാള ചലച്ചിത്ര അഭിനേതാവ് | spouse = * ബിന്ദു മേനോൻ(2014-മുതൽ) * യാമിനി തങ്കച്ചി (1994-2013) (വിവാഹമോചനം) | children = * ആദിത്യ കൃഷ്ണൻ * ദേവരാമൻ | year = 2026 | date = മെയ് 4 | source = https://niyamasabha.nic.in/index.php/content/member_homepage/166 കേരള നിയമസഭ }} 2023 ഡിസംബർ 29 മുതൽ 2026 മെയ് 4 വരെ കേരളസംസ്ഥാന ഗതാഗത വകുപ്പ് മന്ത്രിയായിരുന്ന<ref>[https://www.manoramaonline.com/news/latest-news/2023/12/29/kb-ganesh-kumar-and-ramachandran-kadannappally-swearing-in-ceremony.html ഗണേഷ് കുമാറും കടന്നപ്പള്ളി രാമചന്ദ്രനും മന്ത്രിമാരായി ചുമതലയേറ്റു]</ref>[[കേരള കോൺഗ്രസ് (ബി)]] വിഭാഗം ചെയർമാനും [[കൊല്ലം ജില്ല|കൊല്ലം ജില്ലയിൽ]] നിന്നുള്ള മലയാള ചലച്ചിത്ര അഭിനേതാവുമാണ് ''' കെ.ബി.ഗണേഷ് കുമാർ '''(ജനനം: 25 മെയ് 1966).2001 മുതൽ പത്തനാപുരത്ത് നിന്നുള്ള [[കേരള നിയമസഭ|നിയമസഭാംഗവും]] രണ്ട് തവണ സംസ്ഥാന കാബിനറ്റ് വകുപ്പ് മന്ത്രിയുമായിരുന്നു. മലയാള ചലച്ചിത്രനടൻ, ടി.വി. സീരിയൽ അഭിനേതാവ്, രാഷ്ട്രീയ പ്രവർത്തകൻ എന്നീ നിലകളിൽ പ്രശസ്തനായ ഗണേഷ് കുമാർ മുൻമന്ത്രിയും മുതിർന്ന കേരളകോൺഗ്രസ് നേതാവുമായിരുന്ന [[ആർ. ബാലകൃഷ്ണപിള്ള|ആർ. ബാലകൃഷ്ണപിള്ളയുടെ]] മകനാണ്.<ref>"പത്തനാപുരം അഞ്ചാമതും ഗണേഷ് | Elections2021 | Kerala Assembly election 2021 | Kerala Assembly Election 2021 Opinion Poll | Kerala Assembly Election 2021 Date | Kerala Assembly Election Results 2016 | Kerala Lok Sabha Election Results 2019 | Ramesh Chennithala | Pinarayi Vijayan | Oommen Chandy | Kummanam Rajasekharan | കൊല്ലം വാർത്തകൾ | ചുറ്റുവട്ടം | മലയാള മനോരമ ജില്ല വാർത്തകൾ | Kollam News | Kerala District News | Chuttuvattom | Malayala Manorama" https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-pathanapuram-election-winner.html</ref><ref>"Pathanapuram Assembly Election Results 2021 | പത്തനാപുരം തിരഞ്ഞെടുപ്പ് വാർത്തകൾ | തെരഞ്ഞെടുപ്പ് ഫലം | Malayala Manorama" https://www.manoramaonline.com/news/indepth/assembly-elections-2021/kerala-kollam/2021/04/23/pathanapuram-constituency-election-results.html</ref><ref>"കെ.ബി.ഗണേഷ് കുമാർ കേരള കോൺഗ്രസ് (ബി) പാർട്ടി ചെയർമാൻ | KB Ganesh Kumar | Kerala Congress B | Manorama Online" https://www.manoramaonline.com/news/latest-news/2021/05/10/kb-ganesh-kumar-elected-as-kerala-congress-b-party-chairman.html</ref><ref>"ഗണേഷ്കുമാറിന് രണ്ടരവർഷം മന്ത്രിപദം; കടന്നപ്പള്ളി വീണ്ടും മന്ത്രിയായേക്കും | Manorama Online" https://www.manoramaonline.com/news/latest-news/2021/05/16/kerala-cabinet-talks-updates.html</ref><ref>"ദൃശ്യം 2വിലെ ആ ഡയലോഗിൽ തീയതി മാറിപ്പോയി: ഗണേഷ് കുമാർ | Ganesh Kumar Drishyam 2" https://www.manoramaonline.com/movies/movie-news/2021/03/30/ganesh-kumar-about-drishyam-2-dialogue.html</ref><ref>"അച്ഛന്റെ വഴിയേ ജനപ്രതിനിധിയാകാം, പക്ഷേ നാട്ടുകാരുടെ പിന്തുണ കൂടി വേണം | Elections2021 | Kerala Assembly election 2021 | Kerala Assembly Election 2021 Opinion Poll | Kerala Assembly Election 2021 Date | Kerala Assembly Election Results 2016 | Kerala Lok Sabha Election Results 2019 | Ramesh Chennithala | Pinarayi Vijayan | Oommen Chandy | Kummanam Rajasekharan | കൊല്ലം വാർത്തകൾ | ചുറ്റുവട്ടം | മലയാള മനോരമ ജില്ല വാർത്തകൾ | Kollam News | Kerala District News | Chuttuvattom | Malayala Manorama" https://www.manoramaonline.com/district-news/kollam/2021/03/09/kollam-father-son.html</ref><ref>"ഗണേഷിനോട് ഇടഞ്ഞ് കേരള കോൺഗ്രസ് (ബി) പിളർന്നു | KB Ganesh Kumar | Malayalam News | Manorama Online" https://www.manoramaonline.com/news/kerala/2021/02/17/kerala-congress-b-split-with-ganesh.html</ref> == ജീവിതരേഖ == മുൻ മന്ത്രിയും കേരള കോൺഗ്രസ് (ബി) വിഭാഗം നേതാവുമായിരുന്ന ആർ. ബാലകൃഷ്ണപിള്ളയുടേയും വത്സലകുമാരിയുടേയും മകനായി 1966 മെയ് 25ന് തിരുവനന്തപുരത്ത് ജനനം. പ്രാഥമിക വിദ്യാഭ്യാസത്തിനു ശേഷം തിരുവനന്തപുരം ഗവ. ആർട്ട്സ് കോളേജിൽ നിന്ന് ബിരുദം നേടി. ബി.കോമാണ് വിദ്യാഭ്യാസ യോഗ്യത. == സിനിമ ജീവിതം == പ്രശസ്ത സംവിധായകനായ കെ.ജി. ജോർജുമായുള്ള പരിചയമാണ് സിനിമ രംഗത്തേക്ക് വരാൻ ഗണേഷിന് സഹായകരമായത്. കെ.ജി. ജോർജ് സംവിധാനം ചെയ്ത് 1985-ൽ റിലീസായ ''ഇരകൾ'' എന്ന സിനിമയിലെ മാനസിക രോഗം ബാധിച്ച നായകനായി അഭിനയിച്ചു കൊണ്ടാണ് ഗണേഷിൻ്റെ സിനിമ അരങ്ങേറ്റം. 1987-ൽ മോഹൻലാൽ നായകനായ ''ചെപ്പ്'' എന്ന സിനിമയിലെ ഗണേഷിൻ്റെ വില്ലൻ വേഷം നിരൂപക പ്രശംസ നേടിയതാണ്. രാക്കുയിലിൻ രാഗസദസിൽ, സംഘം, ഒരു മുത്തശ്ശി കഥ, കമ്മീഷണർ എന്നിങ്ങനെ നിരവധി സിനിമകളിൽ ശ്രദ്ധേയ വേഷങ്ങൾ ചെയ്തു. 1990-കളുടെ മധ്യത്തിൽ സപ്പോർട്ടിംഗ് റോളുകളിലൂടെയും വില്ലൻ വേഷങ്ങളിലൂടെയും ഗണേഷ് മലയാള സിനിമയിൽ നിറഞ്ഞുനിന്നു. ഇതുവരെ ഏകദേശം 250 സിനിമകളിൽ അഭിനയിച്ചിട്ടുണ്ട്. 2000 ആണ്ടിൻ്റെ തുടക്കത്തിൽ സിനിമയിൽ നിന്ന് രാഷ്ട്രീയത്തിലെത്തിയ ഗണേഷ് 2001-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ പത്തനാപുരത്ത് നിന്ന് യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി മത്സരിച്ചു ജയിക്കുകയും എ.കെ. ആൻ്റണി മുഖ്യമന്ത്രിയായ യു.ഡി.എഫ് മന്ത്രിസഭയിലെ ഗതാഗത വകുപ്പിൻ്റെ ചുമതലയുള്ള കാബിനറ്റ് മന്ത്രിയായും പ്രവർത്തിച്ചു. 2001-ൽ സംസ്ഥാന നിയമസഭയിലേയ്ക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടതിനെ തുടർന്ന്‌ മുഴുവൻ സമയ രാഷ്ട്രീയ പ്രവർത്തകനായി മാറി. പിന്നീട് സെലക്ടീവ് റോളുകളിൽ മാത്രം സിനിമയിൽ അഭിനയിച്ചു. രാഷ്ട്രീയ ഇമേജിനെ അഭിനയ ജീവിതം ഒരുതരത്തിലും ബാധിക്കാതിരിക്കാൻ വില്ലൻ വേഷങ്ങൾ പൂർണ്ണമായും ഒഴിവാക്കി. പിന്നീട് കോമഡി റോളുകളിലും ഉപ-നായകനായും സിനിമാഭിനയം തുടരുന്ന ഗണേഷിന് ''സൂര്യ ടി.വിയിലെ'' ''മാധവം'' എന്ന ടെലി സീരിയലിലെ അഭിനയത്തിന് 2007-ലെ മികച്ച ടി.വി. അഭിനേതാവിനുള്ള സംസ്ഥാന പുരസ്കാരം ലഭിച്ചു. 2008-ലെ ഫ്രെയിം മീഡിയ ഗാലപ്പ് പോളിൽ മികച്ച നടനുള്ള സീരിയൽ അവാർഡ് ''അമൃത ടി.വിയിലെ'' ''അളിയന്മാരും പെങ്ങൻമാരും'' എന്ന പരമ്പരയ്ക്ക് ലഭിച്ചു.<ref>"കെ ബി ഗണേഷ് കുമാർ - K B Ganesh kumar | M3DB" https://m3db.com/k-b-ganesh-kumar</ref> == രാഷ്ട്രീയ ജീവിതം == 2001-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി പത്തനാപുരത്ത് നിന്ന് നിയമസഭാംഗമായതോടെയാണ് ഗണേഷിൻ്റെ രാഷ്ട്രീയ ജീവിതമാരംഭിക്കുന്നത്. പിന്നീട് നടന്ന എല്ലാ നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും (2006, 2011, 2016, 2021) പത്തനാപുരത്ത് നിന്ന് തുടർച്ചയായി ജയിച്ച് നിയമസഭാംഗമായി തുടരുന്ന ഗണേഷ് കുമാർ രണ്ട് തവണ സംസ്ഥാന കാബിനറ്റ് വകുപ്പ് മന്ത്രിയായിരുന്നു. 2001-ലെ എ.കെ. ആൻറണി നയിച്ച യു.ഡി.എഫ് മന്ത്രിസഭയിലെ ഗതാഗത വകുപ്പ് മന്ത്രിയായ ഗണേഷ് 2003-ൽ പിതാവ് ആർ. ബാലകൃഷ്ണ പിള്ളയ്ക്ക് മന്ത്രിയാകാൻ വേണ്ടി രാജി വയ്ക്കുകയായിരുന്നു. 2011-ലെ ഉമ്മൻചാണ്ടി മന്ത്രിസഭയിലെ വനം, പരിസ്ഥിതി വകുപ്പ് മന്ത്രിയായിരുന്ന ഗണേഷ് ഭാര്യയുമായുള്ള വിവാഹ മോചന തർക്കത്തെ തുടർന്ന് 2013-ൽ രാജിവച്ചു. കേരള കോൺഗ്രസ് ബിയുടെ ചെയർമാനായി തുടരുന്ന 2001 മുതൽ തുടർച്ചയായി അഞ്ച് തവണ നിയമസഭാംഗമായ ഗണേഷ് കുമാർ രണ്ടാം പിണറായി മന്ത്രിസഭ പുന:സംഘടനയുടെ ഭാഗമായി 2023 ഡിസംബർ 29ന് സംസ്ഥാന ഗതാഗത വകുപ്പ് മന്ത്രിയായി സ്ഥാനമേറ്റു.<ref>https://www.manoramaonline.com/news/latest-news/2023/12/24/ahamed-devarkovil-and-antony-raju-resigned.html</ref> 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ പത്തനാപുരത്ത് നിന്ന് എൽ.ഡി.എഫ് ടിക്കറ്റിൽ വീണ്ടും മത്സരിച്ച ഗണേഷ് കുമാർ 25 വർഷത്തിന് ശേഷം ഇതാദ്യമായി കോൺഗ്രസിലെ ജ്യോതികുമാർ ചാമക്കാലയോട് പരാജയപ്പെട്ടു. പരാജയത്തോടെ കേരള കോൺഗ്രസ്(ബി) പാർട്ടിക്ക് ഇതാദ്യമായി നിയമസഭയിൽ പ്രാതിനിധ്യം ഇല്ലാതായി. ''' മറ്റ് പദവികൾ ''' * മലയാള താര സംഘടനയായ അമ്മയുടെ (Association of Malayalam Movie Artists) സ്ഥാപകാംഗവും മുൻ സംസ്ഥാന ട്രഷററുമാണ് * ടെലിവിഷൻ മിനി സ്ക്രീൻ സംഘടനയായ ആത്മയുടെ (Association of Malayalam TV Media Artists) ആദ്യ പ്രസിഡൻറ് * പ്രഥമ ചെയർമാൻ, മലയാളം ടി.വി ഫ്രെട്ടേനിറ്റി * വൈസ് പ്രസിഡൻറ്, അമ്മ * പ്രസിഡൻ്റ്, ആത്മ * പ്രസിഡൻറ്, മലയാളം ടി.വി. ആർട്ടിസ്റ്റ് അസോസിയേഷൻ സഹകരണ സൊസൈറ്റി * സംസ്ഥാന പ്രസിഡൻറ്, കേരള സംസ്ഥാന ആന ഉടമ സംഘടന * ചെയർമാൻ, മലയാളം ടി.വി. ഫ്രട്ടേനിറ്റി ''' എഴുതിയ നോവൽ ''' * കരക്കടുക്കാത്ത കപ്പൽ {| class="wikitable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref> http://www.keralaassembly.org/1982/1982117.html </ref> ! വർഷം !!മണ്ഡലം|| വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും !! പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും |- |2016|| [[പത്തനാപുരം നിയമസഭാമണ്ഡലം]]|| കെ.ബി. ഗണേശ് കുമാർ||[[കേരള കോൺഗ്രസ് (ബി)]], [[എൽ.ഡി.എഫ്.]]||[[ജഗദീഷ്]]||[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഐൻസി]] ,[[യു.ഡി.എഫ്.]] |- |2011|| പത്തനാപുരം നിയമസഭാമണ്ഡലം|| കെ.ബി. ഗണേശ് കുമാർ||കേരള കോൺഗ്രസ് (ബി), യു.ഡി.എഫ്.||കെ. രാജഗോപാൽ||[[സി.പി.ഐ.എം.]], എൽ.ഡി.എഫ്. |- |2006||പത്തനാപുരം നിയമസഭാമണ്ഡലം||കെ.ബി. ഗണേശ് കുമാർ||കേരള കോൺഗ്രസ് (ബി), യു.ഡി.എഫ്.||[[കെ.ആർ. ചന്ദ്രമോഹനൻ]]||സി.പി.ഐ., എൽ.ഡി.എഫ്. |- |2001||പത്തനാപുരം നിയമസഭാമണ്ഡലം||കെ.ബി. ഗണേശ് കുമാർ||കേരള കോൺഗ്രസ് (ബി), യു.ഡി.എഫ്.||[[കെ. പ്രകാശ് ബാബു]]||സി.പി.ഐ., എൽ.ഡി.എഫ്. |- |} == അഭിനയിച്ച മലയാള സിനിമകൾ == * ഇരകൾ 1985 * രാക്കുയിലിൻ രാഗസദസിൽ 1986 * അമ്പിളി അമ്മാവൻ 1986 * സുഖമോ ദേവി 1986 * വിശ്വസിച്ചാലും ഇല്ലെങ്കിലും 1986 * യുവജനോത്സവം 1986 * ചെപ്പ് 1987 * കഥയ്ക്ക് പിന്നിൽ 1987 * സർവ്വകലാശാല 1987 * ഭൂമിയിലെ രാജാക്കന്മാർ 1987 * ഉണ്ണികളെ ഒരു കഥ പറയാം 1987 * സംഘം 1988 * ഒരു വിവാദ വിഷയം 1988 * മൃത്യുഞ്ജയം 1988 * ചിത്രം 1988 * ഒരു മുത്തശ്ശി കഥ 1988 * ജന്മാന്തരം 1988 * മുക്തി 1988 * വന്ദനം 1989 * ജാഗ്രത 1989 * അഥർവ്വം 1989 * ദേവദാസ് 1989 * നായർസാബ് 1989 * പുതിയ കരുക്കൾ 1989 * മെയ്ദിനം 1990 * മാലയോഗം 1990 * ഏയ് ഓട്ടോ 1990 * പുറപ്പാട് 1990 * ഗജകേസരിയോഗം 1990 * രണ്ടാം വരവ് 1990 * കടത്തനാടൻ അമ്പാടി 1990 * വീണമീട്ടിയ വിലങ്ങുകൾ 1990 * കോട്ടയം കുഞ്ഞച്ചൻ 1990 * അപൂർവ്വം ചിലർ 1991 * ഞാൻ ഗന്ധർവ്വൻ 1991 * പാരലൽ കോളേജ് 1991 * കാക്കത്തൊള്ളായിരം 1991 * ഒന്നാം മുഹൂർത്തം 1991 * കിലുക്കം 1991 * നയം വ്യക്തമാക്കുന്നു 1991 * കുറ്റപത്രം 1991 * അഭിമന്യു 1991 * മഹാനഗരം 1992 * മാന്യന്മാർ 1992 * നീലക്കുറുക്കൻ 1992 * കാഴ്ചക്കപ്പുറം 1992 * തലസ്ഥാനം 1992 * കിഴക്കൻ പത്രോസ് 1992 * കാസർകോട് ഖാദർഭായി 1992 * കളിപ്പാട്ടം 1993 * പ്രവാചകൻ 1993 * മാഫിയ 1993 * യാദവം 1993 * ഏകലവ്യൻ 1993 * വരം 1993 * അമ്മയാണെ സത്യം 1993 * ബട്ടർഫ്ലൈസ് 1993 * ജനം 1993 * മണിചിത്രത്താഴ് 1993 * ആർദ്രം 1993 * സ്ഥലത്തെ പ്രധാന പയ്യൻസ് 1993 * കസ്റ്റംസ് ഡയറി 1993 * പക്ഷേ 1993 * നന്ദിനി ഓപ്പോൾ 1994 * കമ്മീഷ്ണർ 1994 * സന്താനഗോപാലം 1994 * പാവം ഐ.എ.ഐവാച്ചൻ 1994 * ഗമനം 1994 * രുദ്രാക്ഷം 1994 * കാശ്മീരം 1994 * വിഷ്ണു 1994 * ദി കിംഗ് 1995 * സിംഹവാലൻ മേനോൻ 1995 * അഗ്രജൻ 1995 * ഇന്ത്യൻ മിലിട്ടറി ഇൻറലിജൻസ് 1995 * പ്രായിക്കര പാപ്പാൻ 1995 * മഹാത്മ 1995 * ആയിരം നാവുള്ള അനന്തൻ 1996 * അസുരവംശം 1997 * ഗുരു 1997 * കല്യാണ പിറ്റേന്ന് 1997 * കണ്ണൂർ 1997 * വർണ്ണപ്പകിട്ട് 1997 * സമ്മാനം 1997 * ആറാം തമ്പുരാൻ 1997 * ഒരു സങ്കീർത്തനം പോലെ 1998 * ദി ട്രൂത്ത് 1998 * ഒളിമ്പ്യൻ അന്തോണി ആദം 1999 * ക്രൈം ഫയൽ 1999 * വർണ്ണച്ചിറകുകൾ 1999 * വാസന്തിയും ലക്ഷ്മിയും പിന്നെ ഞാനും 1999 * ഉസ്താദ് 1999 * എഫ്.ഐ.ആർ 1999 * ആയിരം മേനി 2000 * പൈലറ്റ്സ് 2000 * സൂസന്ന 2000 * ദാദാസാഹിബ് 2000 * കരുമാടിക്കുട്ടൻ 2001 * കിളിച്ചുണ്ടൻ മാമ്പഴം 2003 * അമ്മക്കിളിക്കൂട് 2003 * കസ്തൂരിമാൻ 2003 * വിസ്മയത്തുമ്പത്ത് 2004 * ബോയ്ഫ്രണ്ട് 2005 * ഫോട്ടോഗ്രാഫർ 2006 * ഹലോ 2007 * അലിഭായ് 2007 * വെറുതെ ഒരു ഭാര്യ 2008 * ഇവർ വിവാഹിതരായാൽ 2009 * സാഗർ ഏലിയാസ് ജാക്കി 2009 * സ്വ.ലേ 2009 * കേരളോത്സവം 2009 * രഹസ്യപ്പോലീസ് 2009 * റെഡ് ചില്ലീസ് 2009 * വെള്ളത്തൂവൽ 2009 * കഥ, സംവിധാനം കുഞ്ചാക്കോ 2009 * അലക്സാണ്ടർ ദി ഗ്രേറ്റ് 2010 * ഫോർ ഫ്രണ്ട്സ് 2010 * ഒരിടത്തൊരു പോസ്റ്റ്മാൻ 2010 * കന്മഴ പെയ്യും മുൻപെ 2010 * ജനകൻ 2010 * പ്രിയപ്പെട്ട നാട്ടുകാരെ 2011 * സാൻവിച്ച് 2011 * സ്പിരിറ്റ് 2012 * മൈ ബോസ് 2012 * ലേഡീസ് & ജൻ്റിൻമെൻ 2013 * അപ്പ് & ഡൗൺ 2013 * ഗീതാഞ്ജലി 2013 * അവതാരം 2014 * വില്ലാളി വീരൻ 2014 * മിഴി തുറക്കൂ 2014 * 100° സെൽഷ്യസ് 2014 * ഷീ ടാക്സി 2015 * തിങ്കൾ മുതൽ വെള്ളി വരെ 2015 * C/O സൈറാ ബാനു 2017 * മന്ദാരം 2018 * കോടതി സമക്ഷം ബാലൻ വക്കീൽ 2019 * മി. പവനായി 2019 * മേരാ നാം ഷാജി 2019 * മരക്കാർ അറബിക്കടലിൻ്റെ സിംഹം 2021 * ദൃശ്യം 2 2021 * സാജൻ ബേക്കറി 2021 * ആറാട്ട് 2022 * മോൺസ്റ്റർ 2022 == അവലംബം == <references/> {{Fourteenth KLA}}{{DEFAULTSORT:ഗണേഷ് കുമാർ}} [[വർഗ്ഗം:1966-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 25-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ അഭിനേതാക്കളായ രാഷ്ട്രീയക്കാർ]] [[വർഗ്ഗം:കേരള കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ വനംവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഗതാഗതവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ കായികവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] 7c3w8098qy6ibnh56s9hnbl2xtghnh3 കുറുക്കൻ (ജനുസ്സ്) 0 15516 4622133 3628702 2026-05-23T05:51:47Z Theleapen 217853 കണ്ണികൾ ചേർത്തു 4622133 wikitext text/x-wiki {{prettyurl|Fox}} {{Taxobox | color = pink | name = കുറുക്കൻ | image =Vulpes vulpes standing in snow.jpg | image_caption = [[Red Fox]] (''Vulpes vulpes'') | regnum = [[Animal|ജന്തു]] | phylum = [[Chordata|കശേരുകി]] | classis = [[Mammalia|സസ്തനി]] | ordo = [[Carnivora]] | familia = [[Canidae]] | genus = [[Vulpes]] | subdivision_ranks = Species | subdivision = ''[[Vulpes bengalensis]]''<br /> ''[[Vulpes cana]]''<br /> ''[[Vulpes chama]]''<br /> ''[[Vulpes corsac]]''<br /> ''[[Vulpes ferrilata]]''<br /> ''[[Vulpes lagopus]]''<br /> ''[[Vulpes macrotis]]''<br /> ''[[Vulpes pallida]]''<br /> ''[[Vulpes ruppelli]]''<br /> ''[[Vulpes velox]]''<br /> ''[[Vulpes vulpes]]''<br /> ''[[Vulpes zerda]]'' }} {{വിക്കിനിഘണ്ടു}} [[File:Jackal.ogg|thumb|right|കുറുക്കന്റെ ഓരിയിടൽ]] [[മാംസഭുക്ക്|മാംസഭുക്കായ]] ഒരു വന്യമൃഗമാണ് '''കുറുക്കൻ'''. എങ്കിലും ഇവ മിശ്രഭുക്കുകളും ആണ്. [[കുറുനരി]], [[ഊളൻ]] എന്നീ പേരുകളിൽ അറിയപ്പെടുന്ന ജീവിയുമായി സാമ്യമുണ്ടെങ്കിലും അത് വ്യത്യസ്ത ജീവിയാണ്. ലോകത്തെങ്ങുമായി 37 സ്പീഷിസുകളിൽ ഇവയെ കണ്ടെത്തീട്ടുണ്ട്. ഇവ ''Vulpes'' ജനുസ്സിൽ പെടുന്നു. ഏറ്റവും അധികം കാണപ്പെടുന്ന തരം കുറുക്കൻ സാധാരണ ''റെഡ് ഫോക്സ്'' (''Vulpes vulpes'') എന്നറിയപ്പെടുന്നു. [[ബംഗാൾ കുറുക്കൻ]] (''Vulpes bengalensis'') [[ ഹിമാലയൻ റെഡ് ഫോക്‌സ്]]("Vulpes vulpes montana") [[തിബറ്റൻ കുറുക്കൻ]](Vulpes ferrilata) തുടങ്ങിയവയാണ് ഇന്ത്യൻ ഉപഭൂഖണ്ഡത്തിൽ കാണപ്പെടുന്നത്. == രൂപവിവരണം== ചാര നിറം കലർന്ന മങ്ങിയ മഞ്ഞനിറമാണ്. തലയും കാലും തവിട്ടു കലർന്ന മഞ്ഞ നിറമാണ്. തൊണ്ടറ്റയും ശരീരത്തിന്റെ അടി വശവും മങ്ങിയ വെള്ള നിറമാണ്. വാൽ രോമാവൃതമാണ്. വാലിന് 20-27 സെ.മീ നീളമുണ്ട്. <ref name="vns1">ഡൊ.പി.ഒ. നമീർ, കുറുനരി, കൂട് മാസിക, മാർച്ച് 2016 .</ref> == പ്രത്യേകതകൾ == [[പ്രമാണം:Fennec Fox @ Africa Alive, Lowestoft.jpg|thumb|right|The [[Fennec Fox]] is the smallest species of fox.]] [[പ്രമാണം:Alopex lagopus coiled up in snow.jpg|thumb|right|[[Arctic fox]] curled up in snow]] [[പ്രമാണം:FoxSkelLyd1.png|thumb|200px|Skeleton]] വനത്തിൽ കാണപ്പെടുന്ന കുറുക്കന്മാർ സാധാരണ 10 വർഷം വരെ ജീവിക്കുന്നു. പക്ഷേ, സാധാരണ ഗതിയിൽ ഒരു കുറുക്കന്റെ ആയുസ്സ് 2 മുതൽ 3 വർഷം വരെയാണ്. നായാട്ട്, അപകടങ്ങൾ, അസുഖങ്ങൾ മുതലായവയും ഇവയുടെ ആയുസ്സ് കുറയുന്നതിന് കാരണമാണ്. [[നരി]], [[ചെന്നായ]], [[പട്ടി]] എന്നിവയിൽ നിന്നും സാധാരണ കുറുക്കന്മാർക്ക് വലിപ്പം കുറവാണ്. മരുഭൂമിയിൽ കണ്ടും വരുന്ന കിറ്റ് ഫോക്സ് എന്ന കുറുക്കന്മാർക്ക് നീളത്തിലുള്ള ചെവികളും, മൃദുരോമമുള്ള ശരീരവും കാണുന്നു. ആർടിക് ഫോക്സ് എന്ന വർഗ്ഗങ്ങൾക്ക് ചെറിയ ചെവികളും കനം കൂടിയ കട്ടിരോമ ശരീരവും കാണുന്നു. റെഡ് ഫോക്സ് എന്ന ഇനത്തിന് ചുവന്ന രോമങ്ങളും, വാലറ്റം വെളുത്തും കാണപ്പെടുന്നു. കുറുക്കന്മാർ ചെറിയ കുടുംബമായി താമസിക്കുന്നവയാണ്. ഇവ ഒന്നിച്ച് സാധാരണ കാണപ്പെടാറില്ല. ഇര പിടിച്ച് ജീവിക്കുന്നവയാണ് കുറുക്കന്മാർ. == ഇവകൂടി കാണുക == * [[ചെന്നായ]] * [[കുറുനരി]] <gallery> പ്രമാണം:Fennec Fox @ Africa Alive, Lowestoft.jpg|The [[Fennec Fox]] is the smallest species of fox. പ്രമാണം:Alopex lagopus coiled up in snow.jpg|[[Arctic fox]] curled up in snow പ്രമാണം:FoxSkelLyd1.png|Skeleton File:Vulpes vulpes laying in snow.jpg </gallery> == ബാഹ്യകണ്ണികൾ == {{commons|Fox}} * [http://www.thefoxwebsite.org/ The fox website] * [http://www.angelfire.com/ar2/thefoxden/sounds.html More fox sound files.] * [https://web.archive.org/web/20070207103355/http://www.environment.gov.au/biodiversity/invasive/publications/fox/pubs/fox.pdf Australian Department of the Environment and Heritage fact sheet, 2004] {{Animal-stub}} [[വർഗ്ഗം:വന്യജീവികൾ]] [[വർഗ്ഗം:സസ്തനികൾ]] [[വർഗ്ഗം:മാംസഭോജികൾ]] [[വർഗ്ഗം:കേരളത്തിലെ സസ്തനികൾ]] g02of9a6y85odh4ns0b8fhl3lmwea9p 4622137 4622133 2026-05-23T05:57:10Z Theleapen 217853 കണ്ണികൾ ചേർത്തു 4622137 wikitext text/x-wiki {{prettyurl|Fox}} {{Taxobox | color = pink | name = കുറുക്കൻ | image =Vulpes vulpes standing in snow.jpg | image_caption = [[Red Fox]] (''Vulpes vulpes'') | regnum = [[Animal|ജന്തു]] | phylum = [[Chordata|കശേരുകി]] | classis = [[Mammalia|സസ്തനി]] | ordo = [[Carnivora]] | familia = [[Canidae]] | genus = [[Vulpes]] | subdivision_ranks = Species | subdivision = ''[[Vulpes bengalensis]]''<br /> ''[[Vulpes cana]]''<br /> ''[[Vulpes chama]]''<br /> ''[[Vulpes corsac]]''<br /> ''[[Vulpes ferrilata]]''<br /> ''[[Vulpes lagopus]]''<br /> ''[[Vulpes macrotis]]''<br /> ''[[Vulpes pallida]]''<br /> ''[[Vulpes ruppelli]]''<br /> ''[[Vulpes velox]]''<br /> ''[[Vulpes vulpes]]''<br /> ''[[Vulpes zerda]]'' }} {{വിക്കിനിഘണ്ടു}} [[File:Jackal.ogg|thumb|right|കുറുക്കന്റെ ഓരിയിടൽ]] [[മാംസഭുക്ക്|മാംസഭുക്കായ]] ഒരു വന്യമൃഗമാണ് '''കുറുക്കൻ'''. എങ്കിലും ഇവ മിശ്രഭുക്കുകളും ആണ്. [[കുറുനരി]], [[ഊളൻ]] എന്നീ പേരുകളിൽ അറിയപ്പെടുന്ന ജീവിയുമായി സാമ്യമുണ്ടെങ്കിലും അത് വ്യത്യസ്ത ജീവിയാണ്. ലോകത്തെങ്ങുമായി 37 സ്പീഷിസുകളിൽ ഇവയെ കണ്ടെത്തീട്ടുണ്ട്. ഇവ ''Vulpes'' ജനുസ്സിൽ പെടുന്നു. ഏറ്റവും അധികം കാണപ്പെടുന്ന തരം കുറുക്കൻ സാധാരണ ''റെഡ് ഫോക്സ്'' (''Vulpes vulpes'') എന്നറിയപ്പെടുന്നു. [[ബംഗാൾ കുറുക്കൻ]] (''Vulpes bengalensis'') [[ ഹിമാലയൻ റെഡ് ഫോക്‌സ്]]("Vulpes vulpes montana") [[തിബറ്റൻ കുറുക്കൻ]](Vulpes ferrilata) തുടങ്ങിയവയാണ് ഇന്ത്യൻ ഉപഭൂഖണ്ഡത്തിൽ കാണപ്പെടുന്നത്. == രൂപവിവരണം== ചാര നിറം കലർന്ന മങ്ങിയ മഞ്ഞനിറമാണ്. തലയും കാലും തവിട്ടു കലർന്ന മഞ്ഞ നിറമാണ്. തൊണ്ടറ്റയും ശരീരത്തിന്റെ അടി വശവും മങ്ങിയ വെള്ള നിറമാണ്. വാൽ രോമാവൃതമാണ്. വാലിന് 20-27 സെ.മീ നീളമുണ്ട്. <ref name="vns1">ഡൊ.പി.ഒ. നമീർ, കുറുനരി, കൂട് മാസിക, മാർച്ച് 2016 .</ref> == പ്രത്യേകതകൾ == [[പ്രമാണം:Fennec Fox @ Africa Alive, Lowestoft.jpg|thumb|right|The [[Fennec Fox]] is the smallest species of fox.]] [[പ്രമാണം:Alopex lagopus coiled up in snow.jpg|thumb|right|[[Arctic fox]] curled up in snow]] [[പ്രമാണം:FoxSkelLyd1.png|thumb|200px|Skeleton]] വനത്തിൽ കാണപ്പെടുന്ന കുറുക്കന്മാർ സാധാരണ 10 വർഷം വരെ ജീവിക്കുന്നു. പക്ഷേ, സാധാരണ ഗതിയിൽ ഒരു കുറുക്കന്റെ ആയുസ്സ് 2 മുതൽ 3 വർഷം വരെയാണ്. നായാട്ട്, അപകടങ്ങൾ, അസുഖങ്ങൾ മുതലായവയും ഇവയുടെ ആയുസ്സ് കുറയുന്നതിന് കാരണമാണ്. [[നരി]], [[ചെന്നായ]], [[പട്ടി]] എന്നിവയിൽ നിന്നും സാധാരണ കുറുക്കന്മാർക്ക് വലിപ്പം കുറവാണ്. മരുഭൂമിയിൽ കണ്ടും വരുന്ന കിറ്റ് ഫോക്സ് എന്ന കുറുക്കന്മാർക്ക് നീളത്തിലുള്ള ചെവികളും, മൃദുരോമമുള്ള ശരീരവും കാണുന്നു. ആർടിക് ഫോക്സ് എന്ന വർഗ്ഗങ്ങൾക്ക് ചെറിയ ചെവികളും കനം കൂടിയ കട്ടിരോമ ശരീരവും കാണുന്നു. റെഡ് ഫോക്സ് എന്ന ഇനത്തിന് ചുവന്ന രോമങ്ങളും, വാലറ്റം വെളുത്തും കാണപ്പെടുന്നു. കുറുക്കന്മാർ ചെറിയ കുടുംബമായി താമസിക്കുന്നവയാണ്. ഇവ ഒന്നിച്ച് സാധാരണ കാണപ്പെടാറില്ല. ഇര പിടിച്ച് ജീവിക്കുന്നവയാണ് കുറുക്കന്മാർ. == ഇവകൂടി കാണുക == * [[ചെന്നായ]] * [[കുറുനരി]] <gallery> പ്രമാണം:Fennec Fox @ Africa Alive, Lowestoft.jpg|The [[Fennec Fox]] is the smallest species of fox. പ്രമാണം:Alopex lagopus coiled up in snow.jpg|[[Arctic fox]] curled up in snow പ്രമാണം:FoxSkelLyd1.png|Skeleton File:Vulpes vulpes laying in snow.jpg </gallery> ==ഇന്ത്യയിൽ കാണപ്പെടുന്നവ== ബംഗാൾ കുറുക്കൻ വംശനാശഭീഷണി നേരിടുന്ന ഒരു വർഗ്ഗമാണ് അവ കേരളത്തിൽ നിന്നും ഏകദേശം അപ്രത്യക്ഷമായി വടക്കേ ഇന്ത്യയിൽ ഇവർ ഇപ്പോഴുമുണ്ട് ഇന്ത്യ കൂടാതെ പാകിസ്ഥാൻ ബംഗ്ലാദേശ് തുടങ്ങിയ രാജ്യങ്ങളിലും ഇവരെ കാണപ്പെടുന്നു അതേപോലെതന്നെ ഇന്ത്യയിൽ കാണപ്പെടുന്ന മറ്റൊരു കുറുക്കൻ വർഗ്ഗമാണ് ടിബറ്റൻ കുറുക്കൻ. ട്രാൻസ് ഹിമാലയൻ ഭാഗങ്ങളിലാണ് ഇവയെ കാണപ്പെടുന്നത്.ഇന്ത്യയിൽ ഇവർ അപൂർവമാണ്. ഹിമാലയൻ ചുവന്ന കുറുക്കൻ ഹിമാലയൻ മലനിരങ്ങളിലെ ഉയർന്ന പ്രദേശങ്ങളിൽ കാണപ്പെടുന്നു ഇവരെ"Hill Fox"എന്നും വിളിക്കാറുണ്ട് == ബാഹ്യകണ്ണികൾ == {{commons|Fox}} * [http://www.thefoxwebsite.org/ The fox website] * [http://www.angelfire.com/ar2/thefoxden/sounds.html More fox sound files.] * [https://web.archive.org/web/20070207103355/http://www.environment.gov.au/biodiversity/invasive/publications/fox/pubs/fox.pdf Australian Department of the Environment and Heritage fact sheet, 2004] {{Animal-stub}} [[വർഗ്ഗം:വന്യജീവികൾ]] [[വർഗ്ഗം:സസ്തനികൾ]] [[വർഗ്ഗം:മാംസഭോജികൾ]] [[വർഗ്ഗം:കേരളത്തിലെ സസ്തനികൾ]] s06brhrjtd611mlqzeqif5qrcgcpv08 രാസാഗ്നി 0 20965 4621611 3963805 2026-05-22T19:16:30Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621611 wikitext text/x-wiki {{prettyurl|Enzyme}} [[പ്രമാണം:TPI1_structure.png|thumb|310px|[[Protein structure|Ribbon diagram]] of the enzyme [[triosephosphate isomerase|TIM]], surrounded by the [[space-filling model]] of the protein. TIM is an extremely efficient enzyme involved in the process that converts [[sugar]]s to energy in the body.]] [[ജീവികൾ|ജീവികളുടെ]] ശരീരത്തിലുള്ള ഉൽ‌പ്രേരകങ്ങളെയാണ്‌ '''രാസാഗ്നികൾ''' (ഇംഗ്ലീഷ്:Enzyme) എന്നു പറയുന്നത്. [[രാസപ്രവർത്തനം|രാസപ്രവർതനങ്ങളിൽ]] അവയുടെ വേഗത കൂട്ടുകയോ കുറക്കുകയോ ചെയ്യുകയും [[രാസമാറ്റം|രാസമാറ്റത്തിനു]] വിധേയമാവാതിരിക്കുകയും ചെയ്യുന്ന രാസവസ്തുക്കളെയാണു ഉത്പ്രേരകങ്ങളെന്നു പറയുന്നത്. [[ദഹനം (ജീവശാസ്ത്രം)|ദഹനം]], [[കോശം|കോശശ്വസനം]], [[മാംസ്യം|മാംസ്യസംശ്ലേഷണം]] മുതലായ ശരീരത്തിലെ എല്ലാ രാസപ്രവർത്തനങ്ങളും നിയന്ത്രിക്കുന്നത് ഇത്തരം രാസാഗ്നികളാണ്‌. ഡബ്ല്യൂ. കുനെയാണു എൻസൈം എന്ന പേർ ഇവക്കു നൽകിയത്. [[ഗ്രീക്ക് ഭാഷ|ഗ്രീക്ക് ഭാഷയിൽ]] [[യീസ്റ്റ്]] എന്നാണ്‌ ഈ പദത്തിനു അർത്ഥം. [[കിണ്വനം|കിണ്വനത്തിനു]] (ഫെർമെന്റേഷൻ) കാരണമായ [[രാസവസ്തു|രാസവസ്തുക്കൾ]] യീസ്റ്റിലുണ്ട് എന്ന ആദ്യകാല അറിവാണു ഈ പേരിടലിനാധാരം. == പ്രത്യേകതകൾ == വളരെക്കുറഞ്ഞ അളവിൽ മാത്രം പ്രവർത്തനം നടത്തുന്ന ഇവയ്ക്ക് സ്വയം പരിവർത്തനം സംഭവിക്കാതെ രാസപ്രവർത്തന വേഗതയെ സ്വാധീനിക്കാനുള്ള കഴിവുണ്ട്. സാധാരണയായി ഒരു രാസാഗ്നി ഒറ്റ രാസപ്രവർത്തനത്തെ മാത്രമേ സ്വാധീനിക്കുന്നുള്ളൂ. രാസപ്രവർത്തനത്തിനാവശ്യമായ [http://en.wikipedia.org/wiki/Activation_energy ആക്ടിവേഷൻ ഊർജ്ജ]ത്തിന്റെ അളവ് കുറയ്ക്കുകയാണ് ഇവ ചെയ്യുന്നത്.<ref>Objective Biology. Arihant Publications, 2009 Ed. Page- 109</ref> എല്ലാ രാസാഗ്നികളും ഊഷ്മാവിനാൽ സ്വാധീനിക്കപ്പെടുന്നവയാണ്. പ്രവർത്തനത്തിൽ നേരിട്ട് പങ്കെടുക്കുന്നില്ലെന്നതിനാൽ ഇവയ്ക്ക് രാസപ്രവർത്തനത്തിനൊടുവിലും കാര്യമായ മാറ്റങ്ങൾ സംഭവിക്കുന്നില്ല. 25ഡിഗ്രി സെൽഷ്യസിനും 45ഡിഗ്രി സെൽഷ്യസിനും ഇടയ്ക്കാണ് ഇവയുടെ പ്രവർത്തനശേഷി കൂടിയിരിക്കുന്നത്. === പൊതുരാസഘടന === രാസപരമായി എൻസൈമുകളെ സരളം (simple) എന്നും സങ്കീർണം (complex) എന്നും രണ്ടായി തിരിക്കാറുണ്ട്. സരള-എൻസൈമുകൾ<ref>{{Cite web |url=http://www.ableweb.org/volumes/vol-6/10-miller.pdf |title=ആർക്കൈവ് പകർപ്പ് |access-date=2012-10-20 |archive-date=2012-11-02 |archive-url=https://web.archive.org/web/20121102164908/http://www.ableweb.org/volumes/vol-6/10-miller.pdf |url-status=dead }}</ref> പ്രോട്ടീനുകൾ മാത്രമാണ്; അവ താരതമ്യേന സരളവുമായിരിക്കും. എന്നാൽ സങ്കീർണ-എൻസൈമുകളിൽ<ref>{{Cite web |url=http://www.isagenix.com/us/en/multienzyme.dhtml |title=ആർക്കൈവ് പകർപ്പ് |access-date=2012-10-20 |archive-date=2012-09-22 |archive-url=https://web.archive.org/web/20120922204951/http://www.isagenix.com/us/en/multienzyme.dhtml |url-status=dead }}</ref> പ്രോട്ടീൻ അംശത്തിനു പുറമേ പ്രോട്ടീനല്ലാത്ത ഒരു അംശം കൂടി ഉണ്ടായിരിക്കും. പ്രോട്ടീനല്ലാത്ത അംശത്തെ ''പ്രോസ്തെറ്റിക് ഗ്രൂപ്പ്'' <ref>http://encyclopedia2.thefreedictionary.com/Prosthetic+Group</ref> എന്നാണ് പറയാറുള്ളത്; പ്രോട്ടീനംശത്തെ ''അപ്പൊ എൻസൈം'' എന്നും. പ്രോസ്തെറ്റിക് ഗ്രൂപ്പുകൾ സാധാരണഘതിയിൽ അകാർബണിക തന്മാത്രകളായിരിക്കും. ഒരു അപ്പോഎൻസൈമും ഒരു പ്രോസ്തെറ്റിക് ഗ്രൂപ്പും ചേർന്നതാണ് ഒരു ഹോളോഎൻസൈം. ഹോളോഎൻസൈമാണ് രാസഘടനയിൽ പരിപൂർ‌ണ്ണമായ രാസാഗ്നി. ഒരു സങ്കീർണ എൻസൈം വിഘടിക്കുമ്പോൾ ഈ രണ്ടു ഘടകങ്ങളും ലഭ്യമാകുന്നു. ഉദാഹരണമായി കരിംതവിട്ടുനിറത്തിലുള്ള കാറ്റലേസ് എന്ന സങ്കീർണ-എൻസൈം (അമ്ലാമാധ്യമത്തിൽ) വിഘടിക്കുമ്പോൾ നിറമില്ലാത്ത ഒരു പ്രോട്ടീനും അതായത് അപ്പൊ എൻസൈമും ഫെറി പ്രോട്ടോ പോർഫൈറിൻ (ferri protoporphyrin)<ref>{{Cite web |url=http://www.jci.org/articles/view/110302 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2012-10-20 |archive-date=2013-05-12 |archive-url=https://web.archive.org/web/20130512080801/http://www.jci.org/articles/view/110302 |url-status=dead }}</ref> എന്ന പ്രോസ്ഥറ്റിക് ഗ്രൂപ്പും കിട്ടുന്നു. അതുപോലെ കാർബോക്സിലേസ് എന്ന സങ്കീർണ-എൻസൈം വിഘടിച്ചാൽ ഒരു അപ്പൊ എൻസൈമും തയാമിൻ പൈറൊഫോസ്ഫേറ്റ് (thiamine pyrophosphate)<ref>http://www.uic.edu/classes/phar/phar332/Clinical_Cases/vitamin%20cases/thiamin/thiamin_pyrophosphate.htm</ref> എന്ന പ്രോസ്ഥറ്റിക് ഗ്രൂപ്പും ലഭിക്കുന്നതാണ്. അപ്പൊ എൻസൈമുകൾക്ക് ഒറ്റയ്ക്ക് എൻസൈമുകളുടെ പ്രവർത്തനം നടത്തുവാൻ സാധ്യമല്ല; പ്രോസ്ഥറ്റിക് ഗ്രൂപ്പിനോടു ചേർന്നു മാത്രമേ സാധ്യമാവുകയുള്ളു. == വർഗ്ഗീകരണം == ഉത്പാദിപ്പിക്കപ്പെടുന്ന [[കോശം|കോശത്തിനുള്ളിൽത്തന്നെ]] പ്രവർത്തിക്കുന്ന തരം രാസാഗ്നികളെ എൻഡോഎൻസൈമുകൾ എന്നും കോശത്തിനുപുറത്തേയ്ക്ക് സ്രവിക്കപ്പെടുകയും കോശബാഹ്യസ്ഥാനത്ത് പ്രവർത്തിക്കുകയും ചെയ്യുന്ന രാസാഗ്നികളെ എക്സോഎൻസൈമുകൾ എന്നും വിളിക്കുന്നു. ഒരു സാധാരണ കോശത്തിൽ 3000 ത്തോളം രാസാഗ്നികൾ കാണപ്പെടാം. പതിനായിരം മുതൽ ഒരുലക്ഷം വരെ കിലോ ഡാൾട്ടണാണ് ഇവയുടെ തൻമാത്രാഭാരം. === നാമകരണം === പ്രവർത്തിക്കുന്നത് ഏത് രാസവസ്തുവിന് പുറത്താണോ എന്നതിനെ അടിസ്ഥാനപ്പെടുത്തി ആ വസ്തുവിന്റെ പേരിനു മുന്നിൽ ase എന്ന് കൂട്ടിച്ചേർത്ത് രാസാഗ്നികൾക്ക് പേരുനൽകാം. ഉദാഹരണത്തിന് [[ലിപ്പിഡ്]] എന്ന [[കൊഴുപ്പ്|കൊഴുപ്പുകളിൽ]] പ്രവർത്തിക്കുന്ന രാസാഗ്നികളാണ് ലിപ്പേയ്സുകൾ. ഉറവിടത്തെ അടിസ്ഥാനമാക്കിയും പേരുനൽകുന്നു. [[പപ്പായ|കപ്പയ്ക്കയിൽ]] നിന്നെടുക്കുന്ന രാസാഗ്നിയാണ് പപ്പായിൻ.അടിസ്ഥാനഘടനയിൽ മാംസ്യങ്ങളാണെന്ന് കാണിക്കാൻ രാസാഗ്നിയുടെ പേരിനൊപ്പം in ചേർക്കുന്ന രീതിയുമുണ്ട്.(trypsin, pepsin) [[പോളിമർ|പോളിമെറൈസേഷനു]] സഹായിക്കുന്ന രാസാഗ്നികളെ പോളിമെറേയ്സുകൾ എന്നുവിളിക്കുന്നു.<ref>Objective Biology. Arihant Publications, 2009 Ed. Page- 109</ref> == അവലംബം == {{Reflist}} ==പുറംകണ്ണികൾ== *http://www.nature.com/nature/journal/v388/n6644/abs/388758a0.html *http://encyclopedia.farlex.com/Apoenzymes {{Webarchive|url=https://web.archive.org/web/20120107111534/http://encyclopedia.farlex.com/Apoenzymes |date=2012-01-07 }} *http://www.elmhurst.edu/~chm/vchembook/570enzymes.html {{Webarchive|url=https://web.archive.org/web/20050604003004/http://www.elmhurst.edu/~chm/vchembook/570enzymes.html |date=2005-06-04 }} {{biochem-stub}}{{സർവ്വവിജ്ഞാനകോശം|അപ്പൊഎ{{ൻ}}സൈമുക{{ൾ}}|അപ്പൊഎൻസൈമുകൾ}} [[വർഗ്ഗം:മെറ്റാബോളിസം]] [[വർഗ്ഗം:ഉത്പ്രേരകങ്ങൾ]] [[വർഗ്ഗം:രാസാഗ്നികൾ]] [[വർഗ്ഗം:ജൈവതന്മാത്രകൾ]] 25bjf9xxvjkgyhiosdo88mek0iuhz6r വിപ്രോ ടെക്നോളജീസ് 0 28560 4622159 4617120 2026-05-23T07:09:41Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622159 wikitext text/x-wiki {{prettyurl|Wipro Technologies}} {{Infobox_Company | company_name = വിപ്രോ ടെക്നോളജീസ് | company_type = പബ്ലിക് ([[NYSE]]: [http://www.nyse.com/about/listed/lcddata.html?ticker=WIT WIT]) | company_logo = [[ചിത്രം:WiproLogo.jpg|150px|വിപ്രോ കോർപ്പറേറ്റ് ലോഗോ]] | foundation = 1945 (സ്വാതന്ത്യത്തിനു മുമ്പ്) | location = {{flagicon|IND}} [[ബാംഗ്ലൂർ]] | key_people = [[അസിം പ്രേംജി]], ചെയർമാൻ &[[മാനേജിങ്ങ് ഡയരക്ടർ]] | num_employees = 97,891 സെപ്തംബർ ([[2009]]) പ്രകാരം <ref>{{cite web|url=http://www.wipro.com/corporate/investors/pdf-files/ifrs_pressrelease-Q2-FY09_10.pdf|title=wipro quarter results|accessdate=2009-10-29|archive-date=2010-01-14|archive-url=https://web.archive.org/web/20100114175756/http://wipro.com/corporate/investors/pdf-files/ifrs_pressrelease-Q2-FY09_10.pdf|url-status=dead}}</ref> | revenue = {{profit}}$3.47 billion [[United States dollar|USD]] | net_income = {{profit}}$677 million [[United States dollar|USD]] | industry = [[Information technology]] services | slogan = Applied Innovation | homepage = [http://www.wipro.com/ www.wipro.com] }} [[വിവരസാങ്കേതിക വിദ്യ|വിവരസാങ്കേതിക വിദ്യാ]] സർ‌വ്വീസ് രംഗത്ത് പ്രവർത്തിക്കുന്ന ഒരു [[ഇന്ത്യ|ഇന്ത്യൻ]] കമ്പനിയാണ്‌ [[1980]]-ൽ ആരംഭിച്ച '''വിപ്രോ ടെക്നോളജീസ്'''. ഇത് വിപ്രോ ലിമിറ്റഡിന്റെ ഗ്ലോബൽ ഐ.ടി സ‌ർ‌വീസസ് വിഭാഗമാണ്‌. [[ബാംഗ്ലൂർ]] ആസ്ഥാനമായ ഈ കമ്പനി ഇന്ത്യയിലെ മൂന്നാമത്തെ ഏറ്റവും വലിയ ഐ.ടി കമ്പനിയാണ്‌<ref>{{cite news | title=NASSCOM Announces Top-15 ITES-BPO Exporters Rankings for FY 06-07 | url=http://www.nasscom.in/Nasscom/templates/NormalPage.aspx?id=51802 | access-date=2008-05-29 | archive-date=2010-11-29 | archive-url=https://web.archive.org/web/20101129215535/http://nasscom.in/Nasscom/templates/NormalPage.aspx?id=51802 | url-status=dead }}</ref>. 2002-വിപ്രോ സ്വന്തമാക്കിയ ഒരു ബി.പി.ഒ. കമ്പനിയിലെ ഉദ്യോഗസ്ഥരടക്കം ഈ കമ്പനിക്ക് സെപ്തംബർ 2009 പ്രകാരം 97981 ജീവനക്കാർ ഉണ്ട്<ref>{{cite news | title=Wipro to hire more at the entry level | url=http://infotech.indiatimes.com/Wipro_to_hire_more_at_the_entry_level/articleshow/2201633.cms | publisher=Indiatimes | date=October 19, 2006 | accessdate=2007-04-11 | archive-date=2007-02-10 | archive-url=https://web.archive.org/web/20070210002151/http://infotech.indiatimes.com/Wipro_to_hire_more_at_the_entry_level/articleshow/2201633.cms | url-status=dead }}</ref><ref>{{cite web|url=http://www.wipro.com/corporate/investors/pdf-files/ifrs_pressrelease-Q2-FY09_10.pdf|title=wipro quarter results|accessdate=2009-10-29|archive-date=2010-01-14|archive-url=https://web.archive.org/web/20100114175756/http://wipro.com/corporate/investors/pdf-files/ifrs_pressrelease-Q2-FY09_10.pdf|url-status=dead}}</ref> . ഇപ്പോഴത്തെ ചെയർമാൻ [[അസിം പ്രേംജി|അസിം പ്രേംജിയുടെ]] പിതാവ് ഹാഷം പ്രേംജി [[1945]]-ൽ സ്ഥാപിച്ച [[വെസ്റ്റേൺ ഇന്ത്യാ വെജിറ്റെബിൾ പ്രോഡക്റ്റ്സ്]] എന്ന സസ്യ എണ്ണ കമ്പനിയിൽനിന്നാണ് ഇന്നത്തെ വിപ്രോയുടെ തുടക്കം. [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിലെ]] അമല്നീരിൽ സ്ഥാപിച്ച വനസ്പതി നിർമ്മാണ ഫാക്ടറിയിൽ നിന്നു തുടങ്ങിയ വിപ്രൊ പിന്നീട് പല മേഖലകളിലേക്കും പ്രവർത്തനം വ്യാപിപ്പിച്ചു. 1970കളുടെ അന്ത്യത്തിൽ വിപ്രോ ഐ.ടി മേഖലയിലേക്ക് പ്രവർത്തനങ്ങൾ വ്യാപിപ്പിച്ചു. ==നാഴികക്കല്ലുകൾ== * 1945 - [[വെസ്റ്റേൺ ഇന്ത്യാ വെജിറ്റെബിൾ പ്രോഡക്റ്റ്സ്]] എന്ന കമ്പനിയായ തുടക്കം<ref>{{cite web|url=http://www.wiproapplyingthoughtinschools.com/aboutwipro/our_journey.htm|title=Wipro - The Journey|publisher=Wipro|accessdate=2009-08-20|archive-date=2009-09-25|archive-url=https://web.archive.org/web/20090925084748/http://www.wiproapplyingthoughtinschools.com/aboutwipro/our_journey.htm|url-status=dead}}</ref> * 1947 - [[മഹാരാഷ്ട്ര|മഹാരാഷ്ട്രയിലെ]] അമല്നീരിൽ എണ്ണ മിൽ സ്ഥാപിച്ചു. * 1960 - അമൽനറിൽ അലക്കു സോപ്പ് 787 നിർമ്മാണം * 1970 - അമല്നീരിൽ വനസ്പതി നിർമ്മാണം * 1975 - വിൻട്രോൾ എന്ന പേരിൽ ബാംഗ്ലൂരിൽ എൻജിനീയറിങ്, ഹൈഡ്രോളിക് സിലിണ്ടർ നിർമ്മാണം(ഇപ്പോൾ വിപ്രോ ഫ്ലൂയിഡ് പവർ). * 1977 - വിപ്രോ പ്രോഡക്ട്സ് ലിമിറ്റഡ് എന്ന് പേര് മാറി. * 1980 - വിവരസാങ്കേതിക രംഗത്ത് പ്രവേശനം. * 1990 - വിപ്രോ-ജിഇ മെഡിക്കൽ സംവിധാനങ്ങളുടെ സംയോജനം * 1992 - ഗ്ലോബൽ ഐ.ടി സ‌ർ‌വീസസ് എന്നായി ആഗോള തലത്തിൽ * 1993 - ഓഫ്‌ഷോർ വികസനത്തിനുള്ള ബിസിനസ് ഇന്നൊവേഷൻ അവാർഡ്{{Citation needed|date=December 2008}} * 1995 - ISO 9001 ക്വാളിറ്റി സർട്ടിഫിക്കറ്റ് കിട്ടുന്നു<ref name="moneycontrol">{{cite web|url=http://www.moneycontrol.com/stocks/company_info/company_history.php?sc_did=W|title=Company History - Wipro|publisher=moneycontrol.com|accessdate=2008-12-31}}</ref>, മാച്ച്യൂർ പ്രോസസ്സിന്റെ ഭാഗമായി രണ്ട് തവണ സാക്ഷ്യപ്പെടുത്തി. * 1997 - വിപ്രോയ്ക്ക് SEI CMM ലെവൽ 3 സർട്ടിഫിക്കേഷൻ ലഭിക്കുന്നു, എന്റർപ്രൈസ് വൈഡ് പ്രോസസ്സുകൾ നിർവചിച്ചിരിക്കുന്നു{{Citation needed|date=December 2008}} **സിക്‌സ് സിഗ്മ സംരംഭത്തിന്റെ തുടക്കം, പ്രോജക്ട് തലത്തിൽ ആരംഭിച്ച വൈകല്യങ്ങൾ തടയുന്നതിനുള്ള നടപടികൾ.<ref>{{cite web |url=http://www.blonnet.com/2002/07/03/stories/2002070301500700.htm |title=Wipro betting on quality to compete |last=Phadnis |first=Chitra |date=July 2 |publisher=The Hindu Business Line |accessdate=2009-01-13 |archive-date=2005-05-04 |archive-url=https://web.archive.org/web/20050504022643/http://www.blonnet.com/2002/07/03/stories/2002070301500700.htm |url-status=dead }}</ref> * 1998 - Wipro first software services company in the world to get SEI CMM level 5 * 1999 - Wipro's market capitalization is the highest in India{{Citation needed|date=December 2008}} * 2000 - Start of the Six Sigma initiative, defects prevention practices initiated at project level. Wipro listed on New York Stock Exchange.<ref>{{cite web|url=http://www.wipro.com/news/faqs.htm|title=Wipro Faqs|access-date=2009-10-29|archive-date=2009-11-13|archive-url=https://web.archive.org/web/20091113141906/http://www.wipro.com/news/faqs.htm|url-status=dead}}</ref> * 2001 - First Indian company to achieve the "TL9000 certification" for industry specific quality standards{{Citation needed|date=December 2008}}. ** Wipro acquires American Management Systems’ global energy practice.{{Citation needed|date=December 2008}} ** Becomes world's first PCMM Level 5 company.<ref>{{cite web|url=http://www.blonnet.com/2002/11/02/stories/2002110200810705.htm|title=Wipro gets PCMM certification|publisher=The Hindu Business Line|accessdate=2009-01-13}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ** Premji established Azim Premji Foundation, a not-for-profit organization for elementary education. ** Wipro becomes only Indian company featured in Business Week’s 100 best-performing technology companies.{{Citation needed|date=December 2008}} * 2002 ** World’s first CMMi ver 1.1 Level 5 company.<ref>{{cite web|url=http://findarticles.com/p/articles/mi_m0EIN/is_/ai_86467158|title=Wipro Technologies is World's First CMMi Level 5 Ver 1.1 Organization|date=May 30, 2002|publisher=Business Wire|accessdate=2008-12-31|archiveurl=https://archive.today/20120709061429/http://findarticles.com/p/articles/mi_m0EIN/is_2002_May_30/ai_86467158/|archivedate=2012-07-09|url-status=live}}</ref> ** Wipro acquires Spectramind.<ref name="moneycontrol" /> ** Ranked the 7th software services company in the world by ''[[BusinessWeek]]'' (Infotech 100, November 2002){{Verify source|date=December 2008}}. * 2003 ** Wipro acquires Nervewire.<ref name="moneycontrol" /> ** Wipro Technologies Wins Prestigious IEEE Award for Software Process Excellence{{Citation needed|date=December 2008}} ** Wipro Technologies awarded prestigious ITSMA award for services marketing excellence{{Citation needed|date=December 2008}} ** Wipro wins the 2003 Asian Most Admired Knowledge Enterprise Award.{{Citation needed|date=December 2008}} * 2004 ** Crossed the $1 Billion mark in annualized revenues.{{Citation needed|date=December 2008}} ** Wipro launches India’s first RFID enabled apparel store{{Citation needed|date=December 2008}}. ** Wipro Technologies named Asian Most Admired Knowledge Enterprise second year in a row{{Citation needed|date=December 2008}}. ** IDC rates Wipro as the leader among worldwide offshore service providers<ref>{{cite web|url=http://timesofindia.indiatimes.com/articleshow/817254.cms|title=IDC rates Wipro as the leader|date=August 16, 2004|publisher=The Times of India|accessdate=2008-12-31}}</ref> * 2005 - Wipro acquires mPower to enter payments space{{Clarify me|date=January 2009}} and also acquires European System on Chip (SoC) design firm NewLogic * 2006 - Wipro acquires Enabler to enter Niche Retail market * 2008 - Wipro acquires Gallagher Financial Systems{{Citation needed|date=March 2009}} to enter mortgage loan origination space. * 2009 ** Wipro stops Connectivity IP and closes NewLogic Sophia-Antipolis R&D center<ref>{{cite web|url=http://wireless.leader.free.fr/index.php?Itemid=76|title=Wipro-NewLogic closes its site in France !|date=August 7, 2009|accessdate=2009-08-14}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. ** UK Based Finance Company Friends Provident outsources the Administrative work of major Corporate Pension Schemes.{{fact|Oct 2009}} == അവലംബം == <references/> {{Company-stub|Wipro Technologies}} [[വിഭാഗം:ഇന്ത്യൻ സോഫ്റ്റ്‌വെയർ കമ്പനികൾ]] [[വർഗ്ഗം:നാഷണൽ സ്റ്റോക്ക് എക്സ്ചേഞ്ചിൽ ലിസ്റ്റ് ചെയ്ത കമ്പനികൾ]] [[വർഗ്ഗം:ബോംബെ സ്റ്റോക്ക് എക്സ്ചേഞ്ചിൽ ലിസ്റ്റ് ചെയ്ത കമ്പനികൾ]] mbkwics3fynj8ibe11oqq1vsxh12bl3 റേ ടോംലിൻസൺ 0 29865 4621630 3789872 2026-05-22T21:37:58Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621630 wikitext text/x-wiki {{prettyurl|Ray Tomlinson}} {{Infobox person | name = റേ ടോംലിൻസൺ | image = Ray Tomlinson.jpg | alt = <!-- descriptive text for use by the blind and visually impaired's speech synthesis (text-to-speech) software --> | caption = ടോംലിൻസൺ 2004ൽ | birth_name = റെയ്മണ്ട് സാമുവൽ ടോംലിൻസൺ | birth_date = {{Birth date|1941|4|23}} | birth_place = [[Amsterdam (city), New York|Amsterdam]], [[New York]], U.S. | death_date = {{Death date and age|2016|3|5|1941|4|23}} | death_place = | nationality = അമേരിക്കൻ | other_names = | alma_mater = [[Massachusetts Institute of Technology]] | occupation = [[Computer programmer]], inventor, electrical engineer | years_active = | known_for = Invented the first [[email]] system | notable_works = }} '''റേ ടോംലിൻസൺ''' (ഏപ്രിൽ 23, 1941 – മാർച്ച് 5, 2016) ഇന്റർനെറ്റിനെ ജനകീയമാക്കിയതിൽ ഏറ്റവും പ്രധാനപ്പെട്ട പങ്കുവഹിച്ച [[ഇ-മെയിൽ|ഇ-മെയിലിന്റെ]] സ്രഷ്ടാവാണ് '''റെയ്മണ്ട് എസ് ടോംലിൻസൺ''' എന്ന റേ ടൊംലിൻസൺ.<ref>{{cite web|url=http://www.smh.com.au/technology/web-culture/email-pioneer-ray-tomlinson-dead-at-74-20160306-gnbspq.html|title=Email pioneer Ray Tomlinson dead at 74|work=The Sydney Morning Herald}}</ref><ref>{{cite web|url=https://arstechnica.com/business/2016/03/e-mail-inventor-ray-tomlinson-who-popularized-symbol-dies-at-74/|title=E-mail inventor Ray Tomlinson, who popularized @ symbol, dies at 74|work=Ars Technica}}</ref><ref>{{cite web|url=https://abcnews.go.com/Technology/wireStory/inventor-modern-email-ray-tomlinson-dies-37446206|title=Inventor of Modern Email, Ray Tomlinson, Dies|author=ABC News|work=ABC News}}</ref><ref>{{cite web|url=http://www.chip.de/news/E-Mail-Pionier-ist-tot-Rest-Peace-Ray-Tomlinson_90640588.html|title=E-Mail-Pionier ist tot: Rest @ Peace, Ray Tomlinson|author=Claudio Müller|date=7 March 2016|work=CHIP Online}}</ref> ഇ-മെയിലിന്റെ അത്രയും ജനകീയമായ മറ്റൊരു ഇന്റർനെറ്റ് സേവനം വേറേ ഇല്ല എന്ന് പറയാം. ടെനെക്സ്(TENEX) ഓപ്പറേറ്റിംഗ് സിസ്റ്റം വികസിപ്പിക്കുന്നതിലും [[ടെൽനെറ്റ്]] സ്ഥാപിക്കുന്നതിനും ടോം ലിൻസൺ പ്രധാന പങ്ക് വഹിച്ചു. കമ്പ്യൂട്ടറുകളേയും നെറ്റ്‌വർക്കുകളെയും മനുഷ്യരാശിക്ക് പ്രയോജനപ്രദമാക്കാനുള്ള ഗവേഷണങ്ങൾ അദ്ദേഹം നടത്തി. 1971-ൽ ഇൻറർനെറ്റിന്റെ മുൻഗാമിയായ [[അർപ്പാനെറ്റ്]](ARPANET)സിസ്റ്റത്തിൽ ആദ്യത്തെ ഇമെയിൽ പ്രോഗ്രാം നടപ്പിലാക്കിയ കമ്പ്യൂട്ടർ പ്രോഗ്രാമറാണ് അദ്ദേഹം;<ref>{{cite web|url=https://www.theguardian.com/technology/2016/mar/07/ray-tomlinson-email-inventor-and-selector-of-symbol-dies-aged-74|title=Ray Tomlinson, email inventor and selector of @ symbol, dies aged 74|work=the Guardian}}</ref><ref>{{cite web|url=https://www.theverge.com/2016/3/6/11168718/ray-tomlinson-dead-inventor-of-email-obituary|title=Inventor of email and savior of the @ sign, Ray Tomlinson, is dead at 74|author=Dante D'Orazio|date=6 March 2016|publisher=Vox Media|work=The Verge}}</ref><ref>{{cite web|url=https://www.npr.org/2016/03/06/469428062/ray-tomlinson-inventor-of-modern-email-has-died|title=Ray Tomlinson, Inventor Of Modern Email, Dies|date=6 March 2016|work=NPR.org}}</ref><ref>{{cite web|url=https://www.bbc.com/news/business-35741116|title=Email inventor Ray Tomlinson dies at 74|work=BBC News}}</ref> കണക്റ്റുചെയ്‌തിരിക്കുന്ന വിവിധ ഹോസ്റ്റുകളിൽ ഉപയോക്താക്കൾക്കിടയിൽ മെയിൽ അയയ്‌ക്കാൻ കഴിയുന്ന ആദ്യത്തെ സംവിധാനമാണിത്. മുമ്പ്, ഒരേ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുന്നവർക്ക് മാത്രമേ മെയിൽ അയയ്ക്കാൻ കഴിയൂ. ഇത് നേടുന്നതിനായി, ഉപയോക്തൃ നാമം അവരുടെ മെഷീന്റെ പേരിൽ നിന്ന് വേർതിരിക്കുന്നതിന് വേണ്ടി @ ചിഹ്നം ഉപയോഗിച്ചു, ഈ സ്കീം അന്നുമുതൽ ഇമെയിൽ വിലാസങ്ങളിൽ ഉപയോഗിച്ചുവരുന്നു.<ref>{{cite web|url=http://openmap.bbn.com/~tomlinso/ray/firstemailframe.html|title=The First Network Email|author1=Ray Tomlinson|access-date=2022-08-06|archive-date=2006-05-06|archive-url=https://web.archive.org/web/20060506003539/http://openmap.bbn.com/~tomlinso/ray/firstemailframe.html|url-status=dead}}</ref> ഇന്റർനെറ്റ് ഹാൾ ഓഫ് ഫെയിം അദ്ദേഹത്തിന്റെ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള വിവരണത്തിൽ "ടോംലിൻസന്റെ ഇമെയിൽ പ്രോഗ്രാം ഒരു സമ്പൂർണ്ണ വിപ്ലവം സൃഷ്ടിച്ചു, ആളുകളുടെ ആശയവിനിമയ രീതിയെ അടിസ്ഥാനപരമായി മാറ്റിമറിച്ചു".<ref>{{cite web|url=https://www.rpi.edu/news/alumni_classnotes/winter12-13/tomlinson.html|title=Alumni/ae Notes - Rensselaer Polytechnic Institute (RPI)}}</ref> [[HTTP|എച്ച്ടിടിപിക്കും]] മറ്റ് പല പ്രധാന ഇന്റർനെറ്റ് പ്രോട്ടോക്കോളുകൾക്കും അടിവരയിടുന്ന [[TCP|ടിസിപി]] ത്രീ-വേ ഹാൻഡ്‌ഷേക്ക് <ref>[[Vint Cerf|Cerf, Vinton]]; [[Yogen Dalal|Dalal, Yogen]]; Sunshine, Carl (December 1974), {{IETF RFC|675}}, ''Specification of Internet Transmission Control Protocol''</ref> കണ്ടുപിടിച്ചതിന്റെ ബഹുമതി അദ്ദേഹത്തിനുണ്ട്. ==ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും== ന്യൂയോർക്കിലെ ആംസ്റ്റർഡാമിലാണ് ടോംലിൻസൺ ജനിച്ചത്, എന്നാൽ അദ്ദേഹത്തിന്റെ കുടുംബം ന്യൂയോർക്കിലെ ബ്രോഡാൽബിനിലുള്ള വെയിൽ മിൽസ് എന്ന ചെറിയ ഗ്രാമത്തിലേക്ക് മാറിത്താമസിച്ചു.<ref name="New York Times">{{cite news |last=Grimes |first=William |url=https://www.nytimes.com/2016/03/08/technology/raymond-tomlinson-email-obituary.html |title=Raymond Tomlinson, Who Put the @ Sign in Email, Is Dead at 74 |work=[[The New York Times]] |date=March 7, 2016 }}</ref><ref>{{cite news|last1=Subik|first1=Jason|title=Broadalbin native put the @ in your e-mail address|url=http://www.dailygazette.com/news/2010/oct/17/1017_emailinventor/|access-date=4 April 2016|work=The Daily Gazette|date=17 October 2010|location=Schenectady, NY}}</ref> ന്യൂയോർക്കിലെ ബ്രോഡാൽബിനിലെ ബ്രോഡാൽബിൻ സെൻട്രൽ സ്കൂളിൽ അദ്ദേഹം പഠിച്ചു.<ref>{{cite news |last=Varghese |first=Sam |url=http://www.itwire.com/business-it-news/networking/71752-email-inventor-ray-tomlinson-dead-at-74.html |title=Email inventor Ray Tomlinson dead at 74 |work=iTWire |date=March 7, 2016 |access-date=2022-08-07 |archive-date=2021-02-28 |archive-url=https://web.archive.org/web/20210228231223/https://www.itwire.com/business-it-news/networking/71752-email-inventor-ray-tomlinson-dead-at-74.html |url-status=dead }}</ref> പിന്നീട് ന്യൂയോർക്കിലെ ട്രോയിയിലുള്ള റെൻസെലേർ പോളിടെക്‌നിക് ഇൻസ്റ്റിറ്റ്യൂട്ടിൽ (ആർ‌പി‌ഐ) ചേർന്നു, അവിടെ അദ്ദേഹം ഐ‌ബി‌എമ്മിനൊപ്പം കോ-ഓപ്പ് പ്രോഗ്രാമിൽ പങ്കെടുത്തു. 1963-ൽ ആർപിഐയിൽ നിന്ന് ഇലക്ട്രിക്കൽ എഞ്ചിനീയറിംഗിൽ ബിരുദം നേടി. ആർപിഐയിൽ നിന്ന് ബിരുദം നേടിയ ശേഷം, ഇലക്ട്രിക്കൽ എഞ്ചിനീയറിംഗ് വിദ്യാഭ്യാസം തുടരുന്നതിനായി അദ്ദേഹം [[MIT|മസാച്യുസെറ്റ്സ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ടെക്നോളജിയിൽ]] (എംഐടി) പ്രവേശിച്ചു. എംഐടിയിൽ, ടോംലിൻസൺ സ്പീച്ച് കമ്മ്യൂണിക്കേഷൻ ഗ്രൂപ്പിൽ ജോലി ചെയ്യുകയും ഇലക്ട്രിക്കൽ എഞ്ചിനീയറിംഗിൽ ബിരുദാനന്തര ബിരുദത്തിനുള്ള തന്റെ തീസിസിന്റെ വിഷയമായി അനലോഗ്-ഡിജിറ്റൽ ഹൈബ്രിഡ് സ്പീച്ച് സിന്തസൈസർ വികസിപ്പിച്ചെടുക്കുകയും ചെയ്തു, 1965-ൽ അദ്ദേഹത്തിന് ബിരുദാനന്തര ബിരുദം ലഭിച്ചു.<ref name="New York Times" /> == ഇവയും കാണുക == * [[വിവരസാങ്കേതികരംഗത്തെ പ്രശസ്തരുടെ പട്ടിക]] ==അവലംബം== {{reflist}} [[വർഗ്ഗം:വിവരസാങ്കേതികവിദ്യാവിദഗ്ദ്ധർ]] [[വർഗ്ഗം:1941-ൽ ജനിച്ചവർ]] {{Bio-stub|Ray Tomlinson}} nrvhyr7vxauypu43zpkgi0fjx1uzenp മൈഥിലി ഭാഷ 0 29872 4621574 4612320 2026-05-22T14:39:51Z InternetArchiveBot 146798 Rescuing 5 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621574 wikitext text/x-wiki {{prettyurl|Maithili}} {{വിവക്ഷ|മൈഥിലി}} {{Infobox language | name = {{center|മൈഥിലി}} | nativename =<span style="font-size:100%;line-height:2.65;">{{center|{{huge|{{lang|mai-Tirh|𑒧𑒻𑒟𑒱𑒪𑒲}}}}}}{{center|{{lang|mai-Kthi|𑂧𑂶𑂟𑂱𑂪𑂲}} • <small>{{lang|mai|{{script|Deva|मैथिली}}}}}}</small></span> | pronunciation = {{IPA|mai|ˈməi̯tʰɪliː|}} | image = [[File:Maithili in Mithilakshar.svg|200px|center]] | imagesize = | imagecaption = <small>[[തിർഹുത ലിപി|തിർഹുത]] ലിപിയിൽ മൈഥിലി</small> | imagescale = | states = [[ഇന്ത്യ]], [[നേപ്പാൾ]] | nation = *{{flag|ഇന്ത്യ}} ** [[ഝാർഖണ്ഡ്]]<ref>{{cite news |title=झारखंड : रघुवर सरकार कैबिनेट से मगही, भोजपुरी, मैथिली व अंगिका को द्वितीय भाषा का दर्जा |url=https://www.prabhatkhabar.com/news/ranchi/jharkhand-raghubar-das-cabinet-decision-maithili-bhojpuri-angika-magahi-second-language/1135878.html |url-status=dead |archive-url=https://web.archive.org/web/20180321180643/https://www.prabhatkhabar.com/news/ranchi/jharkhand-raghubar-das-cabinet-decision-maithili-bhojpuri-angika-magahi-second-language/1135878.html |archive-date=21 March 2018 |work=[[Prabhat Khabar]] |date=21 March 2018 |access-date=21 March 2018}}</ref> (അധിക പദവി) *{{flag|നേപ്പാൾ}} ** [[കോശി പ്രവിശ്യ]] ** [[മധേശ് പ്രവിശ്യ]] | region = [[മിഥില (പ്രദേശം)|മിഥില]]<ref>{{cite journal |last=Thakur |first=R. K. |date=2022|title=Historical Geography of Early Medieval Mithila: From Videha to Tirhut |journal=International Journal of Humanities, Law and Social Sciences |volume=8 |issue=2 |pages=715–722 |url=https://www.researchgate.net/publication/358928538}}</ref> | ethnicity = [[മൈഥിലി ജനത|മൈഥിലികൾ]] | speakers = {{sigfig|16.720000|2}} ദശലക്ഷം | date = 2011–2021 | ref = <ref>{{E28|mai}}</ref> | map = [[File:Maithili_map.png|300px|center]] | familycolor = [[ഇന്തോ-യുറോപ്യൻ ഭാഷകൾ|ഇന്തോ-യുറോപ്യൻ]] | fam2 = [[ഇന്തോ-ഇറാനിയൻ ഭാഷകൾ|ഇന്തോ-ഇറാനിയൻ]] | fam3 = [[ഇന്തോ-ആര്യൻ ഭാഷകൾ|ഇന്തോ-ആര്യൻ]] | fam4 = [[കിഴക്കൻ ഇന്തോ-ആര്യൻ ഭാഷകൾ|കിഴക്കൻ ഇന്തോ-ആര്യൻ]] | fam5 = [[ബിഹാറി ഭാഷകൾ|ബിഹാറി]] | ancestor = [[മാഗധി പ്രാകൃതം]] | ancestor2 = മാഗധി [[അപഭ്രംശം]] | ancestor3 = [[അവഹത്ത്]] | dia1 = [[ഥേഠി]]-മൈഥിലി | script = *[[തിർഹുത ലിപി|തിർഹുത]] <small>(ചരിത്രപരവും മാതൃലിപിയും)</small> *[[ദേവനാഗരി ലിപി|ദേവനാഗരി]] <small>(ഔദ്യോഗികം)</small> *[[നേവാരി ലിപി|നേവാരി]]<ref>{{citation|url=http://lisindia.ciil.org/Maithili/Maith_script.html|title=Maithili Script and Spelling - LIS-India|publisher=Central Institute of Indian Languages|website=ciil.org/|access-date=2026-04-04|archive-date=2025-01-24|archive-url=https://web.archive.org/web/20250124182638/http://lisindia.ciil.org/Maithili/Maith_Script.html|url-status=dead}}</ref> <small>(ചരിത്രപരം)</small> *[[കൈത്തി ലിപി|കൈത്തി]]<ref>{{citation|url=http://lisindia.ciil.org/Maithili/Maith_script.html|title=Maithili Script and Spelling - LIS-India|publisher=Central Institute of Indian Languages|website=ciil.org/|access-date=2026-04-04|archive-date=2025-01-24|archive-url=https://web.archive.org/web/20250124182638/http://lisindia.ciil.org/Maithili/Maith_Script.html|url-status=dead}}</ref> <small>(ചരിത്രപരം)</small> | iso2 = mai | iso3 = mai | glotto = mait1250 | glottorefname = Maithili | agency = [[സാഹിത്യ അക്കാദമി]], മൈഥിലി അക്കാദമി, മൈഥിലി-ഭോജ്പുരി അക്കാദമി ഡൽഹി, നേപ്പാൾ അക്കാദമി | mapcaption = ഇന്ത്യയിലും നേപ്പാളിലുമായി മൈഥിലി സംസാരിക്കുന്ന പ്രദേശങ്ങൾ | dia2 = [[കിഴക്കൻ മൈഥിലി]] | dia3 = [[അംഗിക ഭാഷ|അംഗിക]]-മൈഥിലി (തെക്കൻ സ്റ്റാൻഡേർഡ് മൈഥിലി എന്നും അറിയപ്പെടുന്നു) | dia4 = [[ബജ്ജിക]]-മൈഥിലി | dia5 = സോതിപുര-മൈഥിലി | dia6 = സാധ്യതയുള്ളത്: [[കൊചില ഥാരു]]<ref name="Driem2022"/> | notice = IPA }} {{Contains special characters|Tirhuta}} [[ഇന്ത്യ|ഇന്ത്യയിലെയും]] [[നേപ്പാൾ|നേപ്പാളിലെയും]] ചില ഭാഗങ്ങളിൽ സംസാരിക്കുന്ന ഒരു [[ഇന്തോ-ആര്യൻ ഭാഷകൾ|ഇന്തോ-ആര്യൻ ഭാഷയാണ്]] '''മൈഥിലി''' (<small>[[തിർഹുത ലിപി|തിർഹുത:]]</small> {{lang|mai-Tirh|𑒧𑒻𑒟𑒱𑒪𑒲}}, {{IPA|mai|ˈməi̯tʰɪliː|lang}}). കിഴക്കൻ ഇന്ത്യൻ സംസ്ഥാനങ്ങളായ [[ബിഹാർ|ബിഹാറിലെയും]] [[ഝാർഖണ്ഡ്|ഝാർഖണ്ഡിലെയും]] നേപ്പാളിലെ [[കോശി പ്രവിശ്യ|കോശി]], [[മധേശ് പ്രവിശ്യ]] എന്നിവിടങ്ങളിലെയും ചില ഭാഗങ്ങൾ ഉൾപ്പെടുന്ന [[മിഥില (പ്രദേശം)|മിഥിലാ പ്രദേശമാണ്]] ഈ ഭാഷയുടെ ജന്മദേശം. ഇന്ത്യയിലെ 22 ഔദ്യോഗിക [[ഇന്ത്യയിലെ ഔദ്യോഗിക ഭാഷകൾ|ഷെഡ്യൂൾഡ് ഭാഷകളിൽ]] ഒന്നാണിത്.<ref name="mha.nic.in">{{Cite web |title=Constitutional provisions relating to Eighth Schedule |url=http://mha.nic.in/hindi/sites/upload_files/mhahindi/files/pdf/Eighth_Schedule.pdf |url-status=dead |archive-url=https://web.archive.org/web/20160305010536/http://mha.nic.in/hindi/sites/upload_files/mhahindi/files/pdf/Eighth_Schedule.pdf |archive-date=5 March 2016 |access-date=27 June 2018}}</ref><ref name="script experts meet">{{cite news |date=21 March 2018 |title=मैथिली लिपि को बढ़ावा देने के लिए विशेषज्ञों की जल्द ही बैठक बुला सकते हैं प्रकाश जावड़ेकर |url=https://khabar.ndtv.com/news/india/prakash-javadekar-likely-to-call-meeting-of-experts-to-promote-maithili-script-1826774 |url-status=dead |archive-url=https://web.archive.org/web/20180321192835/https://khabar.ndtv.com/news/india/prakash-javadekar-likely-to-call-meeting-of-experts-to-promote-maithili-script-1826774 |trans-title= Prakash Javadekar likely to call meeting of experts to promote Maithili script |archive-date=21 March 2018 |access-date=21 March 2018 |work=NDTV News |language=hi}}</ref><ref name="m.livehindustan.com">{{Cite web |date=6 March 2018 |title=मैथिली को भी मिलेगा दूसरी राजभाषा का दर्जा |url=https://www.livehindustan.com/jharkhand/story-maithili-will-get-second-state-language-status-in-jharkhand-1835624.html |access-date=3 January 2020 |website=Hindustan}}</ref> നേപ്പാളിൽ ഏറ്റവും കൂടുതൽ ആളുകൾ സംസാരിക്കുന്ന രണ്ടാമത്തെ മാതൃഭാഷയായ ഇത്, രാജ്യത്തെ പതിനാല് പ്രവിശ്യാ ഔദ്യോഗിക ഭാഷകളിൽ ഒന്നായി ഭരണഘടനാപരമായി അംഗീകരിക്കപ്പെട്ടിട്ടുണ്ട്.{{sfnp|National Statistics Office|2023|p=32}}<ref name= "e27">{{E28|mai}}</ref><ref name="Sah2013">{{Cite journal |last=Sah, K. K. |year=2013 |title=Some perspectives on Maithili |journal=Nepalese Linguistics |issue=28 |pages=179–188}}</ref><ref name="langcomreport"/> ലോകമെമ്പാടുമായി ഏകദേശം 1.7 കോടി ആളുകൾ മൈഥിലി സംസാരിക്കുന്നുണ്ട്. ഇതിൽ 32 ലക്ഷം പേർ [[നേപ്പാളി ജനത|നേപ്പാളികളാണ്]].<ref name=e27/> പ്രധാനമായും [[ദേവനാഗരി ലിപി|ദേവനാഗരി ലിപിയിലാണ്]] ഈ ഭാഷ എഴുതുന്നത് എങ്കിലും, ചരിത്രപരമായ [[തിർഹുത ലിപി|തിർഹുത]], [[കൈഥി ലിപി|കൈഥി]] ലിപികൾ ഇന്നും ചിലയിടങ്ങളിൽ ഉപയോഗിച്ചുവരുന്നു.<ref>{{Cite web |title=Maithili Script and Spelling |url=http://lisindia.ciil.org/Maithili/Maith_Script.html |access-date=17 December 2024 |website=lisindia.ciil.org |archive-date=2025-01-24 |archive-url=https://web.archive.org/web/20250124182638/http://lisindia.ciil.org/Maithili/Maith_Script.html |url-status=dead }}</ref> == പദോൽപ്പത്തി == പുരാതന ഇന്ത്യൻ ഇതിഹാസമായ [[രാമായണം|രാമായണത്തിൽ]] പരാമർശിക്കപ്പെടുന്ന [[മിഥില (പുരാതന രാജ്യം)|മിഥിലാ]] രാജ്യവുമായി ബന്ധപ്പെട്ടാണ് ഈ ഭാഷയ്ക്ക് 'മൈഥിലി' എന്ന പേരുലഭിച്ചത്. [[ജനക മഹാരാജാവ്|ജനക മഹാരാജാവ്]] ഭരിച്ചിരുന്ന ഈ പ്രദേശത്ത് സംസാരിച്ചിരുന്ന ഭാഷയെന്ന നിലയിലാണ് ഇതിന് മൈഥിലി (മിഥിലയിലെ ഭാഷ) എന്ന പേരുവന്നത്. കൂടാതെ, മിഥിലാ രാജാവായ ജനകന്റെ പുത്രിയായ [[സീത|സീതാദേവിയുടെ]] മറ്റൊരു പേരും മൈഥിലി എന്നാണ്.<ref name="Pauwels2007">{{Cite book |last=Pauwels |first=Heidi R. M. |title=Indian Literature and Popular Cinema: Spoofing in Modern India |year=2007 |publisher=Routledge |isbn=978-0-415-44741-6 |page=190}}</ref> പ്രാചീനകാലത്ത് ഈ ഭാഷയ്ക്ക് മൈഥിലി എന്നതിന് പുറമെ മറ്റ് പല പേരുകളും ഉപയോഗിച്ചിരുന്നു. 'തിർഹുത്' പ്രദേശത്ത് സംസാരിച്ചിരുന്ന ഭാഷയായതിനാൽ പത്തൊൻപതാം നൂറ്റാണ്ടിലെ രേഖകളിൽ ഇതിനെ 'തിർഹുതിയ' (Tirhutiya) എന്ന് വിശേഷിപ്പിച്ചിട്ടുണ്ട്.<ref name=":1" /> അതുപോലെ ഗ്രാമീണ മേഖലകളിലെ തദ്ദേശീയരായ ജനങ്ങൾ തങ്ങളുടെ മാതൃഭാഷയെ സൂചിപ്പിക്കാൻ 'ദേഹാതി' (നാടൻ ഭാഷ) എന്ന പേരും ഉപയോഗിച്ചിരുന്നു. == ഭാഷാചരിത്രം == [[ജനക മഹാരാജാവ്|ജനകൻ]] ഭരിച്ചിരുന്ന പുരാതന രാജ്യമായ [[മിഥില (പുരാതന രാജ്യം)|മിഥിലയിൽ]] നിന്നാണ് മൈഥിലി എന്ന പേരുണ്ടായത്. ജനകൻ്റെ പുത്രിയും [[ശ്രീരാമൻ|രാമൻ്റെ]] പത്നിയുമായ [[സീത|സീതയുടെ]] മറ്റൊരു പേര് കൂടിയാണ് മൈഥിലി.<ref name=Pauwels2007 /> എ.ഡി. 700-നും 1300-നും ഇടയിൽ രചിക്കപ്പെട്ട ബുദ്ധമത ഗ്രന്ഥങ്ങളായ '[[ചര്യപദങ്ങൾ|ചര്യപദങ്ങളിൽ]]' നിന്നാണ് മൈഥിലി ഭാഷയുടെയും സാഹിത്യത്തിൻ്റെയും തുടക്കം കണ്ടെത്താനാകുന്നത്. ഈ പദങ്ങൾ രചിച്ചവരിൽ പലരും മിഥിലാ പ്രദേശത്ത് നിന്നുള്ളവരായിരുന്നു. രാഹുൽ സാംകൃത്യായൻ, സുഭദ്ര ഝാ തുടങ്ങിയ പണ്ഡിതർ ചര്യപദങ്ങളിലെ ഭാഷയിൽ പുരാതന മൈഥിലിയുടെ സ്വാധീനം കണ്ടെത്തിയിട്ടുണ്ട്.<ref>{{Cite book |last=Mishra |first=J. |url=http://archive.org/details/in.ernet.dli.2015.135722 |title=A History Of Maithili Literature |date=1949 |volume=1}}</ref> ഇതിനുപുറമെ, മിഥിലാ പ്രദേശത്ത് സമ്പന്നമായ ഒരു നാടോടി സംസ്കാരവും പാട്ടുകളും നിലനിന്നിരുന്നു.<ref>{{Cite web |last1=Singh |first1=Chandra Shamsher Bahadur |title=Madhubani Paintings: People's Living Cultural Heritage |url=https://www.worldhistory.org/article/1527/madhubani-paintings-peoples-living-cultural-herita/ |access-date=19 November 2020 |website=[[World History Encyclopedia]] |date=23 March 2020 }}</ref> പതിനാലാം നൂറ്റാണ്ടിൽ കർണാട്ട് രാജവംശത്തിൻ്റെ കാലത്താണ് മൈഥിലി സാഹിത്യത്തിന് വലിയ പ്രോത്സാഹനം ലഭിച്ചത്. ഈ കാലഘട്ടത്തിൽ (ഏകദേശം എ.ഡി. 1327) ജ്യോതിരീശ്വർ താക്കൂർ മൈഥിലി ഗദ്യത്തിൽ രചിച്ച 'വർണ്ണ രത്നാകരം' എന്ന കൃതി ശ്രദ്ധേയമാണ്.<ref>{{Cite book |last=Chatterji, S. K. |title=Varna Ratnakara Of Jyotirisvara Kavisekharacarya |date=1940 |publisher= |place= |url=http://archive.org/details/in.ernet.dli.2015.283961}}</ref> തിർഹുത ലിപിയിൽ രചിക്കപ്പെട്ട ഈ കൃതി, മൈഥിലിയിലെ മാത്രമല്ല ആധുനിക ഇന്ത്യൻ ഭാഷകളിലെ തന്നെ ആദ്യത്തെ ഗദ്യകൃതിയായി കണക്കാക്കപ്പെടുന്നു.<ref name="Yadav1979"/><ref name="Maithili literature">{{Cite book |title=Reading Asia : new research in Asian studies |date=2001 |publisher=Curzon |isbn=0700713719 |location=Richmond, Surrey |oclc=48560711}}</ref> പിന്നീട് വിദ്യാപതി എന്ന പ്രശസ്ത കവി [[രാധാകൃഷ്ണന്മാർ|രാധാകൃഷ്ണന്മാരുടെ]] പ്രണയത്തെയും [[ശിവൻ|ശിവ]]-[[പാർവ്വതി|പാർവ്വതിമാരുടെ]] ജീവിതത്തെയും മുൻനിർത്തി ആയിരക്കണക്കിന് അനശ്വര ഗാനങ്ങൾ മൈഥിലിയിൽ രചിച്ചു. അദ്ദേഹത്തിൻ്റെ പ്രണയഗാനങ്ങൾ വളരെ വേഗം പ്രചരിക്കുകയും [[ചൈതന്യ മഹാപ്രഭു|ചൈതന്യ മഹാപ്രഭുവിനെപ്പോലുള്ളവരെ]] സ്വാധീനിക്കുകയും ചെയ്തു. ഈ ഗാനങ്ങൾ ബംഗാളിലെ വൈഷ്ണവ സാഹിത്യത്തിന് വലിയ പ്രചോദനമായി. [[രവീന്ദ്രനാഥ ടാഗോർ|രവീന്ദ്രനാഥ ടാഗോർ]] തൻ്റെ ചെറുപ്പകാലത്ത് ഭാനുസിംഹ എന്ന തൂലികാനാമത്തിൽ വിദ്യാപതിയുടെ ശൈലി അനുകരിച്ച് കവിതകൾ രചിച്ചിട്ടുണ്ട്. ഈ സാംസ്കാരിക വിനിമയം ബംഗാളിൽ [[ബ്രജബുലി]] പോലുള്ള പുതിയ കൃത്രിമ കാവ്യഭാഷകൾ രൂപപ്പെടാൻ കാരണമായി.<ref name="Majumdar1960">{{Cite book |title=The History and Culture of the Indian People |date=1960 |publisher=Bharatiya Vidya Bhavan |editor-last=Majumdar |editor-first=Ramesh Chandra |editor-link=R. C. Majumdar |volume=VI: The Delhi Sultanate |location=Bombay |page=515 |quote="During the sixteenth century, a form of an artificial literary language became established ... It was the ''Brajabulī'' dialect ... ''Brajabulī'' is practically the Maithilī speech as current in Mithilā, modified in its forms to look like Bengali." |editor-last2=Pusalker |editor-first2=A. D. |editor-last3=Majumdar |editor-first3=A. K.}}</ref><ref name="Banglapedia-Brajabuli">{{Cite book |last=Morshed |first=A. K. M. |title=Banglapedia: National Encyclopedia of Bangladesh |publisher=[[Asiatic Society of Bangladesh]] |year=2012 |editor-last=Islam |editor-first=Sirajul |editor-link=Sirajul Islam |edition=Second |chapter=Brajabuli |editor-last2=Jamal |editor-first2=A. A. |chapter-url=http://en.banglapedia.org/index.php?title=Brajabuli}}</ref><ref>{{Cite book |last=Masica |first=Colin P. |url=https://books.google.com/books?id=J3RSHWePhXwC |title=The Indo-Aryan Languages |date=9 September 1993 |publisher=Cambridge University Press |isbn=978-0-521-29944-2 |pages=58 |language=en}}</ref> 1771-ൽ പ്രസിദ്ധീകരിച്ച ഒരു ഗ്രന്ഥത്തിലാണ് മൈഥിലി അഥവാ തിർഹുതിയ ഭാഷയെക്കുറിച്ചുള്ള ആദ്യത്തെ പാശ്ചാത്യ പരാമർശം കാണുന്നത്.<ref name="Tourutiana">{{Cite book |last=Clementi Ded. St. Borgiae |first=XIV. Praef. J. Chr. Amadutii |url=https://books.google.com/books?id=1Djfl_uZqLAC |title=Alphabetum Brammhanicum Seu Indostanum Universitatis Kasi |publisher=Palala Press |year=1771 |isbn=9781173019655 |pages=viii |language=la}}</ref> 1801-ൽ കോൾബ്രൂക്ക് എഴുതിയ ലേഖനത്തിലാണ് ഇതിനെ ഒരു പ്രത്യേക ഉപഭാഷയായി ആദ്യമായി വിശേഷിപ്പിച്ചത്.<ref name="Colebrooke's">{{Cite book |last=Colebrooke |first=T. H. |url=https://books.google.com/books?id=DToCAAAAQAAJ&pg=PA1 |title=Miscellaneous essays. With life of the author by his son Sir T.E. Colebrooke, Volume 3 |year=1873 |isbn=9781145371071 |pages=26}}</ref> പതിനേഴാം നൂറ്റാണ്ടിൽ വിദ്യാപതി, ഗോവിന്ദദാസ് തുടങ്ങിയ വൈഷ്ണവ സന്യാസിമാർ നിരവധി ഭക്തിഗാനങ്ങൾ രചിച്ചു. മാപതി ഉപാധ്യായയുടെ 'പാരിജാതഹരണം' എന്ന നാടകം ഏറെ ജനപ്രീതി നേടി. 1575-നും 1660-നും ഇടയിൽ ലോചനൻ സംഗീതശാസ്ത്രത്തെക്കുറിച്ച് രചിച്ച 'രാഗതരംഗിണി' മിഥിലയിലെ രാഗങ്ങളെയും താളങ്ങളെയും കുറിച്ച് പ്രതിപാദിക്കുന്ന ഒരു പ്രധാന കൃതിയാണ്.<ref>{{cite book |last=Mishra |first=Amar Kant |url=https://books.google.com/books?id=ZHp7DwAAQBAJ |title=Ruling Dynasty Of Mithila: Dr.Sir Kameswar Singh |date=23 November 2018 |publisher=Notion Press |isbn=978-1-64429-762-9 |language=en}}</ref> പതിനാറും പതിനേഴും നൂറ്റാണ്ടുകളിൽ നേപ്പാളിലെ മല്ല രാജവംശത്തിൻ്റെ ഭരണകാലത്ത് മൈഥിലി വ്യാപകമായി പ്രചരിച്ചു.<ref>{{cite book |author=Ayyappappanikkar, K. |url=https://books.google.com/books?id=9sljAAAAMAAJ |title=Medieval Indian literature: an anthology |volume=3 |publisher=Sahitya Akademi |date=1999 |isbn=9788126007882 |pages=69 |access-date=19 February 2017 |archive-url=https://web.archive.org/web/20170219172743/https://books.google.co.uk/books?id=9sljAAAAMAAJ&hl=en&sa=X&ved=0ahUKEwj-ra3n8JrSAhVDC8AKHa4dDGsQ6AEIHzAB |archive-date=19 February 2017 |url-status=live}}</ref><ref>{{Cite book |last1=Gellner |first1=D. |title=Nationalism and Ethnicity in a Hindu Kingdom: The Politics and Culture of |last2=Pfaff-Czarnecka |first2=J. |last3=Whelpton |first3=J. |date=2012 |isbn=9781136649561 |pages=243 |publisher=Routledge |url=https://books.google.com/books?id=n4FQMEiZcrIC&pg=PA243 |access-date=19 February 2017 |archive-url=https://web.archive.org/web/20170219173751/https://books.google.co.uk/books?id=n4FQMEiZcrIC&pg=PA243&sa=X&ved=0ahUKEwih_rGx8ZrSAhVsIcAKHYYsC3wQ6AEIKzAD#v=onepage&q=malla%20dynasty%20maithili&f=false |archive-date=19 February 2017 |url-status=live}}</ref> ഈ കാലഘട്ടത്തിൽ മൈഥിലിയിൽ ഒട്ടേറെ നാടകങ്ങൾ രചിക്കപ്പെട്ടു. ഭൂപതീന്ദ്ര മല്ല എന്ന രാജാവ് തൻ്റെ ജീവിതകാലത്ത് 26 മൈഥിലി നാടകങ്ങൾ രചിച്ചിട്ടുണ്ട്.<ref name=Yadav2011>{{cite journal |last1=Yadav |first1=R. |title=Medieval Maithili stagecraft in the Nepalamandala: the Bhaktapur school |journal=Contributions to Nepalese Studies |volume=38 |issue=2 |date=2011 |url=https://go.gale.com/ps/i.do?id=GALE%7CA303641405&sid=googleScholar&v=2.1&it=r&linkaccess=abs&issn=03767574&p=AONE&sw=w&userGroupName=anon%7E34d7228b&aty=open-web-entry}}</ref> ദർഭംഗ രാജവംശത്തിൻ്റെ കാലത്ത് മൈഥിലിക്ക് കാര്യമായ പ്രോത്സാഹനം ലഭിച്ചിരുന്നില്ല. എങ്കിലും പി.കെ. മിശ്ര, ചന്ദാ ഝാ തുടങ്ങിയവരുടെ വ്യക്തിപരമായ പരിശ്രമങ്ങളിലൂടെ ഭാഷയുടെ ഉപയോഗം വീണ്ടും സജീവമായി.<ref>{{Cite journal |last=Jha |first=P. K. |date=1996 |title=Language and Nation : The Case of Maithili and Mithila in the First Half of Twentieth Century |url=https://www.jstor.org/stable/44133363 |journal=Proceedings of the Indian History Congress |volume=57 |pages=581–590 |jstor=44133363}}</ref> 1910-ൽ മിഥിലയുടെയും മൈഥിലിയുടെയും ഉന്നമനത്തിനായി 'മൈഥിൽ മഹാസഭ' രൂപീകരിക്കപ്പെട്ടു. മൈഥിലിക്ക് പ്രാദേശിക ഭാഷാ പദവി ലഭിക്കുന്നതിനായി അവർ പ്രചാരണം നടത്തി. 1917-ൽ [[കൽക്കട്ട സർവ്വകലാശാല]] മൈഥിലിയെ അംഗീകരിച്ചു.<ref>{{Cite journal |last=Mishra |first=Jayakanta |date=1977 |title=Social Ideals and Patriotism in Maithili Literature (1900-1930) |url=https://www.jstor.org/stable/24157493 |journal=Indian Literature |volume=20 |issue=3 |pages=96–101 |issn=0019-5804 |jstor=24157493}}</ref> ബാബു ഭോല ലാൽ ദാസ് മൈഥിലി വ്യാകരണം രചിക്കുകയും 'മൈഥിലി' എന്ന ജേർണൽ എഡിറ്റ് ചെയ്യുകയും ചെയ്തു.<ref>{{Cite book |last=Chatterjee |first=Ramananda |url=https://books.google.com/books?id=sQXSAAAAMAAJ |title=The Modern Review |date=1964 |publisher=Prabasi Press Private, Limited |page=215 |language=en}}</ref> 1965-ൽ [[സാഹിത്യ അക്കാദമി]] മൈഥിലിയെ ഔദ്യോഗികമായി അംഗീകരിച്ചു.<ref>{{Cite journal |last=Jha |first=Ramanath |date=1969 |title=The Problem of Maithili |url=https://www.jstor.org/stable/24157120 |journal=Indian Literature |volume=12 |issue=4 |pages=5–10 |issn=0019-5804 |jstor=24157120}}</ref> 2002-ൽ ഇന്ത്യൻ ഭരണഘടനയുടെ എട്ടാം ഷെഡ്യൂളിൽ മൈഥിലിയെ ഉൾപ്പെടുത്തി രാജ്യത്തെ പ്രധാന ഭാഷകളിലൊന്നായി അംഗീകരിച്ചു.<ref name="Singh2011">Singh, P. & Singh, A. N. (2011). Finding Mithila between India's Centre and Periphery. ''Journal of Indian Law & Society'' 2: 147–181.</ref> തിർഹുത ലിപിയിലുള്ള മൈഥിലി പുസ്തകങ്ങളുടെ പ്രസിദ്ധീകരണത്തിന് തുടക്കം കുറിച്ചത് ആചാര്യ രാംലോചൻ ശരൺ ആണ്.<ref>{{Cite book |last=Horst |first=Kristen Nehemiah |url=https://books.google.com/books?id=loWepwAACAAJ |title=Acharya Ramlochan Saran |date=12 October 2011 |publisher=Dign Press |isbn=978-613-7-39524-0 |language=en}}</ref> == സാഹിത്യം == {{Main|മൈഥിലി സാഹിത്യം}} [[മൈഥിലി ഭാഷ|മൈഥിലി ഭാഷയിലെ]] കവിതകൾ, നോവലുകൾ, ചെറുകഥകൾ, മറ്റ് രേഖകൾ എന്നിവയെല്ലാം ഉൾപ്പെടുന്നതാണ് മൈഥിലി സാഹിത്യം. ഏഴാം നൂറ്റാണ്ടിൽ രൂപപ്പെട്ട [[തിർഹുത ലിപി|തിർഹുത]] അഥവാ മിഥിലാക്ഷരം എന്ന പ്രാചീന ലിപിയാണ് ഈ ഭാഷയ്ക്കുള്ളത്. പുരാതനകാലത്ത് [[സംസ്കൃതം]] ഔദ്യോഗിക ഭാഷയായിരുന്നപ്പോൾ, സാധാരണക്കാരുടെ ഭാഷയായ മൈഥിലിയിൽ കവിതകൾ രചിച്ച [[വിദ്യാപതി]]യാണ് ഈ ഭാഷയിലെ ഏറ്റവും പ്രശസ്തനായ സാഹിത്യകാരൻ. അദ്ദേഹത്തിന് ശേഷമാണ് സാഹിത്യത്തിൽ മൈഥിലിയുടെ ഉപയോഗം കൂടുതൽ ജനകീയമായത്. 1324-ൽ [[ജ്യോതിരീശ്വർ താക്കൂർ]] രചിച്ച 'വർണ്ണ രത്നാകരം' ഉത്തരേന്ത്യൻ ഭാഷകളിലെ തന്നെ ആദ്യത്തെ ഗദ്യകൃതിയായി കണക്കാക്കപ്പെടുന്നു.<ref>{{Cite book |last=Chatterji |first=S. K. |title=Varna Ratnakara Of Jyotirisvara Kavisekharacarya |date=1940 |publisher=Royal Asiatic Society of Bengal |url=http://archive.org/details/in.ernet.dli.2015.283961}}</ref> [[ശ്രീമന്ത ശങ്കർദേവ്]], ഗോവിന്ദദാസ് എന്നിവരും ആദ്യകാല മൈഥിലി സാഹിത്യത്തിലെ പ്രധാന എഴുത്തുകാരാണ്. 19-ാം നൂറ്റാണ്ടിൽ ഐറിഷ് ഭാഷാശാസ്ത്രജ്ഞനായ [[ജോർജ്ജ് എബ്രഹാം ഗ്രിസൺ]] നടത്തിയ ഗവേഷണങ്ങളും വ്യാകരണ ക്രോഡീകരണവുമാണ് ആധുനിക മൈഥിലി ഭാഷയ്ക്ക് വലിയ മുതൽക്കൂട്ടായത്.<ref name=":1" /> എന്നാൽ വളരെക്കാലത്തോളം മൈഥിലിക്ക് ഒരു സ്വതന്ത്ര ഭാഷയെന്ന പരിഗണന ലഭിച്ചിരുന്നില്ല. ഭരണാധികാരികളും പണ്ഡിതന്മാരും ഇതിനെ [[ഹിന്ദി]]യുടെയോ [[ബംഗാളി ഭാഷ|ബംഗാളി]]യുടെയോ ഒരു ഉപഭാഷയായോ അല്ലെങ്കിൽ കേവലം ഒരു ഗ്രാമീണ സംസാരഭാഷയായോ മാത്രമാണ് കണ്ടിരുന്നത്. മൈഥിലി ഒരു ഉപഭാഷയല്ലെന്നും അതൊരു സ്വതന്ത്ര ഭാഷയാണെന്നും ഗ്രിസൺ തന്റെ പഠനങ്ങളിൽ വ്യക്തമാക്കിയിരുന്നെങ്കിലും, ഈ തെറ്റിദ്ധാരണകൾ സ്വാതന്ത്ര്യാനന്തര കാലഘട്ടത്തിലും തുടർന്നു. ഒടുവിൽ ഭോല ലാൽ ദാസ്, ഉമേഷ് മിശ്ര തുടങ്ങിയവരുടെ നിരന്തരമായ ഇടപെടലുകളുടെയും പോരാട്ടങ്ങളുടെയും ഫലമായി 1965-ൽ [[സാഹിത്യ അക്കാദമി]] മൈഥിലിയെ ഒരു സ്വതന്ത്ര ആധുനിക ഇന്ത്യൻ ഭാഷയായി ഔദ്യോഗികമായി അംഗീകരിച്ചു.<ref>{{Cite journal |last=Jha |first=Ramanath |date=1969 |title=The Problem of Maithili |journal=Indian Literature |volume=12 |issue=4 |pages=5–10 |url=https://www.jstor.org/stable/24157120}}</ref> == വ്യാപനം == ഇന്ത്യയിൽ പ്രധാനമായും [[ബിഹാർ|ബിഹാറിലെ]] ദർഭംഗ, മധുബനി, തിർഹുത്, കോശി, പൂർണിയ, ഭാഗൽപൂർ, മുൻഗർ എന്നീ ഡിവിഷനുകളിലും, [[ഝാർഖണ്ഡ്|ഝാർഖണ്ഡിലെ]] സന്താൾ പർഗാന ഡിവിഷനിലുമാണ് മൈഥിലി സംസാരിക്കുന്നത്.<ref>{{Cite web |year=2021 |title=बिहार में मैथिली भाषा आजकल सुर्खियों में क्यों है? त्रेता युग से अब तक मैथिली का सफर |trans-title=Why is Maithili language in the news these days in Bihar? Maithili's journey from Treta Yuga till now |work=NBT |url=https://navbharattimes.indiatimes.com/state/bihar/patna/why-is-maithili-language-in-the-headlines-in-bihar-these-days-journey-of-maithili-since-treta-yug/articleshow/81190077.cms}}</ref><ref>{{Cite news |date=6 March 2018 |title=मैथिली को भी मिलेगा दूसरी राजभाषा का दर्जा |language=hi |work=Hindustan |url=https://www.livehindustan.com/jharkhand/story-maithili-will-get-second-state-language-status-in-jharkhand-1835624.html |access-date=3 September 2020}}</ref> നേപ്പാളിൽ [[മധേശ് പ്രവിശ്യ]], [[കോശി പ്രവിശ്യ]] എന്നിവിടങ്ങളിലാണ് ഈ ഭാഷ സംസാരിക്കുന്നത്.<ref name=e27/>{{sfnp|National Statistics Office|2023|pp=210, 212, 218–220}} [[ദർഭംഗ]], മധുബനി, [[ജനക്പൂർ]] എന്നിവ മൈഥിലി ഭാഷയുടെ സുപ്രധാന സാംസ്കാരിക, ഭാഷാ കേന്ദ്രങ്ങളാണ്.<ref name=e27/> == വർഗ്ഗീകരണം == 1870-കളിൽ ജോൺ ബീംസ് മൈഥിലിയെ [[ബംഗാളി ഭാഷ|ബംഗാളിയുടെ]] ഒരു ഉപഭാഷയായാണ് കണക്കാക്കിയിരുന്നത്. റുഡോൾഫ് ഹോൺലെ ആദ്യം ഇതിനെ കിഴക്കൻ ഹിന്ദിയുടെ വകഭേദമായി കരുതിയെങ്കിലും, ഗൗഡ ഭാഷകളുമായി താരതമ്യം ചെയ്തപ്പോൾ ഇതിന് [[ഹിന്ദി|ഹിന്ദിയേക്കാൾ]] കൂടുതൽ സാമ്യം ബംഗാളിയോടാണെന്ന് കണ്ടെത്തി. എന്നാൽ [[ജോർജ്ജ് എബ്രഹാം ഗ്രിസൺ|ഗ്രിസൺ]] ഇതിനെ '[[ബിഹാറി ഭാഷകൾ|ബിഹാറി]]' വിഭാഗത്തിൽപ്പെടുന്ന ഒരു സ്വതന്ത്ര ഭാഷയായി അംഗീകരിക്കുകയും 1881-ൽ ഇതിൻ്റെ ആദ്യത്തെ വ്യാകരണ ഗ്രന്ഥം പ്രസിദ്ധീകരിക്കുകയും ചെയ്തു.<ref>{{cite book |last1=Yadav |first1=Ramawatar |title=A Reference Grammar of Maithili |date=1996 |publisher=Walter de Gruyter |isbn=978-3-11-014558-8 |pages=1–5 |url=https://books.google.com/books?id=G6k03mvHoBwC&pg=PA1 |language=en}}</ref><ref name="Yadav1979">{{Cite book |last=Yadav |first=R. |title=Maithili Phonetics and Phonology |publisher=Doctoral Dissertation, University of Kansas, Lawrence |year=1979 |chapter=Maithili language and Linguistics: Some Background Notes |access-date=9 May 2012 |chapter-url=http://himalaya.socanth.cam.ac.uk/collections/journals/kailash/pdf/kailash_08_0102_04.pdf |archive-url=https://web.archive.org/web/20170517085054/http://himalaya.socanth.cam.ac.uk/collections/journals/kailash/pdf/kailash_08_0102_04.pdf |archive-date=17 May 2017 |url-status=dead}}</ref> സുനീതി കുമാർ ചാറ്റർജി മൈഥിലിയെ [[മാഗധി പ്രാകൃതം|മാഗധി പ്രാകൃതത്തോടൊപ്പമാണ്]] ഉൾപ്പെടുത്തിയത്.<ref>Chatterji, S. K. (1926). The origin and development of the Bengali language. University Press, Calcutta.</ref> === ഭാഷാവൃക്ഷം === {{ഇന്തോ-ആര്യൻ ഭാഷകളുടെ വംശാവലി}} == ഭാഷാഭേദങ്ങൾ == മൈഥിലിക്ക് നിരവധി ഉപഭാഷകളുണ്ട്.<ref>Brass, P. R. (2005). Language, Religion, and Politics in North India. iUniverse, Lincoln, NE.</ref> * '''മാനക മൈഥിലി:''' 'സോതിപുര' അഥവാ മധ്യ മൈഥിലി എന്നാണ് അറിയപ്പെടുന്നത്.<ref>{{Cite journal |last=Yadav |first=R. |year=1992 |title=The Use of the Mother Tongue in Primary Education: The Nepalese Context |journal=Contributions to Nepalese Studies |volume=19 |issue=2 |pages=178–190|url=http://himalaya.socanth.cam.ac.uk/collections/journals/contributions/pdf/CNAS_19_02_02.pdf |url-status=dead |archive-url=https://web.archive.org/web/20160410144313/http://himalaya.socanth.cam.ac.uk/collections/journals/contributions/pdf/CNAS_19_02_02.pdf |archive-date=10 April 2016 |access-date=18 June 2016}}</ref> ഇന്ത്യയിൽ ദർഭംഗ, മധുബനി, സുപൗൾ, മധേപുര, പൂർണിയ, സമസ്തിപൂർ, അരാരിയ, സഹർസ ജില്ലകളിലും; നേപ്പാളിൽ ധനുഷ, മഹോത്തരി, സിരാഹ, സപ്തരി, സർലാഹി, സുൻസരി, മോറങ് ജില്ലകളിലുമാണ് ഇത് പ്രധാനമായും സംസാരിക്കുന്നത്.<ref>{{cite journal |author=Choudhary, P.K. |year=2013 |title=Causes and Effects of Super-stratum Language Influence, with Reference to Maithili |journal=Journal of Indo-European Studies |volume=41 |issue=3/4 |pages= 378–391}}</ref> * '''പശ്ചിമ മൈഥിലി:''' എന്നും അറിയപ്പെടുന്ന [[ബജ്ജിക]] ഉപഭാഷ പ്രധാനമായും ബിഹാറിലെ സീതാമർഹി, മുസാഫർപൂർ, വൈശാലി, ഷിയോഹർ ജില്ലകളിലും നേപ്പാളിലെ റൗതഹത്, സർലാഹി ജില്ലകളിലുമാണ് സംസാരിക്കുന്നത്.<ref>{{Cite web |title=''Bajjika'' a major dialect of Maithili Language. |url=http://lisindia.ciil.org/Maithili/Maith_vari.html |access-date=2026-04-04 |archive-date=2024-12-15 |archive-url=https://web.archive.org/web/20241215121231/http://lisindia.ciil.org/Maithili/Maith_vari.html |url-status=dead }}</ref><ref>{{Cite web |title=Nepal Language census 2021 |url=https://censusnepal.cbs.gov.np/results/files/result-folder/Caste%20Ethnicity_report_NPHC_2021.pdf }}</ref> നേപ്പാളിൽ ഇതൊരു പ്രത്യേക ഭാഷയായി കണക്കാക്കപ്പെടുന്നു. മറ്റ് മൈഥിലി ഉപഭാഷകളുമായി ഇതിന് വലിയ സാമ്യമുണ്ട്.<ref name="ethnologue2">{{Cite web |year=2018 |editor-last=Simons, G. F. |editor2-last=Fennig, C. D. |title=Maithili. Ethnologue: Languages of the World |work=Ethnologue (Free All) |url=https://www.ethnologue.com/language/mai |access-date=7 December 2018 |publisher=SIL International |location=Dallas}}</ref> * '''[[ഥേഠി]]-മൈഥിലി''': ബിഹാറിലെ കോശി, പൂർണിയ, മുൻഗർ ഡിവിഷനുകളിലും നേപ്പാളിൻ്റെ അതിർത്തി പ്രദേശങ്ങളിലും സംസാരിക്കുന്നു.<ref>Ray, K. K. (2009). Reduplication in Thenthi Dialect of Maithili Language. Nepalese Linguistics 24: 285–290.</ref> * [[അംഗിക]] ഉപഭാഷ ബിഹാറിലെ ഭാഗൽപൂർ, ബാങ്ക, മുൻഗർ ജില്ലകളിലും ഝാർഖണ്ഡിലെ ഗൊഡ്ഡ, സാഹിബ്ഗഞ്ച്, ദുംക ജില്ലകളിലുമാണ് സംസാരിക്കുന്നത്.<ref name="Language">{{Cite book |date=2011 |title=Census of India |chapter=Population By Mother Tongue |publisher= |chapter-url=http://www.censusindia.gov.in/2011census/C-16.html}}</ref><ref>{{cite web |title=language {{!}} Munger District, Government of Bihar {{!}} India |url=https://munger.nic.in/language/ |website=Munger |access-date=12 March 2022}}</ref><ref>{{Cite web |title=Languages spoken in Jharkhand, census 2011** |url=https://censusindia.gov.in/nada/index.php/catalog/10207}}</ref> സപ്തരി, സിരാഹ ജില്ലകളിലെ [[ഥാരു ജനത|ഥാരു വിഭാഗക്കാർ]] സംസാരിക്കുന്ന കൊചില ഥാരു ഭാഷയെ ചില ഭാഷാശാസ്ത്രജ്ഞർ മൈഥിലിയുടെ ഉപഭാഷയായി കണക്കാക്കുന്നു.<ref name=Driem2022>{{cite book |last1=Van Driem |first1=G. |title=Languages of the Himalayas |volume=2 |date=2022 |publisher=Brill |place=Leiden |isbn=9789004514928 |chapter=Indo-Aryans of the foothills and plains |pages=1156–1176 |chapter-url=https://books.google.com/books?id=6tGLEAAAQBAJ&pg=PA1167}}</ref> ദേഹാതി, ദേശീ, കിസാൻ, ബന്തർ, ബർമേലി, മുസർ, താതി, ജോലഹ തുടങ്ങി വേറെയും നിരവധി ഉപഭാഷകൾ ഇന്ത്യയിലും നേപ്പാളിലുമായി സംസാരിക്കപ്പെടുന്നുണ്ട്. ഈ ഉപഭാഷകളെല്ലാം മൈഥിലി സംസാരിക്കുന്നവർക്ക് പരസ്പരം മനസ്സിലാക്കാൻ കഴിയുന്നവയാണ്.<ref name="e27" /> == ഔദ്യോഗിക പദവി == 2003-ൽ മൈഥിലിയെ [[ഇന്ത്യൻ ഭരണഘടന]]യുടെ [[എട്ടാം ഷെഡ്യൂൾ (ഇന്ത്യൻ ഭരണഘടന)|എട്ടാം ഷെഡ്യൂളിൽ]] ഉൾപ്പെടുത്തി ഒരു അംഗീകൃത ഭാഷയായി പ്രഖ്യാപിച്ചു. ഇതുവഴി ഇന്ത്യയിൽ വിദ്യാഭ്യാസ, ഭരണപരമായ ആവശ്യങ്ങൾക്കും മറ്റ് ഔദ്യോഗിക കാര്യങ്ങൾക്കും ഈ ഭാഷ ഉപയോഗിക്കാൻ സാധിക്കുന്നു.<ref name="mha.nic.in" /> 2018 മാർച്ചിൽ [[ഝാർഖണ്ഡ്]] സംസ്ഥാനത്ത് മൈഥിലിക്ക് രണ്ടാമത്തെ ഔദ്യോഗിക ഭാഷാ പദവി ലഭിച്ചു.<ref>{{Cite news |date=2018 |title=झारखंड : रघुवर कैबिनेट से मगही, भोजपुरी, मैथिली व अंगिका को द्वितीय भाषा का दर्जा |trans-title=Jharkhand: Raghuvar Cabinet gives second language status to Magahi, Bhojpuri, Maithili and Angika |language=hi |work=Prabhat Khabar |url=https://www.prabhatkhabar.com/state/jharkhand/ranchi/1135878 |access-date=6 February 2021}}</ref> [[ഭാരതീയ ജനതാ പാർട്ടി|ബി.ജെ.പി.]] നേതാവായ [[ഗോപാൽ ജീ താക്കൂർ|ഗോപാൽ ജീ താക്കൂറാണ്]] [[ഇന്ത്യൻ പാർലമെന്റ്|ഇന്ത്യൻ പാർലമെന്റിൽ]] ആദ്യമായി മൈഥിലി ഭാഷയിൽ സംസാരിച്ച [[ലോക്സഭ|ലോക്‌സഭാംഗം]].<ref>{{cite news |author=The Hindu Net Desk |date=18 November 2019 |title=Parliament proceedings updates: Chit Funds (Amendment) Bill under consideration in Lok Sabha |url=https://www.thehindu.com/news/national/winter-session-of-parliament-day-1-live-updates/article30004519.ece |access-date=28 February 2023 |work=The Hindu |language=en-IN |issn=0971-751X}}</ref> അദ്ദേഹം നിലവിൽ [[ദർഭംഗ (ലോക്സഭാ മണ്ഡലം)|ദർഭംഗയിൽ]] നിന്നുള്ള എം.പിയാണ്.<ref>{{cite web |date=2 September 2022 |title=Darbhanga Lok Sabha Election Results 2019 Live Updates: Bihar Lok Sabha Election (Polls) Results 2019, Winner, Runner-Up |url=https://indianexpress.com/elections/darbhanga-lok-sabha-election-results-2019-live-winner-runner-up/ |archive-url=https://web.archive.org/web/20220902172405/https://indianexpress.com/elections/darbhanga-lok-sabha-election-results-2019-live-winner-runner-up/ |archive-date=2 September 2022 |access-date=28 February 2023}}</ref> നേപ്പാളിലെ ഭാഷാ കമ്മീഷൻ, [[കോശി പ്രവിശ്യ]], [[മധേശ് പ്രവിശ്യ]] എന്നിവിടങ്ങളിലെ ഭരണപരമായ ആവശ്യങ്ങൾക്കുള്ള ഔദ്യോഗിക ഭാഷയായി മൈഥിലിയെ അംഗീകരിച്ചിട്ടുണ്ട്.<ref name=langcomreport>{{cite report |title=सरकारी कामकाजको भाषाका आधारहरूको निर्धारण तथा भाषासम्बन्धी सिफारिसहरू (पञ्चवर्षीय प्रतिवेदन- साराांश) २०७८ |trans-title=Determination of language bases of government work and language recommendations (five-year report - summary) 2078 |date=2021 |author=Language Commission |publisher=Government of Nepal |url=https://languagecommission.gov.np/list/resource/632?parent=2281 |access-date=23 October 2023 |language=ne |archive-date=6 September 2021 |archive-url=https://web.archive.org/web/20210906171816/https://languagecommission.gov.np/files/%E0%A4%B8%E0%A4%BE%E0%A4%B0%E0%A4%BE%E0%A4%82%E0%A4%B8%20%E0%A4%B8%E0%A4%82%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A5%87%E0%A4%B7%E0%A4%A3%20%E0%A4%B8%E0%A4%B0%E0%A4%95%E0%A4%BE%E0%A4%B0%E0%A5%80%20%E0%A4%95%E0%A4%BE%E0%A4%AE%E0%A4%95%E0%A4%BE%E0%A4%9C%E0%A4%95%E0%A5%8B%20%E0%A4%AD%E0%A4%BE%E0%A4%B7%E0%A4%BE.pdf }}</ref> 2024 നവംബർ 26-ന് [[ഭരണഘടനാ ദിനം (ഇന്ത്യ)|ഭരണഘടനാ ദിനത്തോടനുബന്ധിച്ച്]], [[ഇന്ത്യൻ രാഷ്ട്രപതി|രാഷ്ട്രപതി]] [[ദ്രൗപദി മുർമു]] ഇന്ത്യൻ ഭരണഘടനയുടെ മൈഥിലി പതിപ്പ് പുറത്തിറക്കി.<ref>{{cite news |title=President Murmu releases Maithili and Sanskrit versions of Constitution |url=https://www.nationalheraldindia.com/national/president-murmu-releases-maithili-and-sanskrit-versions-of-constitution-calls-it-living-progressive-document |work=National Herald |agency=PTI |date=26 November 2024 |access-date=26 November 2024 }}</ref> === ശ്രേഷ്ഠഭാഷാ പദവി പ്രസ്ഥാനം === 2024 ഒക്ടോബർ 3-ന് കേന്ദ്ര സർക്കാർ അഞ്ച് ഭാഷകൾക്ക് കൂടി [[ശ്രേഷ്ഠഭാഷ|ശ്രേഷ്ഠഭാഷാ പദവി]] നൽകിയിരുന്നു. (അസ്സാമീസ്, ബംഗാളി, മറാഠി, പാലി, പ്രാകൃതം). എന്നാൽ ബിഹാർ സർക്കാരിൽ നിന്ന് കൃത്യമായ നിർദ്ദേശം ലഭിക്കാത്തതിനാൽ മൈഥിലിക്ക് ഈ പദവി ലഭിക്കാതെ പോയി.<ref>{{Cite news |last=Chakrabarty |first=Sreeparna |date=29 October 2024 |title=Maithili language missed out on classical status for lack of proposal from Bihar government |url=https://www.thehindu.com/news/national/bihar/maithili-language-missed-out-on-classical-status-for-lack-of-proposal-from-bihar-government/article68810651.ece |work=The Hindu |issn=0971-751X |access-date=13 July 2025}}</ref> ഈ സംഭവത്തിന് ശേഷം മൈഥിലിക്ക് ശ്രേഷ്ഠഭാഷാ പദവി ലഭിക്കണമെന്ന പ്രചാരണം കൂടുതൽ ശക്തമായി.<ref>{{Cite news |last=Thakur |first=Ashutosh Kumar |date=3 January 2025 |title=Why Maithili deserves classical language status |url=https://www.hindustantimes.com/editorials/why-maithili-deserves-classical-language-status-101735916225736.html |work=[[Hindustan Times]] |access-date=13 July 2025}}</ref> 2024 ഒക്ടോബർ 7-ന് ജെ.ഡി.യു വർക്കിംഗ് പ്രസിഡന്റും രാജ്യസഭാ എം.പിയുമായ സഞ്ചയ് കുമാർ ഝാ ഈ ആവശ്യം പരസ്യമായി ഉന്നയിക്കുകയും ചെയ്തു.<ref>{{Cite news |last=Bhelari |first=Amit |date=7 October 2024 |title=JD(U) demands classical language status for Maithili |url=https://www.thehindu.com/news/national/bihar/jdu-demands-classical-language-status-for-maithili/article68727948.ece |work=The Hindu |issn=0971-751X |access-date=13 July 2025}}</ref> == ശബ്ദശാസ്ത്രം == {{Main|മൈഥിലി വ്യാകരണം#ധ്വനിവിജ്ഞാനം}} === സ്വരങ്ങൾ === {| class="wikitable" style="text-align:center" ! rowspan="2" | ! colspan="2" |[[മുൻ സ്വരം|മുൻ]] ! colspan="2" |[[മധ്യ സ്വരം|മധ്യം]] ! colspan="2" |[[പിൻ സ്വരം|പിൻ]] |- !<small>ഹ്രസ്വം</small> !<small>ദീർഘം</small> !<small>ഹ്രസ്വം</small> !<small>ദീർഘം</small> !<small>ഹ്രസ്വം</small> !<small>ദീർഘം</small> |- ![[സംവൃത സ്വരം|സംവൃതം]] | {{IPA link|ɪ}} {{lang|mai-Tirh|𑒃}} | {{IPA link|iː}} {{lang|mai-Tirh|𑒄}} | | | {{IPA link|ʊ}} {{lang|mai-Tirh|𑒅}} | {{IPA link|uː}} {{lang|mai-Tirh|𑒆}} |- ![[അർദ്ധവിവൃത സ്വരം|മധ്യം]] | {{IPA link|e}} {{lang|mai-Tirh|𑒋}} | {{IPA link|eː}} {{lang|mai-Tirh|𑒋}} | {{IPA link|ə}}~{{IPA link|ɐ}} {{lang|mai-Tirh|𑒁}} | {{IPA link|əː}} {{lang|mai-Tirh|𑒁𑓄}} | {{IPA link|o}} {{lang|mai-Tirh|𑒍}} | {{IPA link|oː}} {{lang|mai-Tirh|𑒍}} |- ![[വിവൃത സ്വരം|വിവൃതം]] | colspan="2" | {{IPA link|æ}}~{{IPA link|ɛ}} {{lang|mai-Tirh|𑒋}} | {{IPA link|ä|a}} {{lang|mai-Tirh|𑒂}} | {{IPA link|äː|aː}} {{lang|mai-Tirh|𑒂}} | colspan="2" | {{IPA link|ɔ}} {{lang|mai-Tirh|𑒁}} |- ![[കൂട്ടക്ഷരം|ദ്വിസ്വരം]] | colspan="2" |əɪ̯ {{lang|mai-Tirh|𑒌}} əe̯ {{lang|mai-Tirh|𑒌}} | colspan="2" | | colspan="2" |əʊ̯ {{lang|mai-Tirh|𑒎}} əo̯ {{lang|mai-Tirh|𑒎}} |} * എല്ലാ സ്വരങ്ങൾക്കും [[അനുനാസികം|അനുനാസിക]] രൂപങ്ങളുണ്ട്. അവയെ [[അന്താരാഷ്ട്ര ധ്വനാത്മക ലിപി|ഐ.പി.എയിൽ]] "~" ചിഹ്നവും ലിപിയിൽ ചന്ദ്രബിന്ദുവും (𑓀) ഉപയോഗിച്ച് സൂചിപ്പിക്കുന്നു (ഉദാഹരണത്തിന്: 𑒂𑓀 ãː). * ഒരു അനുനാസിക വ്യഞ്ജനത്തിന് മുമ്പോ ശേഷമോ വരുമ്പോൾ എല്ലാ സ്വരങ്ങളും അനുനാസികമായി ഉച്ചരിക്കപ്പെടുന്നു.<ref>{{Cite book |last=Yadav |first=Ramawatar |title=A Reference Grammar of Maithili |publisher=Mouton de Gruyter |year=1996 |location=Berlin |pages=15–27}}</ref> * മിക്കപ്പോഴും eː, oː എന്നീ സ്വരങ്ങൾക്ക് പകരം əɪ̯, əʊ̯ എന്നീ ദ്വിസ്വരങ്ങൾ ഉപയോഗിക്കാറുണ്ട്. * വടക്കൻ വകഭേദങ്ങളിൽ ɔ എന്നതിന് പകരം ə എന്നും, തെക്കൻ വകഭേദങ്ങളിൽ o എന്നും ഉച്ചരിക്കുന്നു. * ജോർജ്ജ് എബ്രഹാം ഗ്രിസൺ മൂന്ന് ഹ്രസ്വ സ്വരങ്ങളെക്കുറിച്ച് സൂചിപ്പിച്ചിരുന്നെങ്കിലും ആധുനിക വ്യാകരണ പണ്ഡിതർ അവയെ പരിഗണിക്കാറില്ല. പകരം അവയെ അക്ഷരങ്ങളുടെ വിഭജനമായി (Syllable break) കണക്കാക്കുന്നു: 𑒁̆ {{IPA|/ɘ̆/}}, 𑒃 {{IPA|/ɪ̆/}}, 𑒅 {{IPA|/ʊ̆/}}. * ഐ.പി.എയിലെ /əe̯/ പോലുള്ള സവിശേഷമായ ദ്വിസ്വരങ്ങളെ പ്രതിനിധീകരിക്കുന്ന പ്രത്യേക ചിഹ്നങ്ങൾ (യൂണികോഡ് എക്സ്റ്റൻഷൻ) എല്ലാ ബ്രൗസറുകളിലും കൃത്യമായി ദൃശ്യമാകണമെന്നില്ല. മൈഥിലി ഭാഷയിൽ താഴെ പറയുന്ന ദ്വിസ്വരങ്ങൾ ഉപയോഗത്തിലുണ്ട്:<ref name=":2">{{Cite web |title=Maithili |url=http://lisindia.ciil.org/Maithili/Maithili.html |access-date=7 January 2023 |website=lisindia.ciil.org |archive-date=2026-03-25 |archive-url=https://web.archive.org/web/20260325220419/http://lisindia.ciil.org/Maithili/Maithili.html |url-status=dead }}</ref> * {{lang|mai-Tirh|𑒁𑒨𑓃}} {{IPA|/əe̯/ ~ /ɛː/}} - ഉദാ: {{lang|mai-Tirh|𑒁𑒨𑓃𑒮𑒢}} {{IPA|/əe̯sən/ ~ /ɛːsɐn/}} (ഇതുപോലെ) * {{lang|mai-Tirh|𑒁𑒫𑓃}} {{IPA|/əo̯/ ~ /ɔː/}} - ഉദാ: {{lang|mai-Tirh|𑒔𑒫𑓃𑒧𑒳𑒐}} {{IPA|/tɕəo̯mʊkʰ/ ~ /tɕɔːmʊkʰ/}} (ചതുർമുഖം) * {{lang|mai-Tirh|𑒁𑒨𑒹}} {{IPA|/əe̯/}} - ഉദാ: {{lang|mai-Tirh|𑒁𑒨𑒹𑒪𑒂𑓁}} {{IPA|/əe̯laːh/}} (വന്നു) * {{lang|mai-Tirh|𑒁𑒫𑒺}} {{IPA|/əo̯/}} - ഉദാ: {{lang|mai-Tirh|𑒁𑒫𑒺𑒞𑒂𑓁}} {{IPA|/əo̯taːh/}} (വരും) * {{lang|mai-Tirh|𑒂𑒃}} {{IPA|/aːi̯/}} - ഉദാ: {{lang|mai-Tirh|𑒂𑒃}} {{IPA|/aːi̯/}} (ഇന്ന്) * {{lang|mai-Tirh|𑒂𑒅}} {{IPA|/aːu̯/}} - ഉദാ: {{lang|mai-Tirh|𑒂𑒅}} {{IPA|/aːu̯/}} (വരൂ) * {{lang|mai-Tirh|𑒂𑒨𑒹}} {{IPA|/aːe̯/}} - ഉദാ: {{lang|mai-Tirh|𑒂𑒨𑒹𑒪}} {{IPA|/aːe̯l/}} (വന്നു) * {{lang|mai-Tirh|𑒂𑒫𑒺}} {{IPA|/aːo̯/}} - ഉദാ: {{lang|mai-Tirh|𑒂𑒫𑒺𑒥}} {{IPA|/aːo̯b/}} (വരും) * {{lang|mai-Tirh|𑒃𑒅}} {{IPA|/iu̯/}} - ഉദാ: {{lang|mai-Tirh|𑒒𑓂𑒨𑒳}} {{IPA|/ɡʱiu̯/}} (നെയ്യ്) * {{lang|mai-Tirh|𑒃𑒋}} {{IPA|/ie̯/}} - ഉദാ: {{lang|mai-Tirh|𑒨𑒹𑓁}} {{IPA|/ie̯h/}} (ഇതുമാത്രം) * {{lang|mai-Tirh|𑒃𑒍}} {{IPA|/io̯/}} - ഉദാ: {{lang|mai-Tirh|𑒏𑒯𑓂𑒨𑒺}} {{IPA|/kəhio̯/}} (ഏതെങ്കിലും ദിവസം) * {{lang|mai-Tirh|𑒅𑒃}} {{IPA|/ui̯/}} - ഉദാ: {{lang|mai-Tirh|𑒠𑓂𑒫𑒱}} {{IPA|/dui̯/}} (രണ്ട്) * {{lang|mai-Tirh|𑒅𑒋}} {{IPA|/ue̯/}} - ഉദാ: {{lang|mai-Tirh|𑒫𑒹𑓁}} {{IPA|/ue̯h/}} (അതുമാത്രം) പദങ്ങളുടെ അവസാനമുള്ള /i/, /u/ എന്നീ സ്വരങ്ങൾ പിന്നിലേക്ക് മാറുന്ന എപ്പെന്തെസിസ് (epenthesis) എന്ന സവിശേഷമായ സ്വരവ്യതിയാനം മൈഥിലിയിൽ അടുത്തകാലത്തായി കണ്ടുവരുന്നുണ്ട്.<ref name=":2" /> അതായത്, വ്യവസ്ഥാപിതമായ ഉച്ചാരണത്തിൽ നിന്നും സാധാരണ സംസാരഭാഷയിലേക്കുള്ള മാറ്റം താഴെ പറയുന്നതാണ്: * {{lang|mai-Tirh|𑒁𑒕𑒱}} {{IPA|/ətɕʰi/}} -> {{lang|mai-Tirh|𑒁𑒃𑒕}} {{IPA|/əitɕʰ/}} (ആണ്) * {{lang|mai-Tirh|𑒩𑒫𑒱}} {{IPA|/rəbi/}} -> {{lang|mai-Tirh|𑒩𑒃𑒥}} {{IPA|/rəib/}} (ഞായറാഴ്ച) * {{lang|mai-Tirh|𑒧𑒡𑒳}} {{IPA|/mədʱu/}} -> {{lang|mai-Tirh|𑒧𑒅𑒡}} {{IPA|/məudʱ/}} (തേൻ) * {{lang|mai-Tirh|𑒥𑒂𑒪𑒳}} {{IPA|/ba:lu/}} -> {{lang|mai-Tirh|𑒥𑒂𑒅𑒪}} {{IPA|/ba:ul/}} (മണൽ) === വ്യഞ്ജനങ്ങൾ === മൈഥിലിയിൽ നാല് വിഭാഗം സ്പർശ വ്യഞ്ജനങ്ങളും, ഒരു വിഭാഗം ഘർഷ-സ്പർശ വ്യഞ്ജനങ്ങളും, അനുനാസികങ്ങൾ, ഘർഷങ്ങൾ, പ്രവാഹികൾ എന്നിവയുമുണ്ട്. {| class="wikitable" style="text-align:center" |+ മൈഥിലി വ്യഞ്ജനങ്ങൾ ! colspan="3" | [[ഉച്ചാരണസ്ഥാനം]] → ![[ഓഷ്ഠ്യം|ഓഷ്ഠ്യം]] ![[ദന്ത്യം|ദന്ത്യം]] / [[വർത്സ്യം|വർത്സ്യം]] ![[മൂർദ്ധന്യം|മൂർദ്ധന്യം]] ![[താലവ്യം|താലവ്യം]] ![[കണ്ഠ്യം|കണ്ഠ്യം]] ![[കാകില്യം]] |- ! colspan="3" | [[അനുനാസികം|അനുനാസികം]] | {{large|{{IPA link|m}}{{·}}[[മ]]}}<br>( {{large|{{lang|mai-Tirh|𑒧}}}} ) | {{large|{{IPA link|n}}{{·}}[[ന]]}}<br>( {{large|{{lang|mai-Tirh|𑒢}}}} ) | {{large|{{IPA link|ɳ}}{{·}}[[ണ]]}}<br>( {{large|{{lang|mai-Tirh|𑒝}}}} ) | {{large|({{IPA link|ɲ}}){{·}}[[ഞ]]}}<br>( {{large|{{lang|mai-Tirh|𑒘}}}} ) | {{large|{{IPA link|ŋ}}{{·}}[[ങ]]}}<br>( {{large|{{lang|mai-Tirh|𑒓}}}} ) | |- ! rowspan="4" | [[സ്പർശം|സ്പർശം]] /<br/>ഘർഷ-സ്പർശം ! rowspan="2" | <small>ശ്വാസം</small> ! <small>[[Aspiration (phonetics)|അല്പപ്രാണം]]</small> | {{large|{{IPA link|p}}{{·}}[[പ]]}}<br>( {{large|{{lang|mai-Tirh|𑒣}}}} ) | {{large|{{IPA link|t}}{{·}}[[ത]]}}<br>( {{large|{{lang|mai-Tirh|𑒞}}}} ) | {{large|{{IPA link|ʈ}}{{·}}[[ട]]}}<br>( {{large|{{lang|mai-Tirh|𑒙}}}} ) | {{large|{{IPA link|tɕ}}{{·}}[[ച]]}}<br>( {{large|{{lang|mai-Tirh|𑒔}}}} ) | {{large|{{IPA link|k}}{{·}}[[ക]]}}<br>( {{large|{{lang|mai-Tirh|𑒏}}}} ) | |- ! <small>[[Aspiration (phonetics)|മഹാപ്രാണം]]</small> | {{large|{{IPA link|pʰ}}{{·}}[[ഫ]]}}<br>( {{large|{{lang|mai-Tirh|𑒤}}}} ) | {{large|{{IPA link|tʰ}}{{·}}[[ഥ]]}}<br>( {{large|{{lang|mai-Tirh|𑒟}}}} ) | {{large|{{IPA link|ʈʰ}}{{·}}[[ഠ]]}}<br>( {{large|{{lang|mai-Tirh|𑒚}}}} ) | {{large|{{IPA link|tɕʰ}}{{·}}[[ഛ]]}}<br>( {{large|{{lang|mai-Tirh|𑒕}}}} ) | {{large|{{IPA link|kʰ}}{{·}}[[ഖ]]}}<br>( {{large|{{lang|mai-Tirh|𑒐}}}} ) | |- ! rowspan="2" | <small>നാദം</small> ! <small>[[Aspiration (phonetics)|അല്പപ്രാണം]]</small> | {{large|{{IPA link|b}}{{·}}[[ബ]]}}<br>( {{large|{{lang|mai-Tirh|𑒥}}}} ) | {{large|{{IPA link|d}}{{·}}[[ദ]]}}<br>( {{large|{{lang|mai-Tirh|𑒠}}}} ) | {{large|{{IPA link|ɖ}}{{·}}[[ഡ]]}}<br>( {{large|{{lang|mai-Tirh|𑒛}}}} ) | {{large|{{IPA link|dʑ}}{{·}}[[ജ]]}}<br>( {{large|{{lang|mai-Tirh|𑒖}}}} ) | {{large|{{IPA link|ɡ}}{{·}}[[ഗ]]}}<br>( {{large|{{lang|mai-Tirh|𑒑}}}} ) | |- ! <small>[[Aspiration (phonetics)|മഹാപ്രാണം]]</small> | {{large|{{IPA link|bʱ}}{{·}}[[ഭ]]}}<br>( {{large|{{lang|mai-Tirh|𑒦}}}} ) | {{large|{{IPA link|dʱ}}{{·}}[[ധ]]}}<br>( {{large|{{lang|mai-Tirh|𑒡}}}} ) | {{large|{{IPA link|ɖʱ}}{{·}}[[ഢ]]}}<br>( {{large|{{lang|mai-Tirh|𑒜}}}} ) | {{large|{{IPA link|dʑʱ}}{{·}}[[ഝ]]}}<br>( {{large|{{lang|mai-Tirh|𑒗}}}} ) | {{large|{{IPA link|ɡʱ}}{{·}}[[ഘ]]}}<br>( {{large|{{lang|mai-Tirh|𑒒}}}} ) | |- ! rowspan="2" | [[Fricative|ഊഷ്മാവ്]] ! colspan="2" | <small>അഘോഷം</small> | {{large|({{IPA link|ɸ}}~{{IPA link|f}}){{·}}[[ഫ]]}}<br>( {{large|{{lang|mai-Tirh|𑒤𑓃}}}} ) | {{large|{{IPA link|s}}{{·}}[[സ]]}}<br>( {{large|{{lang|mai-Tirh|𑒮}}}} ) | {{large|({{IPA link|ʂ}}){{·}}[[ഷ]]}}<br>( {{large|{{lang|mai-Tirh|𑒭}}}} ) | {{large|({{IPA link|ɕ}}){{·}}[[ശ]]}}<br>( {{large|{{lang|mai-Tirh|𑒬}}}} ) | {{large|({{IPA link|x}})}}<br>( {{large|{{lang|mai-Tirh|𑒐𑓃}}}} ) | {{large|-({{IPA link|h}})*}}<br>( {{large|{{lang|mai-Tirh|𑓁}}}} ) |- ! colspan="2" | <small>നാദം</small> | | {{large|({{IPA link|z}}){{·}}[[സ]]}}<br>( {{large|{{lang|mai-Tirh|𑒖𑓃}}}} ) | | {{large|({{IPA link|ʑ}})}}<br>( {{large|{{lang|mai-Tirh|𑒗𑓃}}}} ) | | {{large|{{IPA link|ɦ}}{{·}}[[ഹ]]}}<br>( {{large|{{lang|mai-Tirh|𑒯}}}} ) |- ! rowspan="2" | [[Rhotic consonant|ഉത്ക്ഷിപ്തം]] ! colspan="2" | <small>അല്പപ്രാണം</small> | | {{large|{{IPA link|ɾ}}~{{IPA link|r}}{{·}}[[ര]]}}<br>( {{large|{{lang|mai-Tirh|𑒩}}}} ) | {{large|({{IPA link|ɽ}})}}<br>( {{large|{{lang|mai-Tirh|𑒛𑓃}}}} ) | | | |- ! colspan="2" | <small>മഹാപ്രാണം</small> | | | {{large|({{IPA link|ɽ}}{{IPA link|ʱ}})}}<br>( {{large|{{lang|mai-Tirh|𑒜𑓃}}}} ) | | | |- ! colspan="3" | [[പാർശ്വികം|പാർശ്വികം]] | | {{large|{{IPA link|l}}{{·}}[[ല]]}}<br>( {{large|{{lang|mai-Tirh|𑒪}}}} ) | | | | |- ! colspan="3" | [[അർദ്ധസ്വരം]] | {{large|({{IPA link|ʋ}}~{{IPA link|w}}){{·}}[[വ]]}}<br>( {{large|{{lang|mai-Tirh|𑒫}}}} ) | | | {{large|({{IPA link|j}}){{·}}[[യ]]}}<br>( {{large|{{lang|mai-Tirh|𑒨}}}} ) | | |} * [ʂ], [ɕ] എന്നീ ഘർഷ വ്യഞ്ജനങ്ങൾ വളരെ അപൂർവ്വമായി ഉപയോഗിക്കാറുള്ളൂ. സാധാരണ സംസാരത്തിൽ ഇവയ്ക്ക് പകരം ദന്ത്യമായ /s/ ({{lang|mai-Tirh|𑒮}}) ആണ് ഉപയോഗിക്കുന്നത്. സ്വരങ്ങൾക്ക് ശേഷമാണ് എപ്പോഴും {{lang|mai-Tirh|𑓁}} (വിസർഗ്ഗം) ചേർക്കുന്നത്. ==== സ്പർശങ്ങൾ ==== മിക്ക ആധുനിക ഇന്തോ-ആര്യൻ ഭാഷകളെയും പോലെ സ്പർശ വ്യഞ്ജനങ്ങൾക്ക് പൂർണ്ണമായ നാല് വകഭേദങ്ങളുണ്ട്: * അല്പപ്രാണ ശ്വാസം - ഉദാഹരണത്തിന് /p/ (ഇംഗ്ലീഷിലെ ''spin'' ലെ 'p' പോലെ). * അല്പപ്രാണ നാദം - ഉദാഹരണത്തിന് /b/ (ഇംഗ്ലീഷിലെ ''bin'' ലെ 'b' പോലെ). * മഹാപ്രാണ ശ്വാസം - ഉദാഹരണത്തിന് /pʰ/ (ഇംഗ്ലീഷിലെ ''pin'' ലെ 'p' പോലെ). * മഹാപ്രാണ നാദം - ഉദാഹരണത്തിന് /bʱ/. മൂർദ്ധന്യ വ്യഞ്ജനങ്ങൾ ഒഴികെ ബാക്കിയെല്ലാ വിഭാഗങ്ങളും പദങ്ങളിൽ എവിടെ വന്നാലും പൂർണ്ണമായ സ്വരവിപര്യയം (phonological contrast) കാണിക്കുന്നു. /ʈ/, /ʈʰ/ എന്നീ അക്ഷരങ്ങൾ എല്ലാ സ്ഥാനങ്ങളിലും വ്യത്യസ്തമായി തന്നെ ഉച്ചരിക്കപ്പെടുന്നു. /ɖ/, /ɖʱ/ എന്നിവ കൂടുതലും പദങ്ങളുടെ തുടക്കത്തിലാണ് ഈ വ്യത്യാസം കാണിക്കുന്നത്.<ref name=":1">{{Cite book |last=Grierson |first=George Abraham |url=https://archive.org/details/introductiontoma00grierich |title=An introduction to the Maithili dialect of the Bihari language as spoken in North Bihar |publisher=Asiatic Society of Bengal |year=1909 |edition=2 |location=Calcutta}}</ref> പദങ്ങൾക്കിടയിലോ അവസാനമോ വരുമ്പോൾ, ഒരു അനുനാസിക വ്യഞ്ജനത്തിന് ശേഷം മാത്രമേ ഇവയ്ക്ക് സ്വന്തം ഉച്ചാരണം ലഭിക്കാറുള്ളൂ. സ്വരങ്ങൾക്ക് ശേഷമോ പദാവസാനമോ വരുമ്പോൾ /ɖʱ/ എന്നത് [ɽʱ~rʱ] ആയി മാറുന്നു.<ref name=":0">{{Cite book |last=Yadav |first=Ramawatar |title=A Reference Grammar of Maithili |location=Berlin |publisher=Mouton de Gruyter. |year=1996 |chapter=Trends in Linguistics: Documentation, 11. |pages=15–27}}</ref> അല്ലാത്തവ യഥാക്രമം [ɽ~ɾ], [ɽʱ~rʱ] എന്നിവയുമായി പരസ്പരം മാറ്റാവുന്നതാണ്.<ref name=":1" /> ==== ഘർഷങ്ങൾ ==== /s/, /ɦ/ എന്നിവയാണ് ഏറ്റവും സാധാരണമായ ഘർഷങ്ങൾ. തത്സമ പദങ്ങളിൽ കാണുന്ന [ɕ] ഒറ്റയ്ക്ക് വരുമ്പോൾ മിക്കവാറും /s/ ആയും, സ്വരങ്ങൾക്ക് മുമ്പ് വരുന്ന [ʂ] എന്നിവ /kʰ/, [x] അല്ലെങ്കിൽ /s/ ആയും മാറുന്നു. പദങ്ങളിൽ /tɕ/-ന് മുൻപ് [ɕ] ഉം, /ʈ/-ന് മുൻപ് [ʂ] ഉം വരുന്നു. പേർഷ്യൻ-അറബി പദങ്ങളിലുള്ള [x], [f] എന്നിവയ്ക്ക് പകരം സാധാരണയായി യഥാക്രമം /kʰ/, /pʰ/ എന്നിവ ഉപയോഗിക്കുന്നു. സംസ്‌കൃത പദങ്ങളിലെ ജിഹ്വാമൂലീയം, ഉപധ്മാനീയം എന്നീ വിസർഗ്ഗരൂപങ്ങളും മൈഥിലിയിൽ ഉപയോഗത്തിലുണ്ട്. ==== പ്രവാഹികളും മറ്റ് വ്യഞ്ജനങ്ങളും ==== /m/, /n/ എന്നിവ പദങ്ങളിൽ ഏതു സ്ഥാനത്തും വരാം. /ŋ/ എന്നത് പദങ്ങളുടെ തുടക്കത്തിലൊഴികെ മറ്റ് സ്ഥാനങ്ങളിൽ വരികയും, അതിനുശേഷം അതേ ഉച്ചാരണസ്ഥാനത്തുള്ള മറ്റൊരു സ്പർശ വ്യഞ്ജനം വരികയും ചെയ്യുന്നു. തത്സമ പദങ്ങളിൽ മാത്രം സ്വതന്ത്രമായി വരുന്ന /ɳ/ മിക്കപ്പോഴും /n/ ആയി മാറുന്നു. /ɲ/ ഒറ്റയ്ക്ക് നിൽക്കാത്ത ഒരേയൊരു അനുനാസികമാണ്. * മൂർദ്ധന്യമായ [ɽ] അപൂർവ്വമായി മാത്രമേ ഉപയോഗിക്കുന്നുള്ളൂ. ഇതിനെ സാധാരണയായി വർത്സ്യമായ [ɾ] ആയി ഉച്ചരിക്കുകയും /r/ മായി മാറ്റി ഉപയോഗിക്കുകയും ചെയ്യുന്നു.<ref name=":1" /> * സംസ്‌കൃതത്തിൽ നിന്നോ പേർഷ്യൻ-അറബിയിൽ നിന്നോ കടമെടുത്ത പദങ്ങളിലാണ് പ്രവാഹികളായ [ʋ, w, j], ഘർഷങ്ങളായ [ɸ, f, z, ɕ, ʑ, ʂ, x] എന്നിവ പ്രധാനമായും കാണുന്നത്. {{lang|mai-Tirh|𑒭𑓂𑒣}} (ഷ്പ) എന്നത് [ɸp] എന്നും {{lang|mai-Tirh|𑒯𑓂𑒨}} (ഹ്യ) എന്നത് [ɦʑ] എന്നുമാണ് മൈഥിലിയിൽ ഉച്ചരിക്കുന്നത് (ഉദാഹരണത്തിന്: പുഷ്പ - [puɸp(ə)], ഗ്രാഹ്യ - [graɦʑə]).<ref name=":1" /> മൈഥിലിയിൽ നാല് അർദ്ധസ്വരങ്ങളുണ്ട്: i̯, u̯, e̯, o̯. തിർഹുതയിൽ ഇവ യഥാക്രമം {{lang|mai-Tirh|𑒨𑓃}}, {{lang|mai-Tirh|𑒫𑓃}}, {{lang|mai-Tirh|𑒨𑓃𑒹}}, {{lang|mai-Tirh|𑒫𑓃𑒺}} എന്ന് എഴുതുന്നുവെങ്കിലും, മിക്കവാറും നുക്താ ചിഹ്നമില്ലാതെയാണ് ഇവ ഉപയോഗിക്കുന്നത്. == വ്യാകരണം == {{Main|മൈഥിലി വ്യാകരണം}} === നാമങ്ങൾ === വിഭക്തി രൂപങ്ങളുടെ ഒരു ഉദാഹരണം താഴെ നൽകുന്നു: {| class="wikitable" ! rowspan="2" |[[വിഭക്തി]] ! colspan="3" |ഏകവചനം ! colspan="3" |ബഹുവചനം |- !സ്ത്രീലിംഗം !പുല്ലിംഗം !നപുംസകലിംഗം !സ്ത്രീലിംഗം !പുല്ലിംഗം !നപുംസകലിംഗം |- !നിർദ്ദേശിക | -{{lang|mai-Tirh|𑒃}} ɪ | colspan="2" rowspan="2" | -{{lang|mai-Tirh|𑒂}} / {{lang|mai-Tirh|𑒁}}꣱ aː/ɔ | -{{lang|mai-Tirh|𑒃𑒢}} ɪn | -{{lang|mai-Tirh|𑒁𑒢}}, -{{lang|mai-Tirh|𑒁𑒢𑒱}} ən, ənɪ̆ | rowspan="2" | -{{lang|mai-Tirh|𑒁𑒢}}, -{{lang|mai-Tirh|𑒁𑒢𑒱}} ən, ənɪ̆ |- !പ്രതിഗ്രാഹിക (അനിർദ്ദിഷ്ടം) | -{{lang|mai-Tirh|𑒄}} iː | -{{lang|mai-Tirh|𑒄}} iː | -{{lang|mai-Tirh|𑒂}} aː |- !പ്രയോജിക | colspan="2" |അനുസർഗ്ഗങ്ങൾ ഉപയോഗിക്കുന്നു<br /> | -{{lang|mai-Tirh|𑒋𑓀}} ẽː | colspan="2" |അനുസർഗ്ഗങ്ങൾ ഉപയോഗിക്കുന്നു | -{{lang|mai-Tirh|𑒁𑒢𑓂𑒯𑒱}} ənʰɪ̆ |- ! rowspan="2" |ഉദ്ദേശിക | colspan="6" |അനുസർഗ്ഗങ്ങൾ ഉപയോഗിക്കുന്നു |- | -{{lang|mai-Tirh|𑒃𑒪}} ɪlə | colspan="2" | -{{lang|mai-Tirh|𑒁𑒪}} ələ | colspan="3" rowspan="3" |രൂപങ്ങളില്ല |- !കർതൃവിഭക്തി | -{{lang|mai-Tirh|𑒃𑒋𑓀}} ɪẽː | colspan="2" | -{{lang|mai-Tirh|𑒋𑓀}} ẽː |- !അപദാസിക | -{{lang|mai-Tirh|𑒃𑒞𑓁}} ɪtəh | colspan="2" | -{{lang|mai-Tirh|𑒁𑒞𑓁}} ətəh |- !സംബന്ധിക | -{{lang|mai-Tirh|𑒃𑒏}} ɪk, -{{lang|mai-Tirh|𑒃𑒩}} ɪr | colspan="2" | -{{lang|mai-Tirh|𑒁𑒏}} ək, -{{lang|mai-Tirh|𑒁𑒩}} ər | -{{lang|mai-Tirh|𑒄𑓀𑒏}} ĩːk | colspan="2" | -{{lang|mai-Tirh|𑒂𑓀𑒏}} ãːk |- !ആധാരിക | colspan="2" |അനുസർഗ്ഗങ്ങൾ ഉപയോഗിക്കുന്നു | -{{lang|mai-Tirh|𑒋}} eː | colspan="2" |അനുസർഗ്ഗങ്ങൾ ഉപയോഗിക്കുന്നു | -{{lang|mai-Tirh|𑒂𑓀}} ãː |- !സംബോധന | -{{lang|mai-Tirh|𑒃}} ɪ / {{lang|mai-Tirh|𑒄}} iː | colspan="2" | -{{lang|mai-Tirh|𑒂}} / {{lang|mai-Tirh|𑒁𑓄}} aː/əː | -{{lang|mai-Tirh|𑒃𑒢}} ɪn | colspan="2" | -{{lang|mai-Tirh|𑒁𑒢}}, -{{lang|mai-Tirh|𑒁𑒢𑒱}} ən, ənɪ̆ |} === നാമവിശേഷണങ്ങൾ === മൈഥിലിയിൽ നാമങ്ങളും [[നാമവിശേഷണം|നാമവിശേഷണങ്ങളും]] തമ്മിലുള്ള വ്യത്യാസം വളരെ നേരിയതാണ്. എങ്കിലും ചില സവിശേഷമായ നാമവിശേഷണ രൂപങ്ങൾ ഇതിലുണ്ട്. {| class="wikitable" ! !പുല്ലിംഗം !സ്ത്രീലിംഗം !നപുംസകലിംഗം |- !നിർദ്ദിഷ്ടം | -{{lang|mai-Tirh|𑒏𑒂}} / {{lang|mai-Tirh|𑒏}}꣱ kaː/kɔ | -{{lang|mai-Tirh|𑒏𑒱}} / {{lang|mai-Tirh|𑒏𑒱}} kɪ/kɪ̆ | {{lang|mai-Tirh|𑒏𑒂}} / {{lang|mai-Tirh|𑒏𑓄}} kaː/kəː |- !അനിർദ്ദിഷ്ടം | -{{lang|mai-Tirh|𑒂}} / {{lang|mai-Tirh|𑒁}}꣱ aː/ɔ | -{{lang|mai-Tirh|𑒃}} / {{lang|mai-Tirh|𑒃}} ɪ/ɪ̆ | {{lang|mai-Tirh|𑒁}} / {{lang|mai-Tirh|𑒁𑓄}} ᵊ/əː |} === സർവ്വനാമങ്ങൾ === {{Main|മൈഥിലി വ്യാകരണം#സർവ്വനാമങ്ങൾ}} നാമങ്ങളുടേതിന് സമാനമായാണ് മൈഥിലിയിൽ [[സർവ്വനാമം|സർവ്വനാമങ്ങളുടെയും]] വിഭക്തി രൂപങ്ങൾ നിർമ്മിക്കുന്നത്. എന്നാൽ സംബന്ധികാ വിഭക്തിക്ക് പ്രത്യേക രൂപങ്ങളുണ്ട്. താഴെ നൽകിയിരിക്കുന്ന പട്ടികയിലെ രണ്ടാമത്തെ നിര പ്രതിഗ്രാഹിക വിഭക്തിയെയും (Accusative) അനുസർഗ്ഗ രൂപങ്ങളെയും സൂചിപ്പിക്കുന്നു. സർവ്വനാമങ്ങളുടെ ബഹുവചനം പദങ്ങൾ കൂട്ടിച്ചേർത്താണ് രൂപീകരിക്കുന്നത്. {| class="wikitable" ! colspan="2" |പുരുഷൻ !സാധാരണ രൂപം !ബഹുമാനസൂചകം !അതിബഹുമാനസൂചകം |- ! colspan="2" rowspan="2" |ഉത്തമപുരുഷൻ | colspan="3" | {{lang|mai-Tirh|𑒯𑒧}} ɦəm {{lang|mai-Tirh|𑒁𑒣𑒢𑒂}} ɐpᵊnaː (ഉൾക്കൊള്ളുന്നത്) |- | colspan="3" |{{lang|mai-Tirh|𑒯𑒧𑒩𑒂}} ɦəmᵊraː {{lang|mai-Tirh|𑒁𑒣𑒢𑒂}} ɐpᵊnaː (ഉൾക്കൊള്ളുന്നത്) |- ! colspan="2" rowspan="2" |മധ്യമപുരുഷൻ |{{lang|mai-Tirh|𑒞𑒼𑓀𑒯}} tõːɦᵊ | rowspan="2" |{{lang|mai-Tirh|𑒁𑒯𑒂𑓀}} ɐɦãː | rowspan="2" |{{lang|mai-Tirh|𑒁𑒣𑒢𑒹}} ɐpᵊneː |- |{{lang|mai-Tirh|𑒞𑒼𑓀𑒯𑒩𑒂}} tõːɦᵊraː |- ! rowspan="8" |പ്രഥമപുരുഷൻ ! rowspan="4" |സമീപസ്ഥം |{{lang|mai-Tirh|𑒄}} iː | colspan="2" |{{lang|mai-Tirh|𑒋}} eː |- |{{lang|mai-Tirh|𑒋𑒏𑒩𑒂}} ekᵊraː | colspan="2" |{{lang|mai-Tirh|𑒯𑒱𑒢𑒏𑒂}} ɦɪnᵊkaː |- | colspan="3" |{{lang|mai-Tirh|𑒋}} eː (നപുംസകലിംഗം) |- | colspan="3" |{{lang|mai-Tirh|𑒋𑒯𑒱}}, {{lang|mai-Tirh|𑒋}}, {{lang|mai-Tirh|𑒁𑒟𑒱}} eɦɪ, æ, ɐtʰɪ (നപുംസകലിംഗം) |- ! rowspan="4" |ദൂരസ്ഥം |{{lang|mai-Tirh|𑒆}}, {{lang|mai-Tirh|𑒫𑒂}} uː, ʋaː | colspan="2" |{{lang|mai-Tirh|𑒍}} oː |- |{{lang|mai-Tirh|𑒍𑒏𑒩𑒂}} okᵊraː | colspan="2" |{{lang|mai-Tirh|𑒯𑒳𑒢𑒏𑒂}} ɦʊnᵊkaː |- | colspan="3" |{{lang|mai-Tirh|𑒍}} o (നപുംസകലിംഗം) |- | colspan="3" |{{lang|mai-Tirh|𑒍𑒯𑒱}}, {{lang|mai-Tirh|𑒎}} oɦɪ, əʊ (നപുംസകലിംഗം) |} == ലിപി == [[File:Mandar parvat inscriptions of Tirhuta.jpg|thumb|ഏഴാം നൂറ്റാണ്ടിലെ മന്ദാർ പർവ്വതത്തിലെ തിർഹുത ശിലാശാസനങ്ങൾ]] [[File:Sahodara Inscription.jpg|alt=Location of it is Sahodara temple in West Champaran Bihar.|thumb|എ.ഡി. 950-ലെ മൈഥിലി ലിപിയിലുള്ള ''സഹോദര'' ശിലാശാസനം]] [[File:Varṇa Ratnākara manuscript in the Library of Royal Asiatic Society of Bengal.jpg|thumb|മൈഥിലി ലിപിയിലുള്ള 'വർണ്ണ രത്നാകരം' എന്ന കൈയെഴുത്തുപ്രതി]] {{main|തിർഹുത ലിപി}} മൈഥിലി ഭാഷ എഴുതാൻ പരമ്പരാഗതമായി ഉപയോഗിക്കുന്ന ലിപിയാണ് [[തിർഹുത ലിപി|തിർഹുത]]. ഇതിനെ '''മിഥിലാക്ഷരം''' എന്നും വിളിക്കുന്നു. ഏഴാം നൂറ്റാണ്ടിൽ രൂപപ്പെട്ട ഈ ലിപിക്ക് [[കിഴക്കൻ നാഗരി ലിപി|ബംഗാളി-ആസ്സാമീസ് ലിപികളോട്]] വലിയ സാമ്യമുണ്ട്. ആദിത്യസേനൻ്റെ മന്ദാർ ഹിൽ ശിലാശാസനങ്ങളിലാണ് ഈ ലിപിയുടെ ഏറ്റവും പഴക്കമുള്ള തെളിവുകൾ കാണപ്പെടുന്നത്. നൂറ്റാണ്ടുകളോളം മഹാകവി വിദ്യാപതിയുടെ കൃതികൾ ഉൾപ്പെടെയുള്ള മൈഥിലി സാഹിത്യം രചിക്കപ്പെട്ടത് തിർഹുത ലിപിയിലായിരുന്നു.<ref name="Pandey2011">{{Cite web |last=Pandey |first=Anshuman |date=5 May 2011 |title=Proposal to Encode the Tirhuta Script in ISO/IEC 10646 |url=https://www.unicode.org/L2/L2011/11175r-tirhuta.pdf |website=Unicode.org |publisher=Unicode Consortium |format=PDF |access-date=4 ഏപ്രിൽ 2026}}</ref> ഇരുപതാം നൂറ്റാണ്ടോടെ മൈഥിലി എഴുതാൻ പ്രധാനമായും [[ദേവനാഗരി ലിപി|ദേവനാഗരി]] വ്യാപകമായി ഉപയോഗിക്കാൻ തുടങ്ങിയെങ്കിലും, മിഥിലാ പ്രദേശത്തിൻ്റെ സാംസ്കാരിക പൈതൃകത്തിൻ്റെ സുപ്രധാന ഭാഗമായി തിർഹുത ഇന്നും നിലനിൽക്കുന്നു. മതപരമായ ചടങ്ങുകൾക്കും പരമ്പരാഗത രേഖകൾക്കും വിവാഹപത്രികകൾ തയ്യാറാക്കുന്നതിനും ഈ ലിപി ഇപ്പോഴും ഉപയോഗിച്ചുവരുന്നു. === സ്വരങ്ങൾ === തിർഹുത ലിപിയിൽ പ്രധാനമായും 14 സ്വതന്ത്ര സ്വരാക്ഷരങ്ങളാണുള്ളത് ([[ഋ]], [[ൠ]], [[ഌ]], [[ൡ]] എന്നിവയുൾപ്പെടെ). പദങ്ങളുടെ തുടക്കത്തിൽ വരുമ്പോഴോ, മറ്റ് അക്ഷരങ്ങളുമായി ചേരാതെ ഒറ്റയ്ക്ക് നിൽക്കുമ്പോഴോ ആണ് ഇവ പ്രധാനമായും ഉപയോഗിക്കുന്നത്. {| class="wikitable" style="text-align:center;" |+ തിർഹുത സ്വരാക്ഷരങ്ങൾ |- |{{അക്ഷരങ്ങൾ|top=अ|l=mai|s=Tirh|ch=𑒁|ml=അ|ipa=/ə/|color=red}} |{{അക്ഷരങ്ങൾ|top=आ|l=mai|s=Tirh|ch=𑒂|ml=ആ|ipa=/aː/|color=red}} |{{അക്ഷരങ്ങൾ|top=इ|l=mai|s=Tirh|ch=𑒃|ml=ഇ|ipa=/i/|color=red}} |{{അക്ഷരങ്ങൾ|top=ई|l=mai|s=Tirh|ch=𑒄|ml=ഈ|ipa=/iː/|color=red}} |{{അക്ഷരങ്ങൾ|top=उ|l=mai|s=Tirh|ch=𑒅|ml=ഉ|ipa=/u/|color=red}} |- |{{അക്ഷരങ്ങൾ|top=ऊ|l=mai|s=Tirh|ch=𑒆|ml=ഊ|ipa=/uː/|color=red}} |{{അക്ഷരങ്ങൾ|top=ऋ|l=mai|s=Tirh|ch=𑒇|ml=ഋ|ipa=/ri/|color=red}} |{{അക്ഷരങ്ങൾ|top=ॠ|l=mai|s=Tirh|ch=𑒈|ml=ൠ|ipa=/riː/|color=red}} |{{അക്ഷരങ്ങൾ|top=ऌ|l=mai|s=Tirh|ch=𑒉|ml=ഌ|ipa=/li/|color=red}} |{{അക്ഷരങ്ങൾ|top=ॡ|l=mai|s=Tirh|ch=𑒊|ml=ൡ|ipa=/liː/|color=red}} |- |{{അക്ഷരങ്ങൾ|top=ए|l=mai|s=Tirh|ch=𑒋|ml=ഏ|ipa=/eː/|color=red}} |{{അക്ഷരങ്ങൾ|top=ऐ|l=mai|s=Tirh|ch=𑒌|ml=ഐ|ipa=/ɛː/|color=red}} |{{അക്ഷരങ്ങൾ|top=ओ|l=mai|s=Tirh|ch=𑒍|ml=ഓ|ipa=/oː/|color=red}} |{{അക്ഷരങ്ങൾ|top=औ|l=mai|s=Tirh|ch=𑒎|ml=ഔ|ipa=/ɔː/|color=red}} | |} വ്യഞ്ജനാക്ഷരങ്ങളിലെ സ്വതവേയുള്ള സ്വരത്തിന് മാറ്റം വരുത്താൻ ആശ്രിത സ്വരചിഹ്നങ്ങൾ (മാത്രകൾ) ഉപയോഗിക്കുന്നു. ഇതിനുപുറമെ നാസികാധ്വനികളെ സൂചിപ്പിക്കാനുള്ള [[അനുസ്വാരം]], ചന്ദ്രബിന്ദു, [[വിസർഗം|വിസർഗ്ഗം]], സ്വരരഹിതമായ വ്യഞ്ജനത്തെ സൂചിപ്പിക്കാനുള്ള ഹലന്ത് (ചന്ദ്രക്കല), വിദേശ പദങ്ങളിലെ ഉച്ചാരണവ്യത്യാസം കാണിക്കാനുള്ള നുക്താ, പദങ്ങളുടെ നീട്ടൽ കാണിക്കുന്ന അവഗ്രഹം തുടങ്ങിയ പ്രത്യേക ചിഹ്നങ്ങളും ഈ ലിപിയിലുണ്ട്. {| class="wikitable" style="text-align:center;" |+ തിർഹുത സ്വരചിഹ്നങ്ങൾ |- |{{അക്ഷരങ്ങൾ|top={{huge|𑒂}}|l=mai|s=Tirh|ch=𑒰|ml=ാ|ipa=/aː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒃}}|l=mai|s=Tirh|ch=𑒱|ml=ി|ipa=/i/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒄}}|l=mai|s=Tirh|ch=𑒲|ml=ീ|ipa=/iː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒅}}|l=mai|s=Tirh|ch=𑒳|ml=ു|ipa=/u/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒆}}|l=mai|s=Tirh|ch=𑒴|ml=ൂ|ipa=/uː/|color=red}} |- |{{അക്ഷരങ്ങൾ|top={{huge|𑒇}}|l=mai|s=Tirh|ch=𑒵|ml=ൃ|ipa=/ri/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒈}}|l=mai|s=Tirh|ch=𑒶|ml=ൄ|ipa=/riː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒉}}|l=mai|s=Tirh|ch=𑒷|ml=ൢ|ipa=/li/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒊}}|l=mai|s=Tirh|ch=𑒸|ml=ൣ|ipa=/liː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{notetag| ◌𑒺 ('എ') സ്വരചിഹ്നത്തിന് സ്വതന്ത്രമായ സ്വരാക്ഷര രൂപമ്മില്ല. കാരണം, ഈ ശബ്ദം ഒരിക്കലും പദങ്ങളുടെ തുടക്കത്തിൽ വരാറില്ല.<ref name="Pandey2011" />}}|l=mai|s=Tirh|ch=𑒺|ml=െ|ipa=/eː/|color=red}} |- |{{അക്ഷരങ്ങൾ|top={{huge|𑒋}}|l=mai|s=Tirh|ch=𑒹|ml=േ|ipa=/eː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒌}}|l=mai|s=Tirh|ch=𑒻|ml=ൈ|ipa=/ɛː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{notetag| ◌𑒽 ('ഒ') സ്വരചിഹ്നത്തിന് സ്വതന്ത്രമായ സ്വരാക്ഷര രൂപമ്മില്ല. കാരണം, ഈ ശബ്ദം ഒരിക്കലും പദങ്ങളുടെ തുടക്കത്തിൽ വരാറില്ല.<ref name="Pandey2011" />}}|l=mai|s=Tirh|ch=𑒽|ml=ൊ|ipa=/oː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒍}}|l=mai|s=Tirh|ch=𑒻|ml=ോ|ipa=/oː/|color=red}} |{{അക്ഷരങ്ങൾ|top={{huge|𑒎}}|l=mai|s=Tirh|ch=𑒾|ml=ൌ|ipa=/ɔː/|color=red}} |} {{noteFoot|തിർഹുത സ്വരചിഹ്നങ്ങൾ}} {| class="wikitable" style="text-align:center;" |+ തിർഹുത അനുബന്ധ ചിഹ്നങ്ങൾ |- |{{അക്ഷരങ്ങൾ|top=ं|l=mai|s=Tirh|ch=𑓀|ml=ം|note=[[അനുസ്വാരം]]|color=red}} |{{അക്ഷരങ്ങൾ|top=ँ|l=mai|s=Tirh|ch=𑒿|ml=ँ|note=[[അനുസ്വാരം|ചന്ദ്രബിന്ദു]]|color=red}} |{{അക്ഷരങ്ങൾ|top=ः|l=mai|s=Tirh|ch=𑓁|ml=ഃ|note=[[വിസർഗ്ഗം]]|color=red}} |{{അക്ഷരങ്ങൾ|top=्|l=mai|s=Tirh|ch=𑓂|ml=്|note=[[ചന്ദ്രക്കല]]|color=red}} |{{അക്ഷരങ്ങൾ|top=ऽ|l=mai|s=Tirh|ch=𑓄|ml=ഽ|note=അവഗ്രഹം|color=red}} |- |{{അക്ഷരങ്ങൾ|top=़|l=mai|s=Tirh|ch=𑓃|ml=|note=നുക്താ|color=red}} |{{അക്ഷരങ്ങൾ|top=ঀ|l=mai|s=Tirh|ch=𑒀|note=അഞ്ജി|color=red}} |{{അക്ഷരങ്ങൾ|top=ॐ|l=mai|s=Tirh|ch=𑓇|note=[[ഓം]]|color=red}} |{{അക്ഷരങ്ങൾ|l=mai|s=Tirh|ch=𑓅|note=ഗ്വാങ്|color=red}} |} === വ്യഞ്ജനങ്ങൾ === തിർഹുത അക്ഷരമാലയിൽ പ്രധാനമായും 33 വ്യഞ്ജനാക്ഷരങ്ങളാണുള്ളത്; മറ്റ് ബ്രാഹ്മി ലിപികളെപ്പോലെ ഇവയോരോന്നിനും സ്വതവേ 'അ' (/ə/) എന്ന അടിസ്ഥാന സ്വരശബ്ദം അടങ്ങിയിരിക്കുന്നു. വ്യഞ്ജനങ്ങളിലെ ഈ സ്വരം ഒഴിവാക്കി ശുദ്ധമായ വ്യഞ്ജനശബ്ദം മാത്രം ലഭിക്കുന്നതിനായി ഹലന്ത് അഥവാ വിരാമ ചിഹ്നം ഉപയോഗിക്കുന്നു.<ref name="Pandey2011" /> {| class="wikitable" style="text-align:center;" |+ തിർഹുത വ്യഞ്ജനാക്ഷരങ്ങൾ |- |{{അക്ഷരങ്ങൾ|top=क|l=mai|s=Tirh|ch=𑒏|ml=ക|ipa=/kə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ख|l=mai|s=Tirh|ch=𑒐|ml=ഖ|ipa=/kʰə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ग|l=mai|s=Tirh|ch=𑒑|ml=ഗ|ipa=/gə/|color=red}} |{{അക്ഷരങ്ങൾ|top=घ|l=mai|s=Tirh|ch=𑒒|ml=ഘ|ipa=/gʱə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ङ|l=mai|s=Tirh|ch=𑒓|ml=ങ|ipa=/ŋə/|color=red}} |- |{{അക്ഷരങ്ങൾ|top=च|l=mai|s=Tirh|ch=𑒔|ml=ച|ipa=/t͡ʃə/|color=red}} |{{അക്ഷരങ്ങൾ|top=छ|l=mai|s=Tirh|ch=𑒕|ml=ഛ|ipa=/t͡ʃʰə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ज|l=mai|s=Tirh|ch=𑒖|ml=ജ|ipa=/d͡ʒə/|color=red}} |{{അക്ഷരങ്ങൾ|top=झ|l=mai|s=Tirh|ch=𑒗|ml=ഝ|ipa=/d͡ʒʱə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ञ|l=mai|s=Tirh|ch=𑒘|ml=ഞ|ipa=/ɲə/|color=red}} |- |{{അക്ഷരങ്ങൾ|top=ट|l=mai|s=Tirh|ch=𑒙|ml=ട|ipa=/ʈə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ठ|l=mai|s=Tirh|ch=𑒚|ml=ഠ|ipa=/ʈʰə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ड|l=mai|s=Tirh|ch=𑒛|ml=ഡ|ipa=/ɖə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ढ|l=mai|s=Tirh|ch=𑒜|ml=ഢ|ipa=/ɖʱə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ण|l=mai|s=Tirh|ch=𑒝|ml=ണ|ipa=/ɳə/|color=red}} |- |{{അക്ഷരങ്ങൾ|top=त|l=mai|s=Tirh|ch=𑒞|ml=ത|ipa=/t̪ə/|color=red}} |{{അക്ഷരങ്ങൾ|top=थ|l=mai|s=Tirh|ch=𑒟|ml=ഥ|ipa=/t̪ʰə/|color=red}} |{{അക്ഷരങ്ങൾ|top=द|l=mai|s=Tirh|ch=𑒠|ml=ദ|ipa=/d̪ə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ध|l=mai|s=Tirh|ch=𑒡|ml=ധ|ipa=/d̪ʱə/|color=red}} |{{അക്ഷരങ്ങൾ|top=न|l=mai|s=Tirh|ch=𑒢|ml=ന|ipa=/nə/|color=red}} |- |{{അക്ഷരങ്ങൾ|top=प|l=mai|s=Tirh|ch=𑒣|ml=പ|ipa=/pə/|color=red}} |{{അക്ഷരങ്ങൾ|top=फ|l=mai|s=Tirh|ch=𑒤|ml=ഫ|ipa=/pʰə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ब|l=mai|s=Tirh|ch=𑒥|ml=ബ|ipa=/bə/|color=red}} |{{അക്ഷരങ്ങൾ|top=भ|l=mai|s=Tirh|ch=𑒦|ml=ഭ|ipa=/bʱə/|color=red}} |{{അക്ഷരങ്ങൾ|top=म|l=mai|s=Tirh|ch=𑒧|ml=മ|ipa=/mə/|color=red}} |- |{{അക്ഷരങ്ങൾ|top=य|l=mai|s=Tirh|ch=𑒨|ml=യ|ipa=/jə/|color=red}} |{{അക്ഷരങ്ങൾ|top=र|l=mai|s=Tirh|ch=𑒩|ml=ര|ipa=/ɾə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ल|l=mai|s=Tirh|ch=𑒪|ml=ല|ipa=/lə/|color=red}} |{{അക്ഷരങ്ങൾ|top=व|l=mai|s=Tirh|ch=𑒫|ml=വ|ipa=/ʋə/|color=red}} | |- |{{അക്ഷരങ്ങൾ|top=श|l=mai|s=Tirh|ch=𑒬|ml=ശ|ipa=/ʃə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ष|l=mai|s=Tirh|ch=𑒭|ml=ഷ|ipa=/ʂə/|color=red}} |{{അക്ഷരങ്ങൾ|top=स|l=mai|s=Tirh|ch=𑒮|ml=സ|ipa=/sə/|color=red}} |{{അക്ഷരങ്ങൾ|top=ह|l=mai|s=Tirh|ch=𑒯|ml=ഹ|ipa=/ɦə/|color=red}} | |} == ഉദാഹരണ വാചകങ്ങൾ == താഴെ നൽകിയിരിക്കുന്ന വാചകം [[അന്താരാഷ്ട്ര മനുഷ്യാവകാശ പ്രഖ്യാപനം|സാർവ്വദേശീയ മനുഷ്യാവകാശ പ്രഖ്യാപനത്തിലെ]] വകുപ്പ് 1. നിന്നുള്ളതാണ്.<ref name="UDHR_Maithili">{{cite web |url=https://www.ohchr.org/sites/default/files/UDHR/Documents/UDHR_Translations/mai.pdf|title=Universal Declaration of Human Rights: Maithili|trans-title=𑒧𑒰𑒢𑒫 𑒁𑒡𑒱 𑒏𑒰𑒩𑒏 𑒮𑒰𑒫𑒫𑒦𑒾𑒧 𑒒𑒼𑒭𑒝𑒰|url-status=live|archive-date=23 May 2023|archive-url=https://web.archive.org/web/20230523052900/https://www.ohchr.org/sites/default/files/UDHR/Documents/UDHR_Translations/mai.pdf|website=OHCHR.org|publisher=Office of the United Nations High Commissioner for Human Rights|format=PDF |page=2|language=mai|access-date=17 January 2026}}</ref> ==== മൈഥിലി [[തിർഹുത ലിപി|തിർഹുത]] ലിപിയിൽ ==== {{Block indent|{{large|{{Lang|mai|{{script|Tirh|'''𑒁𑒢𑒳𑒔𑓂𑒕𑒹𑒠 𑓑:''' 𑒮𑒦 𑒧𑒰𑒢𑒫 𑒖𑒢𑓂𑒧𑒞𑓁 𑒮𑓂𑒫𑒞𑒢𑓂𑒞𑓂𑒩 𑒁𑒕𑒱 𑒞𑒟𑒰 𑒑𑒩𑒱𑒧𑒰 𑒂 𑒁𑒡𑒱𑒏𑒰𑒩𑒧𑒹 𑒮𑒧𑒰𑒢 𑒁𑒕𑒱। 𑒮𑒦𑒏𑒹𑒿 𑒁𑒣𑒢–𑒁𑒣𑒢 𑒥𑒳𑒠𑓂𑒡𑒱 𑒂 𑒫𑒱𑒫𑒹𑒏 𑒕𑒻𑒏 𑒂𑒍𑒩 𑒮𑒦𑒏𑒹𑒿 𑒋𑒏 𑒠𑒼𑒮𑒩𑒏 𑒣𑓂𑒩𑒞𑒱 𑒮𑒾𑒯𑒰𑒩𑓂𑒠𑒣𑒴𑒩𑓂𑒝 𑒫𑓂𑒨𑒫𑒯𑒰𑒩 𑒏𑒩𑒥𑒰𑒏 𑒔𑒰𑒯𑒲।}}}}}}}} ==== മൈഥിലി [[ദേവനാഗരി]] ലിപിയിൽ ==== {{Block indent|{{lang|mai|'''अनुच्छेद १:''' सभ मानव जन्मतः स्वतन्त्र अछि' तथा गरिमा आ अधिकारमे समान अछि'। सभकेँ अपन–अपन बुद्धि आ विवेक छैक आऒर सभकेँ एक दॊसराक प्रति सौहार्दपूर्ण व्यवहार करबाक चाही।}}}} ==== ([[ISO 15919]]) ലത്തീൻ വൽക്കരണം ==== {{Block indent|'''Anucchēd<sup>a</sup> Ēk<sup>a</sup>:''' Sabh<sup>a</sup> mānab<sup>a</sup> janmataḥ svatantra ach<sup>i</sup> tathā garimā ā adhikār<sup>a</sup>mē samān<sup>a</sup> ach<sup>i</sup>. Sabh<sup>a</sup>kē̃ apan<sup>a</sup>-apan<sup>a</sup> buddhi ā bibek<sup>a</sup> chaik<sup>a</sup> āor<sup>a</sup> sabh<sup>a</sup>kē̃ ek<sup>a</sup> dos<sup>a</sup>rāk<sup>a</sup> prati sauhārdapūrṇa byabahār<sup>a</sup> kar<sup>a</sup>bāk<sup>a</sup> cāhī.}} ==== മലയാളം പരിഭാഷ ==== {{blockindent|'''വകുപ്പ് 1.''' മനുഷ്യരെല്ലാവരും തുല്യാവകാശങ്ങളോടും അന്തസ്സോടും കൂടി സ്വതന്ത്രരായി ജനിച്ചവരാണ്. മനുഷ്യനു വിവേകവും മനഃസാക്ഷിയും സിദ്ധിച്ചിട്ടുണ്ട്. അവർ പരസ്പരം സഹോദരഭാവത്തോടെ വർത്തിക്കേണ്ടതാണ്.}} == അവലംബം == <references/> == പുറത്തേയ്ക്കുള്ള കണ്ണികൾ == {{Interwiki|code=mai}} {{Commons category|Maithili language}} {{Official_languages_of_India}} {{ഇന്തോ-ആര്യൻ ഭാഷകൾ|state=collapsed}} {{Bihari languages|state=expanded}} {{Languages of South Asia|state=collapsed}} [[വർഗ്ഗം:ഇന്ത്യയിലെ ഭാഷകൾ]] [[വർഗ്ഗം:മൈഥിലി]] [[വർഗ്ഗം:ഇന്ത്യയിലെ ഔദ്യോഗിക ഭാഷകൾ]] [[വർഗ്ഗം:ഇന്തോ-ആര്യൻ ഭാഷകൾ]] 28l1e7lrj9nx5c9tqnc60rdronjnc5s പി.കെ. കുഞ്ഞാലിക്കുട്ടി 0 35446 4621567 4620187 2026-05-22T14:00:28Z GV2010 217548 /* */ 4621567 wikitext text/x-wiki {{prettyurl|P.K. Kunhalikkutty}} {{Infobox officeholder | name = പി.കെ. കുഞ്ഞാലിക്കുട്ടി | image = P. K. Kunhalikutty BNC.jpg | caption = | office = [[കേരള സർക്കാർ|കേരളത്തിലെ]] വ്യവസായ വകുപ്പ് മന്ത്രി | term = 18 മെയ് 2026 - ഇപ്പോൾ | 1blankname = Another Departments | 1namedata = വിവരവിനിമയ സാങ്കേതികവിദ്യ. | predecessor = [[പി. രാജീവ്]] | constituency3 = [[കുറ്റിപ്പുറം നിയമസഭാമണ്ഡലം|കുറ്റിപ്പുറം]] | term_start3 = [[ജൂൺ 24]] [[1991]] | term_end3 = [[മേയ് 9]] [[1996]] | predecessor3 = [[കെ.ആർ. ഗൗരിയമ്മ]] | successor3 = [[സുശീല ഗോപാലൻ]] | term_start4 = [[മേയ് 17]] [[2001]] | term_end4 = [[ജനുവരി 6]] [[2005]] | predecessor4 = [[സുശീല ഗോപാലൻ]] | successor4 = [[വി.കെ. ഇബ്രാഹിംകുഞ്ഞ്]] | constituency5 = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | term_start5 = [[മേയ് 18]] [[2011]] | term_end5 = [[മേയ് 20]] [[2016]] | predecessor5 = [[എളമരം കരീം]] | successor5 = [[ഇ.പി. ജയരാജൻ]] | office6 = [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] അംഗം | constituency6 = [[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] | term_start6 = [[മേയ് 24]] [[1982]] | term_end6 = [[മേയ് 5]] [[1991]] | predecessor6 = [[യു.എ. ബീരാൻ]] | successor6 = [[എ. യൂനുസ്‌കുഞ്ഞ്]] | constituency7 = [[കുറ്റിപ്പുറം നിയമസഭാമണ്ഡലം|കുറ്റിപ്പുറം]] | term_start7 = [[മേയ് 21]] [[1991]] | term_end7 = [[മേയ് 12]] [[2006]] | predecessor7 = [[കൊരമ്പയിൽ അഹമ്മദ് ഹാജി]] | successor7 = [[കെ.ടി. ജലീൽ]] | constituency = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | term_start8 = [[മേയ് 14]] [[2011]] | term_end8 = [[ഏപ്രിൽ 25]] [[2017]] | predecessor8 = | successor8 = [[കെ.എൻ.എ. ഖാദർ]] | constituency8 = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | term_start9 = [[മേയ് 3]] [[2021]] | term_end9 = [[മെയ്]] [[4]] [[2026]] | predecessor9 = [[കെ.എൻ.എ. ഖാദർ]] | constituency9 = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | office10 = [[ലോക്‌സഭ|ലോക്‌സഭയിലെ]] അംഗം | constituency10 = [[മലപ്പുറം ലോക്‌സഭാ നിയോജകമണ്ഡലം|മലപ്പുറം]] | term_start10 = [[ഏപ്രിൽ 25]] [[2017]] | term_end10 = [[ഫെബ്രുവരി 3]] [[2021]] | predecessor10 = [[ഇ. അഹമ്മദ്]] | successor10 = [[എം.പി. അബ്ദുസമദ് സമദാനി]] | salary = | birth_date = {{birth date and age|1951|6|1|df=y}} | birth_name = പാണ്ടി കടവത്ത് കുഞ്ഞാലിക്കുട്ടി | birth_place = [[ഊരകം]] | residence = [[മലപ്പുറം]] | death_date = | death_place = | party = [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലീം ലീഗ്]] [[Image:Flag of the Indian Union Muslim League.svg|50px]] | religion = [[മുസ്‌ലിം|മുസ്ലിം]] | father = മുഹമ്മദ് ഹാജി | mother = ഫാത്തിമക്കുട്ടി | spouse = കെ.എം. കുൽസു | children = ഒരു മകൾ, ഒരു മകൻ | website = | footnotes = | date = ഫെബ്രുവരി 25 | year = 2026 | source = http://niyamasabha.org/codes/13kla/members/p_k_kunhalikutty.htm നിയമസഭ }} [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗിന്റെ]] അഖിലേന്ത്യ ജനറൽ സെക്രട്ടറിയും കെ.കരുണാകരൻ, എ.കെ.ആൻ്റണി, ഉമ്മൻചാണ്ടി എന്നിവർ മുഖ്യമന്ത്രിമാരായിരുന്ന (1991-1996, 2001-2005, 2011-2016) കാലയളവിൽ കേരളത്തിലെ വ്യവസായവകുപ്പ് മന്ത്രിയുമായിരുന്നു '''പി.കെ. കുഞ്ഞാലിക്കുട്ടി( 1 ജൂൺ 1951)''' നിലവിൽ [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര നിയോജക മണ്ഡലത്തിൽ]] നിന്നുള്ള നിയമസഭാ അംഗവും പ്രതിപക്ഷ ഉപനേതാവുമാണ്. 1982-ൽ മലപ്പുറം മണ്ഡലത്തിൽ നിന്ന് ആദ്യമായി സംസ്ഥാന നിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. കേരളത്തിലെ [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണിയുടെ]] പ്രധാന നേതാക്കളിൽ ഒരാളാണ് കുഞ്ഞാലിക്കുട്ടി. <ref name="rediff">{{cite web|url=http://www.rediff.com/money/2003/jan/17gim.htm|title=Kerala gears up for GIM, expects big IT investment|publisher=Rediff.com|language=en|accessdate=2009-07-22}}</ref>സംസ്ഥാന വ്യവസായ വകുപ്പ് മന്ത്രിയായിരിക്കെ 2005-ൽ കോഴിക്കോട് [[ഐസ്ക്രീം പാർലർ പെൺവാണിഭക്കേസ്|ഐസ്ക്രീം പാർലർ പെൺ‌വാണിഭക്കേസിൽ]] ഉൾപ്പെട്ടു എന്ന് ആരോപണമുണ്ടായതിനെ തുടർന്ന് മന്ത്രിസ്ഥാനം രാജി വച്ച കുഞ്ഞാലിക്കുട്ടി 2006-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ കുറ്റിപ്പുറം മണ്ഡലത്തിൽ നിന്നും ഇടത് സ്വതന്ത്രനായി മത്സരിച്ച കെ.ടി.ജലീലിനോട് നിന്ന് പരാജയപ്പെട്ടു. <ref name="tribuneindia"> {{cite web|url=http://www.tribuneindia.com/2005/20050116/society.htm#4|title=ട്രൈബ്യൂൺ ഇന്ത്യ|publisher=tribuneindia.com|language=en|accessdate=2009-04-22}}</ref> ഏഴു തവണ കേരളനിയമസഭാംഗം, രണ്ട് തവണ ലോക്സഭാംഗം, മൂന്ന് തവണ സംസ്ഥാന വ്യവസായവകുപ്പ് മന്ത്രി എന്നീ നിലകളിലും പ്രവർത്തിച്ചിട്ടുണ്ട്. ==ജീവിത രേഖ== 1951 ജനുവരി 6-ന് കേരളത്തിലെ [[മലപ്പുറം|മലപ്പുറത്ത്]] പാണ്ടിക്കടവത്ത് മുഹമ്മദ് ഹാജിയുടേയും കെ.പി. ഫാത്തിമ്മക്കുട്ടിയുടേയും മകനായി ജനിച്ചു.<ref>{{Cite web |url=http://kerala.gov.in/index.php?option=com_content&view=article&id=119&Itemid=2287 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2012-03-17 |archive-date=2012-04-02 |archive-url=https://web.archive.org/web/20120402033134/http://www.kerala.gov.in/index.php?option=com_content&view=article&id=119&Itemid=2287 |url-status=dead }}</ref> കെ.എം കുൽസു ആണ് ഭാര്യ.ലസിത,ആഷിഖ് എന്നിവരാണ് മക്കൾ.ബികോം ഡിഗ്രിയും , പിജിഡിബിയും കോഴ്സും പൂർത്തിയാക്കി.<ref name=":0">{{Cite news|url=|title=മനോരമ പത്രം|last=2017 മാർച്ച് 16 മലപ്പുറം എഡിഷൻ പേജ് രണ്ട്|first=|date=|work=|access-date=|via=}}</ref> == രാഷ്ട്രീയ ജീവിതം == കോഴിക്കോട് [[ഫാറൂഖ് കോളേജ്|ഫറൂഖ് കോളേജിലാണ്]] ബിരുദ പഠനം പൂർത്തിയാക്കിയത്.ഇക്കാലത്ത് എംഎസ്എഫിലൂടെയാണ് രാഷ്ട്രീയത്തിലെത്തുന്നത്.തളിപ്പറമ്പ് സർ സയ്യിദ് കോളേജിൽ എംഎസ്എഫിൻറെ യൂനിറ്റ് പ്രസിഡൻറ് പദവിയിലും പ്രവർത്തിച്ചിട്ടുണ്ട്.പിന്നീട് എംഎസ്എഫിൻറെ സംസ്ഥാന ഭാരവാഹിയായി. .<ref name=":0" /> 27-ാം വയസ്സിൽ മലപ്പുറം നഗരസഭാ ചെയർമാനായി.1982 ൽ നിയമസഭ അംഗമായി.മലപ്പുറത്ത് നിന്നാണ് വിജയിച്ചത്. പിന്നീട് 1987, 1991, 1996, 2001 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ വിജയിച്ചു. 1991-1996, 2001-2004, 2011-2016 കാലയളവിലെ യുഡിഎഫ് മന്ത്രിസഭകളിലെ വ്യവസായ വകുപ്പ് മന്ത്രിയായിരുന്നു. ഐസ്ക്രീം പാർലർ പെൺവാണിഭ കേസിൽ പ്രതിയായതോടെ വ്യവസായ വകുപ്പ് മന്ത്രി സ്ഥാനം രാജിവച്ചു. 2006-ൽ നിയമസഭയിലേക്കു നടന്ന തെരഞ്ഞെടുപ്പിൽ കുഞ്ഞാലിക്കുട്ടി,[[കുറ്റിപ്പുറം (നിയമസഭാമണ്ഡലം)|കുറ്റിപ്പുറത്തു]] നിന്നു [[സി.പി.ഐ.എം.]] സ്വതന്ത്രനായി മത്സരിച്ച [[കെ.ടി ജലീൽ|കെ.ടി ജലീലിനോട്]] 8781 വോട്ടുകൾക്ക് പരാജയപ്പെട്ടു.<ref>[http://www.elections.in/kerala/assembly-constituencies/2006-election-results.html|Kerala Assembly Election Results in 2006]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2011-ൽ വേങ്ങര മണ്ഡലത്തിൽ നിന്നും വീണ്ടും നിയമസഭയിലേക്ക് മത്സരിച്ച് വിജയിച്ച കുഞ്ഞാലിക്കുട്ടി 2016-ലും വേങ്ങരയിൽ നിന്നും വിജയിച്ചു. 2017-ൽ മലപ്പുറം ലോക്‌സഭാംഗമായിരുന്ന ഇ.അഹമ്മദ് അന്തരിച്ച ഒഴിവിൽ നടന്ന ലോക്‌സഭ ഉപ-തിരഞ്ഞെടുപ്പിൽ വിജയിച്ച കുഞ്ഞാലിക്കുട്ടി നിയമസഭാഗത്വം രാജിവച്ച് ദേശീയ രാഷ്ട്രീയത്തിലേക്ക് ചുവട് മാറി. 2019-ലെ ലോക്സഭ തെരഞ്ഞെടുപ്പിൽ വീണ്ടും മലപ്പുറത്ത് നിന്ന് വിജയിച്ച് പാർലമെൻ്റ് അംഗമായ കുഞ്ഞാലിക്കുട്ടി സംസ്ഥാന രാഷ്ട്രീയത്തിലേക്ക് തിരിച്ചെത്തുന്നതിൻ്റെ ഭാഗമായി ലോക്സഭാംഗത്വം രാജി വെച്ചു.<ref>https://english.mathrubhumi.com/news/kerala/p-k-kunhalikutty-b497646f</ref><ref>https://www.thehindu.com/news/national/kerala/kunhalikutty-quits-lok-sabha/article33742754.ece</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ വേങ്ങര മണ്ഡലത്തിൽ നിന്നും വീണ്ടും നിയമസഭാംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. നിലവിൽ 2021 മുതൽ പതിനഞ്ചാം കേരള നിയമസഭാംഗവും പ്രതിപക്ഷ ഉപനേതാവുമാണ്.<ref>https://www.onmanorama.com/news/kerala/2020/12/23/pk-kunhalikutty-back-to-kerala-politics-assembly-polls.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>https://www.manoramaonline.com/news/latest-news/2021/05/06/pk-kunhalikutty-mk-muneer-muslim-league.html</ref> == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2017-04-17 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=deviated |archivedate=2021-11-11 |archiveurl=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-06-01 |archive-date=2021-05-10 |archive-url=https://web.archive.org/web/20210510182516/http://www.keralaassembly.org/ |url-status=dead }}</ref> ! വർഷം !! മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും വോട്ടും !! മുഖ്യ എതിരാളി !! പാർട്ടിയും മുന്നണിയും വോട്ടും || രണ്ടാമത്തെ മുഖ്യ എതിരാളി || പാർട്ടിയും മുന്നണിയും വോട്ടും |- |2021 |[[വേങ്ങര നിയമസഭാമണ്ഡലം]] |പി. കെ കുഞ്ഞാലിക്കുട്ടി |മുസ്ലീം ലീഗ്, യു.ഡി.എഫ്, 70,381 |പി.ജിജി |സിപിഎം, എൽ.ഡി.എഫ്, 39,785 | | |- |2019 || [[മലപ്പുറം ലോകസഭാമണ്ഡലം]] || [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]] || [[മുസ്ലീം ലീഗ്]], [[യു.ഡി.എഫ്]], 589873 || [[വി.പി. സാനു]] ||[[സി.പി.എം.]], [[എൽ.ഡി.എഫ്.]], 329720 || [[ഉണ്ണികൃഷ്ണൻ]] || [[ബി.ജെ.പി.]], [[എൻ.ഡി.എ.]], 82332 |- |2017* || [[മലപ്പുറം ലോകസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി||[[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] || [[എം.ബി. ഫൈസൽ]] || [[സി.പി.എം.]], [[എൽ.ഡി.എഫ്.]] |- |2016 || [[വേങ്ങര നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി||[[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] || || |- |2011 || [[വേങ്ങര നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി || [[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] ||[[കെ.പി. ഇസ്മയിൽ]] || [[സ്വതന്ത്ര സ്ഥാനാർത്ഥി]] [[എൽ.ഡി.എഫ്.]] |- |2006 || [[കുറ്റിപ്പുറം നിയമസഭാമണ്ഡലം]] || [[കെ.ടി. ജലീൽ]]||[[സ്വതന്ത്ര സ്ഥാനാർത്ഥി]] [[എൽ.ഡി.എഫ്.]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി||[[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] |- |1987 || [[മലപ്പുറം നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി || [[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] ||[[എൻ. അബൂബക്കർ]] || [[ഐ.സിഎസ്. (എസ്.സി.എസ്.)]] |- |1982 || [[മലപ്പുറം നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി || [[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] ||[[എം. മുഹമ്മദ് ഷാഫി]] || [[ഐ.എം.എൽ.]] |- |} *കുറിപ്പ് - ഇ. അഹമദ് മരിച്ചതിനെ തുടർന്ന് 2017 ഏപ്രിലിൽ നടന്ന മലപ്പുറം ലോകസഭ തിരഞ്ഞെടുപ്പ്. ==വിമർശനങ്ങൾ== * കോഴിക്കോട്‌ നഗരത്തിൽ ഐസ്ക്രീം പാർലർ നടത്തിയിരുന്ന ശ്രീദേവി പ്രായപൂർത്തിയാകാത്ത പെൺകുട്ടികൾ ഉൾപ്പെടെ യുവതികളെ പലർക്കും കാഴ്ചവെച്ചതാണ്‌ കുപ്രസിദ്ധമായ ഐസ്ക്രീം പാർലർ കേസ്‌. മുസ്ലിംലീഗ്‌ നേതാവും വ്യവസായ മന്ത്രിയുമായിരുന്ന പി.കെ. കുഞ്ഞാലിക്കുട്ടിയായിരുന്നു ഐസ്ക്രീംപാർലർ കേസിലെ പ്രധാന കുറ്റാരോപിതൻ<ref>https://www.janmabhumidaily.com/news98752{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>https://ml.wikipedia.org/wiki/%E0%B4%90%E0%B4%B8%E0%B5%8D%E0%B4%95%E0%B5%8D%E0%B4%B0%E0%B5%80%E0%B4%82_%E0%B4%AA%E0%B4%BE%E0%B5%BC%E0%B4%B2%E0%B5%BC_%E0%B4%AA%E0%B5%86%E0%B5%BA%E0%B4%B5%E0%B4%BE%E0%B4%A3%E0%B4%BF%E0%B4%AD_%E0%B4%95%E0%B5%87%E0%B4%B8%E0%B5%8D</ref><ref>{{Cite web |url=https://www.mathrubhumi.com/print-edition/kerala/kochi-1.2937737 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-02-20 |archive-date=2020-10-20 |archive-url=https://web.archive.org/web/20201020063046/https://www.mathrubhumi.com/print-edition/kerala/kochi-1.2937737 |url-status=deviated |archivedate=2020-10-20 |archiveurl=https://web.archive.org/web/20201020063046/https://www.mathrubhumi.com/print-edition/kerala/kochi-1.2937737 }}</ref> * മുത്തലാഖ് ബില്ല് ചർച്ചക്ക് വന്നപ്പോൾ വിട്ടു നിന്നത് മുസ്ലിം സമൂഹത്തെ വഞ്ചിച്ചതായിരുന്നു എന്ന് ഇദ്ദേഹത്തിനെതിരെ ആരോപണം വന്നിട്ടുണ്ട്.<ref>http://www.kairalinewsonline.com/2018/12/28/216514.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> == അവലംബം == <references /> {{പതിനേഴാം ലോകസഭയിൽ കേരളത്തിൽ നിന്നുള്ള അംഗങ്ങൾ}} {{Fourteenth KLA}} {{DEFAULTSORT:കുഞ്ഞാലിക്കുട്ടി}} [[വർഗ്ഗം:1951-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ജൂൺ 1-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:മലപ്പുറം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുസ്ലിം ലീഗ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ഏഴാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:എട്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഒൻപതാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പത്താം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ വ്യവസായവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഐ.ടി. വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] 5al854hsqp0cxhkrxy38aj25ocfpas4 4621569 4621567 2026-05-22T14:04:37Z GV2010 217548 /* */ 4621569 wikitext text/x-wiki {{prettyurl|P.K. Kunhalikkutty}} {{Infobox officeholder | name = പി.കെ. കുഞ്ഞാലിക്കുട്ടി | image = P. K. Kunhalikutty BNC.jpg | caption = | office = [[കേരള സർക്കാർ|കേരളത്തിലെ]] വ്യവസായ വകുപ്പ് മന്ത്രി | term = 18 മെയ് 2026 - ഇപ്പോൾ | 1blankname = Another Departments | 1namedata = വിവരവിനിമയ സാങ്കേതികവിദ്യ. | predecessor = [[പി. രാജീവ്]] | constituency3 = [[കുറ്റിപ്പുറം നിയമസഭാമണ്ഡലം|കുറ്റിപ്പുറം]] | term_start3 = [[ജൂൺ 24]] [[1991]] | term_end3 = [[മേയ് 9]] [[1996]] | predecessor3 = [[കെ.ആർ. ഗൗരിയമ്മ]] | successor3 = [[സുശീല ഗോപാലൻ]] | term_start4 = [[മേയ് 17]] [[2001]] | term_end4 = [[ജനുവരി 6]] [[2005]] | predecessor4 = [[സുശീല ഗോപാലൻ]] | successor4 = [[വി.കെ. ഇബ്രാഹിംകുഞ്ഞ്]] | constituency5 = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | term_start5 = [[മേയ് 18]] [[2011]] | term_end5 = [[മേയ് 20]] [[2016]] | predecessor5 = [[എളമരം കരീം]] | successor5 = [[ഇ.പി. ജയരാജൻ]] | office6 = [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] അംഗം | constituency6 = [[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] | term_start6 = [[മേയ് 24]] [[1982]] | term_end6 = [[മേയ് 5]] [[1991]] | predecessor6 = [[യു.എ. ബീരാൻ]] | successor6 = [[എ. യൂനുസ്‌കുഞ്ഞ്]] | constituency7 = [[കുറ്റിപ്പുറം നിയമസഭാമണ്ഡലം|കുറ്റിപ്പുറം]] | term_start7 = [[മേയ് 21]] [[1991]] | term_end7 = [[മേയ് 12]] [[2006]] | predecessor7 = [[കൊരമ്പയിൽ അഹമ്മദ് ഹാജി]] | successor7 = [[കെ.ടി. ജലീൽ]] | constituency4 = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | term_start8 = [[മേയ് 14]] [[2011]] | term_end8 = [[ഏപ്രിൽ 25]] [[2017]] | predecessor8 = | successor8 = [[കെ.എൻ.എ. ഖാദർ]] | constituency8 = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | term_start9 = [[മേയ് 3]] [[2021]] | term_end9 = [[മെയ്]] [[4]] [[2026]] | predecessor9 = [[കെ.എൻ.എ. ഖാദർ]] | constituency9 = [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | term10 = [[മെയ്]] [[4]] [[2026]] | constituency10 = [[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] | office11 = [[ലോക്‌സഭ|ലോക്‌സഭയിലെ]] അംഗം | constituency11 = [[മലപ്പുറം ലോക്‌സഭാ നിയോജകമണ്ഡലം|മലപ്പുറം]] | term_start11 = [[ഏപ്രിൽ 25]] [[2017]] | term_end11 = [[ഫെബ്രുവരി 3]] [[2021]] | predecessor11 = [[ഇ. അഹമ്മദ്]] | successor11 = [[എം.പി. അബ്ദുസമദ് സമദാനി]] | salary = | birth_date = {{birth date and age|1951|6|1|df=y}} | birth_name = പാണ്ടി കടവത്ത് കുഞ്ഞാലിക്കുട്ടി | birth_place = [[ഊരകം]] | residence = [[മലപ്പുറം]] | death_date = | death_place = | party = [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലീം ലീഗ്]] [[Image:Flag of the Indian Union Muslim League.svg|50px]] | religion = [[മുസ്‌ലിം|മുസ്ലിം]] | father = മുഹമ്മദ് ഹാജി | mother = ഫാത്തിമക്കുട്ടി | spouse = കെ.എം. കുൽസു | children = ഒരു മകൾ, ഒരു മകൻ | website = | footnotes = | date = ഫെബ്രുവരി 25 | year = 2026 | source = http://niyamasabha.org/codes/13kla/members/p_k_kunhalikutty.htm നിയമസഭ }} [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗിന്റെ]] അഖിലേന്ത്യ ജനറൽ സെക്രട്ടറിയും കെ.കരുണാകരൻ, എ.കെ.ആൻ്റണി, ഉമ്മൻചാണ്ടി എന്നിവർ മുഖ്യമന്ത്രിമാരായിരുന്ന (1991-1996, 2001-2005, 2011-2016) കാലയളവിൽ കേരളത്തിലെ വ്യവസായവകുപ്പ് മന്ത്രിയുമായിരുന്നു '''പി.കെ. കുഞ്ഞാലിക്കുട്ടി( 1 ജൂൺ 1951)''' നിലവിൽ [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര നിയോജക മണ്ഡലത്തിൽ]] നിന്നുള്ള നിയമസഭാ അംഗവും പ്രതിപക്ഷ ഉപനേതാവുമാണ്. 1982-ൽ മലപ്പുറം മണ്ഡലത്തിൽ നിന്ന് ആദ്യമായി സംസ്ഥാന നിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. കേരളത്തിലെ [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണിയുടെ]] പ്രധാന നേതാക്കളിൽ ഒരാളാണ് കുഞ്ഞാലിക്കുട്ടി. <ref name="rediff">{{cite web|url=http://www.rediff.com/money/2003/jan/17gim.htm|title=Kerala gears up for GIM, expects big IT investment|publisher=Rediff.com|language=en|accessdate=2009-07-22}}</ref>സംസ്ഥാന വ്യവസായ വകുപ്പ് മന്ത്രിയായിരിക്കെ 2005-ൽ കോഴിക്കോട് [[ഐസ്ക്രീം പാർലർ പെൺവാണിഭക്കേസ്|ഐസ്ക്രീം പാർലർ പെൺ‌വാണിഭക്കേസിൽ]] ഉൾപ്പെട്ടു എന്ന് ആരോപണമുണ്ടായതിനെ തുടർന്ന് മന്ത്രിസ്ഥാനം രാജി വച്ച കുഞ്ഞാലിക്കുട്ടി 2006-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ കുറ്റിപ്പുറം മണ്ഡലത്തിൽ നിന്നും ഇടത് സ്വതന്ത്രനായി മത്സരിച്ച കെ.ടി.ജലീലിനോട് നിന്ന് പരാജയപ്പെട്ടു. <ref name="tribuneindia"> {{cite web|url=http://www.tribuneindia.com/2005/20050116/society.htm#4|title=ട്രൈബ്യൂൺ ഇന്ത്യ|publisher=tribuneindia.com|language=en|accessdate=2009-04-22}}</ref> ഏഴു തവണ കേരളനിയമസഭാംഗം, രണ്ട് തവണ ലോക്സഭാംഗം, മൂന്ന് തവണ സംസ്ഥാന വ്യവസായവകുപ്പ് മന്ത്രി എന്നീ നിലകളിലും പ്രവർത്തിച്ചിട്ടുണ്ട്. ==ജീവിത രേഖ== 1951 ജനുവരി 6-ന് കേരളത്തിലെ [[മലപ്പുറം|മലപ്പുറത്ത്]] പാണ്ടിക്കടവത്ത് മുഹമ്മദ് ഹാജിയുടേയും കെ.പി. ഫാത്തിമ്മക്കുട്ടിയുടേയും മകനായി ജനിച്ചു.<ref>{{Cite web |url=http://kerala.gov.in/index.php?option=com_content&view=article&id=119&Itemid=2287 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2012-03-17 |archive-date=2012-04-02 |archive-url=https://web.archive.org/web/20120402033134/http://www.kerala.gov.in/index.php?option=com_content&view=article&id=119&Itemid=2287 |url-status=dead }}</ref> കെ.എം കുൽസു ആണ് ഭാര്യ.ലസിത,ആഷിഖ് എന്നിവരാണ് മക്കൾ.ബികോം ഡിഗ്രിയും , പിജിഡിബിയും കോഴ്സും പൂർത്തിയാക്കി.<ref name=":0">{{Cite news|url=|title=മനോരമ പത്രം|last=2017 മാർച്ച് 16 മലപ്പുറം എഡിഷൻ പേജ് രണ്ട്|first=|date=|work=|access-date=|via=}}</ref> == രാഷ്ട്രീയ ജീവിതം == കോഴിക്കോട് [[ഫാറൂഖ് കോളേജ്|ഫറൂഖ് കോളേജിലാണ്]] ബിരുദ പഠനം പൂർത്തിയാക്കിയത്.ഇക്കാലത്ത് എംഎസ്എഫിലൂടെയാണ് രാഷ്ട്രീയത്തിലെത്തുന്നത്.തളിപ്പറമ്പ് സർ സയ്യിദ് കോളേജിൽ എംഎസ്എഫിൻറെ യൂനിറ്റ് പ്രസിഡൻറ് പദവിയിലും പ്രവർത്തിച്ചിട്ടുണ്ട്.പിന്നീട് എംഎസ്എഫിൻറെ സംസ്ഥാന ഭാരവാഹിയായി. .<ref name=":0" /> 27-ാം വയസ്സിൽ മലപ്പുറം നഗരസഭാ ചെയർമാനായി.1982 ൽ നിയമസഭ അംഗമായി.മലപ്പുറത്ത് നിന്നാണ് വിജയിച്ചത്. പിന്നീട് 1987, 1991, 1996, 2001 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ വിജയിച്ചു. 1991-1996, 2001-2004, 2011-2016 കാലയളവിലെ യുഡിഎഫ് മന്ത്രിസഭകളിലെ വ്യവസായ വകുപ്പ് മന്ത്രിയായിരുന്നു. ഐസ്ക്രീം പാർലർ പെൺവാണിഭ കേസിൽ പ്രതിയായതോടെ വ്യവസായ വകുപ്പ് മന്ത്രി സ്ഥാനം രാജിവച്ചു. 2006-ൽ നിയമസഭയിലേക്കു നടന്ന തെരഞ്ഞെടുപ്പിൽ കുഞ്ഞാലിക്കുട്ടി,[[കുറ്റിപ്പുറം (നിയമസഭാമണ്ഡലം)|കുറ്റിപ്പുറത്തു]] നിന്നു [[സി.പി.ഐ.എം.]] സ്വതന്ത്രനായി മത്സരിച്ച [[കെ.ടി ജലീൽ|കെ.ടി ജലീലിനോട്]] 8781 വോട്ടുകൾക്ക് പരാജയപ്പെട്ടു.<ref>[http://www.elections.in/kerala/assembly-constituencies/2006-election-results.html|Kerala Assembly Election Results in 2006]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2011-ൽ വേങ്ങര മണ്ഡലത്തിൽ നിന്നും വീണ്ടും നിയമസഭയിലേക്ക് മത്സരിച്ച് വിജയിച്ച കുഞ്ഞാലിക്കുട്ടി 2016-ലും വേങ്ങരയിൽ നിന്നും വിജയിച്ചു. 2017-ൽ മലപ്പുറം ലോക്‌സഭാംഗമായിരുന്ന ഇ.അഹമ്മദ് അന്തരിച്ച ഒഴിവിൽ നടന്ന ലോക്‌സഭ ഉപ-തിരഞ്ഞെടുപ്പിൽ വിജയിച്ച കുഞ്ഞാലിക്കുട്ടി നിയമസഭാഗത്വം രാജിവച്ച് ദേശീയ രാഷ്ട്രീയത്തിലേക്ക് ചുവട് മാറി. 2019-ലെ ലോക്സഭ തെരഞ്ഞെടുപ്പിൽ വീണ്ടും മലപ്പുറത്ത് നിന്ന് വിജയിച്ച് പാർലമെൻ്റ് അംഗമായ കുഞ്ഞാലിക്കുട്ടി സംസ്ഥാന രാഷ്ട്രീയത്തിലേക്ക് തിരിച്ചെത്തുന്നതിൻ്റെ ഭാഗമായി ലോക്സഭാംഗത്വം രാജി വെച്ചു.<ref>https://english.mathrubhumi.com/news/kerala/p-k-kunhalikutty-b497646f</ref><ref>https://www.thehindu.com/news/national/kerala/kunhalikutty-quits-lok-sabha/article33742754.ece</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ വേങ്ങര മണ്ഡലത്തിൽ നിന്നും വീണ്ടും നിയമസഭാംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. നിലവിൽ 2021 മുതൽ പതിനഞ്ചാം കേരള നിയമസഭാംഗവും പ്രതിപക്ഷ ഉപനേതാവുമാണ്.<ref>https://www.onmanorama.com/news/kerala/2020/12/23/pk-kunhalikutty-back-to-kerala-politics-assembly-polls.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>https://www.manoramaonline.com/news/latest-news/2021/05/06/pk-kunhalikutty-mk-muneer-muslim-league.html</ref> == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2017-04-17 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=deviated |archivedate=2021-11-11 |archiveurl=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-06-01 |archive-date=2021-05-10 |archive-url=https://web.archive.org/web/20210510182516/http://www.keralaassembly.org/ |url-status=dead }}</ref> ! വർഷം !! മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും വോട്ടും !! മുഖ്യ എതിരാളി !! പാർട്ടിയും മുന്നണിയും വോട്ടും || രണ്ടാമത്തെ മുഖ്യ എതിരാളി || പാർട്ടിയും മുന്നണിയും വോട്ടും |- |2021 |[[വേങ്ങര നിയമസഭാമണ്ഡലം]] |പി. കെ കുഞ്ഞാലിക്കുട്ടി |മുസ്ലീം ലീഗ്, യു.ഡി.എഫ്, 70,381 |പി.ജിജി |സിപിഎം, എൽ.ഡി.എഫ്, 39,785 | | |- |2019 || [[മലപ്പുറം ലോകസഭാമണ്ഡലം]] || [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]] || [[മുസ്ലീം ലീഗ്]], [[യു.ഡി.എഫ്]], 589873 || [[വി.പി. സാനു]] ||[[സി.പി.എം.]], [[എൽ.ഡി.എഫ്.]], 329720 || [[ഉണ്ണികൃഷ്ണൻ]] || [[ബി.ജെ.പി.]], [[എൻ.ഡി.എ.]], 82332 |- |2017* || [[മലപ്പുറം ലോകസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി||[[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] || [[എം.ബി. ഫൈസൽ]] || [[സി.പി.എം.]], [[എൽ.ഡി.എഫ്.]] |- |2016 || [[വേങ്ങര നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി||[[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] || || |- |2011 || [[വേങ്ങര നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി || [[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] ||[[കെ.പി. ഇസ്മയിൽ]] || [[സ്വതന്ത്ര സ്ഥാനാർത്ഥി]] [[എൽ.ഡി.എഫ്.]] |- |2006 || [[കുറ്റിപ്പുറം നിയമസഭാമണ്ഡലം]] || [[കെ.ടി. ജലീൽ]]||[[സ്വതന്ത്ര സ്ഥാനാർത്ഥി]] [[എൽ.ഡി.എഫ്.]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി||[[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] |- |1987 || [[മലപ്പുറം നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി || [[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] ||[[എൻ. അബൂബക്കർ]] || [[ഐ.സിഎസ്. (എസ്.സി.എസ്.)]] |- |1982 || [[മലപ്പുറം നിയമസഭാമണ്ഡലം]] || പി.കെ. കുഞ്ഞാലിക്കുട്ടി || [[മുസ്ലീം ലീഗ്]] [[യു.ഡി.എഫ്.]] ||[[എം. മുഹമ്മദ് ഷാഫി]] || [[ഐ.എം.എൽ.]] |- |} *കുറിപ്പ് - ഇ. അഹമദ് മരിച്ചതിനെ തുടർന്ന് 2017 ഏപ്രിലിൽ നടന്ന മലപ്പുറം ലോകസഭ തിരഞ്ഞെടുപ്പ്. ==വിമർശനങ്ങൾ== * കോഴിക്കോട്‌ നഗരത്തിൽ ഐസ്ക്രീം പാർലർ നടത്തിയിരുന്ന ശ്രീദേവി പ്രായപൂർത്തിയാകാത്ത പെൺകുട്ടികൾ ഉൾപ്പെടെ യുവതികളെ പലർക്കും കാഴ്ചവെച്ചതാണ്‌ കുപ്രസിദ്ധമായ ഐസ്ക്രീം പാർലർ കേസ്‌. മുസ്ലിംലീഗ്‌ നേതാവും വ്യവസായ മന്ത്രിയുമായിരുന്ന പി.കെ. കുഞ്ഞാലിക്കുട്ടിയായിരുന്നു ഐസ്ക്രീംപാർലർ കേസിലെ പ്രധാന കുറ്റാരോപിതൻ<ref>https://www.janmabhumidaily.com/news98752{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>https://ml.wikipedia.org/wiki/%E0%B4%90%E0%B4%B8%E0%B5%8D%E0%B4%95%E0%B5%8D%E0%B4%B0%E0%B5%80%E0%B4%82_%E0%B4%AA%E0%B4%BE%E0%B5%BC%E0%B4%B2%E0%B5%BC_%E0%B4%AA%E0%B5%86%E0%B5%BA%E0%B4%B5%E0%B4%BE%E0%B4%A3%E0%B4%BF%E0%B4%AD_%E0%B4%95%E0%B5%87%E0%B4%B8%E0%B5%8D</ref><ref>{{Cite web |url=https://www.mathrubhumi.com/print-edition/kerala/kochi-1.2937737 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-02-20 |archive-date=2020-10-20 |archive-url=https://web.archive.org/web/20201020063046/https://www.mathrubhumi.com/print-edition/kerala/kochi-1.2937737 |url-status=deviated |archivedate=2020-10-20 |archiveurl=https://web.archive.org/web/20201020063046/https://www.mathrubhumi.com/print-edition/kerala/kochi-1.2937737 }}</ref> * മുത്തലാഖ് ബില്ല് ചർച്ചക്ക് വന്നപ്പോൾ വിട്ടു നിന്നത് മുസ്ലിം സമൂഹത്തെ വഞ്ചിച്ചതായിരുന്നു എന്ന് ഇദ്ദേഹത്തിനെതിരെ ആരോപണം വന്നിട്ടുണ്ട്.<ref>http://www.kairalinewsonline.com/2018/12/28/216514.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> == അവലംബം == <references /> {{പതിനേഴാം ലോകസഭയിൽ കേരളത്തിൽ നിന്നുള്ള അംഗങ്ങൾ}} {{Fourteenth KLA}} {{DEFAULTSORT:കുഞ്ഞാലിക്കുട്ടി}} [[വർഗ്ഗം:1951-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ജൂൺ 1-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:മലപ്പുറം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുസ്ലിം ലീഗ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ഏഴാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:എട്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഒൻപതാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പത്താം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ വ്യവസായവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഐ.ടി. വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] on5rgpbnldso3bgn6n2u067gzlwetkb വിക്കിമീഡിയ ഫൗണ്ടേഷൻ 0 36880 4622135 4581848 2026-05-23T05:52:50Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622135 wikitext text/x-wiki {{prettyurl|Wikimedia Foundation}} {{വൃത്തിയാക്കേണ്ടവ}} {{Infobox Non-profit | Non-profit_name = വിക്കിമീഡിയ ഫൗണ്ടേഷൻ, Inc. | Non-profit_logo = [[പ്രമാണം:Wikimedia Foundation RGB logo with text.svg|143px]]<br /><small>Logo of the Wikimedia Foundation</small> | Non-profit_type = [[501(c)#501(c)(3)|501(c)(3)]] [[charitable organization]] | founded_date = [[St. Petersburg, Florida]], US<br />{{foundation date|2003|6|20}} | location = <!-- Please do not add the street address of the WMF Foundation -->[[സാൻ ഫ്രാൻസിസ്കോ]], [[കാലിഫോർണിയ]] <br /> {{USA}} | key_people = [[മൈക്കൽ സ്നോ (വിക്കിമീഡിയ ഫൗണ്ടേഷൻ)|മൈക്കൽ സ്നോ]], ഭരണസമിതി അധ്യക്ഷൻ<br />[[ജിമ്മി വെയിൽ‌സ്]], അധ്യക്ഷൻ എമറിറ്റസ്<ref name="bot">{{cite web | accessdate = 2008-01-19 | url = http://wikimediafoundation.org/wiki/Board_of_Trustees | title = Board of Trustees | author = Cbrown1023 | authorlink = foundation:User:Cbrown1023 | archiveurl = https://web.archive.org/web/20080117000000/http://wikimediafoundation.org/wiki/Board_of_trustees | archivedate = 2008-01-17 | publisher = Wikimedia Foundation | url-status = bot: unknown }}</ref><br />[[സ്യു ഗാർഡ്‌നെർ‍]], കാര്യനിർ‍വാഹക നിർദ്ദേശകൻ<br /> | area_served = ലോകവ്യാപകം | focus = സ്വതന്ത്രം, [[open content]], [[വിക്കി]]-based internet projects | method = [[വിക്കിപീഡിയ]], [[വിക്ഷണറി]], [[വിക്കിക്വോട്ട്]], [[വിക്കിബുക്സ്]] ([[വിക്കിജൂനിയർ]] സഹിതം), [[വിക്കിസോഴ്സ്]], [[വിക്കിമീഡിയ കോമൺസ്]], [[വിക്കിസ്പീഷീസ്]], [[വിക്കിന്യൂസ്]], [[വിക്കിവേഴ്സിറ്റി]], [[വിക്കിഡാറ്റ]], [[വിക്കിവോയേജ്]], [[വിക്കിഫങ്ഷൻസ്]], [[വിക്കിമീഡിയ ഇൻക്യുബേറ്റർ]], ഒപ്പം [[വിക്കിപീഡിയ:Meta|മെറ്റാവിക്കി]]യും | revenue = $2,734,909 (2007)<ref name="current-revenue">{{cite web | accessdate = 2008-02-08 | url = http://wikimediafoundation.org/wiki/Finance_report | title = Finance report | author = Cbrown1023 | authorlink = foundation:User:Cbrown1023 | archiveurl = https://web.archive.org/web/20090305042007/http://wikimediafoundation.org/wiki/Finance_report | archivedate = 2009-03-05 | publisher = Wikimedia Foundation | url-status = dead }}</ref> | endowment = | num_volunteers = | num_employees = 23 (as of November 2008)<ref>{{cite web|url=http://wikimediafoundation.org/wiki/Current_staff|title=Wikipedia Foundation's "Staff" page|accessdate=2008-11-29|publisher=Wikimedia Foundation|archive-date=2008-12-03|archive-url=https://web.archive.org/web/20081203213016/http://wikimediafoundation.org/wiki/current_staff|url-status=dead}}</ref> | num_members = | owner = | Non-profit_slogan = | homepage = [http://wikimediafoundation.org/wiki/Home wikimediafoundation.org] | dissolved = | footnotes = }} [[പ്രമാണം:2009 Wikimedia Foundation Office 14.jpg|thumb|right|വിക്കിമീഡിയ ഫൗണ്ടേഷൻ ([[സാൻ ഫ്രാൻസിസ്കോ]])]] ലാഭേച്ഛയില്ലാതെ പ്രവർത്തിക്കുന്ന [[യു.എസ്.എ|യു.എസ്.എയിലെ]] [[കാലിഫോർണിയ|കാലിഫോർണിയയിലുള്ള]] [[സാൻ ഫ്രാൻസിസ്കോ|സാൻ ഫ്രൻസിസ്കോ]] ആസ്ഥാനമാക്കിയിട്ടുള്ള ഒരു ധർമസ്ഥാപനമാണ് '''വിക്കിമീഡിയ ഫൗണ്ടേഷൻ, ഇൻകോർപറേറ്റഡ്'''. ആദ്യം പ്രവർത്തിച്ചിരുന്ന സ്ഥലമായ [[ഫ്ലോറിഡ|ഫ്ലോറിഡയിലെ]] നിയമവ്യവസ്ഥിതിക്ക് കീഴിലാണ് ഇതിന്റെ സംഘാടനം. ഈ സ്ഥാപനത്തിന്റെ ഇപ്പോഴത്തെ എക്സിക്യുട്ടീവ് ഡയരക്ടർ [[Sue Gardner|സ്യു ഗാർഡ്‌നെർ]] ആണ്‌. ധാരാളം ഓൺലൈൻ സഹപ്രവ‌‌ർത്തക [[വിക്കി]] പദ്ധതികൾ നടത്തികൊണ്ട് പോകുന്ന ഒരു സ്ഥാപനമാണിത്. ഈ പദ്ധതികളിൽ പ്രമുഖമായവ ഇവയാണ്. [[വിക്കിപീഡിയ]], [[വിക്ഷണറി]], [[വിക്കിസോഴ്സ്]], [[വിക്കിമീഡിയ കോമൺസ്]], [[വിക്കിക്വോട്ട്]], [[വിക്കിബുക്സ്]] ([[വിക്കിജൂനിയർ]] സഹിതം), [[വിക്കിസ്പീഷീസ്]], [[വിക്കിന്യൂസ്]], [[വിക്കിവേഴ്സിറ്റി]], [[വിക്കിവോയേജ്]], [[വിക്കിഡാറ്റ]], [[വിക്കിഫങ്ഷൻസ്]], [[വിക്കിമീഡിയ ഇൻക്യുബേറ്റർ]], [[മെറ്റാ-വിക്കി]] എന്നിവയാണ്. വിക്കിമീഡിയ ഫൗണ്ടേഷന്റെ പതാകവാഹക പദ്ധതിയായ [[ഇംഗ്ലീഷ് വിക്കിപീഡിയ|ഇംഗീഷ് ഭാഷാ വിക്കിപീഡിയ]] ലോകത്തിൽ ഏറ്റവുമധികം ആളുകൾ സന്ദർശിക്കുന്ന പത്ത് വെബ്സൈറ്റുകളിൽ ഒന്നാണ്.<ref name=AlexaTop500>{{cite web |url=http://www.alexa.com/site/ds/top_sites?ts_mode=global&lang=none |title=Top 500 |accessdate=2007-12-04 |publisher=[[Alexa Internet|Alexa]] |archive-date=2008-12-24 |archive-url=https://web.archive.org/web/20081224031856/http://www.alexa.com/site/ds/top_sites?ts_mode=global |url-status=dead }}</ref> 2003 ജൂൺ 20-നാണ് വിക്കിമീഡിയ ഫൗണ്ടേഷൻ എന്ന പേരിൽ ഒരു ഫൗണ്ടേഷൻ നിർമ്മിക്കുന്ന കാര്യം [[വിക്കിപീഡിയ|വിക്കിപീഡിയയുടെ]] സഹ സ്ഥാപകനായ [[ജിമ്മി വെയിൽസ്]] പ്രഖ്യാപിച്ചത്<ref name="Rupert Neate">{{cite news | first = Rupert | last = Neate | title = Wikipedia founder Jimmy Wales goes bananas | url = http://www.telegraph.co.uk/finance/newsbysector/mediatechnologyandtelecoms/3399843/Wikipedia-founder-Jimmy-Wales-goes-bananas.html | work = [[The Daily Telegraph]] | publisher= | date= 2008-10-07 | accessdate = 2009-10-25 | quote = The encyclopedia's huge fan base became such a drain on Bomis's resources that Mr Wales, and co-founder Larry Sanger, thought of a radical new funding model&nbsp;– charity.}}</ref>. അതുവരെ [[ബോമിസ്]] എന്ന പേരിലുള്ള ജിമ്മി വെയിൽസിന്റെ കമ്പനിയുടെ കീഴിലായിരുന്നു വിക്കിപീഡിയ പ്രവർത്തിച്ചു കൊണ്ടിരുന്നത്<ref>{{cite web | url = http://lists.wikimedia.org/pipermail/wikipedia-l/2003-June/010743.html | title = Wikipedia English mailing list message | date = 2003-06-20 | first = Jimmy | last = Wales | authorlink = Jimmy Wales}}</ref>. == ഉത്പത്തി == [[വിക്കിപീഡിയ]] സഹ-സ്ഥാപകനായ [[ജിമ്മി വെയിൽ‌സ്]] 2003 ജൂൺ 20ന് വിക്കിമീഡിയ ഫൗണ്ടേഷന്റെ രൂപവത്കരണം ഔപചാരികമായി പ്രഖ്യാപിച്ചു.<ref name="co-founder">{{cite news | first = Brian | last = Bergstein | title = Sanger says he co-started Wikipedia | url = http://abcnews.go.com/Technology/wireStory?id=2980046 | work = [[ABC News]] | publisher=[[Associated Press]] | date= 2007-03-25 | accessdate = 2007-07-31 | quote = <small>The nascent Web encyclopedia Citizendium springs from Larry Sanger, a philosophy Ph.D. who counts himself as a co-founder of Wikipedia, the site he now hopes to usurp. The claim doesn't seem particularly controversial&nbsp;— Sanger has long been cited as a co-founder. Yet the other founder, Jimmy Wales, isn't happy about it.</small>}}</ref>. ഇതിനുമുൻപ് ജിമ്മിവേൽസ് വിക്കിപീഡിയ അദ്ദേഹത്തിന്റെ സ്ഥാപനമായ [[ബോമിസ്|ബോമിസിനു]] കീഴിൽ പ്രവർത്തിപ്പിച്ചിരുന്നു.<ref>{{cite web | url = http://lists.wikimedia.org/pipermail/wikipedia-l/2003-June/010743.html | title = Wikipedia English mailing list message | date = 2003-06-20 | first = Jimmy | last = Wales | authorlink = Jimmy Wales}}</ref> == ലക്ഷ്യങ്ങൾ == വിക്കിമീഡിയ ഫൗണ്ടേഷന്റെ നിയമസംഹിത '''ഏറ്റവും ഫലപ്രദമായ രീതിയിൽ വിദ്യാഭ്യാസപരമായ വിവരങ്ങളുടെ ആഗോളതലത്തിലുള്ള ശേഖരണവും വിതരണവും''' ലക്ഷ്യം വെയ്ക്കുന്നു.<ref>{{cite web | url = http://wikimediafoundation.org/wiki/Wikimedia_Foundation_bylaws | title = Wikimedia Foundation bylaws | publisher = Wikimedia Foundation | accessdate = 2008-01-28 | archiveurl = https://web.archive.org/web/20080123082936/http://wikimediafoundation.org/wiki/Wikimedia_Foundation_bylaws#ARTICLE_II_-_STATEMENT_OF_PURPOSE | author = Jd | authorlink = foundation:User:Jd | archivedate = 2008-01-23 | url-status = bot: unknown }}</ref> വിക്കിമീഡിയ ഫൗണ്ടേഷന്റെ പ്രഖ്യാപിത ലക്ഷ്യം : സ്വതന്ത്ര ഉള്ളടക്കമുള്ള [[വിക്കി]]-ആധാരിത പദ്ധതികളുടെ സൃഷ്ടി, വികസനം, പരിപാലനം, ഒപ്പം പൊതുജനങ്ങൾക്കായി ഈ സേവനങ്ങളുടെ സമ്പൂർണ സൗജന്യവിതരണം.<ref name="wikimedia-mission">{{cite web | url = http://wikimediafoundation.org/wiki/Mission_statement | title = Mission statement | publisher = Wikimedia Foundation | accessdate = 2008-01-28 | archiveurl = https://web.archive.org/web/20080117000000/http://wikimediafoundation.org/wiki/Mission_statement | archivedate = 2008-01-17 | first = Florence | last = Devouard | authorlink = Florence Devouard | url-status = bot: unknown }}</ref> ബഹുഭാഷാ സാമാന്യ [[വിശ്വവിജ്ഞാനകോശം|വിശ്വവിജ്ഞാനകോശമായ]] വിക്കിപീഡിയയ്ക്കൊപ്പം, [[വിക്ഷ്ണറി]] എന്ന് പേരായ ബഹുഭാഷാ ശബ്ദകോശം, ഉദ്ധരണികളുടെ സംഗ്രഹമായ [[വിക്കിക്വോട്ട്]], ഏതുഭാഷയിലുമുള്ള പുസ്തകങ്ങളുടെ ഒരു സ്രോതസ്സായി വർത്തിക്കുന്ന [[വിക്കിസോഴ്സ്]], ഇ-പുസ്തകങ്ങളുടെ സംഗ്രഹമായ [[വിക്കിബുക്സ്]], മുതലായവക്കും വിക്കിമീഡിയ ഫൗണ്ടേഷൻ മേൽനോട്ടം വഹിക്കുന്നു. കുട്ടികൾക്കായുള്ള പുസ്തകങ്ങൾക്കുവേണ്ടി [[വിക്കിബുക്സ്|വിക്കിബുക്സിന്റെ]] ഉപപദ്ധതിയായി [[വിക്കിജൂനിയർ]] എന്ന ഒരു പദ്ധതിയും ഉണ്ട്. == പ്രവർത്തനങ്ങൾ == വിക്കിമീഡിയ ഫൗണ്ടേഷനുകീഴിലുള്ള ഓരോ പദ്ധതിയുടെയും സാങ്കേതികവും സാമ്പത്തികപരവും ആയ നിരന്തര പുരോഗതി പ്രധാനമായും ആശ്രയിച്ചിരിക്കുന്നത് സംഭാവനകളെയാണ്. എന്നിരിക്കിലും ഗ്രാന്റുകൾ, പ്രായോജകരുടെ സഹായങ്ങൾ, മുതലായ അന്യമാർഗങ്ങളിലൂടെയും ഫൗണ്ടേഷൻ വരുമാനം കണ്ടെത്തുന്നു. മാർച്ച് 2008 ൽ ഫൗണ്ടേഷൻ അതിന്റെ ഇതുവരെയുള്ളതിൽ ഏറ്റവും വലിയ സംഭാവന വിളംബരം ചെയ്തു - ആൽഫ്രഡ് പി. സോളൻ ഫൗണ്ടേഷനിൽനിന്നുള്ള ഒരു ത്രിവർഷ 3-മില്യൻ ഡോളർ ഗ്രാന്റ്.<ref name="3mill">{{citeweb|url=http://ap.google.com/article/ALeqM5i8x-wlh7nMm12x_kVQ6MZxrYWK9QD8VKMV1G0|publisher=[[Associated Press]]|title=Sloan Foundation to Give Wikipedia $3M|access-date=2009-02-27|archive-date=2008-03-29|archive-url=https://web.archive.org/web/20080329221240/http://ap.google.com/article/ALeqM5i8x-wlh7nMm12x_kVQ6MZxrYWK9QD8VKMV1G0|url-status=dead}}</ref> == ചരിത്രവും വളർച്ചയും == "വിക്കിമീഡിയ" എന്ന നാമം രൂപപ്പെടുത്തിയത് [[ഷെൾഡൻ റാം‌പ്റ്റൺ]] ആണ്. ഇംഗ്ലീഷ് വിക്കിപീഡിയയിലെ മെയ്‌ലിംഗ് ലിസ്റ്റിൽ മാർച്ച് 2003ൽ നടത്തിയ ഒരു പോസ്റ്റിംഗിലൂടെയായിരുന്നു നാമനിർദ്ദേശം.<ref>{{cite web | url = http://mail.wikipedia.org/pipermail/wikien-l/2003-March/001887.html | title = Wikipedia English mailing list message | date = 2003-03-16 | first = Sheldon | last = Rampton | authorlink = Sheldon Rampton }}</ref>. ഈ പേരിന് വിക്കിപീഡിയയുടെ പേരുമായുള്ള സാദൃശ്യവും, ഇത് നിയന്ത്രിക്കുന്ന [[മീഡിയവിക്കി]] എന്ന സോഫ്റ്റ് വേറുമായുള്ള സാദൃശ്യവും മൂലം പുതിയ ഉപഭോക്താക്കൾക്ക് ആശയക്കുഴപ്പം ഉണ്ടാകുന്നു എന്നതിനാൽ ഈ പേര് വിമർശനവിധേയമാകുന്നുമുണ്ട്. {{അപൂർണ്ണം}} === സ്വയംസേവക സമിതികളും സ്ഥാനങ്ങളും === === തൊഴിലാളികൾ === [[പ്രമാണം:Wikimedia Foundation organization chart.svg|thumb|Organization chart as of January 2008<ref>[http://lists.wikimedia.org/pipermail/foundation-l/2008-January/037383.html January 2008 Wikimedia Organization employee descriptions]</ref>]] == ഇപ്പോഴത്തെ ഭരണസമിതി ഭാരവാഹികൾ == ഇവരാണ് ഇപ്പോഴത്തെ ഭരണസമിതി ഭാരവാഹികൾ:<ref>{{cite web | title = Board of Trustees | publisher = Wikimedia Foundation | url = http://wikimediafoundation.org/wiki/Board_of_Trustees | accessdate = 2008-04-27 | last = Walsh | first = Jay | authorlink = foundation:User:JayWalsh}}</ref> * [[മൈക്കൽ സ്നോ]], അധ്യക്ഷൻ * [[ജിമ്മി വേൽസ്]], അധ്യക്ഷൻ എമരിറ്റസ് * ജാൻ-ബാർറ്റ് ദെ വ്രീദ്, ഉപാധ്യക്ഷൻ * ദോമസ് മിറ്റുസസ്, കാര്യനിർവാഹക സചിവൻ * സ്റ്റുവർട്ട് വെസ്റ്റ്, ഖജാൻജി * കാറ്റ് വാൽഷ് * റ്റിങ് ചെൻ == ഉപദേശക സമിതി == [[wmf:Advisory Board|ഉപദേശക സമിതി]] എന്നത് ഫൗണ്ടേഷന് സംഘാടനം, നിയമം, സാങ്കേതികജ്ഞാനം, തുടങ്ങി വ്യത്യസ്ത മേഖലകളിൽ നിരന്തരം സഹായം നൽകാൻ സന്നദ്ധരായിട്ടുള്ള വിദഗ്ദ്ധരുടെ ഒരു അന്തർദേശീയ ശൃംഖലയാണ്. <ref>{{cite web | url = http://wikimediafoundation.org/wiki/Advisory_Board | title = Advisory Board | accessdate = 2008-02-12 | author = Garsided | archiveurl = https://web.archive.org/web/20080206124912/http://wikimediafoundation.org/wiki/Advisory_board | archivedate = 2008-02-06 | publisher = Wikimedia Foundation | url-status = dead }}</ref> ഇപ്പോഴത്തെ അംഗങ്ങൾ: <table><tr valign=top><td> * [[Angela Beesley]] * [[Ward Cunningham]] * [[Heather Ford]] * [[:foundation:Advisory Board#Debbie Garside|Debbie Garside]] * [[:foundation:Advisory Board#Melissa Hagemann|Melissa Hagemann]] * [[Danny Hillis]] * [[Mitch Kapor]] </td><td> * [[:foundation:Advisory Board#Joris Komen|Joris Komen]] * [[:foundation:Advisory Board#Teemu Leinonen|Teemu Leinonen]] * [[Rebecca MacKinnon]] * [[:foundation:Advisory Board#Wayne Mackintosh|Wayne Mackintosh]] * [[Benjamin Mako Hill]] * [[Erin McKean]] * [[Roger McNamee]] * [[:foundation:Advisory Board#Trevor Neilson|Trevor Neilson]] </td><td> * [[:foundation:Advisory Board#Florence Nibart-Devouard|Florence Nibart-Devouard]] * [[:foundation:Advisory Board#Achal Prabhala|Achal Prabhala]] * [[Jay Rosen]] * [[Clay Shirky]] * [[Peter Suber]] * [[Raoul Weiler]] * [[Ethan Zuckerman]] </td></tr></table> == വിക്കിമീഡിയ പദ്ധതികൾ == {| class="wikitable sortable" !വിക്കിമീഡിയ ചിഹ്നം !വിക്കിമീഡിയ കുടുംബം |- |[[പ്രമാണം:Wikimedia-logo.svg|200px]] |[[പ്രമാണം:Wikimedia logo family complete-current.svg|200px]] |} {| class="wikitable sortable" !ചിഹ്നം !നാമം !യു.ആർ.എൽ !വിക്ഷേപണ തീയതി !വിവരണം |- |[[പ്രമാണം:Wikipedia-logo.png|100px]] |[[വിക്കിപീഡിയ]] |[http://www.wikipedia.org/ www.wikipedia.org] |2001-01-15 |264 ഭാഷകളിലായി ഒരു കോടിയിലധികം ലേഖനങ്ങൾ ഉൾക്കൊള്ളുന്ന വിശ്വവിജ്ഞാനകോശം. |- |[[പ്രമാണം:Wikimedia Community Logo.svg|100px]] |[[വിക്കിപീഡിയ:Meta|മെറ്റാ-വിക്കി]] |[http://meta.wikimedia.org/ meta.wikimedia.org] |2001-11-09 |വിക്കിമീഡിയ പദ്ധതികളുടെ ഏകോപനത്തിനായുള്ള വിക്കി. |- |[[പ്രമാണം:Wiktionary-logo.svg|100px]] |[[വിക്ഷണറി]] |[http://www.wiktionary.org/ www.wiktionary.org] |2002-12-12 |അർത്ഥങ്ങളും സമാനപദങ്ങളും നിരുക്തശാസ്ത്രവും ഉൾക്കൊള്ളുന്ന നിഘണ്ടു. |- |[[പ്രമാണം:Wikibooks-logo.svg|100px]] |[[വിക്കിബുക്സ്]] |[http://www.wikibooks.org/ www.wikibooks.org] |2003-07-10 |സ്വതന്ത്ര പാഠപുസ്തകങ്ങളുടെയും പഠനസഹായികളുടെയും ശേഖരം. |- |[[പ്രമാണം:Wikiquote-logo.svg|100px]] |[[വിക്കിക്വോട്ട്]] |[http://www.wikiquote.org/ www.wikiquote.org] |2003-07-10 |ഉദ്ധരണികളുടെ ശേഖരം. |- |[[പ്രമാണം:Wikisource-logo.svg|100px]] |[[വിക്കിസോഴ്സ്]] |[http://wikisource.org/wiki/Main_Page www.wikisource.org] |2003-11-24 പകർപ്പവകാശപരിധിയിൽ വരാത്ത പ്രാചീനകൃതികൾ, പകർപ്പവകാശകാലാവധി കഴിഞ്ഞ കൃതികൾ, പൊതുസഞ്ചയത്തിൽപ്പെട്ട ഔദ്യോഗികപ്രമാണങ്ങൾ ഇവയുടെ ശേഖരം. |- |[[പ്രമാണം:Commons-logo.svg|100px]] |[[വിക്കിമീഡിയ കോമൺസ്]] |[http://commons.wikimedia.org/wiki/Main_Page commons.wikimedia.org] |2004-09-07 |ചിത്രങ്ങളുടെയും ശബ്ദങ്ങളുടെയും വീഡിയോയുടെയും ഒപ്പം സാമാന്യ[[Wiktionary:media|മാധ്യമങ്ങളുടെയും]] [[ഭണ്ഡാരം]]. |- |[[പ്രമാണം:Incubator-notext.svg|100px]] |വിക്കിമീഡിയ ഇൻക്യുബേറ്റർ |[http://incubator.wikimedia.org/wiki/Main_Page incubator.wikimedia.org] |2006-06-02 |Used to test possible new languages for existing projects. |- |[[പ്രമാണം:Wikispecies-logo.svg|100px]] |[[വിക്കിസ്പീഷീസ്]] |[http://species.wikimedia.org/wiki/Main_Page species.wikimedia.org] |2004-09-13 |Directory of [[species]] data on [[animalia]], [[plantae]], [[fungi]], [[bacteria]], [[archaea]], [[protista]] and all other forms of life. |- |[[പ്രമാണം:Wikinews-logo.svg|100px]] |[[വിക്കിന്യൂസ്]] |[http://www.wikinews.org/ www.wikinews.org] |2004-12-03 |[[News]] source containing original reporting by citizen journalists from many countries. |- |[[പ്രമാണം:Wikiversity-logo.svg|100px]] |[[വിക്കിവേഴ്സിറ്റി]] |[http://www.wikiversity.org/ www.wikiversity.org] |2006-08-15 |വിദ്യാഭാസപരവും ഗവേഷണപരവുമായ പ്രവർത്തനങ്ങളും സാമഗ്രികളും. |- |[[പ്രമാണം:Wikivoyage-logo.svg|100px]] |[[വിക്കിവോയേജ്]] |[https://www.wikivoyage.org/ www.wikivoyage.org] |2006-12-10 |യാത്രാ സഹായി |- |[[പ്രമാണം:Wikidata-logo.svg|100px]] |[[വിക്കിഡാറ്റ]] |[http://www.wikidata.org/ www.wikidata.org] |2012-10-29 | സ്വതന്ത്ര ഡാറ്റാബേസ് |- |[[പ്രമാണം:Wikifunctions-logo.svg|100px]] |[[വിക്കിഫങ്ഷൻസ്]] |[http://www.wikifunctions.org/ www.wikifunctions.org] |2023-07-26 | പുനരുപയോഗിക്കാവുന്ന കോഡുകളുടെ ഭണ്ഡാരം |} മുകളിൽ കാണിച്ചിരിക്കുന്ന വിക്ഷേപണ തീയതികൾ ഔദ്യോഗിക പതിപ്പുകൾ അവതരിപ്പിക്കപ്പെട്ട തീയതികളാണ്. പ്രാഥമിക പരീക്ഷണ പതിപ്പുകൾ പരിഗണിച്ചിട്ടില്ല. ==സാമ്പത്തികം==<!-- Economy of Wikimedia Foundation redirects here --> {{main|wmf:Finance report|l1=Finance report}} The Wikimedia Foundation relies on public contributions and grants to fund its mission of providing free knowledge to every person in the world.<ref name="financialstatements">{{cite web | url = http://upload.wikimedia.org/wikipedia/foundation/2/28/Wikimedia_2006_fs.pdf | title = Wikimedia Foundation, Inc. - Financial Statements&nbsp;— June 30, 2006, 2005, and 2004 | accessdate = 2006-12-06 | date = 2006-12-06 | format = [[Portable Document Format|PDF]] | publisher = Wikimedia Foundation }}</ref> It is exempt from federal income tax<ref name="financialstatements" /><ref>See also Section 501(c)(3) of the Internal Revenue Code of the Florida Statutes</ref> and from state income tax.<ref name="financialstatements" /><ref>See also Chapter 220.13 of the Florida Statutes</ref> It is not a private foundation, and contributions to it qualify as tax-deductible charitable contributions.<ref name="financialstatements" /> At the beginning of 2006, the foundation's [[net asset]]s were $270,000. During the year, the organization received support and revenue totaling $1,510,000, with concurrent expenses of $790,000. [[Net asset]]s increased by $720,000 to a total of over one million dollars.<ref name="financialstatements" /> In 2007, the foundation continued to expand, ending the year with net assets of $1,700,000.<ref name=report07> [[:wmf:Image:Wikimedia 2007 fs.pdf|Finance report 2007]]</ref> Both income and expenses nearly doubled in 2007.<ref name=report07/> == പ്രാദേശിക സഭകൾ == വിക്കിമീഡിയ പദ്ധതികൾക്ക് ഒരു അന്തർദേശീയ വ്യാപ്തി ഉണ്ട്. ഈ വിജയം സംഘടനാ തലത്തിൽ തുടരുന്നതിനായി, വിക്കിമീഡിയ ബന്ധപ്പെട്ട സംഘടനകളുടെ ഒരു അന്തർദേശീയ ശൃംഖല സൃഷ്ടിക്കുന്നുണ്ട്. [[M:Wikimedia_chapters|പ്രാദേശിക സഭകൾ]] എന്നത് വിക്കിമീഡിയ ഫൗണ്ടേഷന്റെ ലക്ഷ്യങ്ങൾ പങ്കുവെയ്ക്കുന്ന സ്വാശ്രയ സംഘടനകളാണ്. ഇവ വിക്കിമീഡിയ ഫൗണ്ടേഷനെ അതത് പ്രദേശങ്ങളിൽ സഹായിക്കുന്നു. They support the foundation, the Wikimedia community and Wikimedia projects in different ways&nbsp;— by collecting donations, organizing local events and projects and spreading the word of Wikimedia, free content and Wiki culture. They also provide the community and potential partners with a point of contact capable of fulfilling specific local needs. Local chapters are self-dependent associations with no legal control of nor responsibility for the websites of the Wikimedia Foundation and vice versa. [[പ്രമാണം:Wikimedia chapters existing.svg|thumb|350px|World map showing countries that have local chapters in blue.]] {| class="wikitable sortable" ! രാഷ്ട്രം ! ശീർഷകം ! യു.ആർ.എൽ. ! ആരംഭിച്ച തീയതി |- | {{flag|അർജന്റീന}} | [[m:Wikimedia Argentina|Wikimedia Argentina]] | [http://www.wikimedia.org.ar/ www.wikimedia.org.ar] | {{dts|link=off|2007|9|1}} |- | {{flag|Australia}} | [[m:Wikimedia Australia|Wikimedia Australia]] | [http://www.wikimedia.org.au www.wikimedia.org.au] | {{dts|link=off|2008|3|1}} |- | {{flag|Austria}} | [[m:Wikimedia Österreich|Wikimedia Österreich]] | [http://www.wikimedia.at www.wikimedia.at] {{Webarchive|url=https://web.archive.org/web/20200826095905/http://www.wikimedia.at/ |date=2020-08-26 }} | {{dts|link=off|2008|2|26}} |- | {{flag|Brazil}} | [[m:Wikimedia Brasil|Wikimedia Brasil]] | [http://meta.wikimedia.org/wiki/Wikimedia_Brasil meta.wikimedia.org] | {{dts|link=off|2008|10|7}} |- | {{flag|Czech Republic}} | [[m:Wikimedia Czech Republic|Wikimedia Česká republika]] | [http://meta.wikimedia.org/wiki/Wikimedia_Czech_Republic meta.wikimedia.org] | {{dts|link=off|2008|3|6}} |- | {{flag|France}} | [[m:Wikimédia France|Wikimédia France]] | [http://www.wikimedia.fr/ www.wikimedia.fr] | {{dts|link=off|2004|10|23}} |- | {{flag|Germany}} | [[m:Wikimedia Deutschland|Wikimedia Deutschland]] | [http://www.wikimedia.de/ www.wikimedia.de] | {{dts|link=off|2004|6|13}} |- | {{flag|Hong Kong}} | [[m:Wikimedia Hong Kong|香港維基媒體協會]] | [http://meta.wikimedia.org/wiki/Wikimedia_Hong_Kong meta.wikimedia.org] | {{dts|link=off|2008|3|1}} |- | {{flag|Hungary}} | [[m:Wikimédia Magyarország|Wikimédia Magyarország]] | [http://wiki.media.hu/ wiki.media.hu] | {{dts|link=off|2008|9|27}} |- | {{flag|India}} | [[m:Wikimedia India|Wikimedia India]] | [http://wikimedia.in wikimedia.in] {{Webarchive|url=https://web.archive.org/web/20141006232924/http://www.wikimedia.in/ |date=2014-10-06 }} | {{dts|link=off|2011|9|14}}.<br /> 2019-ൽ അടച്ചു |- | {{flag|Indonesia}} | [[m:Wikimedia Indonesia|Wikimedia Indonesia]] | [http://wikimedia.web.id wikimedia.web.id] {{Webarchive|url=https://web.archive.org/web/20080903221820/http://www.wikimedia.web.id/ |date=2008-09-03 }} | {{dts|link=off|2008|10|7}} |- | {{flag|Israel}} | [[m:Wikimedia Israel|Wikimedia Israel]] | [http://il.wikimedia.org/ il.wikimedia.org] | {{dts|link=off|2007|6|26}} |- | {{flag|Italy}} | [[m:Wikimedia Italia|Wikimedia Italia]] | [http://www.wikimedia.it/ www.wikimedia.it] | {{dts|link=off|2005|6|17}} |- | {{flag|Netherlands}} | [[m:Wikimedia Nederland|Wikimedia Nederland]] | [http://nl.wikimedia.org/ nl.wikimedia.org] | {{dts|link=off|2006|3|27}} |- | {{flag|Norway}} | [[m:Wikimedia Norge|Wikimedia Norge]] | | {{dts|link=off|2007|6|23}} |- | {{flag|Poland}} | [[m:Wikimedia Polska|Wikimedia Polska]] | [http://pl.wikimedia.org/ pl.wikimedia.org] | {{dts|link=off|2005|11|18}} |- | {{flag|Russia}} | [[m:Wikimedia Russia|Викимедиа РУ]] | [http://wikimedia.ru/ wikimedia.ru] <small>(not yet working)</small> | {{dts|link=off|2008|5|24}} |- | {{flag|Serbia}} | [[m:Wikimedia Serbia|Wikimedia Србије]] | [http://rs.wikimedia.org/ rs.wikimedia.org] | {{dts|link=off|2005|12|3}} |- | {{flag|Sweden}} | [[m:Wikimedia Sverige|Wikimedia Sverige]] | [http://se.wikimedia.org/wiki/Huvudsida se.wikimedia.org] | {{dts|link=off|2007|12|11}} |- | {{flag|Switzerland}} | [[m:Wikimedia CH|Wikimedia CH]] | [http://www.wikimedia.ch/ www.wikimedia.ch] | {{dts|link=off|2006|5|14}} |- | {{flag|Republic of China}} | [[m:Wikimedia Taiwan|中華民國維基媒體協會]] | [http://www.wikimedia.tw/ www.wikimedia.tw] | {{dts|link=off|2007|7|4}} |- | {{flag|United Kingdom}} | [[m:Wikimedia UK|Wikimedia UK]] | [http://www.wikimedia.org.uk/ www.wikimedia.org.uk] | {{dts|link=off|2006|2|14}} |} == വിക്കിമാനിയ == {{main|വിക്കിമാനിയ|m:Wikimania|l2=വിക്കിമാനിയ താൾ മെറ്റാ-വിക്കിയിൽ}} വർഷംതോറും വിക്കിമീഡിയ സംഘടിപ്പിക്കുന്ന വിക്കിമീഡിയ ഫൗണ്ടേഷൻ പദ്ധതി ഉപയോക്താക്കളുടെ സമ്മേളനമാണ് [[വിക്കിമാനിയ]]. ആദ്യമായി ഇത് സംഘടിപ്പിക്കപ്പെട്ടത് 2005ൽ [[ജർമനി|ജർമനിയിലെ]] [[ഫ്രാങ്ക്‌ഫർട്ട്|ഫ്രാങ്ക്‌ഫർട്ടിലാണ്]]. == ആധാരഗ്രന്ഥങ്ങൾ == {{reflist|2}} == ബാഹ്യകണ്ണികൾ == {{സഹോദരകണ്ണികൾ}} * [http://wikimediafoundation.org/wiki/Home Wikimedia Foundation website] {{Webarchive|url=https://web.archive.org/web/20130310091214/http://wikimediafoundation.org/wiki/Home |date=2013-03-10 }} * [http://wikimediafoundation.org/wiki/Annual_Report Wikimedia Foundation annual report] {{Webarchive|url=https://web.archive.org/web/20180316134726/https://wikimediafoundation.org/wiki/Annual_Report |date=2018-03-16 }} * [http://blog.wikimedia.org/ വിക്കിമീഡിയ ഫൗണ്ടേഷൻ ബ്ലോഗ്] * {{PDFlink|[http://www.wikimediafoundation.org/bylaws.pdf വിക്കിമീഡിയ ഫൗണ്ടേഷൻ നിയമസംഹിത]|259&nbsp;[[Kibibyte|KiB]]<!-- application/pdf, 265867 bytes -->}} * [irc://irc.freenode.net/wikimedia Wikimedia on freenode] * {{PDFlink|[http://upload.wikimedia.org/wikipedia/foundation/2/28/Wikimedia_2006_fs.pdf Financial statements 2004-2005-2006]|90.2&nbsp;[[Kibibyte|KiB]]<!-- application/pdf, 92405 bytes -->}} * [http://www.sunbiz.org/scripts/cordet.exe?action=DETFIL&inq_doc_number=N03000005323&inq_came_from=NAMFWD&cor_web_names_seq_number=0000&names_name_ind=N&names_cor_number=&names_name_seq=&names_name_ind=&names_comp_name=WIKIMEDIAFOUNDATION&names_filing_type= Public Record for Wikimedia Foundation Inc.] from Florida Department of State web site * [http://mail.wikipedia.org/pipermail/wikien-l/2003-March/001887.html Sheldon Rampton's WikiEN-l post] == അവലംബം == <references/> {{വിക്കിമീഡിയ ഫൗണ്ടേഷൻ}} {{വിക്കിപീഡിയ}} {{org-stub}} [[വർഗ്ഗം:വിക്കി സമൂഹങ്ങൾ]] [[വർഗ്ഗം:വിക്കിമീഡിയ ഫൗണ്ടേഷൻ]] hqjqup7d7u7ulzic53o05h01egfuuli ഫലകം:Section link 10 38909 4621782 4125571 2025-09-07T10:05:45Z en>Est. 2021 0 [[Template talk:Section link#Template-protected edit request on 2 September 2025: Don't render on the template page if it's going to show an error|Template-protected edit request on 2 September 2025: Don't render on the template page if it's going to show an error]] 4621782 wikitext text/x-wiki <includeonly>{{SAFESUBST:<noinclude />#invoke:Section link|main}}</includeonly><noinclude> {{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> 1zn34l15s46h6jh7fuzndshkdprqxst 4621783 4621782 2026-05-22T22:49:29Z Jacob.jose 1784 [[:en:Template:Section_link]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 4621782 wikitext text/x-wiki <includeonly>{{SAFESUBST:<noinclude />#invoke:Section link|main}}</includeonly><noinclude> {{documentation}} <!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> 1zn34l15s46h6jh7fuzndshkdprqxst ഫലകം:Param 10 40026 4621788 2936055 2026-04-12T13:41:20Z en>FaviFake 0 FaviFake moved page [[Template:Param]] to [[Template:Source parameter]]: "Param" is ambiguous and not immediately clear, especially when compared to [[TM:Para]]. "Source parameter" is explicit, distinct from the other template name, and aligns with standard technical terminology, making it easier to understand and use correctly. 4621788 wikitext text/x-wiki #REDIRECT [[Template:Source parameter]] {{Redirect category shell| {{R from move}} }} nvhj3e84i8mvgqpd4vp6kgc68uo6d0e 4621789 4621788 2026-05-22T22:49:32Z Jacob.jose 1784 [[:en:Template:Param]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 4621788 wikitext text/x-wiki #REDIRECT [[Template:Source parameter]] {{Redirect category shell| {{R from move}} }} nvhj3e84i8mvgqpd4vp6kgc68uo6d0e ഫലകം:Para 10 40068 4622002 2007-08-18T02:56:57Z en>ClaudioMB 0 [[WP:AES|←]]Created page with '<!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description ...' 4622002 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |{{{p}}} |{{{{{o}}}}} |{{{ut}}} |{{{dut}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> rh2dhi1djo1k7zt3rc9xgws1d3t3iqe 4622003 4622002 2007-08-18T02:57:23Z en>ClaudioMB 0 moved [[Template:Fb p staff]] to [[Template:Fb p]] 4622002 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |{{{p}}} |{{{{{o}}}}} |{{{ut}}} |{{{dut}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> rh2dhi1djo1k7zt3rc9xgws1d3t3iqe 4622004 4622003 2007-08-18T02:59:55Z en>ClaudioMB 0 4622004 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{{ut}}} |{{{dut}}} |{{{d}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> hnu281n8s97t1hjy4cc4bpy73owjgm1 4622005 4622004 2007-08-18T03:05:01Z en>ClaudioMB 0 4622005 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{{ut}}} |{{{dut}}} |align=left|{{{d}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> ccn395jni1rn91szr9d4ehjhbu5lqkb 4622006 4622005 2007-08-18T03:09:15Z en>ClaudioMB 0 4622006 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{{ut}}} |{{{dut}}}<!-- -->{{#if:{{{dut2|}}}|{{bar}}{{bar}}{{{dut2}}}}} |align=left|{{{d}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> k6vgjri3yrgcvy4d87usbr5fianala2 4622007 4622006 2007-08-18T03:13:19Z en>ClaudioMB 0 4622007 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{{ut}}} |{{{dut}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existant|dut2}}| |{{bar}}{{bar}}{{{dut2}}}}} |align=left|{{{d}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> 96qmdirpmtlz36yrozzinuonb2bqy7y 4622008 4622007 2007-08-18T03:14:41Z en>ClaudioMB 0 4622008 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|ut}} |{{Fb p color|dut}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existant|dut2}}| |{{bar}}{{bar}}{{Fb p color|dut2}}}} |align=left|{{{d}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> glews4sg6ke3j5349u2lcrvzk8imk68 4622009 4622008 2007-08-18T03:25:20Z en>ClaudioMB 0 4622009 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existant|dut2}}| |{{bar}}{{bar}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> j366qj2btw9wqjco9b7snz0koa6hm1p 4622010 4622009 2007-08-18T03:34:09Z en>ClaudioMB 0 4622010 wikitext text/x-wiki <!-- Template:Fb p staff (Football - parameter - staff) Parameters p : parameter o : optional ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existant|dut2}}| |{{bar}}{{bar}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> 66wndf256g90usu0h02kocm83arcb5j 4622011 4622010 2007-08-19T17:30:39Z en>ClaudioMB 0 4622011 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter o : optional ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existant|dut2}}| |{{bar}}{{bar}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> dw8eacb1gpz4zt1919mopum19fh4g0u 4622012 4622011 2007-08-19T17:30:51Z en>ClaudioMB 0 moved [[Template:Fb p]] to [[Template:Parameter]] 4622011 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter o : optional ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existant|dut2}}| |{{bar}}{{bar}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Fb_templates]]</noinclude> dw8eacb1gpz4zt1919mopum19fh4g0u 4622013 4622012 2007-08-19T17:31:31Z en>ClaudioMB 0 4622013 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter o : optional ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existant|dut2}}| |{{bar}}{{bar}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]]</noinclude> dd4u1ntwmq8svqah1f5kogjzdul7nei 4622014 4622013 2007-09-09T20:39:06Z en>ClaudioMB 0 4622014 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter o : optional ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{bar}}{{bar}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]]</noinclude> jeizs3nyev1hjzcmnpvek7ixk2opr1e 4622015 196172 2008-04-17T03:37:57Z en>ClaudioMB 0 4622015 wikitext text/x-wiki |- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]]</noinclude> ilr9u3zlp6exxi8147xc4p65kxm40xx 4622016 4622015 2008-04-17T03:38:31Z en>ClaudioMB 0 4622016 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter o : optional ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{o}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]]</noinclude> 58i0txdr2ml30gsag0kr3kidrqx9kaq 4622017 4622016 2008-05-06T03:08:54Z en>ClaudioMB 0 4622017 wikitext text/x-wiki |- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]]</noinclude> q5vx9io6kfymqi82kxuo6bp19moz9p2 4622018 4622017 2008-05-06T03:09:09Z en>ClaudioMB 0 4622018 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]]</noinclude> lj8tvon9hmjzs3b66b15hqgzf1jyypv 4622019 1028213 2012-07-29T16:22:57Z en>EmausBot 0 r2.7.3) (Robot: Adding [[ru:Шаблон:Parameter]] 4622019 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]][[ru:Шаблон:Parameter]] </noinclude> qh123o6q4d6jo6f78t94j4dv6mi9n6y 4622020 4622019 2012-09-04T14:16:56Z en>Khan27 0 4622020 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]] [[az:Şablon:Parameter]] [[ru:Шаблон:Parameter]] </noinclude> d7725l5ranj7fc80jf1g1rrb6xrcksf 4622021 4622020 2012-12-15T04:30:51Z en>Sorakara023 0 add ja 4622021 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]] [[az:Şablon:Parameter]] [[ja:Template:Parameter]] [[ru:Шаблон:Parameter]] </noinclude> 8uugl80aufqdupguldkwxwd3bjzsiuz 4622022 1656073 2013-03-17T11:05:12Z en>Addbot 0 [[User:Addbot|Bot:]] Migrating 2 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:q6307866]] 4622022 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude>[[Category:Templates used by fb templates]] [[az:Şablon:Parameter]] </noinclude> pkpb5pvm268cdjq0z7wny30kwg3fveq 4622023 4622022 2013-11-30T21:42:05Z en>Hyacinth 0 ==See also== *{{tl|Para}} 4622023 wikitext text/x-wiki <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude> ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] [[az:Şablon:Parameter]] </noinclude> qw84v5gbbxqguo91lp4dogx4ebx7rxu 4622024 4622023 2014-02-20T14:27:31Z 176.250.73.19 4622024 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude> {{documentation}} ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] [[az:Şablon:Parameter]] </noinclude> 1qh6vypycbwrjg3hjz5qqjshew0jrxb 4622025 4622024 2014-02-20T14:27:54Z 176.250.73.19 4622025 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} |align=left|{{{d}}} |align=left|{{{v}}}<!-- --><noinclude> {{documentation}} ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] </noinclude> 9ug7tyqvkls5b2ds3ll659qj907x87m 4622026 2097700 2015-01-03T08:27:54Z en>WOSlinker 0 tidy style for better HTML5 compatibility 4622026 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |{{Fb p color|{{{ut}}}}} |{{Fb p color|{{{dut}}}}}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation}} ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] </noinclude> gdtzbq5yvhte9t0ved2pb0mh8vr61y0 4622027 4622026 2015-01-03T08:29:16Z en>WOSlinker 0 tidy more 4622027 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |bgcolor={{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}|{{Unicode| }}<!-- --> |bgcolor={{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}|{{Unicode| }}<!-- --><!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}{{Fb p color|{{{dut2}}}}}}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation}} ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] </noinclude> ila81icouft8sogxz2e8q58ogbx2rs2 4622028 4622027 2015-01-03T08:30:50Z en>WOSlinker 0 tidy style for better HTML5 compatibility 4622028 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|{{Unicode| }} |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}|{{Unicode| }}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}|{{Unicode| }}<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation}} ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] </noinclude> g68go2on79ig27gj9w868kp0dlsmiuc 4622029 4622028 2015-01-03T08:31:58Z en>WOSlinker 0 tidy style for better HTML5 compatibility 4622029 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|{{Unicode| }} |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|{{Unicode| }}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|{{Unicode| }}<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation}} ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] </noinclude> 562w5tlxifuhd62bg3xhso8faxf31gf 4622030 2177941 2015-07-14T15:59:36Z en>Funandtrvl 0 fx 4622030 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|{{Unicode| }} |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|{{Unicode| }}<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|{{Unicode| }}<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation|content= ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] }}</noinclude> 5tchk99hkg7o6b79wn524oeulv4ruoz 4622031 2225788 2016-04-19T16:56:45Z en>AnomieBOT 0 [[User:AnomieBOT/docs/TemplateSubster|Substing templates]]: {{Unicode}}. See [[User:AnomieBOT/docs/TemplateSubster]] for info. 4622031 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"| |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation|content= ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] }}</noinclude> 0fzajq1butdkhjnq6mejfpq5k2u91e1 4622032 4622031 2016-10-15T10:47:22Z 95.49.124.30 Added content 4622032 wikitext text/x-wiki <noinclude><!-- Please do not remove or change this AfD message until the issue is settled --> {{Article for deletion/dated|page=Parameter|timestamp=20161015104708|year=2016|month=October|day=15|substed=yes}} <!-- Once discussion is closed, please place on talk page: {{Old AfD multi|page=Parameter|date=15 October 2016|result='''keep'''}} --> <!-- End of AfD message, feel free to edit beyond this point -->{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"| |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation|content= ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] }}</noinclude> bbks5gl4kisjdwc40wcfz0kt4mbaz66 4622033 4622032 2016-10-15T11:33:14Z en>Favonian 0 Reverted edits by [[Special:Contribs/95.49.124.30|95.49.124.30]] ([[User talk:95.49.124.30|talk]]) to last version by AnomieBOT 4622033 wikitext text/x-wiki <noinclude>{{update}}{{incomplete}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"| |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation|content= ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] }}</noinclude> 0fzajq1butdkhjnq6mejfpq5k2u91e1 4622034 2818990 2018-10-11T15:40:56Z en>AnomieBOT 0 [[User:AnomieBOT/docs/TemplateSubster|Substing templates]]: {{Incomplete}}. See [[User:AnomieBOT/docs/TemplateSubster]] for info. 4622034 wikitext text/x-wiki <noinclude>{{update}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"| |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation|content= ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] }}</noinclude> 2jsp0djkydj7z1y769vzk7uwrrhvboi 4622035 3321518 2020-05-08T04:44:13Z en>Rehman 0 Nominated for deletion; see [[:Wikipedia:Templates for discussion/Log/2020 May 8#Template:Parameter]]. ([[WP:TW|TW]]) 4622035 wikitext text/x-wiki {{Template for discussion/dated|action=|page=Parameter|link=Wikipedia:Templates for discussion/Log/2020 May 8#Template:Parameter|help=off|bigbox={{#invoke:Noinclude|noinclude|text=yes}}}} <noinclude>{{update}}</noinclude> <!-- Template:Parameter Parameters p : parameter r : required ut : use together dut : don't use together d : description v : values -->|- |<code>{{{p}}}</code> |{{{{{r}}}}} |style="background-color:{{#switch:{{{ut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"| |style="background-color:{{#switch:{{{dut}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->{{#ifeq:{{{dut2}}}|{{non existing|dut2}}| |{{!}}{{!}}style="background-color:{{#switch:{{{dut2}}} |1 = lightgreen |2 = lightblue |3 = orange }}"|<!-- -->}} | style="text-align:left;" |{{{d}}} | style="text-align:left;" |{{{v}}}<!-- --><noinclude> {{documentation|content= ==See also== *{{tl|Para}} [[Category:Templates used by fb templates]] }}</noinclude> 1om4s06s0d815yf7pniejvz1hjhlohe 4622036 4622035 2020-05-15T20:24:47Z en>TheTVExpert 0 [[:Wikipedia:Templates for discussion/Log/2020 May 8#Template:Parameter]] closed as redirect ([[WP:XFDC|XFDcloser]]) 4622036 wikitext text/x-wiki #REDIRECT [[Template:Para]] etxz8ysfpb4d8rw7okp3bttiggfws72 4622037 3761892 2026-04-20T13:24:38Z en>Paine Ellsworth 0 Paine Ellsworth moved page [[Template:Parameter]] to [[Draft:Move/Parameter]] without leaving a redirect: per move request on talk page - see [[WP:PM/C#4]] - round robin swap 4622037 wikitext text/x-wiki #REDIRECT [[Template:Para]] etxz8ysfpb4d8rw7okp3bttiggfws72 4622038 4622037 2026-04-20T13:28:20Z en>Paine Ellsworth 0 Paine Ellsworth moved page [[Draft:Move/Parameter]] to [[Template:Para]] without leaving a redirect: per move request on talk page - see [[WP:PM/C#4]] - round robin swap 4622037 wikitext text/x-wiki #REDIRECT [[Template:Para]] etxz8ysfpb4d8rw7okp3bttiggfws72 4622039 4622038 2026-04-20T13:30:33Z en>Anomie 0 Protected "[[Template:Para]]": Restore protection for this title after a move; the redirect is very widely used, and likely will continue to be used much more than the longer name it was moved to. ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 4622037 wikitext text/x-wiki #REDIRECT [[Template:Para]] etxz8ysfpb4d8rw7okp3bttiggfws72 4622040 4622039 2026-04-20T13:31:32Z en>Paine Ellsworth 0 follow up to page move - retarget and add [[WP:RCAT|rcat template]]s 4622040 wikitext text/x-wiki #REDIRECT [[Template:Parameter]] {{Rcat shell| {{R from move}} {{R from template shortcut}} }} 7s8mokgsoussxh3gkyodvsagezu2kca 4622041 4622040 2026-05-22T22:54:37Z Jacob.jose 1784 [[:en:Template:Para]] എന്നതിൽ നിന്ന് 39 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4622040 wikitext text/x-wiki #REDIRECT [[Template:Parameter]] {{Rcat shell| {{R from move}} {{R from template shortcut}} }} 7s8mokgsoussxh3gkyodvsagezu2kca കേരള സർക്കാർ 0 40274 4622179 4620701 2026-05-23T08:00:51Z Asifalinair 206364 /* വകുപ്പുകൾ */ 4622179 wikitext text/x-wiki {{pu|Government of Kerala}} {{infobox government | government_name = കേരള സർക്കാർ | image = Government of Kerala Logo.svg | division_type = ആസ്ഥാന കാര്യാലയം | division = [[കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്|കേരള സർക്കാർ സിരാകേന്ദ്രം]], [[തിരുവനന്തപുരം]] | leader_type = [[ഗവർണ്ണർ|ഗവർണർ]] | leader_title = [[രാജേന്ദ്ര അർലേക്കർ]] | leader_type2 = [[മുഖ്യമന്ത്രി (ഇന്ത്യ)|മുഖ്യമന്ത്രി]] | leader_title2 = [[വി.ഡി. സതീശൻ]], ([[കോൺഗ്രസ്]]) | leader_type3 = [[മുഖ്യമന്ത്രി|ഉപമുഖ്യമന്ത്രി]] | leader_title3 = | leader_type4 = [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറി]] | leader_title4 = എ. ജയതിലക്, [[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]]<ref>{{URL|https://gad.kerala.gov.in/index.php/contact-us>pages}}</ref> | legislature_label = [[നിയമസഭ]] | legislature = {{ubl|[[കേരള നിയമസഭ]]|}} | speaker_label = [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] | speaker = [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] | deputy_speaker_label = [[നിയമസഭ|ഡെപ്യൂട്ടി സ്പീക്കർ]] | deputy_speaker = [[ഷാനിമോൾ ഉസ്മാൻ]] | members_in_assembly_label = [[നിയമസഭാംഗം|നിയമസഭയിലെ അംഗങ്ങൾ]] | members_in_assembly = [[കേരളത്തിലെ നിയമസഭാമണ്ഡലങ്ങളുടെ പട്ടിക|140]] | branch4 = [[നീതിന്യായ വ്യവസ്ഥ|നീതിന്യായം]] | court_name = [[ഹൈക്കോടതി]] | court = [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതി]] | chief_justice_label = ചീഫ് ജസ്റ്റിസ് | chief_justice = നിതിൻ മധുകർ ജാംദാർ |nativename={{transl|ml|ISO|Kēraḷa Sarkkār}}|deputy_chairman_label=[[നിലവിലെ ഇന്ത്യൻ നിയമസഭാ സ്പീക്കർമാരുടെയും ചെയർമാൻമാരുടെയും പട്ടിക|ഉപ അദ്ധ്യക്ഷന്]]|website={{URL|https://kerala.gov.in}}|image_size=200px|country=[[ഇന്ത്യ]]|headquarters=ഗവ: സെക്രട്ടറിയേറ്റ്, [[തിരുവനന്തപുരം]]|departments=[[കേരള സർക്കാർ വകുപ്പുകൾ|49]]|main_organ=[[കേരള മന്ത്രിസഭ]]|meeting_place=[[നിയമസഭാമന്ദിരം]], [[തിരുവനന്തപുരം]]|seat=[[കൊച്ചി]] (എറണാകുളം)|url={{URL|https://kerala.gov.in}}|government_form={{Resize|60%|പാർലമെന്ററി പ്രതിനിധിത്വ ജനാധിപത്യ ഫെഡറൽ റിപ്പബ്ലിക്|}}}} [[File:Kerala Government Secretariat.jpg|thumb|Government Secretariat, Kerala]] ഇന്ത്യൻ സംസ്ഥാനമായ [[കേരളം|കേരളത്തിന്റെ]] ഭരണസമിതിയാണ് കേരള സർക്കാർ (ഇംഗ്ലീഷ്: '''''<span lang="En" dir="ltr">Government of Kerala</span>'''''). ജനാധിപത്യപരമായി തിരഞ്ഞെടുക്കപ്പെട്ട സർക്കാരാണിത്. ഭരണഘടനാപരമായി [[കേരളം|കേരള സംസ്ഥാനത്തിന്റെ]] കാര്യനിർവഹണ (Executive) വിഭാഗമാണ്‌ '''കേരള സർക്കാർ'''. ഇന്ത്യയുടെ രാഷ്ട്രപതി നിയമിക്കുന്ന [[ഗവർണ്ണർ|ഗവർണറാണ്]] കേരള സർക്കാരിന്റെ ഭരണഘടനാപരമായ തലവൻ. മുഖ്യമന്ത്രിയെയും മറ്റ് മന്ത്രിമാരെയും നിയമിക്കാനും നിയമസഭ പിരിച്ചുവിടാനും ഗവർണർക്ക് അധികാരമുണ്ട്. സംസ്ഥാന സർക്കാരിന്റെ ദൈനംദിന ഭരണത്തിന്റെ ഉത്തരവാദിത്തം മുഖ്യമന്ത്രിക്കാണ്. കേരള സർക്കാരിന്റെ നിയമനിർമ്മാണ ശാഖയാണ് [[നിയമസഭ]] (''Legislature''). കേരളത്തിലെ ജനങ്ങൾ തിരഞ്ഞെടുത്ത 140 അംഗങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നു. നിയമങ്ങൾ പാസാക്കുന്നതിനും ബജറ്റ് അംഗീകരിക്കുന്നതിനുമായി വർഷത്തിലൊരിക്കൽ നിയമസഭ ചേരുന്നു. കേരള നിയമസഭയിലെ അംഗങ്ങൾ തിരഞ്ഞെടുക്കുന്ന [[മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രിയും]] അദ്ദേഹത്തിന്റെ [[മന്ത്രിസഭ|മന്ത്രിസഭയുമാണ്]] സംസ്ഥാനം ഭരിക്കുന്നത്. സർക്കാരിന്റെ വിവിധ വകുപ്പുകളുടെ ചുമതലയുള്ള മന്ത്രിമാരുടെ സമിതി ([[കേരളത്തിലെ മന്ത്രിസഭകൾ|മന്ത്രിസഭ]]) മുഖ്യമന്ത്രിയെ ഭരണത്തിൽ സഹായിക്കുന്നു. മന്ത്രിസഭയ്ക്കു് ആവശ്യമായ പിന്തുണ നൽകുന്നത് സെക്രട്ടറിയേറ്റിൽ നിന്നാണ്. കേരളത്തിന്റെ ഭരണസിരാകേന്ദ്രമായ [[കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്|സെക്രട്ടേറിയേറ്റിലാണ്]] മന്ത്രിമാരുടെയും വിവിധ വകുപ്പ് സെക്രട്ടറിമാരുടെയും കാര്യാലയം സ്ഥിതിചെയ്യുന്നത്. സെക്രട്ടേറിയറ്റ് പല വകുപ്പുകളായി വിഭജിക്കപ്പെട്ടിരിക്കുന്നു<ref>{{Cite web |url=http://kerala.gov.in/dept_sec/index.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2008-05-22 |archive-date=2008-05-21 |archive-url=https://web.archive.org/web/20080521085924/http://www.kerala.gov.in/dept_sec/index.htm |url-status=dead }}</ref>. മന്ത്രിമാരുടെ നേതൃത്വത്തിൽ വകുപ്പ് സെക്രട്ടറിമാരുടെ കീഴിൽ ആണ് വകുപ്പുകൾ പ്രവർത്തിക്കുന്നത്. സെക്രട്ടേറിയറ്റ് വകുപ്പുകൾ മിക്കവാറും കയ്യാളുന്നത് ഭരണഘടനാപരമായ അധികാരങ്ങളും നയപരമായ (policy) തീരുമാനങ്ങളുമാണ്. സെക്രട്ടേറിയറ്റിനു പുറത്തുള്ള ഫീൽഡ് വകുപ്പുകളുടെ ചുമതല മേൽപ്പറഞ്ഞ നയങ്ങളും തീരുമാനങ്ങളും നടപ്പിലാക്കലും ഏതെങ്കിലും പ്രത്യേക നിയമപ്രകാരമുള്ള ജോലികളുമാണ് (statutory functions). സെക്രട്ടേറിയറ്റിൽ നിന്ന് വിഭിന്നമായി, എന്നാൽ സെക്രട്ടേറിയറ്റിലേതിനു ​ഏതാണ്ട് സമാനമായ നാമത്തിൽ പ്രവർത്തിക്കുന്ന അനുബന്ധ വകുപ്പുകൾ (ഫീൽഡ് വകുപ്പുകൾ/field departments) സാധാരണയായി ഡയറക്ടറേറ്റ്, കമ്മീഷണറേറ്റ് എന്നീ നാമങ്ങളിൽ അറിയപ്പെടുന്നു. സെക്രട്ടേറിയറ്റിലെ വകുപ്പും സെക്രട്ടേറിയറ്റിനു പുറത്തു പ്രവർത്തിക്കുന്ന വിഭാഗവും തമ്മിലുള്ള വ്യത്യാസം സാധാരണക്കാരനു പൊതുവേ അദൃശ്യമാണ്. ഭരണഘടന പ്രകാരം സർക്കാരിന്റെ എല്ലാ തീരുമാനങ്ങളും എടുക്കേണ്ടത് ഗവർണ്ണറോ അദ്ദേഹത്തിന്റെ നാമത്തിലോ ആയിരിക്കണം. ==നിലവിലെ മന്ത്രിസഭ== {{transcluded section|source=രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ}} {{#section:രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|മന്ത്രിസഭ}} ==വകുപ്പുകൾ== {{പ്രധാനലേഖനം|കേരള സർക്കാർ വകുപ്പുകൾ}} {{Excerpt|കേരള സർക്കാർ വകുപ്പുകൾ|സെക്രട്ടേറിയറ്റ് വകുപ്പുകൾ}} {{transcluded section|source=കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്}} {{#section:കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്|വകുപ്പുകൾ}} {{transcluded section|source=കേരള സർക്കാർ വകുപ്പുകൾ}} {{#section:കേരള സർക്കാർ വകുപ്പുകൾ|വകുപ്പുകൾ}} (അവലംബം: കേരളസംസ്ഥാന ബഡ്ജറ്റ് (2012-2013) അവതരണപ്രസംഗം) ==ഇതും കാണുക== [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക]] [[മൊറട്ടോറിയം]] ==പുറത്തേക്കുള്ള കണ്ണികൾ== *[http://www.keralacm.gov.in/ മുഖ്യമന്ത്രി] == അവലംബം == <references/> {{Gov-stub}} {{Topics related to Kerala}} {{Kerala}} {{Government of Kerala}} {{Government of India by state or territory}} {{Administration in India by state or territory}} [[വർഗ്ഗം:കേരള സർക്കാർ| ]] johh4gg99e28gdqrruq71oyd8zkvwfe 4622197 4622179 2026-05-23T10:10:18Z Asifalinair 206364 /* നിലവിലെ മന്ത്രിസഭ */ 4622197 wikitext text/x-wiki {{pu|Government of Kerala}} {{infobox government | government_name = കേരള സർക്കാർ | image = Government of Kerala Logo.svg | division_type = ആസ്ഥാന കാര്യാലയം | division = [[കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്|കേരള സർക്കാർ സിരാകേന്ദ്രം]], [[തിരുവനന്തപുരം]] | leader_type = [[ഗവർണ്ണർ|ഗവർണർ]] | leader_title = [[രാജേന്ദ്ര അർലേക്കർ]] | leader_type2 = [[മുഖ്യമന്ത്രി (ഇന്ത്യ)|മുഖ്യമന്ത്രി]] | leader_title2 = [[വി.ഡി. സതീശൻ]], ([[കോൺഗ്രസ്]]) | leader_type3 = [[മുഖ്യമന്ത്രി|ഉപമുഖ്യമന്ത്രി]] | leader_title3 = | leader_type4 = [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറി]] | leader_title4 = എ. ജയതിലക്, [[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]]<ref>{{URL|https://gad.kerala.gov.in/index.php/contact-us>pages}}</ref> | legislature_label = [[നിയമസഭ]] | legislature = {{ubl|[[കേരള നിയമസഭ]]|}} | speaker_label = [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] | speaker = [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] | deputy_speaker_label = [[നിയമസഭ|ഡെപ്യൂട്ടി സ്പീക്കർ]] | deputy_speaker = [[ഷാനിമോൾ ഉസ്മാൻ]] | members_in_assembly_label = [[നിയമസഭാംഗം|നിയമസഭയിലെ അംഗങ്ങൾ]] | members_in_assembly = [[കേരളത്തിലെ നിയമസഭാമണ്ഡലങ്ങളുടെ പട്ടിക|140]] | branch4 = [[നീതിന്യായ വ്യവസ്ഥ|നീതിന്യായം]] | court_name = [[ഹൈക്കോടതി]] | court = [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതി]] | chief_justice_label = ചീഫ് ജസ്റ്റിസ് | chief_justice = നിതിൻ മധുകർ ജാംദാർ |nativename={{transl|ml|ISO|Kēraḷa Sarkkār}}|deputy_chairman_label=[[നിലവിലെ ഇന്ത്യൻ നിയമസഭാ സ്പീക്കർമാരുടെയും ചെയർമാൻമാരുടെയും പട്ടിക|ഉപ അദ്ധ്യക്ഷന്]]|website={{URL|https://kerala.gov.in}}|image_size=200px|country=[[ഇന്ത്യ]]|headquarters=ഗവ: സെക്രട്ടറിയേറ്റ്, [[തിരുവനന്തപുരം]]|departments=[[കേരള സർക്കാർ വകുപ്പുകൾ|49]]|main_organ=[[കേരള മന്ത്രിസഭ]]|meeting_place=[[നിയമസഭാമന്ദിരം]], [[തിരുവനന്തപുരം]]|seat=[[കൊച്ചി]] (എറണാകുളം)|url={{URL|https://kerala.gov.in}}|government_form={{Resize|60%|പാർലമെന്ററി പ്രതിനിധിത്വ ജനാധിപത്യ ഫെഡറൽ റിപ്പബ്ലിക്|}}}} [[File:Kerala Government Secretariat.jpg|thumb|Government Secretariat, Kerala]] ഇന്ത്യൻ സംസ്ഥാനമായ [[കേരളം|കേരളത്തിന്റെ]] ഭരണസമിതിയാണ് കേരള സർക്കാർ (ഇംഗ്ലീഷ്: '''''<span lang="En" dir="ltr">Government of Kerala</span>'''''). ജനാധിപത്യപരമായി തിരഞ്ഞെടുക്കപ്പെട്ട സർക്കാരാണിത്. ഭരണഘടനാപരമായി [[കേരളം|കേരള സംസ്ഥാനത്തിന്റെ]] കാര്യനിർവഹണ (Executive) വിഭാഗമാണ്‌ '''കേരള സർക്കാർ'''. ഇന്ത്യയുടെ രാഷ്ട്രപതി നിയമിക്കുന്ന [[ഗവർണ്ണർ|ഗവർണറാണ്]] കേരള സർക്കാരിന്റെ ഭരണഘടനാപരമായ തലവൻ. മുഖ്യമന്ത്രിയെയും മറ്റ് മന്ത്രിമാരെയും നിയമിക്കാനും നിയമസഭ പിരിച്ചുവിടാനും ഗവർണർക്ക് അധികാരമുണ്ട്. സംസ്ഥാന സർക്കാരിന്റെ ദൈനംദിന ഭരണത്തിന്റെ ഉത്തരവാദിത്തം മുഖ്യമന്ത്രിക്കാണ്. കേരള സർക്കാരിന്റെ നിയമനിർമ്മാണ ശാഖയാണ് [[നിയമസഭ]] (''Legislature''). കേരളത്തിലെ ജനങ്ങൾ തിരഞ്ഞെടുത്ത 140 അംഗങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നു. നിയമങ്ങൾ പാസാക്കുന്നതിനും ബജറ്റ് അംഗീകരിക്കുന്നതിനുമായി വർഷത്തിലൊരിക്കൽ നിയമസഭ ചേരുന്നു. കേരള നിയമസഭയിലെ അംഗങ്ങൾ തിരഞ്ഞെടുക്കുന്ന [[മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രിയും]] അദ്ദേഹത്തിന്റെ [[മന്ത്രിസഭ|മന്ത്രിസഭയുമാണ്]] സംസ്ഥാനം ഭരിക്കുന്നത്. സർക്കാരിന്റെ വിവിധ വകുപ്പുകളുടെ ചുമതലയുള്ള മന്ത്രിമാരുടെ സമിതി ([[കേരളത്തിലെ മന്ത്രിസഭകൾ|മന്ത്രിസഭ]]) മുഖ്യമന്ത്രിയെ ഭരണത്തിൽ സഹായിക്കുന്നു. മന്ത്രിസഭയ്ക്കു് ആവശ്യമായ പിന്തുണ നൽകുന്നത് സെക്രട്ടറിയേറ്റിൽ നിന്നാണ്. കേരളത്തിന്റെ ഭരണസിരാകേന്ദ്രമായ [[കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്|സെക്രട്ടേറിയേറ്റിലാണ്]] മന്ത്രിമാരുടെയും വിവിധ വകുപ്പ് സെക്രട്ടറിമാരുടെയും കാര്യാലയം സ്ഥിതിചെയ്യുന്നത്. സെക്രട്ടേറിയറ്റ് പല വകുപ്പുകളായി വിഭജിക്കപ്പെട്ടിരിക്കുന്നു<ref>{{Cite web |url=http://kerala.gov.in/dept_sec/index.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2008-05-22 |archive-date=2008-05-21 |archive-url=https://web.archive.org/web/20080521085924/http://www.kerala.gov.in/dept_sec/index.htm |url-status=dead }}</ref>. മന്ത്രിമാരുടെ നേതൃത്വത്തിൽ വകുപ്പ് സെക്രട്ടറിമാരുടെ കീഴിൽ ആണ് വകുപ്പുകൾ പ്രവർത്തിക്കുന്നത്. സെക്രട്ടേറിയറ്റ് വകുപ്പുകൾ മിക്കവാറും കയ്യാളുന്നത് ഭരണഘടനാപരമായ അധികാരങ്ങളും നയപരമായ (policy) തീരുമാനങ്ങളുമാണ്. സെക്രട്ടേറിയറ്റിനു പുറത്തുള്ള ഫീൽഡ് വകുപ്പുകളുടെ ചുമതല മേൽപ്പറഞ്ഞ നയങ്ങളും തീരുമാനങ്ങളും നടപ്പിലാക്കലും ഏതെങ്കിലും പ്രത്യേക നിയമപ്രകാരമുള്ള ജോലികളുമാണ് (statutory functions). സെക്രട്ടേറിയറ്റിൽ നിന്ന് വിഭിന്നമായി, എന്നാൽ സെക്രട്ടേറിയറ്റിലേതിനു ​ഏതാണ്ട് സമാനമായ നാമത്തിൽ പ്രവർത്തിക്കുന്ന അനുബന്ധ വകുപ്പുകൾ (ഫീൽഡ് വകുപ്പുകൾ/field departments) സാധാരണയായി ഡയറക്ടറേറ്റ്, കമ്മീഷണറേറ്റ് എന്നീ നാമങ്ങളിൽ അറിയപ്പെടുന്നു. സെക്രട്ടേറിയറ്റിലെ വകുപ്പും സെക്രട്ടേറിയറ്റിനു പുറത്തു പ്രവർത്തിക്കുന്ന വിഭാഗവും തമ്മിലുള്ള വ്യത്യാസം സാധാരണക്കാരനു പൊതുവേ അദൃശ്യമാണ്. ഭരണഘടന പ്രകാരം സർക്കാരിന്റെ എല്ലാ തീരുമാനങ്ങളും എടുക്കേണ്ടത് ഗവർണ്ണറോ അദ്ദേഹത്തിന്റെ നാമത്തിലോ ആയിരിക്കണം. ==നിലവിലെ മന്ത്രിസഭ== {{Excerpt|വി.ഡി. സതീശൻ മന്ത്രിസഭ|മന്ത്രിമാരും വകുപ്പുകളും}} ==വകുപ്പുകൾ== {{പ്രധാനലേഖനം|കേരള സർക്കാർ വകുപ്പുകൾ}} {{Excerpt|കേരള സർക്കാർ വകുപ്പുകൾ|സെക്രട്ടേറിയറ്റ് വകുപ്പുകൾ}} {{transcluded section|source=കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്}} {{#section:കേരള ഗവൺമെന്റ് സെക്രട്ടേറിയേറ്റ്|വകുപ്പുകൾ}} {{transcluded section|source=കേരള സർക്കാർ വകുപ്പുകൾ}} {{#section:കേരള സർക്കാർ വകുപ്പുകൾ|വകുപ്പുകൾ}} (അവലംബം: കേരളസംസ്ഥാന ബഡ്ജറ്റ് (2012-2013) അവതരണപ്രസംഗം) ==ഇതും കാണുക== [[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക]] [[മൊറട്ടോറിയം]] ==പുറത്തേക്കുള്ള കണ്ണികൾ== *[http://www.keralacm.gov.in/ മുഖ്യമന്ത്രി] == അവലംബം == <references/> {{Gov-stub}} {{Topics related to Kerala}} {{Kerala}} {{Government of Kerala}} {{Government of India by state or territory}} {{Administration in India by state or territory}} [[വർഗ്ഗം:കേരള സർക്കാർ| ]] h88q2xq9u7vbmup7ueipaj3tq37bzel ഫലകം:Citation 10 44722 4621999 4442819 2019-03-24T16:35:18Z en>Necrothesp 0 3387296 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 4622000 4442820 2019-03-24T16:35:22Z en>Necrothesp 0 3387297 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 4622001 4442821 2026-05-22T22:54:35Z Jacob.jose 1784 [[:en:Template:Citation]] എന്നതിൽ നിന്ന് 2 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 3738761 wikitext text/x-wiki <includeonly>{{#invoke:citation/CS1|citation |CitationClass=citation }}</includeonly><noinclude> {{Documentation}} </noinclude> c5vwsrpqyl5vzwjnrpazsisamya1wve ലത മങ്കേഷ്കർ 0 44785 4621564 4583815 2026-05-22T13:58:54Z FluteWarrior 217914 Created by translating the section "Books on Mangeshkar" from the page "[[:en:Special:Redirect/revision/1355462566|Lata Mangeshkar]]" 4621564 wikitext text/x-wiki {{prettyurl|Lata Mangeshkar}}{{Infobox person | name = ലത മങ്കേഷ്കർ | image = Lata-Mangeshkar.jpg | image_size = | caption = | native_name = | native_name_lang = | other_names = ''Queen of Melody'', ''Voice of the Nation'', ''Voice of the Millennium'', ''Nightingale of India'' | birth_name = Hema Mangeshkar<ref>"നിത്യതയിൽ ലയിച്ച് ലത; വാനമ്പാടിക്ക് രാജ്യം വിട നൽകി | Lata Mangheshkar Funeral | PM Modi | Uddav Thackerey attended Funeral" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangheshkar-funeral-pm-modi-uddav-thackerey-attended-funeral-1.6423942{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>"ഇന്ത്യയുടെ സുവർണനാദം അസ്തമിച്ചു; മഹാഗായിക ലതാ മങ്കേഷ്‍കർ ഓർമയായി" https://www.manoramaonline.com/news/latest-news/2022/02/06/legendary-singer-lata-mangeshkar-passes-away.html</ref> | birth_date = 28/9/1929 <ref>"ഇന്ത്യയുടെ വാനമ്പാടി ലതാ മങ്കേഷ്‌കർ അന്തരിച്ചു | Lata Mangeshkar | Lata Mangeshkar News | Lata Mangeshkar passes away | Latest Malayalam News" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangeshkar-passed-away-songs-of-lata-mangeshkar-1.6423649{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{cite news |title=Lata Mangeshkar won't celebrate 87th birthday, says 'jo shahid hue hai unki yaad karo kurbani' ['remember the victims and their sacrifice'] |url=http://indianexpress.com/article/music/lata-mangeshkar-has-special-message-for-pakistan-3053252/ |date=28 September 2016 |newspaper=The Indian Express |access-date=28 September 2016}}</ref> | birth_place = [[Indore]], [[Indore State]], [[Central India Agency]], [[British Raj|British India]]<br/>(present-day [[Madhya Pradesh]], [[India]]) | death_date = {{Death date and age |2022|02|06|1929|09|28|df=yes}}<ref>{{Cite web|title=Breaking news live updates: Singer Lata Mangeshkar passes away|url=https://timesofindia.indiatimes.com/india/breaking-news-live-updates-feb-6/liveblog/89376395.cms|access-date=2022-02-06|website=The Times of India|language=en}}</ref> | death_place = മുംബൈ | nationality = Indian | occupation = [[Playback singer]], [[music director]], producer | years_active = 1942–2022 | parents = [[Deenanath Mangeshkar]] (father)<br/>Shevanti Mangeshkar (mother) | relatives = [[Meena Khadikar]] (sister)<br/>[[Asha Bhosle]] (sister)<br/>[[Usha Mangeshkar]] (sister)<br/>[[Hridaynath Mangeshkar]] (brother) <br/>[[Shraddha Kapoor]] (great grand niece) | awards = {{plainlist| * [[National Film Awards]] * [[Bengal Film Journalists' Association Awards|BFJA Awards]] * [[Filmfare Award for Best Female Playback Singer]] * [[Filmfare]] Special Awards * [[Filmfare Lifetime Achievement Award]] }} | honours = {{plainlist| * [[Padma Bhushan]] (1969) * [[Dadasaheb Phalke Award]] (1989) * [[Padma Vibhushan]] (1999) * [[Bharat Ratna]] (2001) * [[Legion of Honour]] (2007) }} | module = {{Infobox officeholder |embed = yes | office = [[Member of Parliament]] – [[Rajya Sabha]] | termstart1 = 22 November 1999 | termend1 = 21 November 2005 }} | signature = Signature of Lata Mangeshkar.svg }} പ്രശസ്തയായ ഒരു ഇന്ത്യൻ ചലച്ചിത്രപിന്നണിഗായികയായിരുന്നു '''ലത മങ്കേഷ്കർ''' ([[ഹിന്ദി]]: लता मंगेशकर, ജനനം [[സെപ്റ്റംബർ 28]], [[1929]] - മരണം: [[ഫെബ്രുവരി 6]], [[2022]])<ref>http://www.imdb.com/name/nm0542196/</ref>. ''ഭാരതീയ സംഗീതത്തിന്റെ വാനമ്പാടി'' എന്നറിയപ്പെടുന്നു ലത മങ്കേഷ്കർ. സംഗീതത്തിന് നിരവധി പുരസ്കാരങ്ങൾ ലഭിച്ചിട്ടുണ്ട്. പ്രശസ്ത ചലച്ചിത്രപിന്നണിഗായികയായ [[ആശാ ഭോസ്‌ലേ]] ഇളയ സഹോദരിയാണ്‌. == അവാർഡുകൾ == [[പത്മഭൂഷൺ]]([[1969]]), [[പത്മവിഭൂഷൺ]]([[1999]]), [[ദാദാസാഹിബ്‌ ഫാൽക്കെ അവാർഡ്‌]]([[1989]]), [[ഭാരതരത്നം]]([[2001]]), മൂന്ന് നാഷനൽ ഫിലിം അവാർഡുകൾ, 12 ബംഗാൾ ഫിലിം ജേർണലിസ്റ്റ് അസോസിയേഷൻ അവാർഡുകൾ എന്നിവ നേടിയിട്ടുണ്ട്. == ജീവിതരേഖ == [[മറാത്ത]] നാടകവേദിയിലെ ഗായകനായിരുന്ന ദീനനാഥ് മങ്കേഷ്കറുടെ ആറുമക്കളിൽ മൂത്തയാളായി 1929 സെപ്റ്റംബർ 28-ന് [[ഇൻഡോർ|ഇൻഡോറിൽ]] ഒരു കൊങ്കണി കുടുംബത്തിൽ ലത ജനിച്ചു. അമ്മ ശുദ്ധമാതി. ഹാർദ്ദികാർ എന്ന കുടുംബപ്പേര്, ദീനനാഥിന്റെ സ്വദേശമായിരുന്ന [[ഗോവ|ഗോവയിലെ]] മങ്കേഷി എന്ന സ്ഥലപ്പേരുമായി ബന്ധപ്പെടുത്തി മങ്കേഷ്കർ എന്നാക്കിയതാണ്‌. ലത മങ്കേഷ്കറിന്റെ‍ ആദ്യനാമം ഹേമ എന്നായിരുന്നു. പിന്നീട്, ദീനനാഥിന്റെ ''ഭാവ്ബന്ധൻ'' എന്ന നാടകത്തിലെ കഥാപാത്രത്തിന്റെ പേരായ ലതിക എന്ന പേരുമായി ബന്ധപ്പെടുത്തി , പേരു ലത എന്നാക്കിമാറ്റുകയാണുണ്ടായത്.<ref name="encyclopaedia_of_hindi_cinema">{{cite book | last = Khubchandani | first = Lata | editor = [[Gulzar]], [[Govind Nihalani]], Saibal Chatterjee | title = Encyclopaedia of Hindi Cinema | url = https://archive.org/details/encyclopaediaofh0000unse_p6q3 | year = 2003 | publisher = Popular Prakashan | isbn = 8179910660 | pages = [https://archive.org/details/encyclopaediaofh0000unse_p6q3/page/n686 486]-487 }}</ref> . ഈ ദമ്പതികളുടെ മൂത്ത പുത്രിയായിരുന്നു ലത, [[ഹൃദയ്നാഥ് മങ്കേഷ്കർ]], [[ആശാ ഭോസ്‌ലേ]], [[ഉഷാ മങ്കേഷ്കർ]], [[മീനാ മങ്കേഷ്കർ]] എന്നിവരാണ്‌ സഹോദരങ്ങൾ. പിതാവിൽനിന്നാണ്‌ ലത, സംഗീതത്തിന്റെ ബാലപാഠങ്ങൾ അഭ്യസിച്ചത്, അഞ്ചാമത്തെ വയസ്സിൽ പിതാവിന്റെ സംഗീതനാടകങ്ങളിൽ അഭിനയിക്കാൻ തുടങ്ങി. ലതക്ക് പതിമൂന്ന് വയസ്സുള്ളപ്പോൾ അച്ഛൻ മരിച്ചു. കുടുംബം പോറ്റാൻവേണ്ടി ലത സിനിമയിൽ അഭിനയിക്കാൻ തുടങ്ങി. പിന്നീട് അഭിനയം വിട്ട് സംഗീതത്തിലൂടെ ലത വളർന്നു. 1942-ൽ ''കിടി ഹസാൽ'' എന്ന മറാത്തി ചിത്രത്തിൽ ''നാചു യാ ഗാഥേ, ഖേലു നാ മണി ഹാസ് ബാരി'' എന്ന ഗാനമാണ്‌ ആദ്യമായി ആലപിച്ചത്, എന്നാൽ ഈ ഗാനം സിനിമയിൽ നിന്നും നീക്കപ്പെടുകയായിരുന്നു. ആ വർഷം തന്നെ ലത, ''പാഹിലി മംഗള-ഗോർ'' എന്ന മറാത്തി ചിത്രത്തിൽ അഭിനയിക്കുകയും ''നടാലി ചൈത്രാചി നവാലായി'' എന്ന ഗാനമാലപിക്കുകയും ചെയ്തു. 1943-ൽ ഗജാബാഹു എന്ന ചിത്രത്തിലെ ''മാതാ ഏക് സപൂത് കി ദുനിയാ ബദൽ ദേ തൂ'' എന്നതാണ്‌ ലതയുടെ ആദ്യ ഹിന്ദി ഗാനം.1948-ൽ ഷഹീദ് എന്ന ചിത്രത്തിനു വേണ്ടി പാടാനെത്തിയ ലതയെ ശബ്ദം നേർത്തതാണെന്ന് പറഞ്ഞ് നിർമ്മാതാവ് എസ്. മുഖർജി മടക്കി അയക്കുകയാണുണ്ടായത്. ബോംബെ ടാക്കീസിനുവേണ്ടി നസീർ അജ്‌മീറി സംവിധാനം ചെയ്ത മജ്‌ബൂർ (1948) എന്ന ചിത്രത്തിലെ [[ഗുലാം ഹൈദർ]] സംഗീതസംവിധാനം ചെയ്ത ''മേരാ ദിൽ തോഡാ'' എന്ന ഗാനമാണ് ലതാമങ്കേഷ്കറെ ഗായികയെന്ന നിലയിൽ ശ്രദ്ധേയയാക്കിയത്. ആ ശബ്ദമാണ്‌ പിന്നീട് ഇന്ത്യ കീഴടക്കിയത്. 15 ഭാഷകളിലായി നാല്പതിനായിരത്തോളം സിനിമാഗാനങ്ങൾ ആലപിച്ചു. ലോകത്തിലേറ്റവും കൂടുതൽ ഗാനങ്ങൾ റെക്കോർഡ് ചെയ്യപ്പെട്ടവരുടെ കൂട്ടത്തിൽ ലത മങ്കേഷ്കറുമുണ്ട്. ഹിന്ദിസിനിമാരംഗം ലതയും സഹോദരി ആഷഭോസ്ലെയും ഏതാണ്ട് പൂർണമായും കീഴടക്കി. 1948 മുതൽ ഏകദേശം അരനൂറ്റാണ്ടുകാലം ഇരുവരും ഹിന്ദി ചലച്ചിത്രഗാനരംഗത്തെ അവിഭാജ്യഘടകങ്ങളായിരുന്നു. ഹിന്ദി സിനിമയിലെ ഒട്ടുമിയ്ക്ക നടിമാരും ഇവരുടെ ശബ്ദങ്ങൾക്കനുസരിച്ച് ചുണ്ടനക്കിയിട്ടുണ്ട്. 1999 മുതൽ 2005 വരെ എൻ.ഡി.എ മുന്നണിയുടെ രാജ്യസഭാംഗമായും പ്രവർത്തിച്ചു. 2001-ൽ ഭാരതരത്നം ലഭിച്ചു. == മരണം == ഏറെക്കാലം വാർദ്ധക്യസഹജവും അല്ലാത്തതുമായ രോഗങ്ങൾ അലട്ടിയിരുന്ന ലതയെ, [[കോവിഡ്-19]] 2022 ജനുവരി 11-ന് മുംബൈയിലെ ലീലാവതി ആശുപത്രിയിൽ പ്രവേശിപ്പിച്ചു. ആദ്യഘട്ടത്തിൽ ആരോഗ്യനിലയിൽ മികച്ച പുരോഗതി കൈവരിച്ച അവർ, പിന്നീട് അതീവഗുരുതരാവസ്ഥയിലാകുകയും, ഫെബ്രുവരി 6-ന് രാവിലെ എട്ടരയോടെ 92-ആം വയസ്സിൽ അന്തരിയ്ക്കുകയും ചെയ്തു. മൃതദേഹം അന്ന് വൈകീട്ട് പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ മുംബൈ ശിവാജി പാർക്കിൽ സംസ്കരിച്ചു. [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]] [[നരേന്ദ്ര മോദി]], [[മഹാരാഷ്ട്ര]] [[മുഖ്യമന്ത്രി]] [[ഉദ്ധവ് താക്കറെ]] തുടങ്ങി രാഷ്ട്രീയ-സാംസ്കാരികരംഗത്തെ നിരവധിപ്രമുഖരും സാധാരണക്കാരായ സംഗീതപ്രേമികളും അവർക്ക് അന്ത്യാഞ്ജലികൾ അർപ്പിച്ചു. === ലതയുടെ ഏക മലയാളഗാനം === രാമു കാര്യാട്ട് സംവിധാനം ചെയ്ത് 1974-ൽ റിലീസ് ചെയ്ത [[നെല്ല് (ചലച്ചിത്രം)|നെല്ല്]] എന്ന ചിത്രത്തിലെ "കദളി കൺകദളി ചെങ്കദളി പൂ വേണോ.." എന്ന് തുടങ്ങുന്ന ഗാനം<ref>{{Cite web |url=http://malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-09-28 |archive-date=2009-06-15 |archive-url=https://web.archive.org/web/20090615161919/http://www.malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |url-status=dead }}</ref> ലത മങ്കേഷ്കർ ആലപിച്ചതാണ്‌. [[വയലാർ രാമവർമ്മ|വയലാർ രാമവർമ്മയുടെ]] വരികൾക്ക് [[സലിൽ‍ ചൗധരി|സലിൽ ചൗധരി]] ഈണമിട്ടു. == ലതാ മങ്കേഷ്‌കറെക്കുറിച്ചുള്ള പുസ്തകങ്ങൾ == . മങ്കേഷ്കർ ആലപിച്ച ഗാനങ്ങളുടെ ഒരു വിജ്ഞാനകോശമായ "Lata Geetkosh", സ്നേഹിസ് ചാറ്റർജി 15 വാല്യങ്ങളായി പ്രസിദ്ധീകരിച്ചു. == അവലംബങ്ങൾ == <references/> {{Bharat Ratna}} {{ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരം}} {{National Film Award Best Female Playback Singer}} [[വർഗ്ഗം:1929-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 28-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ഭാരതരത്ന പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മവിഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരജേതാക്കൾ]] [[വർഗ്ഗം:മികച്ച ഗായികയ്ക്കുള്ള ദേശീയ ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:രാജീവ് ഗാന്ധി സദ്ഭാവനാ പുരസ്‌കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:രാജ്യസഭയിലേക്ക് നാമനിർദ്ദേശം ചെയ്യപ്പെട്ടവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായികമാർ‎]] [[വർഗ്ഗം:2022-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ഫെബ്രുവരി 6-ന് മരിച്ചവർ]] [[വർഗ്ഗം:കോവിഡ്-19 മൂലം മരിച്ചവർ]] {{Bio-stub}} f0tz36prsya086aweavr4kgvfzrs306 4621565 4621564 2026-05-22T13:59:58Z FluteWarrior 217914 /* ലതാ മങ്കേഷ്‌കറെക്കുറിച്ചുള്ള പുസ്തകങ്ങൾ */ 4621565 wikitext text/x-wiki {{prettyurl|Lata Mangeshkar}}{{Infobox person | name = ലത മങ്കേഷ്കർ | image = Lata-Mangeshkar.jpg | image_size = | caption = | native_name = | native_name_lang = | other_names = ''Queen of Melody'', ''Voice of the Nation'', ''Voice of the Millennium'', ''Nightingale of India'' | birth_name = Hema Mangeshkar<ref>"നിത്യതയിൽ ലയിച്ച് ലത; വാനമ്പാടിക്ക് രാജ്യം വിട നൽകി | Lata Mangheshkar Funeral | PM Modi | Uddav Thackerey attended Funeral" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangheshkar-funeral-pm-modi-uddav-thackerey-attended-funeral-1.6423942{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>"ഇന്ത്യയുടെ സുവർണനാദം അസ്തമിച്ചു; മഹാഗായിക ലതാ മങ്കേഷ്‍കർ ഓർമയായി" https://www.manoramaonline.com/news/latest-news/2022/02/06/legendary-singer-lata-mangeshkar-passes-away.html</ref> | birth_date = 28/9/1929 <ref>"ഇന്ത്യയുടെ വാനമ്പാടി ലതാ മങ്കേഷ്‌കർ അന്തരിച്ചു | Lata Mangeshkar | Lata Mangeshkar News | Lata Mangeshkar passes away | Latest Malayalam News" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangeshkar-passed-away-songs-of-lata-mangeshkar-1.6423649{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{cite news |title=Lata Mangeshkar won't celebrate 87th birthday, says 'jo shahid hue hai unki yaad karo kurbani' ['remember the victims and their sacrifice'] |url=http://indianexpress.com/article/music/lata-mangeshkar-has-special-message-for-pakistan-3053252/ |date=28 September 2016 |newspaper=The Indian Express |access-date=28 September 2016}}</ref> | birth_place = [[Indore]], [[Indore State]], [[Central India Agency]], [[British Raj|British India]]<br/>(present-day [[Madhya Pradesh]], [[India]]) | death_date = {{Death date and age |2022|02|06|1929|09|28|df=yes}}<ref>{{Cite web|title=Breaking news live updates: Singer Lata Mangeshkar passes away|url=https://timesofindia.indiatimes.com/india/breaking-news-live-updates-feb-6/liveblog/89376395.cms|access-date=2022-02-06|website=The Times of India|language=en}}</ref> | death_place = മുംബൈ | nationality = Indian | occupation = [[Playback singer]], [[music director]], producer | years_active = 1942–2022 | parents = [[Deenanath Mangeshkar]] (father)<br/>Shevanti Mangeshkar (mother) | relatives = [[Meena Khadikar]] (sister)<br/>[[Asha Bhosle]] (sister)<br/>[[Usha Mangeshkar]] (sister)<br/>[[Hridaynath Mangeshkar]] (brother) <br/>[[Shraddha Kapoor]] (great grand niece) | awards = {{plainlist| * [[National Film Awards]] * [[Bengal Film Journalists' Association Awards|BFJA Awards]] * [[Filmfare Award for Best Female Playback Singer]] * [[Filmfare]] Special Awards * [[Filmfare Lifetime Achievement Award]] }} | honours = {{plainlist| * [[Padma Bhushan]] (1969) * [[Dadasaheb Phalke Award]] (1989) * [[Padma Vibhushan]] (1999) * [[Bharat Ratna]] (2001) * [[Legion of Honour]] (2007) }} | module = {{Infobox officeholder |embed = yes | office = [[Member of Parliament]] – [[Rajya Sabha]] | termstart1 = 22 November 1999 | termend1 = 21 November 2005 }} | signature = Signature of Lata Mangeshkar.svg }} പ്രശസ്തയായ ഒരു ഇന്ത്യൻ ചലച്ചിത്രപിന്നണിഗായികയായിരുന്നു '''ലത മങ്കേഷ്കർ''' ([[ഹിന്ദി]]: लता मंगेशकर, ജനനം [[സെപ്റ്റംബർ 28]], [[1929]] - മരണം: [[ഫെബ്രുവരി 6]], [[2022]])<ref>http://www.imdb.com/name/nm0542196/</ref>. ''ഭാരതീയ സംഗീതത്തിന്റെ വാനമ്പാടി'' എന്നറിയപ്പെടുന്നു ലത മങ്കേഷ്കർ. സംഗീതത്തിന് നിരവധി പുരസ്കാരങ്ങൾ ലഭിച്ചിട്ടുണ്ട്. പ്രശസ്ത ചലച്ചിത്രപിന്നണിഗായികയായ [[ആശാ ഭോസ്‌ലേ]] ഇളയ സഹോദരിയാണ്‌. == അവാർഡുകൾ == [[പത്മഭൂഷൺ]]([[1969]]), [[പത്മവിഭൂഷൺ]]([[1999]]), [[ദാദാസാഹിബ്‌ ഫാൽക്കെ അവാർഡ്‌]]([[1989]]), [[ഭാരതരത്നം]]([[2001]]), മൂന്ന് നാഷനൽ ഫിലിം അവാർഡുകൾ, 12 ബംഗാൾ ഫിലിം ജേർണലിസ്റ്റ് അസോസിയേഷൻ അവാർഡുകൾ എന്നിവ നേടിയിട്ടുണ്ട്. == ജീവിതരേഖ == [[മറാത്ത]] നാടകവേദിയിലെ ഗായകനായിരുന്ന ദീനനാഥ് മങ്കേഷ്കറുടെ ആറുമക്കളിൽ മൂത്തയാളായി 1929 സെപ്റ്റംബർ 28-ന് [[ഇൻഡോർ|ഇൻഡോറിൽ]] ഒരു കൊങ്കണി കുടുംബത്തിൽ ലത ജനിച്ചു. അമ്മ ശുദ്ധമാതി. ഹാർദ്ദികാർ എന്ന കുടുംബപ്പേര്, ദീനനാഥിന്റെ സ്വദേശമായിരുന്ന [[ഗോവ|ഗോവയിലെ]] മങ്കേഷി എന്ന സ്ഥലപ്പേരുമായി ബന്ധപ്പെടുത്തി മങ്കേഷ്കർ എന്നാക്കിയതാണ്‌. ലത മങ്കേഷ്കറിന്റെ‍ ആദ്യനാമം ഹേമ എന്നായിരുന്നു. പിന്നീട്, ദീനനാഥിന്റെ ''ഭാവ്ബന്ധൻ'' എന്ന നാടകത്തിലെ കഥാപാത്രത്തിന്റെ പേരായ ലതിക എന്ന പേരുമായി ബന്ധപ്പെടുത്തി , പേരു ലത എന്നാക്കിമാറ്റുകയാണുണ്ടായത്.<ref name="encyclopaedia_of_hindi_cinema">{{cite book | last = Khubchandani | first = Lata | editor = [[Gulzar]], [[Govind Nihalani]], Saibal Chatterjee | title = Encyclopaedia of Hindi Cinema | url = https://archive.org/details/encyclopaediaofh0000unse_p6q3 | year = 2003 | publisher = Popular Prakashan | isbn = 8179910660 | pages = [https://archive.org/details/encyclopaediaofh0000unse_p6q3/page/n686 486]-487 }}</ref> . ഈ ദമ്പതികളുടെ മൂത്ത പുത്രിയായിരുന്നു ലത, [[ഹൃദയ്നാഥ് മങ്കേഷ്കർ]], [[ആശാ ഭോസ്‌ലേ]], [[ഉഷാ മങ്കേഷ്കർ]], [[മീനാ മങ്കേഷ്കർ]] എന്നിവരാണ്‌ സഹോദരങ്ങൾ. പിതാവിൽനിന്നാണ്‌ ലത, സംഗീതത്തിന്റെ ബാലപാഠങ്ങൾ അഭ്യസിച്ചത്, അഞ്ചാമത്തെ വയസ്സിൽ പിതാവിന്റെ സംഗീതനാടകങ്ങളിൽ അഭിനയിക്കാൻ തുടങ്ങി. ലതക്ക് പതിമൂന്ന് വയസ്സുള്ളപ്പോൾ അച്ഛൻ മരിച്ചു. കുടുംബം പോറ്റാൻവേണ്ടി ലത സിനിമയിൽ അഭിനയിക്കാൻ തുടങ്ങി. പിന്നീട് അഭിനയം വിട്ട് സംഗീതത്തിലൂടെ ലത വളർന്നു. 1942-ൽ ''കിടി ഹസാൽ'' എന്ന മറാത്തി ചിത്രത്തിൽ ''നാചു യാ ഗാഥേ, ഖേലു നാ മണി ഹാസ് ബാരി'' എന്ന ഗാനമാണ്‌ ആദ്യമായി ആലപിച്ചത്, എന്നാൽ ഈ ഗാനം സിനിമയിൽ നിന്നും നീക്കപ്പെടുകയായിരുന്നു. ആ വർഷം തന്നെ ലത, ''പാഹിലി മംഗള-ഗോർ'' എന്ന മറാത്തി ചിത്രത്തിൽ അഭിനയിക്കുകയും ''നടാലി ചൈത്രാചി നവാലായി'' എന്ന ഗാനമാലപിക്കുകയും ചെയ്തു. 1943-ൽ ഗജാബാഹു എന്ന ചിത്രത്തിലെ ''മാതാ ഏക് സപൂത് കി ദുനിയാ ബദൽ ദേ തൂ'' എന്നതാണ്‌ ലതയുടെ ആദ്യ ഹിന്ദി ഗാനം.1948-ൽ ഷഹീദ് എന്ന ചിത്രത്തിനു വേണ്ടി പാടാനെത്തിയ ലതയെ ശബ്ദം നേർത്തതാണെന്ന് പറഞ്ഞ് നിർമ്മാതാവ് എസ്. മുഖർജി മടക്കി അയക്കുകയാണുണ്ടായത്. ബോംബെ ടാക്കീസിനുവേണ്ടി നസീർ അജ്‌മീറി സംവിധാനം ചെയ്ത മജ്‌ബൂർ (1948) എന്ന ചിത്രത്തിലെ [[ഗുലാം ഹൈദർ]] സംഗീതസംവിധാനം ചെയ്ത ''മേരാ ദിൽ തോഡാ'' എന്ന ഗാനമാണ് ലതാമങ്കേഷ്കറെ ഗായികയെന്ന നിലയിൽ ശ്രദ്ധേയയാക്കിയത്. ആ ശബ്ദമാണ്‌ പിന്നീട് ഇന്ത്യ കീഴടക്കിയത്. 15 ഭാഷകളിലായി നാല്പതിനായിരത്തോളം സിനിമാഗാനങ്ങൾ ആലപിച്ചു. ലോകത്തിലേറ്റവും കൂടുതൽ ഗാനങ്ങൾ റെക്കോർഡ് ചെയ്യപ്പെട്ടവരുടെ കൂട്ടത്തിൽ ലത മങ്കേഷ്കറുമുണ്ട്. ഹിന്ദിസിനിമാരംഗം ലതയും സഹോദരി ആഷഭോസ്ലെയും ഏതാണ്ട് പൂർണമായും കീഴടക്കി. 1948 മുതൽ ഏകദേശം അരനൂറ്റാണ്ടുകാലം ഇരുവരും ഹിന്ദി ചലച്ചിത്രഗാനരംഗത്തെ അവിഭാജ്യഘടകങ്ങളായിരുന്നു. ഹിന്ദി സിനിമയിലെ ഒട്ടുമിയ്ക്ക നടിമാരും ഇവരുടെ ശബ്ദങ്ങൾക്കനുസരിച്ച് ചുണ്ടനക്കിയിട്ടുണ്ട്. 1999 മുതൽ 2005 വരെ എൻ.ഡി.എ മുന്നണിയുടെ രാജ്യസഭാംഗമായും പ്രവർത്തിച്ചു. 2001-ൽ ഭാരതരത്നം ലഭിച്ചു. == മരണം == ഏറെക്കാലം വാർദ്ധക്യസഹജവും അല്ലാത്തതുമായ രോഗങ്ങൾ അലട്ടിയിരുന്ന ലതയെ, [[കോവിഡ്-19]] 2022 ജനുവരി 11-ന് മുംബൈയിലെ ലീലാവതി ആശുപത്രിയിൽ പ്രവേശിപ്പിച്ചു. ആദ്യഘട്ടത്തിൽ ആരോഗ്യനിലയിൽ മികച്ച പുരോഗതി കൈവരിച്ച അവർ, പിന്നീട് അതീവഗുരുതരാവസ്ഥയിലാകുകയും, ഫെബ്രുവരി 6-ന് രാവിലെ എട്ടരയോടെ 92-ആം വയസ്സിൽ അന്തരിയ്ക്കുകയും ചെയ്തു. മൃതദേഹം അന്ന് വൈകീട്ട് പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ മുംബൈ ശിവാജി പാർക്കിൽ സംസ്കരിച്ചു. [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]] [[നരേന്ദ്ര മോദി]], [[മഹാരാഷ്ട്ര]] [[മുഖ്യമന്ത്രി]] [[ഉദ്ധവ് താക്കറെ]] തുടങ്ങി രാഷ്ട്രീയ-സാംസ്കാരികരംഗത്തെ നിരവധിപ്രമുഖരും സാധാരണക്കാരായ സംഗീതപ്രേമികളും അവർക്ക് അന്ത്യാഞ്ജലികൾ അർപ്പിച്ചു. === ലതയുടെ ഏക മലയാളഗാനം === രാമു കാര്യാട്ട് സംവിധാനം ചെയ്ത് 1974-ൽ റിലീസ് ചെയ്ത [[നെല്ല് (ചലച്ചിത്രം)|നെല്ല്]] എന്ന ചിത്രത്തിലെ "കദളി കൺകദളി ചെങ്കദളി പൂ വേണോ.." എന്ന് തുടങ്ങുന്ന ഗാനം<ref>{{Cite web |url=http://malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-09-28 |archive-date=2009-06-15 |archive-url=https://web.archive.org/web/20090615161919/http://www.malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |url-status=dead }}</ref> ലത മങ്കേഷ്കർ ആലപിച്ചതാണ്‌. [[വയലാർ രാമവർമ്മ|വയലാർ രാമവർമ്മയുടെ]] വരികൾക്ക് [[സലിൽ‍ ചൗധരി|സലിൽ ചൗധരി]] ഈണമിട്ടു. == ലതാ മങ്കേഷ്‌കറെക്കുറിച്ചുള്ള പുസ്തകങ്ങൾ == മങ്കേഷ്കർ ആലപിച്ച ഗാനങ്ങളുടെ ഒരു വിജ്ഞാനകോശമായ "''Lata Geetkosh''", സ്നേഹിസ് ചാറ്റർജി 15 വാല്യങ്ങളായി പ്രസിദ്ധീകരിച്ചു. == അവലംബങ്ങൾ == <references/> {{Bharat Ratna}} {{ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരം}} {{National Film Award Best Female Playback Singer}} [[വർഗ്ഗം:1929-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 28-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ഭാരതരത്ന പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മവിഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരജേതാക്കൾ]] [[വർഗ്ഗം:മികച്ച ഗായികയ്ക്കുള്ള ദേശീയ ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:രാജീവ് ഗാന്ധി സദ്ഭാവനാ പുരസ്‌കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:രാജ്യസഭയിലേക്ക് നാമനിർദ്ദേശം ചെയ്യപ്പെട്ടവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായികമാർ‎]] [[വർഗ്ഗം:2022-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ഫെബ്രുവരി 6-ന് മരിച്ചവർ]] [[വർഗ്ഗം:കോവിഡ്-19 മൂലം മരിച്ചവർ]] {{Bio-stub}} ghtx8skkpti4jt9sluqqjoyarii4mls 4622201 4621565 2026-05-23T11:15:17Z FluteWarrior 217914 Created by translating the section "Non-singing career" from the page "[[:en:Special:Redirect/revision/1355462566|Lata Mangeshkar]]" 4622201 wikitext text/x-wiki {{prettyurl|Lata Mangeshkar}}{{Infobox person | name = ലത മങ്കേഷ്കർ | image = Lata-Mangeshkar.jpg | image_size = | caption = | native_name = | native_name_lang = | other_names = ''Queen of Melody'', ''Voice of the Nation'', ''Voice of the Millennium'', ''Nightingale of India'' | birth_name = Hema Mangeshkar<ref>"നിത്യതയിൽ ലയിച്ച് ലത; വാനമ്പാടിക്ക് രാജ്യം വിട നൽകി | Lata Mangheshkar Funeral | PM Modi | Uddav Thackerey attended Funeral" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangheshkar-funeral-pm-modi-uddav-thackerey-attended-funeral-1.6423942{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>"ഇന്ത്യയുടെ സുവർണനാദം അസ്തമിച്ചു; മഹാഗായിക ലതാ മങ്കേഷ്‍കർ ഓർമയായി" https://www.manoramaonline.com/news/latest-news/2022/02/06/legendary-singer-lata-mangeshkar-passes-away.html</ref> | birth_date = 28/9/1929 <ref>"ഇന്ത്യയുടെ വാനമ്പാടി ലതാ മങ്കേഷ്‌കർ അന്തരിച്ചു | Lata Mangeshkar | Lata Mangeshkar News | Lata Mangeshkar passes away | Latest Malayalam News" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangeshkar-passed-away-songs-of-lata-mangeshkar-1.6423649{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{cite news |title=Lata Mangeshkar won't celebrate 87th birthday, says 'jo shahid hue hai unki yaad karo kurbani' ['remember the victims and their sacrifice'] |url=http://indianexpress.com/article/music/lata-mangeshkar-has-special-message-for-pakistan-3053252/ |date=28 September 2016 |newspaper=The Indian Express |access-date=28 September 2016}}</ref> | birth_place = [[Indore]], [[Indore State]], [[Central India Agency]], [[British Raj|British India]]<br/>(present-day [[Madhya Pradesh]], [[India]]) | death_date = {{Death date and age |2022|02|06|1929|09|28|df=yes}}<ref>{{Cite web|title=Breaking news live updates: Singer Lata Mangeshkar passes away|url=https://timesofindia.indiatimes.com/india/breaking-news-live-updates-feb-6/liveblog/89376395.cms|access-date=2022-02-06|website=The Times of India|language=en}}</ref> | death_place = മുംബൈ | nationality = Indian | occupation = [[Playback singer]], [[music director]], producer | years_active = 1942–2022 | parents = [[Deenanath Mangeshkar]] (father)<br/>Shevanti Mangeshkar (mother) | relatives = [[Meena Khadikar]] (sister)<br/>[[Asha Bhosle]] (sister)<br/>[[Usha Mangeshkar]] (sister)<br/>[[Hridaynath Mangeshkar]] (brother) <br/>[[Shraddha Kapoor]] (great grand niece) | awards = {{plainlist| * [[National Film Awards]] * [[Bengal Film Journalists' Association Awards|BFJA Awards]] * [[Filmfare Award for Best Female Playback Singer]] * [[Filmfare]] Special Awards * [[Filmfare Lifetime Achievement Award]] }} | honours = {{plainlist| * [[Padma Bhushan]] (1969) * [[Dadasaheb Phalke Award]] (1989) * [[Padma Vibhushan]] (1999) * [[Bharat Ratna]] (2001) * [[Legion of Honour]] (2007) }} | module = {{Infobox officeholder |embed = yes | office = [[Member of Parliament]] – [[Rajya Sabha]] | termstart1 = 22 November 1999 | termend1 = 21 November 2005 }} | signature = Signature of Lata Mangeshkar.svg }} പ്രശസ്തയായ ഒരു ഇന്ത്യൻ ചലച്ചിത്രപിന്നണിഗായികയായിരുന്നു '''ലത മങ്കേഷ്കർ''' ([[ഹിന്ദി]]: लता मंगेशकर, ജനനം [[സെപ്റ്റംബർ 28]], [[1929]] - മരണം: [[ഫെബ്രുവരി 6]], [[2022]])<ref>http://www.imdb.com/name/nm0542196/</ref>. ''ഭാരതീയ സംഗീതത്തിന്റെ വാനമ്പാടി'' എന്നറിയപ്പെടുന്നു ലത മങ്കേഷ്കർ. സംഗീതത്തിന് നിരവധി പുരസ്കാരങ്ങൾ ലഭിച്ചിട്ടുണ്ട്. പ്രശസ്ത ചലച്ചിത്രപിന്നണിഗായികയായ [[ആശാ ഭോസ്‌ലേ]] ഇളയ സഹോദരിയാണ്‌. == അവാർഡുകൾ == [[പത്മഭൂഷൺ]]([[1969]]), [[പത്മവിഭൂഷൺ]]([[1999]]), [[ദാദാസാഹിബ്‌ ഫാൽക്കെ അവാർഡ്‌]]([[1989]]), [[ഭാരതരത്നം]]([[2001]]), മൂന്ന് നാഷനൽ ഫിലിം അവാർഡുകൾ, 12 ബംഗാൾ ഫിലിം ജേർണലിസ്റ്റ് അസോസിയേഷൻ അവാർഡുകൾ എന്നിവ നേടിയിട്ടുണ്ട്. == ജീവിതരേഖ == [[മറാത്ത]] നാടകവേദിയിലെ ഗായകനായിരുന്ന ദീനനാഥ് മങ്കേഷ്കറുടെ ആറുമക്കളിൽ മൂത്തയാളായി 1929 സെപ്റ്റംബർ 28-ന് [[ഇൻഡോർ|ഇൻഡോറിൽ]] ഒരു കൊങ്കണി കുടുംബത്തിൽ ലത ജനിച്ചു. അമ്മ ശുദ്ധമാതി. ഹാർദ്ദികാർ എന്ന കുടുംബപ്പേര്, ദീനനാഥിന്റെ സ്വദേശമായിരുന്ന [[ഗോവ|ഗോവയിലെ]] മങ്കേഷി എന്ന സ്ഥലപ്പേരുമായി ബന്ധപ്പെടുത്തി മങ്കേഷ്കർ എന്നാക്കിയതാണ്‌. ലത മങ്കേഷ്കറിന്റെ‍ ആദ്യനാമം ഹേമ എന്നായിരുന്നു. പിന്നീട്, ദീനനാഥിന്റെ ''ഭാവ്ബന്ധൻ'' എന്ന നാടകത്തിലെ കഥാപാത്രത്തിന്റെ പേരായ ലതിക എന്ന പേരുമായി ബന്ധപ്പെടുത്തി , പേരു ലത എന്നാക്കിമാറ്റുകയാണുണ്ടായത്.<ref name="encyclopaedia_of_hindi_cinema">{{cite book | last = Khubchandani | first = Lata | editor = [[Gulzar]], [[Govind Nihalani]], Saibal Chatterjee | title = Encyclopaedia of Hindi Cinema | url = https://archive.org/details/encyclopaediaofh0000unse_p6q3 | year = 2003 | publisher = Popular Prakashan | isbn = 8179910660 | pages = [https://archive.org/details/encyclopaediaofh0000unse_p6q3/page/n686 486]-487 }}</ref> . ഈ ദമ്പതികളുടെ മൂത്ത പുത്രിയായിരുന്നു ലത, [[ഹൃദയ്നാഥ് മങ്കേഷ്കർ]], [[ആശാ ഭോസ്‌ലേ]], [[ഉഷാ മങ്കേഷ്കർ]], [[മീനാ മങ്കേഷ്കർ]] എന്നിവരാണ്‌ സഹോദരങ്ങൾ. പിതാവിൽനിന്നാണ്‌ ലത, സംഗീതത്തിന്റെ ബാലപാഠങ്ങൾ അഭ്യസിച്ചത്, അഞ്ചാമത്തെ വയസ്സിൽ പിതാവിന്റെ സംഗീതനാടകങ്ങളിൽ അഭിനയിക്കാൻ തുടങ്ങി. ലതക്ക് പതിമൂന്ന് വയസ്സുള്ളപ്പോൾ അച്ഛൻ മരിച്ചു. കുടുംബം പോറ്റാൻവേണ്ടി ലത സിനിമയിൽ അഭിനയിക്കാൻ തുടങ്ങി. പിന്നീട് അഭിനയം വിട്ട് സംഗീതത്തിലൂടെ ലത വളർന്നു. 1942-ൽ ''കിടി ഹസാൽ'' എന്ന മറാത്തി ചിത്രത്തിൽ ''നാചു യാ ഗാഥേ, ഖേലു നാ മണി ഹാസ് ബാരി'' എന്ന ഗാനമാണ്‌ ആദ്യമായി ആലപിച്ചത്, എന്നാൽ ഈ ഗാനം സിനിമയിൽ നിന്നും നീക്കപ്പെടുകയായിരുന്നു. ആ വർഷം തന്നെ ലത, ''പാഹിലി മംഗള-ഗോർ'' എന്ന മറാത്തി ചിത്രത്തിൽ അഭിനയിക്കുകയും ''നടാലി ചൈത്രാചി നവാലായി'' എന്ന ഗാനമാലപിക്കുകയും ചെയ്തു. 1943-ൽ ഗജാബാഹു എന്ന ചിത്രത്തിലെ ''മാതാ ഏക് സപൂത് കി ദുനിയാ ബദൽ ദേ തൂ'' എന്നതാണ്‌ ലതയുടെ ആദ്യ ഹിന്ദി ഗാനം.1948-ൽ ഷഹീദ് എന്ന ചിത്രത്തിനു വേണ്ടി പാടാനെത്തിയ ലതയെ ശബ്ദം നേർത്തതാണെന്ന് പറഞ്ഞ് നിർമ്മാതാവ് എസ്. മുഖർജി മടക്കി അയക്കുകയാണുണ്ടായത്. ബോംബെ ടാക്കീസിനുവേണ്ടി നസീർ അജ്‌മീറി സംവിധാനം ചെയ്ത മജ്‌ബൂർ (1948) എന്ന ചിത്രത്തിലെ [[ഗുലാം ഹൈദർ]] സംഗീതസംവിധാനം ചെയ്ത ''മേരാ ദിൽ തോഡാ'' എന്ന ഗാനമാണ് ലതാമങ്കേഷ്കറെ ഗായികയെന്ന നിലയിൽ ശ്രദ്ധേയയാക്കിയത്. ആ ശബ്ദമാണ്‌ പിന്നീട് ഇന്ത്യ കീഴടക്കിയത്. 15 ഭാഷകളിലായി നാല്പതിനായിരത്തോളം സിനിമാഗാനങ്ങൾ ആലപിച്ചു. ലോകത്തിലേറ്റവും കൂടുതൽ ഗാനങ്ങൾ റെക്കോർഡ് ചെയ്യപ്പെട്ടവരുടെ കൂട്ടത്തിൽ ലത മങ്കേഷ്കറുമുണ്ട്. ഹിന്ദിസിനിമാരംഗം ലതയും സഹോദരി ആഷഭോസ്ലെയും ഏതാണ്ട് പൂർണമായും കീഴടക്കി. 1948 മുതൽ ഏകദേശം അരനൂറ്റാണ്ടുകാലം ഇരുവരും ഹിന്ദി ചലച്ചിത്രഗാനരംഗത്തെ അവിഭാജ്യഘടകങ്ങളായിരുന്നു. ഹിന്ദി സിനിമയിലെ ഒട്ടുമിയ്ക്ക നടിമാരും ഇവരുടെ ശബ്ദങ്ങൾക്കനുസരിച്ച് ചുണ്ടനക്കിയിട്ടുണ്ട്. 1999 മുതൽ 2005 വരെ എൻ.ഡി.എ മുന്നണിയുടെ രാജ്യസഭാംഗമായും പ്രവർത്തിച്ചു. 2001-ൽ ഭാരതരത്നം ലഭിച്ചു. == പാടുന്നതിനു പുറമെ == === സംഗീത സംവിധാനം === 1960 കളിൽ ആനന്ദ് ഘൻ എന്ന തൂലികാനാമത്തിൽ ഇനിപ്പറയുന്ന മറാത്തി സിനിമകൾക്ക് അവർ സംഗീതം നൽകി.<ref>{{Cite web|url=http://ftvdb.bfi.org.uk/sift/individual/83243|title=BFI, Lata Mangeshkar|archive-url=https://web.archive.org/web/20070226201544/http://ftvdb.bfi.org.uk/sift/individual/83243|archive-date=26 February 2007}}</ref><ref name="Bhimani1995">{{Cite book |last=Harish Bhimani |url=https://books.google.com/books?id=vaafAAAAMAAJ |title=In Search of Lata Mangeshkar |date=1 January 1995 |publisher=Indus |isbn=978-81-7223-170-5 |page=322}}</ref><ref name="Bharatan1995">{{Cite book |last=Raju Bharatan |url=https://books.google.com/books?id=RaafAAAAMAAJ |title=Lata Mangeshkar: A Biography |date=1 January 1995 |publisher=UBS Publishers' Distributors |isbn=978-81-7476-023-4 |page=382}}</ref> സാധി മനസേ എന്ന ചിത്രത്തിന് മഹാരാഷ്ട്ര സംസ്ഥാന സർക്കാരിന്റെ മികച്ച സംഗീത സംവിധായികയ്ക്കുള്ള അവാർഡ് അവർ നേടി. === ഉൽപ്പാദനം === മങ്കേഷ്കർ നാല് ചിത്രങ്ങൾ നിർമ്മിച്ചുഃ <ref>{{Cite book |last=Dawar |first=Ramesh |url=https://books.google.com/books?id=TO6Fmi8FraUC&dq=lata+mangeshkar+produced+Vaadal+(Marathi)&pg=PA72 |title=Bollywood: Yesterday, Today, Tomorrow |date=2006 |publisher=Star Publications |isbn=978-1-905863-01-3 |language=en}}</ref> * 1953-''Vaadal'' (മറാത്തി) * 1953-Jhaanjhar (ഹിന്ദി) സി. രാമചന്ദ്ര ചേർന്ന് നിർമ്മിച്ചത് * 1955-''Kanchan Ganga'' (ഹിന്ദി) * 1990-Lekin == മരണം == ഏറെക്കാലം വാർദ്ധക്യസഹജവും അല്ലാത്തതുമായ രോഗങ്ങൾ അലട്ടിയിരുന്ന ലതയെ, [[കോവിഡ്-19]] 2022 ജനുവരി 11-ന് മുംബൈയിലെ ലീലാവതി ആശുപത്രിയിൽ പ്രവേശിപ്പിച്ചു. ആദ്യഘട്ടത്തിൽ ആരോഗ്യനിലയിൽ മികച്ച പുരോഗതി കൈവരിച്ച അവർ, പിന്നീട് അതീവഗുരുതരാവസ്ഥയിലാകുകയും, ഫെബ്രുവരി 6-ന് രാവിലെ എട്ടരയോടെ 92-ആം വയസ്സിൽ അന്തരിയ്ക്കുകയും ചെയ്തു. മൃതദേഹം അന്ന് വൈകീട്ട് പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ മുംബൈ ശിവാജി പാർക്കിൽ സംസ്കരിച്ചു. [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]] [[നരേന്ദ്ര മോദി]], [[മഹാരാഷ്ട്ര]] [[മുഖ്യമന്ത്രി]] [[ഉദ്ധവ് താക്കറെ]] തുടങ്ങി രാഷ്ട്രീയ-സാംസ്കാരികരംഗത്തെ നിരവധിപ്രമുഖരും സാധാരണക്കാരായ സംഗീതപ്രേമികളും അവർക്ക് അന്ത്യാഞ്ജലികൾ അർപ്പിച്ചു. === ലതയുടെ ഏക മലയാളഗാനം === രാമു കാര്യാട്ട് സംവിധാനം ചെയ്ത് 1974-ൽ റിലീസ് ചെയ്ത [[നെല്ല് (ചലച്ചിത്രം)|നെല്ല്]] എന്ന ചിത്രത്തിലെ "കദളി കൺകദളി ചെങ്കദളി പൂ വേണോ.." എന്ന് തുടങ്ങുന്ന ഗാനം<ref>{{Cite web |url=http://malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-09-28 |archive-date=2009-06-15 |archive-url=https://web.archive.org/web/20090615161919/http://www.malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |url-status=dead }}</ref> ലത മങ്കേഷ്കർ ആലപിച്ചതാണ്‌. [[വയലാർ രാമവർമ്മ|വയലാർ രാമവർമ്മയുടെ]] വരികൾക്ക് [[സലിൽ‍ ചൗധരി|സലിൽ ചൗധരി]] ഈണമിട്ടു. == ലതാ മങ്കേഷ്‌കറെക്കുറിച്ചുള്ള പുസ്തകങ്ങൾ == മങ്കേഷ്കർ ആലപിച്ച ഗാനങ്ങളുടെ ഒരു വിജ്ഞാനകോശമായ "''Lata Geetkosh''", സ്നേഹിസ് ചാറ്റർജി 15 വാല്യങ്ങളായി പ്രസിദ്ധീകരിച്ചു. == അവലംബങ്ങൾ == <references/> {{Bharat Ratna}} {{ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരം}} {{National Film Award Best Female Playback Singer}} [[വർഗ്ഗം:1929-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 28-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ഭാരതരത്ന പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മവിഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരജേതാക്കൾ]] [[വർഗ്ഗം:മികച്ച ഗായികയ്ക്കുള്ള ദേശീയ ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:രാജീവ് ഗാന്ധി സദ്ഭാവനാ പുരസ്‌കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:രാജ്യസഭയിലേക്ക് നാമനിർദ്ദേശം ചെയ്യപ്പെട്ടവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായികമാർ‎]] [[വർഗ്ഗം:2022-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ഫെബ്രുവരി 6-ന് മരിച്ചവർ]] [[വർഗ്ഗം:കോവിഡ്-19 മൂലം മരിച്ചവർ]] {{Bio-stub}} epg7t41d2kxbvckvog5ssz9cdtf645d 4622202 4622201 2026-05-23T11:16:25Z FluteWarrior 217914 /* പാടുന്നതിനു പുറമെ */ 4622202 wikitext text/x-wiki {{prettyurl|Lata Mangeshkar}}{{Infobox person | name = ലത മങ്കേഷ്കർ | image = Lata-Mangeshkar.jpg | image_size = | caption = | native_name = | native_name_lang = | other_names = ''Queen of Melody'', ''Voice of the Nation'', ''Voice of the Millennium'', ''Nightingale of India'' | birth_name = Hema Mangeshkar<ref>"നിത്യതയിൽ ലയിച്ച് ലത; വാനമ്പാടിക്ക് രാജ്യം വിട നൽകി | Lata Mangheshkar Funeral | PM Modi | Uddav Thackerey attended Funeral" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangheshkar-funeral-pm-modi-uddav-thackerey-attended-funeral-1.6423942{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>"ഇന്ത്യയുടെ സുവർണനാദം അസ്തമിച്ചു; മഹാഗായിക ലതാ മങ്കേഷ്‍കർ ഓർമയായി" https://www.manoramaonline.com/news/latest-news/2022/02/06/legendary-singer-lata-mangeshkar-passes-away.html</ref> | birth_date = 28/9/1929 <ref>"ഇന്ത്യയുടെ വാനമ്പാടി ലതാ മങ്കേഷ്‌കർ അന്തരിച്ചു | Lata Mangeshkar | Lata Mangeshkar News | Lata Mangeshkar passes away | Latest Malayalam News" https://www.mathrubhumi.com/mobile/movies-music/specials/lata-mangeshkar/lata-mangeshkar-passed-away-songs-of-lata-mangeshkar-1.6423649{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{cite news |title=Lata Mangeshkar won't celebrate 87th birthday, says 'jo shahid hue hai unki yaad karo kurbani' ['remember the victims and their sacrifice'] |url=http://indianexpress.com/article/music/lata-mangeshkar-has-special-message-for-pakistan-3053252/ |date=28 September 2016 |newspaper=The Indian Express |access-date=28 September 2016}}</ref> | birth_place = [[Indore]], [[Indore State]], [[Central India Agency]], [[British Raj|British India]]<br/>(present-day [[Madhya Pradesh]], [[India]]) | death_date = {{Death date and age |2022|02|06|1929|09|28|df=yes}}<ref>{{Cite web|title=Breaking news live updates: Singer Lata Mangeshkar passes away|url=https://timesofindia.indiatimes.com/india/breaking-news-live-updates-feb-6/liveblog/89376395.cms|access-date=2022-02-06|website=The Times of India|language=en}}</ref> | death_place = മുംബൈ | nationality = Indian | occupation = [[Playback singer]], [[music director]], producer | years_active = 1942–2022 | parents = [[Deenanath Mangeshkar]] (father)<br/>Shevanti Mangeshkar (mother) | relatives = [[Meena Khadikar]] (sister)<br/>[[Asha Bhosle]] (sister)<br/>[[Usha Mangeshkar]] (sister)<br/>[[Hridaynath Mangeshkar]] (brother) <br/>[[Shraddha Kapoor]] (great grand niece) | awards = {{plainlist| * [[National Film Awards]] * [[Bengal Film Journalists' Association Awards|BFJA Awards]] * [[Filmfare Award for Best Female Playback Singer]] * [[Filmfare]] Special Awards * [[Filmfare Lifetime Achievement Award]] }} | honours = {{plainlist| * [[Padma Bhushan]] (1969) * [[Dadasaheb Phalke Award]] (1989) * [[Padma Vibhushan]] (1999) * [[Bharat Ratna]] (2001) * [[Legion of Honour]] (2007) }} | module = {{Infobox officeholder |embed = yes | office = [[Member of Parliament]] – [[Rajya Sabha]] | termstart1 = 22 November 1999 | termend1 = 21 November 2005 }} | signature = Signature of Lata Mangeshkar.svg }} പ്രശസ്തയായ ഒരു ഇന്ത്യൻ ചലച്ചിത്രപിന്നണിഗായികയായിരുന്നു '''ലത മങ്കേഷ്കർ''' ([[ഹിന്ദി]]: लता मंगेशकर, ജനനം [[സെപ്റ്റംബർ 28]], [[1929]] - മരണം: [[ഫെബ്രുവരി 6]], [[2022]])<ref>http://www.imdb.com/name/nm0542196/</ref>. ''ഭാരതീയ സംഗീതത്തിന്റെ വാനമ്പാടി'' എന്നറിയപ്പെടുന്നു ലത മങ്കേഷ്കർ. സംഗീതത്തിന് നിരവധി പുരസ്കാരങ്ങൾ ലഭിച്ചിട്ടുണ്ട്. പ്രശസ്ത ചലച്ചിത്രപിന്നണിഗായികയായ [[ആശാ ഭോസ്‌ലേ]] ഇളയ സഹോദരിയാണ്‌. == അവാർഡുകൾ == [[പത്മഭൂഷൺ]]([[1969]]), [[പത്മവിഭൂഷൺ]]([[1999]]), [[ദാദാസാഹിബ്‌ ഫാൽക്കെ അവാർഡ്‌]]([[1989]]), [[ഭാരതരത്നം]]([[2001]]), മൂന്ന് നാഷനൽ ഫിലിം അവാർഡുകൾ, 12 ബംഗാൾ ഫിലിം ജേർണലിസ്റ്റ് അസോസിയേഷൻ അവാർഡുകൾ എന്നിവ നേടിയിട്ടുണ്ട്. == ജീവിതരേഖ == [[മറാത്ത]] നാടകവേദിയിലെ ഗായകനായിരുന്ന ദീനനാഥ് മങ്കേഷ്കറുടെ ആറുമക്കളിൽ മൂത്തയാളായി 1929 സെപ്റ്റംബർ 28-ന് [[ഇൻഡോർ|ഇൻഡോറിൽ]] ഒരു കൊങ്കണി കുടുംബത്തിൽ ലത ജനിച്ചു. അമ്മ ശുദ്ധമാതി. ഹാർദ്ദികാർ എന്ന കുടുംബപ്പേര്, ദീനനാഥിന്റെ സ്വദേശമായിരുന്ന [[ഗോവ|ഗോവയിലെ]] മങ്കേഷി എന്ന സ്ഥലപ്പേരുമായി ബന്ധപ്പെടുത്തി മങ്കേഷ്കർ എന്നാക്കിയതാണ്‌. ലത മങ്കേഷ്കറിന്റെ‍ ആദ്യനാമം ഹേമ എന്നായിരുന്നു. പിന്നീട്, ദീനനാഥിന്റെ ''ഭാവ്ബന്ധൻ'' എന്ന നാടകത്തിലെ കഥാപാത്രത്തിന്റെ പേരായ ലതിക എന്ന പേരുമായി ബന്ധപ്പെടുത്തി , പേരു ലത എന്നാക്കിമാറ്റുകയാണുണ്ടായത്.<ref name="encyclopaedia_of_hindi_cinema">{{cite book | last = Khubchandani | first = Lata | editor = [[Gulzar]], [[Govind Nihalani]], Saibal Chatterjee | title = Encyclopaedia of Hindi Cinema | url = https://archive.org/details/encyclopaediaofh0000unse_p6q3 | year = 2003 | publisher = Popular Prakashan | isbn = 8179910660 | pages = [https://archive.org/details/encyclopaediaofh0000unse_p6q3/page/n686 486]-487 }}</ref> . ഈ ദമ്പതികളുടെ മൂത്ത പുത്രിയായിരുന്നു ലത, [[ഹൃദയ്നാഥ് മങ്കേഷ്കർ]], [[ആശാ ഭോസ്‌ലേ]], [[ഉഷാ മങ്കേഷ്കർ]], [[മീനാ മങ്കേഷ്കർ]] എന്നിവരാണ്‌ സഹോദരങ്ങൾ. പിതാവിൽനിന്നാണ്‌ ലത, സംഗീതത്തിന്റെ ബാലപാഠങ്ങൾ അഭ്യസിച്ചത്, അഞ്ചാമത്തെ വയസ്സിൽ പിതാവിന്റെ സംഗീതനാടകങ്ങളിൽ അഭിനയിക്കാൻ തുടങ്ങി. ലതക്ക് പതിമൂന്ന് വയസ്സുള്ളപ്പോൾ അച്ഛൻ മരിച്ചു. കുടുംബം പോറ്റാൻവേണ്ടി ലത സിനിമയിൽ അഭിനയിക്കാൻ തുടങ്ങി. പിന്നീട് അഭിനയം വിട്ട് സംഗീതത്തിലൂടെ ലത വളർന്നു. 1942-ൽ ''കിടി ഹസാൽ'' എന്ന മറാത്തി ചിത്രത്തിൽ ''നാചു യാ ഗാഥേ, ഖേലു നാ മണി ഹാസ് ബാരി'' എന്ന ഗാനമാണ്‌ ആദ്യമായി ആലപിച്ചത്, എന്നാൽ ഈ ഗാനം സിനിമയിൽ നിന്നും നീക്കപ്പെടുകയായിരുന്നു. ആ വർഷം തന്നെ ലത, ''പാഹിലി മംഗള-ഗോർ'' എന്ന മറാത്തി ചിത്രത്തിൽ അഭിനയിക്കുകയും ''നടാലി ചൈത്രാചി നവാലായി'' എന്ന ഗാനമാലപിക്കുകയും ചെയ്തു. 1943-ൽ ഗജാബാഹു എന്ന ചിത്രത്തിലെ ''മാതാ ഏക് സപൂത് കി ദുനിയാ ബദൽ ദേ തൂ'' എന്നതാണ്‌ ലതയുടെ ആദ്യ ഹിന്ദി ഗാനം.1948-ൽ ഷഹീദ് എന്ന ചിത്രത്തിനു വേണ്ടി പാടാനെത്തിയ ലതയെ ശബ്ദം നേർത്തതാണെന്ന് പറഞ്ഞ് നിർമ്മാതാവ് എസ്. മുഖർജി മടക്കി അയക്കുകയാണുണ്ടായത്. ബോംബെ ടാക്കീസിനുവേണ്ടി നസീർ അജ്‌മീറി സംവിധാനം ചെയ്ത മജ്‌ബൂർ (1948) എന്ന ചിത്രത്തിലെ [[ഗുലാം ഹൈദർ]] സംഗീതസംവിധാനം ചെയ്ത ''മേരാ ദിൽ തോഡാ'' എന്ന ഗാനമാണ് ലതാമങ്കേഷ്കറെ ഗായികയെന്ന നിലയിൽ ശ്രദ്ധേയയാക്കിയത്. ആ ശബ്ദമാണ്‌ പിന്നീട് ഇന്ത്യ കീഴടക്കിയത്. 15 ഭാഷകളിലായി നാല്പതിനായിരത്തോളം സിനിമാഗാനങ്ങൾ ആലപിച്ചു. ലോകത്തിലേറ്റവും കൂടുതൽ ഗാനങ്ങൾ റെക്കോർഡ് ചെയ്യപ്പെട്ടവരുടെ കൂട്ടത്തിൽ ലത മങ്കേഷ്കറുമുണ്ട്. ഹിന്ദിസിനിമാരംഗം ലതയും സഹോദരി ആഷഭോസ്ലെയും ഏതാണ്ട് പൂർണമായും കീഴടക്കി. 1948 മുതൽ ഏകദേശം അരനൂറ്റാണ്ടുകാലം ഇരുവരും ഹിന്ദി ചലച്ചിത്രഗാനരംഗത്തെ അവിഭാജ്യഘടകങ്ങളായിരുന്നു. ഹിന്ദി സിനിമയിലെ ഒട്ടുമിയ്ക്ക നടിമാരും ഇവരുടെ ശബ്ദങ്ങൾക്കനുസരിച്ച് ചുണ്ടനക്കിയിട്ടുണ്ട്. 1999 മുതൽ 2005 വരെ എൻ.ഡി.എ മുന്നണിയുടെ രാജ്യസഭാംഗമായും പ്രവർത്തിച്ചു. 2001-ൽ ഭാരതരത്നം ലഭിച്ചു. == പാടുന്നതിനു പുറമെ == === സംഗീത സംവിധാനം === 1960 കളിൽ ആനന്ദ് ഘൻ എന്ന തൂലികാനാമത്തിൽ ഇനിപ്പറയുന്ന മറാത്തി സിനിമകൾക്ക് അവർ സംഗീതം നൽകി.<ref>{{Cite web|url=http://ftvdb.bfi.org.uk/sift/individual/83243|title=BFI, Lata Mangeshkar|archive-url=https://web.archive.org/web/20070226201544/http://ftvdb.bfi.org.uk/sift/individual/83243|archive-date=26 February 2007}}</ref><ref name="Bhimani1995">{{Cite book |last=Harish Bhimani |url=https://books.google.com/books?id=vaafAAAAMAAJ |title=In Search of Lata Mangeshkar |date=1 January 1995 |publisher=Indus |isbn=978-81-7223-170-5 |page=322}}</ref><ref name="Bharatan1995">{{Cite book |last=Raju Bharatan |url=https://books.google.com/books?id=RaafAAAAMAAJ |title=Lata Mangeshkar: A Biography |date=1 January 1995 |publisher=UBS Publishers' Distributors |isbn=978-81-7476-023-4 |page=382}}</ref> സാധി മനസേ എന്ന ചിത്രത്തിന് മഹാരാഷ്ട്ര സംസ്ഥാന സർക്കാരിന്റെ മികച്ച സംഗീത സംവിധായികയ്ക്കുള്ള അവാർഡ് അവർ നേടി. === ഉൽപ്പാദനം === മങ്കേഷ്കർ നാല് ചിത്രങ്ങൾ നിർമ്മിച്ചുഃ <ref>{{Cite book |last=Dawar |first=Ramesh |url=https://books.google.com/books?id=TO6Fmi8FraUC&dq=lata+mangeshkar+produced+Vaadal+(Marathi)&pg=PA72 |title=Bollywood: Yesterday, Today, Tomorrow |date=2006 |publisher=Star Publications |isbn=978-1-905863-01-3 |language=en}}</ref> * 1953-''Vaadal'' (മറാത്തി) * 1953-''Jhaanjhar'' (ഹിന്ദി) സി. രാമചന്ദ്ര ചേർന്ന് നിർമ്മിച്ചത് * 1955-''Kanchan Ganga'' (ഹിന്ദി) * 1990-''Lekin'' == മരണം == ഏറെക്കാലം വാർദ്ധക്യസഹജവും അല്ലാത്തതുമായ രോഗങ്ങൾ അലട്ടിയിരുന്ന ലതയെ, [[കോവിഡ്-19]] 2022 ജനുവരി 11-ന് മുംബൈയിലെ ലീലാവതി ആശുപത്രിയിൽ പ്രവേശിപ്പിച്ചു. ആദ്യഘട്ടത്തിൽ ആരോഗ്യനിലയിൽ മികച്ച പുരോഗതി കൈവരിച്ച അവർ, പിന്നീട് അതീവഗുരുതരാവസ്ഥയിലാകുകയും, ഫെബ്രുവരി 6-ന് രാവിലെ എട്ടരയോടെ 92-ആം വയസ്സിൽ അന്തരിയ്ക്കുകയും ചെയ്തു. മൃതദേഹം അന്ന് വൈകീട്ട് പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ മുംബൈ ശിവാജി പാർക്കിൽ സംസ്കരിച്ചു. [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]] [[നരേന്ദ്ര മോദി]], [[മഹാരാഷ്ട്ര]] [[മുഖ്യമന്ത്രി]] [[ഉദ്ധവ് താക്കറെ]] തുടങ്ങി രാഷ്ട്രീയ-സാംസ്കാരികരംഗത്തെ നിരവധിപ്രമുഖരും സാധാരണക്കാരായ സംഗീതപ്രേമികളും അവർക്ക് അന്ത്യാഞ്ജലികൾ അർപ്പിച്ചു. === ലതയുടെ ഏക മലയാളഗാനം === രാമു കാര്യാട്ട് സംവിധാനം ചെയ്ത് 1974-ൽ റിലീസ് ചെയ്ത [[നെല്ല് (ചലച്ചിത്രം)|നെല്ല്]] എന്ന ചിത്രത്തിലെ "കദളി കൺകദളി ചെങ്കദളി പൂ വേണോ.." എന്ന് തുടങ്ങുന്ന ഗാനം<ref>{{Cite web |url=http://malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-09-28 |archive-date=2009-06-15 |archive-url=https://web.archive.org/web/20090615161919/http://www.malayalasangeetham.info/secure/MalayalaSangeetham/MasterLyrics/3363.html |url-status=dead }}</ref> ലത മങ്കേഷ്കർ ആലപിച്ചതാണ്‌. [[വയലാർ രാമവർമ്മ|വയലാർ രാമവർമ്മയുടെ]] വരികൾക്ക് [[സലിൽ‍ ചൗധരി|സലിൽ ചൗധരി]] ഈണമിട്ടു. == ലതാ മങ്കേഷ്‌കറെക്കുറിച്ചുള്ള പുസ്തകങ്ങൾ == മങ്കേഷ്കർ ആലപിച്ച ഗാനങ്ങളുടെ ഒരു വിജ്ഞാനകോശമായ "''Lata Geetkosh''", സ്നേഹിസ് ചാറ്റർജി 15 വാല്യങ്ങളായി പ്രസിദ്ധീകരിച്ചു. == അവലംബങ്ങൾ == <references/> {{Bharat Ratna}} {{ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരം}} {{National Film Award Best Female Playback Singer}} [[വർഗ്ഗം:1929-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 28-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ഭാരതരത്ന പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:പത്മവിഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായകർ]] [[വർഗ്ഗം:ദാദാസാഹിബ് ഫാൽക്കെ പുരസ്കാരജേതാക്കൾ]] [[വർഗ്ഗം:മികച്ച ഗായികയ്ക്കുള്ള ദേശീയ ചലച്ചിത്രപുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:രാജീവ് ഗാന്ധി സദ്ഭാവനാ പുരസ്‌കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:രാജ്യസഭയിലേക്ക് നാമനിർദ്ദേശം ചെയ്യപ്പെട്ടവർ]] [[വർഗ്ഗം:ഹിന്ദി ചലച്ചിത്രപിന്നണിഗായികമാർ‎]] [[വർഗ്ഗം:2022-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ഫെബ്രുവരി 6-ന് മരിച്ചവർ]] [[വർഗ്ഗം:കോവിഡ്-19 മൂലം മരിച്ചവർ]] {{Bio-stub}} 5omf7jje0lwyhaipg7m7ce8t3e1dok3 നി‍ർമ്മിത ബുദ്ധി 0 48004 4621594 4120901 2026-05-22T17:12:17Z ~2026-30869-45 218186 സംഗീത രംഗത്തെ AI പരീക്ഷണങ്ങളെക്കുറിച്ച് ചേർത്തു 4621594 wikitext text/x-wiki {{Prettyurl|AI}} [[പ്രമാണം:IBM Watson.PNG|ലഘുചിത്രം|280x280ബിന്ദു|ന്യൂ യോർക്കിൽ സ്ഥിതി ചെയ്യുന്ന [[IBM|ഐബിഎമ്മിന്റെ]] "വാട്സൺ" എന്ന കൃത്രിമ ബുദ്ധി യന്ത്രം.]] {{Science}} '''കൃത്രിമ ബുദ്ധി''' (artificial intelligence, AI) എന്ന യന്ത്രങ്ങളുടെ ബുദ്ധിയേയും അതുപോലെ അത് യാഥാർഥ്യമാക്കാൻ ലക്ഷ്യമിട്ട കമ്പ്യൂട്ടർ ശാസ്ത്രത്തിലെ ശാഖയേയും കുറിക്കാൻ ഉപയോഗിക്കുന്നു. ബൗദ്ധിക സഹായികളെ കുറിച്ചുള്ള പഠന മേഖലയാണ് എഐ ഗവേഷണം എന്ന് നിർവചിക്കപ്പെട്ടിട്ടുണ്ട്, അത് പരിതസ്ഥിതിയെ മനസ്സിലാക്കുകയും അതിന്റെ ലക്ഷ്യങ്ങൾ കൈവരിക്കുന്നതിനുള്ള സാധ്യത വർദ്ധിപ്പിക്കുന്ന നടപടികൾ കൈക്കൊള്ളുകയും ചെയ്യുന്ന ഏതൊരു സംവിധാനത്തെയും സൂചിപ്പിക്കുന്നു. ഈ മേഖലയിലെ പ്രധാന ദാനങ്ങൾ നിർവചിക്കുന്നതനുസരിച്ച് നി‍‍ർമ്മിത ബുദ്ധി എന്നാൽ "വിവേകമുള്ള യന്ത്രങ്ങളെ സൃഷ്ടിക്കുവാൻ വേണ്ടിയുള്ള പഠനപ്രവർത്തനങ്ങളും അവയുടെ രൂപകൽപ്പനയും". ''വിവേകമുള്ള യന്ത്രങ്ങൾ'' എന്നാൽ ചുറ്റുപാടിൽ നിന്നും കാര്യങ്ങൾ സ്വീകരിക്കുകയും അതുവഴി വിജയകരമായി നീങ്ങുവാനുള്ള പ്രവർത്തികൾ നടപ്പിൽ വരുത്തുന്നതുമായ വ്യൂഹങ്ങൾ ആണ്. സംഭാഷണപരമായി, "കൃത്രിമബുദ്ധി" എന്ന പദം പലപ്പോഴും മനുഷ്യ മനസ്സുമായി മനുഷ്യർ ബന്ധപ്പെടുത്തുന്ന "വൈജ്ഞാനിക" പ്രവർത്തനങ്ങളെ അനുകരിക്കുന്ന യന്ത്രങ്ങളെ (അല്ലെങ്കിൽ കമ്പ്യൂട്ടറുകളെ) വിവരിക്കാൻ ഉപയോഗിക്കുന്നു, അതായത് "പഠിക്കുക", "പ്രശ്ന പരിഹാരം നടത്തുക". മെഷീനുകൾ‌ കൂടുതൽ‌ പ്രാപ്‌തി കൈവരിക്കുമ്പോൾ, "ഇന്റലിജൻസ്" ആവശ്യമാണെന്ന് കരുതപ്പെടുന്ന ടാസ്‌ക്കുകൾ‌ പലപ്പോഴും എഐ(AI) യുടെ നിർ‌വ്വചനത്തിൽ‌ നിന്നും നീക്കംചെയ്യുന്നു, ഇത് എഐ ഇഫക്റ്റ് എന്നറിയപ്പെടുന്ന പ്രതിഭാസമാണ്.<ref>{{Harvnb|McCorduck|2004|p=204}}</ref> എഐ ആപ്ലിക്കേഷനുകളിൽ വിപുലമായ വെബ് സെർച്ച് എഞ്ചിനുകൾ (ഉദാ. [[ഗൂഗിൾ]]), ശുപാർശ സംവിധാനങ്ങൾ ([[യൂട്യൂബ്]], [[ആമസോൺ]], [[നെറ്റ്ഫ്ലിക്സ്]] എന്നിവ ഉപയോഗിക്കുന്നു), മനുഷ്യന്റെ സംസാരം മനസ്സിലാക്കൽ ([[സിരി (സോഫ്റ്റ്‌വെയർ)|സിരി]], [[ആമസോൺ അലെക്സ|അലക്‌സ]] എന്നിവ പോലുള്ളവ), സെൽഫ് ഡ്രൈവിംഗ് കാറുകൾ (ഉദാ. [[ടെസ്‌ലാ മോട്ടോഴ്‌സ്|ടെസ്‌ല]]), സ്വയമേവയുള്ള തീരുമാനമെടുക്കൽ എന്നിവ ഉൾപ്പെടുന്നു. സ്ട്രാറ്റജിക് ഗെയിം സിസ്റ്റങ്ങളിൽ ([[ചെസ്സ്]], [[വെയ്ക്കി|ഗോ]] പോലുള്ളവ) ഉയർന്ന തലത്തിൽ മത്സരിക്കുക മുതലയാവ.{{sfnp|Google|2016}} യന്ത്രങ്ങൾ കൂടുതൽ പ്രാപ്തമാകുന്നതോടെ, "ബുദ്ധി" ആവശ്യമാണെന്ന് കരുതുന്ന ജോലികൾ എഐ യുടെ നിർവചനത്തിൽ നിന്ന് നീക്കം ചെയ്യപ്പെടുന്നു, ഈ പ്രതിഭാസം എഐ പ്രഭാവം എന്നറിയപ്പെടുന്നു.{{sfnp|McCorduck|2004|p=204}} ഉദാഹരണത്തിന്, ഒപ്റ്റിക്കൽ ക്യാരക്ടർ റെക്കഗ്നിഷൻ എന്നത് എഐ ആയി കണക്കാക്കപ്പെടുന്ന കാര്യങ്ങളിൽ നിന്ന് ഇടയ്ക്കിടെ ഒഴിവാക്കപ്പെടുന്നു,{{sfnp|Ashok83|2019}} ഇത് ഒരു സാധാരണ സാങ്കേതികവിദ്യയായി മാറിയിരിക്കുന്നു.{{sfnp|Schank|1991|page=38}} കൃത്രിമബുദ്ധി ഒരു അക്കാദമിക് ഡിസിപ്ലിനായി 1955-ൽ സ്ഥാപിതമായി. 2015-ൽ ആൽഫാഗോ ഒരു പ്രൊഫഷണൽ ഗോ കളിക്കാരനെ വിജയകരമായി പരാജയപ്പെടുത്തിയ ശേഷം, കൃത്രിമബുദ്ധി വീണ്ടും ആഗോള ശ്രദ്ധ ആകർഷിച്ചു.<ref>{{Cite journal|last1=Haenlein|first1=Michael|last2=Kaplan|first2=Andreas|date=2019|title=A Brief History of Artificial Intelligence: On the Past, Present, and Future of Artificial Intelligence|url=http://journals.sagepub.com/doi/10.1177/0008125619864925|journal=California Management Review|language=en|volume=61|issue=4|pages=5–14|doi=10.1177/0008125619864925|s2cid=199866730|issn=0008-1256|via=}}</ref>അതിന്റെ ചരിത്രം പരിശോധിച്ചാൽ, എഐ ഗവേഷണം പരസ്പരം ആശയവിനിമയം നടത്തുന്നതിൽ പരാജയപ്പെട്ട ഉപമേഖലകളാണ്. 1965 ൽ ഈ വാക്ക് ആദ്യമായി ഉപയോഗിച്ച [[ജോൺ മാക്‌കാർത്തി]] നിർവചിക്കുന്നത് "ബുദ്ധിയുള്ള യന്ത്രങ്ങളെ സൃഷ്ടിക്കുവാനുള്ള ശാസ്ത്രവും എൻജിനീയറിങ്ങും" എന്നാണ്. ആയിരത്തി തൊള്ളായിരത്തി അൻപതുകളിൽ ആണ് സംഘടിതമായ കൃത്രിമ ബുദ്ധി വികസന ഗവേഷണം തുടങ്ങിയത്. 1956 ൽ ഡാർട്ട്മൗത്ത് കോളേജിൽ നടന്ന ഒരു സമ്മേളനത്തിൽ വച്ചാണ് ഇതിന്റെ ഔപചാരികമായ തുടക്കം കുറിക്കുന്നത്.<ref>McCorduck, Pamela (2004), Machines Who Think (2nd ed.), Natick, MA: A. K. Peters, Ltd., ISBN 1-56881-205-1</ref>പിന്നീടുള്ള വർഷങ്ങളിൽ, നിരാശയും ധനനഷ്ടവും ("എഐ വിന്റർ" എന്ന് അറിയപ്പെടുന്നു) പുതിയ സമീപനങ്ങളും തന്മൂലമുള്ള വിജയവും പുതുക്കിയ ഫണ്ടിംഗും മൂലം ശുഭാപ്തിവിശ്വാസത്തിന്റെ പരകോടിയിലെത്താൻ സഹായിച്ചു.{{sfnp|Clark|2015b}} എഐ ഗവേഷണം തുടങ്ങിയതു മുതൽ നിരവധി വ്യത്യസ്ത സമീപനങ്ങൾ പരീക്ഷിക്കുകയും നിരസിക്കുകയും ചെയ്തിട്ടുണ്ട്, തലച്ചോറിനെ അനുകരിക്കുക, മനുഷ്യന്റെ പ്രശ്നപരിഹാരം മാതൃകയാക്കുക, ഔപചാരികമായ യുക്തി, അറിവിന്റെ വലിയ ഡാറ്റാബേസുകൾ, മൃഗങ്ങളുടെ പെരുമാറ്റം അനുകരിക്കൽ എന്നിവ ഉൾപ്പെടുന്നു. 21-ാം നൂറ്റാണ്ടിന്റെ ആദ്യ ദശകങ്ങളിൽ, മാത്തമാറ്റിക്കൽ-സ്റ്റാറ്റിസ്റ്റിക്കൽ മെഷീൻ ലേണിംഗ് ഈ മേഖലയിൽ ആധിപത്യം സ്ഥാപിച്ചു, ഈ സാങ്കേതികത വളരെ വിജയകരമാണെന്ന് തെളിയിച്ചിട്ടുണ്ട്, ഇത് വ്യവസായത്തിലും അക്കാദമിയിലുമുള്ള നിരവധി വെല്ലുവിളി നിറഞ്ഞ പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ സഹായിക്കുന്നു.{{sfnp|Clark|2015b}} എഐ ഗവേഷണത്തിന്റെ വിവിധ ഉപമേഖലകൾ പ്രത്യേക ലക്ഷ്യങ്ങളെയും പ്രത്യേക ഉപകരണങ്ങളുടെ ഉപയോഗത്തെയും കേന്ദ്രീകരിച്ചുള്ളതാണ്. എഐ ഗവേഷണത്തിന്റെ പരമ്പരാഗത ലക്ഷ്യങ്ങളിൽ ഓട്ടോമേറ്റഡ് റീസണിംഗ്, നോളജ് റെപ്രസേന്റേഷൻ ആന്റ് റീസണിംഗ്, ഓട്ടോമേറ്റഡ് പ്ലാനിംഗ് ആൻഡ് ഷെഡ്യൂളിംഗ്, മെഷീൻ ലേണിംഗ്, നാച്ചുറൽ ലാങ്വവേജ് പ്രോസ്സസിംഗ്, മെഷീൻ പെർപെഷൻ, വസ്തുക്കളെ ചലിപ്പിക്കാനും കൈകാര്യം ചെയ്യാനുമുള്ള കഴിവ് എന്നിവ ഉൾപ്പെടുന്നു.<ref name="Artificial General Intelligence"> {{Harvtxt|Pennachin|Goertzel|2007}}; {{Harvtxt|Roberts|2016}}</ref>ജനറൽ ഇന്റലിജൻസ് (അനിയന്ത്രിതമായ ഒരു പ്രശ്നം പരിഹരിക്കാനുള്ള കഴിവ്) ഫീൽഡിന്റെ ദീർഘകാല ലക്ഷ്യങ്ങളിൽ ഒന്നാണ്. ഈ പ്രശ്‌നങ്ങൾ പരിഹരിക്കുന്നതിന്, എഐ ഗവേഷകർ നിരവധി പ്രശ്‌നപരിഹാര സാങ്കേതിക വിദ്യകൾ സ്വീകരിക്കുകയും സംയോജിപ്പിക്കുകയും ചെയ്‌തു. തിരയൽ, മാത്തമാറ്റിക്കൽ ഒപ്റ്റിമൈസേഷൻ, ഒഫീഷ്യൽ ലോജിക്, കൃത്രിമ ന്യൂറൽ നെറ്റ്‌വർക്കുകൾ, സ്ഥിതിവിവരക്കണക്കുകൾ, പ്രോബബിലിറ്റി, സാമ്പത്തികശാസ്ത്രം എന്നിവയെ അടിസ്ഥാനമാക്കിയുള്ള രീതികൾ പിന്തുടരുന്നു. കമ്പ്യൂട്ടർ സയൻസ്, മനഃശാസ്ത്രം, ഭാഷാശാസ്ത്രം, തത്ത്വചിന്ത, കൂടാതെ മറ്റ് പല മേഖലകളിലും എഐ ആകർഷകമാക്കുന്നു.<ref name="Artificial General Intelligence"/> മനുഷ്യന്റെ ബുദ്ധിയെ "അനുകരിക്കുന്ന ഒരു യന്ത്രം നിർമ്മിക്കാൻ കഴിയും" എന്ന അനുമാനത്തിലാണ് ഈ മേഖല ആരംഭിച്ചത്.{{sfnp|McCarthy|Minsky|Rochester|Shannon|1955}} ഇത് മനസ്സിനെക്കുറിച്ചും മനുഷ്യനെപ്പോലെയുള്ള കൃത്രിമ ജീവികളെ സൃഷ്ടിക്കുന്നതിന്റെ ധാർമ്മിക അനന്തരഫലങ്ങളെക്കുറിച്ചുള്ള വാദങ്ങൾ ഉയർത്തി. ബുദ്ധി; പുരാതന കാലം മുതൽ ഈ പ്രശ്നങ്ങൾ മിത്ത്, ഫിക്ഷൻ, ഫിലോസഫി എന്നിവയാൽ പര്യവേക്ഷണം ചെയ്യപ്പെട്ടിട്ടുണ്ട്. [[Science fiction|സയൻസ് fiction]] എഴുത്തുകാരും ഫ്യൂച്ചറോളജിസ്റ്റുകളും എഐ അതിന്റെ യുക്തിസഹമായ കഴിവുകൾക്ക് മേൽനോട്ടം വഹിച്ചില്ലെങ്കിൽ മനുഷ്യരാശിയുടെ നിലനിൽപ്പിനെ തന്നെ ബാധിക്കാമെന്ന് അഭിപ്രായപ്പെടുന്നു.{{sfnp|Spadafora|2016}}{{sfnp|Lombardo|Boehm|Nairz|2020}} ==ചരിത്രം== === ഫിക്ഷനുകളും ആദ്യകാല ആശയങ്ങളും === [[File:Didrachm Phaistos obverse CdM.jpg|thumb|ക്രീറ്റിൽ നിന്നുള്ള സിൽവർ ഡിഡ്രാക്മ, ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസ് ഉള്ള ഒരു പുരാതന ഓട്ടോമേട്ടനായ ടാലോസിനെ ചിത്രീകരിക്കുന്നു]] മേരി ഷെല്ലിയുടെ ഫ്രാങ്കെൻ‌സ്റ്റൈൻ അല്ലെങ്കിൽ കാരെൽ കാപെക്കിന്റെ ആർ.യു.ആർ(R.U.R) പോലെ, ബുദ്ധിശക്തിയുള്ള കൃത്രിമ ജീവികൾ പുരാതന കാലത്ത് കഥപറച്ചിലായി പ്രത്യക്ഷപ്പെട്ടു, ഫിക്ഷനിലും സാധാരണമാണ്.<ref name="AI in myth"> AI in myth: * {{Harvtxt|McCorduck|2004|pp=4–5}} * {{Harvtxt|Russell|Norvig|2003|p=939}} </ref> ഈ കഥാപാത്രങ്ങളും അവരുടെ വിധികളും ഇപ്പോൾ ആർട്ടിഫിഷ്യൽ ഇന്റലിജൻസിന്റെ ധാർമ്മികതയിൽ ചർച്ചചെയ്യപ്പെടുന്ന പല വിഷയങ്ങളും ഉയർത്തി.{{sfnp|McCorduck|2004|pp=17–25}} മെക്കാനിക്കൽ അല്ലെങ്കിൽ "ഔപചാരിക" യുക്തിയെക്കുറിച്ചുള്ള പഠനം പുരാതന കാലത്ത് തത്ത്വചിന്തകരും ഗണിതശാസ്ത്രജ്ഞരും ആരംഭിച്ചു. ഗണിതശാസ്ത്ര യുക്തിയെക്കുറിച്ചുള്ള പഠനം [[അലൻ ട്യൂറിംഗ്|അലൻ ട്യൂറിംഗിന്റെ]] കണക്കുകൂട്ടൽ സിദ്ധാന്തത്തിലേക്ക് നേരിട്ട് നയിച്ചു, ഇത് "0", "1" എന്നിങ്ങനെ ലളിതമായ ചിഹ്നങ്ങൾ കൂട്ടിച്ചേർത്ത് ഒരു യന്ത്രത്തിന് ഗണിതശാസ്ത്രപരമായ കിഴിവിന്റെ ഏത് പ്രവർത്തനത്തെയും അനുകരിക്കാൻ കഴിയുമെന്ന് പറഞ്ഞു. ഔപചാരിക യുക്തിയുടെ ഏത് പ്രക്രിയയും ഡിജിറ്റൽ കമ്പ്യൂട്ടറുകൾക്ക് അനുകരിക്കാൻ കഴിയുമെന്ന ഈ ഉൾക്കാഴ്ച ചർച്ച്-ട്യൂറിംഗ് തീസിസ് എന്നറിയപ്പെടുന്നു.{{sfnp|Berlinski|2000}} ==ഇതുകൂടി കാണുക== *[[സോഫിയ (റോബോട്ട്)]] *[[ക്വാണ്ടം കമ്പ്യൂട്ടിംഗ്]] *'''AI സംഗീത പരീക്ഷണങ്ങൾ:''' കല, സംഗീത രംഗങ്ങളിലും കൃത്രിമബുദ്ധി വലിയ മാറ്റങ്ങൾ വരുത്തുന്നുണ്ട്. പാശ്ചാത്യ സംഗീതത്തിന് പുറമെ, സങ്കീർണ്ണമായ ശുദ്ധ കർണാട്ടിക് സംഗീത കച്ചേരികളുടെയും ഫ്യൂഷനുകളുടെയും ഘടനയിൽ AI സാങ്കേതികവിദ്യ ഉപയോഗിച്ച് മലയാളം യൂട്യൂബ് ചാനലുകളിൽ പുതിയ പരീക്ഷണങ്ങൾ നടന്നു വരുന്നുണ്ട്. ==അവലംബം== <references /> {{itstub|Artificial intelligence}} {{Technology}} [[വർഗ്ഗം:കമ്പ്യൂട്ടർ ശാസ്ത്രം]] [[വർഗ്ഗം:കൃത്രിമബുദ്ധി]] i5slndoiktwt8bu4ye4t6hpc6t1p99l വിജയ് 0 60012 4622185 4619906 2026-05-23T08:23:35Z CommonsDelinker 756 "The_official_portrait_of_C_Joseph_Vijay,_the_Chief_Minister_of_Tamilnadu.jpg" നീക്കം ചെയ്യുന്നു, [[c:User:Yann|Yann]] എന്ന കാര്യനിർവ്വാഹകൻ അത് കോമൺസിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. കാരണം: per [[:c:Commons:Deletion requests/File:The official portrait o 4622185 wikitext text/x-wiki {{prettyurl|Vijay}} {{Infobox officeholder | office = തമിഴ്നാട് മുഖ്യമന്ത്രി | order = 9-ാം | term_start = 10 മെയ് 2026 | governor = [[രാജേന്ദ്ര അർലേക്കർ]] | predecessor = [[എം.കെ. സ്റ്റാലിൻ]] {{Collapsed infobox section begin|വകുപ്പുകൾ}} | 1blankname1 = മന്ത്രാലയവും വകുപ്പുകളും | 1namedata1 = * പൊതുഭരണം * ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ് * ഇന്ത്യൻ പൊലീസ് സർവീസ് * ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് * ജില്ലാ റവന്യൂ ഓഫീസർമാർ * പൊലീസ് * ആഭ്യന്തരം * പ്രത്യേക പദ്ധതി നടപ്പാക്കൽ * വനിത, ശിശു, വയോജന ക്ഷേമം * യുവജന ക്ഷേമം * ഭിന്നശേഷിക്കാരുടെ ക്ഷേമം * നഗരഭരണം (നഗരകാര്യങ്ങൾ) * നഗര വികസനം * നഗര ജലവിതരണം | term_start1 = 10 മെയ് 2026 | predecessor1 = [[എം.കെ. സ്റ്റാലിൻ]] {{Collapsed infobox section end}} | office2 = തമിഴ്നാട് [[നിയമസഭാംഗം]] | constituency2 = പെരമ്പൂർ നിയമസഭാ മണ്ഡലം | term_start2 = 10 മെയ് 2026 | predecessor2 = ആർ.ഡി.ശേഖർ | constituency3 = | term_start3 = | predecessor3 = | office4 = [[തമിഴക വെട്രി കഴകം]] പ്രസിഡൻ്റ് | term_start4 = 2 ഫെബ്രുവരി 2024 | 1blankname4 = ജനറൽ സെക്രട്ടറി | 1namedata4 = എൻ. ആനന്ദ് | image = | caption = Vijay in 2026 | birth_name = ചന്ദ്രശേഖരൻ ജോസഫ് വിജയ് | birth_date = {{Birth date and age|df=yes|1974|6|22}} | birth_place = [[മദ്രാസ്]] {{small|(ഇപ്പോൾ [[ചെന്നൈ]])}}, [[തമിഴ്നാട്]], [[ഇന്ത്യ]] | party = [[തമിഴക വെട്രി കഴകം]] (2024 മുതൽ) | spouse = {{marriage|സങ്കീത സോർണലിംഗം|25 August 1999|2026|end={{abbr|sep.|separated}}}}<ref>{{Cite web |date=5 February 2026 |title=Actor-politician Vijay's wife Sankgeetha files for divorce |url=https://www.thenewsminute.com/flix/actor-politician-vijays-wife-sankgeetha-files-for-divorce |website=The News Minute}}</ref><ref name="N">{{Cite news |date=27 February 2026 |title=Who Is Vijay's Wife Sankgeetha Sornalingam, Who Filed For Divorce After 26 Years Of Marriage? |url=https://www.ndtv.com/entertainment/who-is-vijays-wife-sangeetha-sornalingam-who-filed-for-divorce-after-26-years-of-marriage-11145347 |archive-url=https://web.archive.org/web/20260304070139/https://www.ndtv.com/entertainment/who-is-vijays-wife-sangeetha-sornalingam-who-filed-for-divorce-after-26-years-of-marriage-11145347 |archive-date=4 March 2026 |access-date=4 March 2026 |work=NDTV |language=en}}</ref> | children = 2 | father = എസ്.എ.ചന്ദ്രശേഖരൻ | mother = ശോഭ ചന്ദ്രശേഖർ | occupation = {{hlist|രാഷ്ട്രീയക്കാരൻ|നടൻ}} | relatives = | awards = | education = ലയോള കോളേജ്, മദ്രാസ് (dropped out) | nickname = ''ദളപതി'' (കൂട്ടത്തിൻ്റെ നേതാവ്) | name = വിജയ് </br>{{Small|C. Joseph Vijay}} }} [[തമിഴ് ചലച്ചിത്രം|തമിഴ്]] ചലച്ചിത്രരംഗത്തെ ഒരു നടനും പിന്നണിഗായകനും രാഷ്ട്രീയക്കാരനും നിലവിൽ തമിഴ്നാടിൻ്റെ [[മുഖ്യമന്ത്രി (ഇന്ത്യ)|മുഖ്യമന്ത്രിയുമാണ്]] '''വിജയ്''' ({{lang-ta|விஜய்}}) എന്നറിയപ്പെടുന്ന '''ജോസഫ് വിജയ് ചന്ദ്രശേഖർ''', (ജനനം: ജൂൺ 22, 1974). [[തമിഴക വെട്രി കഴകം]] (ടി.വി.കെ.) എന്ന രാഷ്ട്രീയ പാർട്ടിയുടെ സ്ഥാപകനും പ്രസിഡന്റുമാണ് അദ്ദേഹം. രാഷ്ട്രീയത്തിൽ പ്രവേശിക്കുന്നതിന് മുമ്പ്, [[തമിഴ്‌ചലച്ചിത്രം|തമിഴ് സിനിമയിലെ]] മുൻനിര നടന്മാരിൽ ഒരാളായിരുന്നു അദ്ദേഹം. ആരാധകർ ഇദ്ദേഹത്തെ "ദളപതി" എന്ന് വിളിക്കാറുണ്ട്. 1997, 2005 വർഷങ്ങളിൽ തമിഴ്നാട് സർക്കാരിന്റെ മികച്ച നടനുള്ള പുരസ്‌കാരം നേടിയിട്ടുണ്ട്.{{തെളിവ്}} [[പൂവേ ഉനക്കാക]], [[കാതലുക്കു മരിയാതൈ|കാതലുക്ക് മര്യാദൈ]], [[തുള്ളാത മനവും തുള്ളും]] (1999), [[ഷാജഹാൻ(ചലച്ചിത്രം)|ഷാജഹാൻ]] (2001), [[ഗില്ലി]] (2004), [[പോക്കിരി]] (2007), [[തുപ്പാക്കി]](2012), [[തെരി]] (2016), [[മെർസൽ (ചലച്ചിത്രം)|മെർസൽ]] (2017), [[ബിഗിൽ (ചലച്ചിത്രം)|ബിഗിൽ]] (2019), [[മാസ്റ്റർ]] (2021), [[ബീസ്റ്റ്]] (2022),[[varisu | വരിസു]] (2023), [[ലിയോ (2023 ഇന്ത്യൻ സിനിമ)|ലിയോ]] (2023) എന്നിവയാണ് പ്രധാന ചിത്രങ്ങൾ. == ആദ്യ ജീവിതം == === ജനനം === വിജയ് 1974 ജൂൺ 22-ന് മദ്രാസിൽ (ഇന്നത്തെ ചെന്നൈ) ജനിച്ചു. === കുടുംബം === * '''പിതാവ്:''' എസ്. എ. ചന്ദ്രശേഖർ (എസ്.എ.സി.) – പ്രശസ്ത തമിഴ് ചലച്ചിത്ര സംവിധായകനും നിർമ്മാതാവുമാണ്. * '''മാതാവ്:''' ശോഭാ ചന്ദ്രശേഖർ – പിന്നണി ഗായികയും സംഗീതജ്ഞയുമാണ്. * '''സഹോദരി:''' വിദ്യ – വിജയ്ക്ക് രണ്ട് വയസ്സുള്ളപ്പോൾ മരണമടഞ്ഞ സഹോദരിയാണ് വിദ്യ. ഈ നഷ്ടം വിജയിയുടെ ജീവിതത്തിൽ വലിയ സ്വാധീനം ചെലുത്തിയിട്ടുണ്ട്, അത് പലപ്പോഴും അദ്ദേഹത്തിൻ്റെ ചില സിനിമകളിലെ വൈകാരിക രംഗങ്ങളിൽ പ്രതിഫലിക്കാറുമുണ്ട്. === വിദ്യാഭ്യാസം === ചെന്നൈയിലെ ഫാത്തിമ സ്‌കൂളിലും, പിന്നീട് വിരുഗംബാക്കത്തെ ബാലലോക സ്കൂളിലുമായിരുന്നു വിജയുടെ സ്കൂൾ വിദ്യാഭ്യാസം. ചെന്നൈയിലെ ലൊയോള കോളേജിൽ നിന്ന് വിഷ്വൽ കമ്മ്യൂണിക്കേഷനിൽ ബിരുദം പഠനത്തിന് ചേർന്നെങ്കിലും, അഭിനയത്തിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കാനായി വിദ്യാഭ്യാസം ഇടയ്ക്ക് വെച്ച് ഉപേക്ഷിച്ചു.<ref>{{Cite web|url=https://votermood.com/biography/joseph-vijay-chandrasekhar|title=Vijay Biography: Early Life, Education, and Political Career|access-date=2025-10-21|language=en}}</ref> == വ്യക്തിഗത ജീവിതം == === വിവാഹം === 1999 ഓഗസ്റ്റ് 25-ന് വിജയ് ശ്രീലങ്കൻ തമിഴ് വംശജയായ '''സംഗീത സോർണലിംഗത്തെ''' വിവാഹം ചെയ്തു. സംഗീത വിജയിയുടെ കടുത്ത ആരാധികയായിരുന്നു.<ref>{{Cite web|url=https://www.bollywoodshaadis.com/articles/thalapathy-vijay-love-story-wife-sangeetha-sornalingam-wedding-kids-film-beast-25754|title=Vijay's Love Story: When Thalapathy Fell For His Fan, Sangeetha And Married Her In A Dream Wedding|access-date=2025-10-21|date=2021-06-22|language=en}}</ref> === മക്കൾ === * '''മകൻ:''' ജേസൺ സഞ്ജയ് (Jason Sanjay) – 2000-ൽ ജനിച്ചു. വിദേശത്ത് സിനിമാ പഠനം പൂർത്തിയാക്കിയ അദ്ദേഹം നിലവിൽ സംവിധാന രംഗത്തേക്ക് പ്രവേശിക്കാൻ ഒരുങ്ങുകയാണ്. * '''മകൾ:''' ദിവ്യ സാഷ (Divya Saasha) – 2005-ൽ ജനിച്ചു. 'തെരി' (2016) എന്ന ചിത്രത്തിൽ ചെറിയ വേഷത്തിൽ അഭിനയിച്ചിട്ടുണ്ട്. == പ്രത്യേകതകൾ== 2017ൽ പുറത്തിറങ്ങിയ ഭൈരവയിലെ തലക്കെട്ട് ഗാനം പിന്നീട് ഹിന്ദിയിലേക്കും ഈണം ആക്കാൻ തീരുമാനം ഉണ്ടായി.{{തെളിവ്}} 2017 ൽ പുറത്തിറങ്ങിയ മെർസൽ സിനിമയുടെ ടീസർ ലോകത്തിൽ ആദ്യമായി 1മില്യൺ യൂട്യൂബ് ലൈക് കിട്ടിയ വീഡിയോ ആയി മാറി. <ref>{{Cite web|url=https://www.boxofficemojo.com/title/tt6485666/|title=Mersal|access-date=2025-10-21}}</ref> == സിനിമാ ജീവിതം (1984 - 2024) == {{പ്രധാനലേഖനം|വിജയ് അഭിനയിച്ച ചലച്ചിത്രങ്ങൾ}} === ബാലതാരം (1984–1988) === വിജയ് തൻ്റെ അഭിനയ ജീവിതം ആരംഭിക്കുന്നത് ബാലതാരമായിട്ടാണ്. പിതാവ് എസ്.എ. ചന്ദ്രശേഖർ സംവിധാനം ചെയ്ത 'വെട്രി' (1984) എന്ന സിനിമയിലൂടെയാണ് അരങ്ങേറ്റം. അതിനുശേഷം ഏതാനും ചിത്രങ്ങളിൽ അദ്ദേഹം ബാലവേഷങ്ങൾ ചെയ്തു. === നായകനിലേക്കുള്ള വളർച്ച (1992–2002) === * '''നായകനായി അരങ്ങേറ്റം:''' 1992-ൽ, പതിനെട്ടാം വയസ്സിൽ, പിതാവ് സംവിധാനം ചെയ്ത '''<nowiki/>'നാളൈയ തീർപ്പു'''' എന്ന ചിത്രത്തിലൂടെയാണ് വിജയ് ആദ്യമായി നായകനായെത്തുന്നത്. ആദ്യകാലത്ത് അദ്ദേഹത്തിൻ്റെ മിക്ക ചിത്രങ്ങളും കുറഞ്ഞ ബഡ്ജറ്റിൽ നിർമ്മിച്ചതും കാര്യമായ വിജയം നേടാത്തതുമായിരുന്നു. * '''ആദ്യത്തെ വഴിത്തിരിവ്:''' 1996-ൽ '''വിക്രമൻ''' സംവിധാനം ചെയ്ത '''<nowiki/>'പൂവേ ഉനക്കാകെ'''' എന്ന ചിത്രമാണ് വിജയ്ക്ക് ഒരു നടൻ എന്ന നിലയിൽ ബ്രേക്ക് നൽകിയത്. ഈ സിനിമ അദ്ദേഹത്തെ കുടുംബപ്രേക്ഷകർക്കിടയിൽ പ്രിയങ്കരനാക്കി. <ref>{{Cite web|url=https://www.filmibeat.com/tamil/movies/poove-unakkaga.html|title=Poove Unakkaga 1996 {{!}} Poove Unakkaga Tamil Movie: Release Date, Cast, Story, Ott, Review, Trailer, Photos, Videos, Box Office Collection – Filmibeat|access-date=2025-10-21|language=en}}</ref> * '''സ്ഥിരതയാർന്ന വിജയം:''' 1997-ലെ 'ലവ് ടുഡേ', 1998-ലെ 'തുളളാത മനവും തുളളും', 2000-ലെ 'ഖുഷി' തുടങ്ങിയ ചിത്രങ്ങൾ വിജയിയെ മുൻനിര നായകന്മാരുടെ നിരയിലേക്ക് ഉയർത്തി. മലയാള സംവിധായകൻ സിദ്ദിഖിൻ്റെ 'ഫ്രണ്ട്സ്' (2001) എന്ന തമിഴ് റീമേക്കിലെ പ്രകടനവും ശ്രദ്ധേയമായി. ഈ കാലഘട്ടത്തിൽ അദ്ദേഹം 'ഇളയദളപതി' എന്നറിയപ്പെട്ടു. === ആക്ഷൻ താരത്തിലേക്കുള്ള പരിവർത്തനം (2003–2011) === 2003-ൽ പുറത്തിറങ്ങിയ '''<nowiki/>'തിരുമലൈ'''' എന്ന ചിത്രമാണ് വിജയിൻ്റെ കരിയറിലെ പ്രധാന വഴിത്തിരിവുകളിലൊന്ന്. ഈ ചിത്രം അദ്ദേഹത്തിൻ്റെ ശൈലി റൊമാൻ്റിക് ഹീറോയിൽ നിന്ന് ആക്ഷൻ ഹീറോയിലേക്ക് മാറ്റി. * '''പ്രധാന ചിത്രങ്ങൾ:''' 'ഗില്ലി' (2004), 'തിരുപ്പാച്ചി' (2005), 'പോകിരി' (2007) എന്നിവയെല്ലാം വാണിജ്യപരമായി വലിയ വിജയങ്ങൾ നേടി. ഇതോടെ വിജയ് തമിഴ് സിനിമയിലെ 'ബോക്സ് ഓഫീസ് കിംഗ്' ആയി വളർന്നു. <ref>{{Cite web|url=https://www.indiatoday.in/movies/standpoint/story/ghilli-re-release-thalapathy-vijay-trisha-dharani-2530194-2024-04-22|title=Revisiting 'Ghilli': Why Thalapathy Vijay reigns supreme|access-date=2025-10-21|last=K|first=Janani|date=2024-04-22|language=en}}</ref> === സൂപ്പർസ്റ്റാർ പദവി (2012–2024) === 2010-ന് ശേഷം വിജയ്, പ്രമുഖ സംവിധായകരുമായി ചേർന്ന് വലിയ പ്രൊജക്റ്റുകൾ ചെയ്യാൻ തുടങ്ങി. * '''മുരുകദോസ് ചിത്രങ്ങൾ:''' '''<nowiki/>'തുപ്പാക്കി'''' (2012) വിജയിയുടെ കരിയറിലെ ഏറ്റവും വലിയ വഴിത്തിരിവുകളിലൊന്നായിരുന്നു. ഈ ചിത്രവും തുടർന്ന് വന്ന 'കത്തി' (2014), 'സർക്കാർ' (2018) എന്നിവയും വലിയ വാണിജ്യ വിജയങ്ങൾ നേടുകയും, രാഷ്ട്രീയപരമായ ഉള്ളടക്കം കാരണം ശ്രദ്ധിക്കപ്പെടുകയും ചെയ്തു. <ref>{{Cite web|url=https://www.cinemaexpress.com/tamil/news/2025/Aug/19/ar-murugadoss-says-only-vijay-can-do-thuppakki-2|title=AR Murugadoss says only Vijay can do Thuppakki 2|access-date=2025-10-21|last=Desk|first=Cinema Express|date=2025-08-19|language=en}}</ref> * '''ആറ്റ്‌ലി ചിത്രങ്ങൾ:''' <ref>{{Cite web|url=https://www.imdb.com/list/ls527848457/|title=Atlee Filmography|access-date=2025-10-21|language=en-US}}</ref> 'തെരി' (2016), 'മെർസൽ' (2017), 'ബിഗിൽ' (2019) എന്നിവ അദ്ദേഹത്തെ തമിഴകത്തെ ഏറ്റവും വിലപിടിപ്പുള്ള താരമാക്കി മാറ്റി. 'മെർസൽ' $250 കോടിക്ക് മുകളിൽ കളക്ഷൻ നേടിയ ആദ്യ വിജയ് ചിത്രമാണ്. * '''ഏറ്റവും പുതിയ ചിത്രങ്ങൾ:''' 'മാസ്റ്റർ' (2021), 'ബീസ്റ്റ്' (2022), 'വാരിശ്' (2023), '''<nowiki/>'ലിയോ'''' (2023) എന്നിവയെല്ലാം വൻ ഹിറ്റുകളായിരുന്നു. 'ലിയോ' അദ്ദേഹത്തിൻ്റെ കരിയറിലെ ഏറ്റവും വേഗത്തിൽ ₹500 കോടി കടന്ന ചിത്രങ്ങളിലൊന്നാണ്. '''ദളപതി (Commander):''' ഈ കാലഘട്ടത്തിലാണ് അദ്ദേഹത്തെ ആരാധകർ "ദളപതി" എന്ന് വിളിക്കാൻ തുടങ്ങിയത്. തമിഴ് സിനിമയിലെ യുവതലമുറയിലെ സൂപ്പർതാരങ്ങളിൽ ഒന്നാം സ്ഥാനത്തേക്ക് അദ്ദേഹം ഉയർത്തപ്പെട്ടു. <ref>{{Cite web|url=https://www.indiatoday.in/movies/regional-cinema/story/why-is-vijay-called-thalapathy-1758671-2021-01-13|title=Why is Vijay called Thalapathy?|access-date=2025-10-21|last=K|first=Janani|date=2021-01-13|language=en}}</ref> 2014ൽ വിജയ്, [[ജില്ല (ചലച്ചിത്രം)|ജില്ല]] എന്ന സിനിമയിൽ [[മോഹൻലാൽ|മോഹൻലാലി]]ന്റെ കൂടെ അഭിനയിച്ചു. <ref>{{Cite web|url=https://www.filmibeat.com/tamil/movies/jilla.html|title=Jilla 2014 {{!}} Jilla Tamil Movie: Release Date, Cast, Story, Ott, Review, Trailer, Photos, Videos, Box Office Collection – Filmibeat|access-date=2025-10-21|language=en}}</ref> == പിന്നണിഗായകൻ == തമിഴ് ചിത്രങ്ങളിൽ പിന്നണിഗായകനായും വിജയ് പ്രവർത്തിച്ചിട്ടുണ്ട്. രസികൻ എന്ന ചിത്രത്തിൽ ചിത്രയ്ക്കൊപ്പം ബംബായ് സിറ്റി സിക്ക റൊട്ടി എന്ന ഗാനം ശ്രദ്ധിക്കപ്പെട്ടു ''സച്ചിൻ'' എന്ന ചിത്രത്തിൽ വിജയ് പാ‍ടിയ ഗാനങ്ങൾ വിജയമായിരുന്നു. 2012ൽ തുപ്പാക്കി, എന്ന ചിത്രത്തിലും, 2013ൽ തലൈവ എന്ന ചിത്രത്തിലും പാടി. 2014ൽ ജില്ലയിലെ കണ്ടാങ്കി <ref>{{Cite web|url=https://www.kollyinsider.com/2013/11/vijay-sings-kandangi-kandangi-with.html|title=Vijay sings 'Kandangi Kandangi' with Shreya Ghoshal in Jilla|access-date=2025-10-21|last=Vijay|first=D. Imman Jilla Kajal Agarwal Shreya Ghoshal|date=2013-11-06}}</ref>എന്നാരംഭിക്കുന്ന ഗാനം വിജയ് പാടി. == രാഷ്ട്രീയം: തമിഴക വെട്രി കഴകം (TVK) == വർഷങ്ങളോളം സാമൂഹ്യ സേവനങ്ങളിലൂടെയും സിനിമകളിലെ രാഷ്ട്രീയ പരാമർശങ്ങളിലൂടെയും സൂചനകൾ നൽകിയിരുന്ന വിജയ്, 2024-ൽ തൻ്റെ രാഷ്ട്രീയ പ്രവേശം ഔദ്യോഗികമായി പ്രഖ്യാപിച്ചു. <ref>{{Cite web|url=https://www.newindianexpress.com/states/tamil-nadu/2024/Oct/27/inside-vijays-big-bang-political-entry|title=Inside Vijay's big-bang political entry|access-date=2025-10-21|last=desk|first=TNIE online|date=2024-10-27|language=en}}</ref> === 3.1. രാഷ്ട്രീയത്തിലേക്കുള്ള പശ്ചാത്തലം === * '''വിജയ് മക്കൾ ഇയക്കം:''' 2009-ൽ രജിസ്റ്റർ ചെയ്ത ഈ ആരാധക കൂട്ടായ്മ, അദ്ദേഹത്തിൻ്റെ രാഷ്ട്രീയപരമായ പ്രവർത്തനങ്ങളുടെ അടിത്തറയായി വർത്തിച്ചു. ആരാധക കൂട്ടായ്മയിലൂടെ സൗജന്യ ഭക്ഷണം, വിദ്യാഭ്യാസ സഹായം, നിയമസഹായം തുടങ്ങിയ ക്ഷേമപ്രവർത്തനങ്ങൾ നടത്തി. 2021-ലെ തദ്ദേശ തിരഞ്ഞെടുപ്പിൽ, വിജയ് മക്കൾ ഇയക്കത്തിലെ അംഗങ്ങൾ സ്വതന്ത്രരായി മത്സരിച്ച് നിരവധി സീറ്റുകളിൽ വിജയിച്ചു. * '''രാഷ്ട്രീയ ഉള്ളടക്കമുള്ള സിനിമകൾ:''' 'തുപ്പാക്കി', 'കത്തി', 'മെർസൽ', 'സർക്കാർ' തുടങ്ങിയ ചിത്രങ്ങൾ അഴിമതി, കർഷക പ്രശ്നങ്ങൾ, ആരോഗ്യ സംരക്ഷണം തുടങ്ങിയ പൊതുവിഷയങ്ങൾ ചർച്ച ചെയ്യുകയും സർക്കാരുകളുടെ വിമർശനത്തിന് വഴിയൊരുക്കുകയും ചെയ്തു. === 3.2. പാർട്ടി പ്രഖ്യാപനം === * '''പാർട്ടിയുടെ പേര്:''' '''തമിഴക വെട്രി കഴകം (Tamilaga Vettri Kazhagam - TVK)'''. * '''പ്രഖ്യാപനം:''' 2024 ഫെബ്രുവരി 2-ന് പാർട്ടിയുടെ രൂപീകരണം പ്രഖ്യാപിച്ചു. * '''ലക്ഷ്യം:''' 2026-ലെ തമിഴ്‌നാട് നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ മത്സരിക്കുകയും വിജയിക്കുകയും ചെയ്യുക എന്നതാണ് പ്രധാന ലക്ഷ്യം. 2024-ലെ ലോക്‌സഭാ തിരഞ്ഞെടുപ്പിൽ മത്സരിക്കില്ലെന്നും, ഒരു പാർട്ടിക്കും പിന്തുണ നൽകില്ലെന്നും വ്യക്തമാക്കി. === 3.3. TVK-യുടെ പ്രത്യയശാസ്ത്രം (Ideology) === * '''മുദ്രാവാക്യം:''' "പിറപ്പൊക്കും എല്ലാ ഉയിർക്കും" (ജനനം കൊണ്ട് എല്ലാവരും തുല്യരാണ്). * '''പ്രഖ്യാപിത ലക്ഷ്യങ്ങൾ:''' നിസ്വാർത്ഥവും, സുതാര്യവും, ജാതി-മത വിവേചനമില്ലാത്തതും, അഴിമതിരഹിതവുമായ ഒരു ഭരണം കാഴ്ചവയ്ക്കുക. <ref>{{Cite web|url=https://thesouthfirst.com/tamilnadu/lights-camera-ideology-vijay-names-his-historical-dream-team/|title=Lights, camera, ideology? Vijay names his historical 'Dream team'|access-date=2025-10-21|last=Shivani|first=k Nitika|date=2024-10-28|language=en}}</ref> * '''നിലപാടുകൾ:''' ദ്രാവിഡ രാഷ്ട്രീയത്തിൻ്റെ മൂല്യങ്ങളായ സാമൂഹ്യനീതി, യുക്തിവാദം എന്നിവയ്ക്ക് പ്രാധാന്യം നൽകുന്നു. നീറ്റ് (NEET) പരീക്ഷ നിരോധിക്കണമെന്ന് അദ്ദേഹം പരസ്യമായി ആവശ്യപ്പെട്ടിട്ടുണ്ട്. <ref>{{Cite web|url=https://www.indiatoday.in/india/tamil-nadu/story/actor-vijay-tamil-nadu-ban-neet-examination-mk-stalin-medical-entrance-2561578-2024-07-03|title=Actor Vijay calls for ban on NEET exam, claims bias against rural students|access-date=2025-10-21|last=Nair|first=Shilpa|date=2024-07-03|language=en}}</ref> * '''വിരമിക്കൽ:''' രാഷ്ട്രീയത്തിൽ പൂർണ്ണമായി ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതിനായി, നിലവിലുള്ള സിനിമകൾ (പ്രധാനമായും 'ദ ഗ്രേറ്റസ്റ്റ് ഓഫ് ഓൾ ടൈം' - GOAT, 'ദളപതി 69') പൂർത്തിയാക്കിയ ശേഷം സിനിമയിൽ നിന്ന് വിരമിക്കുമെന്ന് അദ്ദേഹം പ്രഖ്യാപിച്ചു. == ജനപ്രിയതയും സ്വാധീനവും == വിജയിയുടെ ജനപ്രീതി കേവലം തമിഴ്‌നാട്ടിൽ മാത്രം ഒതുങ്ങുന്നില്ല. കേരളം, കർണാടക, ശ്രീലങ്ക, മലേഷ്യ, യൂറോപ്പ്, പശ്ചിമേഷ്യ എന്നിവിടങ്ങളിലെല്ലാം അദ്ദേഹത്തിന് വലിയ ആരാധകവൃന്ദമുണ്ട്. * '''ദളപതി:''' അദ്ദേഹത്തിൻ്റെ ശക്തമായ ഓൺ-സ്‌ക്രീൻ കഥാപാത്രങ്ങൾ, നൃത്തത്തിലെ അസാമാന്യമായ വൈഭവം, വൈകാരിക രംഗങ്ങളിലെ പ്രകടനങ്ങൾ എന്നിവയെല്ലാം അദ്ദേഹത്തെ കുടുംബ പ്രേക്ഷകർക്കും യുവതലമുറയ്ക്കും ഒരുപോലെ പ്രിയങ്കരനാക്കുന്നു. * '''വാണിജ്യ വിജയം:''' സ്ഥിരമായി ₹100, ₹200, ₹300 കോടി ക്ലബ്ബുകളിൽ ഇടം നേടുന്ന ചിത്രങ്ങളിലൂടെ, തെന്നിന്ത്യൻ സിനിമയിലെ ഏറ്റവും വലിയ വാണിജ്യ മൂല്യമുള്ള താരമായി വിജയ് നിലകൊള്ളുന്നു. * '''രാഷ്ട്രീയ സ്വാധീനം:''' അദ്ദേഹത്തിൻ്റെ ചലച്ചിത്രങ്ങളിലെ രാഷ്ട്രീയ പ്രസ്താവനകളും ഡയലോഗുകളും പലപ്പോഴും സമൂഹത്തിൽ ചർച്ചാവിഷയമാവുകയും, യുവാക്കൾക്കിടയിൽ രാഷ്ട്രീയ അവബോധം വളർത്തുന്നതിൽ പങ്ക് വഹിക്കുകയും ചെയ്തിട്ടുണ്ട്.<ref>[https://www.ndtv.com/india-news/vijay-tamil-nadu-mk-stalin-star-power-mass-appeal-a-look-at-actor-vijays-political-impact-9138582 Vijay, Tamil Nadu, MK Stalin: Star Power, Mass Appeal: A Look At Actor Vijay's Political Impact]</ref> == അവലംബം == {{reflist}} == പുറത്തേക്കുള്ള കണ്ണികൾ == {{commons category|Vijay}} * {{IMDb name|name= Vijay|id=0897201}} * [http://www.vijaynet.com വിജയ് ഫാൻസിന്റെ വെബ്സൈറ്റ്] {{Webarchive|url=https://web.archive.org/web/20090105171408/http://vijaynet.com/ |date=2009-01-05 }} * {{Rotten-tomatoes-person|id=Vijay|name=Vijay}} {{TamilNaduStateAwardForBestActor}} [[വർഗ്ഗം:1974-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ജൂൺ 22-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:തമിഴ്‌ചലച്ചിത്രനടന്മാർ]] [[വർഗ്ഗം:തമിഴ് ചലച്ചിത്രപിന്നണിഗായകർ]] gi6d2sw0wbz6vgzw2pgmkcasauxbob5 കെ. മുരളീധരൻ 0 65587 4621550 4620208 2026-05-22T13:14:49Z GV2010 217548 /* */ 4621550 wikitext text/x-wiki {{prettyurl|K. Muraleedharan}} {{Infobox officeholder | name = കെ. മുരളീധരൻ | image = File:Muraleedharan.jpg | caption = | office = സംസ്ഥാന ആരോഗ്യ, ദേവസ്വം വകുപ്പ് മന്ത്രി | term = [[മേയ് 18]] [[2026]] | 1blankname = മന്ത്രിസഭ | | predecessor = [[വീണാ ജോർജ്ജ്]] (ആരോഗ്യം) [[വി.എൻ. വാസവൻ]] (ദേവസ്വം) | office1 = കേരളത്തിലെ വൈദ്യുതി വകുപ്പ് മന്ത്രി | term_start1 = [[ഫെബ്രുവരി 11]] [[2004]] | term_end1 = [[മേയ് 15]] [[2004]] | predecessor1 = [[കടവൂർ ശിവദാസൻ]] | successor1 = [[കടവൂർ ശിവദാസൻ]] | office2 = ലോകസഭാംഗം | constituency2 = [[വടകര ലോക്‌സഭാ നിയോജകമണ്ഡലം|വടകര]] | term_start2 = [[മേയ് 24]] [[2019]] | term_end2 = [[ജൂൺ 5]] 2024 | predecessor2 = [[മുല്ലപ്പള്ളി രാമചന്ദ്രൻ]] | successor2 = [[ഷാഫി പറമ്പിൽ]] | constituency3 = [[കോഴിക്കോട് ലോക്‌സഭാ നിയോജകമണ്ഡലം|കോഴിക്കോട്]] | term_start3 = [[ഒക്ടോബർ 10]] [[1999]] | term_end3 = [[ഫെബ്രുവരി 6]] [[2004]] | predecessor3 = [[പി. ശങ്കരൻ]] | successor3 = [[എം.പി. വീരേന്ദ്രകുമാർ]] | term_start4 = [[ഡിസംബർ 2]] [[1989]] | term_end4 = [[മേയ് 10]] [[1996]] | predecessor4 = [[കെ.ജി. അടിയോടി]] | successor4 = [[എം.പി. വീരേന്ദ്രകുമാർ]] | office5 = കേരള നിയമസഭയിലെ അംഗം | constituency5 = [[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] | term_start5 = [[മേയ് 14]] [[2011]] | term_end5 = [[മേയ് 29]] [[2019]] | predecessor5 = | successor5 = [[വി.കെ. പ്രശാന്ത്]] | term_start6 = 04 മെയ് 2026- | predecessor6 = [[വി.കെ. പ്രശാന്ത്]] | salary = | birth_date = {{Birth date and age|1957|5|14|df=y}} | birth_place = [[തൃശ്ശൂർ]] | residence = [[തിരുവനന്തപുരം]] | death_date = | death_place = | party = * [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] (1981-2005, 2011-തുടരുന്നു)[[File:Indian National Congress Flag.svg|frameless|25x25px]] * [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻ.സി.പി.]](2005-2011) * [[ഡെമോക്രാറ്റിക് ഇന്ദിരാ കോൺഗ്രസ്|ഡി.ഐ.സി.]](2005-2006) | religion = [[ഹിന്ദു മതം]] | father = [[കെ. കരുണാകരൻ]] | mother = കല്ല്യാണിക്കുട്ടിയമ്മ | spouse = ജ്യോതി മുരളീധരൻ | children = രണ്ട് മകൻ | website = | footnotes = | date = സെപ്റ്റംബർ 24 | year = 2020 | source = http://niyamasabha.org/codes/14kla/Members-Eng/72%20Muraleedharan%20K.pdf നിയമസഭ }} കേരളത്തിലെ [[കോൺഗ്രസ്]] പാർട്ടിയുടെ നേതാവും 2019 മുതൽ 2024 വരെ [[വടകര]]യിൽ നിന്നുള്ള [[ലോക്സഭ|ലോക്സഭാംഗവുമായിരുന്നു]]‌ '''കെ. മുരളീധരൻ''' (ജനനം: 14 മെയ് 1957)<ref>https://www.manoramaonline.com/news/editorial/2021/08/10/k-muraleedharan-again-as-kpcc-campaign-committee-chairman.html</ref> [[കേരള പ്രദേശ് കോൺഗ്രസ് കമ്മിറ്റി|കെ.പി.സി.സിയുടെ]] മുൻ പ്രസിഡണ്ടായിരുന്ന കെ. മുരളീധരൻ, മുതിർന്ന [[കോൺഗ്രസ്]] നേതാവായിരുന്ന [[കെ. കരുണാകരൻ|കെ. കരുണാകരന്റെ]] മകനാണ്<ref>https://www.manoramaonline.com/news/latest-news/2021/03/14/k-muraleedharan-to-contest-in-nemom-to-be-the-centre-of-attention.html</ref> മൂന്ന് തവണ ലോക്സഭയിലും രണ്ട് തവണ നിയമസഭയിലും അംഗമായിരുന്ന കെ.മുരളീധരൻ മൂന്നാം എ.കെ.ആൻ്റണി മന്ത്രിസഭയിൽ ഇടക്കാലത്തേക്ക് സംസ്ഥാന വൈദ്യുതി വകുപ്പ് മന്ത്രിയായും പ്രവർത്തിച്ചിട്ടുണ്ട്. സംസ്ഥാന കാബിനറ്റ് വകുപ്പ് മന്ത്രിയായി തുടരവെ നിയമസഭയിൽ എത്താൻ 2004-ലെ നിയമസഭ ഉപ-തിരഞ്ഞെടുപ്പിൽ തൃശൂർ ജില്ലയിലെ വടക്കാഞ്ചേരിയിൽ മത്സരിച്ച് പരാജയപ്പെട്ടതിനെ തുടർന്ന് മന്ത്രിസ്ഥാനം രാജിവച്ചു.<ref>https://timesofindia.indiatimes.com/india/murali-resigns-from-antony-cabinet/articleshow/675036.cms</ref> രാജ്യസഭാംഗത്വത്തെ ചൊല്ലി കോൺഗ്രസ് ഹൈക്കമാൻ്റുമായി തെറ്റി പിരിഞ്ഞ പിതാവ് കെ.കരുണാകരന് ഒപ്പം 2005-ൽ കോൺഗ്രസ് പാർട്ടി വിട്ട കെ.മുരളീധരൻ പിന്നീട് 2011-ൽ കോൺഗ്രസ് പാർട്ടിയിൽ തിരിച്ചെത്തി. 2011, 2016 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ വട്ടിയൂർക്കാവിൽ നിന്നും 2019-ലെ ലോക്‌സഭ തിരഞ്ഞെടുപ്പിൽ വടകരയിൽ നിന്നും വിജയിച്ച മുരളീധരൻ 2021-ലെ നിയമസഭ തെരഞ്ഞെടുപ്പിൽ നേമത്ത് നിന്നും 2024-ലെ ലോക്സഭ തിരഞ്ഞെടുപ്പിൽ തൃശൂർ നിന്നും പരാജയപ്പെട്ടു.<ref>https://www.onmanorama.com/news/kerala/2024/06/04/lok-sabha-elections-kerala-thrissur-suresh-gopi-muraleedharan-sunil-kumar.html</ref> == ജീവിതരേഖ == കേരളത്തിലെ മുതിർന്ന കോൺഗ്രസ് നേതാവും മുൻ മുഖ്യമന്ത്രിയുമായിരുന്ന ലീഡർ [[കെ. കരുണാകരൻ|കെ. കരുണാകരന്റെയും]] കല്യാണിക്കുട്ടിയമ്മയുടെയും മകനായി 1957 മേയ് 14-ന് [[തൃശ്ശൂർ|തൃശ്ശൂരിലാണ്]] കണ്ണോത്ത് മുരളീധരൻ എന്ന കെ. മുരളീധരൻ ജനിച്ചത്. ബിജെപി നേതാവ് [[പത്മജ വേണുഗോപാൽ]] ഇളയ സഹോദരിയാണ്. തൃശ്ശൂർ പൂങ്കുന്നം ഗവ. ഹൈസ്കൂൾ, തിരുവനന്തപുരം [[മാർ ഇവാനിയോസ് കോളേജ്]] എന്നിവിടങ്ങളിലായി വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയ മുരളീധരൻ തിരുവനന്തപുരം ലോ അക്കാദമിയിൽ നിന്ന് നിയമബിരുദം നേടി. അല്പകാലം അഭിഭാഷകനായി പ്രവർത്തിച്ചിരുന്നു. ജ്യോതിയാണ് മുരളീധരന്റെ ഭാര്യ. ഇവർക്ക് ശബരീഷ്, അരുൺ എന്നീ രണ്ട് ആൺമക്കളുണ്ട്. ഇരുവരും വിവാഹിതരാണ്. == രാഷ്ട്രീയജീവിതം == [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൻറെ]] പോഷകസംഘടനയായ [[സേവാ ദൾ|സേവാദൾ]] പ്രവർത്തകനായാണ് കെ. മുരളീധരൻ സ്ഥിരമായി രാഷ്ട്രീയപ്രവർത്തനത്തിലേക്ക് പ്രവേശിക്കുന്നത്. സേവാദളിലെ വിവിധ സ്ഥാനമാനങ്ങളിലൂടെ ഉയർന്നുവന്ന അദ്ദേഹം സംഘടനയുടെ സംസ്ഥാന മേധാവിയായിരിക്കെ 1989-ൽ നടന്ന [[ലോക്സഭ]] തിരഞ്ഞെടുപ്പിൽ [[കോഴിക്കോട്]] നിന്ന് [[സി.പി.എം]] നേതാവായിരുന്ന [[ഇ.കെ. ഇമ്പിച്ചി ബാവ]]യെ പരാജയപ്പെടുത്തി ആദ്യമായി [[ലോക്സഭ]] അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. 1991-ൽ നടന്ന [[ലോക്സഭ]] തിരഞ്ഞെടുപ്പിൽ [[കോഴിക്കോട്]] നിന്ന് ജനതാദൾ (എസ്) നേതാവായിരുന്ന എം.പി.വീരേന്ദ്രകുമാറിനെ തോൽപ്പിച്ചാണ് വീണ്ടും [[ലോക്സഭ]]യിലെത്തിയത്. പിന്നീട് മത്സരിച്ചുവെങ്കിലും 1996-ൽ നടന്ന [[ലോക്സഭ]] തിരഞ്ഞെടുപ്പിൽ [[കോഴിക്കോട്]] നിന്ന് എം.പി. വീരേന്ദ്രകുമാറിനോട് പരാജയപ്പെട്ടു. 1998-ൽ നടന്ന [[ലോക്സഭ]] തിരഞ്ഞെടുപ്പിൽ [[തൃശൂർ| തൃശൂരിൽ]] നിന്ന് മത്സരിച്ചെങ്കിലും [[സി.പി.ഐ]] നേതാവായിരുന്ന [[വി.വി. രാഘവൻ]]നോട് തോറ്റു. 1999-2001 കാലഘട്ടത്തിൽ കേരള പ്രദേശ് കോൺഗ്രസ് കമ്മിറ്റിയുടെ ([[കേരള പ്രദേശ് കോൺഗ്രസ് കമ്മിറ്റി|കെ.പി.സി.സി.]]) ജനറൽ സെക്രട്ടറിയും വൈസ് പ്രസിഡണ്ടുമായി. 1999-ൽ ജനതാദൾ (എസ്) നേതാവായ ഇബ്രാഹിമിനെ തോൽപ്പിച്ച് [[കോഴിക്കോട്]] നിന്ന് വീണ്ടും [[ലോക്‌സഭ]]യിൽ അംഗമായി. 2001-2004 കാലഘട്ടത്തിൽ [[എ.കെ. ആൻറണി]] കേരള മുഖ്യമന്ത്രിയായിരുന്നുപ്പോൾ കെ. മുരളീധരനായിരുന്നു കെ.പി.സി.സി. പ്രസിഡണ്ട്<ref>{{cite web|publisher=kmuraleedharan.org|title=ABOUT MURALEEDHARAN|url=http://kmuraleedharan.org/About%20Us%20Page.html|date=മാർച്ച് 27, 2009|accessdate=ഏപ്രിൽ 3, 2009|archive-date=2009-02-19|archive-url=https://web.archive.org/web/20090219221936/http://kmuraleedharan.org/About%20Us%20Page.html|url-status=dead}}</ref>. 2004 ഫെബ്രുവരി 11-ന് [[എ.കെ. ആൻറണി]] മന്ത്രിസഭയിലെ വൈദ്യുതി വകുപ്പ് മന്ത്രിയായി മുരളീധരൻ ചുമതലയേറ്റു. എന്നാൽ ആറു മാസത്തിനകം നടന്ന ഉപതിരഞ്ഞെടുപ്പിൽ [[വടക്കാഞ്ചേരി നിയമസഭാമണ്ഡലം|വടക്കാഞ്ചേരി]] മണ്ഡലത്തിൽനിന്നും [[നിയമസഭ|നിയമസഭയിലേക്ക്]] മത്സരിച്ച് പരാജയപ്പെട്ടതിനാൽ 2004 മെയ് 14-ന് അദ്ദേഹം മന്ത്രിസ്ഥാനം രാജിവെച്ചു.<ref>{{Cite web |url=http://keralaassembly.org/min01.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2009-04-03 |archive-date=2024-07-30 |archive-url=https://web.archive.org/web/20240730083234/http://keralaassembly.org/min01.html |url-status=dead }}</ref> കേരളത്തിൽ നിയമസഭാ ഉപതെരഞ്ഞെടുപ്പിൽ പരാജയപ്പെട്ട ഏക മന്ത്രിയാണ് കെ.മുരളീധരൻ 2004-ൽ [[രാജ്യസഭ]]സീറ്റിന്റെ പ്രശ്നത്തിൽ മുരളീധരന്റെ പിതാവ് [[കെ. കരുണാകരൻ]]നും അദ്ദേഹത്തിൻ്റെ അനുയായികളും കോൺഗ്രസ് സംസ്ഥാന നേതൃത്വമായി കലഹിച്ചതിനെ തുടർന്ന് കെ.മുരളീധരൻ കേരള പ്രദേശ് കോൺഗ്രസ് കമ്മറ്റി (കെ.പി.സി.സി) പ്രസിഡണ്ട് സ്ഥാനം രാജിവെച്ചു. 2005-ൽ കോൺഗ്രസ് നേതാവായ അഹമ്മദ് പട്ടേലിനെ അലൂമിനിയം പട്ടേൽ എന്ന് വിളിച്ചതിനെ തുടർന്ന് കോൺഗ്രസ് പാർട്ടിയിൽ നിന്ന് ആറ് വർഷത്തേയ്ക്ക് മുരളീധരനെ സസ്പെൻഡ് ചെയ്തു. അതിനുശേഷം 2005-ൽ കെ. കരുണാകരന്റെ നേതൃത്വത്തിൽ രൂപംകൊണ്ട പുതിയ പാർട്ടിയായ [[ഡെമോക്രാറ്റിക് ഇന്ദിര കോൺഗ്രസ് (കരുണാകരൻ)|ഡി.ഐ.സി (കെ)]]യുടെ സംസ്ഥാന പ്രസിഡണ്ടായി തിരഞ്ഞെടുക്കപ്പെട്ടു.<ref>{{cite news|publisher=The Hindu|title=Muraleedharan elected DIC(K) president|url=http://www.hindu.com/2006/02/28/stories/2006022812180400.htm|date=ഫെബ്രുവരി 28, 2006|accessdate=ഏപ്രിൽ 3, 2009|archive-date=2006-05-16|archive-url=https://web.archive.org/web/20060516122335/http://www.hindu.com/2006/02/28/stories/2006022812180400.htm|url-status=dead}}</ref> 2005-ലെ പഞ്ചായത്ത് തിരഞ്ഞെടുപ്പിൽ ഇടതുപക്ഷ ജനാധിപത്യമുന്നണിയുമായി ധാരണയിലെത്തിയെ [[ഡെമോക്രാറ്റിക് ഇന്ദിര കോൺഗ്രസ് (കരുണാകരൻ)|ഡി.ഐ.സി (കെ)]] സംസ്ഥാനത്തിന്റെ പലയിടങ്ങളിലും വിജയിച്ചു. പിന്നീട് പ്രതിപക്ഷ നേതാവായിരുന്ന [[വി.എസ്. അച്യുതാനന്ദൻ]]നും [[വെളിയം ഭാർഗവൻ]] അടക്കമുള്ള [[സി.പി.ഐ]] നേതാക്കളും ഡി.ഐ.സിക്കെതിരെ കടുത്ത വിമർശനം നടത്തിയതിനെ തുടർന്ന് [[ഡെമോക്രാറ്റിക് ഇന്ദിര കോൺഗ്രസ് (കരുണാകരൻ)| ഡി.ഐ.സി (കെ)]]യെ [[ഇടതുമുന്നണി]]യിൽ നിന്ന് പുറത്താക്കി. പിന്നീട് 2006-ൽ നടന്ന നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ [[യു.ഡി.എഫ്]] നേതൃത്വവുമായി [[ഡെമോക്രാറ്റിക് ഇന്ദിര കോൺഗ്രസ് (കരുണാകരൻ)|ഡി.ഐ.സി (കെ)]] ധാരണയിലെത്തി. 2006-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ കൊടുവള്ളിയിൽ നിന്ന് [[യു.ഡി.എഫ്]] സ്ഥാനാർത്ഥിയായി മത്സരിച്ച കെ.മുരളീധരൻ [[സി.പി.എം]] സ്വതന്ത്രനായ പി.ടി.എ.റഹീമിനോട് തോറ്റു. 2006 നിയമസഭ തിരഞ്ഞെടുപ്പിൽ [[യു.ഡി.എഫ്]] ഘടകകക്ഷിയായി മത്സരിച്ച [[ഡെമോക്രാറ്റിക് ഇന്ദിര കോൺഗ്രസ് (കരുണാകരൻ)|ഡി.ഐ.സി (കെ)]] എന്ന പാർട്ടിയ്ക്ക് ഒരു സ്ഥലത്ത് മാത്രമാണ് വിജയിക്കാനായത്. ഇതിനിടയിൽ ചില പാർട്ടി നേതാക്കൾ മാതൃസംഘടനയായ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സിലേക്ക് തിരിച്ചുപോകാൻ താല്പര്യം പ്രകടിപ്പിച്ചു. ഇത് ഡി.ഐ.സി.(കെ)യുടെ പിളർപ്പിലേക്ക് നയിച്ചു. 2007-ൽ കെ. കരുണാകരനോടൊപ്പം കെ. മുരളീധരനും [[ഡെമോക്രാറ്റിക് ഇന്ദിര കോൺഗ്രസ് (കരുണാകരൻ)|ഡി.ഐ.സി (കെ)]] പാർട്ടിയും [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻ.സി.പി]]യിൽ ലയിച്ചു. 2007 ഡിസംബർ 31-ന് [[കെ. കരുണാകരൻ]] കോൺഗ്രസിലേയ്ക്ക് തിരിച്ചുപോയെങ്കിലും മുരളീധരൻ [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി |എൻ.സി.പി]]യിൽ തുടർന്നു. [[2009-ലെ ഇന്ത്യയിലെ പൊതുതെരഞ്ഞെടുപ്പ്|2009 ലോക്‌സഭാ തിരഞ്ഞെടുപ്പിൽ]] [[വയനാട് (ലോക്‌സഭാ നിയോജകമണ്ഡലം)|വയനാട്]] മണ്ഡലത്തിൽനിന്ന് കെ. മുരളീധരൻ [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻ.സി.പി]] സ്ഥാനാർത്ഥിയായി മത്സരിച്ചെങ്കിലും മൂന്നാം സ്ഥാനത്തായി.<ref>{{cite news|publisher=KeralaNext|title=K Muraleedharan files nomination|url=http://www.keralanext.com/news/2009/03/27/article193.asp|date=മാർച്ച് 27, 2009|accessdate=ഏപ്രിൽ 3, 2009}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2009-ൽ മുരളീധരനെ [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻ.സി.പി]]യിൽ നിന്ന് പുറത്താക്കി. പിന്നീട് ആറു വർഷത്തിനു ശേഷം 2011 ഫെബ്രുവരി 15ന് കെ.മുരളീധരൻ [[കോൺഗ്രസ്]] പാർട്ടിയിൽ തിരിച്ചെത്തി. <ref>https://www.thehindu.com/news/national/kerala/Muraleedharan-back-in-Congress/article15445428.ece</ref> [[2011-ലെ_കേരള_നിയമസഭാ_തെരഞ്ഞെടുപ്പ്|2011 നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ ]] [[വട്ടിയൂർക്കാവ്_(നിയമസഭാമണ്ഡലം)|വട്ടിയൂർക്കാവ് നിയോജകമണ്ഡലത്തിൽ]] നിന്ന് കോൺഗ്രസിൻ്റെ ഔദ്യോഗിക സ്ഥാനാർത്ഥിയായി കൈപ്പത്തി ചിഹ്നത്തിൽ മത്സരിച്ച മുരളീധരൻ സിപിഎമ്മിലെ ചെറിയാൻ ഫിലിപ്പിനെ പരാജയപ്പെടുത്തി നിയമസഭ അംഗമായി. 2016ൽ വട്ടിയൂർക്കാവിൽ നിന്ന് തന്നെ വീണ്ടും നിയമസഭ അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു.. [[ബിജെപി]]യുടെ സംസ്ഥാന പ്രസിഡണ്ട് [[കുമ്മനം രാജശേഖരൻ]]നെയാണ് അദ്ദേഹം പരാജയപ്പെടുത്തിയത്. കെ.പി.സി.സി പ്രസിഡൻറായതിനെ തുടർന്ന് മത്സരരംഗത്ത് നിന്നൊഴിവായ [[മുല്ലപ്പള്ളി രാമചന്ദ്രൻ]]ന് പകരക്കാരനായി 2019-ലെ ലോക്സഭ തിരഞ്ഞെടുപ്പിൽ [[വടകര ലോക്‌സഭാ നിയോജകമണ്ഡലം|വടകര ലോക്സഭാ മണ്ഡലത്തിൽനിന്ന്]] ജനവിധി തേടുവാൻ [[വട്ടിയൂർക്കാവ്]] [[എം.എൽ.എ]] ആയിരുന്ന മുരളീധരനെ കോൺഗ്രസ് നിയോഗിച്ചതിനെ തുടർന്ന് എതിർ സ്ഥാനാർത്ഥിയായി മത്സരിച്ച സിപിഎമ്മിലെ പി.ജയരാജനെ പരാജയപ്പെടുത്തിയ കെ.മുരളീധരൻ 1999-ന് ശേഷം വീണ്ടും [[ലോക്സഭ]] അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. ലോക്സഭാംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടതിനെ തുടർന്ന് നിയമസഭാംഗത്വം രാജിവച്ചു. തുടർന്ന് 2019-ൽ നടന്ന നിയമസഭ ഉപ-തിരഞ്ഞെടുപ്പിൽ സിറ്റിംഗ് സീറ്റ് കോൺഗ്രസിന് നഷ്ടമായി. 2021-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ നേമത്ത് നിന്ന് കോൺഗ്രസ് സ്ഥാനാർത്ഥിയായി മത്സരിച്ചെങ്കിലും മാർക്സിസ്റ്റ് പാർട്ടിയിലെ വി.ശിവൻകുട്ടിയോട് പരാജയപ്പെട്ടു. നിയമസഭ തെരഞ്ഞെടുപ്പിൽ മൂന്നാം സ്ഥാനമാണ് ലഭിച്ചത്.<ref>https://www.thehindu.com/news/cities/Thiruvananthapuram/bjp-loses-its-sole-assembly-seat/article34469720.ece</ref> 2024-ലെ ലോക്സഭ തെരഞ്ഞെടുപ്പിൽ വടകരയിൽ നിന്ന് മാറി തൃശൂരിൽ എത്തി മത്സരിച്ചെങ്കിലും ബി.ജെ.പി സ്ഥാനാർത്ഥിയും ചലച്ചിത്ര നടനുമായ സുരേഷ് ഗോപിയോട് പരാജയപ്പെട്ടു. തൃശൂരിലെ ലോക്‌സഭ തിരഞ്ഞെടുപ്പിലും സിപിഐ സ്ഥാനാർത്ഥിയായി മത്സരിച്ച വി.എസ്.സുനിൽ കുമാറിന് പിന്നിൽ മൂന്നാം സ്ഥാനമാണ് മുരളീധരന് കിട്ടിയത്.<ref>https://www.onmanorama.com/news/kerala/2024/06/04/lok-sabha-elections-kerala-thrissur-suresh-gopi-muraleedharan-sunil-kumar.html</ref> == കോൺഗ്രസ് പാർട്ടി == [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സിൽ]] പ്രവർത്തിച്ചിരുന്ന മുരളീധരൻ മൂന്നുതവണ [[കോഴിക്കോട് (ലോക്‌സഭാ നിയോജകമണ്ഡലം)|കോഴിക്കോട്]] മണ്ഡലത്തിൽനിന്ന് [[ലോക്‌സഭ|ലോക്‌സഭയിലേക്ക്]] തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടുണ്ട്. കോൺഗ്രസിൽനിന്ന് തെറ്റിപ്പിരിഞ്ഞ അദ്ദേഹം [[ഡെമോക്രാറ്റിക് ഇന്ദിര കോൺഗ്രസ് (കരുണാകരൻ)]] എന്ന പാർട്ടിയുടെ പ്രസിഡണ്ടാകുകയും പിന്നീട് പാർട്ടി [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻ.സി.പി]]<nowiki/>യിൽ ലയിച്ചപ്പോൾ സംസ്ഥാനപ്രസിഡണ്ടായി നിയമിക്കപ്പെടുകയുമായിരുന്നു. പാർട്ടി വിരുദ്ധ പ്രവർത്തനങ്ങൾ നടത്തി എന്ന പേരിൽ കെ. മുരളീധരനെയും, [[എം.പി. ഗംഗാധരൻ|എം.പി. ഗംഗാധരനെയും]] [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻ.സി.പി.]] ദേശീയ നേതൃത്വം 2009 ജൂലൈ 31-ന്‌ പുറത്താക്കി. തുടർന്ന് 2011-ൽ കോൺഗ്രസിൽ തിരിച്ചെത്തിയ മുരളി 2011 മുതൽ 2019 വരെ [[വട്ടിയൂർക്കാവ്|വട്ടിയൂർകാവ്]] നിയോജക മണ്ഡലത്തിൽ നിന്നുള്ള നിയമസഭാംഗമായിരുന്നു.<ref name="mat1">{{cite web|url=http://www.mathrubhumi.com/php/newFrm.php?news_id=1243110&n_type=HO&category_id=1|title=മുരളിയും ഗംഗാധരനും പുറത്ത്‌; എൻ.സി.പിയ്‌ക്ക്‌ അഡ്‌ഹോക്ക്‌ കമ്മിറ്റി|publisher=മാതൃഭൂമി|language=മലയാളം|accessdate=2009-07-31|archive-date=2009-08-03|archive-url=https://web.archive.org/web/20090803084319/http://www.mathrubhumi.com/php/newFrm.php?news_id=1243110&n_type=HO&category_id=1|url-status=dead}}</ref> 2011 ഫെബ്രുവരി 15-നു് കെ. മുരളീധരനെ കോൺഗ്രസിലേക്ക് തിരിച്ചെടുത്തു. എ.ഐ.സി.സി. ജനറൽ സെക്രട്ടറി മൊഹ്‌സീന കിദ്വായ് ആണ് ഈഡിപ്പസ് കോംപ്ലെക്സ് എന്ന കെട്ടിടത്തിൽ വെച്ച് ഇതുമായി ബന്ധപ്പെട്ട പ്രഖ്യാപനം നടത്തിയത്. <ref>{{cite news|title=മുരളീധരനെ കോൺഗ്രസിൽ തിരിച്ചെടുത്തു|url=http://www.mathrubhumi.com/story.php?id=159045|accessdate=15 ഫെബ്രുവരി 2011|newspaper=Mathrubhumi Online|archive-date=2011-02-18|archive-url=https://web.archive.org/web/20110218164108/http://www.mathrubhumi.com/story.php?id=159045|url-status=dead}}</ref> == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2014-05-13 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=dead }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-03-19 |archive-date=2021-05-10 |archive-url=https://web.archive.org/web/20210510182516/http://www.keralaassembly.org/ |url-status=dead }}</ref> ! വർഷം !! മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി !! പാർട്ടിയും മുന്നണിയും വോട്ടും !! മുഖ്യ എതിരാളി !! പാർട്ടിയും മുന്നണിയും വോട്ടും |- |2024 |[[തൃശ്ശൂർ ലോകസഭാമണ്ഡലം]] |സുരേഷ് ഗോപി |[[ഭാരതീയ ജനതാ പാർട്ടി|ഭാരതീയ ജനതാ പാർട്ടി]] |'''വി എസ് സുനിൽ കുമാർ''' |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]], [[എൽ.ഡി.എഫ്]] |- |2021 |[[നേമം നിയമസഭാമണ്ഡലം]] |വി ശിവൻകുട്ടി |[[സി.പി.ഐ.എം.|എൽ.ഡി.എഫ്]] |'''കുമ്മനം രാജശേഖരൻ''' |[[ഭാരതീയ ജനതാ പാർട്ടി]], [[എൻ ഡി എ]] |- |2019 || [[വടകര ലോകസഭാമണ്ഡലം]] || [[കെ. മുരളീധരൻ]] ||[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]], [[യു.ഡി.എഫ്]] 526755 || [[പി. ജയരാജൻ]] || [[സി.പി.ഐ(എം)]], [[എൽ.ഡി.എഫ്.]] 442092 |- |2016 || [[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം]] || [[കെ. മുരളീധരൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] || [[കുമ്മനം രാജശേഖരൻ]] || [[ബി.ജെ.പി.]], [[എൻ.ഡി.എ.]] |- |2011 || [[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം]] || [[കെ. മുരളീധരൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] || [[ചെറിയാൻ ഫിലിപ്പ്]] || [[സ്വതന്ത്ര സ്ഥാനാർത്ഥി]], [[എൽ.ഡി.എഫ്.]] |- |2009 || [[വയനാട് ലോകസഭാമണ്ഡലം]] || [[എം.ഐ. ഷാനവാസ്]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] || [[കെ. മുരളീധരൻ]]* || [[എൻ.സി.പി.]] |- |2006 || [[കൊടുവള്ളി നിയമസഭാമണ്ഡലം]] || [[പി.ടി.എ. റഹീം]] || സ്വതന്ത്ര സ്ഥാനാർത്ഥി, [[എൽ.ഡി.എഫ്.]] || [[കെ. മുരളീധരൻ]] || [[ഡി.ഐ.സി.]] |- |2004* || [[വടക്കാഞ്ചേരി നിയമസഭാമണ്ഡലം]] || [[എ.സി. മൊയ്തീൻ]] || [[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]] || [[കെ. മുരളീധരൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- |1999 || [[കോഴിക്കോട് ലോകസഭാമണ്ഡലം]] || [[കെ. മുരളീധരൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] ||[[സി.എം. ഇബ്രാഹിം]] || [[ജനതാദൾ]], [[എൽ.ഡി.എഫ്.]] |- |1998 || [[തൃശ്ശൂർ ലോകസഭാമണ്ഡലം]] || [[വി.വി. രാഘവൻ]] || [[സി.പി.ഐ.]] [[എൽ.ഡി.എഫ്.]] || [[കെ. മുരളീധരൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- |1996 || [[കോഴിക്കോട് ലോകസഭാമണ്ഡലം]] || [[എം.പി. വീരേന്ദ്രകുമാർ]] || [[ജനതാദൾ]] [[എൽ.ഡി.എഫ്.]] || [[കെ. മുരളീധരൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- |1991 || [[കോഴിക്കോട് ലോകസഭാമണ്ഡലം]] || [[കെ. മുരളീധരൻ]] || [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] || [[എം.പി. വീരേന്ദ്രകുമാർ]] || [[ജനതാദൾ]] [[എൽ.ഡി.എഫ്.]] |- |1989 |[[കോഴിക്കോട് ലോകസഭാമണ്ഡലം]] |[[കെ. മുരളീധരൻ]] |[[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |[[ഇ.കെ. ഇമ്പിച്ചി ബാവ]] |[[സി.പി.ഐ(എം)]], [[എൽ.ഡി.എഫ്.]] |- |} *കുറിപ്പ് (1) - 2004 -ൽ കെ. മുരളീധരൻ മന്ത്രിയായപ്പോൾ ആറ് മാസത്തിനകം എം.എൽ.എ.യാകുക എന്ന ലക്ഷ്യത്തോടെ [[വി. ബാലറാം]] രാജി വെച്ചുണ്ടായ ഒഴിവിലേക്ക് നടന്ന ഉപതിരഞ്ഞെടുപ്പ്. * 2009 - ലെ തിരഞ്ഞെടുപ്പിൽ കെ. മുരളീധരൻ മൂന്നാം സ്ഥാനത്ത് ആയിരുന്നു. എൽ.ഡി.എഫിലെ എം. റഹ്മത്തുള്ള ആയിരുന്നു രണ്ടാം സ്ഥാനത്ത്. == അവലംബം == <references/> {{Fourteenth KLA}} {{DEFAULTSORT:മുരളീധരൻ}} [[വർഗ്ഗം:1957-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 14-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കെ.പി.സി.സി. പ്രസിഡന്റുമാർ]] [[വർഗ്ഗം:തൃശ്ശൂരിൽ നിന്നുമുള്ള രാഷ്ട്രീയപ്രവർത്തകർ]] [[വർഗ്ഗം:ഒൻപതാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:പത്താം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം ലോക്‌സഭയിലെ അംഗങ്ങൾ]] {{പതിനേഴാം ലോകസഭയിൽ കേരളത്തിൽ നിന്നുള്ള അംഗങ്ങൾ}} [[വർഗ്ഗം:ജനവിധിക്ക് മുൻപ് സംസ്ഥാന മന്ത്രിയായവർ]] [[വർഗ്ഗം:കേരളത്തിലെ വൈദ്യുതിവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആരോഗ്യവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ദേവസ്വം ബോർഡ് വകുപ്പ് മന്ത്രിമാർ]] lcthivrdn8z7ssihvxktehu351izq0t ബോർഡ് ഓഫ് കണ്ട്രോൾ ഫോർ ക്രിക്കറ്റ് ഇൻ ഇന്ത്യ 0 66685 4621589 4094531 2026-05-22T16:08:27Z ~2026-30893-35 218180 /* */ കോച്ച് 4621589 wikitext text/x-wiki {{prettyurl|BCCI}} {{Infobox Sport governing body |assocname= ബോർഡ് ഓഫ് കണ്ട്രോൾ ഫോർ ക്രിക്കറ്റ് ഇൻ ഇന്ത്യ |logo=BCCI logo.svg |logosize= 200px |sport= [[ക്രിക്കറ്റ്]] |abbrev = BCCI ബി.സി.സി.ഐ |founded = 1928 |aff = [[International Cricket Council]] |affdate = 21 November 1927 |region = [[Asian Cricket Council]] |regionyear = 1995 |location = [[മുംബൈ]] |president = |chairman = ശശാങ്ക് മനോഹർ |chiefexec = ഹിമാങ് അമീൻ |secretary = ദേവജിത് സൈക്കിയ |coach = [[ ഗൗതം ഗംഭീർ ]] |womenscoach = |replaced = [[Calcutta Cricket Club]] |prevfounded = |url = www.bcci.tv |countryflag= India |countryflag2= }} ഇന്ത്യയിലെ ഔദ്യോഗിക [[ക്രിക്കറ്റ്]] നയിക്കുന്ന ഭരണസ്ഥാപനമാണ് [[മുംബൈ]] ആസ്ഥാനമായി പ്രവർത്തിക്കുന്ന '''ബി.സി.സി.ഐ''' എന്നറിയപ്പെടുന്ന '''ബോർഡ് ഓഫ് കണ്ട്രോൾ ഫോർ ക്രിക്കറ്റ് ഇൻ ഇന്ത്യ'''. 1928 ഡിസംബർ ലാണ് ഇത് രൂപപ്പെട്ടത്. അന്താരാഷ്ട്ര ക്രിക്കറ്റ് നിയന്ത്രിക്കുന്ന [[അന്താരാഷ്ട്ര ക്രിക്കറ്റ് കൌൺസിൽ|അന്താരാഷ്ട്ര ക്രിക്കറ്റ് കൌൺസിലിൽ]] ബി.സി.സി.ഐ അംഗമാണ്. <!-- ==ലോഗൊ== ഇന്ത്യയുടെ ദേശീയചിഹ്നമായ അശോക The BCCI logo is derived from the emblem of the [[Order of the Star of India]], India's highest [[Order (decoration)|order of chivalry]] during the [[British Raj]] and also its [[Star of India (flag)|Coat of Arms]]. --> == അംഗത്വം == ഇന്ത്യയിലെ അഞ്ചു മേഖലകളിൽ നിന്നായി 27 സംസ്ഥാന അസ്സോസിയേഷനുകൾ ബി.സി.സി.ഐ യിൽ അംഗങ്ങളാണ്. നോർത്ത്, സൌത്ത്, ഈസ്റ്റ്, വെസ്റ്റ്, സെണ്ട്രൽ എന്നിവയാണ് ഈ മേഖലകൾ. == ദേശീയ ക്രിക്കറ്റ് == താഴെ പറയുന്ന ദേശീയ ക്രിക്കറ്റ് ബി.സി.സി.ഐ നടത്തിവരുന്നു. * [[രഞ്ജി ട്രോഫി]] * [[ഇറാനി ട്രോഫി]] * [[ദുലീപ് ട്രോഫി]] * [[ദിയോദാർ ട്രോഫി]] * [[NKP സാല്വ് ചലഞ്ചർ ട്രോഫി]] == അവലംബം == {{Reflist}} == ഇത് കൂടി കാണുക == * [[ഇന്ത്യൻ ദേശീയ ക്രിക്കറ്റ് ടീം]] * [[Indian Cricket League]] * [[ഇന്ത്യൻ പ്രീമിയർ ലീഗ്]] * [[2009 ഇന്ത്യൻ പ്രീമിയർ ലീഗ്]] == പുറത്തേക്കുള്ള കണ്ണികൾ == * [http://www.bcci.tv/ Official Website] == ഉറവിടം == * [http://sportal.nic.in/frontdetails1.asp?maincatid=52&linkid=108&headingid=39 Ministry of Youth Affairs & Sports India ] {{Webarchive|url=https://web.archive.org/web/20090416224347/http://sportal.nic.in/frontdetails1.asp?maincatid=52&linkid=108&headingid=39 |date=2009-04-16 }} {{Full Members of the International Cricket Council}} [[വർഗ്ഗം:Sports governing bodies in India]] [[വർഗ്ഗം:ഇന്ത്യയിലെ ക്രിക്കറ്റ് അധികാര സ്ഥാപനങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ കായികസംഘടനകൾ]] [[വർഗ്ഗം:ക്രിക്കറ്റ് സംഘടനകൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ ക്രിക്കറ്റ്]] [[വർഗ്ഗം:1928-ൽ ഇന്ത്യയിൽ ആരംഭിച്ച സ്ഥാപനങ്ങൾ]] cr00z0rfzixxjdk1usdtcxg7wchtmat 4621590 4621589 2026-05-22T16:10:24Z ~2026-30893-35 218180 /* */ 4621590 wikitext text/x-wiki {{prettyurl|BCCI}} {{Infobox Sport governing body |assocname= ബോർഡ് ഓഫ് കണ്ട്രോൾ ഫോർ ക്രിക്കറ്റ് ഇൻ ഇന്ത്യ |logo=BCCI logo.svg |logosize= 200px |sport= [[ക്രിക്കറ്റ്]] |abbrev = BCCI ബി.സി.സി.ഐ |founded = 1928 |aff = [[International Cricket Council]] |affdate = 21 November 1927 |region = [[Asian Cricket Council]] |regionyear = 1995 |location = [[മുംബൈ]] |president = |chairman = മിഥുൻ മൻഹാസ് |chiefexec = ഹിമാങ് അമീൻ |secretary = ദേവജിത് സൈക്കിയ |coach = [[ ഗൗതം ഗംഭീർ ]] |womenscoach = |replaced = [[Calcutta Cricket Club]] |prevfounded = |url = www.bcci.tv |countryflag= India |countryflag2= }} ഇന്ത്യയിലെ ഔദ്യോഗിക [[ക്രിക്കറ്റ്]] നയിക്കുന്ന ഭരണസ്ഥാപനമാണ് [[മുംബൈ]] ആസ്ഥാനമായി പ്രവർത്തിക്കുന്ന '''ബി.സി.സി.ഐ''' എന്നറിയപ്പെടുന്ന '''ബോർഡ് ഓഫ് കണ്ട്രോൾ ഫോർ ക്രിക്കറ്റ് ഇൻ ഇന്ത്യ'''. 1928 ഡിസംബർ ലാണ് ഇത് രൂപപ്പെട്ടത്. അന്താരാഷ്ട്ര ക്രിക്കറ്റ് നിയന്ത്രിക്കുന്ന [[അന്താരാഷ്ട്ര ക്രിക്കറ്റ് കൌൺസിൽ|അന്താരാഷ്ട്ര ക്രിക്കറ്റ് കൌൺസിലിൽ]] ബി.സി.സി.ഐ അംഗമാണ്. <!-- ==ലോഗൊ== ഇന്ത്യയുടെ ദേശീയചിഹ്നമായ അശോക The BCCI logo is derived from the emblem of the [[Order of the Star of India]], India's highest [[Order (decoration)|order of chivalry]] during the [[British Raj]] and also its [[Star of India (flag)|Coat of Arms]]. --> == അംഗത്വം == ഇന്ത്യയിലെ അഞ്ചു മേഖലകളിൽ നിന്നായി 27 സംസ്ഥാന അസ്സോസിയേഷനുകൾ ബി.സി.സി.ഐ യിൽ അംഗങ്ങളാണ്. നോർത്ത്, സൌത്ത്, ഈസ്റ്റ്, വെസ്റ്റ്, സെണ്ട്രൽ എന്നിവയാണ് ഈ മേഖലകൾ. == ദേശീയ ക്രിക്കറ്റ് == താഴെ പറയുന്ന ദേശീയ ക്രിക്കറ്റ് ബി.സി.സി.ഐ നടത്തിവരുന്നു. * [[രഞ്ജി ട്രോഫി]] * [[ഇറാനി ട്രോഫി]] * [[ദുലീപ് ട്രോഫി]] * [[ദിയോദാർ ട്രോഫി]] * [[NKP സാല്വ് ചലഞ്ചർ ട്രോഫി]] == അവലംബം == {{Reflist}} == ഇത് കൂടി കാണുക == * [[ഇന്ത്യൻ ദേശീയ ക്രിക്കറ്റ് ടീം]] * [[Indian Cricket League]] * [[ഇന്ത്യൻ പ്രീമിയർ ലീഗ്]] * [[2009 ഇന്ത്യൻ പ്രീമിയർ ലീഗ്]] == പുറത്തേക്കുള്ള കണ്ണികൾ == * [http://www.bcci.tv/ Official Website] == ഉറവിടം == * [http://sportal.nic.in/frontdetails1.asp?maincatid=52&linkid=108&headingid=39 Ministry of Youth Affairs & Sports India ] {{Webarchive|url=https://web.archive.org/web/20090416224347/http://sportal.nic.in/frontdetails1.asp?maincatid=52&linkid=108&headingid=39 |date=2009-04-16 }} {{Full Members of the International Cricket Council}} [[വർഗ്ഗം:Sports governing bodies in India]] [[വർഗ്ഗം:ഇന്ത്യയിലെ ക്രിക്കറ്റ് അധികാര സ്ഥാപനങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ കായികസംഘടനകൾ]] [[വർഗ്ഗം:ക്രിക്കറ്റ് സംഘടനകൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ ക്രിക്കറ്റ്]] [[വർഗ്ഗം:1928-ൽ ഇന്ത്യയിൽ ആരംഭിച്ച സ്ഥാപനങ്ങൾ]] 6ofo9pesetqpzk8257t2v0t7t9ju4uf മലയാളലിപി 0 69519 4621531 4614158 2026-05-22T12:20:37Z Symphonicallyu 155269 4621531 wikitext text/x-wiki {{prettyurl|Malayalam script}} {{For|ലിപി ഇവിടെക്ക് തിരിച്ചുവിട്ടിരിക്കുന്നു മലയാളം അക്ഷരമാല സന്ദർശിക്കുവാൻ|മലയാളം അക്ഷരമാല}} {{Infobox writing system | name = മലയാളലിപി | languages = [[മലയാള ഭാഷ|മലയാളം]]</br>[[തുളു]]<br/>[[സംസ്കൃതം]]<br/>[[കൊങ്കണി ഭാഷ|കൊങ്കണി]]<br/>[[ജസരി]]<br/>[[പണിയ ഭാഷ|പണിയ]]<br/>[[ബ്യാരി ഭാഷ|ബ്യാരി]]<br/>[[ബെട്ട കുറുംബ ഭാഷ|ബെട്ട കുറുംബ]]<br/>[[റാവുള ഭാഷ|റാവുള]]<br/><small>മറ്റു [[മലയാളമൊഴികൾ|മലയാളമൊഴികളും]] </small> | type = [[അബുഗിഡ]] | time = എ.ഡി. 830 – നിലവിൽ<ref name="Omniglot">{{Cite web|title=Malayalam alphabet, pronunciation and language|first=Simon|last=Ager|work=Omniglot|url=http://www.omniglot.com/writing/malayalam.htm|year=1998|access-date=2009-09-08}}</ref><ref name="Vazhapally Temple">{{Cite web|title=Vazhapally Temple|url=http://www.vazhappallytemple.org/history.html|publisher=Vazhappally Sree Mahadeva Temple|access-date=2009-10-31|url-status=usurped|archive-url=https://web.archive.org/web/20110109014543/http://www.vazhappallytemple.org/history.html|archive-date=2011-01-09}}</ref> | fam1 = [[ഈജിപ്ഷ്യൻ ഹൈറോഗ്ലിഫ്|ഈജിപ്ഷ്യൻ]] | fam2 = [[പ്രോട്ടോ-സിനൈറ്റിക് ലിപി|പ്രോട്ടോ-സിനൈറ്റിൿ]] | fam3 = [[ഫിനീഷ്യൻ അക്ഷരമാല|ഫിനീഷ്യൻ]] | fam4 = [[അരമായ അക്ഷരമാല|അരമായ]] | fam5 = [[ബ്രാഹ്മി ലിപി|ബ്രാഹ്മി]] | fam6 = [[തമിഴ് ബ്രാഹ്മി]] | fam7 = [[പല്ലവ ലിപി|പല്ലവ]] | fam8 = [[ഗ്രന്ഥ ലിപി|ഗ്രന്ഥ]] |sisters=[[തുളു ലിപി|തുളു]]<br />[[തിർകെ ലിപി|തിർകെ]]<br>[[ദിവെസ് അകുരു]]<br>[[സൗരാഷ്ട്ര ലിപി|സൗരാഷ്ട്ര]] |unicode = [http://www.unicode.org/charts/PDF/U0D00.pdf U+0D00–U+0D7F] |iso15924 = Mlym |sample = [[File:Malayalam Aksharamala.png|300px|center]] | caption = <center><small>മലയാള അക്ഷരമാലെ</small></center> | imagesize = | text_sample = [[File:Malayala lipi.svg|300px|center]] | text_sample_caption = <small><center>മലയാളം ലിപിയിൽ "മലയാളലിപി" എന്ന് എഴുതിയിരിക്കുന്നു</center></small> | map = [[File:Malayalam language (ml, Q36236) distribution.svg|300px|center]] | mapcaption = <small><center>{{Legend|#2a7fff|ഭൂരിപക്ഷം ആളുകളും മലയാളം സംസാരിക്കുന്നു}}{{Legend|#80b3ff|ഗണ്യമായ ഒരു ന്യൂനപക്ഷം മലയാളം സംസാരിക്കുന്നു, അല്ലെങ്കിൽ മറ്റു ഭാഷകൾക്കൊപ്പം മലയാളവും സംസാരിക്കപ്പെടുന്നു. <ref name="mw">{{cite web|url=http://www.censusindia.gov.in/2011census/C-16.html|title=Census of India Website: Office of the Registrar General & Census Commissioner, India|access-date=26 December 2019|archive-date=15 August 2018|archive-url=https://web.archive.org/web/20180815035759/http://www.censusindia.gov.in/2011census/C-16.html|url-status=live}}</ref>}}</center></small> }} {{brahmic}} [[ബ്രാഹ്മീയ കുടുംബം|ബ്രാഹ്മീയലിപികുടുംബത്തിൽ]] ഉൾപ്പെടുന്ന ഒരു ലിപിയാണ് മലയാളലിപി. മലയാളഭാഷ എഴുതന്നതിനാണ്, ഈ ലിപി പ്രധാനമായി ഉപയോഗിക്കുന്നത്. [[സംസ്കൃതം]], [[കൊങ്കണി]], [[തുളു]] എന്നീ ഭാഷകൾ എഴുതുന്നതിനും വളരെക്കുറച്ച് ആളുകൾമാത്രം സംസാരിക്കുന്ന പണിയ, കുറുമ്പതുടങ്ങിയ ഭാഷകളെഴുതുന്നതിനും മലയാളലിപി ഉപയോഗിക്കാറുണ്ട്. ==ചരിത്രം== [[File:Malayalam board with old style Malayalam letter (cropped).jpg|പഴയരീതിയിലുള്ള കൂട്ടക്ഷരങ്ങളുപയോഗിക്കുന്ന ഒരു ബോർഡ്|thumb]] ഇന്നത്തെ മലയാളലിപി, [[ബ്രാഹ്മി ലിപി|ബ്രാഹ്മിലിപിയിൽനിന്ന്]] രൂപപ്പെട്ട [[ഗ്രന്ഥ ലിപി|ഗ്രന്ഥലിപി]] പരിണമിച്ചുണ്ടായതാണ്. ആദ്യകാലമലയാളം, സംസ്കൃതം, തമിഴ് എന്നിവയാൽ ഏറെ സ്വാധീനിക്കപ്പെട്ടിരുന്നു. മലയാളം എഴുത്തുരീതിയെപ്പറ്റിയുള്ള ഏറ്റവും പുരാതനരേഖകൾ 10-ആം ശതകം CE അടുപ്പിച്ചു ലഭ്യമായിട്ടുള്ള ശിലാലിഖിതങ്ങളും ലോഹഫലകങ്ങളിലുള്ള ലിഖിതങ്ങളുമുൾ‍ക്കൊള്ളുന്നു.<ref name="C">Andronov, Mikhail Sergeevich. ''A Grammar of the Malayalam Language in Historical Treatment''. Wiesbaden : Harrassowitz, 1996.</ref> മലയാളലിപിസഞ്ചയത്തിന്, കാലാനുസൃതമായ പല മാറ്റങ്ങളുമുണ്ടായിട്ടുണ്ട്. <ref name="A"> ''The World's Writing Systems''. Ed. Daniels, Peter T.Bright, William,1928-2006. New York : Oxford University Press, 1996.</ref> 1970-1980 കാലങ്ങളിൽ മലയാളത്തിന് ഒരു ലളിതവത്കൃതലിപി രൂപപ്പെട്ടു. ആദ്യകാലലിപിയെക്കാൾ കുറെക്കൂടെ രേഖീകൃതരീതിയിലുള്ളതായിരുന്നു ഇത്. എഴുതിക്കഴിഞ്ഞ ചിഹ്നത്തിന്റെയിടയിലേക്ക്, ലേഖനി പിന്നീടു കൊണ്ടുവരേണ്ടാത്ത രീതിയിലാണ് ഈ ലിപി. ഇത്, മുദ്രണശാലകളിൽ അച്ചുനിരത്തുന്നതിന് സഹായകരമായ രീതിയിലുമായിരുന്നു. വീണ്ടും നീക്കേണ്ടാത്ത രീതിയിലായിരുന്നു ഇതിൽ സ്വരചിഹ്നങ്ങൾ. എന്നാൽ അച്ചടിയുടെ ആവിർഭാവം ലിപിയിൽ കാര്യമായ മാറ്റങ്ങൾ വരുത്തിയത്, കൂട്ടക്ഷരങ്ങളെ അണുവക്ഷരങ്ങളായി പിരിച്ചുകൊണ്ടായിരുന്നു. ==പ്രത്യേകതകൾ== [[File:Malayalam Script (Aksharamala) letters - word colud.svg|thumb|മലയാളം അക്ഷരമാലയിലെ അക്ഷരങ്ങൾ ഉപയോഗിച്ചുള്ള വേർഡ്ക്ലൗഡ്]] പരമ്പരാഗതമായി, മലയാളം ഇടത്തുനിന്നു വലത്തോട്ടാണ് എഴുതുന്നത്. മലയാളം ലിപികളെയും അക്ഷരങ്ങളെയെന്നപോലെ സ്വരങ്ങളെന്നും വ്യഞ്ജനങ്ങളെന്നും രണ്ടായിത്തിരിക്കാം. == സ്വരങ്ങൾ == {| class="wikitable" style="text-align:center;" !അക്ഷരം!! സ്വരചിഹ്നം !! സ്വരം [പ്] എന്ന വർണത്തോടൊപ്പം ! !! യുണികോഡ് നാമം!! IPA !! അഭിപ്രായം |- |style="font-size:36px"| അ|| style="font-size:36px" | ||style="font-size:36px"| പ | (pa) || A || a || short |- |style="font-size:36px"| ആ ||style="font-size:36px"| ാ ||style="font-size:36px"| പാ | (pā) || AA || aː || long 'a' |- |style="font-size:36px"| ഇ ||style="font-size:36px"| ി ||style="font-size:36px"| പി | (pi) || I || i || short 'i' |- |style="font-size:36px"| ഈ ||style="font-size:36px"| ീ ||style="font-size:36px"| പീ | (pī) || II || iː || long 'i' |- |style="font-size:36px"| ഉ ||style="font-size:36px"| ു ||style="font-size:36px"| പു | (pu) || U || u || short 'u' |- |style="font-size:36px"| ഊ ||style="font-size:36px"| ൂ ||style="font-size:36px"| പൂ | (pu) || UU || uː || long 'u' |- |style="font-size:36px"| ഋ ||style="font-size:36px"| ൃ ||style="font-size:36px"| പൃ | (pr) || VOCALIC R || {{IPA|ɹ̩}} ||short vocalic 'r' |- |style="font-size:36px"| ൠ ||style="font-size:36px"| ൄ ||style="font-size:36px"|പൄ | (pr) || LONG VOCALIC R || {{IPA|ɹ̩ː}} || obsolete/rarely used |- |style="font-size:36px"| ഌ ||style="font-size:36px"| ൢ||style="font-size:36px"|പൢ |(pl) | VOCALIC L || {{IPA|l̩}} || obsolete/rarely used |- |style="font-size:36px"| ൡ ||style="font-size:36px"| ൣ ||style="font-size:36px"|പൣ |(pl) | LONG VOCALIC L || {{IPA|l̩ː}} || obsolete/rarely used |- |style="font-size:36px"| എ ||style="font-size:36px"| െ ||style="font-size:36px"| പെ | (pe) || E || e || short 'e' |- |style="font-size:36px"| ഏ ||style="font-size:36px"| േ ||style="font-size:36px"| പേ | (pē) || E || eː || long 'e' |- |style="font-size:36px"| ഐ ||style="font-size:36px"| ൈ ||style="font-size:36px"| പൈ | (pai) || AI || ai || |- |style="font-size:36px"| ഒ ||style="font-size:36px"| ൊ ||style="font-size:36px"| പൊ | (po) || O || o || short 'o' |- |style="font-size:36px"| ഓ ||style="font-size:36px"| ോ ||style="font-size:36px"| പോ | (pō) || OO || oː || long 'o' |- |style="font-size:36px"| ഔ ||style="font-size:36px"| ൗ ||style="font-size:36px"| പൗ | (pau) || AU || au || |- |style="font-size:36px"| അം ||style="font-size:36px"| ം ||style="font-size:36px"|പം | (pum) || UM || um || |- |style="font-size:36px"| അഃ ||style="font-size:36px"| ഃ ||style="font-size:36px"|പഃ | (pah) || AH || ah || |} സ്വരത്തിന്റെ കാലദൈർഘ്യം മലയാളത്തിൽ വളരെ പ്രാധാനം അർ‌ഹിക്കുന്നു. കലം എന്നതിലെ ക് എന്ന വർണത്തിനു പിന്നിലുള്ള അ എന്ന സ്വരം ഹ്രസ്വമാണ്. സ്വരം ദീർഘിച്ച് കാലം എന്നായാൽ അർത്ഥം വ്യത്യസ്തമാണ്. == വ്യഞ്ജനങ്ങൾ == <div style="-moz-column-count:2; 00.1231column-count:2;"> {| class="wikitable" style="text-align:center;" ! മലയാളം !! യുണികോഡ് നാമം!! Transliteration !! IPA</tr> |style="font-size:36px"| ക || KA || k || k</tr> |style="font-size:36px"| ഖ || KHA || kh || k<sup>h</sup></tr> |style="font-size:36px"| ഗ || GA || g || g</tr> |style="font-size:36px"| ഘ ||GHA<td>gh</td>||g{{IPA|<sup>h</sup>}}</tr> |style="font-size:36px"| ങ || NGA ||ṅ or ng<td>ŋ</td></tr> |style="font-size:36px"| ച || CHA || ch || {{IPA|tʃ}}</tr> |style="font-size:36px"| ഛ || CHHA || chh || {{IPA|tʃ<sup>h</sup>}}</tr> |style="font-size:36px"| ജ ||JHA<td>jh</td><td>{{IPA|dʒ}}</td></tr> |style="font-size:36px"| ഝ ||JHHA<td>jhh</td><td>{{IPA|dʒ<sup>h</sup>}}</td></tr> |style="font-size:36px"| ഞ || NJA || ñ or nj || {{IPA|ɲ}}</tr> |style="font-size:36px"| ട || TTA || {{Unicode|ṭ}} or tt || {{IPA|ʈ}}</tr> |style="font-size:36px"| ഠ || TTHA || {{Unicode|ṭh}} or tth || {{IPA|ʈ<sup>h</sup>}}</tr> |style="font-size:36px"| ഡ || DDA || {{Unicode|ḍ}} or dd || {{IPA|ɖ}}</tr> |style="font-size:36px"| ഢ ||DDHA<td>{{Unicode|ḍh}} or ddh</td>|| {{IPA|ɖ<sup>h</sup>}}</tr> |style="font-size:36px"| ണ || NNA || {{Unicode|ṇ}} or nn || {{IPA|ɳ}}</tr> |style="font-size:36px"| ത || THA || th || t</tr> |style="font-size:36px"| ഥ || THHA || thh || t<sup>h</sup></tr> |style="font-size:36px"| ദ ||DHA<td>d</td>|| d</tr> |style="font-size:36px"| ധ ||DHHA<td>dhh</td><td>{{IPA|d<sup>h</sup>}}</td></tr> |style="font-size:36px"| ന || NA || n || n</tr> |style="font-size:36px"| പ || PA || p || p</tr> |style="font-size:36px"| ഫ || PHA ||ph or f<td>{{IPA|p<sup>h</sup>}}</td></tr> |style="font-size:36px"| ബ || BA || b || b</tr> |style="font-size:36px"| ഭ || BHA || bh || {{IPA|b<sup>h</sup>}}</tr> |style="font-size:36px"| മ || MA || m || m</tr> |style="font-size:36px"| യ || YA || y || j</tr> |style="font-size:36px"| ര || RA || r || {{IPA|ɾ}}</tr> |style="font-size:36px"| ല || LA || l || l</tr> |style="font-size:36px"| വ || VA || v || {{IPA|ʋ}}</tr> |style="font-size:36px"| ശ || SHA || {{Unicode|ṣ}} or s || {{IPA|ɕ}}</tr> |style="font-size:36px"| ഷ || SSHA ||ṣ or sh<td>{{IPA|ʃ}}</td></tr> |style="font-size:36px"| സ || SA || s || s</tr> |style="font-size:36px"| ഹ || HA || h || {{IPA|ɦ}}</tr> |style="font-size:36px"| ള || LLA || {{Unicode|ḷ}} or ll || {{IPA|ɭ}}</tr> |style="font-size:36px"| ഴ || ZHA || {{Unicode|ḻ}} or zh || {{IPA|ɻ}}</tr> |style="font-size:36px"| റ || RRA || {{Unicode|ṟ}} or rr || r</tr> |} </div></p> == മറ്റ് പ്രതീകങ്ങൾ == {| class="wikitable" style="text-align:center;" ! പ്രതീകം !! നാമം ! Function |- |style="font-size:36px"| ് || ''[[വിരാമം]]'' അഥവാ ''ചന്ദ്രക്കല'' | സ്വരത്തിന്റെ അഭാവത്തെ സൂചിപ്പിക്കുന്നു |- |style="font-size:36px"| ം || ''[[അനുസ്വാരം]]'' | nasalizes the preceding vowel |- |style="font-size:36px"| ഃ || ''[[വിസർഗം]]'' | adds voiceless breath after vowel (like h) |} <br /> == അക്കങ്ങൾ == സംഖ്യകൾ മലയാളലിപിയിൽ:<br> [[പ്രമാണം:Malayalam numerals.png]]<br> പക്ഷേ, ഇപ്പോൾ മലയാളികൾ എല്ലായിടത്തും ഇൻഡോ-അറബിക് അക്കങ്ങൾ ഉപയോഗിക്കുന്നതു മൂലം ഈ മലയാള അക്കങ്ങൾ വിസ്മൃതമായിക്കൊണ്ടിരിക്കുന്നു. <div style="width:50%; -moz-column-count:2; column-count:2;"> {| class="wikitable" style="text-align:center;" !സംഖ്യ!! മലയാളം !! ഹിന്ദു-അറബീയം</tr> |പൂജ്യം<ref group="*">ഇൻഡോ-അറബി അക്ക വ്യവസ്ഥയിൽ പൂജ്യത്തെ സൂചിപ്പിക്കാൻ ഉപയോഗിക്കുന്ന ചിഹ്നമായ 0 ത്തോടു്‌ സാമ്യമായ ലിപി തന്നെയാണു്‌ മലയാളം പൂജ്യത്തിനും. പക്ഷെ മലയാളത്തിലെ പൂജ്യം എന്ന അക്കം യൂണിക്കോഡ് 5.0 പതിപ്പു്‌ വേറൊരു രൂപത്തിലായിരുന്നു എൻ‌കൊഡ് ചെയ്തിരുന്നതു്‌. യൂണിക്കോഡ് 5.1 പതിപ്പിൽ ഈ പ്രശ്നം പരിഹരിച്ചിട്ടുണ്ടു്‌. അതിനാൽ താങ്കൾ യൂണിക്ക്കൊഡ് 5.0 അനുശാസിക്കുന്ന ഫോണ്ടാണു് ഉപയോഗിക്കുന്നതെങ്കിൽ മുകളിലെ പട്ടികയിൽ പൂജ്യം വേറൊരു രൂപത്തിലാവും ദൃശ്യമാവുക. മുമ്പ് യൂണീകോഡ് നിർദ്ദേശിച്ചിരുന്ന ലിപി മലയാളത്തിൽ കാൽ ഭാഗം (1/4) എന്നതിനെ സൂചിപ്പിക്കാൻ എഴുതാനുള്ളതായിരുന്നു.</ref>|| ൦ || 0</tr> |ഒന്ന്|| ൧ || 1</tr> |രണ്ട്|| ൨ || 2</tr> |മൂന്ന്|| ൩ || 3</tr> |നാല്|| ൪ || 4</tr> |അഞ്ച്|| ൫ || 5</tr> |ആറ്|| ൬ || 6</tr> |ഏഴ്|| ൭ || 7</tr> |എട്ട്|| ൮ || 8</tr> |ഒൻപത്|| ൯ || 9</tr> |പത്ത്|| ൰<ref>http://www.fileformat.info/info/unicode/char/0d70/index.htm</ref> || 10</tr> |നൂറ്|| ൱<ref>http://www.fileformat.info/info/unicode/char/0d71/index.htm</ref> || 100</tr> |ആയിരം|| ൲<ref>http://www.fileformat.info/info/unicode/char/0d72/index.htm</ref> || 1000</tr> |കാൽ|| ൳<ref>http://www.fileformat.info/info/unicode/char/0d730/index.htm</ref> || ¼</tr> |അര|| ൴<ref>http://www.fileformat.info/info/unicode/char/0d74/index.htm</ref> || ½</tr> |മുക്കാൽ|| ൵<ref>http://www.fileformat.info/info/unicode/char/0d75/index.htm</ref> || ¾</tr> |} </div> <references group="*" /> <br> ==അടയാളങ്ങൾ, ചുരുക്കെഴുത്തുകൾ== ===ദിനാങ്കചിഹ്നം=== [[File:Malayalam_date_mark.png‎|thumb|300px|മലയാളം ദിനാങ്കചിഹ്നം]] മലയാളത്തിൽ ഒരു ദിവസം സൂചിപ്പിച്ചതിനുശേഷം ഉപയോഗിക്കുന്ന ചിഹ്നമാണ് "'''൹'''". [[യൂണികോഡ്|യൂണികോഡിൽ]] U+0D79 എന്ന കോഡ് ഉപയോഗിച്ചാണ് ദിനാങ്കചിഹ്നം രേഖപ്പെടുത്തിയിട്ടുള്ളത്. <ref>http://www.fileformat.info/info/unicode/char/d79/index.htm</ref> <ref>http://unicode.org/Public/UCA/latest/allkeys.txt</ref> :ഉദാഹരണം: #ശ്രീമൂലം സമിതിയുടെ വാർഷികാഘോഷങ്ങൾ ൧൧൨൪ മകരം ൩ ൹ പുത്തരിക്കണ്ടം മൈതാനിയിൽ വച്ചു നടക്കുന്നു. == മലയാളം യുണീകോഡ് == മലയാളം യുണീകോഡ് U+0D00 മുതൽ U+0D7F വരെയാണ്. ചാരനിറത്തിലുള്ള കള്ളികൾ, ഇതുവരെ വിനിയോഗിച്ചിട്ടില്ലാത്ത യുണികോഡ് ബിന്ദുക്കളെ സൂചിപ്പിക്കുന്നു. {{മലയാളം യുണീകോഡ് പട്ടിക}} == ഇവകൂടി കാണുക == * [[മലയാളഭാഷ]] * [[മലയാള അക്ഷരമാല|മലയാളം അക്ഷരമാല]] * [[ഗ്രന്ഥ ലിപി]] * [[തുളു ലിപി]] == ബാഹ്യകണ്ണികൾ == * [http://www.jaimalayalam.com മലയാളം ലിപി പഠിക്കുന്നതിനുള്ള സ്രോതസ്സുകൾ ഉൾക്കൊള്ളുന്ന വെബ്സ്ഥാനം] * [http://www.unicode.org/charts/PDF/U0D00.pdf മലയാളം ലിപിയുടെ യുണികോഡ് പട്ടിക(PDF രൂപത്തിൽ)] * [http://www.alanwood.net/unicode/fonts_windows.html#malayalam മലയാളം യുണികോഡ് ലിപിരൂപങ്ങൾ] * [https://ranjithsiji.github.io/ilc/ ഭാരതീയ ഭാഷാപരിവർ‌ത്തകം] - റോമനീകൃത ഇംഗ്ലീഷിനെ മലയാളം യുണികോഡാക്കാനുള്ള വെബ്-ആധാരിത ഉപകരണം * [http://vle.marthomacentre.org.uk/ 'moodle' in Malayalam] {{Webarchive|url=https://web.archive.org/web/20080620092331/http://vle.marthomacentre.org.uk/ |date=2008-06-20 }} Virtual Learning Environment == അവലംബങ്ങൾ == {{reflist|2}} {{മലയാള അക്ഷരമാല‎}} [[വർഗ്ഗം:ബ്രാഹ്മിക ലിപികൾ]] [[വർഗ്ഗം:മലയാളം]] [[വർഗ്ഗം:മലയാളലിപി]] {{Languages of South Asia}} bf7izr1c272ut6moa02ee92fqx0jyco മുഖ്യമന്ത്രി (ഇന്ത്യ) 0 75851 4621573 4540718 2026-05-22T14:34:50Z ~2026-30027-79 218175 /* സത്യവാചകങ്ങൾ */ 4621573 wikitext text/x-wiki {{prettyurl|Chief minister}} {{seealso|ഇന്ത്യയിലെ ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക}} [[ഇന്ത്യൻ ഭരണഘടനയുടെ നാൽപ്പത്തിരണ്ടാം ഭേദഗതി|ഇന്ത്യൻ ഭരണഘടനാ]] നിയമ പ്രകാരം [[സംസ്ഥാനം|സംസ്ഥാനങ്ങളുടെ]] ഭരണ തലവൻമാരെയാണ് '''മുഖ്യമന്ത്രി''' (chief minister) എന്ന് പറയുന്നത്. == പ്രക്രിയകൾ == === തിരഞ്ഞെടുപ്പ് രീതി === [[നിയമസഭ|സംസ്ഥാന നിയമസഭകളിലേക്കു]] ഓരോ അഞ്ചു വർഷം കൂടുംതോറും നടക്കുന്ന തിരഞ്ഞെടുപ്പുകളിലൂടെ ഭൂരിപക്ഷം കിട്ടുന്ന മുന്നണിയോ പാർട്ടിയോ ആണ് അടുത്ത അഞ്ചു വർഷത്തേക്ക്‌ സംസ്ഥാന ഭരണ തലവൻ എന്ന നിലയിൽ മുഖ്യമന്ത്രിയെ നിർദ്ദേശിക്കുന്നത്. [[ഇന്ത്യ|ഇന്ത്യയിൽ]] ഇപ്പോൾ മുഖ്യമന്ത്രിയായി തെരഞ്ഞെടുക്കപ്പെട്ടിട്ടുള്ള 31 മുഖ്യമന്ത്രിമാരിൽ 29 പേർ അതത് സംസ്ഥാനങ്ങളേയും രണ്ടുപേർ കേന്ദ്രഭരണപ്രദേശങ്ങളെയും പ്രതിനിധീകരിക്കുന്നു. === പദവികളും അധികാരവും === സംസ്ഥാന മന്ത്രിസഭയിലെ ഏറ്റവും പ്രധാനപ്പെട്ട വ്യക്തിയാണ് മുഖ്യമന്ത്രി. സംസ്ഥാന ലെജിസ്ലേറ്റീവ് അസംബ്ലിയിലെ ഭൂരിപക്ഷ കക്ഷിയുടെ അഥവാ മുന്നണിയുടെ നേതാവാണ് അദ്ദേഹം. സംസ്ഥാന ഗവൺമെന്റിന്റെ പ്രധാന വക്താവുകൂടിയാണദ്ദഹം. ഗവർണ്ണറെയും മന്ത്രസഭയെയും തമ്മിൽ കൂട്ടിയിണക്കുന്ന കണ്ണിയായി ഇദ്ദേഹത്തെ വിശേഷിപ്പിക്കുന്നു. മന്ത്രിസഭയുടെ തീരുമാനങ്ങൾ ഉടനുടൻ മുഖ്യമന്ത്രി ഗവർണ്ണറുടെ ശ്രദ്ധയിൽ പെടുത്തുന്നു. മന്തിമാരെല്ലാം മുഖ്യമന്തിയുടെ നിയന്ത്രണത്തിനു വിധേയമായിട്ടാണ് പ്രവർത്തിക്കുന്നത്. ഒരു മന്ത്രിക്ക് മുഖ്യമന്ത്രിയുമായി യോജിച്ച് പ്രവർത്തിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ ആ മന്ത്രി രാജിവയ്ക്കുകയാണ് പതിവ്. ഏതെങ്കിലും മന്ത്രി മുഖ്യമന്ത്രിയുടെ അഭിപ്രായത്തിന് വിരുദ്ധമായി പ്രവർത്തിക്കുകയാണെങ്കിൽ ആ മന്ത്രിയുടെ രാജി മുഖ്യമന്ത്രിക്ക് ആവശ്യപ്പെടാം. കേന്ദ്രമന്ത്രിസഭയിൽ പ്രധാനമന്ത്രിക്കുള്ളതിന് സമാനമായ സ്വാധിനവും പദവിയും സംസ്ഥാന മന്ത്രിസഭയിൽ മുഖ്യമന്ത്രിക്കുണ്ട്. === സത്യവാചകങ്ങൾ === ''<പേര്> ആയ/എന്ന ഞാൻ, നിയമം വഴി സ്ഥാപിതമായ ഭാരതത്തിന്റെ ഭരണഘടനയോട് നിർവ്യാജമായ വിശ്വസ്തതയും കൂറും പുലർത്തുമെന്നും, ഞാൻ ഭാരതത്തിന്റെ പരമാധികാരവും അഖണ്ഡതയും നിലനിർത്തുമെന്നും, ഞാൻ <സംസ്ഥാനത്തിന്റെ പേര്> സംസ്ഥാനത്തെ മുഖ്യമന്ത്രിയെന്ന നിലയിൽ എന്റെ കർത്തവ്യങ്ങൾ വിശ്വസ്തതയോടും മനഃസാക്ഷിയെ മുൻനിർത്തിയും നിർവഹിയ്ക്കുമെന്നും, ഭരണഘടനയും നിയമവും അനുശാസിയ്ക്കും വിധം, ഭീതിയോ പക്ഷപാതമോ, പ്രീതിയോ വിദ്വേഷമോ കൂടാതെ എല്ലാ ജനങ്ങൾക്കും നീതി നടപ്പാക്കുമെന്നും സഗൗരവം/ദൈവനാമത്തിൽ പ്രതിജ്ഞ ചെയ്യുന്നു''. - ഇന്ത്യൻ ഭരണഘടന, മൂന്നാം അനുച്ഛേദം, അഞ്ചാം വാക്യം. ''<പേര്> ആയ/എന്ന ഞാൻ, <സംസ്ഥാനത്തിന്റെ പേര്> സംസ്ഥാനത്തെ മുഖ്യമന്ത്രിയെന്ന നിലയിൽ, എന്റെ പരിഗണനയിൽ കൊണ്ടുവരുന്നതോ എന്റെ അറിവിൽ വരുന്നതോ ആയ ഏതെങ്കിലും വിഷയം, അങ്ങനെയുള്ള മന്ത്രിയെന്ന നിലയിലുള്ള എന്റെ കർത്തവ്യങ്ങളുടെ മുറപ്രകാരമുള്ള നിർവഹണത്തിനാവശ്യമാകുന്നവയൊഴികെ ഏതെങ്കിലും ആൾക്കോ ആളുകൾക്കോ നേരിട്ടോ നേരിട്ടല്ലാതെയോ അറിയിച്ചുകൊടുക്കുകയോ വെളിപ്പെടുത്തിക്കൊടുക്കുകയോ ചെയ്യില്ലെന്ന് സഗൗരവം/ദൈവനാമത്തിൽ പ്രതിജ്ഞ ചെയ്യുന്നു''. - ഇന്ത്യം ഭരണഘടന, മൂന്നാം അനുച്ഛേദം, ആറാം വാക്യം. ==അവലംബം== {{reflist}} {{Current Indian Chief Ministers}} {{Current Indian ministries}} {{india-stub}} {{Lists of chief ministers of Indian states}} [[Category:ഇന്ത്യൻ രാഷ്ട്രീയം]] [[വർഗ്ഗം:ഭരണത്തലവന്മാർ]] gao4ud1bcrux9dbc7k8womrlgczgaqi ചവറ 0 92960 4621546 4575181 2026-05-22T13:06:47Z Lalucvr 127565 4621546 wikitext text/x-wiki {{prettyurl|Chavara}} {{Infobox settlement | name = Chavara | other_name = | settlement_type = [[Suburb]] & [[Block (district subdivision)|Block]] | image_skyline = Chavara Govt. HSS, Nov 2015.jpg | image_alt = | image_caption = Govt. HSS, Chavara | nickname = | pushpin_map = India | pushpin_label_position = right | pushpin_map_alt = | pushpin_map_caption = Location in Kerala, India | coordinates = {{coord|8.9952900|N|76.532880|E|display=inline,title}} | subdivision_type = Country | subdivision_name = {{flag|India}} | subdivision_type1 = [[States and territories of India|State]] | subdivision_type2 = [[List of districts of India|District]] | subdivision_name1 = [[Kerala]] | subdivision_name2 = [[Kollam district|Kollam]] | subdivision_name3 = [[Karunagappally Taluk]] | established_title = <!-- Established --> | established_date = | founder = | named_for = | government_type = | governing_body = | unit_pref = Metric | area_footnotes = | area_total_km2 = | area_rank = | elevation_footnotes = | elevation_m = | population_total = | population_as_of = | population_footnotes = | population_density_km2 = auto | population_rank = | population_demonym = | demographics_type1 = Language | demographics1_title1 = Official | timezone1 = [[Indian Standard Time|IST]] | utc_offset1 = +5:30 | postal_code_type = Pincode | postal_code = 691583 | area_code = 476 | area_code_type = Telephone code | registration_plate = [[List of RTO districts in India#KL.E2.80.94Kerala|KL]]-23 | blank1_name_sec1 = Nearest city | blank1_info_sec1 = [[Kollam district|Kollam]] | website = | footnotes = | demographics1_info1 = [[Malayalam language|Malayalam]], [[English language|English]] | blank2_name_sec1 = [[Lok Sabha]] constituency | blank2_info_sec1 = [[Kollam district|Kollam]] | official_name = Chavara }} [[പ്രമാണം:Ashtamudi lake‍.JPG|right|thumb|200ബിന്ദു|അഷ്ടമുടിക്കായൽ]] [[കേരളം|കേരളത്തിൽ]] [[കൊല്ലം ജില്ല|കൊല്ലം ജില്ലയിൽ]] [[ചവറ ഗ്രാമപഞ്ചായത്ത്|ചവറ ഗ്രാമപഞ്ചായത്തിൽ]] സ്ഥിതിചെയ്യുന്ന സ്ഥലമാണ് '''ചവറ'''. കൊല്ലം ആലപ്പുഴ ഹൈവേയിൽ [[കൊല്ലം|കൊല്ലത്തു]] നിന്നും 14 കിലോമീറ്റർ അകലെയാണ് ചവറ സ്ഥിതി ചെയ്യുന്നത്. ചവറയുടെ തെക്ക് ഭാഗത്ത് അഷ്ടമുടി കായലും പടീഞ്ഞാറ് അറബിക്കടലുമാണ് [[കരിമണൽ]] സമ്പത്തിന് പേരു കേട്ട നാടാണ് ചവറ. ഇവിടുന്ന് പല രാജ്യങ്ങളിലേയ്ക്കും [[ടൈറ്റാനിയം]] കയറ്റി അയയ്ക്കപ്പെടുന്നു. ചവറ പഞ്ചായത്തിന്റെ കീഴിൽ വരുന്ന കോവിൽത്തോട്ടം തുറമുഖം ഒരു പ്രമുഖ വിനോദസഞ്ചാരകേന്ദ്രമാണ്. ഇവിടെയുള്ള ലൈറ്റ്‌ഹൗസും ബീച്ചുമാണ് പ്രധാനപ്പെട്ട ആകർഷണങ്ങൾ. ചവറ നിയമസഭാമണ്ഡലം [[കൊല്ലം ലോക്സഭാമണ്ഡലം|കൊല്ലം ലോക്‌സഭാ നിയോജകമണ്ഡലത്തിന്റെ]] ഭാഗമാണ്.<ref>{{cite web | url = http://archive.eci.gov.in/se2001/background/S11/KL_Dist_PC_AC.pdf | title = Assembly Constituencies&nbsp;— Corresponding Districts and Parliamentary Constituencies | accessdate = 2008-10-20 | work = Kerala | publisher = Election Commission of India | archive-date = 2009-03-04 | archive-url = https://web.archive.org/web/20090304011026/http://archive.eci.gov.in/se2001/background/S11/KL_Dist_PC_AC.pdf | url-status = dead }}</ref> ==പ്രധാന ആരാധനാലയങ്ങൾ == === ക്ഷേത്രങ്ങൾ === * [[കൊറ്റൻകുളങ്ങര ദേവീക്ഷേത്രം|കൊറ്റംകുളങ്ങര ദേവീ ക്ഷേത്രം]] * ചവറ പുതുക്കാട്ട് മഹാഗണപതി ക്ഷേത്രം * [[പന്മന]] ആശ്രമം ( ചട്ടമ്പി സ്വാമി സമാധി) * പന്മന ക്ഷേത്രം * ചവറ ശ്രീകൃഷ്ണ സ്വാമി ക്ഷേത്രം * ഭരണിക്കാവ് ദേവീ ക്ഷേത്രം * കുമ്പഴക്കാവ് ദേവീ ക്ഷേത്രം * കാമൻ കുളങ്ങര മഹാദേവ ക്ഷേത്രം * അമ്മാച്ചൻകാവ് ശിവശാസ്താ ക്ഷേത്രം *നല്ലേഴുത്ത്മുക്ക് ശ്രീ അരത്തകണ്ഠസ്വാമിക്ഷേത്രം * പയ്യലക്കാവ് ശ്രീ അർദ്ധനാരീശ്വര ക്ഷേത്രം *പുതിയകാവ് ശ്രീ ഭദ്രകാളീ ദേവി ക്ഷേത്രം *കാട്ടിൽ മേക്കതിൽ ദേവീക്ഷേത്റം *പരിമണം ദുർഗ ദേവി ക്ഷേത്രം *പുത്തൻകോവിൽ ധർമ ശാസ്ത ക്ഷേത്രം * പുതിയകാവ് ദേവി ക്ഷേത്രം * ചോല ശ്രീ ദുർഗ്ഗാ ഭഗവതി ക്ഷേത്രം === ക്രിസ്ത്യൻ പള്ളകൾ === * സെന്റ് ആൻഡ്രൂസ് പള്ളി കോവിൽതോട്ടം * കരിത്തുറ St. ഫ്രാൻസിസ് അസ്സീസി ദേവാലയം * കുളങ്ങര ഭാഗം വേളാങ്കണ്ണി മാതാ പള്ളി * തലമുകിൽ പള്ളി === മുസ്ലീം പള്ളികൾ === * ചവറ ജുമാ മസ്ജിദ് * കൊട്ടുകാട് ജുമാ മസ്ജിദ് * പുതുശ്ശേരിക്കോട്ട ജുമാ മസ്ജിദ് * തേവലക്കര ജുമാ മസ്ജിദ് * പോരൂക്കര ജുമാ മസ്ജിദ് * കുറ്റിവട്ടം ജുമാ മസ്ജിദ് ==പ്രധാന വിദ്യാഭ്യാസ സ്ഥാപനങ്ങൾ == * ബേബി ജോൺ മെമ്മോറിയൽ ഗവർമെന്റ് കോളേജ് * എം.എസ്.എൻ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മാനേജ്മെന്റ് ആന്റ് ടെക്നോളജി<ref>{{Cite web |url=http://www.msnimt.org/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-08-13 |archive-date=2021-03-04 |archive-url=https://web.archive.org/web/20210304052525/https://www.msnimt.org/ |url-status=dead }}</ref> * എൻ.എസ്.എൻ.എസ്.എം. ഐ.റ്റി.സി * ഗവേർമെന്റ് ഹയർ സെക്കന്ററി സ്കൂൾ * ലൂർദ് മാത ഹയർ സെക്കന്ററി സ്കൂൾ, കോവിൽത്തോട്ടം <ref>http://www.lourdemata.com{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> * കൊറ്റംകുളങ്ങര ഗവർമെന്റ് വി.എച്ച്.എസ്.ഇ * എലഗന്റ് ഇൻസ്റ്റിട്യൂഷൻ ഫോർ സയൻസ് & കോമേഴ്‌സ് - കൊറ്റൻകുളങ്ങര * എലഗന്റ് സ്റ്റഡി സെന്റർ -കൊറ്റൻകുളങ്ങര *അയ്യൻകോയിക്കൽ ഗവർമെന്റ് എച്ച്.എസ്.എസ്. *പന്മന ശ്രീ ബാല ഭട്ടാരക വിദ്യാധിരാജ HSS (SBVHSS) * ഗവൺമെന്റ് എച്ച്. എസ്. എസ്. ചവറ. * ഗവൺമെന്റ് യു.പി.എസ്. മുക്കുത്തോട് ചവ * ഖാദിരിയ്യ ഹൈ സ്കൂൾ കൊട്ടുകാട് * ഇന്ത്യൻ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഇൻഫ്രാസ്ട്രക്ചർ ആൻഡ് കൺസ്ട്രക്ഷൻ == വ്യവസായ സ്ഥാപനങ്ങൾ == * KMML (കേരള മിനറൽസ് ആന്റ് മെറ്റൽസ് ലിമിറ്റഡ്)<ref>http://www.kmml.com</ref> * IREL (ഇന്ത്യൻ റേർ എർത്ത്സ് ലിമിറ്റഡ്)<ref>{{Cite web |url=http://www.irel.gov.in/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-08-29 |archive-date=2014-07-14 |archive-url=https://web.archive.org/web/20140714110927/http://irel.gov.in/ |url-status=dead }}</ref> * TITANIUM SPONGE PROJECT (TSP) * കേരള പ്രിമൊ പൈപ്പ് ഫാക്റ്ററി (1995നു ശേഷം സ്ഥാപനം തുറന്നു പ്രവർത്തിച്ചിട്ടില്ല)നിലവിൽ ഈ സ്ഥലത്ത് IIIC നിലകൊള്ളുന്നു == അവലംബങ്ങൾ == {{commonscat|Chavara}} <references /> {{കൊല്ലം ജില്ല}} [[വിഭാഗം:കൊല്ലം ജില്ലയിലെ ഗ്രാമങ്ങൾ]] e60212mps9hbxs8p0jxe1v9nn5j82u0 അഖിലേന്ത്യാ സേവനങ്ങൾ 0 126223 4622168 4550612 2026-05-23T07:40:30Z CatholicChristian 209870 CatholicChristian എന്ന ഉപയോക്താവ് [[അഖിലേന്ത്യാ സർവീസുകൾ]] എന്ന താൾ [[അഖിലേന്ത്യാ സേവനങ്ങൾ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു: [[WP:COMMONNAME]] 4550612 wikitext text/x-wiki {{prettyurl|All India Services}} [[ഇന്ത്യ|ഇന്ത്യൻ]] ഭരണഘടനയുടെ 312-ം വകുപ്പു പ്രകാരം രൂപീകരിച്ച [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്]] (ഐ.എ.എസ്),<ref>[http://www.indicareer.com/competitive-exams/civil-services-ias.html Indian Administrative Services]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഏപ്രിൽ 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ഇന്ത്യൻ പൊലിസ് സർവീസ് (ഐ.പി.എസ്),<ref>[http://www.civilserviceindia.com/Indian-Police-Service.html Indian Police Service]</ref> [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്]] (ഐ.എഫ്.ടി.എസ്) എന്നിവയാണ് '''അഖിലേന്ത്യാ സർവീസുകൾ'''.<ref>[http://ifs.nic.in/ Indian Forest Service (IFS)]</ref> കേന്ദ്ര-സംസ്ഥാന സർക്കാറുകളിൽ ഉന്നത സിവിൽ ഉദ്യോഗങ്ങളിൽ സേവനം അനുഷ്ഠിക്കുന്നത് ഈ സർവീസുകളിലെ അംഗങ്ങളാണ്. ==യൂണിയൻ പബ്ളിക് സർവീസ് കമ്മീഷൻ== യൂണിയൻ പബ്ളിക് സർവീസ് കമ്മീഷൻ (UPSC) തിരഞ്ഞെടുക്കുന്ന ഇവരെ നിയമിക്കുന്നത് രാഷ്ട്രപതിയാണ്. വിവിധ സംസ്ഥാന കേഡറു(cadre)കളിലേയ്ക്കാണ് നിയമനം. കേന്ദ്രത്തിന് സ്വന്തമായ ഒരു കേഡറില്ലാത്തതുകൊണ്ട് ഇവരെ ആവശ്യാനുസരണം സംസ്ഥാനങ്ങളിൽനിന്ന് നിശ്ചിതകാലയളവിൽ ഡപ്യൂട്ടേഷനിൽ എടുക്കാറാണ് പതിവ്. (ഇതിനുപുറമേ കേന്ദ്ര ഗവണ്മെന്റിലെ 25-ൽപ്പരം വകുപ്പുകളിലെ ഉയർന്ന ഗ്രൂപ്പ് A,B ഉദ്യോഗങ്ങളിലേക്കുള്ള ഉദ്യോഗാർഥികളെയും യു.പി.എസ്.സി. തന്നെയാണ് തിരഞ്ഞെടുക്കുന്നത്. കേന്ദ്രഗവണ്മെന്റിൽ മാത്രം സേവനം പരിമിതമായ ഈ വിഭാഗത്തെ കേന്ദ്ര സർവീസുകൾ -- Central Services -- എന്ന് വിളിക്കുന്നു.) [[കൗടില്യൻ|കൗടില്യന്റെ]] [[അർത്ഥശാസ്ത്രം|അർത്ഥശാസ്ത്ര]](ക്രി.മു. 4-ം ശതക)ത്തിൽ ഒരു കേന്ദ്രീകൃത ഉദ്യോഗസ്ഥവിഭാഗത്തെക്കുറിച്ച് പ്രതിപാദിക്കുന്നുണ്ടെങ്കിലും ഇന്നത്തെ അഖിലേന്ത്യാ സർവീസുകളുടെ തുടക്കം 1855-ൽ സ്ഥാപിതമായ ഇന്ത്യൻ സിവിൽ സർവീസ് (ഐ.സി.എസ്) ആണെന്നുവേണം കരുതാൻ. ഒരു തുറന്ന മത്സരപരീക്ഷയിലൂടെയായിരുന്നു ഉദ്യോഗാർഥികളെ തിരഞ്ഞെടുത്തിരുന്നത്. എന്നിരുന്നാലും [[ലണ്ടൻ|ലണ്ടനിൽ]] വച്ചുമാത്രം മത്സരപരീക്ഷ നടത്തിയിരുന്നതുകൊണ്ട് ഒരിന്ത്യാക്കാരന് ഐ.സി.എസ് അപ്രാപ്യമായിരുന്നു. 1864-ൽ സത്യേന്ദ്രനാഥ് ടാഗൂർ ആദ്യമായി ഐ.സി.എസ്. പാസ്സായ ഇന്ത്യക്കാരനായി. ഇന്ത്യക്കാർക്ക് കൂടുതൽ അവസരം നല്കുവാനായി 1879-ൽ സ്റ്റാറ്റ്യൂട്ടറി സിവിൽ സർവീസ് എന്ന മറ്റൊരു സർവീസ് കൂടി തുടങ്ങി. ഈ സർവീസിലേയ്ക്ക് ഉദ്യോഗാർഥികളെ ഇന്ത്യയിലെ വിവിധ പ്രവിശ്യകളിലെ സർക്കാരുകൾ നാമനിർദ്ദേശം ചെയ്യുകയായിരുന്നു പതിവ്. എന്നാൽ 1892-ൽ ഈ സർവീസ് നിർത്തലാക്കുകയും ഇതിലെ ഉയർന്ന പദവികൾ ഐ.സി.എസ്സിൽ ലയിപ്പിക്കുകയും ചെയ്തു. താഴെക്കിടയിലുളള പദവികൾ പുതിയതായി ഉണ്ടാക്കിയ പ്രാദേശിക സിവിൽ സർവീസിൽ (Provincial Civil Service) ചേർക്കുകയും ചെയ്തു. അഖിലേന്ത്യാ സർവീസ് എന്ന പ്രയോഗം ആദ്യമായി പ്രത്യക്ഷപ്പെടുന്നത് എം. ഇ. ഗോൺട്ലെറ്റ് (M.E Gauntlett) അധ്യക്ഷനായ കർത്തവ്യ വിഭജന കമ്മിറ്റി (Committee on Division of Functions ,1918)യുടെ റിപ്പോർട്ടിലാണ്. തുടർന്നുണ്ടായ 1919-ലെ ഇന്ത്യാ ആക്റ്റോടെ നിലവിലുണ്ടായിരുന്ന പല സർവീസുകളുടെയും ഘടനയിൽ കാര്യമായ മാറ്റങ്ങളുണ്ടായി. ഇന്ത്യൻ സിവിൽ സർവീസ്, ഇന്ത്യൻ പൊലിസ് സർവീസ്, ഇന്ത്യൻ മെഡിക്കൽ സർവീസ്, ഇന്ത്യൻ എഞ്ചിനിയറിങ് (ജലസേചന വിഭാഗം) സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് എന്നിവ ഒഴികെ മറ്റു കേന്ദ്രീകൃത സർവീസുകൾ (വിദ്യാഭ്യാസം, മൃഗസംരക്ഷണം, കൃഷി മുതലായവ) നിർത്തലാക്കപ്പെട്ടു. കൊളോണിയൽ ഭരണകർത്താക്കളുടെ ഉപകരണമായി പ്രവർത്തിച്ചിരുന്ന അഖിലേന്ത്യാ സർവീസുകളെ സ്വാതന്ത്ര്യാനന്തരഭാരതത്തിന്റെ നിർമ്മാണത്തിൽ പങ്കാളികളാക്കി മാറ്റുകയെന്ന ശ്രമകരമായ ദൗത്യം ഏറ്റെടുത്തത് ഇന്ത്യയുടെ ആഭ്യന്തരമന്ത്രി സർദാർ വല്ലഭായി പട്ടേലായിരുന്നു. ഐ.സി.എസ്സിന്റെ തുടർച്ചയായി ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐ.എ.എസ്), ഇന്ത്യൻ പൊലീസ് സർവീസ് (ഐ.പി.എസ്) എന്നീ രണ്ടു സർവീസുകളാണ് തുടക്കത്തിൽ ഉണ്ടായിരുന്നത്. പിന്നീട് 1960 ജൂല. 1-ന് ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐ.എഫ്.ടി.എസ്) എന്ന മൂന്നാമതൊരു അഖിലേന്ത്യാ സർവീസും നിലവിൽ വന്നു. മെഡിക്കൽ, എഞ്ചിനിയറിങ് എന്നീ വിഭാഗങ്ങൾക്ക് അഖിലേന്ത്യാ സർവീസുകൾ സൃഷ്ടിക്കുവാനുള്ള നിയമനിർമ്മാണം 1963-ൽത്തന്നെ നടത്തിയെങ്കിലും പല സംസ്ഥാനങ്ങളുടെയും ശക്തമായ എതിർപ്പിനെതുടർന്ന് ഈ നീക്കം ഉപേക്ഷിക്കേണ്ടിവന്നു. (ഈ രണ്ടു വിഭാഗങ്ങൾക്കും കേന്ദ്രഗവണ്മെന്റ് വകുപ്പുകൾക്കു മാത്രമായി കേന്ദ്രസർവീസുകൾ നിലവിലുണ്ട്.) 2005 ജനുവരിയിലെ കണക്കനുസരിച്ച് ഐ.എ.എസ്സിൽ 4788-ഉം ഐ.പി.എസ്സിൽ 3666-ഉം ഫോറസ്റ്റ് സർവീസിൽ 2763-ഉം പദവികളാണ് ഇപ്പോൾ നിലവിലുള്ളത്. ==സിവിൽ സർ‌‌വിസ് പരീക്ഷ== തിരഞ്ഞെടുപ്പു പ്രക്രിയ. ഭരണഘടനയുടെ 315-ം വകുപ്പുപ്രകാരം നിയമിക്കപ്പെട്ട യൂണിയൻ പബ്ളിക് സർവീസ് കമ്മീഷൻ (UPSC) വർഷംതോറും നടത്തുന്ന സിവിൽ സർവീസ് പരീക്ഷയിലൂടെയാണ് ഐ.എ.എസ്., ഐ.പി.എസ്. എന്നീ അഖിലേന്ത്യാ സർവീസുകളും മറ്റു കേന്ദ്ര സർവീസുകളുമടക്കം 27 ഓളം വരുന്ന സർവീസുകൾക്ക് അർഹരായവരെ തിരഞ്ഞെടുക്കുന്നത്. (പ്രത്യേക വിദ്യാഭ്യാസ യോഗ്യതകൾ ആവശ്യമുള്ളതുകൊണ്ട് ഫോറസ്റ്റ് സർവീസ് ഉദ്യോഗാർഥികൾക്ക് മാത്രമായി വേറെ ഒരു പരീക്ഷയാണ് യു.പി.എസ്.സി. നടത്താറ്.) പ്രതിവർഷം നാലഞ്ചുലക്ഷത്തോളം വരുന്ന അപേക്ഷകരിൽ നിന്ന് ഒരു പ്രാഥമിക പരീക്ഷയിലൂടെ തിരഞ്ഞെടുക്കുന്നവർക്കു മാത്രമേ അടുത്തപടിയായ എഴുത്തു പരീക്ഷ എഴുതാൻ അർഹതയുള്ളൂ. ഈ പരീക്ഷയിലെ പ്രകടനത്തിന്റെ അടിസ്ഥാനത്തിൽ ഒരു വാചാ പരീക്ഷയിലും പങ്കെടുക്കേണ്ടതുണ്ട്. പ്രാഥമിക പരീക്ഷയൊഴിച്ച് മറ്റു രണ്ടു ഘട്ടങ്ങളിലെ പ്രകടനത്തിന്റെ അടിസ്ഥാനത്തിൽ തയ്യാറാക്കുന്ന പട്ടികയിൽ നിന്ന് ഉദ്യോഗാർഥികളുടെ അഭിരുചി, പട്ടികയിലെ സ്ഥാനം, ഒഴിവുകളുടെ സംഖ്യ എന്നീ ഘടകങ്ങൾ കണക്കിലെടുത്ത് വിവിധ സർവീസുകളിലേയ്ക്കുള്ള ഒഴിവുകൾ നികത്തപ്പെടുന്നു. ലിസ്റ്റിൽ താരതമ്യേന ഉയർന്ന റാങ്കുള്ളവർ [[ഇന്ത്യൻ വിദേശകാര്യ സർവീസ്]] (ഐ.എഫ്.എസ്), ഐ.എ.എസ്, ഐ.പി.എസ് എന്നീ സർവീസുകൾ തിരഞ്ഞെടുക്കുന്നതായാണ് കണ്ടുവരുന്നത്. (ഇവയിൽ ഇന്ത്യൻ വിദേശകാര്യ സർവീസ് ഒരു കേന്ദ്രസർവീസാണ്).<ref>{{Cite web |url=http://www.indiaresults.com/career_guidance/Civil_Services/default.htm |title=UPSC :: Union Public Service Commission |access-date=2010-09-15 |archive-date=2010-07-02 |archive-url=https://web.archive.org/web/20100702004216/http://www.indiaresults.com/career_guidance/Civil_Services/default.htm |url-status=dead }}</ref> ==പരിശീലനം== [[ഉത്തരാഞ്ചൽ]] സംസ്ഥാനത്തിലെ [[മസൂറി]] എന്ന സുഖവാസകേന്ദ്രത്തിൽ സ്ഥിതിചെയ്യുന്ന [[ലാൽ ബഹദൂർ ശാസ്ത്രി ദേശീയ രാജ്യഭരണ അക്കാദമി]] (LBS National Academy of Administration )യാണ് ഐ.എ.എസ് ഉദ്യോഗസ്ഥർക്ക് പരിശീലനം നല്കുന്ന പ്രധാന സ്ഥാപനം.<ref>{{Cite web |url=http://dooneducation.com/blog/lbs_national_academy_of_administration |title=Lal Bahadur Shastri National Academy of Administration |access-date=2010-09-15 |archive-date=2010-11-17 |archive-url=https://web.archive.org/web/20101117172025/http://dooneducation.com/blog/lbs_national_academy_of_administration |url-status=dead }}</ref> സിവിൽ സർവീസ് പരീക്ഷയിലൂടെ തിരഞ്ഞെടുക്കപ്പെടുന്ന എല്ലാ സർവീസുകളിലെ ഉദ്യോഗസ്ഥർക്കും പൊതുവായി ഒരു അടിസ്ഥാന കോഴ്സും (Foundation Course ) ഈ സ്ഥാപനം നടത്തുന്നു. ഈ പൊതു പരിശീലനത്തിനുശേഷം ഐ.എ.എസ്. ഒഴിച്ച് മറ്റു സർവീസുകാർ അവരവരുടെ സർവീസുകളുടെ പ്രത്യേകം അക്കാദമികളിലേക്ക് ഉന്നത പരിശീലനത്തിനായി തിരിക്കുന്നു. ഐ.എ.എസ് പ്രൊബേഷണർമാർ ഇവിടെത്തന്നെ ഉന്നത പരിശീലനത്തിലേർപ്പെടുന്നു. ഐ.പി.എസ്. ഉദ്യോഗസ്ഥരുടെ മുഖ്യ പരിശീലനകേന്ദ്രം ഹൈദരാബാദിലെ സർദാർ വല്ലഭ്ഭായി പട്ടേൽ ദേശീയ പൊലിസ് അക്കാദമി (SVP National Police Academy)യാണ്.<ref>[http://hydzone.blogspot.com/2008/11/svp-national-police-academy-npa.html SVP National Police Academy]</ref> ഫോറസ്റ്റ് സർവീസുകാരുടെ പരിശീലനം ഡെറാഡൂണിലെ (Dehra Dun) ഇന്ദിരാഗാന്ധി ദേശീയ ഫോറസ്റ്റ് അക്കാദമിയിലാണ് നടത്തുന്നത്. സ്ഥാപനങ്ങളിലെ പരിശീലനത്തിനു പുറമേ വിവിധ ജോലികളിൽ പ്രായോഗിക പരീശീലനവും നേടേണ്ടതുണ്ട്. നിയമനം ലഭിക്കുന്ന സംസ്ഥാന കേഡറിലായിരിക്കും പ്രായോഗിക പരിശീലനം. അതോടൊപ്പം അതത് സംസ്ഥാനത്തെ ഭരണഭാഷയും സ്വായത്തമാക്കേണ്ടതുണ്ട്. ==അവലംബം== {{reflist}} ==പുറംകണ്ണികൾ== * [http://persmin.gov.in/EmployeesCorner/Acts_Rules/AISRule/AISManual_Updated_27112007/3.%20The%20All%20India%20Services%20%28Leave%29%20Rules,%201955%28Updated%20up%20to%2015th%20March,%202008%29.pdf The All India Services(Leave) Rules 1955] * [http://www.barandbench.com/brief/2/916/moily-talks-on-all-india-judicial-services-through-a-competitive-exam-nalsa-and-speedy-justice Moily talks on All India Judicial Services through a competitive exam]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }} * [http://indiacode.nic.in/coiweb/fullact1.asp?tfnm=00%20399 312. All-India services] {{സർവ്വവിജ്ഞാനകോശം}} [[വർഗ്ഗം:ഭാരതസർക്കാർ]] h616j4kymlh9nac5en1xddkqog54vhm വട്ടെഴുത്ത് 0 130066 4621533 3931662 2026-05-22T12:28:30Z Symphonicallyu 155269 4621533 wikitext text/x-wiki {{prettyurl|Vatteluttu alphabet}} {{Infobox writing system | name = വട്ടെഴുത്ത് | type = [[അബുഗിഡ]] | time = | languages = * [[തമിഴ്]] * [[മലയാളം]] * [[സംസ്കൃതം]] | sample =[[File:Vatteluttu ariccuvaṭi.png|300px|center]] | imagesize = | caption = <center>ആധുനിക ഫോണ്ടിൽ വട്ടെഴുത്ത് അക്ഷരമാല<ref>{{cite web |date=2023 |title=Vatteluttu |url=https://omniglot.com/writing/vatteluttu.htm |website=Omniglot}}</ref></center> | text_sample = [[File:Jewish copper plates of Cochin - (plate I, side I) (early 11th century AD).jpg|300px|center]] | text_sample_caption = <small><center>കുലശേഖര ഭാസ്കര രവിവർമ്മ ജൂത പ്രമാണിയായിരുന്ന ജോസഫ് റബ്ബാന്‌ അഞ്ചുവണ്ണവും മറ്റ് 72 പദവികളും അനുവദിച്ച് നൽകിയ ചെമ്പ് പട്ടയം</center></small> | fam1 = [[ഈജിപ്ഷ്യൻ ഹൈറോഗ്ലിഫ്|ഈജിപ്ഷ്യൻ]] | fam2 = [[പ്രോട്ടോ-സിനൈറ്റിക് ലിപി|പ്രോട്ടോ-സിനൈറ്റിൿ]] | fam3 = [[ഫിനീഷ്യൻ അക്ഷരമാല|ഫിനീഷ്യൻ]] | fam4 = [[അരമായ അക്ഷരമാല|അരമായ]] | fam5 = [[ബ്രാഹ്മി ലിപി|ബ്രാഹ്മി]] | fam6 = [[തമിഴ് ബ്രാഹ്മി]] | sisters = * [[പല്ലവ ലിപി|പല്ലവ]] | children = * [[കോലെഴുത്ത്]] * [[മലയാണ്മ]] | direction = left-to-right }} {{brahmic}} [[ചിത്രം:Quilon Syrian copper plates (849 CE) plate 1.jpg|thumb|right|[[തരിസാപ്പള്ളി ശാസനങ്ങൾ]], വട്ടെഴുത്തിൽ]] പതിനഞ്ചാം നൂറ്റാണ്ടുവരെ മലയാളഭാഷയിൽ പ്രചാരത്തിലുണ്ടായിരുന്ന ഒരു [[ലിപി]]സമ്പ്രദായമാണ് '''വട്ടെഴുത്ത്'''. [[ബ്രാഹ്മി ലിപി|ബ്രാഹ്മി ലിപിയിൽ]] നിന്നാണ് ഇത് രൂപം കൊണ്ടത്. പാറയോ ചെമ്പുതകിടോ ചൂഴ്‌ന്നെടുത്ത് (ഉളികൊണ്ട് വെട്ടിയെടുത്ത്) എഴുതുന്നു എന്നു സൂചിപ്പിച്ചുകൊണ്ടു `വെട്ടെഴുത്ത്' എന്നും പറയാറുള്ള ലേഖനസമ്പ്രദായം. ദക്ഷിണേന്ത്യൻ [[ബ്രാഹ്മി]]യാണ് ഇതിന്റെ പ്രഭാവം. ഒരു കാലത്ത് വട്ടെഴുത്തിന് തെക്കേ ഇന്ത്യയിലാകമാനം പ്രചാരമുണ്ടായിരുന്നു. തെക്കൻ മലയാണ്മ, തെക്കൻ മലയാളം, നാനംമോനം, മലയാണ്മ, മലയാം തമിഴ്, ചേര-പാണ്ഡ്യ എഴുത്ത്, രായസവടിവ്, ഗജവടിവ് എന്നെല്ലാം ഈ ലിപിക്ക് പേരുണ്ട്. [[തമിഴ്നാട്|തമിഴ്‌നാട്ടിലും]] മലനാട്ടിലും വട്ടെഴുത്തു ശാസനങ്ങൾ ധാരാളമുണ്ട് . പഴയ കൊച്ചി-മലബാർ പ്രദേശത്ത് പ്രചരിച്ചിരുന്ന വട്ടെഴുത്തിന്റെ വകഭേദമാണ് കോലെഴുത്ത്. ലഭ്യമായ ഏറ്റവും പഴയ വട്ടെഴുത്തുരേഖ എട്ടാം ശതകത്തിലെതാണ്.{{ഏത്}} വട്ടെഴുത്തിന് 'നാനംമോനം' എന്നും പേരുണ്ട്. == അക്ഷരങ്ങൾ == [[File:Evolution of Vatteluttu and Tamil scripts.gif|thumb|250px|right|തമിഴ്-വട്ടെഴുത്തുകളുടെ പരിണാമത്തിലെ പിരിവ്]] [[Image:Vatteluttu.jpg|thumb|200px|left|വട്ടെഴുത്തിലെ അക്ഷരങ്ങൾ]] വട്ടെഴുത്തിൽ 12 സ്വരാക്ഷരങ്ങളും (അ, ആ, ഇ, ഈ, ഉ, ഊ, എ, ഏ, ഐ, ഒ, ഓ, ഔ -എന്നിവ) 18 വ്യഞ്ജനാക്ഷരങ്ങളും (ക, ങ, ച, ഞ, ട, ണ, ത, ന, പ, മ, യ, ര, ല, വ, ഴ, ള, റ, ഩ -എന്നിവ<ref name="book1"/>) ചേർന്ന് 30 അക്ഷരങ്ങളാണുള്ളത്. ആംഗലേയ ഭാഷയുടേതിനു തത്തുല്യമായി കൂട്ടിയെഴുതുന്ന രീതിയിലായിരുന്നു ഈ അക്ഷരങ്ങൾ എഴുതിയിരുന്നത്. ഒരേ അക്ഷരം രണ്ടുതവണ തുടർച്ചയായി എഴുതിയാണ് കൂട്ടക്ഷരങ്ങൾ രൂപപ്പെടുത്തുക. കക എന്നെഴുതിയാൽ ക്ക എന്നും തത എന്നെഴുതിയാൽ ത്ത എന്നും വായിക്കണം. കൂടിച്ചേർന്ന അക്ഷരങ്ങൾക്ക് പ്രത്യേക ലിപിയിലില്ലായിരുന്നു. കൂട്ടക്ഷരങ്ങളും ഇരട്ടിപ്പികളും മനോധർമ്മം പോലെ വട്ടെഴുത്തിൽ വായിക്കണമായിരുന്നു.പിൽക്കാലത്തു വട്ടെഴുത്തു ലിപിക്ക് രൂപപരിണാമം വന്നിട്ടുണ്ട്. <ref name="manoramaonline-ക">{{cite news|title=ചാഴൂർ കോവിലക ചെപ്പേട് പുരാവസ്തു വകുപ്പിന്|url=http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=17796035&tabId=9&BV_ID=@@@|accessdate=22 ഒക്ടോബർ 2014|newspaper=മലയാള മനോരമ|date=21 ഒക്ടോബർ 2014|archiveurl=https://web.archive.org/web/20141022090041/http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=17796035&tabId=9&BV_ID=@@@|archivedate=2014-10-22|language=മലയാളം|format=പത്രലേഖനം|url-status=dead}}</ref> ==നാനം മോനം== രാജകീയശാസനങ്ങളുടെ തുടക്കത്തിൽ 'ഹരിഃശ്രീ ഗണപതയേ നമഃ', 'സ്വസ്തി ശ്രീ' തുടങ്ങിയ സംസ്കൃത പദങ്ങൾ മാറ്റി അവയ്ക്കു പകരം 'നമോ നാരായണ' എന്നതായിരുന്നു എല്ലാ വട്ടെഴുത്തു ലിഖിതങ്ങളുടെയും ആരംഭത്തിൽ ഉപയോഗിച്ചു പോന്ന പ്രയോഗം. ആതിലെ ആദ്യാക്ഷരങ്ങളായ 'ന' കാരവും 'മ' കാരവും ചേർത്താണ് വട്ടെഴുത്തിന് 'നാനംമോനം' എന്നു പേരിട്ടത്.<ref>{{cite journal|last=ഡി. ദയാനന്ദൻ|title=മലയാള ലിപി ഉത്ഭവും വികാസവും|journal=ജനപഥം|year=2004|month=November|volume=36|issue=11|pages=4-5|url=http://www.old.kerala.gov.in/jannov04/p04-06.pdf|accessdate=2013 മേയ് 26}}</ref>{{deadlink}} ബുദ്ധമത പ്രാഭവകാലത്ത് കുടിപ്പള്ളിക്കൂടങ്ങളിൽ അക്ഷരമാലയ്ക്കു നാനംമോനം എന്നായിരുന്നു പറഞ്ഞിരുന്നത്. നകാരം, മകാരം എന്ന മലയാളത്തിലെ പ്രയോഗത്തിനുപകരം നാനം, മോനം എന്നരീതിയിലായിരുന്നു അക്ഷങ്ങളെ വ്യവഹരിച്ചിരുന്നത്. നാനം, മോനം, ഇത്തനം, തൂവനം, ചിനം, ഇന്നനം, താനം, ഉമ്മനം എന്നായിരുന്നു അക്ഷരമാല വായിച്ചിരുന്നത്<ref name="book1">{{Cite book | title = കേരള സംസ്കാര ചരിത്ര നിഘണ്ടു | last = എസ്. കെ വസന്തൻ | first = | publisher = കേരള ഭാഷാ ഇൻസ്റ്റിറ്റ്യൂട്ട് | year = 2005 | isbn = 9788176385985 | edition = 2 | volume = 1 | location = തിരുവനന്തപുരം | pages = 46 | type = വിജ്ഞാനകോശം }}</ref>. 'നമൊസ്തു ജിനതെ' എന്ന് ജിനദേവനെ സ്തുതിക്കുന്നതിലെ ആദ്യാക്ഷരങ്ങൾ ചേർന്നതാണിതെന്നും പറയപ്പെടുന്നു<ref>{{Cite book | title = പത്തൊൻപതാം നൂറ്റാണ്ടിലെ കേരളം | last = പി. | first = ഭാസ്കരനുണ്ണി | publisher = | year = | isbn = | location = | pages = 1058 }}</ref> == വട്ടെഴുത്തും യൂണിക്കോഡും == വട്ടെഴുത്തിനെ [[യൂണികോഡ്|യൂണികോഡിലേക്ക്]] എൻ‌കോഡ് ചെയ്യാനുള്ള ശ്രമങ്ങൾ നടന്നു വരുന്നുണ്ട്. ഇതു സാധ്യമായാൽ ലോകമെമ്പാടുമുള്ള ഭാഷാ വിദഗ്ധർക്ക് സ്‌ക്രിപ്റ്റ് നന്നായി പഠിക്കാനും മനസിലാക്കാനും കഴിയും. 2016ൽ ബർക്ക് ലി സർവകലാശാലയിലെ അൻഷുമാൻ പാണ്ഡെ ഒരു പ്രൊപ്പോസൽ [[യൂണികോഡ് കൺസോർഷ്യം|യൂണികോഡ് കൺസോർഷ്യത്തിന്]] സമർപ്പിച്ചിരുന്നെങ്കിലും അംഗീകരിക്കപ്പെട്ടില്ല. <ref>{{Cite web|url=https://haikaravali.com/2020/10/29/76608/|title=മലയാളം എഴുതാൻ ഉപയോഗിച്ചിരുന്ന വട്ടെഴുത്ത് ലിപി വീണ്ടെടുക്കലിന്റെ വഴിയിൽ|access-date=|last=|first=|date=|website=|publisher=haikaravali}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> == പുറം കണ്ണികൾ == {{commons category|Vatteluttu alphabet}} == അവലംബങ്ങൾ == {{reflist|2}} എസ് രാജേന്ദു, ചാഴൂർ ചെപ്പേട്, എൻ.ബി.എസ്. കോട്ടയം, 2015 {{List of writing systems|state = collapse}} [[വർഗ്ഗം:ഭാഷാശാസ്ത്രം]] [[വർഗ്ഗം:മലയാളം]] [[വർഗ്ഗം:ലിപികൾ]] jbhuwinglg8prj9581ms1isp5ldmpf8 ജൂലിയൻ അസാൻജ് 0 136132 4621600 4519128 2026-05-22T18:20:15Z Saintthomas 99014 4621600 wikitext text/x-wiki {{prettyurl|Julian Assange}} {{Infobox person |name=Julian Assange |image=Julian Assange (Norway, March 2010).jpg |image_size=230px<!--needs 230 otherwise photo is narrowed and distorted --> |caption=Assange in 2010 |birth_date={{Birth date and age|1971|7|3|df=yes}}<ref>{{cite web|url=http://www.magnetictimes.com.au/article-3554.html|date=7 August 2010|title=Julian Assange's mother recalls Magnetic|publisher=Magnetic Times|location=Australia|access-date=2010-12-02|archive-date=2010-11-30|archive-url=https://web.archive.org/web/20101130071416/http://www.magnetictimes.com.au/article-3554.html|url-status=dead}}</ref><ref>{{cite web|url=http://www.newyorker.com/reporting/2010/06/07/100607fa_fact_khatchadourian|date=7 June 2010|title=No Secrets|first=Raffi|last=Khatchadourian|publisher=The New Yorker}}</ref><ref>{{cite web|url=http://www.interpol.int/public/data/wanted/notices/data/2010/86/2010_52486.asp|date=30 November 2010|title=ASSANGE, JULIAN PAUL|access-date=2010-12-02|archive-date=2010-12-08|archive-url=https://web.archive.org/web/20101208043102/http://www.interpol.int/public/Data/Wanted/Notices/Data/2010/86/2010_52486.asp|url-status=dead}}</ref> |birth_place=[[Townsville]], [[Queensland]], Australia |occupation=[[Editor-in-chief]] and [[spokesperson]] for [[WikiLeaks]] |children=Daniel Assange<ref>[http://www.crikey.com.au/2010/09/17/daniel-assange-i-never-thought-wikileaks-would-succeed/ Daniel Assange: I never thought WikiLeaks would succeed], Nick Johns-Wickberg, 17 September 2010, [[Crikey]]</ref> |awards = [[Index on Censorship#Freedom of Expression Awards|Economist Index of Censorship Award]] (2008)<br /> [[Amnesty International UK Media Awards|Amnesty International UK Media Award]] (2009)<br />[[Sam Adams Award]] (2010) | death_date = <!-- {{Death date and age|df=yes|YYYY|MM|DD|YYYY|MM|DD}} (death date then birth date) --> | death_place = | nationality = Australian | other_names = | known_for = }} [[ആസ്ത്രേലിയ|ആസ്ത്രേലിയൻ]] പ്രസാധകനും [[ഇന്റർനെറ്റ്]] ആക്റ്റിവിസ്റ്റുമാണ് '''ജൂലിയൻ പോൾ അസാൻജ്''' ([{{IPAc-en|ə|ˈ|s|ɑː|n|dʒ}}]) ({{respell|ə|SAHNJ|'}})<ref name="വിക്കിലീക്സ് സ്ഥാപകൻ ചരിത്രത്തിലെ ഏറ്റവും വലിയ രഹസ്യചോർച്ചകളിൽ">{{cite news |url= http://www.time.com/time/video/player/0,32068,275343738001_2006959,00.html |title= വിക്കിലീക്സ് സ്ഥാപകൻ ചരിത്രത്തിലെ ഏറ്റവും വലിയ രഹസ്യചോർച്ചകളിൽ |work= Time Video |date= No date |location= ന്യൂ യോർക്ക് |accessdate= 12 July 2011 |archive-date= 2013-08-25 |archive-url= https://web.archive.org/web/20130825145239/http://www.time.com/time/video/player/0,32068,275343738001_2006959,00.html |url-status= dead }}</ref><ref name="ജൂലിയൻ അസാൻജിന്റെ നാളത്തെ ലോകം: ഔദ്യോഗിക ട്രെയിലർ (വീഡിയോ)">{{cite web |url= http://www.youtube.com/watch?v=TMIDuLA57Kg |title=ജൂലിയൻ അസാൻജിന്റെ നാളത്തെ ലോകം: ഔദ്യോഗിക ട്രെയിലർ (വീഡിയോ) |publisher=റഷ്യ ടുഡേ |date=13 April 2012 |accessdate=25 സെപ്തംബർ 2012}}</ref>.ഒരു [[കമ്പ്യൂട്ടർ പ്രോഗ്രാമർ]] കൂടിയായ അസാൻജ് [[വിക്കിലീക്‌സ്]] എന്ന വെബ്സൈറ്റിന്റെ പത്രാധിപരുമാണ്. 2006 ലാണ് അസാൻജ് വിക്കിലീക്സ് സ്ഥാപിക്കുന്നത്. വിക്കിലീക്സിന്റെ പ്രവർത്തനങ്ങൾക്ക് അസാഞ്ജിന് മൂന്ന് മാധ്യമ അവാർഡുകൾ ലഭിച്ചിട്ടുണ്ട്. 2011 ഫെബ്രുവരിയിൽ [[സിഡ്‌നി]] സമാധാനപുരസ്കാരമായ ഗോൾഡ് മെഡൽ ഇദ്ദേഹത്തിന് നൽകി<ref>http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=8743797&tabId=11&contentType=EDITORIAL&BV_ID=@@@{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. == വിക്കിലീക്സ് == [[അഫ്ഗാനിസ്ഥാൻ|അഫ്ഗാനിസ്ഥാനിലും]] [[ഇറാഖ്|ഇറാഖിലും]] [[അമേരിക്ക]] നടത്തിയ രഹസ്യപ്രവർത്തനങ്ങളുടെ രേഖകൾ ചോർത്തി പുറത്തുവിട്ടതോടെയാണ് അസാൻജ് ലോകശ്രദ്ധ നേടുന്നത്. നിയമവിരുദ്ധവും മനുഷ്യത്വരഹിതവുമായ പല പ്രവർത്തനങ്ങളും ഇപ്രകാരം പുറത്തു വന്നു. 2010 ന്റെ അവസാനം 3 ലക്ഷത്തിൽ അധികം പേജുകൾ വരുന്ന രേഖകളുടെ പുറത്തുവിടലോടെ [[അമേരിക്ക| അമേരിക്കയുടെ]] കണ്ണിലെ കരടായി അസാൻജ് മാറി. എല്ലാ രാജ്യങ്ങളിലുമുള്ള അമേരിക്കൻ എംബസികൾ വഴി ചാര പ്രവർത്തനം നടന്നിരുന്നു എന്നതും , സഖ്യ രാജ്യങ്ങളുടെ തലവന്മാരെപ്പറ്റി തരം താണ രീതിയിൽ അമേരിക്കൻ നേതാക്കൾ പരാമർശങ്ങൾ നടത്തി എന്നുമുള്ള വെളിപ്പെടുത്തലുകൾ അമേരിക്കൻ ഭരണകൂടത്തെ അന്താരാഷ്ട്ര തലത്തിൽ പ്രതിരോധത്തിലാക്കി. അമേരിക്കയ്ക്കു പുറമേ മറ്റു രാജ്യങ്ങളിലെ ഭരണത്തലവന്മാരുടെയും, നേതാക്കളുടെയും പരാമർശങ്ങൾ പുറത്തു വരുകയുണ്ടായി. [[കേബിൾഗേറ്റ് വിവാദം]] എന്നാണിത് അറിയപ്പെടുന്നത്. ഇതോടെ അസാഞ്ജിനെ ''ശത്രു'' എന്ന് ഔദ്യോഗികമായി പ്രഖ്യാപിക്കുവാനും അദ്ദേഹത്തെ പിടികൂടുവാനും അമേരിക്ക ശ്രമങ്ങളാരംഭിച്ചു. അദ്ദേഹത്തെ സഹായിച്ചതായി കരുതുന്ന അമേരിക്കൻ സൈനിക ഉദ്യോഗസ്ഥർക്കെതിരേ "ശത്രുവിന് വിവരം നൽകൽ" എന്ന ഗുരുതരമായ കുറ്റം ചുമത്താനും അമേരിക്ക തീരുമാനിച്ചു.<ref name="അസാൻജിനേയും വിക്കിലീക്സിനേയും അമേരിക്കൻ ഔദ്യോഗിക രേഖകൾ ''ശത്രു'' എന്ന് പരാമർശിക്കുന്നു ">{{cite news |url= http://www.smh.com.au/opinion/political-news/us-calls-assange-enemy-of-state-20120927-26m7s.html |title= അമേരിക്ക അസാൻജിനെ 'രാജ്യശത്രു' എന്ന് വിളിക്കുന്നു |date=27 സെപ്തംബർ 2012 |work=സിഡ്നി മോണിങ്ങ് ഹെറാൾഡ് |author= ഡോർലിങ്ങ്, ഫിലിപ് |location=സിഡ്നി |accessdate=13 ജനുവരി 2013 }}; ഈ വാർത്ത ഉൾപ്പെടുത്തിയിരിക്കുന്നത് : [http://worldnews.nbcnews.com/_news/2012/09/26/14115231-us-documents-reportedly-refer-to-assange-wikileaks-as-enemy?lite NBC News], 26 സെപ്തംബർ 2012</ref>. മുൻ അമേരിക്കൻ സൈനികനായ [[ബ്രാഡ്‌ലി മാനിങ്ങ്]] അസാൻജിന് രഹസ്യങ്ങൾ ചോർത്തിക്കൊടുത്തു എന്ന കുറ്റത്തിന്മേൽ ഇപ്പോൾ വിചാരണ നേരിടുകയാണ്. [[കേബിൾഗേറ്റ് വിവാദം|കോൾഗേറ്റ് വിവാദം]] ലോകത്തുണ്ടാക്കിയത് സമ്മിശ്ര പ്രതികരണമായിരുന്നു. അദ്ദേഹത്തിനെ വീര നായകനായി കാണുകയും, പ്രശംസിക്കുകയും ചെയ്യുന്ന ഒട്ടനവധി പ്രസ്ഥാനങ്ങളും വ്യക്തികളും മുന്നോട്ടു വന്നപ്പോഴും, പല ഭരണകൂടങ്ങളും, വൻ കിട കോർപ്പറേറ്റ് സ്ഥാപനങ്ങളും അദ്ദേഹത്തിന്റേയും വിക്കിലീക്സിന്റേയും ശ്രമങ്ങൾക്ക് തടയിടാൻ ശ്രമിക്കുന്നുണ്ടായിരുന്നു. [[അമേരിക്ക]], [[ആസ്ട്രേലിയ]], [[ചൈന]] തുടങ്ങി ഒട്ടനവധി രാജ്യങ്ങൾ [[വിക്കിലീക്സ്]] നിരോധിക്കുകയോ, അതിന് നിയന്ത്രണങ്ങൾ ഏർപ്പെടുത്തുകയോ ചെയ്തു. [[ഫേസ്ബുക്ക്]], ഓൺലൈൻ സാമ്പത്തിക സ്ഥാപനങ്ങളായ [[വിസ]], [[മാസ്റ്റർകാർഡ്]], [[ആമസോൺ]], [[ആപ്പിൾ ഐ എൻ സി]] തുടങ്ങിയവ വിക്കിലീക്സിനെതിരെ സേവന നിരോധനങ്ങൾ നടപ്പിലാക്കി. ഇത് വിപുലമായ പ്രതിഷേധങ്ങൾക്കും വിക്കിലീക്സിനോട് അനുഭാവം പ്രകടിപ്പിക്കുന്ന [[ഹാക്കർ]] ഗ്രൂപ്പുകളുടെ പ്രതികാര നടപടികൾക്കും കാരണമായി. [[പ്രമാണം:Julian Assange in 2008.jpg|ലഘുചിത്രം]] അസാൻജിന്റെ കൂടുതൽ വെളിപ്പെടുത്തലുകളും അദ്ദേഹത്തിനു ലഭിച്ചിരുന്ന മാധ്യമശ്രദ്ധയും ഏറ്റവും ഉയർന്നു നിന്നപ്പോൾ, [[സ്വീഡൻ| സ്വീഡനിൽ]], അദ്ദേഹത്തിനെതിരേ രണ്ട് ലൈംഗികാരോപണങ്ങൾ ഉയരുകയും [[സ്വീഡൻ| സ്വീഡിഷ്]] ഗവൺമെന്റ് അദ്ദേഹത്തെ പിടികൂടാനുള്ള ശ്രമം തുടങ്ങുകയും ചെയ്തു. ഇത് [[അമേരിക്ക| അമേരിക്കയുടെ]] സമ്മർദ്ദത്തിനു വഴങ്ങി കെട്ടിച്ചമച്ച കേസാണെന്ന് വ്യാപകമായ വിമർശനം ഉയരുകയുണ്ടായി. തന്നെ പിടികൂടി [[അമേരിക്ക| അമേരിക്കയ്ക്കു]] കൈമാറാനുള്ള നടപടികളാണ് നടക്കുന്നതെന്ന് അസാൻജും ആരോപിച്ചു. 2010 നവംബർ-30ന് അസാഞ്ജിനെതിരെ ലൈംഗികാതിക്രമങ്ങളുമായിബന്ധപ്പെട്ട കേസിൽ ഇന്റെർപോളിന്റെ റെഡ് നോട്ടീസ് പുറപ്പെടുവിച്ചു. അറസ്റ്റ് ഭീഷണി മൂലം പല രാജ്യങ്ങളിലായി മാറി മാറി താമസിച്ച അസാൻജ് ഇടയ്ക്ക് പൊതുവേദികളിൽ പ്രത്യക്ഷപ്പെടുകയും മാധ്യമസ്വാതന്ത്ര്യത്തെക്കുറിച്ചും സെൻസർഷിപ്പിനെക്കുറിച്ചും അന്വേഷണാത്മക മാധ്യമപ്രവർത്തനത്തെക്കുറിച്ചും അഭിപ്രായങ്ങൾ പങ്കു വെയ്ക്കുകയും ചെയ്തു. കുരുക്ക് മുറുകിയതിനെത്തുടർന്ന് ബ്രിട്ടനിൽ കോടതിയിൽ കീഴടങ്ങിയ അസാഞ്ജിനെ തടവിലാക്കി. 2024 ജൂൺ 25-ന് അദ്ദേഹം ജയിൽ മോചിതനായി. അസാഞ്ജിന് ലോകമെമ്പാടു നിന്നും പിന്തുണ [[ട്വിറ്റർ]], [[ഫെയ്സ്ബുക്ക്]] തുടങ്ങിയ സാമൂഹ്യ ശൃംഖലാ വെബ്സൈറ്റുകൾ വഴി ലഭിക്കുന്നുണ്ടായിരുന്നു. ബ്രിട്ടീഷ് കോടതി ഏർപ്പെടുത്തിയ ജാമ്യത്തുക കണ്ടെത്തുവാൻ ഈ പിന്തുണ സഹായകരമായി. അതിനെത്തുടർന്ന് 2010 ഡിസംബർ17 ന് അസാഞ്ജിനു ജാമ്യം ലഭിച്ചു. നാടകീയമായി ലണ്ടനിലെ ഇക്വഡോർ എംബസ്സിയിൽ അഭയം തേടിയ അസാൻജിന്, ഇക്വഡോർ ഭരണകൂടത്തിന്റെ പിന്തുണ ലഭിച്ചു<ref>{{cite news|title = ലോകക്കാഴ്ച|url = http://malayalamvaarika.com/2012/august/31/COLUMN2.pdf|publisher = [[മലയാളം വാരിക]]|date = 2012 ആഗസ്റ്റ് 31|accessdate = 2013 മാർച്ച് 02|language = മലയാളം|archive-date = 2016-03-06|archive-url = https://web.archive.org/web/20160306051301/http://malayalamvaarika.com/2012/august/31/COLUMN2.pdf|url-status = dead}}</ref>. ഇത് ബ്രിട്ടനും ഇക്വഡോറും തമ്മിലുള്ള ബന്ധങ്ങളിൽ ചെറിയ ഉലച്ചിലുണ്ടാക്കിയെങ്കിലും, ഇക്വഡോർ എംബസ്സിയുടെ പരമാധികാരത്തിൽ കൈകടത്തി അസാൻജിനെ അറസ്റ്റ് ചെയ്യുവൻ ബ്രിട്ടൻ തുനിഞ്ഞില്ല. ഇക്വഡോർ ഭരണകൂടം അദ്ദേഹത്തിന് രാഷ്ട്രീയ അഭയം നൽകിയതോടെ ഏഴു വർഷത്തോളം അദ്ദേഹം എംബസി കെട്ടിടത്തിനുള്ളിൽ കഴിഞ്ഞു <ref name="ഒരു വർഷമായി അസാൻജ് ഇക്വഡോർ എംബസ്സിയിൽ ">{{cite news |url= http://www.thehindu.com/news/international/world/a-year-on-assange-stays-put-in-ecuadorean-embassy/article4828894.ece|title= ഒരു വർഷമായി അസാൻജ് ഇക്വഡോർ എംബസ്സിയിൽ |publisher= ഹിന്ദു ദിനപത്രം |date=19 ജൂൺ 2013 }}</ref> == അറസ്റ്റും ബെൽമാർഷ് ജയിൽവാസവും == ഇക്വഡോറിലെ ഭരണമാറ്റത്തെ തുടർന്ന് 2019 ഏപ്രിൽ 11-ന് അസാൻജിന് നൽകിയിരുന്ന രാഷ്ട്രീയ അഭയം ആ രാജ്യം റദ്ദാക്കി. ഇതിനെത്തുടർന്ന് ലണ്ടൻ മെട്രോപൊളിറ്റൻ പോലീസ് എംബസിയിൽ പ്രവേശിച്ച് അദ്ദേഹത്തെ അറസ്റ്റ് ചെയ്തു.<ref>{{cite web |title=Julian Assange arrested at Ecuadorian embassy in London |url=https://www.theguardian.com/media/2019/apr/11/julian-assange-arrested-at-ecuadorian-embassy-london |website=The Guardian |access-date=2026-05-21}}</ref> ജാമ്യവ്യവസ്ഥകൾ ലംഘിച്ചതിനാണ് യുകെ പോലീസ് അദ്ദേഹത്തെ തടവിലാക്കിയതെങ്കിലും, അമേരിക്കൻ രഹസ്യങ്ങൾ ചോർത്തിയതുമായി ബന്ധപ്പെട്ട് നാടുകടത്തണമെന്ന യു.എസിന്റെ ആവശ്യപ്രകാരം അദ്ദേഹത്തെ അതീവ സുരക്ഷയുള്ള '''ബെൽമാർഷ് ജയിലിലേക്ക്''' (Belmarsh Prison) മാറ്റി. അഞ്ച് വർഷത്തോളം അദ്ദേഹം ഈ ജയിലിൽ വിചാരണത്തടവുകാരനായി കഴിഞ്ഞു. ഇതിനിടയിൽ 2019 നവംബറിൽ സ്വീഡൻ അസാഞ്ജിനെതിരെയുള്ള ലൈംഗികാരോപണക്കേസുകൾ പൂർണ്ണമായി റദ്ദാക്കിയിരുന്നു.<ref>{{cite web |title=Sweden drops Julian Assange rape investigation |url=https://www.bbc.com/news/world-europe-50473792 |website=BBC News |access-date=2026-05-21}}</ref> == മോചനം == വർഷങ്ങൾ നീണ്ട നിയമപോരാട്ടങ്ങൾക്കൊടുവിൽ 2024 ജൂണിൽ അസാൻജ് അമേരിക്കൻ നീതിന്യായ വകുപ്പുമായി ഒരു കുറ്റസമ്മത കരാറിൽ (Plea Deal) ഏർപ്പെട്ടു. യു.എസിന്റെ ചാരവൃത്തി നിയമപ്രകാരം ഒരു കുറ്റം സമ്മതിക്കാൻ അദ്ദേഹം തയ്യാറായി. പകരം യു.എസ് അദ്ദേഹത്തിനെതിരെയുള്ള മറ്റ് കടുത്ത കുറ്റപത്രങ്ങൾ ഒഴിവാക്കി. 2024 ജൂൺ 24-ന് ലണ്ടനിലെ ജയിലിൽ നിന്നും മോചിതനായ അസാൻജ്, യു.എസ് ഫെഡറൽ കോടതിക്ക് മുൻപാകെ ഹാജരാകാൻ പസഫിക് സമുദ്രത്തിലെ സൈപ്പാൻ ദ്വീപിലേക്ക് തിരിച്ചു. യുകെ ജയിലിൽ അദ്ദേഹം അനുഭവിച്ച 5 വർഷത്തെ തടവ് ശിക്ഷ കണക്കിലെടുത്ത് യു.എസ് കോടതി അദ്ദേഹത്തെ പൂർണ്ണ സ്വതന്ത്രനായി പ്രഖ്യാപിച്ചു. 2024 ജൂൺ 26-ന് അദ്ദേഹം തന്റെ ജന്മനാടായ ആസ്ട്രേലിയയിൽ തിരിച്ചെത്തി.<ref>{{cite web |title=Julian Assange lands in Australia a free man |url=https://www.bbc.com/news/articles/cmm227181p2o |website=BBC News |access-date=2026-05-21}}</ref> == അവലംബം == <references/> {{Bio-stub}} [[വർഗ്ഗം:1971-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ആസ്ട്രേലിയൻ കമ്പ്യൂട്ടർ പ്രോഗ്രാമർമാർ]] [[വർഗ്ഗം:വിക്കിലീക്സ്]] [[വർഗ്ഗം:ഇന്റർനെറ്റ് ആക്റ്റിവിസ്റ്റുകൾ]] [[വർഗ്ഗം:ജൂലൈ 3-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:പൊതുസഞ്ചയ രേഖകൾക്കായി പ്രവർത്തിക്കുന്നവർ]] tog6ll97nfki4f1jmden3r23klvsvgi രബീന്ദ്ര സംഗീത് 0 146829 4621599 4583125 2026-05-22T17:57:44Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621599 wikitext text/x-wiki {{prettyurl|Rabindra Sangeet}} {{Infobox music genre | name = Rabindra Sangeet | native_name = রবীন্দ্রসঙ্গীত | etymology = Songs and music composed by [[Rabindranath Tagore]] | color = white | bgcolor = #002147 | image = File:Valmiki Pratibha Indira Devi & Rabindranath Tagore.jpg | alt = | caption = [[Rabindranath Tagore]] (right) and [[Indira Devi Chaudhurani]] (left) in [[Valmiki-Pratibha]] opera | stylistic_origins = [[Hindustani classical music]], [[Western classical music|Western music]], [[Bengali folk song]], [[Kirtan]], [[Shyama Sangeet]], | cultural_origins = 1875 - 1941, [[British India]] | instruments = [[Esraj]], [[Flute]], [[Tanpura]], [[Ektara]], [[Dotara]], [[Sitar]], [[Khol]], [[Tabla]] [[Piano]], [[Pump organ]] | derivatives = | subgenres = | subgenrelist = | fusiongenres = | regional_scenes = [[India]] ([[West Bengal]] and [[Tripura]]) and [[Bangladesh]] | local_scenes = [[Shantiniketan]], [[Kolkata]], [[Dhaka]] | other_topics = | footnotes = | current_year = }} {{Culture of Bengal}} മഹാകവി [[രബീന്ദ്രനാഥ ടാഗോർ]] ആവിഷ്കരിച്ച സംഗീതപദ്ധതിയാണ് '''രബീന്ദ്ര സംഗീത്'''. സ്വന്തം ഗീതങ്ങളും [[കവിത|കവിതകളും]] സ്വന്തം ഭാവനയ്ക്ക് ഒത്തവണ്ണം ആലപിക്കുന്നതിനു വേണ്ടി അദ്ദേഹം രൂപപ്പെടുത്തിയ ശൈലിയാണിത്. ഉത്തരേന്ത്യൻ സംഗീതത്തിലെ [[രാഗം|രാഗങ്ങളെ]] മുഖ്യമായി അവലംബിച്ചുകൊണ്ട് അവയുടെ ശാസ്ത്രീയാലാപത്തിലെ കർക്കശമായ ചിട്ടകളെ ഉടച്ചുവാർത്ത് താരതമ്യേന സ്വതന്ത്രമായ ഒരു ആലാപനരീതി ആവിഷ്കരിക്കുകയാണ് അദ്ദേഹം ചെയ്തത്. [[സംഗീതം]] ശാസ്ത്രീയമായി അഭ്യസിച്ചില്ലെങ്കിലും ജീവിതകാലം മുഴുവൻ സംഗീതജ്ഞരുടെ നടുവിൽ കഴിച്ചുകൂട്ടിയ അദ്ദേഹം തന്റെ വാസനാബലത്തെയും സൗന്ദര്യബോധത്തെയും ആശ്രയിച്ചുകൊണ്ട് നടത്തിയ ഈ സംഗീതസൃഷ്ടി വിപുലമായ ജനപ്രീതി ആർജിച്ചു. ഭാവാത്മകതയാണ് ഇതിന്റെ മുഖ്യ സവിശേഷത. ശാസ്ത്രീയമായ [[ഹിന്ദുസ്ഥാനി സംഗീതം|ഹിന്ദുസ്ഥാനി]] രാഗങ്ങൾക്കു പുറമെ ഉത്തരേന്ത്യയിലെ പലതരം നാടോടിസംഗീതശൈലികളുടെ ഈണവും പ്രസിദ്ധങ്ങളായ [[കർണാടകസംഗീതം|കർണാടകസംഗീത]] രാഗങ്ങളുടെയും കൃതികളുടെയും ഘടനയും ഒരളവിന് ചില പാശ്ചാത്യസംഗീതസങ്കേതങ്ങളും രബീന്ദ്രസംഗീതത്തിൽ അലിഞ്ഞുചേർന്നിട്ടുണ്ട് . അദ്ദേഹത്തിന്റെ രചനയായ [[ജനഗണമന|ദേശീയഗാനത്തിന്റെ]] സ്വഭാവം ഈ സംഗീതശൈലിയുടെ സവിശേഷതകൾ വെളിപ്പെടുത്തുന്നു. അസംഖ്യം പ്രണയഗീതങ്ങളും ഋതുക്കളെ ചിത്രീകരിക്കുന്ന ഗീതങ്ങളും ഭക്തിഗീതങ്ങളും ദേശീയഗീതങ്ങളും ബാലഗീതങ്ങളും ഈ ശൈലിയിൽ ടാഗോർ ആവിഷ്കരിച്ചിട്ടുണ്ട്. ==അവലംബം== <references/> * [http://www.themusicmagazine.com/tagoregayatri.html Tagore rocks?] {{Webarchive|url=https://web.archive.org/web/20110717020553/http://www.themusicmagazine.com/tagoregayatri.html |date=2011-07-17 }}, ''The Music Magazine'' * {{cite book |title=Rabindrasangeet vichitra|last=Ghosh |first=Śhantideba |authorlink= |coauthors= |year=2006 |publisher=Concept Publishing Company |isbn=8180693058 |page= |url=http://books.google.co.in/books?id=y3prNyZ7SKwC&printsec=frontcover&dq=Rabindra+Sangeet&cd=1#v=onepage&q=Rabindra%20Sangeet&f=false|ref= Gh}} * {{cite book |title=Rabindra-sangit|last=Bandhopadhyaya |first=Beerendra |authorlink= |coauthors= |year=1981|publisher=Granthalaya|isbn= |page= |url= |ref= }} ==പുറത്തേക്കുള്ള കണ്ണികൾ== *[http://www.rabindrasangeet.org http://www.rabindrasangeet.org] {{Webarchive|url=https://web.archive.org/web/20190416165332/http://rabindrasangeet.org/ |date=2019-04-16 }} is a free and public repository of information on Tagore songs. It has the lyrics and scores of all Tagore songs. The lyrics are text searchable. * [http://www.rabindrasangeet.com http://www.rabindrasangeet.com] {{Webarchive|url=https://web.archive.org/web/20190423003700/http://www.rabindrasangeet.com/ |date=2019-04-23 }} More on Rabindra Sangeet {{Rabindranath Tagore|state=expanded}} [[വർഗ്ഗം:സംഗീതം]] [[വർഗ്ഗം:രബീന്ദ്രനാഥ് ടാഗോർ]] 6wfqgc6gakvc1pbsy5kpc2svebmr3op തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ 0 149850 4621584 4621395 2026-05-22T15:53:51Z Kiran Gopi 10521 /* അവലംബം */ 4621584 wikitext text/x-wiki {{prettyurl|Thiruvanchoor Radhakrishnan}} {{Infobox officeholder | name = തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ | image = Thiruvanchoor Radhakrishnan.jpg | caption = |office = കേരളത്തിലെ റവന്യൂ വകുപ്പ് മന്ത്രി |constituency = |term_start = [[മേയ് 23]] [[2011]] |term_end = [[ഏപ്രിൽ 11]] [[2012]] |predecessor =[[കെ.പി. രാജേന്ദ്രൻ]] |successor =[[അടൂർ പ്രകാശ്]] |office1 = കേരളത്തിലെ ആഭ്യന്തര വകുപ്പ് മന്ത്രി |constituency = |term_start1 = [[ഏപ്രിൽ 12]] [[2012]] |term_end1 = [[ഡിസംബർ 31]] [[2013]] |predecessor1 =[[ഉമ്മൻ ചാണ്ടി]] |successor1 =[[രമേശ് ചെന്നിത്തല]] |office2 = കേരളത്തിലെ വനം, ഗതാഗതം, കായിക വകുപ്പ് മന്ത്രി |constituency = |term_start2 = [[ജനുവരി 1]] [[2014]] |term_end2 = [[മേയ് 20]] [[2016]] |predecessor2 =[[കെ.ബി. ഗണേഷ് കുമാർ]] |successor2 =[[കെ. രാജു]], [[എ.കെ. ശശീന്ദ്രൻ]], [[ഇ.പി. ജയരാജൻ]] |office3 = കേരളത്തിലെ ജലവിഭവം, വനം, പാർലെമന്ററി വകുപ്പ് മന്ത്രി |constituency = |term_start3 = [[സെപ്റ്റംബർ 9]] [[2004]] |term_end3 = [[മേയ് 12]] [[2006]] |predecessor3 =[[ടി.എം. ജേക്കബ്]], [[കെ.പി. വിശ്വനാഥൻ]], [[എം.എം. ഹസൻ]] |successor3 = [[എൻ.കെ. പ്രേമചന്ദ്രൻ]] [[എ. സുജനപാൽ]], [[എം. വിജയകുമാർ]] |office4 = കേരളനിയമസഭയിലെ അംഗം |constituency4 =[[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] |term_start4 = [[മേയ് 14]] [[2011]] |term_end4 = |predecessor4 =[[വി.എൻ. വാസവൻ]] |successor4 = |constituency5 =[[അടൂർ നിയമസഭാമണ്ഡലം|അടൂർ]] |term_start5 = [[ജൂൺ 21]] [[1991]] |term_end5 = [[മേയ് 14]] [[2011]] |predecessor5 =[[ആർ. ഉണ്ണികൃഷ്ണൻ പിള്ള]] |successor5 = [[ചിറ്റയം ഗോപകുമാർ]] | salary = | birth_date ={{birth date and age|1949|12|26|df=y}} | birth_place =[[കോട്ടയം]] | residence =[[കോടിമത]] | death_date = | death_place = | party = [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്സ്]] | religion = [[ഹിന്ദുമതം]] |father =കെ.പി. പരമേശ്വരൻ പിള്ള |mother=ഗൗരിക്കുട്ടി അമ്മ | spouse =ലളിതാംബിക രാധാകൃഷ്ണൻ | children =ഒരു മകൾ, രണ്ട് മകൻ | website = | footnotes = | date = ഓഗസ്റ്റ് 27 | year = 2020 | source = http://niyamasabha.org/codes/14kla/Members-Eng/84%20Thiruvanchoor%20Radhakrishnan.pdf നിയമസഭ }} കോട്ടയത്ത് നിന്നുള്ള എം.എൽ.എയും മുൻ സംസ്ഥാന ആഭ്യന്തര വകുപ്പ് മന്ത്രിയുമായിരുന്നു '''തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ''' (ജനനം: 1949 ഡിസംബർ 26). == ജീവിതരേഖ == കെ.പി. പരമേശ്വരൻ പിള്ളയുടേയും എം.ജി. ഗൗരിക്കുട്ടി അമ്മയുടേയും മകനായി 1949 ഡിസംബർ 26-ൽ [[കോട്ടയം ജില്ല]]യിലെ [[തിരുവഞ്ചൂർ|തിരുവഞ്ചൂരിൽ]] ജനിച്ച രാധാകൃഷ്ണൻ [[ബാലജനസഖ്യം|ബാലജന സഖ്യത്തിലൂടെയാണ്]] പൊതുരംഗത്ത് എത്തുന്നത്.<ref name=madhyamam>[http://www.madhyamam.com/news/80246/110522 കുഞ്ഞൂഞ്ഞിന് വലംകൈയാകാൻ, മാധ്യമം, 2011 മേയ് 22]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> കോട്ടയത്തെ എം.ടി സെമിനാരി സ്കൂളിലായിരുന്നു പ്രാഥമിക വിദ്യാഭ്യാസം. തുടർന്ന് [[കോട്ടയം]] ബസേലിയസ് കോളജിൽ നിന്ന് ബിരുദവും, തിരുവനന്തപുരം ഗവണ്മെന്റ് ലോ കോളജിൽ നിന്ന് നിയമ ബിരുദവും നേടിയിട്ടുണ്ട്. [[കോൺഗ്രസ് (ഐ.)|കോൺഗ്രസിന്റെ]] വിദ്യാർത്ഥി വിഭാഗമായ [[കേരള സ്റ്റുഡന്റ്സ് യൂണിയൻ|കെ.എസ്.യു]]-വിലൂടെയാണ് രാഷ്ട്രീയ രംഗത്ത് പ്രവേശിക്കുന്നത്. 1976 മുതൽ കോട്ടയം ബാറിൽ അഭിഭാഷകനായി പരിശീലനം തുടങ്ങിയെങ്കിലും സജീവ രാഷ്ട്രീയ പ്രവർത്തനം തുടർന്നു. == അധികാരങ്ങൾ == * കെ.എസ്.യു കോട്ടയം ജില്ലാ പ്രസിഡന്റ് (1967) * കെ.എസ്.യു സംസ്ഥാന ജനറൽ സെക്രട്ടറി(1969) * [[കേരള സർ‌വകലാശാല|കേരള യൂണിവേഴ്‌സിറ്റി]] യൂണിയൻ ജനറൽ സെക്രട്ടറി(1971) * കേരള യൂണിവേഴ്‌സിറ്റി യൂണിയൻ ചെയർമാൻ(1973) * 1974-77 കാലഘട്ടത്തിൽ കെ.എസ്.യു സംസ്ഥാന പ്രസിഡന്റായിരുന്നു. * 1978 മുതൽ 1982 വരെ [[യൂത്ത് കോൺഗ്രസ്]] സംസ്ഥാന ജനറൽ സെക്രട്ടറി * 1982 മുതൽ 1984 വരെ യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ് * 1984 മുതൽ 2001 വരെ [[കേരള പ്രദേശ് കോൺഗ്രസ് കമ്മിറ്റി|കെ.പി.സി.സി]] ജനറൽ സെക്രട്ടറി * 2004-ൽ ഒന്നാം ഉമ്മൻ ചാണ്ടി മന്ത്രിസഭയിൽ അംഗമായിരുന്ന തിരുവഞ്ചൂർ ജലവിഭവം, വനം, ആരോഗ്യം, പാർലമെന്ററി കാര്യം എന്നീ വകുപ്പുകളുടെ ചുമതലകൾ വഹിച്ചിരുന്നു. * 2011-ൽ രണ്ടാം [[ഉമ്മൻ ചാണ്ടി]] മന്ത്രിസഭയിൽ റവന്യൂ വകുപ്പ് മന്ത്രിയായി നിയോഗിതനായി. * [[പാമോയിൽ കേസ് (കേരളം)|പാമോയിൽ കേസിൽ]] മുഖ്യമന്ത്രി [[ഉമ്മൻ ചാണ്ടി|ഉമ്മൻ ചാണ്ടിക്കെതിരെ]] വിജിലൻസ് അന്വേഷണം വേണമെന്ന കോടതി ഉത്തരവിട്ടതിനെ തുടർന്ന് 2011 ഓഗസ്റ്റ് 9-ന് വിജിലൻസ് വകുപ്പിന്റെ ചുമതല അദ്ദേഹം ഒഴിഞ്ഞപ്പോൾ ഈ വകുപ്പിന്റെ ചുമതല കൂടി തിരുവഞ്ചൂർ രാധാകൃഷ്ണന് കൈമാറപ്പെട്ടു. * 2012 ഏപ്രിൽ 12-ന് നടന്ന കോൺഗ്രസ് മന്ത്രിമാരുടെ വകുപ്പ് മാറ്റത്തെ തുടർന്ന് തിരുവഞ്ചൂർ രാധാകൃഷ്ണന് ആഭ്യന്തര വകുപ്പിന്റെ ചുമതല ലഭിക്കുകയും അദ്ദേഹത്തിന്റെ ചുമതലയിലുണ്ടായിരുന്ന റവന്യൂ വകുപ്പ് [[അടൂർ പ്രകാശ്|അടൂർ പ്രകാശിന്]] നൽകപ്പെടുകയും ചെയ്തു. == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable" |+ തിരഞ്ഞെടുപ്പുകൾ |വർഷം||മണ്ഡലം||വിജയിച്ച സ്ഥാനാർത്ഥി||പാർട്ടിയും മുന്നണിയും||പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി ||പാർട്ടിയും മുന്നണിയും |- |2011||[[കോട്ടയം നിയമസഭാമണ്ഡലം]]||തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ|| [[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] || [[വി.എൻ. വാസവൻ]] || [[സി.പി.ഐ.എം.]] [[എൽ.ഡി.എഫ്.]] |- |2006||[[അടൂർ നിയമസഭാമണ്ഡലം]]||തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ||[[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] ||[[ഡി.കെ. ജോൺ]]||[[കേരള കോൺഗ്രസ് (ജെ.)]], [[എൽ.ഡി.എഫ്.]] |- |2001||[[അടൂർ നിയമസഭാമണ്ഡലം]]||തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ||[[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] ||[[പള്ളിക്കൽ പ്രസന്നകുമാർ]]||[[സി.പി.എം.]], [[എൽ.ഡി.എഫ്.]] |- |1996||[[അടൂർ നിയമസഭാമണ്ഡലം]]||തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ||[[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] ||[[കെ.എൻ. ബാലഗോപാൽ]]||[[സി.പി.എം.]], [[എൽ.ഡി.എഫ്.]] |- |1991||[[അടൂർ നിയമസഭാമണ്ഡലം]]||തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ||[[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] ||[[ആർ. ഉണ്ണികൃഷ്ണൻ പിള്ള]]||[[സി.പി.എം.]], [[എൽ.ഡി.എഫ്.]] |- |} ===കുടുംബം=== ലളിതാംബിക രാധാകൃഷ്ണനാണ് ഭാര്യ . ഡോ. അനുപം, ആതിര, അർജുൻ എന്നിവരാണ് മക്കൾ. ==അവലംബം== <references /> {{Speakers of KLA}} {{Fourteenth KLA}} {{DEFAULTSORT:രാധാകൃഷ്ണൻ}} [[വർഗ്ഗം:1949-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ഡിസംബർ 26-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ഒൻപതാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പത്താം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ റവന്യൂമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആരോഗ്യവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ വനംവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ജലവിഭവവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആഭ്യന്തരമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ പാർലമെന്ററികാര്യ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഗതാഗതവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ]] 3u7tyacznzdb4r8on1as161a0qrg1bb വി.ഡി. സതീശൻ 0 150260 4622107 4620719 2026-05-23T03:49:10Z Asifalinair 206364 /* */ 4622107 wikitext text/x-wiki {{prettyurl|V.D. Satheesan}} {{Infobox_politician | name = വി.ഡി. സതീശൻ | image = File:Vd-Satheesan.jpg | caption = വി.ഡി. സതീശൻ | office = പതിമൂന്നാമത്തെ [[കേരള മുഖ്യമന്ത്രി]] | term = | predecessor = [[പിണറായി വിജയൻ]] | office1 = കേരളത്തിന്റെ ധനകാര്യം, തുറമുഖം, [[ സംസ്ഥാന ദുരന്ത നിവാരണ അതോറിറ്റി|ദുരന്തനിവാരണം]], നിയമ വകുപ്പുകളുടെ മന്ത്രി(അധിക ചുമതല) | term1 = 18 മെയ് 2026 | predecessor1 = * [[കെ.എൻ. ബാലഗോപാൽ]] (ധനകാര്യം) * [[വി.എൻ. വാസവൻ]] (തുറമുഖം) * [[പി. രാജീവ്]] (നിയമം) * [[പിണറായി വിജയൻ]] (ദുരന്ത നിവാരണം) | successor = | office2 = പ്രതിപക്ഷ നേതാവ്, പതിനഞ്ചാം [[കേരള നിയമസഭ]] | term_start2 = [[22 മേയ്]] [[2021]] | term_end2 = [[4]] [[മെയ്]] [[2026]] | predecessor2 = [[രമേശ് ചെന്നിത്തല]] | successor2 = [[പിണറായി വിജയൻ]] | office3 = കേരള [[നിയമസഭാംഗം]] | constituency3 = [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] | term_start3 = [[മേയ് 16]] [[2001]] | term_end3 = | predecessor3 = [[പി. രാജു]] | successor3 = | salary = | birth_date = {{Birth date and age|1964|05|31}} | birth_place = [[നെട്ടൂർ]], [[കൊച്ചി]], [[കേരളം]], [[ഇന്ത്യ]] | residence = [[ദേശം]], [[ആലുവ]], [[എറണാകുളം ജില്ല]] | death_date = | death_place = | party = [[File:Indian National Congress Flag.svg|frameless|25x25px]] [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | religion = [[ഹിന്ദു]] | father = കെ. ദാമോദര മേനോൻ | mother = വി. വിലാസിനി അമ്മ | spouse = ആർ. ലക്ഷ്മി പ്രിയ | children = ഒരു മകൾ | website = https://kerala.gov.in/ | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/111%20V%20D%20Satheesan.pdf നിയമസഭ | data1 = | 1blankname = ഗവർണർ | 1namedata = [[രാജേന്ദ്ര അർലേക്കർ]] | termstart = 18 മെയ് 2026 }} കേരളത്തിലെ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]] പ്രവർത്തകനാണ്''വടശ്ശേരി ദാമോദരൻ മേനോൻ സതീശൻ'' എന്ന '''വി.ഡി.സതീശൻ.(31 മെയ് 1964)'''. [[എറണാകുളം ജില്ല]]യിൽ നിന്നുള്ള കേരളത്തിലെ ആദ്യത്തെ കോൺഗ്രസ് മുഖ്യമന്ത്രിയും 2001 മുതൽ തുടർച്ചയായി [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ മണ്ഡലത്തിൽ]] നിന്നും കേരള നിയമസഭയിൽ അംഗവുമാണ്.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-from-student-leader-to-kerala-chief-minister.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/habits-will-change-when-vd-satheesan-arrives.html</ref><ref>https://www.manoramaonline.com/district-news/ernakulam/2026/05/15/vd-satheesan-political-insight.html</ref> 2026 മെയ് 18 മുതൽ കേരളത്തിന്റെ പതിമൂന്നാമത് മുഖ്യമന്ത്രിയാണ് ഇദ്ദേഹം<ref>https://malayalam.samayam.com/latest-news/kerala-news/vd-satheesan-makes-history-as-13th-chief-minister-of-kerala-5th-congressman/articleshow/131166934.cms</ref> 2021 മുതൽ 2026 വരെ പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവുമായിരുന്നു വി.ഡി. സതീശൻ. സംസ്ഥാന മന്ത്രിസഭകളിൽ അംഗമാകാതെ ആദ്യമായി മുഖ്യമന്ത്രി പദവിയിലെത്തുന്ന ആറാമത്തെ രാഷ്‌ട്രീയ നേതാവാണ് വി.ഡി.സതീശൻ. [[കെ. കരുണാകരൻ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവർക്ക് ശേഷം പ്രതിപക്ഷ നേതാവ് പദവിയിൽ നിന്ന് മുഖ്യമന്ത്രിയാകുന്ന മൂന്നാമത്തെയാളുമാണ്. [[ഇ.എം.എസ്]], [[പട്ടം താണുപിള്ള]], [[എ.കെ. ആന്റണി]], [[ഇ.കെ. നായനാർ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവരാണ് സതീശന് മുൻപ് മന്ത്രിയാകാതെ മുഖ്യമന്ത്രിയായവർ.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-green-mla-commitment-environmental-protection-forest-conservation-gadgil-report-nelliyampathi.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/vd-satheesan-university-election-strategy-1986.html</ref> ==ജീവിതരേഖ== എറണാകുളം ജില്ലയിലെ നെട്ടൂരിൽ (മരട് മുനിസിപ്പാലിറ്റി) വടശ്ശേരി ദാമോദര മേനോന്റെയും വി.വിലാസിനിയമ്മയുടെയും നാലാമത്തെ മകനായി ഇടവ മാസത്തിലെ ചതയം നക്ഷത്രത്തിൽ 1964 മെയ് 31ന് ജനനം. ഉണ്ണികൃഷ്ണൻ, മനോഹരൻ, രാജശേഖരൻ, അജയകുമാർ, ആശ എന്നിവർ സഹോദരങ്ങളാണ്. നെട്ടൂർ എസ്.വി.യു.പി. സ്ക്കൂളിൽ പ്രൈമറി വിദ്യാഭ്യാസത്തിന് ശേഷം പനങ്ങാട് ഹൈസ്ക്കൂളിൽ നിന്ന് പത്താം ക്ലാസ് പാസായ സതീശൻ പ്രീഡിഗ്രിയും ഡിഗ്രിയും തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ നിന്ന് പൂർത്തിയാക്കി. കളമശേരി രാജഗിരി കോളേജിൽ നിന്ന് ഡി.എസ്സ്.എസ്സ് കോഴ്സ് പാസായ ശേഷം തിരുവനന്തപുരം ലോഅക്കാദമിയിൽ നിന്നും എൽ.എൽ.ബിയും ഗവ. ലോ കോളേജിൽ നിന്ന് നിയമത്തിൽ മാസ്റ്റർ ബിരുദവും നേടി. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ പഠിക്കുമ്പോൾ കോൺഗ്രസിന്റെ വിദ്യാർഥി പ്രസ്ഥാനമായ കെ.എസ്.യുവിൽ പ്രവർത്തിച്ചാണ് ഇദ്ദേഹത്തിന്റെ രാഷ്ട്രീയപ്രവേശം. കെ.എസ്.യു വഴി വിദ്യാർത്ഥി രാഷ്‌ട്രീയത്തിൻ്റെ നേതൃ നിരയിലെത്തിയ സതീശൻ പിന്നീട് കളമശേരി രാജഗിരി കോളേജിലെ യൂണിവേഴ്സിറ്റി യൂണിയൻ കൗൺസിലറും എം.ജി സർവകലാശാല യൂണിയൻ ചെയർമാനുമായി. 1986-ൽ എറണാകുളത്ത് വച്ച് നടന്ന എം.ജി സർവകലാശാല യുവജനോത്സവമായ ഉത്സവ് 86 സ്തീശൻ്റെ സംഘാടക മികവിന് തെളിവായിരുന്നു. പത്ത് വർഷം കേരള ഹൈക്കോടതിയിൽ അഭിഭാഷകനായി ജീവിതമാരംഭിച്ച സതീശൻ ഐ.എൻ.ടി.യു.സിയുടെ കീഴിലുള്ള നിരവധി ട്രേഡ് യൂണിയനുകളുടെ ഭാരവാഹിയായിരുന്നു. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിലെ ആർട്സ് ക്ലബ് സെക്രട്ടറിയായിരുന്നു. എം.ജി, കേരള സർവ്വകലാശാലകളിൽ യൂണിയൻ കൗൺസിലറായും പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.niyamasabha.org/codes/members/satheesanvd.pdf</ref> <ref>https://www.business-standard.com/article/politics/congress-mla-vd-satheesan-to-be-the-leader-of-opposition-in-kerala-121052201127_1.html</ref> ==രാഷ്ട്രീയ ജീവിതം== 1986–1987 കാലഘട്ടത്തിൽ സതീശൻ [[മഹാത്മാഗാന്ധി സർവ്വകലാശാല|മഹാത്മാ ഗാന്ധി സർവകലാശാല]] യൂണിയന്റെ ചെയർമാനായിരുന്നു. അദ്ദേഹം [[നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യ|നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യയുടെയും]] (NSUI) എറണാകുളം ഡി.സി.സിയുടേയും സെക്രട്ടറിയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref name="Members - Kerala Legislature">{{Cite web|title=Members - Kerala Legislature|url=http://www.niyamasabha.org/codes/13kla/members/v_d_satheesan.htm|access-date=20 May 2021|website=www.niyamasabha.org}}</ref> 1989-ൽ കെ.എസ്.യു സംസ്ഥാന പ്രസിഡന്റ് പദവി, 1992-ൽ യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ് പദവി, 2011-ലെ ഉമ്മൻ ചാണ്ടി മന്ത്രിസഭയിലെ മന്ത്രിപദം, 2017-ൽ വി.എം.സുധീരൻ രാജി വച്ചപ്പോൾ ഒഴിവ് വന്ന കെ.പി.സി.സി പ്രസിഡന്റ് സ്ഥാനം എന്നീ സ്ഥാനങ്ങളിലേക്ക് ആദ്യമെ സതീശൻ്റെ പേര് വന്നെങ്കിലും പിന്നീട് ആ സ്ഥാനങ്ങൾ സതീശന് നഷ്‌ടപ്പെടുകയായിരുന്നു. വി.ഡി. സതീശന്റെ രാഷ്ട്രീയ അരങ്ങേറ്റം 1996-ലായിരുന്നു. അന്ന് [[കേരള നിയമസഭ]] തിരഞ്ഞെടുപ്പിൽ [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂരിൽ]] നിന്ന് മത്സരിച്ച അദ്ദേഹം [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സി.പി.ഐ]] സ്ഥാനാർഥിയായ [[പി. രാജു]]വിനോട് പരാജയപ്പെട്ടു. അന്നത്തെ കാലത്ത് [[പറവൂർ]] കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ ശക്തികേന്ദ്രമായി കണക്കാക്കപ്പെട്ടിരുന്നു. 1996-ലെ തോൽവിക്ക് ശേഷം അഭിഭാഷക ജോലിയിലേക്ക് തിരിഞ്ഞ സതീശനെ തിരിച്ച് വീണ്ടും രാഷ്ട്രീയത്തിൽ സജീവമാക്കിയ കേരളത്തിലെ മുതിർന്ന കോൺഗ്രസ് നേതാവും മുൻ മന്ത്രിയുമായിരുന്ന ജി.കാർത്തികേയനാണ് സതീശന്റെ രാഷ്ട്രീയ ഗുരു. 2001-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ അദ്ദേഹം ആദ്യമായി ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് ടിക്കറ്റിൽ [[കേരള നിയമസഭ]]യിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. അന്ന് അദ്ദേഹം [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതിയിൽ]] അഭിഭാഷകനായി പ്രവർത്തിക്കുകയായിരുന്നു. പിന്നീട് 2006, 2011, 2016, 2021, 2026 വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും പറവൂരിൽ നിന്ന് വിജയിച്ചു.<ref>{{Cite web|last=Sushanth|title=ASSEMBLY ELECTIONS 1957 - 2016(Kerala)|url=https://data-analytics.github.io/Election_Data/kerala.html|access-date=20 May 2021|website=data-analytics.GitHub.io}}</ref><ref>{{Cite web|title=Kerala Assembly Election Results in 2016|url=https://www.elections.in/kerala/assembly-constituencies/2016-election-results.html|access-date=22 May 2021|website=www.elections.in}}</ref> 2006-ലെ 12-ാം കേരള നിയമസഭയിൽ അദ്ദേഹം [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൻ്റെ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായും]] പ്രവർത്തിച്ചു.<ref>{{Cite news|last=Sudhi|first=K. S.|date=19 March 2021|title=Kerala Assembly Elections {{!}} Congress banks yet again on Satheesan in Paravur|language=en-IN|work=The Hindu|url=https://www.thehindu.com/elections/kerala-assembly/congress-banks-yet-again-on-satheesan-in-paravur/article34103288.ece|access-date=20 May 2021|issn=0971-751X}}</ref> പന്ത്രണ്ടാം കേരള നിയമസഭയിൽ കോൺഗ്രസ് വിപ്പ് സ്ഥാനം വഹിച്ചിരുന്ന ഇദ്ദേഹം അന്യസംസ്ഥാന ലോട്ടറിക്കെതിരായ രാഷ്ട്രീയ സംവാദങ്ങളിലൂടെ കൂടുതൽ മാധ്യമശ്രദ്ധ നേടി.<ref name =madhyamam>{{cite web | url =http://www.madhyamam.com/news/64579/110402 | title =സി.പി.ഐ 'തുരന്തോ'ക്കെതിരെ സതീശൻ | date =ഏപ്രിൽ 2, 2011 | accessdate =ഏപ്രിൽ 11, 2012 | publisher =മാതൃഭൂമി | language = }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2013-ൽ പരിസ്ഥിതിക്കുവേണ്ടിയും, ഗാഡ്ഗിൽ കമ്മറ്റി റിപ്പോർട്ടിനനുകൂലമായും പ്രതികരിക്കുന്ന എംഎൽഎമാരുടെ രാഷ്ട്രീയെതര സംഘത്തിൽ പ്രമുഖനായിരുന്നു.<ref>http://4malayalees.com/index.php?page=newsDetail&id=27830</ref> 2013-ൽ തമിഴ്നാടിൻ്റെ ചുമതലയുള്ള എ.ഐ.സി.സി സെക്രട്ടറിയായും 2014-ൽ കെ.പി.സി.സി വൈസ് പ്രസിഡണ്ടായും നിയമിതനായി.<ref>http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=16143395&tabId=0&contentType=EDITORIAL&BV_ID=@@@{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2016, 2021 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ യു.ഡി.എഫ് പരാജയപ്പെട്ടതോടെ 2016-ലെ പതിനാലാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന രമേശ് ചെന്നിത്തലക്ക് പകരം 2021 മേയ് 22-ന് അഖിലേന്ത്യ കോൺഗ്രസ് വർക്കിംഗ് കമ്മിറ്റി വി.ഡി.സതീശനെ 15-ാം കേരളനിയമസഭയിലെ [[പ്രതിപക്ഷ നേതാവ് (ഇന്ത്യ)|പ്രതിപക്ഷ നേതാവായി]] തിരഞ്ഞെടുത്തു.<ref>{{Cite web|last=തങ്ങൾ|first=ശിഹാബുദ്ദീൻ|title=ഇനി പ്രതിപക്ഷത്തിന്റെ ചാട്ടുളി സതീശൻ; തിരിച്ചുവരവിലേക്കുള്ള ആദ്യചുവട്‌|url=https://www.mathrubhumi.com/news/kerala/vd-satheeshan-leader-of-opposition-in-kerala-1.5685199|access-date=22 May 2021|website=Mathrubhumi|language=ml}}</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ തുടർച്ചയായ തോൽവിയോടെ വെറും 22 സീറ്റിലേക്ക് ഒതുങ്ങി പോയ കോൺഗ്രസ് പാർട്ടിയെ പ്രതിപക്ഷ നേതൃ സ്ഥാനമേറ്റ ശേഷം അഞ്ച് വർഷത്തെ പ്രവർത്തന മികവിൽ 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 63 സീറ്റിലേക്ക് ഉയർത്തിയ സതീശൻ നേതൃത്വം നൽകിയ ഐക്യ ജനാധിപത്യമുന്നണി 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 102 സീറ്റിൽ വൻ വിജയം നേടി പതിനാറാം കേരള നിയമസഭയിൽ ഭരണമുറപ്പിച്ചു.<ref>https://www.madhyamam.com/kerala/vd-satheesan-visits-ak-antony-1519907</ref> പത്ത് ദിവസം നീണ്ടു നിന്ന അനിശ്ചിതത്തിന് ഒടുവിൽ 2026 മെയ് 14-ന് പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന വി.ഡി.സതീശനെ കോൺഗ്രസ് ഹൈക്കമാൻഡ് കേരള മുഖ്യമന്ത്രിയായി പ്രഖ്യാപിച്ചു.<ref>https://www.reporterlive.com/topnews/kerala/2026/05/14/vd-satheesan-cm-announcement-high-command-decision</ref> കേരളത്തിലെ കോൺഗ്രസ് പാർട്ടിയിൽ എ ഐ ഗ്രൂപ്പുകളുടെ പിന്തുണ ഇല്ലാതെ പ്രതിപക്ഷ നേതൃ പദവിയിലെത്തുകയും പിന്നീട് ഗ്രൂപ്പ് രാഷ്ട്രീയമില്ലാതെ തന്നെ നിയമസഭകക്ഷി നേതാവാകുകയും ചെയ്ത ആദ്യത്തെയാളാണ് വി.ഡി.സതീശൻ.<ref>https://www.manoramaonline.com/premium/opinion-and-analysis/2026/05/15/v-d-satheesan-s-rise-as-cm-and-kerala-s-new-political-landscape-prm.html</ref><ref>https://www.madhyamam.com/entertainment/celebrities/vd-satheesan-fully-understood-tmessage-of-sandesham-sathyan-anthikad-1520137</ref> 2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിനെത്തുടർന്ന്, സതീശനെ കോൺഗ്രസ് ലെജിസ്ലേറ്റീവ് പാർട്ടിയുടെ നേതാവായി തിരഞ്ഞെടുത്തു. 2026 മെയ് 18 ന് തിരുവനന്തപുരത്തെ സെൻട്രൽ സ്റ്റേഡിയത്തിൽ വച്ച് കേരളത്തിന്റെ ഇരുപത്തിനാലാമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്തു.<ref>{{Cite web|url=https://keralacm.gov.in/8455/|title=keralacm}}</ref> == തിരഞ്ഞെടുപ്പ് പ്രകടനം == {| class="wikitable" |+[[കേരള നിയമസഭ]] !വർഷം !നിയോജക മണ്ഡലം ! !പാർട്ടി !വോട്ടുകൾ !% !എതിരാളി ! !എതിരാളി പാർട്ടി !വോട്ടുകൾ !% !ഭൂരിപക്ഷം !ഭൂരിപക്ഷം % !ഫലം |- |[[1996 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''1996''']] | rowspan="7" |'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]''' |{{Party name with color|Indian National Congress|rowspan=7}} |'''38,607''' |'''43.67''' | rowspan="2" |[[P. Raju|പി. രാജു]] |{{Party name with color|Communist Party of India|rowspan=7}} |39,723 |44.93 | -1,116 | -1.26% |style="background:#FFB6C1;" | '''പരാജയപ്പെട്ടു''' |- |[[2001 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2001''']] |'''48,859''' |'''50.11%''' |41,425 |42.48 |7,434 |7.63% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2006 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2006''']] |'''51,099''' |'''51.06''' |കെ. എം. ദിനകരൻ |43,307 |43.27 |7,792 |7.79% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2011 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2011''']] |'''74,632''' |'''51.78''' |[[Pannian Ravindran|പന്ന്യൻ രവീന്ദ്രൻ]] |62,955 |43.91 |11,349 |7.87% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2016 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2016''']] |'''74,985''' |'''46.70''' |ശാരദ മോഹൻ |54,351 |33.85 |20,364 |12.85% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2021 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2021''']] |'''82,264''' |'''51.87''' |എം. ടി. നിക്സൺ |60,963 |38.44 |21,301 |13.47% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2026 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2026''']] |'''78,658''' |'''49.2''' |[[E. T. Taison|ഇ. ടി. ടൈസൺ]] |58,058 |36.3 |20,600 |12.7% | style="background:#90EE90;" | '''വിജയിച്ചു''' |} ==അവലംബം== {{Reflist|2}} {{S-start}} {{s-off}} {{s-bef|before=[[പിണറായി വിജയൻ]]}} {{s-ttl|title=[[കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=18 മേയ് 2026 – ഇപ്പോഴും}} {{s-aft|after= - }} {{S-end}} {{Current Indian chief ministers}} {{CMs of Kerala}} {{Fourteenth KLA}} {{Fifteenth KLA}} {{DEFAULTSORT:സതീശൻ}} [[വർഗ്ഗം:1964-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 31-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തുറമുഖ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ നിയമവകുപ്പ് മന്ത്രിമാർ]] j2yi5oebr5n8kqcxo1i28nbxykb6ih4 4622188 4622107 2026-05-23T08:39:19Z Altocar 2020 144384 /* രാഷ്ട്രീയ ജീവിതം */ 4622188 wikitext text/x-wiki {{prettyurl|V.D. Satheesan}} {{Infobox_politician | name = വി.ഡി. സതീശൻ | image = File:Vd-Satheesan.jpg | caption = വി.ഡി. സതീശൻ | office = പതിമൂന്നാമത്തെ [[കേരള മുഖ്യമന്ത്രി]] | term = | predecessor = [[പിണറായി വിജയൻ]] | office1 = കേരളത്തിന്റെ ധനകാര്യം, തുറമുഖം, [[ സംസ്ഥാന ദുരന്ത നിവാരണ അതോറിറ്റി|ദുരന്തനിവാരണം]], നിയമ വകുപ്പുകളുടെ മന്ത്രി(അധിക ചുമതല) | term1 = 18 മെയ് 2026 | predecessor1 = * [[കെ.എൻ. ബാലഗോപാൽ]] (ധനകാര്യം) * [[വി.എൻ. വാസവൻ]] (തുറമുഖം) * [[പി. രാജീവ്]] (നിയമം) * [[പിണറായി വിജയൻ]] (ദുരന്ത നിവാരണം) | successor = | office2 = പ്രതിപക്ഷ നേതാവ്, പതിനഞ്ചാം [[കേരള നിയമസഭ]] | term_start2 = [[22 മേയ്]] [[2021]] | term_end2 = [[4]] [[മെയ്]] [[2026]] | predecessor2 = [[രമേശ് ചെന്നിത്തല]] | successor2 = [[പിണറായി വിജയൻ]] | office3 = കേരള [[നിയമസഭാംഗം]] | constituency3 = [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] | term_start3 = [[മേയ് 16]] [[2001]] | term_end3 = | predecessor3 = [[പി. രാജു]] | successor3 = | salary = | birth_date = {{Birth date and age|1964|05|31}} | birth_place = [[നെട്ടൂർ]], [[കൊച്ചി]], [[കേരളം]], [[ഇന്ത്യ]] | residence = [[ദേശം]], [[ആലുവ]], [[എറണാകുളം ജില്ല]] | death_date = | death_place = | party = [[File:Indian National Congress Flag.svg|frameless|25x25px]] [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | religion = [[ഹിന്ദു]] | father = കെ. ദാമോദര മേനോൻ | mother = വി. വിലാസിനി അമ്മ | spouse = ആർ. ലക്ഷ്മി പ്രിയ | children = ഒരു മകൾ | website = https://kerala.gov.in/ | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/111%20V%20D%20Satheesan.pdf നിയമസഭ | data1 = | 1blankname = ഗവർണർ | 1namedata = [[രാജേന്ദ്ര അർലേക്കർ]] | termstart = 18 മെയ് 2026 }} കേരളത്തിലെ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]] പ്രവർത്തകനാണ്''വടശ്ശേരി ദാമോദരൻ മേനോൻ സതീശൻ'' എന്ന '''വി.ഡി.സതീശൻ.(31 മെയ് 1964)'''. [[എറണാകുളം ജില്ല]]യിൽ നിന്നുള്ള കേരളത്തിലെ ആദ്യത്തെ കോൺഗ്രസ് മുഖ്യമന്ത്രിയും 2001 മുതൽ തുടർച്ചയായി [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ മണ്ഡലത്തിൽ]] നിന്നും കേരള നിയമസഭയിൽ അംഗവുമാണ്.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-from-student-leader-to-kerala-chief-minister.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/habits-will-change-when-vd-satheesan-arrives.html</ref><ref>https://www.manoramaonline.com/district-news/ernakulam/2026/05/15/vd-satheesan-political-insight.html</ref> 2026 മെയ് 18 മുതൽ കേരളത്തിന്റെ പതിമൂന്നാമത് മുഖ്യമന്ത്രിയാണ് ഇദ്ദേഹം<ref>https://malayalam.samayam.com/latest-news/kerala-news/vd-satheesan-makes-history-as-13th-chief-minister-of-kerala-5th-congressman/articleshow/131166934.cms</ref> 2021 മുതൽ 2026 വരെ പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവുമായിരുന്നു വി.ഡി. സതീശൻ. സംസ്ഥാന മന്ത്രിസഭകളിൽ അംഗമാകാതെ ആദ്യമായി മുഖ്യമന്ത്രി പദവിയിലെത്തുന്ന ആറാമത്തെ രാഷ്‌ട്രീയ നേതാവാണ് വി.ഡി.സതീശൻ. [[കെ. കരുണാകരൻ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവർക്ക് ശേഷം പ്രതിപക്ഷ നേതാവ് പദവിയിൽ നിന്ന് മുഖ്യമന്ത്രിയാകുന്ന മൂന്നാമത്തെയാളുമാണ്. [[ഇ.എം.എസ്]], [[പട്ടം താണുപിള്ള]], [[എ.കെ. ആന്റണി]], [[ഇ.കെ. നായനാർ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവരാണ് സതീശന് മുൻപ് മന്ത്രിയാകാതെ മുഖ്യമന്ത്രിയായവർ.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-green-mla-commitment-environmental-protection-forest-conservation-gadgil-report-nelliyampathi.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/vd-satheesan-university-election-strategy-1986.html</ref> ==ജീവിതരേഖ== എറണാകുളം ജില്ലയിലെ നെട്ടൂരിൽ (മരട് മുനിസിപ്പാലിറ്റി) വടശ്ശേരി ദാമോദര മേനോന്റെയും വി.വിലാസിനിയമ്മയുടെയും നാലാമത്തെ മകനായി ഇടവ മാസത്തിലെ ചതയം നക്ഷത്രത്തിൽ 1964 മെയ് 31ന് ജനനം. ഉണ്ണികൃഷ്ണൻ, മനോഹരൻ, രാജശേഖരൻ, അജയകുമാർ, ആശ എന്നിവർ സഹോദരങ്ങളാണ്. നെട്ടൂർ എസ്.വി.യു.പി. സ്ക്കൂളിൽ പ്രൈമറി വിദ്യാഭ്യാസത്തിന് ശേഷം പനങ്ങാട് ഹൈസ്ക്കൂളിൽ നിന്ന് പത്താം ക്ലാസ് പാസായ സതീശൻ പ്രീഡിഗ്രിയും ഡിഗ്രിയും തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ നിന്ന് പൂർത്തിയാക്കി. കളമശേരി രാജഗിരി കോളേജിൽ നിന്ന് ഡി.എസ്സ്.എസ്സ് കോഴ്സ് പാസായ ശേഷം തിരുവനന്തപുരം ലോഅക്കാദമിയിൽ നിന്നും എൽ.എൽ.ബിയും ഗവ. ലോ കോളേജിൽ നിന്ന് നിയമത്തിൽ മാസ്റ്റർ ബിരുദവും നേടി. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ പഠിക്കുമ്പോൾ കോൺഗ്രസിന്റെ വിദ്യാർഥി പ്രസ്ഥാനമായ കെ.എസ്.യുവിൽ പ്രവർത്തിച്ചാണ് ഇദ്ദേഹത്തിന്റെ രാഷ്ട്രീയപ്രവേശം. കെ.എസ്.യു വഴി വിദ്യാർത്ഥി രാഷ്‌ട്രീയത്തിൻ്റെ നേതൃ നിരയിലെത്തിയ സതീശൻ പിന്നീട് കളമശേരി രാജഗിരി കോളേജിലെ യൂണിവേഴ്സിറ്റി യൂണിയൻ കൗൺസിലറും എം.ജി സർവകലാശാല യൂണിയൻ ചെയർമാനുമായി. 1986-ൽ എറണാകുളത്ത് വച്ച് നടന്ന എം.ജി സർവകലാശാല യുവജനോത്സവമായ ഉത്സവ് 86 സ്തീശൻ്റെ സംഘാടക മികവിന് തെളിവായിരുന്നു. പത്ത് വർഷം കേരള ഹൈക്കോടതിയിൽ അഭിഭാഷകനായി ജീവിതമാരംഭിച്ച സതീശൻ ഐ.എൻ.ടി.യു.സിയുടെ കീഴിലുള്ള നിരവധി ട്രേഡ് യൂണിയനുകളുടെ ഭാരവാഹിയായിരുന്നു. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിലെ ആർട്സ് ക്ലബ് സെക്രട്ടറിയായിരുന്നു. എം.ജി, കേരള സർവ്വകലാശാലകളിൽ യൂണിയൻ കൗൺസിലറായും പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.niyamasabha.org/codes/members/satheesanvd.pdf</ref> <ref>https://www.business-standard.com/article/politics/congress-mla-vd-satheesan-to-be-the-leader-of-opposition-in-kerala-121052201127_1.html</ref> ==രാഷ്ട്രീയ ജീവിതം== 1986–1987 കാലഘട്ടത്തിൽ സതീശൻ [[മഹാത്മാഗാന്ധി സർവ്വകലാശാല|മഹാത്മാ ഗാന്ധി സർവകലാശാല]] യൂണിയന്റെ ചെയർമാനായിരുന്നു. അദ്ദേഹം [[നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യ|നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യയുടെയും]] (NSUI) എറണാകുളം ഡി.സി.സിയുടേയും സെക്രട്ടറിയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref name="Members - Kerala Legislature">{{Cite web|title=Members - Kerala Legislature|url=http://www.niyamasabha.org/codes/13kla/members/v_d_satheesan.htm|access-date=20 May 2021|website=www.niyamasabha.org}}</ref> 1989-ൽ കെ.എസ്.യു സംസ്ഥാന പ്രസിഡന്റ് പദവി, 1992-ൽ യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ് പദവി, 2011-ലെ ഉമ്മൻ ചാണ്ടി മന്ത്രിസഭയിലെ മന്ത്രിപദം, 2017-ൽ വി.എം.സുധീരൻ രാജി വച്ചപ്പോൾ ഒഴിവ് വന്ന കെ.പി.സി.സി പ്രസിഡന്റ് സ്ഥാനം എന്നീ സ്ഥാനങ്ങളിലേക്ക് ആദ്യമെ സതീശൻ്റെ പേര് വന്നെങ്കിലും പിന്നീട് ആ സ്ഥാനങ്ങൾ സതീശന് നഷ്‌ടപ്പെടുകയായിരുന്നു. വി.ഡി. സതീശന്റെ രാഷ്ട്രീയ അരങ്ങേറ്റം 1996-ലായിരുന്നു. അന്ന് [[കേരള നിയമസഭ]] തിരഞ്ഞെടുപ്പിൽ [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂരിൽ]] നിന്ന് മത്സരിച്ച അദ്ദേഹം [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സി.പി.ഐ]] സ്ഥാനാർഥിയായ [[പി. രാജു]]വിനോട് പരാജയപ്പെട്ടു. അന്നത്തെ കാലത്ത് [[പറവൂർ]] കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ ശക്തികേന്ദ്രമായി കണക്കാക്കപ്പെട്ടിരുന്നു. 1996-ലെ തോൽവിക്ക് ശേഷം അഭിഭാഷക ജോലിയിലേക്ക് തിരിഞ്ഞ സതീശനെ തിരിച്ച് വീണ്ടും രാഷ്ട്രീയത്തിൽ സജീവമാക്കിയ കേരളത്തിലെ മുതിർന്ന കോൺഗ്രസ് നേതാവും മുൻ മന്ത്രിയുമായിരുന്ന ജി.കാർത്തികേയനാണ് സതീശന്റെ രാഷ്ട്രീയ ഗുരു. 2001-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ അദ്ദേഹം ആദ്യമായി ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് ടിക്കറ്റിൽ [[കേരള നിയമസഭ]]യിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. അന്ന് അദ്ദേഹം [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതിയിൽ]] അഭിഭാഷകനായി പ്രവർത്തിക്കുകയായിരുന്നു. പിന്നീട് 2006, 2011, 2016, 2021, 2026 വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും പറവൂരിൽ നിന്ന് വിജയിച്ചു.<ref>{{Cite web|last=Sushanth|title=ASSEMBLY ELECTIONS 1957 - 2016(Kerala)|url=https://data-analytics.github.io/Election_Data/kerala.html|access-date=20 May 2021|website=data-analytics.GitHub.io}}</ref><ref>{{Cite web|title=Kerala Assembly Election Results in 2016|url=https://www.elections.in/kerala/assembly-constituencies/2016-election-results.html|access-date=22 May 2021|website=www.elections.in}}</ref> 2006-ലെ 12-ാം കേരള നിയമസഭയിൽ അദ്ദേഹം [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൻ്റെ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായും]] പ്രവർത്തിച്ചു.<ref>{{Cite news|last=Sudhi|first=K. S.|date=19 March 2021|title=Kerala Assembly Elections {{!}} Congress banks yet again on Satheesan in Paravur|language=en-IN|work=The Hindu|url=https://www.thehindu.com/elections/kerala-assembly/congress-banks-yet-again-on-satheesan-in-paravur/article34103288.ece|access-date=20 May 2021|issn=0971-751X}}</ref> പന്ത്രണ്ടാം കേരള നിയമസഭയിൽ കോൺഗ്രസ് വിപ്പ് സ്ഥാനം വഹിച്ചിരുന്ന ഇദ്ദേഹം അന്യസംസ്ഥാന ലോട്ടറിക്കെതിരായ രാഷ്ട്രീയ സംവാദങ്ങളിലൂടെ കൂടുതൽ മാധ്യമശ്രദ്ധ നേടി.<ref name =madhyamam>{{cite web | url =http://www.madhyamam.com/news/64579/110402 | title =സി.പി.ഐ 'തുരന്തോ'ക്കെതിരെ സതീശൻ | date =ഏപ്രിൽ 2, 2011 | accessdate =ഏപ്രിൽ 11, 2012 | publisher =മാതൃഭൂമി | language = }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2013-ൽ പരിസ്ഥിതിക്കുവേണ്ടിയും, ഗാഡ്ഗിൽ കമ്മറ്റി റിപ്പോർട്ടിനനുകൂലമായും പ്രതികരിക്കുന്ന എംഎൽഎമാരുടെ രാഷ്ട്രീയെതര സംഘത്തിൽ പ്രമുഖനായിരുന്നു.<ref>http://4malayalees.com/index.php?page=newsDetail&id=27830</ref> 2013-ൽ തമിഴ്നാടിൻ്റെ ചുമതലയുള്ള എ.ഐ.സി.സി സെക്രട്ടറിയായും 2014-ൽ കെ.പി.സി.സി വൈസ് പ്രസിഡണ്ടായും നിയമിതനായി.<ref>http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=16143395&tabId=0&contentType=EDITORIAL&BV_ID=@@@{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2016, 2021 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ യു.ഡി.എഫ് പരാജയപ്പെട്ടതോടെ 2016-ലെ പതിനാലാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന രമേശ് ചെന്നിത്തലക്ക് പകരം 2021 മേയ് 22-ന് അഖിലേന്ത്യ കോൺഗ്രസ് വർക്കിംഗ് കമ്മിറ്റി വി.ഡി.സതീശനെ 15-ാം കേരളനിയമസഭയിലെ [[പ്രതിപക്ഷ നേതാവ് (ഇന്ത്യ)|പ്രതിപക്ഷ നേതാവായി]] തിരഞ്ഞെടുത്തു.<ref>{{Cite web|last=തങ്ങൾ|first=ശിഹാബുദ്ദീൻ|title=ഇനി പ്രതിപക്ഷത്തിന്റെ ചാട്ടുളി സതീശൻ; തിരിച്ചുവരവിലേക്കുള്ള ആദ്യചുവട്‌|url=https://www.mathrubhumi.com/news/kerala/vd-satheeshan-leader-of-opposition-in-kerala-1.5685199|access-date=22 May 2021|website=Mathrubhumi|language=ml}}</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ തുടർച്ചയായ തോൽവിയോടെ വെറും 22 സീറ്റിലേക്ക് ഒതുങ്ങി പോയ കോൺഗ്രസ് പാർട്ടിയെ പ്രതിപക്ഷ നേതൃ സ്ഥാനമേറ്റ ശേഷം അഞ്ച് വർഷത്തെ പ്രവർത്തന മികവിൽ 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 63 സീറ്റിലേക്ക് ഉയർത്തിയ സതീശൻ നേതൃത്വം നൽകിയ ഐക്യ ജനാധിപത്യമുന്നണി 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 102 സീറ്റിൽ വൻ വിജയം നേടി പതിനാറാം കേരള നിയമസഭയിൽ ഭരണമുറപ്പിച്ചു.<ref>https://www.madhyamam.com/kerala/vd-satheesan-visits-ak-antony-1519907</ref> പത്ത് ദിവസം നീണ്ടു നിന്ന അനിശ്ചിതത്തിന് ഒടുവിൽ 2026 മെയ് 14-ന് പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന വി.ഡി.സതീശനെ കോൺഗ്രസ് ഹൈക്കമാൻഡ് കേരള മുഖ്യമന്ത്രിയായി പ്രഖ്യാപിച്ചു.<ref>https://www.reporterlive.com/topnews/kerala/2026/05/14/vd-satheesan-cm-announcement-high-command-decision</ref> കേരളത്തിലെ കോൺഗ്രസ് പാർട്ടിയിൽ എ ഐ ഗ്രൂപ്പുകളുടെ പിന്തുണ ഇല്ലാതെ പ്രതിപക്ഷ നേതൃ പദവിയിലെത്തുകയും പിന്നീട് ഗ്രൂപ്പ് രാഷ്ട്രീയമില്ലാതെ തന്നെ നിയമസഭകക്ഷി നേതാവാകുകയും ചെയ്ത ആദ്യത്തെയാളാണ് വി.ഡി.സതീശൻ.<ref>https://www.manoramaonline.com/premium/opinion-and-analysis/2026/05/15/v-d-satheesan-s-rise-as-cm-and-kerala-s-new-political-landscape-prm.html</ref><ref>https://www.madhyamam.com/entertainment/celebrities/vd-satheesan-fully-understood-tmessage-of-sandesham-sathyan-anthikad-1520137</ref> 2026-ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലെ വൻ വിജയത്തെ തുടർന്ന് വി.ഡി.സതീശനെ കോൺഗ്രസ് ലെജിസ്ലേറ്റീവ് പാർട്ടിയുടെ നിയമസഭാകക്ഷി നേതാവായി തിരഞ്ഞെടുത്തു. 2026 മെയ് 18-ന് തിരുവനന്തപുരത്തെ സെൻട്രൽ സ്റ്റേഡിയത്തിൽ വച്ച് കേരളത്തിന്റെ ഇരുപത്തിനാലാമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്തു അധികാരമേറ്റു.<ref>{{Cite web|url=https://keralacm.gov.in/8455/|title=keralacm}}</ref> == തിരഞ്ഞെടുപ്പ് പ്രകടനം == {| class="wikitable" |+[[കേരള നിയമസഭ]] !വർഷം !നിയോജക മണ്ഡലം ! !പാർട്ടി !വോട്ടുകൾ !% !എതിരാളി ! !എതിരാളി പാർട്ടി !വോട്ടുകൾ !% !ഭൂരിപക്ഷം !ഭൂരിപക്ഷം % !ഫലം |- |[[1996 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''1996''']] | rowspan="7" |'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]''' |{{Party name with color|Indian National Congress|rowspan=7}} |'''38,607''' |'''43.67''' | rowspan="2" |[[P. Raju|പി. രാജു]] |{{Party name with color|Communist Party of India|rowspan=7}} |39,723 |44.93 | -1,116 | -1.26% |style="background:#FFB6C1;" | '''പരാജയപ്പെട്ടു''' |- |[[2001 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2001''']] |'''48,859''' |'''50.11%''' |41,425 |42.48 |7,434 |7.63% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2006 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2006''']] |'''51,099''' |'''51.06''' |കെ. എം. ദിനകരൻ |43,307 |43.27 |7,792 |7.79% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2011 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2011''']] |'''74,632''' |'''51.78''' |[[Pannian Ravindran|പന്ന്യൻ രവീന്ദ്രൻ]] |62,955 |43.91 |11,349 |7.87% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2016 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2016''']] |'''74,985''' |'''46.70''' |ശാരദ മോഹൻ |54,351 |33.85 |20,364 |12.85% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2021 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2021''']] |'''82,264''' |'''51.87''' |എം. ടി. നിക്സൺ |60,963 |38.44 |21,301 |13.47% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2026 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2026''']] |'''78,658''' |'''49.2''' |[[E. T. Taison|ഇ. ടി. ടൈസൺ]] |58,058 |36.3 |20,600 |12.7% | style="background:#90EE90;" | '''വിജയിച്ചു''' |} ==അവലംബം== {{Reflist|2}} {{S-start}} {{s-off}} {{s-bef|before=[[പിണറായി വിജയൻ]]}} {{s-ttl|title=[[കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=18 മേയ് 2026 – ഇപ്പോഴും}} {{s-aft|after= - }} {{S-end}} {{Current Indian chief ministers}} {{CMs of Kerala}} {{Fourteenth KLA}} {{Fifteenth KLA}} {{DEFAULTSORT:സതീശൻ}} [[വർഗ്ഗം:1964-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 31-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തുറമുഖ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ നിയമവകുപ്പ് മന്ത്രിമാർ]] bthxcvd2c5yo333ltdol459sqhug1gr 4622189 4622188 2026-05-23T08:40:46Z Altocar 2020 144384 /* */ 4622189 wikitext text/x-wiki {{prettyurl|V.D. Satheesan}} {{Infobox_politician | name = വി.ഡി. സതീശൻ | image = File:Vd-Satheesan.jpg | caption = വി.ഡി. സതീശൻ | office = പതിമൂന്നാമത്തെ [[കേരള മുഖ്യമന്ത്രി]] | term = | predecessor = [[പിണറായി വിജയൻ]] | office1 = കേരളത്തിന്റെ ധനകാര്യം, തുറമുഖം, [[ സംസ്ഥാന ദുരന്ത നിവാരണ അതോറിറ്റി|ദുരന്തനിവാരണം]], നിയമ വകുപ്പുകളുടെ മന്ത്രി(അധിക ചുമതല) | term1 = 18 മെയ് 2026 | predecessor1 = * [[കെ.എൻ. ബാലഗോപാൽ]] (ധനകാര്യം) * [[വി.എൻ. വാസവൻ]] (തുറമുഖം) * [[പി. രാജീവ്]] (നിയമം) * [[പിണറായി വിജയൻ]] (ദുരന്ത നിവാരണം) | successor = | office2 = പ്രതിപക്ഷ നേതാവ്, പതിനഞ്ചാം [[കേരള നിയമസഭ]] | term_start2 = [[22 മേയ്]] [[2021]] | term_end2 = [[4]] [[മെയ്]] [[2026]] | predecessor2 = [[രമേശ് ചെന്നിത്തല]] | successor2 = [[പിണറായി വിജയൻ]] | office3 = കേരള [[നിയമസഭാംഗം]] | constituency3 = [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] | term_start3 = [[മേയ് 16]] [[2001]] | term_end3 = | predecessor3 = [[പി. രാജു]] | successor3 = | salary = | birth_date = {{Birth date and age|1964|05|31}} | birth_place = [[നെട്ടൂർ]], [[കൊച്ചി]], [[കേരളം]], [[ഇന്ത്യ]] | residence = [[ദേശം]], [[ആലുവ]], [[എറണാകുളം ജില്ല]] | death_date = | death_place = | party = [[File:Indian National Congress Flag.svg|frameless|25x25px]] [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | religion = [[ഹിന്ദു]] | father = കെ. ദാമോദര മേനോൻ | mother = വി. വിലാസിനി അമ്മ | spouse = ആർ. ലക്ഷ്മി പ്രിയ | children = ഒരു മകൾ | website = https://kerala.gov.in/ | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/111%20V%20D%20Satheesan.pdf നിയമസഭ | data1 = | 1blankname = ഗവർണർ | 1namedata = [[രാജേന്ദ്ര അർലേക്കർ]] | termstart = 18 മെയ് 2026 }} കേരളത്തിലെ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]] പ്രവർത്തകനാണ്''വടശ്ശേരി ദാമോദരൻ മേനോൻ സതീശൻ'' എന്ന '''വി.ഡി.സതീശൻ.(31 മെയ് 1964)'''. [[എറണാകുളം ജില്ല]]യിൽ നിന്നുള്ള കേരളത്തിലെ ആദ്യത്തെ കോൺഗ്രസ് മുഖ്യമന്ത്രിയും 2001 മുതൽ തുടർച്ചയായി [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ മണ്ഡലത്തിൽ]] നിന്നും കേരള നിയമസഭയിൽ അംഗവുമാണ്.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-from-student-leader-to-kerala-chief-minister.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/habits-will-change-when-vd-satheesan-arrives.html</ref><ref>https://www.manoramaonline.com/district-news/ernakulam/2026/05/15/vd-satheesan-political-insight.html</ref> 2026 മെയ് 18 മുതൽ കേരളത്തിന്റെ പതിമൂന്നാമത് മുഖ്യമന്ത്രിയാണ് ഇദ്ദേഹം<ref>https://malayalam.samayam.com/latest-news/kerala-news/vd-satheesan-makes-history-as-13th-chief-minister-of-kerala-5th-congressman/articleshow/131166934.cms</ref> 2021 മുതൽ 2026 വരെ പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവുമായിരുന്നു വി.ഡി. സതീശൻ. നിയമസഭാംഗമായി മാത്രം തുടർന്ന് സംസ്ഥാന മന്ത്രിസഭകളിൽ അംഗമാകാതെ ആദ്യമായി കേരളത്തിൻ്റെ മുഖ്യമന്ത്രി പദവിയിലെത്തുന്ന ആറാമത്തെ രാഷ്‌ട്രീയ നേതാവാണ് വി.ഡി.സതീശൻ. [[കെ. കരുണാകരൻ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവർക്ക് ശേഷം പ്രതിപക്ഷ നേതാവ് പദവിയിൽ നിന്ന് മുഖ്യമന്ത്രിയാകുന്ന മൂന്നാമത്തെയാളുമാണ്. [[ഇ.എം.എസ്]], [[പട്ടം താണുപിള്ള]], [[എ.കെ. ആന്റണി]], [[ഇ.കെ. നായനാർ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവരാണ് സതീശന് മുൻപ് മന്ത്രിയാകാതെ മുഖ്യമന്ത്രിയായവർ.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-green-mla-commitment-environmental-protection-forest-conservation-gadgil-report-nelliyampathi.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/vd-satheesan-university-election-strategy-1986.html</ref> ==ജീവിതരേഖ== എറണാകുളം ജില്ലയിലെ നെട്ടൂരിൽ (മരട് മുനിസിപ്പാലിറ്റി) വടശ്ശേരി ദാമോദര മേനോന്റെയും വി.വിലാസിനിയമ്മയുടെയും നാലാമത്തെ മകനായി ഇടവ മാസത്തിലെ ചതയം നക്ഷത്രത്തിൽ 1964 മെയ് 31ന് ജനനം. ഉണ്ണികൃഷ്ണൻ, മനോഹരൻ, രാജശേഖരൻ, അജയകുമാർ, ആശ എന്നിവർ സഹോദരങ്ങളാണ്. നെട്ടൂർ എസ്.വി.യു.പി. സ്ക്കൂളിൽ പ്രൈമറി വിദ്യാഭ്യാസത്തിന് ശേഷം പനങ്ങാട് ഹൈസ്ക്കൂളിൽ നിന്ന് പത്താം ക്ലാസ് പാസായ സതീശൻ പ്രീഡിഗ്രിയും ഡിഗ്രിയും തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ നിന്ന് പൂർത്തിയാക്കി. കളമശേരി രാജഗിരി കോളേജിൽ നിന്ന് ഡി.എസ്സ്.എസ്സ് കോഴ്സ് പാസായ ശേഷം തിരുവനന്തപുരം ലോഅക്കാദമിയിൽ നിന്നും എൽ.എൽ.ബിയും ഗവ. ലോ കോളേജിൽ നിന്ന് നിയമത്തിൽ മാസ്റ്റർ ബിരുദവും നേടി. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ പഠിക്കുമ്പോൾ കോൺഗ്രസിന്റെ വിദ്യാർഥി പ്രസ്ഥാനമായ കെ.എസ്.യുവിൽ പ്രവർത്തിച്ചാണ് ഇദ്ദേഹത്തിന്റെ രാഷ്ട്രീയപ്രവേശം. കെ.എസ്.യു വഴി വിദ്യാർത്ഥി രാഷ്‌ട്രീയത്തിൻ്റെ നേതൃ നിരയിലെത്തിയ സതീശൻ പിന്നീട് കളമശേരി രാജഗിരി കോളേജിലെ യൂണിവേഴ്സിറ്റി യൂണിയൻ കൗൺസിലറും എം.ജി സർവകലാശാല യൂണിയൻ ചെയർമാനുമായി. 1986-ൽ എറണാകുളത്ത് വച്ച് നടന്ന എം.ജി സർവകലാശാല യുവജനോത്സവമായ ഉത്സവ് 86 സ്തീശൻ്റെ സംഘാടക മികവിന് തെളിവായിരുന്നു. പത്ത് വർഷം കേരള ഹൈക്കോടതിയിൽ അഭിഭാഷകനായി ജീവിതമാരംഭിച്ച സതീശൻ ഐ.എൻ.ടി.യു.സിയുടെ കീഴിലുള്ള നിരവധി ട്രേഡ് യൂണിയനുകളുടെ ഭാരവാഹിയായിരുന്നു. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിലെ ആർട്സ് ക്ലബ് സെക്രട്ടറിയായിരുന്നു. എം.ജി, കേരള സർവ്വകലാശാലകളിൽ യൂണിയൻ കൗൺസിലറായും പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.niyamasabha.org/codes/members/satheesanvd.pdf</ref> <ref>https://www.business-standard.com/article/politics/congress-mla-vd-satheesan-to-be-the-leader-of-opposition-in-kerala-121052201127_1.html</ref> ==രാഷ്ട്രീയ ജീവിതം== 1986–1987 കാലഘട്ടത്തിൽ സതീശൻ [[മഹാത്മാഗാന്ധി സർവ്വകലാശാല|മഹാത്മാ ഗാന്ധി സർവകലാശാല]] യൂണിയന്റെ ചെയർമാനായിരുന്നു. അദ്ദേഹം [[നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യ|നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യയുടെയും]] (NSUI) എറണാകുളം ഡി.സി.സിയുടേയും സെക്രട്ടറിയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref name="Members - Kerala Legislature">{{Cite web|title=Members - Kerala Legislature|url=http://www.niyamasabha.org/codes/13kla/members/v_d_satheesan.htm|access-date=20 May 2021|website=www.niyamasabha.org}}</ref> 1989-ൽ കെ.എസ്.യു സംസ്ഥാന പ്രസിഡന്റ് പദവി, 1992-ൽ യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ് പദവി, 2011-ലെ ഉമ്മൻ ചാണ്ടി മന്ത്രിസഭയിലെ മന്ത്രിപദം, 2017-ൽ വി.എം.സുധീരൻ രാജി വച്ചപ്പോൾ ഒഴിവ് വന്ന കെ.പി.സി.സി പ്രസിഡന്റ് സ്ഥാനം എന്നീ സ്ഥാനങ്ങളിലേക്ക് ആദ്യമെ സതീശൻ്റെ പേര് വന്നെങ്കിലും പിന്നീട് ആ സ്ഥാനങ്ങൾ സതീശന് നഷ്‌ടപ്പെടുകയായിരുന്നു. വി.ഡി. സതീശന്റെ രാഷ്ട്രീയ അരങ്ങേറ്റം 1996-ലായിരുന്നു. അന്ന് [[കേരള നിയമസഭ]] തിരഞ്ഞെടുപ്പിൽ [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂരിൽ]] നിന്ന് മത്സരിച്ച അദ്ദേഹം [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സി.പി.ഐ]] സ്ഥാനാർഥിയായ [[പി. രാജു]]വിനോട് പരാജയപ്പെട്ടു. അന്നത്തെ കാലത്ത് [[പറവൂർ]] കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ ശക്തികേന്ദ്രമായി കണക്കാക്കപ്പെട്ടിരുന്നു. 1996-ലെ തോൽവിക്ക് ശേഷം അഭിഭാഷക ജോലിയിലേക്ക് തിരിഞ്ഞ സതീശനെ തിരിച്ച് വീണ്ടും രാഷ്ട്രീയത്തിൽ സജീവമാക്കിയ കേരളത്തിലെ മുതിർന്ന കോൺഗ്രസ് നേതാവും മുൻ മന്ത്രിയുമായിരുന്ന ജി.കാർത്തികേയനാണ് സതീശന്റെ രാഷ്ട്രീയ ഗുരു. 2001-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ അദ്ദേഹം ആദ്യമായി ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് ടിക്കറ്റിൽ [[കേരള നിയമസഭ]]യിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. അന്ന് അദ്ദേഹം [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതിയിൽ]] അഭിഭാഷകനായി പ്രവർത്തിക്കുകയായിരുന്നു. പിന്നീട് 2006, 2011, 2016, 2021, 2026 വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും പറവൂരിൽ നിന്ന് വിജയിച്ചു.<ref>{{Cite web|last=Sushanth|title=ASSEMBLY ELECTIONS 1957 - 2016(Kerala)|url=https://data-analytics.github.io/Election_Data/kerala.html|access-date=20 May 2021|website=data-analytics.GitHub.io}}</ref><ref>{{Cite web|title=Kerala Assembly Election Results in 2016|url=https://www.elections.in/kerala/assembly-constituencies/2016-election-results.html|access-date=22 May 2021|website=www.elections.in}}</ref> 2006-ലെ 12-ാം കേരള നിയമസഭയിൽ അദ്ദേഹം [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൻ്റെ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായും]] പ്രവർത്തിച്ചു.<ref>{{Cite news|last=Sudhi|first=K. S.|date=19 March 2021|title=Kerala Assembly Elections {{!}} Congress banks yet again on Satheesan in Paravur|language=en-IN|work=The Hindu|url=https://www.thehindu.com/elections/kerala-assembly/congress-banks-yet-again-on-satheesan-in-paravur/article34103288.ece|access-date=20 May 2021|issn=0971-751X}}</ref> പന്ത്രണ്ടാം കേരള നിയമസഭയിൽ കോൺഗ്രസ് വിപ്പ് സ്ഥാനം വഹിച്ചിരുന്ന ഇദ്ദേഹം അന്യസംസ്ഥാന ലോട്ടറിക്കെതിരായ രാഷ്ട്രീയ സംവാദങ്ങളിലൂടെ കൂടുതൽ മാധ്യമശ്രദ്ധ നേടി.<ref name =madhyamam>{{cite web | url =http://www.madhyamam.com/news/64579/110402 | title =സി.പി.ഐ 'തുരന്തോ'ക്കെതിരെ സതീശൻ | date =ഏപ്രിൽ 2, 2011 | accessdate =ഏപ്രിൽ 11, 2012 | publisher =മാതൃഭൂമി | language = }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2013-ൽ പരിസ്ഥിതിക്കുവേണ്ടിയും, ഗാഡ്ഗിൽ കമ്മറ്റി റിപ്പോർട്ടിനനുകൂലമായും പ്രതികരിക്കുന്ന എംഎൽഎമാരുടെ രാഷ്ട്രീയെതര സംഘത്തിൽ പ്രമുഖനായിരുന്നു.<ref>http://4malayalees.com/index.php?page=newsDetail&id=27830</ref> 2013-ൽ തമിഴ്നാടിൻ്റെ ചുമതലയുള്ള എ.ഐ.സി.സി സെക്രട്ടറിയായും 2014-ൽ കെ.പി.സി.സി വൈസ് പ്രസിഡണ്ടായും നിയമിതനായി.<ref>http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=16143395&tabId=0&contentType=EDITORIAL&BV_ID=@@@{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2016, 2021 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ യു.ഡി.എഫ് പരാജയപ്പെട്ടതോടെ 2016-ലെ പതിനാലാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന രമേശ് ചെന്നിത്തലക്ക് പകരം 2021 മേയ് 22-ന് അഖിലേന്ത്യ കോൺഗ്രസ് വർക്കിംഗ് കമ്മിറ്റി വി.ഡി.സതീശനെ 15-ാം കേരളനിയമസഭയിലെ [[പ്രതിപക്ഷ നേതാവ് (ഇന്ത്യ)|പ്രതിപക്ഷ നേതാവായി]] തിരഞ്ഞെടുത്തു.<ref>{{Cite web|last=തങ്ങൾ|first=ശിഹാബുദ്ദീൻ|title=ഇനി പ്രതിപക്ഷത്തിന്റെ ചാട്ടുളി സതീശൻ; തിരിച്ചുവരവിലേക്കുള്ള ആദ്യചുവട്‌|url=https://www.mathrubhumi.com/news/kerala/vd-satheeshan-leader-of-opposition-in-kerala-1.5685199|access-date=22 May 2021|website=Mathrubhumi|language=ml}}</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ തുടർച്ചയായ തോൽവിയോടെ വെറും 22 സീറ്റിലേക്ക് ഒതുങ്ങി പോയ കോൺഗ്രസ് പാർട്ടിയെ പ്രതിപക്ഷ നേതൃ സ്ഥാനമേറ്റ ശേഷം അഞ്ച് വർഷത്തെ പ്രവർത്തന മികവിൽ 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 63 സീറ്റിലേക്ക് ഉയർത്തിയ സതീശൻ നേതൃത്വം നൽകിയ ഐക്യ ജനാധിപത്യമുന്നണി 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 102 സീറ്റിൽ വൻ വിജയം നേടി പതിനാറാം കേരള നിയമസഭയിൽ ഭരണമുറപ്പിച്ചു.<ref>https://www.madhyamam.com/kerala/vd-satheesan-visits-ak-antony-1519907</ref> പത്ത് ദിവസം നീണ്ടു നിന്ന അനിശ്ചിതത്തിന് ഒടുവിൽ 2026 മെയ് 14-ന് പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന വി.ഡി.സതീശനെ കോൺഗ്രസ് ഹൈക്കമാൻഡ് കേരള മുഖ്യമന്ത്രിയായി പ്രഖ്യാപിച്ചു.<ref>https://www.reporterlive.com/topnews/kerala/2026/05/14/vd-satheesan-cm-announcement-high-command-decision</ref> കേരളത്തിലെ കോൺഗ്രസ് പാർട്ടിയിൽ എ ഐ ഗ്രൂപ്പുകളുടെ പിന്തുണ ഇല്ലാതെ പ്രതിപക്ഷ നേതൃ പദവിയിലെത്തുകയും പിന്നീട് ഗ്രൂപ്പ് രാഷ്ട്രീയമില്ലാതെ തന്നെ നിയമസഭകക്ഷി നേതാവാകുകയും ചെയ്ത ആദ്യത്തെയാളാണ് വി.ഡി.സതീശൻ.<ref>https://www.manoramaonline.com/premium/opinion-and-analysis/2026/05/15/v-d-satheesan-s-rise-as-cm-and-kerala-s-new-political-landscape-prm.html</ref><ref>https://www.madhyamam.com/entertainment/celebrities/vd-satheesan-fully-understood-tmessage-of-sandesham-sathyan-anthikad-1520137</ref> 2026-ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലെ വൻ വിജയത്തെ തുടർന്ന് വി.ഡി.സതീശനെ കോൺഗ്രസ് ലെജിസ്ലേറ്റീവ് പാർട്ടിയുടെ നിയമസഭാകക്ഷി നേതാവായി തിരഞ്ഞെടുത്തു. 2026 മെയ് 18-ന് തിരുവനന്തപുരത്തെ സെൻട്രൽ സ്റ്റേഡിയത്തിൽ വച്ച് കേരളത്തിന്റെ ഇരുപത്തിനാലാമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്തു അധികാരമേറ്റു.<ref>{{Cite web|url=https://keralacm.gov.in/8455/|title=keralacm}}</ref> == തിരഞ്ഞെടുപ്പ് പ്രകടനം == {| class="wikitable" |+[[കേരള നിയമസഭ]] !വർഷം !നിയോജക മണ്ഡലം ! !പാർട്ടി !വോട്ടുകൾ !% !എതിരാളി ! !എതിരാളി പാർട്ടി !വോട്ടുകൾ !% !ഭൂരിപക്ഷം !ഭൂരിപക്ഷം % !ഫലം |- |[[1996 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''1996''']] | rowspan="7" |'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]''' |{{Party name with color|Indian National Congress|rowspan=7}} |'''38,607''' |'''43.67''' | rowspan="2" |[[P. Raju|പി. രാജു]] |{{Party name with color|Communist Party of India|rowspan=7}} |39,723 |44.93 | -1,116 | -1.26% |style="background:#FFB6C1;" | '''പരാജയപ്പെട്ടു''' |- |[[2001 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2001''']] |'''48,859''' |'''50.11%''' |41,425 |42.48 |7,434 |7.63% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2006 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2006''']] |'''51,099''' |'''51.06''' |കെ. എം. ദിനകരൻ |43,307 |43.27 |7,792 |7.79% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2011 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2011''']] |'''74,632''' |'''51.78''' |[[Pannian Ravindran|പന്ന്യൻ രവീന്ദ്രൻ]] |62,955 |43.91 |11,349 |7.87% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2016 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2016''']] |'''74,985''' |'''46.70''' |ശാരദ മോഹൻ |54,351 |33.85 |20,364 |12.85% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2021 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2021''']] |'''82,264''' |'''51.87''' |എം. ടി. നിക്സൺ |60,963 |38.44 |21,301 |13.47% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2026 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2026''']] |'''78,658''' |'''49.2''' |[[E. T. Taison|ഇ. ടി. ടൈസൺ]] |58,058 |36.3 |20,600 |12.7% | style="background:#90EE90;" | '''വിജയിച്ചു''' |} ==അവലംബം== {{Reflist|2}} {{S-start}} {{s-off}} {{s-bef|before=[[പിണറായി വിജയൻ]]}} {{s-ttl|title=[[കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=18 മേയ് 2026 – ഇപ്പോഴും}} {{s-aft|after= - }} {{S-end}} {{Current Indian chief ministers}} {{CMs of Kerala}} {{Fourteenth KLA}} {{Fifteenth KLA}} {{DEFAULTSORT:സതീശൻ}} [[വർഗ്ഗം:1964-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 31-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തുറമുഖ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ നിയമവകുപ്പ് മന്ത്രിമാർ]] e10uwap9rkx4tiy4uaimjbrk9fxuz2r 4622191 4622189 2026-05-23T08:42:51Z Altocar 2020 144384 /* */ 4622191 wikitext text/x-wiki {{prettyurl|V.D. Satheesan}} {{Infobox_politician | name = വി.ഡി. സതീശൻ | image = File:Vd-Satheesan.jpg | caption = വി.ഡി. സതീശൻ | office = പതിമൂന്നാമത്തെ [[കേരള മുഖ്യമന്ത്രി]] | term = | predecessor = [[പിണറായി വിജയൻ]] | office1 = കേരളത്തിന്റെ ധനകാര്യം, തുറമുഖം, [[ സംസ്ഥാന ദുരന്ത നിവാരണ അതോറിറ്റി|ദുരന്തനിവാരണം]], നിയമ വകുപ്പുകളുടെ അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി | term1 = 18 മെയ് 2026 | predecessor1 = * [[കെ.എൻ. ബാലഗോപാൽ]] (ധനകാര്യം) * [[വി.എൻ. വാസവൻ]] (തുറമുഖം) * [[പി. രാജീവ്]] (നിയമം) * [[പിണറായി വിജയൻ]] (ദുരന്ത നിവാരണം) | successor = | office2 = പ്രതിപക്ഷ നേതാവ്, പതിനഞ്ചാം [[കേരള നിയമസഭ]] | term_start2 = [[22 മേയ്]] [[2021]] | term_end2 = [[4]] [[മെയ്]] [[2026]] | predecessor2 = [[രമേശ് ചെന്നിത്തല]] | successor2 = [[പിണറായി വിജയൻ]] | office3 = കേരള [[നിയമസഭാംഗം]] | constituency3 = [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] | term_start3 = [[മേയ് 16]] [[2001]] | term_end3 = | predecessor3 = [[പി. രാജു]] | successor3 = | salary = | birth_date = {{Birth date and age|1964|05|31}} | birth_place = [[നെട്ടൂർ]], [[കൊച്ചി]], [[കേരളം]], [[ഇന്ത്യ]] | residence = [[ദേശം]], [[ആലുവ]], [[എറണാകുളം ജില്ല]] | death_date = | death_place = | party = [[File:Indian National Congress Flag.svg|frameless|25x25px]] [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | religion = [[ഹിന്ദു]] | father = കെ. ദാമോദര മേനോൻ | mother = വി. വിലാസിനി അമ്മ | spouse = ആർ. ലക്ഷ്മി പ്രിയ | children = ഒരു മകൾ | website = https://kerala.gov.in/ | date = മെയ് 14 | year = 2026 | source = http://niyamasabha.org/codes/14kla/Members-Eng/111%20V%20D%20Satheesan.pdf നിയമസഭ | data1 = | 1blankname = ഗവർണർ | 1namedata = [[രാജേന്ദ്ര അർലേക്കർ]] | termstart = 18 മെയ് 2026 }} കേരളത്തിലെ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]] പ്രവർത്തകനാണ്''വടശ്ശേരി ദാമോദരൻ മേനോൻ സതീശൻ'' എന്ന '''വി.ഡി.സതീശൻ.(31 മെയ് 1964)'''. [[എറണാകുളം ജില്ല]]യിൽ നിന്നുള്ള കേരളത്തിലെ ആദ്യത്തെ കോൺഗ്രസ് മുഖ്യമന്ത്രിയും 2001 മുതൽ തുടർച്ചയായി [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ മണ്ഡലത്തിൽ]] നിന്നും കേരള നിയമസഭയിൽ അംഗവുമാണ്.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-from-student-leader-to-kerala-chief-minister.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/habits-will-change-when-vd-satheesan-arrives.html</ref><ref>https://www.manoramaonline.com/district-news/ernakulam/2026/05/15/vd-satheesan-political-insight.html</ref> 2026 മെയ് 18 മുതൽ കേരളത്തിന്റെ പതിമൂന്നാമത് മുഖ്യമന്ത്രിയാണ് ഇദ്ദേഹം<ref>https://malayalam.samayam.com/latest-news/kerala-news/vd-satheesan-makes-history-as-13th-chief-minister-of-kerala-5th-congressman/articleshow/131166934.cms</ref> 2021 മുതൽ 2026 വരെ പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവുമായിരുന്നു വി.ഡി. സതീശൻ. നിയമസഭാംഗമായി മാത്രം തുടർന്ന് സംസ്ഥാന മന്ത്രിസഭകളിൽ അംഗമാകാതെ ആദ്യമായി കേരളത്തിൻ്റെ മുഖ്യമന്ത്രി പദവിയിലെത്തുന്ന ആറാമത്തെ രാഷ്‌ട്രീയ നേതാവാണ് വി.ഡി.സതീശൻ. [[കെ. കരുണാകരൻ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവർക്ക് ശേഷം പ്രതിപക്ഷ നേതാവ് പദവിയിൽ നിന്ന് മുഖ്യമന്ത്രിയാകുന്ന മൂന്നാമത്തെയാളുമാണ്. [[ഇ.എം.എസ്]], [[പട്ടം താണുപിള്ള]], [[എ.കെ. ആന്റണി]], [[ഇ.കെ. നായനാർ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവരാണ് സതീശന് മുൻപ് മന്ത്രിയാകാതെ മുഖ്യമന്ത്രിയായവർ.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-green-mla-commitment-environmental-protection-forest-conservation-gadgil-report-nelliyampathi.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/vd-satheesan-university-election-strategy-1986.html</ref> ==ജീവിതരേഖ== എറണാകുളം ജില്ലയിലെ നെട്ടൂരിൽ (മരട് മുനിസിപ്പാലിറ്റി) വടശ്ശേരി ദാമോദര മേനോന്റെയും വി.വിലാസിനിയമ്മയുടെയും നാലാമത്തെ മകനായി ഇടവ മാസത്തിലെ ചതയം നക്ഷത്രത്തിൽ 1964 മെയ് 31ന് ജനനം. ഉണ്ണികൃഷ്ണൻ, മനോഹരൻ, രാജശേഖരൻ, അജയകുമാർ, ആശ എന്നിവർ സഹോദരങ്ങളാണ്. നെട്ടൂർ എസ്.വി.യു.പി. സ്ക്കൂളിൽ പ്രൈമറി വിദ്യാഭ്യാസത്തിന് ശേഷം പനങ്ങാട് ഹൈസ്ക്കൂളിൽ നിന്ന് പത്താം ക്ലാസ് പാസായ സതീശൻ പ്രീഡിഗ്രിയും ഡിഗ്രിയും തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ നിന്ന് പൂർത്തിയാക്കി. കളമശേരി രാജഗിരി കോളേജിൽ നിന്ന് ഡി.എസ്സ്.എസ്സ് കോഴ്സ് പാസായ ശേഷം തിരുവനന്തപുരം ലോഅക്കാദമിയിൽ നിന്നും എൽ.എൽ.ബിയും ഗവ. ലോ കോളേജിൽ നിന്ന് നിയമത്തിൽ മാസ്റ്റർ ബിരുദവും നേടി. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ പഠിക്കുമ്പോൾ കോൺഗ്രസിന്റെ വിദ്യാർഥി പ്രസ്ഥാനമായ കെ.എസ്.യുവിൽ പ്രവർത്തിച്ചാണ് ഇദ്ദേഹത്തിന്റെ രാഷ്ട്രീയപ്രവേശം. കെ.എസ്.യു വഴി വിദ്യാർത്ഥി രാഷ്‌ട്രീയത്തിൻ്റെ നേതൃ നിരയിലെത്തിയ സതീശൻ പിന്നീട് കളമശേരി രാജഗിരി കോളേജിലെ യൂണിവേഴ്സിറ്റി യൂണിയൻ കൗൺസിലറും എം.ജി സർവകലാശാല യൂണിയൻ ചെയർമാനുമായി. 1986-ൽ എറണാകുളത്ത് വച്ച് നടന്ന എം.ജി സർവകലാശാല യുവജനോത്സവമായ ഉത്സവ് 86 സ്തീശൻ്റെ സംഘാടക മികവിന് തെളിവായിരുന്നു. പത്ത് വർഷം കേരള ഹൈക്കോടതിയിൽ അഭിഭാഷകനായി ജീവിതമാരംഭിച്ച സതീശൻ ഐ.എൻ.ടി.യു.സിയുടെ കീഴിലുള്ള നിരവധി ട്രേഡ് യൂണിയനുകളുടെ ഭാരവാഹിയായിരുന്നു. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിലെ ആർട്സ് ക്ലബ് സെക്രട്ടറിയായിരുന്നു. എം.ജി, കേരള സർവ്വകലാശാലകളിൽ യൂണിയൻ കൗൺസിലറായും പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.niyamasabha.org/codes/members/satheesanvd.pdf</ref> <ref>https://www.business-standard.com/article/politics/congress-mla-vd-satheesan-to-be-the-leader-of-opposition-in-kerala-121052201127_1.html</ref> ==രാഷ്ട്രീയ ജീവിതം== 1986–1987 കാലഘട്ടത്തിൽ സതീശൻ [[മഹാത്മാഗാന്ധി സർവ്വകലാശാല|മഹാത്മാ ഗാന്ധി സർവകലാശാല]] യൂണിയന്റെ ചെയർമാനായിരുന്നു. അദ്ദേഹം [[നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യ|നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യയുടെയും]] (NSUI) എറണാകുളം ഡി.സി.സിയുടേയും സെക്രട്ടറിയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref name="Members - Kerala Legislature">{{Cite web|title=Members - Kerala Legislature|url=http://www.niyamasabha.org/codes/13kla/members/v_d_satheesan.htm|access-date=20 May 2021|website=www.niyamasabha.org}}</ref> 1989-ൽ കെ.എസ്.യു സംസ്ഥാന പ്രസിഡന്റ് പദവി, 1992-ൽ യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ് പദവി, 2011-ലെ ഉമ്മൻ ചാണ്ടി മന്ത്രിസഭയിലെ മന്ത്രിപദം, 2017-ൽ വി.എം.സുധീരൻ രാജി വച്ചപ്പോൾ ഒഴിവ് വന്ന കെ.പി.സി.സി പ്രസിഡന്റ് സ്ഥാനം എന്നീ സ്ഥാനങ്ങളിലേക്ക് ആദ്യമെ സതീശൻ്റെ പേര് വന്നെങ്കിലും പിന്നീട് ആ സ്ഥാനങ്ങൾ സതീശന് നഷ്‌ടപ്പെടുകയായിരുന്നു. വി.ഡി. സതീശന്റെ രാഷ്ട്രീയ അരങ്ങേറ്റം 1996-ലായിരുന്നു. അന്ന് [[കേരള നിയമസഭ]] തിരഞ്ഞെടുപ്പിൽ [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂരിൽ]] നിന്ന് മത്സരിച്ച അദ്ദേഹം [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സി.പി.ഐ]] സ്ഥാനാർഥിയായ [[പി. രാജു]]വിനോട് പരാജയപ്പെട്ടു. അന്നത്തെ കാലത്ത് [[പറവൂർ]] കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ ശക്തികേന്ദ്രമായി കണക്കാക്കപ്പെട്ടിരുന്നു. 1996-ലെ തോൽവിക്ക് ശേഷം അഭിഭാഷക ജോലിയിലേക്ക് തിരിഞ്ഞ സതീശനെ തിരിച്ച് വീണ്ടും രാഷ്ട്രീയത്തിൽ സജീവമാക്കിയ കേരളത്തിലെ മുതിർന്ന കോൺഗ്രസ് നേതാവും മുൻ മന്ത്രിയുമായിരുന്ന ജി.കാർത്തികേയനാണ് സതീശന്റെ രാഷ്ട്രീയ ഗുരു. 2001-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ അദ്ദേഹം ആദ്യമായി ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് ടിക്കറ്റിൽ [[കേരള നിയമസഭ]]യിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. അന്ന് അദ്ദേഹം [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതിയിൽ]] അഭിഭാഷകനായി പ്രവർത്തിക്കുകയായിരുന്നു. പിന്നീട് 2006, 2011, 2016, 2021, 2026 വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും പറവൂരിൽ നിന്ന് വിജയിച്ചു.<ref>{{Cite web|last=Sushanth|title=ASSEMBLY ELECTIONS 1957 - 2016(Kerala)|url=https://data-analytics.github.io/Election_Data/kerala.html|access-date=20 May 2021|website=data-analytics.GitHub.io}}</ref><ref>{{Cite web|title=Kerala Assembly Election Results in 2016|url=https://www.elections.in/kerala/assembly-constituencies/2016-election-results.html|access-date=22 May 2021|website=www.elections.in}}</ref> 2006-ലെ 12-ാം കേരള നിയമസഭയിൽ അദ്ദേഹം [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൻ്റെ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായും]] പ്രവർത്തിച്ചു.<ref>{{Cite news|last=Sudhi|first=K. S.|date=19 March 2021|title=Kerala Assembly Elections {{!}} Congress banks yet again on Satheesan in Paravur|language=en-IN|work=The Hindu|url=https://www.thehindu.com/elections/kerala-assembly/congress-banks-yet-again-on-satheesan-in-paravur/article34103288.ece|access-date=20 May 2021|issn=0971-751X}}</ref> പന്ത്രണ്ടാം കേരള നിയമസഭയിൽ കോൺഗ്രസ് വിപ്പ് സ്ഥാനം വഹിച്ചിരുന്ന ഇദ്ദേഹം അന്യസംസ്ഥാന ലോട്ടറിക്കെതിരായ രാഷ്ട്രീയ സംവാദങ്ങളിലൂടെ കൂടുതൽ മാധ്യമശ്രദ്ധ നേടി.<ref name =madhyamam>{{cite web | url =http://www.madhyamam.com/news/64579/110402 | title =സി.പി.ഐ 'തുരന്തോ'ക്കെതിരെ സതീശൻ | date =ഏപ്രിൽ 2, 2011 | accessdate =ഏപ്രിൽ 11, 2012 | publisher =മാതൃഭൂമി | language = }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2013-ൽ പരിസ്ഥിതിക്കുവേണ്ടിയും, ഗാഡ്ഗിൽ കമ്മറ്റി റിപ്പോർട്ടിനനുകൂലമായും പ്രതികരിക്കുന്ന എംഎൽഎമാരുടെ രാഷ്ട്രീയെതര സംഘത്തിൽ പ്രമുഖനായിരുന്നു.<ref>http://4malayalees.com/index.php?page=newsDetail&id=27830</ref> 2013-ൽ തമിഴ്നാടിൻ്റെ ചുമതലയുള്ള എ.ഐ.സി.സി സെക്രട്ടറിയായും 2014-ൽ കെ.പി.സി.സി വൈസ് പ്രസിഡണ്ടായും നിയമിതനായി.<ref>http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=16143395&tabId=0&contentType=EDITORIAL&BV_ID=@@@{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2016, 2021 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ യു.ഡി.എഫ് പരാജയപ്പെട്ടതോടെ 2016-ലെ പതിനാലാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന രമേശ് ചെന്നിത്തലക്ക് പകരം 2021 മേയ് 22-ന് അഖിലേന്ത്യ കോൺഗ്രസ് വർക്കിംഗ് കമ്മിറ്റി വി.ഡി.സതീശനെ 15-ാം കേരളനിയമസഭയിലെ [[പ്രതിപക്ഷ നേതാവ് (ഇന്ത്യ)|പ്രതിപക്ഷ നേതാവായി]] തിരഞ്ഞെടുത്തു.<ref>{{Cite web|last=തങ്ങൾ|first=ശിഹാബുദ്ദീൻ|title=ഇനി പ്രതിപക്ഷത്തിന്റെ ചാട്ടുളി സതീശൻ; തിരിച്ചുവരവിലേക്കുള്ള ആദ്യചുവട്‌|url=https://www.mathrubhumi.com/news/kerala/vd-satheeshan-leader-of-opposition-in-kerala-1.5685199|access-date=22 May 2021|website=Mathrubhumi|language=ml}}</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ തുടർച്ചയായ തോൽവിയോടെ വെറും 22 സീറ്റിലേക്ക് ഒതുങ്ങി പോയ കോൺഗ്രസ് പാർട്ടിയെ പ്രതിപക്ഷ നേതൃ സ്ഥാനമേറ്റ ശേഷം അഞ്ച് വർഷത്തെ പ്രവർത്തന മികവിൽ 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 63 സീറ്റിലേക്ക് ഉയർത്തിയ സതീശൻ നേതൃത്വം നൽകിയ ഐക്യ ജനാധിപത്യമുന്നണി 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 102 സീറ്റിൽ വൻ വിജയം നേടി പതിനാറാം കേരള നിയമസഭയിൽ ഭരണമുറപ്പിച്ചു.<ref>https://www.madhyamam.com/kerala/vd-satheesan-visits-ak-antony-1519907</ref> പത്ത് ദിവസം നീണ്ടു നിന്ന അനിശ്ചിതത്തിന് ഒടുവിൽ 2026 മെയ് 14-ന് പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന വി.ഡി.സതീശനെ കോൺഗ്രസ് ഹൈക്കമാൻഡ് കേരള മുഖ്യമന്ത്രിയായി പ്രഖ്യാപിച്ചു.<ref>https://www.reporterlive.com/topnews/kerala/2026/05/14/vd-satheesan-cm-announcement-high-command-decision</ref> കേരളത്തിലെ കോൺഗ്രസ് പാർട്ടിയിൽ എ ഐ ഗ്രൂപ്പുകളുടെ പിന്തുണ ഇല്ലാതെ പ്രതിപക്ഷ നേതൃ പദവിയിലെത്തുകയും പിന്നീട് ഗ്രൂപ്പ് രാഷ്ട്രീയമില്ലാതെ തന്നെ നിയമസഭകക്ഷി നേതാവാകുകയും ചെയ്ത ആദ്യത്തെയാളാണ് വി.ഡി.സതീശൻ.<ref>https://www.manoramaonline.com/premium/opinion-and-analysis/2026/05/15/v-d-satheesan-s-rise-as-cm-and-kerala-s-new-political-landscape-prm.html</ref><ref>https://www.madhyamam.com/entertainment/celebrities/vd-satheesan-fully-understood-tmessage-of-sandesham-sathyan-anthikad-1520137</ref> 2026-ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലെ വൻ വിജയത്തെ തുടർന്ന് വി.ഡി.സതീശനെ കോൺഗ്രസ് ലെജിസ്ലേറ്റീവ് പാർട്ടിയുടെ നിയമസഭാകക്ഷി നേതാവായി തിരഞ്ഞെടുത്തു. 2026 മെയ് 18-ന് തിരുവനന്തപുരത്തെ സെൻട്രൽ സ്റ്റേഡിയത്തിൽ വച്ച് കേരളത്തിന്റെ ഇരുപത്തിനാലാമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്തു അധികാരമേറ്റു.<ref>{{Cite web|url=https://keralacm.gov.in/8455/|title=keralacm}}</ref> == തിരഞ്ഞെടുപ്പ് പ്രകടനം == {| class="wikitable" |+[[കേരള നിയമസഭ]] !വർഷം !നിയോജക മണ്ഡലം ! !പാർട്ടി !വോട്ടുകൾ !% !എതിരാളി ! !എതിരാളി പാർട്ടി !വോട്ടുകൾ !% !ഭൂരിപക്ഷം !ഭൂരിപക്ഷം % !ഫലം |- |[[1996 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''1996''']] | rowspan="7" |'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]''' |{{Party name with color|Indian National Congress|rowspan=7}} |'''38,607''' |'''43.67''' | rowspan="2" |[[P. Raju|പി. രാജു]] |{{Party name with color|Communist Party of India|rowspan=7}} |39,723 |44.93 | -1,116 | -1.26% |style="background:#FFB6C1;" | '''പരാജയപ്പെട്ടു''' |- |[[2001 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2001''']] |'''48,859''' |'''50.11%''' |41,425 |42.48 |7,434 |7.63% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2006 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2006''']] |'''51,099''' |'''51.06''' |കെ. എം. ദിനകരൻ |43,307 |43.27 |7,792 |7.79% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2011 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2011''']] |'''74,632''' |'''51.78''' |[[Pannian Ravindran|പന്ന്യൻ രവീന്ദ്രൻ]] |62,955 |43.91 |11,349 |7.87% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2016 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2016''']] |'''74,985''' |'''46.70''' |ശാരദ മോഹൻ |54,351 |33.85 |20,364 |12.85% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2021 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2021''']] |'''82,264''' |'''51.87''' |എം. ടി. നിക്സൺ |60,963 |38.44 |21,301 |13.47% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2026 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2026''']] |'''78,658''' |'''49.2''' |[[E. T. Taison|ഇ. ടി. ടൈസൺ]] |58,058 |36.3 |20,600 |12.7% | style="background:#90EE90;" | '''വിജയിച്ചു''' |} ==അവലംബം== {{Reflist|2}} {{S-start}} {{s-off}} {{s-bef|before=[[പിണറായി വിജയൻ]]}} {{s-ttl|title=[[കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=18 മേയ് 2026 – ഇപ്പോഴും}} {{s-aft|after= - }} {{S-end}} {{Current Indian chief ministers}} {{CMs of Kerala}} {{Fourteenth KLA}} {{Fifteenth KLA}} {{DEFAULTSORT:സതീശൻ}} [[വർഗ്ഗം:1964-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 31-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തുറമുഖ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ നിയമവകുപ്പ് മന്ത്രിമാർ]] 41ze5c6ezedp6qchv3qok4yf7s75eiy 4622192 4622191 2026-05-23T08:45:56Z Altocar 2020 144384 /* */ 4622192 wikitext text/x-wiki {{prettyurl|V.D. Satheesan}} {{Infobox_politician | name = വി.ഡി. സതീശൻ | image = File:Vd-Satheesan.jpg | caption = വി.ഡി. സതീശൻ | office = പതിമൂന്നാമത്തെ [[കേരള മുഖ്യമന്ത്രി]] | term = | predecessor = [[പിണറായി വിജയൻ]] | office1 = കേരളത്തിന്റെ ധനകാര്യം, തുറമുഖം, [[ സംസ്ഥാന ദുരന്ത നിവാരണ അതോറിറ്റി|ദുരന്തനിവാരണം]], നിയമ വകുപ്പുകളുടെ അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി | term1 = 18 മെയ് 2026 | predecessor1 = * [[കെ.എൻ. ബാലഗോപാൽ]] (ധനകാര്യം) * [[വി.എൻ. വാസവൻ]] (തുറമുഖം) * [[പി. രാജീവ്]] (നിയമം) * [[പിണറായി വിജയൻ]] (ദുരന്ത നിവാരണം) | successor = | office2 = പ്രതിപക്ഷ നേതാവ്, പതിനഞ്ചാം [[കേരള നിയമസഭ]] | term_start2 = [[22 മേയ്]] [[2021]] | term_end2 = [[4]] [[മെയ്]] [[2026]] | predecessor2 = [[രമേശ് ചെന്നിത്തല]] | successor2 = [[പിണറായി വിജയൻ]] | office3 = കേരള [[നിയമസഭാംഗം]] | constituency3 = [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] | term_start3 = [[മേയ് 16]] [[2001]] | term_end3 = | predecessor3 = [[പി. രാജു]] | successor3 = | salary = | birth_date = {{Birth date and age|1964|05|31}} | birth_place = [[നെട്ടൂർ]], [[കൊച്ചി]], [[കേരളം]], [[ഇന്ത്യ]] | residence = [[ദേശം]], [[ആലുവ]], [[എറണാകുളം ജില്ല]] | death_date = | death_place = | party = [[File:Indian National Congress Flag.svg|frameless|25x25px]] [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | religion = [[ഹിന്ദു]] | father = കെ. ദാമോദര മേനോൻ | mother = വി. വിലാസിനി അമ്മ | spouse = ആർ. ലക്ഷ്മി പ്രിയ | children = ഒരു മകൾ | website = https://kerala.gov.in/ | date = മെയ് 14 | year = 2026 | source = https://keralacm.gov.in/8455/ കേരള സി.എം | data1 = | 1blankname = ഗവർണർ | 1namedata = [[രാജേന്ദ്ര അർലേക്കർ]] | termstart = 18 മെയ് 2026 }} കേരളത്തിലെ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]] പ്രവർത്തകനാണ്''വടശ്ശേരി ദാമോദരൻ മേനോൻ സതീശൻ'' എന്ന '''വി.ഡി.സതീശൻ.(31 മെയ് 1964)'''. [[എറണാകുളം ജില്ല]]യിൽ നിന്നുള്ള കേരളത്തിലെ ആദ്യത്തെ കോൺഗ്രസ് മുഖ്യമന്ത്രിയും 2001 മുതൽ തുടർച്ചയായി [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ മണ്ഡലത്തിൽ]] നിന്നും കേരള നിയമസഭയിൽ അംഗവുമാണ്.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-from-student-leader-to-kerala-chief-minister.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/habits-will-change-when-vd-satheesan-arrives.html</ref><ref>https://www.manoramaonline.com/district-news/ernakulam/2026/05/15/vd-satheesan-political-insight.html</ref> 2026 മെയ് 18 മുതൽ കേരളത്തിന്റെ പതിമൂന്നാമത് മുഖ്യമന്ത്രിയാണ് ഇദ്ദേഹം<ref>https://malayalam.samayam.com/latest-news/kerala-news/vd-satheesan-makes-history-as-13th-chief-minister-of-kerala-5th-congressman/articleshow/131166934.cms</ref> 2021 മുതൽ 2026 വരെ പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവുമായിരുന്നു വി.ഡി. സതീശൻ. നിയമസഭാംഗമായി മാത്രം തുടർന്ന് സംസ്ഥാന മന്ത്രിസഭകളിൽ അംഗമാകാതെ ആദ്യമായി കേരളത്തിൻ്റെ മുഖ്യമന്ത്രി പദവിയിലെത്തുന്ന ആറാമത്തെ രാഷ്‌ട്രീയ നേതാവാണ് വി.ഡി.സതീശൻ. [[കെ. കരുണാകരൻ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവർക്ക് ശേഷം പ്രതിപക്ഷ നേതാവ് പദവിയിൽ നിന്ന് മുഖ്യമന്ത്രിയാകുന്ന മൂന്നാമത്തെയാളുമാണ്. [[ഇ.എം.എസ്]], [[പട്ടം താണുപിള്ള]], [[എ.കെ. ആന്റണി]], [[ഇ.കെ. നായനാർ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവരാണ് സതീശന് മുൻപ് മന്ത്രിയാകാതെ മുഖ്യമന്ത്രിയായവർ.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-green-mla-commitment-environmental-protection-forest-conservation-gadgil-report-nelliyampathi.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/vd-satheesan-university-election-strategy-1986.html</ref> ==ജീവിതരേഖ== എറണാകുളം ജില്ലയിലെ നെട്ടൂരിൽ (മരട് മുനിസിപ്പാലിറ്റി) വടശ്ശേരി ദാമോദര മേനോന്റെയും വി.വിലാസിനിയമ്മയുടെയും നാലാമത്തെ മകനായി ഇടവ മാസത്തിലെ ചതയം നക്ഷത്രത്തിൽ 1964 മെയ് 31ന് ജനനം. ഉണ്ണികൃഷ്ണൻ, മനോഹരൻ, രാജശേഖരൻ, അജയകുമാർ, ആശ എന്നിവർ സഹോദരങ്ങളാണ്. നെട്ടൂർ എസ്.വി.യു.പി. സ്ക്കൂളിൽ പ്രൈമറി വിദ്യാഭ്യാസത്തിന് ശേഷം പനങ്ങാട് ഹൈസ്ക്കൂളിൽ നിന്ന് പത്താം ക്ലാസ് പാസായ സതീശൻ പ്രീഡിഗ്രിയും ഡിഗ്രിയും തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ നിന്ന് പൂർത്തിയാക്കി. കളമശേരി രാജഗിരി കോളേജിൽ നിന്ന് ഡി.എസ്സ്.എസ്സ് കോഴ്സ് പാസായ ശേഷം തിരുവനന്തപുരം ലോഅക്കാദമിയിൽ നിന്നും എൽ.എൽ.ബിയും ഗവ. ലോ കോളേജിൽ നിന്ന് നിയമത്തിൽ മാസ്റ്റർ ബിരുദവും നേടി. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ പഠിക്കുമ്പോൾ കോൺഗ്രസിന്റെ വിദ്യാർഥി പ്രസ്ഥാനമായ കെ.എസ്.യുവിൽ പ്രവർത്തിച്ചാണ് ഇദ്ദേഹത്തിന്റെ രാഷ്ട്രീയപ്രവേശം. കെ.എസ്.യു വഴി വിദ്യാർത്ഥി രാഷ്‌ട്രീയത്തിൻ്റെ നേതൃ നിരയിലെത്തിയ സതീശൻ പിന്നീട് കളമശേരി രാജഗിരി കോളേജിലെ യൂണിവേഴ്സിറ്റി യൂണിയൻ കൗൺസിലറും എം.ജി സർവകലാശാല യൂണിയൻ ചെയർമാനുമായി. 1986-ൽ എറണാകുളത്ത് വച്ച് നടന്ന എം.ജി സർവകലാശാല യുവജനോത്സവമായ ഉത്സവ് 86 സ്തീശൻ്റെ സംഘാടക മികവിന് തെളിവായിരുന്നു. പത്ത് വർഷം കേരള ഹൈക്കോടതിയിൽ അഭിഭാഷകനായി ജീവിതമാരംഭിച്ച സതീശൻ ഐ.എൻ.ടി.യു.സിയുടെ കീഴിലുള്ള നിരവധി ട്രേഡ് യൂണിയനുകളുടെ ഭാരവാഹിയായിരുന്നു. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിലെ ആർട്സ് ക്ലബ് സെക്രട്ടറിയായിരുന്നു. എം.ജി, കേരള സർവ്വകലാശാലകളിൽ യൂണിയൻ കൗൺസിലറായും പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.niyamasabha.org/codes/members/satheesanvd.pdf</ref> <ref>https://www.business-standard.com/article/politics/congress-mla-vd-satheesan-to-be-the-leader-of-opposition-in-kerala-121052201127_1.html</ref> ==രാഷ്ട്രീയ ജീവിതം== 1986–1987 കാലഘട്ടത്തിൽ സതീശൻ [[മഹാത്മാഗാന്ധി സർവ്വകലാശാല|മഹാത്മാ ഗാന്ധി സർവകലാശാല]] യൂണിയന്റെ ചെയർമാനായിരുന്നു. അദ്ദേഹം [[നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യ|നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യയുടെയും]] (NSUI) എറണാകുളം ഡി.സി.സിയുടേയും സെക്രട്ടറിയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref name="Members - Kerala Legislature">{{Cite web|title=Members - Kerala Legislature|url=http://www.niyamasabha.org/codes/13kla/members/v_d_satheesan.htm|access-date=20 May 2021|website=www.niyamasabha.org}}</ref> 1989-ൽ കെ.എസ്.യു സംസ്ഥാന പ്രസിഡന്റ് പദവി, 1992-ൽ യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ് പദവി, 2011-ലെ ഉമ്മൻ ചാണ്ടി മന്ത്രിസഭയിലെ മന്ത്രിപദം, 2017-ൽ വി.എം.സുധീരൻ രാജി വച്ചപ്പോൾ ഒഴിവ് വന്ന കെ.പി.സി.സി പ്രസിഡന്റ് സ്ഥാനം എന്നീ സ്ഥാനങ്ങളിലേക്ക് ആദ്യമെ സതീശൻ്റെ പേര് വന്നെങ്കിലും പിന്നീട് ആ സ്ഥാനങ്ങൾ സതീശന് നഷ്‌ടപ്പെടുകയായിരുന്നു. വി.ഡി. സതീശന്റെ രാഷ്ട്രീയ അരങ്ങേറ്റം 1996-ലായിരുന്നു. അന്ന് [[കേരള നിയമസഭ]] തിരഞ്ഞെടുപ്പിൽ [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂരിൽ]] നിന്ന് മത്സരിച്ച അദ്ദേഹം [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സി.പി.ഐ]] സ്ഥാനാർഥിയായ [[പി. രാജു]]വിനോട് പരാജയപ്പെട്ടു. അന്നത്തെ കാലത്ത് [[പറവൂർ]] കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ ശക്തികേന്ദ്രമായി കണക്കാക്കപ്പെട്ടിരുന്നു. 1996-ലെ തോൽവിക്ക് ശേഷം അഭിഭാഷക ജോലിയിലേക്ക് തിരിഞ്ഞ സതീശനെ തിരിച്ച് വീണ്ടും രാഷ്ട്രീയത്തിൽ സജീവമാക്കിയ കേരളത്തിലെ മുതിർന്ന കോൺഗ്രസ് നേതാവും മുൻ മന്ത്രിയുമായിരുന്ന ജി.കാർത്തികേയനാണ് സതീശന്റെ രാഷ്ട്രീയ ഗുരു. 2001-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ അദ്ദേഹം ആദ്യമായി ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് ടിക്കറ്റിൽ [[കേരള നിയമസഭ]]യിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. അന്ന് അദ്ദേഹം [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതിയിൽ]] അഭിഭാഷകനായി പ്രവർത്തിക്കുകയായിരുന്നു. പിന്നീട് 2006, 2011, 2016, 2021, 2026 വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും പറവൂരിൽ നിന്ന് വിജയിച്ചു.<ref>{{Cite web|last=Sushanth|title=ASSEMBLY ELECTIONS 1957 - 2016(Kerala)|url=https://data-analytics.github.io/Election_Data/kerala.html|access-date=20 May 2021|website=data-analytics.GitHub.io}}</ref><ref>{{Cite web|title=Kerala Assembly Election Results in 2016|url=https://www.elections.in/kerala/assembly-constituencies/2016-election-results.html|access-date=22 May 2021|website=www.elections.in}}</ref> 2006-ലെ 12-ാം കേരള നിയമസഭയിൽ അദ്ദേഹം [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൻ്റെ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായും]] പ്രവർത്തിച്ചു.<ref>{{Cite news|last=Sudhi|first=K. S.|date=19 March 2021|title=Kerala Assembly Elections {{!}} Congress banks yet again on Satheesan in Paravur|language=en-IN|work=The Hindu|url=https://www.thehindu.com/elections/kerala-assembly/congress-banks-yet-again-on-satheesan-in-paravur/article34103288.ece|access-date=20 May 2021|issn=0971-751X}}</ref> പന്ത്രണ്ടാം കേരള നിയമസഭയിൽ കോൺഗ്രസ് വിപ്പ് സ്ഥാനം വഹിച്ചിരുന്ന ഇദ്ദേഹം അന്യസംസ്ഥാന ലോട്ടറിക്കെതിരായ രാഷ്ട്രീയ സംവാദങ്ങളിലൂടെ കൂടുതൽ മാധ്യമശ്രദ്ധ നേടി.<ref name =madhyamam>{{cite web | url =http://www.madhyamam.com/news/64579/110402 | title =സി.പി.ഐ 'തുരന്തോ'ക്കെതിരെ സതീശൻ | date =ഏപ്രിൽ 2, 2011 | accessdate =ഏപ്രിൽ 11, 2012 | publisher =മാതൃഭൂമി | language = }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2013-ൽ പരിസ്ഥിതിക്കുവേണ്ടിയും, ഗാഡ്ഗിൽ കമ്മറ്റി റിപ്പോർട്ടിനനുകൂലമായും പ്രതികരിക്കുന്ന എംഎൽഎമാരുടെ രാഷ്ട്രീയെതര സംഘത്തിൽ പ്രമുഖനായിരുന്നു.<ref>http://4malayalees.com/index.php?page=newsDetail&id=27830</ref> 2013-ൽ തമിഴ്നാടിൻ്റെ ചുമതലയുള്ള എ.ഐ.സി.സി സെക്രട്ടറിയായും 2014-ൽ കെ.പി.സി.സി വൈസ് പ്രസിഡണ്ടായും നിയമിതനായി.<ref>http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=16143395&tabId=0&contentType=EDITORIAL&BV_ID=@@@{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2016, 2021 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ യു.ഡി.എഫ് പരാജയപ്പെട്ടതോടെ 2016-ലെ പതിനാലാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന രമേശ് ചെന്നിത്തലക്ക് പകരം 2021 മേയ് 22-ന് അഖിലേന്ത്യ കോൺഗ്രസ് വർക്കിംഗ് കമ്മിറ്റി വി.ഡി.സതീശനെ 15-ാം കേരളനിയമസഭയിലെ [[പ്രതിപക്ഷ നേതാവ് (ഇന്ത്യ)|പ്രതിപക്ഷ നേതാവായി]] തിരഞ്ഞെടുത്തു.<ref>{{Cite web|last=തങ്ങൾ|first=ശിഹാബുദ്ദീൻ|title=ഇനി പ്രതിപക്ഷത്തിന്റെ ചാട്ടുളി സതീശൻ; തിരിച്ചുവരവിലേക്കുള്ള ആദ്യചുവട്‌|url=https://www.mathrubhumi.com/news/kerala/vd-satheeshan-leader-of-opposition-in-kerala-1.5685199|access-date=22 May 2021|website=Mathrubhumi|language=ml}}</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ തുടർച്ചയായ തോൽവിയോടെ വെറും 22 സീറ്റിലേക്ക് ഒതുങ്ങി പോയ കോൺഗ്രസ് പാർട്ടിയെ പ്രതിപക്ഷ നേതൃ സ്ഥാനമേറ്റ ശേഷം അഞ്ച് വർഷത്തെ പ്രവർത്തന മികവിൽ 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 63 സീറ്റിലേക്ക് ഉയർത്തിയ സതീശൻ നേതൃത്വം നൽകിയ ഐക്യ ജനാധിപത്യമുന്നണി 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 102 സീറ്റിൽ വൻ വിജയം നേടി പതിനാറാം കേരള നിയമസഭയിൽ ഭരണമുറപ്പിച്ചു.<ref>https://www.madhyamam.com/kerala/vd-satheesan-visits-ak-antony-1519907</ref> പത്ത് ദിവസം നീണ്ടു നിന്ന അനിശ്ചിതത്തിന് ഒടുവിൽ 2026 മെയ് 14-ന് പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന വി.ഡി.സതീശനെ കോൺഗ്രസ് ഹൈക്കമാൻഡ് കേരള മുഖ്യമന്ത്രിയായി പ്രഖ്യാപിച്ചു.<ref>https://www.reporterlive.com/topnews/kerala/2026/05/14/vd-satheesan-cm-announcement-high-command-decision</ref> കേരളത്തിലെ കോൺഗ്രസ് പാർട്ടിയിൽ എ ഐ ഗ്രൂപ്പുകളുടെ പിന്തുണ ഇല്ലാതെ പ്രതിപക്ഷ നേതൃ പദവിയിലെത്തുകയും പിന്നീട് ഗ്രൂപ്പ് രാഷ്ട്രീയമില്ലാതെ തന്നെ നിയമസഭകക്ഷി നേതാവാകുകയും ചെയ്ത ആദ്യത്തെയാളാണ് വി.ഡി.സതീശൻ.<ref>https://www.manoramaonline.com/premium/opinion-and-analysis/2026/05/15/v-d-satheesan-s-rise-as-cm-and-kerala-s-new-political-landscape-prm.html</ref><ref>https://www.madhyamam.com/entertainment/celebrities/vd-satheesan-fully-understood-tmessage-of-sandesham-sathyan-anthikad-1520137</ref> 2026-ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലെ വൻ വിജയത്തെ തുടർന്ന് വി.ഡി.സതീശനെ കോൺഗ്രസ് ലെജിസ്ലേറ്റീവ് പാർട്ടിയുടെ നിയമസഭാകക്ഷി നേതാവായി തിരഞ്ഞെടുത്തു. 2026 മെയ് 18-ന് തിരുവനന്തപുരത്തെ സെൻട്രൽ സ്റ്റേഡിയത്തിൽ വച്ച് കേരളത്തിന്റെ ഇരുപത്തിനാലാമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്തു അധികാരമേറ്റു.<ref>{{Cite web|url=https://keralacm.gov.in/8455/|title=keralacm}}</ref> == തിരഞ്ഞെടുപ്പ് പ്രകടനം == {| class="wikitable" |+[[കേരള നിയമസഭ]] !വർഷം !നിയോജക മണ്ഡലം ! !പാർട്ടി !വോട്ടുകൾ !% !എതിരാളി ! !എതിരാളി പാർട്ടി !വോട്ടുകൾ !% !ഭൂരിപക്ഷം !ഭൂരിപക്ഷം % !ഫലം |- |[[1996 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''1996''']] | rowspan="7" |'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]''' |{{Party name with color|Indian National Congress|rowspan=7}} |'''38,607''' |'''43.67''' | rowspan="2" |[[P. Raju|പി. രാജു]] |{{Party name with color|Communist Party of India|rowspan=7}} |39,723 |44.93 | -1,116 | -1.26% |style="background:#FFB6C1;" | '''പരാജയപ്പെട്ടു''' |- |[[2001 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2001''']] |'''48,859''' |'''50.11%''' |41,425 |42.48 |7,434 |7.63% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2006 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2006''']] |'''51,099''' |'''51.06''' |കെ. എം. ദിനകരൻ |43,307 |43.27 |7,792 |7.79% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2011 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2011''']] |'''74,632''' |'''51.78''' |[[Pannian Ravindran|പന്ന്യൻ രവീന്ദ്രൻ]] |62,955 |43.91 |11,349 |7.87% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2016 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2016''']] |'''74,985''' |'''46.70''' |ശാരദ മോഹൻ |54,351 |33.85 |20,364 |12.85% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2021 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2021''']] |'''82,264''' |'''51.87''' |എം. ടി. നിക്സൺ |60,963 |38.44 |21,301 |13.47% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2026 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2026''']] |'''78,658''' |'''49.2''' |[[E. T. Taison|ഇ. ടി. ടൈസൺ]] |58,058 |36.3 |20,600 |12.7% | style="background:#90EE90;" | '''വിജയിച്ചു''' |} ==അവലംബം== {{Reflist|2}} {{S-start}} {{s-off}} {{s-bef|before=[[പിണറായി വിജയൻ]]}} {{s-ttl|title=[[കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=18 മേയ് 2026 – ഇപ്പോഴും}} {{s-aft|after= - }} {{S-end}} {{Current Indian chief ministers}} {{CMs of Kerala}} {{Fourteenth KLA}} {{Fifteenth KLA}} {{DEFAULTSORT:സതീശൻ}} [[വർഗ്ഗം:1964-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 31-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തുറമുഖ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ നിയമവകുപ്പ് മന്ത്രിമാർ]] 7092idl89y2zx5zbjcj9gotqbkfujwq 4622193 4622192 2026-05-23T08:48:17Z Altocar 2020 144384 /* ജീവിതരേഖ */ MSW കോഴ്‌സ് ചെയ്തു എന്ന് കേരള മുഖ്യമന്ത്രിയുടെ ഔദ്യോഗിക വെബ്സൈറ്റ് സാക്ഷ്യപ്പെടുത്തുന്നുണ്ട്... സംശയം ഉള്ളവർ കേരള സി എം വെബ്സൈറ്റ് സന്ദർശിക്കുക... ഇനി ഇതു മാറ്റാൻ പാടില്ല 4622193 wikitext text/x-wiki {{prettyurl|V.D. Satheesan}} {{Infobox_politician | name = വി.ഡി. സതീശൻ | image = File:Vd-Satheesan.jpg | caption = വി.ഡി. സതീശൻ | office = പതിമൂന്നാമത്തെ [[കേരള മുഖ്യമന്ത്രി]] | term = | predecessor = [[പിണറായി വിജയൻ]] | office1 = കേരളത്തിന്റെ ധനകാര്യം, തുറമുഖം, [[ സംസ്ഥാന ദുരന്ത നിവാരണ അതോറിറ്റി|ദുരന്തനിവാരണം]], നിയമ വകുപ്പുകളുടെ അധിക ചുമതലയുള്ള മുഖ്യമന്ത്രി | term1 = 18 മെയ് 2026 | predecessor1 = * [[കെ.എൻ. ബാലഗോപാൽ]] (ധനകാര്യം) * [[വി.എൻ. വാസവൻ]] (തുറമുഖം) * [[പി. രാജീവ്]] (നിയമം) * [[പിണറായി വിജയൻ]] (ദുരന്ത നിവാരണം) | successor = | office2 = പ്രതിപക്ഷ നേതാവ്, പതിനഞ്ചാം [[കേരള നിയമസഭ]] | term_start2 = [[22 മേയ്]] [[2021]] | term_end2 = [[4]] [[മെയ്]] [[2026]] | predecessor2 = [[രമേശ് ചെന്നിത്തല]] | successor2 = [[പിണറായി വിജയൻ]] | office3 = കേരള [[നിയമസഭാംഗം]] | constituency3 = [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] | term_start3 = [[മേയ് 16]] [[2001]] | term_end3 = | predecessor3 = [[പി. രാജു]] | successor3 = | salary = | birth_date = {{Birth date and age|1964|05|31}} | birth_place = [[നെട്ടൂർ]], [[കൊച്ചി]], [[കേരളം]], [[ഇന്ത്യ]] | residence = [[ദേശം]], [[ആലുവ]], [[എറണാകുളം ജില്ല]] | death_date = | death_place = | party = [[File:Indian National Congress Flag.svg|frameless|25x25px]] [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | religion = [[ഹിന്ദു]] | father = കെ. ദാമോദര മേനോൻ | mother = വി. വിലാസിനി അമ്മ | spouse = ആർ. ലക്ഷ്മി പ്രിയ | children = ഒരു മകൾ | website = https://kerala.gov.in/ | date = മെയ് 14 | year = 2026 | source = https://keralacm.gov.in/8455/ കേരള സി.എം | data1 = | 1blankname = ഗവർണർ | 1namedata = [[രാജേന്ദ്ര അർലേക്കർ]] | termstart = 18 മെയ് 2026 }} കേരളത്തിലെ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]] പ്രവർത്തകനാണ്''വടശ്ശേരി ദാമോദരൻ മേനോൻ സതീശൻ'' എന്ന '''വി.ഡി.സതീശൻ.(31 മെയ് 1964)'''. [[എറണാകുളം ജില്ല]]യിൽ നിന്നുള്ള കേരളത്തിലെ ആദ്യത്തെ കോൺഗ്രസ് മുഖ്യമന്ത്രിയും 2001 മുതൽ തുടർച്ചയായി [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ മണ്ഡലത്തിൽ]] നിന്നും കേരള നിയമസഭയിൽ അംഗവുമാണ്.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-from-student-leader-to-kerala-chief-minister.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/habits-will-change-when-vd-satheesan-arrives.html</ref><ref>https://www.manoramaonline.com/district-news/ernakulam/2026/05/15/vd-satheesan-political-insight.html</ref> 2026 മെയ് 18 മുതൽ കേരളത്തിന്റെ പതിമൂന്നാമത് മുഖ്യമന്ത്രിയാണ് ഇദ്ദേഹം<ref>https://malayalam.samayam.com/latest-news/kerala-news/vd-satheesan-makes-history-as-13th-chief-minister-of-kerala-5th-congressman/articleshow/131166934.cms</ref> 2021 മുതൽ 2026 വരെ പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവുമായിരുന്നു വി.ഡി. സതീശൻ. നിയമസഭാംഗമായി മാത്രം തുടർന്ന് സംസ്ഥാന മന്ത്രിസഭകളിൽ അംഗമാകാതെ ആദ്യമായി കേരളത്തിൻ്റെ മുഖ്യമന്ത്രി പദവിയിലെത്തുന്ന ആറാമത്തെ രാഷ്‌ട്രീയ നേതാവാണ് വി.ഡി.സതീശൻ. [[കെ. കരുണാകരൻ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവർക്ക് ശേഷം പ്രതിപക്ഷ നേതാവ് പദവിയിൽ നിന്ന് മുഖ്യമന്ത്രിയാകുന്ന മൂന്നാമത്തെയാളുമാണ്. [[ഇ.എം.എസ്]], [[പട്ടം താണുപിള്ള]], [[എ.കെ. ആന്റണി]], [[ഇ.കെ. നായനാർ]], [[വി.എസ്. അച്യുതാനന്ദൻ]] എന്നിവരാണ് സതീശന് മുൻപ് മന്ത്രിയാകാതെ മുഖ്യമന്ത്രിയായവർ.<ref>https://www.manoramaonline.com/news/latest-news/2026/05/14/vd-satheesan-green-mla-commitment-environmental-protection-forest-conservation-gadgil-report-nelliyampathi.html</ref><ref>https://www.manoramaonline.com/news/latest-news/2026/05/15/vd-satheesan-university-election-strategy-1986.html</ref> ==ജീവിതരേഖ== എറണാകുളം ജില്ലയിലെ നെട്ടൂരിൽ (മരട് മുനിസിപ്പാലിറ്റി) വടശ്ശേരി ദാമോദര മേനോന്റെയും വി.വിലാസിനിയമ്മയുടെയും നാലാമത്തെ മകനായി ഇടവ മാസത്തിലെ ചതയം നക്ഷത്രത്തിൽ 1964 മെയ് 31ന് ജനനം. ഉണ്ണികൃഷ്ണൻ, മനോഹരൻ, രാജശേഖരൻ, അജയകുമാർ, ആശ എന്നിവർ സഹോദരങ്ങളാണ്. നെട്ടൂർ എസ്.വി.യു.പി. സ്ക്കൂളിൽ പ്രൈമറി വിദ്യാഭ്യാസത്തിന് ശേഷം പനങ്ങാട് ഹൈസ്ക്കൂളിൽ നിന്ന് പത്താം ക്ലാസ് പാസായ സതീശൻ പ്രീഡിഗ്രിയും ഡിഗ്രിയും തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ നിന്ന് പൂർത്തിയാക്കി. കളമശേരി രാജഗിരി കോളേജിൽ നിന്ന് എം.എസ്.ഡബ്യു കോഴ്സ് പാസായ ശേഷം തിരുവനന്തപുരം ലോ അക്കാദമിയിൽ നിന്നും എൽ.എൽ.ബിയും ഗവ.ലോ കോളേജിൽ നിന്ന് നിയമത്തിൽ മാസ്റ്റർ ബിരുദവും നേടി. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിൽ പഠിക്കുമ്പോൾ കോൺഗ്രസിന്റെ വിദ്യാർഥി പ്രസ്ഥാനമായ കെ.എസ്.യുവിൽ പ്രവർത്തിച്ചാണ് ഇദ്ദേഹത്തിന്റെ രാഷ്ട്രീയപ്രവേശം. കെ.എസ്.യു വഴി വിദ്യാർത്ഥി രാഷ്‌ട്രീയത്തിൻ്റെ നേതൃ നിരയിലെത്തിയ സതീശൻ പിന്നീട് കളമശേരി രാജഗിരി കോളേജിലെ യൂണിവേഴ്സിറ്റി യൂണിയൻ കൗൺസിലറും എം.ജി സർവകലാശാല യൂണിയൻ ചെയർമാനുമായി. 1986-ൽ എറണാകുളത്ത് വച്ച് നടന്ന എം.ജി സർവകലാശാല യുവജനോത്സവമായ ഉത്സവ് 86 സ്തീശൻ്റെ സംഘാടക മികവിന് തെളിവായിരുന്നു. പത്ത് വർഷം കേരള ഹൈക്കോടതിയിൽ അഭിഭാഷകനായി ജീവിതമാരംഭിച്ച സതീശൻ ഐ.എൻ.ടി.യു.സിയുടെ കീഴിലുള്ള നിരവധി ട്രേഡ് യൂണിയനുകളുടെ ഭാരവാഹിയായിരുന്നു. തേവര സേക്രഡ് ഹാർട്ട് കോളേജിലെ ആർട്സ് ക്ലബ് സെക്രട്ടറിയായിരുന്നു. എം.ജി, കേരള സർവ്വകലാശാലകളിൽ യൂണിയൻ കൗൺസിലറായും പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.niyamasabha.org/codes/members/satheesanvd.pdf</ref> <ref>https://www.business-standard.com/article/politics/congress-mla-vd-satheesan-to-be-the-leader-of-opposition-in-kerala-121052201127_1.html</ref> ==രാഷ്ട്രീയ ജീവിതം== 1986–1987 കാലഘട്ടത്തിൽ സതീശൻ [[മഹാത്മാഗാന്ധി സർവ്വകലാശാല|മഹാത്മാ ഗാന്ധി സർവകലാശാല]] യൂണിയന്റെ ചെയർമാനായിരുന്നു. അദ്ദേഹം [[നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യ|നാഷണൽ സ്റ്റുഡന്റ്സ് യൂണിയൻ ഓഫ് ഇന്ത്യയുടെയും]] (NSUI) എറണാകുളം ഡി.സി.സിയുടേയും സെക്രട്ടറിയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref name="Members - Kerala Legislature">{{Cite web|title=Members - Kerala Legislature|url=http://www.niyamasabha.org/codes/13kla/members/v_d_satheesan.htm|access-date=20 May 2021|website=www.niyamasabha.org}}</ref> 1989-ൽ കെ.എസ്.യു സംസ്ഥാന പ്രസിഡന്റ് പദവി, 1992-ൽ യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ് പദവി, 2011-ലെ ഉമ്മൻ ചാണ്ടി മന്ത്രിസഭയിലെ മന്ത്രിപദം, 2017-ൽ വി.എം.സുധീരൻ രാജി വച്ചപ്പോൾ ഒഴിവ് വന്ന കെ.പി.സി.സി പ്രസിഡന്റ് സ്ഥാനം എന്നീ സ്ഥാനങ്ങളിലേക്ക് ആദ്യമെ സതീശൻ്റെ പേര് വന്നെങ്കിലും പിന്നീട് ആ സ്ഥാനങ്ങൾ സതീശന് നഷ്‌ടപ്പെടുകയായിരുന്നു. വി.ഡി. സതീശന്റെ രാഷ്ട്രീയ അരങ്ങേറ്റം 1996-ലായിരുന്നു. അന്ന് [[കേരള നിയമസഭ]] തിരഞ്ഞെടുപ്പിൽ [[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂരിൽ]] നിന്ന് മത്സരിച്ച അദ്ദേഹം [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സി.പി.ഐ]] സ്ഥാനാർഥിയായ [[പി. രാജു]]വിനോട് പരാജയപ്പെട്ടു. അന്നത്തെ കാലത്ത് [[പറവൂർ]] കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയുടെ ശക്തികേന്ദ്രമായി കണക്കാക്കപ്പെട്ടിരുന്നു. 1996-ലെ തോൽവിക്ക് ശേഷം അഭിഭാഷക ജോലിയിലേക്ക് തിരിഞ്ഞ സതീശനെ തിരിച്ച് വീണ്ടും രാഷ്ട്രീയത്തിൽ സജീവമാക്കിയ കേരളത്തിലെ മുതിർന്ന കോൺഗ്രസ് നേതാവും മുൻ മന്ത്രിയുമായിരുന്ന ജി.കാർത്തികേയനാണ് സതീശന്റെ രാഷ്ട്രീയ ഗുരു. 2001-ലെ കേരള നിയമസഭ തിരഞ്ഞെടുപ്പിൽ അദ്ദേഹം ആദ്യമായി ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് ടിക്കറ്റിൽ [[കേരള നിയമസഭ]]യിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. അന്ന് അദ്ദേഹം [[കേരള ഹൈക്കോടതി|കേരള ഹൈക്കോടതിയിൽ]] അഭിഭാഷകനായി പ്രവർത്തിക്കുകയായിരുന്നു. പിന്നീട് 2006, 2011, 2016, 2021, 2026 വർഷങ്ങളിൽ നടന്ന നിയമസഭ തിരഞ്ഞെടുപ്പുകളിലും പറവൂരിൽ നിന്ന് വിജയിച്ചു.<ref>{{Cite web|last=Sushanth|title=ASSEMBLY ELECTIONS 1957 - 2016(Kerala)|url=https://data-analytics.github.io/Election_Data/kerala.html|access-date=20 May 2021|website=data-analytics.GitHub.io}}</ref><ref>{{Cite web|title=Kerala Assembly Election Results in 2016|url=https://www.elections.in/kerala/assembly-constituencies/2016-election-results.html|access-date=22 May 2021|website=www.elections.in}}</ref> 2006-ലെ 12-ാം കേരള നിയമസഭയിൽ അദ്ദേഹം [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൻ്റെ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായും]] പ്രവർത്തിച്ചു.<ref>{{Cite news|last=Sudhi|first=K. S.|date=19 March 2021|title=Kerala Assembly Elections {{!}} Congress banks yet again on Satheesan in Paravur|language=en-IN|work=The Hindu|url=https://www.thehindu.com/elections/kerala-assembly/congress-banks-yet-again-on-satheesan-in-paravur/article34103288.ece|access-date=20 May 2021|issn=0971-751X}}</ref> പന്ത്രണ്ടാം കേരള നിയമസഭയിൽ കോൺഗ്രസ് വിപ്പ് സ്ഥാനം വഹിച്ചിരുന്ന ഇദ്ദേഹം അന്യസംസ്ഥാന ലോട്ടറിക്കെതിരായ രാഷ്ട്രീയ സംവാദങ്ങളിലൂടെ കൂടുതൽ മാധ്യമശ്രദ്ധ നേടി.<ref name =madhyamam>{{cite web | url =http://www.madhyamam.com/news/64579/110402 | title =സി.പി.ഐ 'തുരന്തോ'ക്കെതിരെ സതീശൻ | date =ഏപ്രിൽ 2, 2011 | accessdate =ഏപ്രിൽ 11, 2012 | publisher =മാതൃഭൂമി | language = }}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2013-ൽ പരിസ്ഥിതിക്കുവേണ്ടിയും, ഗാഡ്ഗിൽ കമ്മറ്റി റിപ്പോർട്ടിനനുകൂലമായും പ്രതികരിക്കുന്ന എംഎൽഎമാരുടെ രാഷ്ട്രീയെതര സംഘത്തിൽ പ്രമുഖനായിരുന്നു.<ref>http://4malayalees.com/index.php?page=newsDetail&id=27830</ref> 2013-ൽ തമിഴ്നാടിൻ്റെ ചുമതലയുള്ള എ.ഐ.സി.സി സെക്രട്ടറിയായും 2014-ൽ കെ.പി.സി.സി വൈസ് പ്രസിഡണ്ടായും നിയമിതനായി.<ref>http://www.manoramaonline.com/cgi-bin/MMOnline.dll/portal/ep/malayalamContentView.do?contentId=16143395&tabId=0&contentType=EDITORIAL&BV_ID=@@@{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> 2016, 2021 നിയമസഭ തിരഞ്ഞെടുപ്പുകളിൽ യു.ഡി.എഫ് പരാജയപ്പെട്ടതോടെ 2016-ലെ പതിനാലാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന രമേശ് ചെന്നിത്തലക്ക് പകരം 2021 മേയ് 22-ന് അഖിലേന്ത്യ കോൺഗ്രസ് വർക്കിംഗ് കമ്മിറ്റി വി.ഡി.സതീശനെ 15-ാം കേരളനിയമസഭയിലെ [[പ്രതിപക്ഷ നേതാവ് (ഇന്ത്യ)|പ്രതിപക്ഷ നേതാവായി]] തിരഞ്ഞെടുത്തു.<ref>{{Cite web|last=തങ്ങൾ|first=ശിഹാബുദ്ദീൻ|title=ഇനി പ്രതിപക്ഷത്തിന്റെ ചാട്ടുളി സതീശൻ; തിരിച്ചുവരവിലേക്കുള്ള ആദ്യചുവട്‌|url=https://www.mathrubhumi.com/news/kerala/vd-satheeshan-leader-of-opposition-in-kerala-1.5685199|access-date=22 May 2021|website=Mathrubhumi|language=ml}}</ref> 2021-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ തുടർച്ചയായ തോൽവിയോടെ വെറും 22 സീറ്റിലേക്ക് ഒതുങ്ങി പോയ കോൺഗ്രസ് പാർട്ടിയെ പ്രതിപക്ഷ നേതൃ സ്ഥാനമേറ്റ ശേഷം അഞ്ച് വർഷത്തെ പ്രവർത്തന മികവിൽ 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 63 സീറ്റിലേക്ക് ഉയർത്തിയ സതീശൻ നേതൃത്വം നൽകിയ ഐക്യ ജനാധിപത്യമുന്നണി 2026-ലെ നിയമസഭ തിരഞ്ഞെടുപ്പിൽ 102 സീറ്റിൽ വൻ വിജയം നേടി പതിനാറാം കേരള നിയമസഭയിൽ ഭരണമുറപ്പിച്ചു.<ref>https://www.madhyamam.com/kerala/vd-satheesan-visits-ak-antony-1519907</ref> പത്ത് ദിവസം നീണ്ടു നിന്ന അനിശ്ചിതത്തിന് ഒടുവിൽ 2026 മെയ് 14-ന് പതിനഞ്ചാം കേരള നിയമസഭയിലെ പ്രതിപക്ഷ നേതാവായിരുന്ന വി.ഡി.സതീശനെ കോൺഗ്രസ് ഹൈക്കമാൻഡ് കേരള മുഖ്യമന്ത്രിയായി പ്രഖ്യാപിച്ചു.<ref>https://www.reporterlive.com/topnews/kerala/2026/05/14/vd-satheesan-cm-announcement-high-command-decision</ref> കേരളത്തിലെ കോൺഗ്രസ് പാർട്ടിയിൽ എ ഐ ഗ്രൂപ്പുകളുടെ പിന്തുണ ഇല്ലാതെ പ്രതിപക്ഷ നേതൃ പദവിയിലെത്തുകയും പിന്നീട് ഗ്രൂപ്പ് രാഷ്ട്രീയമില്ലാതെ തന്നെ നിയമസഭകക്ഷി നേതാവാകുകയും ചെയ്ത ആദ്യത്തെയാളാണ് വി.ഡി.സതീശൻ.<ref>https://www.manoramaonline.com/premium/opinion-and-analysis/2026/05/15/v-d-satheesan-s-rise-as-cm-and-kerala-s-new-political-landscape-prm.html</ref><ref>https://www.madhyamam.com/entertainment/celebrities/vd-satheesan-fully-understood-tmessage-of-sandesham-sathyan-anthikad-1520137</ref> 2026-ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലെ വൻ വിജയത്തെ തുടർന്ന് വി.ഡി.സതീശനെ കോൺഗ്രസ് ലെജിസ്ലേറ്റീവ് പാർട്ടിയുടെ നിയമസഭാകക്ഷി നേതാവായി തിരഞ്ഞെടുത്തു. 2026 മെയ് 18-ന് തിരുവനന്തപുരത്തെ സെൻട്രൽ സ്റ്റേഡിയത്തിൽ വച്ച് കേരളത്തിന്റെ ഇരുപത്തിനാലാമത്തെ മുഖ്യമന്ത്രിയായി സത്യപ്രതിജ്ഞ ചെയ്തു അധികാരമേറ്റു.<ref>{{Cite web|url=https://keralacm.gov.in/8455/|title=keralacm}}</ref> == തിരഞ്ഞെടുപ്പ് പ്രകടനം == {| class="wikitable" |+[[കേരള നിയമസഭ]] !വർഷം !നിയോജക മണ്ഡലം ! !പാർട്ടി !വോട്ടുകൾ !% !എതിരാളി ! !എതിരാളി പാർട്ടി !വോട്ടുകൾ !% !ഭൂരിപക്ഷം !ഭൂരിപക്ഷം % !ഫലം |- |[[1996 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''1996''']] | rowspan="7" |'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]''' |{{Party name with color|Indian National Congress|rowspan=7}} |'''38,607''' |'''43.67''' | rowspan="2" |[[P. Raju|പി. രാജു]] |{{Party name with color|Communist Party of India|rowspan=7}} |39,723 |44.93 | -1,116 | -1.26% |style="background:#FFB6C1;" | '''പരാജയപ്പെട്ടു''' |- |[[2001 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2001''']] |'''48,859''' |'''50.11%''' |41,425 |42.48 |7,434 |7.63% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2006 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2006''']] |'''51,099''' |'''51.06''' |കെ. എം. ദിനകരൻ |43,307 |43.27 |7,792 |7.79% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2011 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2011''']] |'''74,632''' |'''51.78''' |[[Pannian Ravindran|പന്ന്യൻ രവീന്ദ്രൻ]] |62,955 |43.91 |11,349 |7.87% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2016 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2016''']] |'''74,985''' |'''46.70''' |ശാരദ മോഹൻ |54,351 |33.85 |20,364 |12.85% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2021 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2021''']] |'''82,264''' |'''51.87''' |എം. ടി. നിക്സൺ |60,963 |38.44 |21,301 |13.47% | style="background:#90EE90;" | '''വിജയിച്ചു''' |- |[[2026 കേരള നിയമസഭ തിരഞ്ഞെടുപ്പ്|'''2026''']] |'''78,658''' |'''49.2''' |[[E. T. Taison|ഇ. ടി. ടൈസൺ]] |58,058 |36.3 |20,600 |12.7% | style="background:#90EE90;" | '''വിജയിച്ചു''' |} ==അവലംബം== {{Reflist|2}} {{S-start}} {{s-off}} {{s-bef|before=[[പിണറായി വിജയൻ]]}} {{s-ttl|title=[[കേരളത്തിന്റെ മുഖ്യമന്ത്രി]]|years=18 മേയ് 2026 – ഇപ്പോഴും}} {{s-aft|after= - }} {{S-end}} {{Current Indian chief ministers}} {{CMs of Kerala}} {{Fourteenth KLA}} {{Fifteenth KLA}} {{DEFAULTSORT:സതീശൻ}} [[വർഗ്ഗം:1964-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 31-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനൊന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പന്ത്രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിമൂന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ പ്രതിപക്ഷനേതാക്കൾ]] [[വർഗ്ഗം:കേരളത്തിലെ മുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ധനകാര്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തുറമുഖ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ നിയമവകുപ്പ് മന്ത്രിമാർ]] jx2yh9nm1t4ajgaynrgzcj8hwln2ls1 തേരകം 0 154225 4621596 4601571 2026-05-22T17:44:54Z Dr. Chinchu C. 6603 /* മറ്റു വിവരങ്ങൾ */ Added image 4621596 wikitext text/x-wiki {{Prettyurl|Ficus exasperata}} {{Taxobox | image = Ficus_exasperata_by_kadavoor.jpg | image_caption = ''Ficus exasperata'', fruits | regnum = [[Plant]]ae | divisio = [[Magnoliophyta]] | classis = [[Magnoliopsida]] | ordo = [[Urticales]] | familia = [[Moraceae]] | genus = ''[[Ficus]]'' | species = '''''F. exasperata Vahl''''' | binomial = ''Ficus exasperata | binomial_authority = Vahl'' |synonyms = *Ficus asperrima Roxb. *Ficus hispidissima Wight ex Miq. *Ficus politoria Moon *Ficus punctifera Warb. *Ficus scabra Willd. *Ficus serrata Forssk. *Ficus silicea Sim *Synoecia guillielmi-primi de Vriese }} ഇലകൊഴിയും മരങ്ങളുടെ ഗണത്തിൽപ്പെടുന്ന ([[പ്രപർണ്ണ വൃക്ഷങ്ങൾ]]) [[മൊറേസി]] ([[Moraceae]]) സസ്യകുടുംബത്തിൽപ്പെട്ട ഒരു തരം മരമാണ്‌ '''പാറോത്ത്'' അഥവാ '''തേരകം'''. {{ശാനാ|Ficus exasperata}}. 18 മീറ്റർ വരെ ഉയരം വയ്ക്കും<ref>{{Cite web |url=http://www.biotik.org/india/species/f/ficuexas/ficuexas_en.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-02-01 |archive-date=2010-07-25 |archive-url=https://web.archive.org/web/20100725120209/http://www.biotik.org/india/species/f/ficuexas/ficuexas_en.html |url-status=dead }}</ref>. ==പേര്‌== ===ശാസ്തീയ വിവരണങ്ങൾ=== Botanical name : Ficus exasperata Family : Moraceae (Mulberry family) Synonyms: Ficus asperrima, Ficus punctifera ===മറ്റു പേരുകൾ=== പെരും തേരകം, പെരും പാറോത്ത്, പാറകം എന്ന പേരുകളിൽ അറിയപ്പെടുന്ന ഈ മരത്തിനെ, സാന്റ്പേപ്പർ മരം, ബ്രഹ്മാസ് ബൻയൻ (Brahma's Banyan), ഫോറസ്റ്റ് സാന്റ്പേപ്പർ (forest sandpaper) , റഫ് ബൻയൻ (rough banyan), എന്നൊക്കെയുള്ള ഇംഗ്ളീഷ് പേരുകളിലും അറിയപ്പെടുന്നു. സംസ്‌കൃതം : करपत्र കരപത്ര ==മറ്റു വിവരങ്ങൾ== === ഇലയുടെ സവിശേഷത=== 6 സെന്റീമീറ്റർ മുതൽ 17 സെന്റീമീറ്റർ വരെ നീളമുള്ളതും അഞ്ച് സെന്റീമീറ്ററോളം നീളമുള്ളതുമായ ഇതിന്റെ ഇലകൾ തടികൊണ്ടുണ്ടാക്കിയ ഉരുപ്പടികളും, ജനൽ, വാതിൽ തുടങ്ങിയവയും മറ്റും വൃത്തിയാക്കാൻ ഉപയോഗിക്കാറുണ്ട്. ഉരക്കടലാസുപോലെ (sandpaper) പരുപരുത്ത ഇലകളായതിനാലാണ്‌ വെള്ളമൊഴിച്ച് ഇതിന്റെ ഇലകൾ ഉപയോഗിച്ച് ഉരസിയാൽ മര ഉരുപ്പടികൾ വൃത്തിയാകുന്നത്. സാധാരണ ഇലകളുടെ രൂപമാണെങ്കിലും ചില ഇലകൾ അപൂർവ്വമായി മൂന്ന് ഏണുകളോടു കൂടിയുള്ളതായും കാണാറുണ്ട്, [[ഓസ്ട്രേലിയ|ഓസ്ട്രേലിയയിലും]] [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കയിലും]] കാണുന്ന മറ്റൊരു ജനുസ്സില്പ്പെട്ട ഇത്തരം മരത്തിന്റെ ഇലകൾ വളരെ വലുതായും കാണാറുണ്ടെങ്കിലും ഇന്ത്യയിൽ കാണപ്പെടുന്നത് മേല്പ്പറഞ്ഞ അളവുകളിലുള്ളവയാണ്‌. ഇതിന്റെ തണ്ടുകൾക്ക് ഇളം പച്ച നിറമാണ്‌. ഇലകൾ ഔഷധഗുണമുള്ളവയാണ്.<ref>{{cite journal | last1=Bafor | first1=Enitome E. | last2=Lim | first2=Chiew V. | last3=Rowan | first3=Edward G. | last4=Edrada-Ebel | first4=Ruangelie | title=The leaves of Ficus exasperata Vahl (Moraceae) generates uterine active chemical constituents | journal=Journal of Ethnopharmacology | volume=145 | issue=3 | date=2013-02-13 | issn=1872-7573 | pmid=23266275 | doi=10.1016/j.jep.2012.12.020 | pages=803–812 | url=https://pubmed.ncbi.nlm.nih.gov/23266275 | access-date=2025-11-12}}</ref> [[File:തേരകം Ficus exasperata.jpg|thumb|തേരകത്തിന്റെ തൈ തൃശ്ശൂരിൽ]] ===ആവാസമേഖലകൾ=== സമുദ്രനിരപ്പിൽ നിന്ന് 1200 മീറ്റർ വരെ ഉയരമുള്ള മലമേഖലകളിൽ തേരകം കാണപ്പെടാറുണ്ട്. ഏഷ്യൻ രാജ്യങ്ങളിൽ പ്രത്യേകിച്ച് ഇന്ത്യ, അറേബ്യൻ നാടുകൾ എന്നിവിടങ്ങളിൽ ധാരാളമായും കൂടാതെ കിഴക്കൻ ആഫ്രിക്കൻ രാജ്യങ്ങൾ ശ്രീലങ്ക എന്നിവിടങ്ങളിലും ഈ മരം കണ്ടുവരുന്നു. ===പുഷ്പ, ഫല വിവരങ്ങൾ=== വെളുത്ത നിറത്തിലുള്ള ഏകലിംഗവിഭാഗത്തിൽപ്പെടുന്ന (Unisexual) പുഷ്പങ്ങളാണ്‌ സാധാരണയായി കണ്ടുവരാറുള്ളത്. മൂത്ത കായ്കൾക്ക് ചുവപ്പു കലർന്ന മഞ്ഞ നിറമായിരിക്കും. പൂവിനും ഫലത്തിനും ഏകദേശം ഒന്നര സെന്റീമീറ്റർ വരെ നീളമുണ്ടാകും [[File:Ficus exasperata - തേരകം.jpg|thumb|തേരകത്തിന്റെ ഇലകൾ]] [[File:Ficus exasperata bark and leaves.jpg|thumb|തേരകത്തിന്റെ തടിയും ഇലകളും]] ==അവലംബം== {{reflist}} ==പുറത്തേയ്ക്കുള്ള കണ്ണികൾ== * [http://indiabiodiversity.org/species/show/11981 കൂടുതൽ വിവരവും കാണുന്ന ഇടങ്ങളും] *[http://www.sysrevpharm.org/article.asp?issn=0975-8453;year=2012;volume=3;issue=1;spage=15;epage=23;aulast=Ahmed നാട്ടറിവുകൾ] {{Webarchive|url=https://web.archive.org/web/20130420050834/http://www.sysrevpharm.org/article.asp?issn=0975-8453;year=2012;volume=3;issue=1;spage=15;epage=23;aulast=Ahmed |date=2013-04-20 }} *[http://www.figweb.org/Ficus/Subgenus_Sycidium/Section_Sycidium/Ficus_exasperata.htm കൂടുതൽ ചിത്രങ്ങൾ] *[http://www.flowersofindia.in/catalog/slides/Brahma's%20Banyan.html മറ്റ് വിവരണങ്ങൾ] {{Webarchive|url=https://web.archive.org/web/20241224223840/http://www.flowersofindia.in/catalog/slides/Brahma%27s%20Banyan.html |date=2024-12-24 }} *[http://www.ars-grin.gov/cgi-bin/npgs/html/tax_search.pl?Ficus+exasperata United_States_Department_of_Agriculture Agricultural_Research_Service ]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }} {{WS|Ficus exasperata}} {{CC|Ficus exasperata}} {{കേരളത്തിലെ മരങ്ങൾ}} [[വർഗ്ഗം:വൃക്ഷങ്ങൾ]] [[വർഗ്ഗം:ഔഷധസസ്യങ്ങൾ]] [[വർഗ്ഗം:ആലുകൾ]] [[വർഗ്ഗം:അലങ്കാരസസ്യങ്ങൾ]] [[വർഗ്ഗം:പുഷ്പിക്കുന്ന സസ്യങ്ങൾ]] [[വർഗ്ഗം:ഫൈക്കസ്]] [[വർഗ്ഗം:നീലിയാർകോട്ടത്തെ സസ്യജാലം]] [[വർഗ്ഗം:ഹോർത്തൂസ് മലബാറിക്കൂസിൽ പരാമർശിച്ചിരിക്കുന്ന സസ്യങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ സസ്യജാലം]] br68xxac7udvbr76d3jm66d1rz3tm2f കെ. അവുക്കാദർക്കുട്ടി നഹ 0 158185 4621575 3591712 2026-05-22T15:00:25Z GV2010 217548 /* */ 4621575 wikitext text/x-wiki {{prettyurl| K. Avukkaderkutty Naha}} {{Infobox officeholder | name = കെ. അവുക്കാദർക്കുട്ടി നഹ | image = K. Avukkaderkutty Naha.jpg | imagesize = 250px | width = | height = | caption = | birth_name = | office6 = കേരളത്തിന്റെ പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി |term_start6 = [[ഒക്ടോബർ 24]] [[1983]] |term_end6 = [[മാർച്ച് 3]] [[1987]] | predecessor6 = [[സി.എച്ച്. മുഹമ്മദ്കോയ]] | successor6 = | office = കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രി |term_start = [[ഒക്ടോബർ 24]] [[1983]] |term_end = [[മാർച്ച് 3]] [[1987]] | predecessor = [[സി.എച്ച്. മുഹമ്മദ്കോയ]] | successor = | office1 =കേരളത്തിലെ പഞ്ചായത്ത്, സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രി |term_start1 =[[നവംബർ 9]] [[1968]] |term_end1 = [[ഒക്ടോബർ 21]] [[1969]] | predecessor1 = [[എം.പി.എം. അഹമ്മദ് കുരിക്കൾ]] | successor1 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | office2 = കേരളത്തിലെ തദ്ദേശസ്വയംഭരണ, ഭക്ഷ്യവകുപ്പ് മന്ത്രി |term_start2 =[[ഒക്ടോബർ 4]] [[1970]] |term_end2 = [[മാർച്ച് 25]] [[1977]] | predecessor2 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor2 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]], [[ഇ. ജോൺ ജേക്കബ്]] | office3 = കേരളത്തിലെ തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി |term_start3 =[[നവംബർ 1]], [[1969]] |term_end3 = [[ഓഗസ്റ്റ് 1]], [[1970]] | predecessor3 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor3 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] |term_start4 =[[ഏപ്രിൽ 11]], [[1977]] |term_end4 = [[ഒക്ടോബർ 7]], [[1979]] | predecessor4 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor4 = [[ആർ.എസ്. ഉണ്ണി]] | office5 =കേരളനിയമസഭയിലെ അംഗം | term5 = [[മാർച്ച് 16]], [[1957]] - [[മാർച്ച് 25]], [[1987]] | predecessor5 =ഇല്ല | successor5 = [[സി.പി. കുഞ്ഞാലിക്കുട്ടി കേയി]] | constituency5 = [[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി]] | majority = | birth_date = {{birth date|1920|02|5}} | birth_place = | death_date = {{Death date and age|df=no|1988|08|11|1920|02|05}} | death_place = | residence = | nationality = ഇന്ത്യൻ | party = [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] | religion = [[മുസ്ലിം]] |father =കുഞ്ഞികോയമ്മുട്ടി ഹാജി |mother= | spouse = പി.കെ. കുഞ്ഞിബീബി ഉമ്മ | children =3 മകൻ [[പി.കെ. അബ്ദുറബ്ബ്]], 7 മകൾ | website = | footnotes = | date = സെപ്റ്റംബർ 16 | year = 2020 | source =http://niyamasabha.org/codes/members/m051.htm നിയമസഭ |}} [[ഒന്നാം കേരളനിയമസഭ|ഒന്നു]] മുതൽ ഏഴ് നിയമസഭകളിൽ [[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി നിയോജകമണ്ഡലത്തെ]]<ref>http://www.niyamasabha.org/codes/members/m051.htm</ref> കേരളനിയമസഭയിൽ പ്രതിനിധീകരിച്ച [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] നേതാവാണ് '''കെ. അവുക്കാദർക്കുട്ടി നഹ''' (ഫെബ്രുവരി 1920 - 11 ഓഗസ്റ്റ് 1988). പതിമൂന്നാം നിയമസഭയിലെ വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രിയായ [[പി.കെ. അബ്ദുറബ്ബ്]] ഇദ്ദേഹത്തിന്റെ മകനാണ്. പിതാവിന്റെ പേര് കുഞ്ഞികോയാംകുട്ടി ഹാജി എന്നാണ്. പി.കെ. കുഞ്ഞിബീബി ഉമ്മയാണ് പത്നി, മൂന്ന് ആൺമക്കളും ഏഴ് പെൺമക്കളും ഇദ്ദേഹത്തിനുണ്ട്. == വഹിച്ച സ്ഥാനമാനങ്ങൾ == * കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രി - 24-10-1983 മുതൽ 25-03-1987 വരെ. * പഞ്ചായത്ത്, സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രി - 09-11-1968 മുതൽ 21-10-1969 വരെ. * തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 1-11-1969 മുതൽ 1-8-1970 വരെ. * ഭക്ഷ്യം, തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 04-10-1970 മുതൽ 25-03-1977 വരെ * തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 11-04-1977 മുതൽ 25-04-1977 വരെ, from 27-04-1977 മുതൽ 27-10-1978 വരെ, 09-12-1978 മുതൽ 07-10-1979 വരെ. == അവലംബം == {{Reflist}} {{DEFAULTSORT:അവുക്കാദർക്കുട്ടി നഹ}} {{First KLA}} {{Second KLA}} {{Third KLA}} [[വർഗ്ഗം:1920-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം: 1988-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ജനിച്ച ദിവസം ഇല്ലാത്ത ജീവചരിത്രലേഖനങ്ങൾ]] [[വർഗ്ഗം:ഓഗസ്റ്റ് 11-ന് മരിച്ചവർ]] [[വർഗ്ഗം:ഒന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:മൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:ആറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഏഴാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുസ്ലിം ലീഗ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഉപമുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഭക്ഷ്യവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:1965-ലെ കേരളനിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടവർ]] 65ujsz53sbjgyaquenzxq8ig3ds35cu 4621576 4621575 2026-05-22T15:01:02Z GV2010 217548 /* വഹിച്ച സ്ഥാനമാനങ്ങൾ */ 4621576 wikitext text/x-wiki {{prettyurl| K. Avukkaderkutty Naha}} {{Infobox officeholder | name = കെ. അവുക്കാദർക്കുട്ടി നഹ | image = K. Avukkaderkutty Naha.jpg | imagesize = 250px | width = | height = | caption = | birth_name = | office6 = കേരളത്തിന്റെ പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി |term_start6 = [[ഒക്ടോബർ 24]] [[1983]] |term_end6 = [[മാർച്ച് 3]] [[1987]] | predecessor6 = [[സി.എച്ച്. മുഹമ്മദ്കോയ]] | successor6 = | office = കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രി |term_start = [[ഒക്ടോബർ 24]] [[1983]] |term_end = [[മാർച്ച് 3]] [[1987]] | predecessor = [[സി.എച്ച്. മുഹമ്മദ്കോയ]] | successor = | office1 =കേരളത്തിലെ പഞ്ചായത്ത്, സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രി |term_start1 =[[നവംബർ 9]] [[1968]] |term_end1 = [[ഒക്ടോബർ 21]] [[1969]] | predecessor1 = [[എം.പി.എം. അഹമ്മദ് കുരിക്കൾ]] | successor1 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | office2 = കേരളത്തിലെ തദ്ദേശസ്വയംഭരണ, ഭക്ഷ്യവകുപ്പ് മന്ത്രി |term_start2 =[[ഒക്ടോബർ 4]] [[1970]] |term_end2 = [[മാർച്ച് 25]] [[1977]] | predecessor2 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor2 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]], [[ഇ. ജോൺ ജേക്കബ്]] | office3 = കേരളത്തിലെ തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി |term_start3 =[[നവംബർ 1]], [[1969]] |term_end3 = [[ഓഗസ്റ്റ് 1]], [[1970]] | predecessor3 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor3 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] |term_start4 =[[ഏപ്രിൽ 11]], [[1977]] |term_end4 = [[ഒക്ടോബർ 7]], [[1979]] | predecessor4 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor4 = [[ആർ.എസ്. ഉണ്ണി]] | office5 =കേരളനിയമസഭയിലെ അംഗം | term5 = [[മാർച്ച് 16]], [[1957]] - [[മാർച്ച് 25]], [[1987]] | predecessor5 =ഇല്ല | successor5 = [[സി.പി. കുഞ്ഞാലിക്കുട്ടി കേയി]] | constituency5 = [[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി]] | majority = | birth_date = {{birth date|1920|02|5}} | birth_place = | death_date = {{Death date and age|df=no|1988|08|11|1920|02|05}} | death_place = | residence = | nationality = ഇന്ത്യൻ | party = [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] | religion = [[മുസ്ലിം]] |father =കുഞ്ഞികോയമ്മുട്ടി ഹാജി |mother= | spouse = പി.കെ. കുഞ്ഞിബീബി ഉമ്മ | children =3 മകൻ [[പി.കെ. അബ്ദുറബ്ബ്]], 7 മകൾ | website = | footnotes = | date = സെപ്റ്റംബർ 16 | year = 2020 | source =http://niyamasabha.org/codes/members/m051.htm നിയമസഭ |}} [[ഒന്നാം കേരളനിയമസഭ|ഒന്നു]] മുതൽ ഏഴ് നിയമസഭകളിൽ [[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി നിയോജകമണ്ഡലത്തെ]]<ref>http://www.niyamasabha.org/codes/members/m051.htm</ref> കേരളനിയമസഭയിൽ പ്രതിനിധീകരിച്ച [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] നേതാവാണ് '''കെ. അവുക്കാദർക്കുട്ടി നഹ''' (ഫെബ്രുവരി 1920 - 11 ഓഗസ്റ്റ് 1988). പതിമൂന്നാം നിയമസഭയിലെ വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രിയായ [[പി.കെ. അബ്ദുറബ്ബ്]] ഇദ്ദേഹത്തിന്റെ മകനാണ്. പിതാവിന്റെ പേര് കുഞ്ഞികോയാംകുട്ടി ഹാജി എന്നാണ്. പി.കെ. കുഞ്ഞിബീബി ഉമ്മയാണ് പത്നി, മൂന്ന് ആൺമക്കളും ഏഴ് പെൺമക്കളും ഇദ്ദേഹത്തിനുണ്ട്. == വഹിച്ച സ്ഥാനമാനങ്ങൾ == * കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രി - 24-10-1983 മുതൽ 25-03-1987 വരെ. * പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി - 24-10-1983 മുതൽ 25-03-1987 വരെ. * പഞ്ചായത്ത്, സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രി - 09-11-1968 മുതൽ 21-10-1969 വരെ. * തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 1-11-1969 മുതൽ 1-8-1970 വരെ. * ഭക്ഷ്യം, തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 04-10-1970 മുതൽ 25-03-1977 വരെ * തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 11-04-1977 മുതൽ 25-04-1977 വരെ, from 27-04-1977 മുതൽ 27-10-1978 വരെ, 09-12-1978 മുതൽ 07-10-1979 വരെ. == അവലംബം == {{Reflist}} {{DEFAULTSORT:അവുക്കാദർക്കുട്ടി നഹ}} {{First KLA}} {{Second KLA}} {{Third KLA}} [[വർഗ്ഗം:1920-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം: 1988-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ജനിച്ച ദിവസം ഇല്ലാത്ത ജീവചരിത്രലേഖനങ്ങൾ]] [[വർഗ്ഗം:ഓഗസ്റ്റ് 11-ന് മരിച്ചവർ]] [[വർഗ്ഗം:ഒന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:മൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:ആറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഏഴാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുസ്ലിം ലീഗ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഉപമുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഭക്ഷ്യവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:1965-ലെ കേരളനിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടവർ]] ft490t7axg7mlw9dou2k4ec0gcmpq6s 4621577 4621576 2026-05-22T15:01:29Z GV2010 217548 4621577 wikitext text/x-wiki {{prettyurl| K. Avukkaderkutty Naha}} {{Infobox officeholder | name = കെ. അവുക്കാദർക്കുട്ടി നഹ | image = K. Avukkaderkutty Naha.jpg | imagesize = 250px | width = | height = | caption = | birth_name = | office6 = കേരളത്തിന്റെ പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി |term_start6 = [[ഒക്ടോബർ 24]] [[1983]] |term_end6 = [[മാർച്ച് 3]] [[1987]] | predecessor6 = [[സി.എച്ച്. മുഹമ്മദ്കോയ]] | successor6 = | office = കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രി |term_start = [[ഒക്ടോബർ 24]] [[1983]] |term_end = [[മാർച്ച് 3]] [[1987]] | predecessor = [[സി.എച്ച്. മുഹമ്മദ്കോയ]] | successor = | office1 =കേരളത്തിലെ പഞ്ചായത്ത്, സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രി |term_start1 =[[നവംബർ 9]] [[1968]] |term_end1 = [[ഒക്ടോബർ 21]] [[1969]] | predecessor1 = [[എം.പി.എം. അഹമ്മദ് കുരിക്കൾ]] | successor1 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | office2 = കേരളത്തിലെ തദ്ദേശസ്വയംഭരണ, ഭക്ഷ്യവകുപ്പ് മന്ത്രി |term_start2 =[[ഒക്ടോബർ 4]] [[1970]] |term_end2 = [[മാർച്ച് 25]] [[1977]] | predecessor2 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor2 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]], [[ഇ. ജോൺ ജേക്കബ്]] | office3 = കേരളത്തിലെ തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി |term_start3 =[[നവംബർ 1]], [[1969]] |term_end3 = [[ഓഗസ്റ്റ് 1]], [[1970]] | predecessor3 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor3 = [[കെ. അവുക്കാദർക്കുട്ടി നഹ]] |term_start4 =[[ഏപ്രിൽ 11]], [[1977]] |term_end4 = [[ഒക്ടോബർ 7]], [[1979]] | predecessor4 =[[കെ. അവുക്കാദർക്കുട്ടി നഹ]] | successor4 = [[ആർ.എസ്. ഉണ്ണി]] | office5 =കേരളനിയമസഭയിലെ അംഗം | term5 = [[മാർച്ച് 16]], [[1957]] - [[മാർച്ച് 25]], [[1987]] | predecessor5 =ഇല്ല | successor5 = [[സി.പി. കുഞ്ഞാലിക്കുട്ടി കേയി]] | constituency5 = [[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി]] | majority = | birth_date = {{birth date|1920|02|5}} | birth_place = | death_date = {{Death date and age|df=no|1988|08|11|1920|02|05}} | death_place = | residence = | nationality = ഇന്ത്യൻ | party = [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] | religion = [[മുസ്ലിം]] |father =കുഞ്ഞികോയമ്മുട്ടി ഹാജി |mother= | spouse = പി.കെ. കുഞ്ഞിബീബി ഉമ്മ | children =3 മകൻ [[പി.കെ. അബ്ദുറബ്ബ്]], 7 മകൾ | website = | footnotes = | date = സെപ്റ്റംബർ 16 | year = 2020 | source =http://niyamasabha.org/codes/members/m051.htm നിയമസഭ |}} [[ഒന്നാം കേരളനിയമസഭ|ഒന്നു]] മുതൽ ഏഴ് നിയമസഭകളിൽ [[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി നിയോജകമണ്ഡലത്തെ]]<ref>http://www.niyamasabha.org/codes/members/m051.htm</ref> കേരളനിയമസഭയിൽ പ്രതിനിധീകരിച്ച [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|മുസ്ലിം ലീഗ്]] നേതാവാണ് '''കെ. അവുക്കാദർക്കുട്ടി നഹ''' (ഫെബ്രുവരി 1920 - 11 ഓഗസ്റ്റ് 1988). പതിമൂന്നാം നിയമസഭയിലെ വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രിയായ [[പി.കെ. അബ്ദുറബ്ബ്]] ഇദ്ദേഹത്തിന്റെ മകനാണ്. പിതാവിന്റെ പേര് കുഞ്ഞികോയാംകുട്ടി ഹാജി എന്നാണ്. പി.കെ. കുഞ്ഞിബീബി ഉമ്മയാണ് പത്നി, മൂന്ന് ആൺമക്കളും ഏഴ് പെൺമക്കളും ഇദ്ദേഹത്തിനുണ്ട്. == വഹിച്ച സ്ഥാനമാനങ്ങൾ == * കേരളത്തിന്റെ ഉപമുഖ്യമന്ത്രി - 24-10-1983 മുതൽ 25-03-1987 വരെ. * [[പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി]] - 24-10-1983 മുതൽ 25-03-1987 വരെ. * പഞ്ചായത്ത്, സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രി - 09-11-1968 മുതൽ 21-10-1969 വരെ. * തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 1-11-1969 മുതൽ 1-8-1970 വരെ. * ഭക്ഷ്യം, തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 04-10-1970 മുതൽ 25-03-1977 വരെ * തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രി - 11-04-1977 മുതൽ 25-04-1977 വരെ, from 27-04-1977 മുതൽ 27-10-1978 വരെ, 09-12-1978 മുതൽ 07-10-1979 വരെ. == അവലംബം == {{Reflist}} {{DEFAULTSORT:അവുക്കാദർക്കുട്ടി നഹ}} {{First KLA}} {{Second KLA}} {{Third KLA}} [[വർഗ്ഗം:1920-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം: 1988-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ജനിച്ച ദിവസം ഇല്ലാത്ത ജീവചരിത്രലേഖനങ്ങൾ]] [[വർഗ്ഗം:ഓഗസ്റ്റ് 11-ന് മരിച്ചവർ]] [[വർഗ്ഗം:ഒന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:രണ്ടാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:മൂന്നാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:നാലാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:അഞ്ചാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:ആറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഏഴാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മുസ്ലിം ലീഗ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ തദ്ദേ​ശ സ്വയംഭരണം വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സാമൂഹികക്ഷേമവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഉപമുഖ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഭക്ഷ്യവകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:1965-ലെ കേരളനിയമസഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടവർ]] lnerjktrow70vavc83xq8ge0y4o9ibw അണലി 0 158653 4622116 4602846 2026-05-23T05:24:36Z Theleapen 217853 കണ്ണികൾ ചേർത്തു 4622116 wikitext text/x-wiki {{Prettyurl|Viperinae}} {{Automatic taxobox | image = Kopf einer Puffotter.JPG | image_caption = ആഫ്രിക്കയിൽ കാണപ്പെടുന്ന [[പഫ് ആഡെർ]] | taxon = Viperinae | authority = [[Nicolaus Michael Oppel|Oppel]], 1811 | synonyms = * Viperini <small>Oppel, 1811</sonal> * Viperes <small>[[Georges Cuvier|Cuvier]], 1817</small> * Viperides <small>[[Pierre André Latreille|Latreille]], 1825</small> * Viperina <small>[[John Edward Gray|Gray]], 1825</small> * Viperiodea <small>[[Leopold Fitzinger|Fitzinger]], 1826</small> * Viperiodei <small>[[Karl Eichwald|Eichwald]], 1831</small> * Viperinae <small>[[Theodore Edward Cantor|Cantor]], 1847</small> * Viperiformes <small>[[Albert Günther|Günther]], 1864</small> * Viperida <small>[[Alexander Strauch|Strauch]], 1869</small> * Atherini <small>[[:fr:Donald George Broadley|Broadley]], 1996</small><ref name="McD99"/> }} [[വൈപ്പറിഡേ]] കുടുംബത്തിൽ ഉള്ള വൈപ്പറിനേ ( Viperinae ) എന്ന ഉപകുടുംബത്തിലെ അംഗങ്ങളെയാണ് സാധാരണ '''അണലികൾ''' എന്ന് ഉദ്ദേശിക്കുന്നത്.ഈ വിഷ സർപ്പങ്ങളെ [[ യൂറോപ്പ് ]] . [[ഏഷ്യ]], [[ആഫ്രിക്ക]] എന്നിവിടങ്ങളിൽ കണ്ടുവരുന്നു.കുഴിമണ്ഡലികളിൽ കാണപ്പെടുന്ന താപ സംവേദനത്തിനുള്ള ചെറിയ കുഴി ഇവയുടെ തലയിൽ കാണപ്പെടുന്നില്ല. ഇതാണ് ഇവയെ [[കുഴിമണ്ഡലികൾ|കുഴിമണ്ഡലികളിൽ]] നിന്നും വ്യത്യസ്തമാക്കുന്നത് . ഈ ഉപകുടുംബത്തിൽ 66 അണലി വർഗ്ഗങ്ങൾ ഉണ്ട്.പൊതുവെ ഉഷ്ണമേഖലയിലും മിതോഷ്‌മേഖലാ പ്രദേശങ്ങളിലുമാണു ഇവയെ കണ്ടുവരുന്നതെങ്കിലും , വൈപെറ ബെരുസ് (Vipera berus)എന്ന ഇനത്തെ ആർട്ടിക്ക് പ്രദേശത്തും കാണപ്പെടുന്നു. ഇന്ത്യയിൽ 2 ഇനം അണലികളേയുള്ളു അവ [[ചേനത്തണ്ടൻ]],[[ചുരുട്ടമണ്ഡലി]] എന്നിവയാണ്. പ്രദേശികമായി അണലികളെ മണ്ഡലി, ചേനത്തണ്ടൻ, വട്ടക്കൂറ എന്നീ നാമങ്ങളിൽ അറിയപ്പെടുന്നു ==വിവരണം== ഈ ഉപകുടുംബത്തിലെ ഏറ്റവും ചെറിയ വർഗ്ഗമായ ബിറ്റിസ് ഷ്നൈഡെരി (Bitis schneideri) എന്ന ഇനത്തിനു 710 മില്ലി മീറ്ററാണ് ആകെ നീളം.ഈ കൂട്ടത്തിലെ വലിയ സർപ്പങ്ങളായ [[ഗബൂൺ അണലി]] കൾക്ക് (Gaboon viper - Bitis gabonica ) രണ്ടു മീറ്ററിൽ അധികം നീളം കാണാം.മിക്ക അണലികളും നിലത്തു വസിക്കുന്നവയാണ് . എന്നാൽ അതെരിസ് (Atheris) ജനുസ്സിലെ അണലികൾ മരങ്ങളിൽ വസിക്കുന്നു. താപ സംവേദനത്തിനു ഉള്ള കുഴികൾ ഇവയിൽ കാണപ്പെടുന്നില്ല എങ്കിലും ചില അണലികളിൽ മൂക്കിനു അനുബന്ധിച്ചു ഒരു ചെറിയ സഞ്ചിപോലുള്ള അവയവം കാണാം.ഈ അവയവത്തിനു ചെറിയ രീതിയിൽ താപസംവേദനശേഷി കാണപ്പെടുന്നു. [[ചേനത്തണ്ടൻ]] ഇങ്ങനെയുള്ള അണലിയാണ് . എന്നാൽ ബിറ്റിസ് ജനുസ്സിലെ അണലികളിൽ ഈ സഞ്ചി കൂടുതൽ സംവേദന ശേഷി ഉള്ളതും വികാസം പ്രാപിച്ചതുമാണു .ഇരകളുടെ താരതമ്യേന ചൂട് കൂടിയ ശരീര ഭാഗങ്ങളിലാണ് സാധാര അണലികളുടെ കടിയേൽക്കുക എന്ന് പരീക്ഷണങ്ങൾ തെളിയിക്കുന്നു. ==പ്രത്യുൽപ്പാദനം== .സാധാരണയായി ഏകദേശം 20 കുട്ടികൾക്കാണ് ഇവ ജൻമം നൽകാറുള്ളത്. ഇവ ചെറുപ്പകാലം മുതലേ വളരെയേറെ സ്വയംപര്യാപ്തരായിരിക്കും. ഇവയുടെ മുട്ട ഉദരത്തിൽ ആണ് അടവെക്കുക. കുഞ്ഞുകൾ ഉദരത്തിൽ നിന്നാണ് മുട്ടവിരിഞ്ഞ് പുറത്തേക്ക് വരുക. ഈ ഒരു പ്രത്യേകത കാരണം ഇവയെ പ്രസവിക്കുന്ന പാമ്പ് എന്നു പറയാറുണ്ട്. ചില സന്ദർഭങ്ങളിൽ ഒറ്റ പ്രസവത്തിൽ നാൽപ്പതോളം കുഞ്ഞുങ്ങളുണ്ടാകാറുണ്ട്.സൂഡോസെരാസ്റ്റസ് (Pseudocerastes) എന്ന ഇനം അണലികൾ മുട്ടയിട്ടു മുട്ടയിൽ നിന്ന് കുഞ്ഞുങ്ങളെ വിരിയിക്കുന്നു. ==ജനുസ്സുകൾ== {| class="wikitable sortable" cellpadding="5" style="font-size:95%;" |- style="background:ccc; text-align:center;" |- ! ക്രമം !! ജനുസ്സ് !! ചിത്രം !! ആംഗലേയ നാമം !! ആവാസ സ്ഥലങ്ങൾ |- | 1 || Adenorhinos || || Uzungwe viper || [[ടാൻസാനിയ ]] |- | 2 || Atheris || [[File:Atheris_chlorechis.jpg|100px]] || Bush vipers || [[ദക്ഷിണാഫ്രിക്ക]] ഒഴികെയുള്ള [[സഹാറ]] പ്രദേശങ്ങൾ |- | 3 || Bitis || [[File:GaboonViper.jpg|100px]] || Puff adders || [[ആഫ്രിക്ക]], ദക്ഷിണ അറേബ്യൻ ഉപദ്വീപ് |- | 4 || Cerastes || [[File:Cerastes_cerastes_1.jpg|100px]] || Horned vipers||വടക്കൻ [[ആഫ്രിക്ക]] , [[ഇറാൻ ]] |- | 5 || Daboia || [[File:Daboia full.jpg|100px]] || Russell's viper || [[പാകിസ്താൻ]] , [[ഇന്ത്യ]] , [[ശ്രീലങ്ക]] , [[ബംഗ്ലാദേശ്]] , [[നേപ്പാൾ]] , [[ബർമ്മ]] , [[തായ്‌ലാൻഡ്]] , [[കംബോഡിയ]] , [[ചൈന]] , [[തായ്‌വാൻ]] , [[ഇന്തോനേഷ്യ]] |- | 6 || Echis || [[File:Echis carinatus sal (edit).jpg|100px]] || Saw-scaled vipers || [[ഇന്ത്യ]] , [[ശ്രീലങ്ക]] , [[മദ്ധ്യേഷ്യ]] , ആഫ്രിക്കയിലെ ഭൂമധ്യരേഖാ പ്രദേശങ്ങൾ |- | 7 || Eristicophis || [[File:Eristicophis macmahonii.jpg|100px]] || McMahon's viper || ബലൂചിസ്താൻ |- | 8 || Macrovipera || [[File:Macrovipera lebetina obtusa03.jpg|100px]] || Large Palearctic vipers || ഉത്തര ആഫ്രിക്കയിലെ അർദ്ധ മരുഭൂമികൾ , പുൽമേടുകൾ |- | 9 || Montatheris || || Kenya mountain viper || [[കെനിയ|കെനിയയിലെ]] മൌണ്ട് കെനിയ മല നിരകൾ |- | 10 || Proatheris || || Lowland viper || [[ടാൻസാനിയ ]] |- | 11 || Pseudocerastes || [[File:Field's Horned Viper.jpg|100px]] || False horned viper || [[ഈജിപ്ത് | ഈജിപ്തിലെ ]] സിനായ് മുതൽ പാകിസ്താൻ വരെയുള്ള പ്രദേശങ്ങൾ |- | 12 || Vipera || [[File:Vipera aspis aspis.jpg |100px]] || Palearctic vipers || [[ഗ്രേറ്റ് ബ്രിട്ടൺ]] , [[യൂറോപ്പ്]] , [[മൊറോക്കോ]] , [[അൾജീരിയ]] , [[ടുണീഷ്യ]] |- |} ==ഇന്ത്യയിൽ കാണപ്പെടുന്നവ== ഇന്ത്യയിൽ കാണപ്പെടുന്ന അണലികളാണു റസ്സൽസ് വൈപ്പർ (Russell's Viper) എന്ന [[ചേനത്തണ്ടൻ]], സോ-സ്കേൽഡ് വൈപ്പർ (Saw- Scaled Viper ) എന്ന [[ചുരുട്ടമണ്ഡലി]]. == ഇത് കൂടി കാണുക == * അണലി കുടുംബം - [[വൈപ്പറിഡേ]] [[പഫ് ആഡെർ]] [[ഗബൂൺ അണലി]] [[സെറസ്റ്റസ് സെറസ്റ്റസ്]] [[കോമൺ യൂറോപ്യൻ ആഡെർ]] == അവലംബം == {{reflist}} <references /> {{ഉരഗങ്ങൾ}} [[വർഗ്ഗം:വിഷമുള്ള പാമ്പുകൾ]] [[വർഗ്ഗം:അണലികൾ]] 6vargwnhr9tl92g4z3tjgq2nvjwlr17 4622122 4622116 2026-05-23T05:36:58Z Theleapen 217853 കണ്ണികൾ ചേർത്തു 4622122 wikitext text/x-wiki {{Prettyurl|Viperinae}} {{Automatic taxobox | image = Kopf einer Puffotter.JPG | image_caption = ആഫ്രിക്കയിൽ കാണപ്പെടുന്ന [[പഫ് ആഡെർ]] | taxon = Viperinae | authority = [[Nicolaus Michael Oppel|Oppel]], 1811 | synonyms = * Viperini <small>Oppel, 1811</sonal> * Viperes <small>[[Georges Cuvier|Cuvier]], 1817</small> * Viperides <small>[[Pierre André Latreille|Latreille]], 1825</small> * Viperina <small>[[John Edward Gray|Gray]], 1825</small> * Viperiodea <small>[[Leopold Fitzinger|Fitzinger]], 1826</small> * Viperiodei <small>[[Karl Eichwald|Eichwald]], 1831</small> * Viperinae <small>[[Theodore Edward Cantor|Cantor]], 1847</small> * Viperiformes <small>[[Albert Günther|Günther]], 1864</small> * Viperida <small>[[Alexander Strauch|Strauch]], 1869</small> * Atherini <small>[[:fr:Donald George Broadley|Broadley]], 1996</small><ref name="McD99"/> }} [[വൈപ്പറിഡേ]] കുടുംബത്തിൽ ഉള്ള വൈപ്പറിനേ ( Viperinae ) എന്ന ഉപകുടുംബത്തിലെ അംഗങ്ങളെയാണ് സാധാരണ '''അണലികൾ''' എന്ന് ഉദ്ദേശിക്കുന്നത്.ഈ വിഷ സർപ്പങ്ങളെ [[ യൂറോപ്പ് ]] . [[ഏഷ്യ]], [[ആഫ്രിക്ക]] എന്നിവിടങ്ങളിൽ കണ്ടുവരുന്നു.കുഴിമണ്ഡലികളിൽ കാണപ്പെടുന്ന താപ സംവേദനത്തിനുള്ള ചെറിയ കുഴി ഇവയുടെ തലയിൽ കാണപ്പെടുന്നില്ല. ഇതാണ് ഇവയെ [[കുഴിമണ്ഡലികൾ|കുഴിമണ്ഡലികളിൽ]] നിന്നും വ്യത്യസ്തമാക്കുന്നത് . ഈ ഉപകുടുംബത്തിൽ 66 അണലി വർഗ്ഗങ്ങൾ ഉണ്ട്.പൊതുവെ ഉഷ്ണമേഖലയിലും മിതോഷ്‌മേഖലാ പ്രദേശങ്ങളിലുമാണു ഇവയെ കണ്ടുവരുന്നതെങ്കിലും , വൈപെറ ബെരുസ് (Vipera berus)എന്ന ഇനത്തെ ആർട്ടിക്ക് പ്രദേശത്തും കാണപ്പെടുന്നു. ഇന്ത്യയിൽ 2 ഇനം അണലികളേയുള്ളു അവ [[ചേനത്തണ്ടൻ]],[[ചുരുട്ടമണ്ഡലി]] എന്നിവയാണ്. പ്രദേശികമായി അണലികളെ മണ്ഡലി, ചേനത്തണ്ടൻ, വട്ടക്കൂറ എന്നീ നാമങ്ങളിൽ അറിയപ്പെടുന്നു ==വിവരണം== ഈ ഉപകുടുംബത്തിലെ ഏറ്റവും ചെറിയ വർഗ്ഗമായ ബിറ്റിസ് ഷ്നൈഡെരി (Bitis schneideri) എന്ന ഇനത്തിനു 710 മില്ലി മീറ്ററാണ് ആകെ നീളം.ഈ കൂട്ടത്തിലെ വലിയ സർപ്പങ്ങളായ [[ഗബൂൺ അണലി]] കൾക്ക് (Gaboon viper - Bitis gabonica ) രണ്ടു മീറ്ററിൽ അധികം നീളം കാണാം.മിക്ക അണലികളും നിലത്തു വസിക്കുന്നവയാണ് . എന്നാൽ അതെരിസ് (Atheris) ജനുസ്സിലെ അണലികൾ മരങ്ങളിൽ വസിക്കുന്നു. താപ സംവേദനത്തിനു ഉള്ള കുഴികൾ ഇവയിൽ കാണപ്പെടുന്നില്ല എങ്കിലും ചില അണലികളിൽ മൂക്കിനു അനുബന്ധിച്ചു ഒരു ചെറിയ സഞ്ചിപോലുള്ള അവയവം കാണാം.ഈ അവയവത്തിനു ചെറിയ രീതിയിൽ താപസംവേദനശേഷി കാണപ്പെടുന്നു. [[ചേനത്തണ്ടൻ]] ഇങ്ങനെയുള്ള അണലിയാണ് . എന്നാൽ ബിറ്റിസ് ജനുസ്സിലെ അണലികളിൽ ഈ സഞ്ചി കൂടുതൽ സംവേദന ശേഷി ഉള്ളതും വികാസം പ്രാപിച്ചതുമാണു .ഇരകളുടെ താരതമ്യേന ചൂട് കൂടിയ ശരീര ഭാഗങ്ങളിലാണ് സാധാര അണലികളുടെ കടിയേൽക്കുക എന്ന് പരീക്ഷണങ്ങൾ തെളിയിക്കുന്നു.അപകടത്തിൽ ആകുന്ന സമയത്തും ഭീതി ഉണ്ടാകുന്ന സമയത്തും ഇവർ ചുരുണ്ടു കൂടി കടിക്കാൻ ഒരുങ്ങും ശത്രുവിന് മുന്നറിയിപ്പായി ഇവർ ഇവരുടെ വാല് പ്രത്യേക രീതിയിൽ ചലിപ്പിക്കാറുണ്ട്.രൂപത്തിൽ വടക്കേ അമേരിക്കയിലെ റാറ്റിൽ സ്നേക്കുമായി ചെറിയ സാമ്യമുണ്ട് ==പ്രത്യുൽപ്പാദനം== .സാധാരണയായി ഏകദേശം 20 കുട്ടികൾക്കാണ് ഇവ ജൻമം നൽകാറുള്ളത്. ഇവ ചെറുപ്പകാലം മുതലേ വളരെയേറെ സ്വയംപര്യാപ്തരായിരിക്കും. ഇവയുടെ മുട്ട ഉദരത്തിൽ ആണ് അടവെക്കുക. കുഞ്ഞുകൾ ഉദരത്തിൽ നിന്നാണ് മുട്ടവിരിഞ്ഞ് പുറത്തേക്ക് വരുക. ഈ ഒരു പ്രത്യേകത കാരണം ഇവയെ പ്രസവിക്കുന്ന പാമ്പ് എന്നു പറയാറുണ്ട്. ചില സന്ദർഭങ്ങളിൽ ഒറ്റ പ്രസവത്തിൽ നാൽപ്പതോളം കുഞ്ഞുങ്ങളുണ്ടാകാറുണ്ട്.സൂഡോസെരാസ്റ്റസ് (Pseudocerastes) എന്ന ഇനം അണലികൾ മുട്ടയിട്ടു മുട്ടയിൽ നിന്ന് കുഞ്ഞുങ്ങളെ വിരിയിക്കുന്നു. ==ജനുസ്സുകൾ== {| class="wikitable sortable" cellpadding="5" style="font-size:95%;" |- style="background:ccc; text-align:center;" |- ! ക്രമം !! ജനുസ്സ് !! ചിത്രം !! ആംഗലേയ നാമം !! ആവാസ സ്ഥലങ്ങൾ |- | 1 || Adenorhinos || || Uzungwe viper || [[ടാൻസാനിയ ]] |- | 2 || Atheris || [[File:Atheris_chlorechis.jpg|100px]] || Bush vipers || [[ദക്ഷിണാഫ്രിക്ക]] ഒഴികെയുള്ള [[സഹാറ]] പ്രദേശങ്ങൾ |- | 3 || Bitis || [[File:GaboonViper.jpg|100px]] || Puff adders || [[ആഫ്രിക്ക]], ദക്ഷിണ അറേബ്യൻ ഉപദ്വീപ് |- | 4 || Cerastes || [[File:Cerastes_cerastes_1.jpg|100px]] || Horned vipers||വടക്കൻ [[ആഫ്രിക്ക]] , [[ഇറാൻ ]] |- | 5 || Daboia || [[File:Daboia full.jpg|100px]] || Russell's viper || [[പാകിസ്താൻ]] , [[ഇന്ത്യ]] , [[ശ്രീലങ്ക]] , [[ബംഗ്ലാദേശ്]] , [[നേപ്പാൾ]] , [[ബർമ്മ]] , [[തായ്‌ലാൻഡ്]] , [[കംബോഡിയ]] , [[ചൈന]] , [[തായ്‌വാൻ]] , [[ഇന്തോനേഷ്യ]] |- | 6 || Echis || [[File:Echis carinatus sal (edit).jpg|100px]] || Saw-scaled vipers || [[ഇന്ത്യ]] , [[ശ്രീലങ്ക]] , [[മദ്ധ്യേഷ്യ]] , ആഫ്രിക്കയിലെ ഭൂമധ്യരേഖാ പ്രദേശങ്ങൾ |- | 7 || Eristicophis || [[File:Eristicophis macmahonii.jpg|100px]] || McMahon's viper || ബലൂചിസ്താൻ |- | 8 || Macrovipera || [[File:Macrovipera lebetina obtusa03.jpg|100px]] || Large Palearctic vipers || ഉത്തര ആഫ്രിക്കയിലെ അർദ്ധ മരുഭൂമികൾ , പുൽമേടുകൾ |- | 9 || Montatheris || || Kenya mountain viper || [[കെനിയ|കെനിയയിലെ]] മൌണ്ട് കെനിയ മല നിരകൾ |- | 10 || Proatheris || || Lowland viper || [[ടാൻസാനിയ ]] |- | 11 || Pseudocerastes || [[File:Field's Horned Viper.jpg|100px]] || False horned viper || [[ഈജിപ്ത് | ഈജിപ്തിലെ ]] സിനായ് മുതൽ പാകിസ്താൻ വരെയുള്ള പ്രദേശങ്ങൾ |- | 12 || Vipera || [[File:Vipera aspis aspis.jpg |100px]] || Palearctic vipers || [[ഗ്രേറ്റ് ബ്രിട്ടൺ]] , [[യൂറോപ്പ്]] , [[മൊറോക്കോ]] , [[അൾജീരിയ]] , [[ടുണീഷ്യ]] |- |} ==ഇന്ത്യയിൽ കാണപ്പെടുന്നവ== ഇന്ത്യയിൽ കാണപ്പെടുന്ന അണലികളാണു റസ്സൽസ് വൈപ്പർ (Russell's Viper) എന്ന [[ചേനത്തണ്ടൻ]], സോ-സ്കേൽഡ് വൈപ്പർ (Saw- Scaled Viper ) എന്ന [[ചുരുട്ടമണ്ഡലി]]. == ഇത് കൂടി കാണുക == * അണലി കുടുംബം - [[വൈപ്പറിഡേ]] [[പഫ് ആഡെർ]] [[ഗബൂൺ അണലി]] [[സെറസ്റ്റസ് സെറസ്റ്റസ്]] [[കോമൺ യൂറോപ്യൻ ആഡെർ]] == അവലംബം == {{reflist}} <references /> {{ഉരഗങ്ങൾ}} [[വർഗ്ഗം:വിഷമുള്ള പാമ്പുകൾ]] [[വർഗ്ഗം:അണലികൾ]] == വിഷം== അണലിയുടെ വിഷം രക്തത്തെ ആണ് ബാധിക്കുക. വളരെ നീളമുള്ള പല്ലായതിനാൽ അണലിയുടെ കടിയേറ്റാൽ ആഴമുള്ള മുറിവുകൾ ഉണ്ടാവും. കടിയേറ്റ സ്ഥലത്ത് നീര് ഉണ്ടാവും.കൃത്യസമയത്ത് ചികിത്സ തേടിയില്ലെങ്കിൽ മരണം സംഭവിക്കും.ഇവരുടെ കടിയേറ്റിട്ട് ചികിത്സ തേടി രക്ഷപ്പെട്ടവർക്ക് പോലും ഇവരുടെ വിഷം കാരണം വൃക്ക തകരാറുണ്ടായിട്ടുണ്ട്. f02air0gokbcxs0oupqrgxvkj4xv1ez മാഞ്ചസ്റ്റർ സിറ്റി എഫ്.സി. 0 160451 4622085 4608748 2026-05-23T00:36:26Z ~2026-30679-40 218196 4622085 wikitext text/x-wiki {{prettyurl|Manchester City F.C.}} {{Infobox football club | clubname = Manchester City | image = Manchester City FC badge.svg | upright = 0.84 | alt = A rounded badge depicting a shield containing a ship, the [[Red rose of Lancashire|Lancashire Rose]], and the three rivers of Manchester. | fullname = Manchester City Football Club | nickname = The Citizens (Cityzens),<ref>{{cite web|title=Cityzens at Home|url=https://www.mancity.com/cityzensathome|website=ManCity.com|publisher=Manchester City FC|access-date=31 May 2021|archive-date=2021-05-02|archive-url=https://web.archive.org/web/20210502064622/https://www.mancity.com/cityzensathome|url-status=dead}}</ref> The Blues, The Sky Blues | short name = City, Man City | founded = {{start date and years ago|df=yes|1880}} as St. Mark's (West Gorton)<br/>{{start date and years ago|df=yes|1887}} as Ardwick Association F.C.<br/>{{start date and years ago|df=yes|1894|4|16}} as Manchester City{{efn|On 16 April 1894, the name was changed to ''Manchester City''.}} | ground = [[City of Manchester Stadium]] | capacity = 53,400<ref>{{cite web|title=Visiting the Etihad Stadium|url=https://www.mancity.com/etihad-stadium/visiting-the-etihad-stadium|access-date=23 September 2021|website=mancity.com|publisher=Manchester City FC|archive-date=2 September 2021|archive-url=https://web.archive.org/web/20210902150716/https://www.mancity.com/etihad-stadium/visiting-the-etihad-stadium|url-status=live}}</ref> | owner = [[City Football Group|City Football Group Limited]] | chairman = [[Khaldoon Al Mubarak]] | manager = | league = {{English football updater|ManchesC}} | season = {{English football updater|ManchesC2}} | position = {{English football updater|ManchesC3}} | current = 2022–23 Manchester City F.C. season | website = http://www.mancity.com | pattern_la1 = _mancity2223h | pattern_b1 = _mancity2223h | pattern_ra1 = _mancity2223h | pattern_sh1 = _mancity2223h | pattern_so1 = _mancity2223hl | leftarm1 = 78BCFF | body1 = 78BCFF | rightarm1 = 78BCFF | shorts1 = FFFFFF | socks1 = 78BCFF | pattern_la2 = _mancity2223a | pattern_b2 = _mancity2223a | pattern_ra2 = _mancity2223a | pattern_sh2 = _mancity2223a | pattern_so2 = _mancity2223al | leftarm2 = FFFFFF | body2 = FFFFFF | rightarm2 = FFFFFF | shorts2 = 000000 | socks2 = 000000 | pattern_la3 = _mancity2223t | pattern_b3 = _mancity2223t | pattern_ra3 = _mancity2223t | pattern_sh3 = _mancity2223t | pattern_so3 = _mancity2223tl | leftarm3 = D3FE7A | body3 = D3FE7A | rightarm3 = D3FE7A | shorts3 = 384157 | socks3 = D3FE7A }} [[ഇംഗ്ലണ്ട്|ഇംഗ്ലണ്ടിലെ]] [[മാഞ്ചസ്റ്റർ]] ആസ്ഥാനമാക്കി പ്രവർത്തിക്കുന്ന ഒരു [[ഫുട്ബോൾ]] ക്ലബ്ബാണ് '''[[മാഞ്ചസ്റ്റർ സിറ്റി|മാഞ്ചസ്റ്റർ സിറ്റി എഫ്.സി]]'''. ഇംഗ്ലീഷ് [[പ്രീമിയർ ലീഗ്|പ്രീമിയർ ലീഗിലാണ്]] ഇവർ കളിക്കുന്നത്. 1880-ൽ '''സെയ്ന്റ് മാർക്ക്സ് (വെസ്റ്റ് ഗോർട്ടൻ)''' എന്ന പേരിൽ സ്ഥാപിതമായ ക്ലബ്ബിൽ 1887-ൽ '''ആർഡ്‌വിക്ക് അസോസിയേഷൻ ഫുട്ബോൾ ക്ലബ്ബ്''' എന്നും 1894-ൽ [[മാഞ്ചസ്റ്റർ സിറ്റി]] എന്നും പുനർനാമകരണം ചെയ്യപ്പെട്ടു. 90-ഓളം വർഷം [[മെയ്ൻ റോഡ്]] സ്റ്റേഡിയത്തിൽ കളിച്ച ഇവർ 2003-ൽ [[സിറ്റി ഓഫ് മാഞ്ചസ്റ്റർ സ്റ്റേഡിയം|സിറ്റി ഓഫ് മാഞ്ചസ്റ്റർ സ്റ്റേഡിയത്തിലേക്ക്]] മാറി. 1960-കളും 70-കളുമായിരുന്നു മാഞ്ചസ്റ്റർ സിറ്റി ക്ലബ്ബിന്റെ ഏറ്റവും മികച്ച കാലം. ഈ കാലയളവിൽ അവർ [[ലീഗ് ചാമ്പ്യൻഷിപ്പ്]], [[എഫ്.എ. കപ്പ്]], [[ലീഗ് കപ്പ്]], [[യൂറോപ്യൻ കപ്പ് വിന്നേഴ്സ് കപ്പ്]] എന്നിവ നേടി. [[ജോ മെഴ്സർ]], [[മാൽകം ആലിസൺ]] എന്നിവരുടെ മേൽനോട്ടത്തിൽ [[കോളിൻ ബെൽ]], [[മൈക്ക് സമ്മർബീ]], [[ഫ്രാൻസിസ് ലീ]] എന്നിവരടങ്ങിയ ടീമുകളാണ് ഈ നേട്ടങ്ങൾ കൈവരിച്ചത്. 1981 [[എഫ്.എ. കപ്പ്]] സെമി ഫൈനലിലെ തോൽവിക്ക് ശേഷം സിറ്റിക്ക് അധഃപതനത്തിന്റെ കാലമായിരുന്നു. 1997-ൽ ക്ലബ്ബ് ഇംഗ്ലീഷ് ഫുട്ബോളിന്റെ മൂന്നാം നിര ലീഗിലേക്ക് തരംതാഴത്തപ്പെടുക പോലും ചെയ്തു. പിന്നീട് പ്രീമിയർ ലീഗിലേക്ക് മടങ്ങിയെത്തിയ ക്ലബ്ബിന് 2008-ൽ [[അബുദാബി യുണൈറ്റഡ് ഗ്രൂപ്പ്|അബുദാബി യുണൈറ്റഡ് ഗ്രൂപ്പിന്റെ]] ഉടമസ്ഥതയിലായതോടെ പുത്തനുണർവ്വ് ലഭിച്ചു. വൻ തുകയ്ക്ക് മികച്ച കളിക്കാരെ വാങ്ങുവാൻ തുടങ്ങിയ മാഞ്ചസ്റ്റർ സിറ്റി 2011-ൽ എഫ്.എ. കപ്പ് ജേതാക്കളാവുകയും [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്|ചാമ്പ്യൻസ് ലീഗ്]] യോഗ്യത നേടുകയും ചെയ്തു. 2012 മേയ് 13-ന് അധിക സമയത്ത് നേടിയ രണ്ടു ഗോളുകളുടെ പിൻബലത്തിൽ ക്വീ​ൺസ് പാർക്ക് റേഞ്ചേഴ്സിനെ 3-2-ന് തോൽപ്പിച്ച് ലീഗ് പട്ടികയിൽ [[മാഞ്ചസ്റ്റർ യുണൈറ്റഡ് എഫ്.സി.|മാഞ്ചസ്റ്റർ യുണൈറ്റഡിനെ]] ഗോൾ ശരാശരിയിൽ പിന്തള്ളി [[പ്രീമിയർ ലീഗ്]] ജേതാക്കളായി. == കളിക്കാർ == === നിലവിലെ കളിക്കാർ === {{updated|12 August 2015.}} {{fs start}} {{Fs player|no=1 |nat=ENG|pos=GK|name=[[Joe Hart]]}} {{Fs player|no=3 |nat=FRA|pos=DF|name=[[Bacary Sagna]]}} {{Fs player|no=4 |nat=BEL|pos=DF|name=[[വിൻസെന്റ് കോംപനി]]|other=ക്യാപ്റ്റൻ}} {{Fs player|no=5 |nat=ARG|pos=DF|name=[[Pablo Zabaleta]]}} {{Fs player|no=6 |nat=BRA|pos=MF|name=[[Fernando (Brazilian footballer, born 1987)|Fernando]]}} {{Fs player|no=7 |nat=ENG|pos=MF|name=[[റഹീം സ്റ്റെർലിങ്]]}} {{Fs player|no=8 |nat=FRA|pos=MF|name=[[Samir Nasri]]}} {{Fs player|no=10|nat=ARG|pos=FW|name=[[സെർജിയോ അഗ്വേറോ]]}} {{Fs player|no=11|nat=SER|pos=DF|name=[[Aleksandar Kolarov]]}} {{Fs player|no=13|nat=ARG|pos=GK|name=[[Willy Caballero]]}} {{fs player|no=14|nat=CIV|pos=FW|name=[[Wilfried Bony]]}} {{Fs player|no=15|nat=ESP|pos=MF|name=[[Jesús Navas]]}} {{fs mid}} {{Fs player|no=17|nat=BEL|pos=MF|name=[[കെവിൻ ഡി ബ്രൂണ]]}} {{Fs player|no=18|nat=ENG|pos=MF|name=[[Fabian Delph]]}} {{Fs player|no=20|nat=FRA|pos=DF|name=[[Eliaquim Mangala]]}} {{Fs player|no=21|nat=ESP|pos=MF|name=[[David Silva]]}} {{Fs player|no=22|nat=FRA|pos=DF|name=[[Gaël Clichy]]}} {{Fs player|no=25|nat=BRA|pos=MF|name=[[Fernandinho (footballer)|Fernandinho]]}} {{Fs player|no=26|nat=ARG|pos=DF|name=[[Martín Demichelis]]}} {{Fs player|no=29|nat=ENG|pos=GK|name=[[Richard Wright (footballer)|Richard Wright]]}} {{Fs player|no=30|nat=ARG|pos=DF|name=[[Nicolás Otamendi]]}} {{Fs player|no=42|nat=CIV|pos=MF|name=[[യായാ ടൂറേ]]}} {{Fs player|no=72|nat=NGA|pos=FW|name=[[Kelechi Iheanacho]]}} {{Fs player|no=— |nat=AUS|pos=MF|name=[[Luke Brattan]]}} {{fs end }} == പരിശീലക സംഘം == {| class="wikitable" |- ! സ്ഥാനം !! പേര് |- |മാനേജർ ||[[പെപ് ഗ്വാർഡിയോള|Pep guardiola]] |- |അസിസ്റ്റന്റ് മാനേജർ ||{{flagicon|ENG}} [[Brian Kidd]] |- |First team coach ||{{flagicon|Italy}} [[Fausto Salsano]] |- |First team coach ||{{flagicon|England}} [[David Platt (footballer)|David Platt]] |- |ഗോൾകീപ്പിങ് കോച്ച് ||{{flagicon|Italy}} [[Massimo Battara]] |- |ഫിറ്റ്നസ് കോച്ച് ||{{flagicon|Italy}} Ivan Carminati |- |ഇന്റർനാഷണൽ അക്കാഡമി ഡയറക്ടർ ||{{flagicon|England}} [[Jim Cassell]] |- |Under-21 elite development manager ||{{flagicon|Italy}} [[Attilio Lombardo]] |- |Head of Platt Lane Academy ||{{flagicon|England}} Mark Allen |- |അക്കാഡമി ടീം മാനേജർ||{{flagicon|England}} [[Scott Sellars]] |} == അവലംബം == <references/> ==കുറിപ്പുകൾ== {{notelist}} [[വർഗ്ഗം:ഇംഗ്ലീഷ് ഫുട്ബോൾ ക്ലബ്ബുകൾ]] 2505573zbipdi6gbvdd851b8g07vjmi 4622086 4622085 2026-05-23T00:38:18Z ~2026-30679-40 218196 /* പരിശീലക സംഘം */ 4622086 wikitext text/x-wiki {{prettyurl|Manchester City F.C.}} {{Infobox football club | clubname = Manchester City | image = Manchester City FC badge.svg | upright = 0.84 | alt = A rounded badge depicting a shield containing a ship, the [[Red rose of Lancashire|Lancashire Rose]], and the three rivers of Manchester. | fullname = Manchester City Football Club | nickname = The Citizens (Cityzens),<ref>{{cite web|title=Cityzens at Home|url=https://www.mancity.com/cityzensathome|website=ManCity.com|publisher=Manchester City FC|access-date=31 May 2021|archive-date=2021-05-02|archive-url=https://web.archive.org/web/20210502064622/https://www.mancity.com/cityzensathome|url-status=dead}}</ref> The Blues, The Sky Blues | short name = City, Man City | founded = {{start date and years ago|df=yes|1880}} as St. Mark's (West Gorton)<br/>{{start date and years ago|df=yes|1887}} as Ardwick Association F.C.<br/>{{start date and years ago|df=yes|1894|4|16}} as Manchester City{{efn|On 16 April 1894, the name was changed to ''Manchester City''.}} | ground = [[City of Manchester Stadium]] | capacity = 53,400<ref>{{cite web|title=Visiting the Etihad Stadium|url=https://www.mancity.com/etihad-stadium/visiting-the-etihad-stadium|access-date=23 September 2021|website=mancity.com|publisher=Manchester City FC|archive-date=2 September 2021|archive-url=https://web.archive.org/web/20210902150716/https://www.mancity.com/etihad-stadium/visiting-the-etihad-stadium|url-status=live}}</ref> | owner = [[City Football Group|City Football Group Limited]] | chairman = [[Khaldoon Al Mubarak]] | manager = | league = {{English football updater|ManchesC}} | season = {{English football updater|ManchesC2}} | position = {{English football updater|ManchesC3}} | current = 2022–23 Manchester City F.C. season | website = http://www.mancity.com | pattern_la1 = _mancity2223h | pattern_b1 = _mancity2223h | pattern_ra1 = _mancity2223h | pattern_sh1 = _mancity2223h | pattern_so1 = _mancity2223hl | leftarm1 = 78BCFF | body1 = 78BCFF | rightarm1 = 78BCFF | shorts1 = FFFFFF | socks1 = 78BCFF | pattern_la2 = _mancity2223a | pattern_b2 = _mancity2223a | pattern_ra2 = _mancity2223a | pattern_sh2 = _mancity2223a | pattern_so2 = _mancity2223al | leftarm2 = FFFFFF | body2 = FFFFFF | rightarm2 = FFFFFF | shorts2 = 000000 | socks2 = 000000 | pattern_la3 = _mancity2223t | pattern_b3 = _mancity2223t | pattern_ra3 = _mancity2223t | pattern_sh3 = _mancity2223t | pattern_so3 = _mancity2223tl | leftarm3 = D3FE7A | body3 = D3FE7A | rightarm3 = D3FE7A | shorts3 = 384157 | socks3 = D3FE7A }} [[ഇംഗ്ലണ്ട്|ഇംഗ്ലണ്ടിലെ]] [[മാഞ്ചസ്റ്റർ]] ആസ്ഥാനമാക്കി പ്രവർത്തിക്കുന്ന ഒരു [[ഫുട്ബോൾ]] ക്ലബ്ബാണ് '''[[മാഞ്ചസ്റ്റർ സിറ്റി|മാഞ്ചസ്റ്റർ സിറ്റി എഫ്.സി]]'''. ഇംഗ്ലീഷ് [[പ്രീമിയർ ലീഗ്|പ്രീമിയർ ലീഗിലാണ്]] ഇവർ കളിക്കുന്നത്. 1880-ൽ '''സെയ്ന്റ് മാർക്ക്സ് (വെസ്റ്റ് ഗോർട്ടൻ)''' എന്ന പേരിൽ സ്ഥാപിതമായ ക്ലബ്ബിൽ 1887-ൽ '''ആർഡ്‌വിക്ക് അസോസിയേഷൻ ഫുട്ബോൾ ക്ലബ്ബ്''' എന്നും 1894-ൽ [[മാഞ്ചസ്റ്റർ സിറ്റി]] എന്നും പുനർനാമകരണം ചെയ്യപ്പെട്ടു. 90-ഓളം വർഷം [[മെയ്ൻ റോഡ്]] സ്റ്റേഡിയത്തിൽ കളിച്ച ഇവർ 2003-ൽ [[സിറ്റി ഓഫ് മാഞ്ചസ്റ്റർ സ്റ്റേഡിയം|സിറ്റി ഓഫ് മാഞ്ചസ്റ്റർ സ്റ്റേഡിയത്തിലേക്ക്]] മാറി. 1960-കളും 70-കളുമായിരുന്നു മാഞ്ചസ്റ്റർ സിറ്റി ക്ലബ്ബിന്റെ ഏറ്റവും മികച്ച കാലം. ഈ കാലയളവിൽ അവർ [[ലീഗ് ചാമ്പ്യൻഷിപ്പ്]], [[എഫ്.എ. കപ്പ്]], [[ലീഗ് കപ്പ്]], [[യൂറോപ്യൻ കപ്പ് വിന്നേഴ്സ് കപ്പ്]] എന്നിവ നേടി. [[ജോ മെഴ്സർ]], [[മാൽകം ആലിസൺ]] എന്നിവരുടെ മേൽനോട്ടത്തിൽ [[കോളിൻ ബെൽ]], [[മൈക്ക് സമ്മർബീ]], [[ഫ്രാൻസിസ് ലീ]] എന്നിവരടങ്ങിയ ടീമുകളാണ് ഈ നേട്ടങ്ങൾ കൈവരിച്ചത്. 1981 [[എഫ്.എ. കപ്പ്]] സെമി ഫൈനലിലെ തോൽവിക്ക് ശേഷം സിറ്റിക്ക് അധഃപതനത്തിന്റെ കാലമായിരുന്നു. 1997-ൽ ക്ലബ്ബ് ഇംഗ്ലീഷ് ഫുട്ബോളിന്റെ മൂന്നാം നിര ലീഗിലേക്ക് തരംതാഴത്തപ്പെടുക പോലും ചെയ്തു. പിന്നീട് പ്രീമിയർ ലീഗിലേക്ക് മടങ്ങിയെത്തിയ ക്ലബ്ബിന് 2008-ൽ [[അബുദാബി യുണൈറ്റഡ് ഗ്രൂപ്പ്|അബുദാബി യുണൈറ്റഡ് ഗ്രൂപ്പിന്റെ]] ഉടമസ്ഥതയിലായതോടെ പുത്തനുണർവ്വ് ലഭിച്ചു. വൻ തുകയ്ക്ക് മികച്ച കളിക്കാരെ വാങ്ങുവാൻ തുടങ്ങിയ മാഞ്ചസ്റ്റർ സിറ്റി 2011-ൽ എഫ്.എ. കപ്പ് ജേതാക്കളാവുകയും [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്|ചാമ്പ്യൻസ് ലീഗ്]] യോഗ്യത നേടുകയും ചെയ്തു. 2012 മേയ് 13-ന് അധിക സമയത്ത് നേടിയ രണ്ടു ഗോളുകളുടെ പിൻബലത്തിൽ ക്വീ​ൺസ് പാർക്ക് റേഞ്ചേഴ്സിനെ 3-2-ന് തോൽപ്പിച്ച് ലീഗ് പട്ടികയിൽ [[മാഞ്ചസ്റ്റർ യുണൈറ്റഡ് എഫ്.സി.|മാഞ്ചസ്റ്റർ യുണൈറ്റഡിനെ]] ഗോൾ ശരാശരിയിൽ പിന്തള്ളി [[പ്രീമിയർ ലീഗ്]] ജേതാക്കളായി. == കളിക്കാർ == === നിലവിലെ കളിക്കാർ === {{updated|12 August 2015.}} {{fs start}} {{Fs player|no=1 |nat=ENG|pos=GK|name=[[Joe Hart]]}} {{Fs player|no=3 |nat=FRA|pos=DF|name=[[Bacary Sagna]]}} {{Fs player|no=4 |nat=BEL|pos=DF|name=[[വിൻസെന്റ് കോംപനി]]|other=ക്യാപ്റ്റൻ}} {{Fs player|no=5 |nat=ARG|pos=DF|name=[[Pablo Zabaleta]]}} {{Fs player|no=6 |nat=BRA|pos=MF|name=[[Fernando (Brazilian footballer, born 1987)|Fernando]]}} {{Fs player|no=7 |nat=ENG|pos=MF|name=[[റഹീം സ്റ്റെർലിങ്]]}} {{Fs player|no=8 |nat=FRA|pos=MF|name=[[Samir Nasri]]}} {{Fs player|no=10|nat=ARG|pos=FW|name=[[സെർജിയോ അഗ്വേറോ]]}} {{Fs player|no=11|nat=SER|pos=DF|name=[[Aleksandar Kolarov]]}} {{Fs player|no=13|nat=ARG|pos=GK|name=[[Willy Caballero]]}} {{fs player|no=14|nat=CIV|pos=FW|name=[[Wilfried Bony]]}} {{Fs player|no=15|nat=ESP|pos=MF|name=[[Jesús Navas]]}} {{fs mid}} {{Fs player|no=17|nat=BEL|pos=MF|name=[[കെവിൻ ഡി ബ്രൂണ]]}} {{Fs player|no=18|nat=ENG|pos=MF|name=[[Fabian Delph]]}} {{Fs player|no=20|nat=FRA|pos=DF|name=[[Eliaquim Mangala]]}} {{Fs player|no=21|nat=ESP|pos=MF|name=[[David Silva]]}} {{Fs player|no=22|nat=FRA|pos=DF|name=[[Gaël Clichy]]}} {{Fs player|no=25|nat=BRA|pos=MF|name=[[Fernandinho (footballer)|Fernandinho]]}} {{Fs player|no=26|nat=ARG|pos=DF|name=[[Martín Demichelis]]}} {{Fs player|no=29|nat=ENG|pos=GK|name=[[Richard Wright (footballer)|Richard Wright]]}} {{Fs player|no=30|nat=ARG|pos=DF|name=[[Nicolás Otamendi]]}} {{Fs player|no=42|nat=CIV|pos=MF|name=[[യായാ ടൂറേ]]}} {{Fs player|no=72|nat=NGA|pos=FW|name=[[Kelechi Iheanacho]]}} {{Fs player|no=— |nat=AUS|pos=MF|name=[[Luke Brattan]]}} {{fs end }} == പരിശീലക സംഘം == {| class="wikitable" |- ! സ്ഥാനം !! പേര് |- |മാനേജർ || |- |അസിസ്റ്റന്റ് മാനേജർ || |- |First team coach || |- |First team coach || |- |ഗോൾകീപ്പിങ് കോച്ച് || |- |ഫിറ്റ്നസ് കോച്ച് || |- |ഇന്റർനാഷണൽ അക്കാഡമി ഡയറക്ടർ || |- |Under-21 elite development manager || |- |Head of Platt Lane Academy || |- |അക്കാഡമി ടീം മാനേജർ|| |} == അവലംബം == <references/> ==കുറിപ്പുകൾ== {{notelist}} [[വർഗ്ഗം:ഇംഗ്ലീഷ് ഫുട്ബോൾ ക്ലബ്ബുകൾ]] t1tezh4ztku5ionyzpb2whwe93lqbkc അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ 0 164190 4622143 4576171 2026-05-23T06:10:13Z Sreehari lijinas 209493 Sreehari lijinas എന്ന ഉപയോക്താവ് [[അറബീം ഒട്ടകോം പി. മാധവൻ നായരും]] എന്ന താൾ [[അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 4576171 wikitext text/x-wiki {{Prettyurl|Arabeem Ottakom P. Madhavan Nairum}} {{Infobox film | name = അറബീം ഒട്ടകോം പി. മാധവൻ നായരും (ഒരു മരുഭൂമിക്കഥ) | image = Oru_Marubhoomikadha.jpg | image_size = | director = [[പ്രിയദർശൻ]] | producer = വി. അശോക് കുമാർ<br />നവീൻ ശശിധരൻ | story = അഭിലാഷ് നായർ | screenplay = അഭിലാഷ് നായർ <br /> '''സംഭാഷണം''':<br /> പ്രിയദർശൻ | narrator = [[ശ്രീനിവാസൻ]] | starring = [[മോഹൻലാൽ]]<br />[[മുകേഷ്]]<br>[[ലക്ഷ്മി റായ്]]<br />[[ഭാവന]] | cinematography = അഴകപ്പൻ | editing = [[ടി.എസ്. സുരേഷ്]] | music = [[എം.ജി. ശ്രീകുമാർ]] | lyrics = [[ബിച്ചു തിരുമല]] <br /> [[സന്തോഷ് വർമ്മ]] <br /> [[രാജീവ് ആലുങ്കൽ]] | studio = ജാങ്കോസ് എന്റർടെയിന്റ്മെന്റ് | distributor = സെവൻ ആർട്ട്സ് റിലീസ് | released = 2011 ഡിസംബർ 16 | runtime = 175 മിനിറ്റ് | country = [[ഇന്ത്യ]] | language = [[മലയാളം]] | budget = | gross = }} '''അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഇൻ ഒരു മരുഭൂമിക്കഥ''', അല്ലെങ്കിൽ ലളിതമായി '''ഒരു മരുഭൂമിക്കഥ''' , [[പ്രിയദർശൻ]] സംവിധാനം ചെയ്ത് 2011-ൽ പുറത്തിറങ്ങിയ ഒരു ഇന്ത്യൻ [[മലയാളം]]-ഭാഷാ റൊമാന്റിക് കോമഡി ചിത്രമാണ്. അഭിലാഷ് നായർ. [[മോഹൻലാൽ]], [[മുകേഷ്]], [[ഭാവന]], [[റായ് ലക്ഷ്മി]], ശക്തി കപൂർ എന്നിവരാണ് ചിത്രത്തിലെ പ്രധാന താരങ്ങൾ. ചിത്രം ബോക്‌സ് ഓഫീസിൽ വാണിജ്യപരമായി വിജയമായിരുന്നു. മുകേഷിന്റെ 200-ാമത്തെ ചിത്രമായിരുന്നു ഇത്. ഹോളിവുഡ് ചിത്രങ്ങളായ ''നത്തിംഗ് ടു ലൂസ്'' (1997), ''എക്‌സ്‌സസ് ബാഗേജ്'' (1997), ''സെറൻഡിപിറ്റി'' (2001) എന്നിവയിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ടതാണ് ഈ ചിത്രം.<ref>{{Cite web |url=http://www.mathrubhumi.com/movies/malayalam/237697/ |title=സൂപ്പർസ്റ്റാർ ചിത്രങ്ങൾ പ്രദർശനത്തിന്‌ |access-date=2011-12-16 |archive-date=2011-12-16 |archive-url=https://web.archive.org/web/20111216101944/http://www.mathrubhumi.com/movies/malayalam/237697/ |url-status=dead }}</ref> ==കഥാസംഗ്രഹം== അബുദാബിയിൽ ജോലി ചെയ്ത് കുടുംബം പുലർത്താൻ ശ്രമിക്കുന്ന സത്യസന്ധനായ വ്യക്തിയാണ് മാധവൻ. സ്വന്തമായി തട്ടിക്കൊണ്ടുപോകൽ അരങ്ങേറുന്ന ഒരു പെൺകുട്ടിയുടെ നാടകത്തിൽ അവനും സുഹൃത്തും കുടുങ്ങുമ്പോൾ അവന്റെ ജീവിതത്തിലേക്ക് മാറ്റങ്ങൾ വരുന്നു. ==അഭിനേതാക്കൾ== * [[മോഹൻലാൽ]] – പുത്തൻപുരയ്ക്കൽ മാധവൻ നായർ * [[മുകേഷ്]] – അബ്ദു കുപ്ലേരി * [[ലക്ഷ്മി റായ്]] – മീനാക്ഷി തമ്പുരാൻ / മാനസി * [[ഭാവന]] – എലിയാന * [[ശക്തി കപൂർ]] - ഹോസ്നി മുബാരക് *[[ഇന്നസെന്റ്]]-മത്തായി *[[നെടുമുടി വേണു]] -തോമ *[[മാമുക്കോയ]] *[[സുരാജ് വെഞ്ഞാറമ്മൂട്]] -കോയ *[[മണിയൻപിള്ള രാജു]] - ജോസ് *[[ലക്ഷ്മി ഗോപാലസ്വാമി]] -ഖദീജ ==അണിയറപ്രവർത്തകർ== * തിരക്കഥ, സംവിധാനം: [[പ്രിയദർശൻ]] * നിർമ്മാണം: അശോക് കുമാർ, നവീൻ ശശിധരൻ * ഛായാഗ്രഹണം: [[അഴകപ്പൻ]] * എഡിറ്റിംഗ്: അരുൺ കുമാർ * കലാ സംവിധാനം: [[സാബു സിറിൾ]] * സംഗീതം: [[എം.ജി. ശ്രീകുമാർ]] * ഗാനരചന: [[ബിച്ചു തിരുമല]], [[സന്തോഷ് വർമ്മ]], [[രാജീവ് ആലുങ്കൽ]] * വിതരണം: സെവൻ ആർട്സ് റിലീസ് * ഓഡിയോ: മനോരമ മ്യൂസിക് ==നിർമാണം== ചിത്രത്തിന്റെ പ്രിൻസിപ്പൽ ഫോട്ടോഗ്രാഫി 2011 മാർച്ചിൽ [[അബുദാബി]]യിൽ ആരംഭിച്ചു. 2011 മാർച്ച് 16 ന്, അബുദാബിയിലെ മരുഭൂമിയിൽ ചിത്രീകരിക്കുന്നതിനിടയിൽ, ഹോളിവുഡ് സംവിധായകൻ [[ജെയിംസ് കാമറൂൺ]] സെറ്റിലെത്തി മോഹൻലാൽ, പ്രിയദർശൻ, എന്നിവരുമായി മൂന്ന് മണിക്കൂർ നീണ്ട സംഭാഷണം നടത്തി. മോഹൻലാലിന്റെ അഭിനയ മികവും പ്രിയദർശന്റെ പരിമിതമായ ക്രൂ ഉപയോഗവും അദ്ദേഹത്തെ വളരെയധികം ആകർഷിച്ചു.<ref>https://archive.today/20130103132222/http://articles.timesofindia.indiatimes.com/2011-03-18/news-interviews/29140985_1_priyan-malayalam-film-james-cameron</ref> ''അറബീം ഒട്ടകോം പി.മാധവൻ നായരും'' എന്നായിരുന്നു ചിത്രത്തിന്റെ ആദ്യ പേര് എന്നാൽ പിന്നീട് ''ഒരു മരുഭൂമികഥ'' എന്ന പേരിലും ഒടുവിൽ ഇപ്പോഴത്തെ തലക്കെട്ടിലേയ്ക്കും മാറ്റുകയായിരുന്നു. പേർഷ്യൻ ഗൾഫ് മേഖലയിൽ ''ഒരു മരുഭൂമികഥ'' എന്ന പേരിലാണ് ചിത്രം റിലീസ് ചെയ്തത് . പേർഷ്യൻ ഗൾഫിലെ എൻആർഐകളിൽ നിന്നുള്ള കടുത്ത സമ്മർദ്ദത്തെ തുടർന്നായിരുന്നു ഇത്. അറബികൾ പ്രാരംഭ ശീർഷകത്തിൽ അതൃപ്തരാണെന്നും മിഡിൽ ഈസ്റ്റിൽ ചിത്രത്തിന്റെ റിലീസ് നിരോധിക്കുന്നതിനെക്കുറിച്ച് സൂചന നൽകിയതായും റിപ്പോർട്ടുകൾ ഉണ്ടായിരുന്നു. ==റിലീസ്== ചിത്രം 2011 ഡിസംബർ 16-ന് പുറത്തിറങ്ങി. ==സ്വീകരണം== റെഡിഫ് 5-ൽ 2 സ്റ്റാർ എന്ന റേറ്റിംഗ് നൽകി. കേരള ബോക്‌സ് ഓഫീസിൽ നിന്ന് 25 ദിവസം കൊണ്ട് വിതരണക്കാരുടെ വിഹിതം 3.85 കോടി നേടി. ചിത്രം ബോക്‌സ് ഓഫീസിൽ വാണിജ്യപരമായി വിജയമായിരുന്നു. ചിത്രം കേരളത്തിലെ തീയേറ്ററുകളിൽ 70 ദിവസത്തിലധികം പ്രദർശിപ്പിച്ചു. ആ വർഷത്തെ മോഹൻലാലിന്റെ അഞ്ചാമത്തെ സൂപ്പർഹിറ്റ് ചിത്രമായിരുന്നു ഇത്. ==ഗാനങ്ങൾ== [[ബിച്ചു തിരുമല]], സന്തോഷ് വർമ്മ, [[രാജീവ് ആലുങ്കൽ]] എന്നിവർ രചിച്ച അഞ്ചു ഗാനങ്ങൾക്ക് [[എം.ജി. ശ്രീകുമാർ]] സംഗീതം നൽകിയിരിക്കുന്നു. മനോരമ മ്യൂസിക് ആണ് ഗാനങ്ങൾ വിപണനം ചെയ്തിരിക്കുന്നത്. {| |- ! style="background: gray; " | എണ്ണം!! style="background: gray; " | ഗാനം !! style="background: gray; " | പാടിയത് !!style="background: gray; " | സമയദൈർഘ്യം!!scope="col" width="40" style="background: gray; " | രചന |- | style="background: #D7D7D5; " | '''1''' || style="background: #D7D7D5; " | ചെമ്പക വല്ലികളിൽ... || style="background: #D7D7D5; " | [[എം.ജി. ശ്രീകുമാർ]], [[ശ്വേത മോഹൻ]]|| style="background: #D7D7D5; " | 04:17 || style="background: #D7D7D5; " | രാജീവ് ആലുങ്കൽ |- | style="background: #D7D7D5; " | '''2''' || style="background: #D7D7D5; " | മാധവേട്ടനെന്നും... || style="background: #D7D7D5; " | [[എം.ജി. ശ്രീകുമാർ]], റഹ്‌മാൻ, ഉജ്ജയിനി|| style="background: #D7D7D5; " | 04:38 || style="background: #D7D7D5; " | ബിച്ചു തിരുമല |- | style="background: #D7D7D5; " | '''3''' || style="background: #D7D7D5; " | മനസു മയക്കി... || style="background: #D7D7D5; " | [[റിമി ടോമി]], സുധീപ് കുമാർ || style="background: #D7D7D5; " |05:00 || style="background: #D7D7D5; " | സന്തോഷ് വർമ്മ |- | style="background: #D7D7D5; " | '''4''' || style="background: #D7D7D5; " | ഗോപ ബാലനിഷ്ടം... || style="background: #D7D7D5; " | [[മധു ബാലകൃഷ്ണൻ]], [[കെ.എസ്. ചിത്ര]] || style="background: #D7D7D5; " | 04:41 || style="background: #D7D7D5; " | സന്തോഷ് വർമ്മ |- | style="background: #D7D7D5; " | '''5''' || style="background: #D7D7D5; " | ഗോപ ബാലനിഷ്ടം || style="background: #D7D7D5; " | [[മധു ബാലകൃഷ്ണൻ]] || style="background: #D7D7D5; " | 04:39 || style="background: #D7D7D5; " | സന്തോഷ് വർമ്മ |} ==അവാർഡുകളും നാമനിർദ്ദേശങ്ങളും== ===നാമനിർദ്ദേശങ്ങൾ=== *ഫിലിംഫെയർ അവാർഡ് സൗത്ത് - മോഹൻലാൽ - മികച്ച നടൻ *മികച്ച വരികൾക്കുള്ള കേരള ഫിലിം ക്രിട്ടിക്സ് അസോസിയേഷൻ അവാർഡ് - [[രാജീവ് ആലുങ്കൽ]] (ചെമ്പക വല്ലികളിൽ) *മികച്ച സംഗീത സംവിധായകനുള്ള കേരള ഫിലിം ക്രിട്ടിക്‌സ് അസോസിയേഷൻ അവാർഡ് - [[എം. ജി. ശ്രീകുമാർ]] (ചെമ്പക വല്ലികളിൽ) ==അവലംബം== <references/> == പുറത്തേക്കുള്ള കണ്ണികൾ == * {{imdb title|1891933}} * [http://msidb.org/m.php?6876 ''അറബീം ഒട്ടകോം പി. മാധവൻ നായരും''] {{Webarchive|url=https://web.archive.org/web/20140729011828/http://msidb.org/m.php?6876 |date=2014-07-29 }} – മലയാളസംഗീതം.ഇൻഫോ {{മോഹൻലാൽ അഭിനയിച്ച ചലച്ചിത്രങ്ങളുടെ പട്ടിക}} {{പ്രിയദർശൻ സംവിധാനം ചെയ്ത മലയാളചലച്ചിത്രങ്ങൾ}} [[വർഗ്ഗം:2011-ൽ പുറത്തിറങ്ങിയ മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പ്രിയദർശൻ സം‌വിധാനം ചെയ്ത ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മോഹൻലാൽ അഭിനയിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളത്തിലെ ഹാസ്യ ചലച്ചിത്രങ്ങൾ]] eh9yqfebkjsxv2xw6f2msybam4yya52 സംവാദം:അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ 1 164192 4622145 1133738 2026-05-23T06:10:13Z Sreehari lijinas 209493 Sreehari lijinas എന്ന ഉപയോക്താവ് [[സംവാദം:അറബീം ഒട്ടകോം പി. മാധവൻ നായരും]] എന്ന താൾ [[സംവാദം:അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 1133738 wikitext text/x-wiki പലയിടത്തും പലതരത്തിലാണ് തലക്കെട്ട് കാണുന്നത്. ശരിയായ തലക്കെട്ട് ഔദ്യോഗിക പോസ്റ്റർ ഇറങ്ങിയിട്ട് മാറ്റുന്നതായിരിക്കും ഉചിതം--[[ഉപയോക്താവ്:Rojypala|റോജി പാലാ]] 16:00, 15 ഒക്ടോബർ 2011 (UTC) :ഇതിന്റെ പേർ ''ഒരു മരുഭൂമിക്കഥ'' എന്ന് മാറ്റിയതായി [http://www.24dunia.com/malayalam-news/search/%E0%B4%92%E0%B4%9F%E0%B5%8D%E0%B4%9F%E0%B4%95%E0%B4%B5%E0%B5%81%E0%B4%82-%E0%B4%85%E0%B4%B1%E0%B4%AC%E0%B4%BF%E0%B4%AF%E0%B5%81%E0%B4%82.html ഇവിടെ] കാണുന്നു --[[ഉപയോക്താവ്:ShajiA|ഷാജി]] 13:03, 16 ഒക്ടോബർ 2011 (UTC) :ഈ ചലച്ചിത്രം ഗൾഫ് രാജ്യങ്ങൾക്ക് പുറത്ത് ''അറബിയും ഒട്ടകവും പി. മാധവൻ നായരും'' എന്ന പേരിലും ഗൾഫിൽ ഒരു മരുഭൂമിക്കഥ എന്ന പേരിലുമാണ് റിലീസ് ചെയ്യുന്നതെന്ന് [http://www.mathrubhumi.com/movies/malayalam/218270/ മാതൃഭൂമിയിൽ] കണ്ടിരുന്നു. ''അറബീം ഒട്ടകോം പി. മാധവൻ നായരും'' എന്ന ഗ്രാമ്യപ്രയോഗം ആദ്യമായിട്ടാണ് കേൾക്കുന്നത്. --[[ഉപയോക്താവ്:Anoopan|അനൂപ് &#124; Anoop ]] 13:15, 16 ഒക്ടോബർ 2011 (UTC) മാതൃഭൂമിയിൽ കണ്ടിരുന്നു. എന്നാൽ ''മനോരമ'' ഇന്നും ഉപയോഗിച്ചിരിക്കുന്നത് ഇങ്ങനെയാണ്.--[[ഉപയോക്താവ്:Rojypala|റോജി പാലാ]] 15:30, 16 ഒക്ടോബർ 2011 (UTC) :മനോരമ മ്യൂസിക് ഓഡിയോ റിലീസ് ചെയ്തു. [http://yomaka.com/imghost/view.php?filename=168Oru_Marubhoomi_Kadha_0.jpg സി.ഡി. കവർ]--[[ഉപയോക്താവ്:Rojypala|റോജി പാലാ]] 17:24, 18 ഒക്ടോബർ 2011 (UTC) '''അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഇൻ ഒരു മരുഭൂമിക്കഥ''' - ഇങ്ങനെയല്ലേ? --[[ഉപയോക്താവ്:Jairodz|Jairodz]] ([[ഉപയോക്താവിന്റെ സംവാദം:Jairodz|സംവാദം]]) 10:16, 16 ഡിസംബർ 2011 (UTC) 5fa8k7rhk6g0dlrynm1hux4tu22e3gm ആർ. ശങ്കരനാരായണൻ തമ്പി 0 172546 4621582 3809851 2026-05-22T15:14:01Z GV2010 217548 4621582 wikitext text/x-wiki {{prettyurl|R. Sankaranarayanan Thampi}} {{Infobox officeholder |name = ആർ. ശങ്കരനാരായണൻ തമ്പി |image = R. Sankaranarayanan Thampi.jpg |birth_name = |imagesize = |caption = |office = [[കേരളനിയമസഭയിലെ സ്പീക്കർമാരുടെ പട്ടിക|കേരളനിയമസഭയുടെ സ്പീക്കർ]] |constituency = |term_start = [[ഏപ്രിൽ 27]] [[1957]] |term_end = [[ജൂലൈ 31]] [[1959]] |predecessor = |successor = [[കെ.എം. സീതി സാഹിബ്]] |office1 = [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ അംഗം]] |constituency1 =[[ചെങ്ങന്നൂർ നിയമസഭാമണ്ഡലം|ചെങ്ങന്നൂർ]] |term_start1 = [[മാർച്ച് 16]] [[1957]] |term_end1 = [[ജൂലൈ 31]] [[1959]] |predecessor1 = |successor1 =[[കെ.ആർ. സരസ്വതിയമ്മ]] |salary = |birth_date ={{Birth date|1911|9|30}} |birth_place =[[പല്ലന]] |residence = |death_date ={{Death date and age|1989|11|2|1911|9|30}} |death_place = [[തിരുവനന്തപുരം]] |party = [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സി.പി.ഐ.]] |religion = |father = |mother= |spouse = പി.എൽ. തങ്കമ്മ |children =മൂന്ന് മകൻ, രണ്ട് മകൾ |website = |footnotes = |date = ഡിസംബർ 20 |year = 2011 |source = http://niyamasabha.org/codes/members/m603.htm നിയമസഭ |}} [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] ആദ്യ സ്പീക്കറും<ref name="നിയമസഭ">http://niyamasabha.org/codes/Speakers%20&%20Deputy%20Speakers%20Book%20Final.pdf</ref> സ്വാതന്ത്ര്യ സമരസേനാനിയുമായിരുന്നു '''ആർ. ശങ്കരനാരായണൻ തമ്പി''' (30 സെപ്റ്റംബർ 1911 - 2 നവംബർ 1989). [[ഒന്നാം കേരളനിയമസഭ|ഒന്നാം കേരളനിയമസഭയിൽ]] [[സി.പി.ഐ.|സി.പി.ഐ.യുടെ]] പ്രതിനിധിയായി [[ചെങ്ങന്നൂർ നിയമസഭാമണ്ഡലം|ചെങ്ങന്നൂർ നിയോജകമണ്ഡലത്തിൽ]]<ref>http://niyamasabha.org/codes/members/m603.htm</ref> നിന്നാണ് ഇദ്ദേഹം തിരഞ്ഞെടുക്കപ്പെട്ടത്. രാമ രാജ വർമ്മ (മാവേലിക്കര) - തങ്കമ്മ കെട്ടിലമ്മ (പാണ്ടവത്ത്) ദമ്പതികളുടെ മകനായി 1911 സെപ്റ്റംബർ 30ന് [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴയിലെ]] [[പല്ലന|പല്ലനയിൽ]] ശങ്കരനാരായണൻ തമ്പി ജനിച്ചു. പി.എൽ. തങ്കമ്മയാണ് ഭാര്യ മൂന്ന് ആൺകുട്ടികളും രണ്ട് പെൺകുട്ടികളും ഇദ്ദേഹത്തിനുണ്ട്. 1944 മുതൽ 1947 വരെ [[ശ്രീമൂലം അസംബ്ലി|ശ്രീമൂലം അസംബ്ലിയിലും]] 1954-ൽ [[തിരുക്കൊച്ചി]] നിയമസഭയിലേക്കും ഇദ്ദേഹം തിരഞ്ഞെടുക്കപ്പെട്ടിട്ടുണ്ട്. [[തിരുവിതാംകൂർ സ്റ്റേറ്റ് കോൺഗ്രസ്സ്|തിരുവിതാംകൂർ സ്റ്റേറ്റ് കോൺഗ്രസിന്റെ]] യുവജന സംഘടനയായ ഓൾ ട്രാവൻകൂർ യൂത്ത് ലീഗിലൂടെ 1938ലാണ് ഇദ്ദേഹം രാഷ്ട്രീയത്തിലേക്ക് വരുന്നത്, നിരവധി തവണ ജയിൽ വാസമനുഷ്ഠിച്ച ഇദ്ദേഹം 1947-ൽ കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയിൽ അംഗമായി. 1972-ൽ കേരള സംസ്ഥാന സർവീസ് റൂൾസ് റിവിഷൻ കമ്മറ്റിയുടെ ചെയർമാനായും ഇദ്ദേഹം പ്രവർത്തിച്ചിട്ടുണ്ട്. ==ജീവിത രേഖ== *1911 ജനനം *1931 യൂത്ത് ലീഗിൽ *1935 കോൺഗ്രസ്സിൽ *1936-38 നിയമ പഠനം *1938 അറസ്റ്റ്, ജയിൽവാസം *1938 ജയിൽ വിമുക്തനായി *1939 കമ്യൂണിസ്റ്റ് പാർട്ടിയിൽ *1943 വിവാഹം *1944-47 ശ്രീമൂലം നിയമസഭാംഗം *1946 ജയിലിൽ *1947 ജയിൽ മോചനം *1948 [[എണ്ണയ്ക്കാട്ടു സംഭവം|എണ്ണയ്ക്കാട്ട് സമരം]] *1949 [[ശൂരനാട് സംഭവം]] *1954-56 തിരു-കൊച്ചി നിയമസഭാംഗം *1956-59 കേരള നിയമസഭാംഗം, സ്പീക്കർ *1989 മരണം == കുടുംബം == മാവേലിക്കര എണ്ണയ്ക്കാട് കൊട്ടാരത്തിൽ മൂലം തിരുനാൾ വലിയ രാമവർമ്മ വലിയ രാജാവ് - പാണ്ടവത്ത് തങ്കമ്മ കെട്ടിലമ്മ ദമ്പതികളുടെ മൂത്തമകനായി 1911 സെപ്റ്റംബർ 30ന് [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴയിലെ]] [[പല്ലന|പല്ലനയിലാണ്]] ശങ്കരനാരായണൻ തമ്പി ജനിച്ചത്. പി.എൽ. തങ്കമ്മ എന്നായിരുന്നു ഭാര്യയുടെ പേര്. ഇവർക്ക് മൂന്ന് ആൺകുട്ടികളും രണ്ട് പെൺകുട്ടികളുമുണ്ടായിരുന്നു. == വിദ്യാഭ്യാസവും ആദ്യകാല പൊതുപ്രവർത്തനവും== [[തിരുവനന്തപുരം യൂണിവേഴ്സിറ്റി കോളേജ്|തിരുവനന്തപുരം യൂണിവേഴ്സിറ്റി കോളേജിൽ]] നിന്നും ബിരുദം നേടിയ ശേഷം, നിയമത്തിൽ തിരുവനന്തപുരം ലോ കോളേജിൽ നിന്നും ബിരുദം നേടി.അതിനു ശേഷം [[മാവേലിക്കര|മാവേലിക്കരയിലാണ്]] ശങ്കരനാരായണൻ തമ്പി അഭിഭാഷകവൃത്തി നോക്കിയത്. ഇതേസമയം തന്നെ ഹരിജനങ്ങളെ മുൻ നിരയിൽ കൊണ്ടുവരാനുള്ള പ്രസ്ഥാനങ്ങളിൽ സജീവമായി പങ്കാളിയാവുകയും ചെയ്തു. 1938-ൽ ഓൾ ട്രാവ‌കൂർ യൂത്ത് ലീഗിലെ അംഗമാവുകയും വർക്കിംഗ് കമ്മിറ്റി അംഗമായി തിരഞ്ഞെടുക്കപ്പെടുകയും ചെയ്തു. ഇതേവർഷം തന്നെ സ്റ്റേറ്റ് കോൺഗ്രസിൽ ചേരുകയും [[തിരുവിതാംകൂർ സ്റ്റേറ്റ് കോൺഗ്രസ്സ്|തിരുവിതാംകൂർ സ്റ്റേറ്റ് കോൺഗ്രസിലെ]] അംഗമാവുകയും ചെയ്തു. == സ്വാതന്ത്ര്യ സമരത്തിൽ == യൂത്ത് ലീഗിന്റെ സമര പരിപാടികളിൽ പങ്കെടുക്കുക വഴി 1938-ൽ ആറു മാസത്തെ തടവ് ശിക്ഷയ്ക്ക് ഇദ്ദേഹം വിധിക്കപ്പെട്ടു, എന്നാൽ പൊതുമാപ്പ് ലഭിച്ചതിനേത്തുടർന്ന് മൂന്നു മാസങ്ങൾക്കു ശേഷം ജയിൽ മോചിതനായി. മലബാർ സോഷ്യലിസ്റ്റ് പാർട്ടിയുമായി ചേർന്ന് യുദ്ധവിരുദ്ധ പ്രവർത്തനങ്ങളിൽ പങ്കാളിയാവുകയും ചെയ്തിട്ടുണ്ട്. ഇത് ട്രേഡ് യൂണിയൻ പ്രവർത്തങ്ങളിലേക്ക് എത്തിപ്പെടാൻ അദ്ദേഹത്തെ സഹായിച്ചു. വളരെ താമസിയാതെ തന്നെ ശങ്കരനാരായണൻ തമ്പി [[തിരുവിതാംകൂർ|തിരുവിതാംകൂറിലെ]] കയർ തൊഴിലാളി യൂണിയന്റെ വൈസ് പ്രസിഡന്റാവുകയും ചെയ്തു. 1946-ൽ [[പുന്നപ്ര|പുന്നപ്രയിൽ]] വച്ച് നടത്തിയ പ്രസംഗത്തേതുടർന്ന് രണ്ട് വർഷത്തെ തടവിനും 1000 രൂപ പിഴ ശിശയ്ക്കും വിധിക്കപ്പെട്ടു. 1947-ൽ [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|കമ്മ്യൂണിസ്റ്റ് പാർട്ടിയിലംഗമാവുകയും]] പാർട്ടിയുടെ സംസ്ഥാന സമിതിയിലും എക്സീക്യൂട്ടീവ് കൗൺസിലിലും അംഗമായി.[[കായംകുളം|കായംകുളത്ത്]] ജില്ലാക്കമ്മറ്റി സെക്രട്ടറിയായും ഇദ്ദേഹം പ്രവർത്തിച്ചിട്ടുണ്ട്. == അവലംബം == {{Reflist}} {{DEFAULTSORT:ശങ്കരനാരായണൻ തമ്പി}} {{Speakers of KLA}} {{First KLA}} [[വർഗ്ഗം:1911-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം: 1989-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 30-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:നവംബർ 2-ന് മരിച്ചവർ]] [[വർഗ്ഗം:ആലപ്പുഴ ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ കമ്യൂണിസ്റ്റ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ശ്രീമൂലം അസംബ്ലി അംഗങ്ങൾ]] [[വർഗ്ഗം:തിരു-കൊച്ചി നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:ഒന്നാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ]] bc0yjkjhddewvwblmtrrqwjbe5gvq2q കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിൽ 0 173751 4622098 4612118 2026-05-23T02:41:19Z ~2026-30795-88 218203 /* താലൂക്ക് ലൈബ്രറി കൌൺസിലുകൾ */ 4622098 wikitext text/x-wiki {{prettyurl|Kerala grandhasala sanghom}} കേരളത്തിലെ ഗ്രന്ഥശാലകൾ അംഗങ്ങളായുള്ള വിദ്യാഭ്യാസവും സാംസ്കാരികവുമായ പ്രവർത്തനങ്ങൾക്ക് നേതൃത്വം കൊടുക്കുന്ന ഒരു സംഘടനയാണ് '''കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിൽ''' അഥവാ കേരള ഗ്രന്ഥശാലാസംഘം എന്ന പേരിൽ അറിയപ്പെടുന്നത്. Krupskaya award കേരള ഗ്രന്ഥശാലാ സംഘത്തിന് ലഭിച്ചത് 1975-ലാണ്. [[File:VK Madhu at Kollam 1 Nov 2024 8.jpg|thumb|വി.കെ. മധു, സെക്രട്ടറി, സംസ്ഥാന ലൈബ്രറി കൗൺസിൽ]] സെക്രട്ടറി, സംസ്താന ലൈബ്രറി കൗൺസിൽ ==ചരിത്രം== 1829 ൽ തിരുവനന്തപുരത്ത് സ്ഥാപിക്കപ്പെട്ട പബ്ലിക്ക് ലൈബ്രറിയാണ് കേരളത്തിൽ ഗ്രന്ഥശാലാ പ്രസ്ഥാനത്തിന് അടിത്തറയിട്ടത്. [[സ്വാതിതിരുനാൾ]] തിരുവിതാംകൂർ രാജാവായിരുന്ന കാലത്ത് രാജകുടുബാംഗങ്ങൾക്ക് വേണ്ടി സ്ഥാപിക്കപ്പെട്ട ഈ ലൈബ്രറി പിന്നീട് ഒരു പബ്ലിക്ക് ലൈബ്രറിയായി രൂപാന്തരപ്പെട്ടു. ഇതിനെത്തുടർന്നു്, രാജഭരണകാലത്ത് അവരുടെ പ്രോത്സാഹനവും പിൽക്കാലത്തു് പുരോഗമനചിന്താഗതിക്കാരായ ജനങ്ങളുടെ പരിശ്രമവും മൂലം, കേരളത്തിൽ അങ്ങോളമിങ്ങോളം നിരവധി ഗ്രന്ഥശാലകൾ സ്ഥാപിക്കപ്പെടുകയുണ്ടായി. 1937 ജൂൺ 14 ന് കെ. കേളപ്പന്റെ അദ്ധ്യക്ഷതയിൽ കോഴിക്കോടു വച്ച് ഒന്നാം മലബാർ വായനശാല സമ്മേളനം നടന്നു. കെ. ദാമോദരൻ കാര്യദർശിയും ഇ. രാമൻ മേനോൻ അദ്ധ്യക്ഷനുമായുള്ള ‘മലബാർ വായനശാല സംഘം’ ആ സമ്മേളനത്തിൽ വച്ച് രൂപീകരിക്കപ്പെട്ടു. ഇതേ കാ‍ലയളവിൽ കൊച്ചിയിൽ ‘സമസ്ത കേരള പുസ്തകാലയ സമിതി’ എന്ന പേരിൽ ഗ്രന്ഥശാലകളുടെ ഒരു സംഘടന ഉണ്ടാകുകയും ‘ഗ്രന്ഥവിഹാരം‘ എന്ന ഒരു ത്രൈമാസിക അവിടെ നിന്ന് പ്രസിദ്ധീകരിക്കുകയും ചെയ്തു. തിരുവിതാംകൂറിൽ 1945 സെപ്തംബർ 14 ന് അമ്പലപ്പുഴ പി.കെ മെമ്മോറിയൽ ഗ്രന്ഥശാലയിൽ‍ വച്ച് ഗ്രന്ഥശാലകളെ ഏകോപിപ്പിച്ചു കൊണ്ടു ‘ അഖില തിരുവിതാംകൂർ ഗ്രന്ഥശാലാ സമ്മേളനം’ വിളിച്ചു കൂട്ടി. 47 ഗ്രന്ഥശാലകളുടെ പ്രതിനിധികൾ ആ യോഗത്തിൽ പങ്കെടുത്തു. യോഗം ഉദ്ഘാടനം ചെയ്തത് അന്നത്തെ തിരുവിതാംകൂർ ദിവാനായിരുന്ന സർ സി. പി. രാമസ്വമി അയ്യർ ആയിരുന്നു. പി.എൻ. പണിക്കർ സെക്രട്ടറിയും അഡ്വ. പി. കുഞ്ഞൻ കുറുപ്പ് പ്രസിഡന്റുമായുള്ള പി.കെ.മെമ്മോറിയൽ ഭരണസമിതിയാണ് പ്രസ്തുത സമ്മേളനത്തിന് നേത്യത്വം നൽകിയത്. അന്ന് രൂപികരിക്കപ്പെട്ട ‘അഖില തിരുവിതംകൂർ ഗ്രന്ഥശാല സംഘം’ ആണ് കേരളത്തിലെ ഗ്രന്ഥശാലകളെ ഏകോപിപ്പിച്ചു കൊണ്ട് ഇന്നത്തെ ലൈബ്രറി കൌൺസിൽ ആയി പരിണമിച്ചത്. [[പി.എൻ. പണിക്കർ]] എന്ന ക്രാന്തദർശിയായ മനുഷ്യന്റെ അക്ഷീണ പ്രയത്നത്താൽ 1945ൽ [[അമ്പലപ്പുഴ]] [[പി.കെ.മെമ്മോറിയൽ ഗ്രന്ഥശാല]]യിൽ തിരുവിതാംകൂറിലെ 47 ഗ്രന്ഥശാലകൾ ചേർന്നു രൂപം നൽകിയ അഖില തിരുവിതാംകൂർ ഗ്രന്ഥശാലാസംഘം ആണ് കേരള ഗ്രന്ഥശാലാസംഘം ആയി മാറിയത്. ആ കാലയളവിൽ നൂറിലധികം ഗ്രന്ഥശാലകൾ പ്രവർത്തിച്ചിരുന്നെങ്കിലും പല കാരണങ്ങളാൽ ഭൂരിപക്ഷം പേരും പങ്കെടുത്തില്ല. ശ്രീ. പി.എൻ.പണിക്കരെ സെക്രട്ടറിയായി തെരഞ്ഞെടുത്തു. 1948ൽ അഖില തിരുവതാംകൂർ ഗ്രന്ഥശാലാ സംഘത്തിന് സർക്കാർ അംഗീകാരം ലഭിച്ചു. അതേ വർഷം തന്നെ 'ഗ്രന്ഥാലോകം' മാസിക മുഖപത്രമായി പ്രസിദ്ധീകരിക്കുകയും ചെയ്തു. ഈ സ്ഥാപനം 1950-ൽ തിരു-കൊച്ചി ഗ്രന്ഥശാലാസംഘം ആയും കേരള സംസ്ഥാനരൂപീകരണത്തോടെ കേരള ഗ്രന്ഥശാലാസംഘം ആയും രൂപാന്തരം പ്രാപിച്ചു. രാഷ്ട്രീയകാരണങ്ങളാൽ 1977-ൽ കേരള ഗ്രന്ഥശാലാസംഘം ഗവണ്മെന്റ് ഏറ്റെടുത്തു. 1989ലെ [[കേരള പബ്ലിക്ക് ലൈബ്രറീസ് ആക്ട്]] പ്രകാരം 1991ൽ കേരള ഗ്രന്ഥശാലാസംഘം കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിൽ ആയി മാറി. അംഗ ഗ്രന്ഥശാലകളിൽ നിന്നും തിരഞ്ഞെടുക്കപ്പെടുന്നവർ ഭരണകർത്താക്കളായി. നിലവിൽ 63 താലൂക്ക് ലൈബ്രറി കൗൺസിലുകളും 14 ജില്ലാ ലൈബ്രറി കൗൺസിലുകളും കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിലിന്റെ കീഴിൽ പ്രവർത്തിച്ചു വരുന്നു. സംസ്ഥാനത്ത് പുതിയ ഗ്രന്ഥശാലകൾക്ക് അംഗീകാരം നൽകുന്നതും നിലവിലുള്ള ഗ്രന്ഥശാലകൾക്ക് ഗ്രാന്റ് നൽകുന്നതും കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിൽ ആണ്. 1970 ൽ ‘വായിച്ചു വളരുക’ എന്ന സന്ദേശമുയർത്തി കേരള ഗ്രന്ഥശാലസംഘം രജത ജൂബിലി ആഘോഷിച്ചു. 1977 ൽ കേരള ഗ്രന്ഥശാലസംഘത്തിന്റെ പ്രവർത്തനങ്ങളെ അഭിനന്ദിച്ചു കൊണ്ട് യു. എൻ. ഒ . ക്രൂപ്സ്കായ അവാർഡ് നൽകി. 1989 -ൽ കേരള നിയമസഭയിൽ ‘കേരള ഗ്രന്ഥശാല നിയമം’ അവതരിപ്പിക്കുകയും 1994 -ൽ അത് നടപ്പിലാക്കുകയും ചെയ്തു.‘വിജ്ഞാനം വികസനത്തിന് ‘ എന്ന കാഴ്ചപ്പാടുമായി 1995 ൽ കേരള ഗ്രന്ഥശാല സംഘം സുവർണ്ണ ജൂബിലി ആഘോഷിച്ചു. ==പുരസ്കാരങ്ങൾ== *1975-ൽ സാക്ഷരതാപ്രവർത്തനത്തിന് [[യുനെസ്കോ]]യുടെ '[[ക്രൂപ്സ്കായ]]' അവാർഡ് കേരള ഗ്രന്ഥശാലാസംഘത്തിന് ലഭിച്ചു. == ജില്ല ലൈബ്രറി കൌൺസിലുകൾ == {| class="wikitable" |- ! ജില്ല <ref name=keralastatelibrarycouncil>{{cite web|title=കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിൽ|url=http://www.kslc.in/cgi-bin/koha/opac-COUNCIL-dlcs.pl|work=കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിൽ|publisher=കേരള സ്റ്റേറ്റ് ലൈബ്രറി കൗൺസിൽ|accessdate=2015 ജനുവരി 12|language=മലയാളം|archive-date=2016-03-28|archive-url=https://web.archive.org/web/20160328065041/http://kslc.in/cgi-bin/koha/opac-COUNCIL-dlcs.pl|url-status=dead}}</ref> ! വിലാസം |- | [[തിരുവനന്തപുരം]] | രാജ്ഭവൻ, ടി.സി .11/703 (1), ഡിവിഷൻഓഫീസ്റോഡ്, പി.എം.ജി, വികാസ്ഭവൻ പി.ഒ, തിരുവനന്തപുരം-33 ഫോൺ: 0471 2727772, E-mail- tvpmdlc@gmail.com |- | [[കൊല്ലം]] | പബ്ലിക് ലൈബ്രറി, കൊല്ലം-691001, ഫോൺ: 0474 2767068, E-mail –kollamdlc@gmail.com, www.librarycouncilkollam.com |- | [[പത്തനംതിട്ട]] | ടെലഫോൺ ഭവൻ, പത്തനംതിട്ട പി.ഒ. -689645, ഫോൺ:0468 2229208, E-mail-ptadlc003@gmail.com |- | [[ആലപ്പുഴ]] | ശ്രീ മഹാകവി കുമാര വൈജയന്തി ബിൽഡിംഗ്, സനാതനപുരംപി.ഒ., ആലപ്പുഴ -3, ഫോൺ: 0477 2269307, E-mail- dlcalappuzha@gmail.com |- | [[കോട്ടയം]] | എസ്.പി.സി.എസ്ബിൽഡിംഗ്, ചെല്ലിയൊഴുക്കംറോഡ്കോട്ടയം -686001, ഫോൺ: 0481 2562066, E-mail-kdlckottayam@gmail.com |- | [[ഇടുക്കി]] | മുനിസിപ്പൽഷോപ്പിംഗ്കോംപ്ലക്സ്, മാർക്കറ്റ്റോഡ്, തൊടുപുഴ, ഇടുക്കി - 685 584, ഫോൺ:04862 220432 |- | [[എറണാകുളം]] | കൊച്ചിൻകോർപ്പരേഷൻബിൽഡിംഗ്, വൈറ്റില പി.ഒ., കൊച്ചി -682 019, ഫോൺ:0484 2307448 |- | [[തൃശ്ശൂർ]] | ഗവ. ടെക്സ്റ്റ് ബുക്ക് ഡിപ്പോയ്ക്ക് സമീപം, വെളിയനൂർ റോഡ്, തൃശ്ശൂർ-680 021, ഫോൺ :0487 2440121 |- | [[പാലക്കാട്]] | മുൻസിപൽ ഷോപ്പിംഗ് കൊമ്പ്ലെക്സ് ഹാൾ, റോബിൻസൺ റോഡ്, പാലക്കാട് -1, ഫോൺ: 0491 2504364 |- | [[മലപ്പുറം]] | ഫ്രൈസർഹാൾ, ജൂബിലീറോഡ്, കുന്നുമ്മൽ, മലപ്പുറം - 676 505, ഫോൺ: 0483 2730510, E-mail-mdlcmalappuram@gmail.com |- | [[കോഴിക്കോട്]] | റൂംനമ്പർ 3, പാളയം ബസ്സ്റ്റാന്റ് ബിൽഡിംഗ്, ചാലപ്പുറം പി.ഓ, കോഴിക്കോട് - 02, ഫോൺ: 0495 2724109 |- | [[വയനാട്]] | ജില്ലാ ലൈബ്രറി ബിൽഡിംഗ്, കൽപ്പറ്റ - 673 121, ഫോൺ: 0493 6207929, Email: wayanaddlc@gmail.com |- | [[കണ്ണൂർ]] | പി.ഓ. സിവിൽസ്റ്റേഷൻ, കണ്ണൂർ - 670 002, ഫോൺ: 0497 2706144, Email: kannurdlc@gmail.com |- | [[കാസർഗോഡ്]] | കോട്ടച്ചേരി, കാഞ്ഞങ്ങാട്പി.ഓ. - 671 315, ഫോൺ: 0467 2208141, Email: kasargoddlc@gmail.com |} == താലൂക്ക് ലൈബ്രറി കൌൺസിലുകൾ == * [[കരുനാഗപ്പള്ളി താലൂക്ക്]] ലൈബ്രറി കൗൺസിൽ * പത്തനാപുരം താലൂക്ക് ലൈബ്രറി കൗൺസിൽ *തലശ്ശേരി താലൂക്ക് ലൈബ്രറി കൗൺസിൽ *കോതമംഗലം താലൂക്ക് ലൈബ്രറി കൗൺസിൽ *വൈക്കം താലൂക്ക് ലൈബ്രറി കൗൺസിൽ *നിലമ്പൂർ താലൂക്ക് ലൈബ്രറി കൗൺസിൽ വണ്ടൂർ പി ഒ * == ഭരണ സമിതി == വി.കെ. മധു (സെക്രട്ടറി)<ref>https://www.dcbooks.com/kerala-state-library-council-elected-office-bearers.html</ref> <br /> മനയത്ത് ചന്ദ്രൻ (ജോയിന്റ് സെക്രട്ടറി) <br />ഡോ ധർമ്മരാജ് അടാട്ട് (പ്രസിഡന്റ്‌) <br />ഡോ വള്ളിക്കാവ് മോഹൻദാസ് (വൈസ് പ്രസിഡന്റ്‌) ഡോ. പി.കെ.ഗോപൻ , പി.ആർ. പ്രസാദ്, അഡ്വ. പി.വിശ്വംഭരപ്പണിക്കർ, അഡ്വ. പി.കെ.ഹരികുമാർ, മെറീന  ജോൺ, വി.കെ.ഹാരിഫാബി, ഇ. ചന്ദ്രബാബു, എൻ. പ്രമോദ് ദാസ്, കെ.ചന്ദ്രൻ, എം.കെ. രമേഷ് കുമാർ, പി.വി.കെ. പനയാൽ എന്നിവരാണ് മറ്റ് എക്‌സി. കമ്മിറ്റി അംഗങ്ങൾ. തിരഞ്ഞെടുക്കപ്പെട്ട മറ്റ് അംഗങ്ങൾക്ക് പുറമേ സർക്കാർ നോമിനികളായ ജി. കൃഷ്ണകുമാർ, അജിത് കൊളാടി, സത്യവതി എസ്., സി.എൻ.രാജേഷ്, ഡോ. പ്രിയ എന്നിവരും എക്സിക്യൂട്ടീവ് കമ്മിറ്റിയിൽ ഉണ്ട്. == അംഗ ഗ്രന്ഥശാലകൾ == * ചങ്ങമ്പുഴ സ്മാരക ഗ്രന്ഥശാല & വായനശാല പാവുമ്പ ( റെജി. നമ്പർ 3019 ), കരുനാഗപ്പള്ളി * വിവേകാനന്ദ ലൈബ്രറി & റീഡിംഗ് റൂം ,മാട്ടായ, വല്ലപ്പുഴ .രജി. നമ്പർ 3742 * [[ഔവ്വർ ഗ്രന്ഥശാല|ഔവ്വർ ലൈബ്രറി]] * [[ഗ്രാമീണ വായനശാല പനമ്പുകാട്]] സ്ഥാപിതം 1940 * [[ഓണംതുരുത്ത്|പബ്ലിക് ലൈബ്രറി ആൻഡ് റീഡിങ് റൂം, ഓണംതുരുത്ത്]]. * [[പറവൂർ പബ്ലിക്ക് ലൈബ്രറി|പറവൂർ പബ്ലിക്ക് ലൈബ്രറി]] * [[വേളം പൊതുജന വായനശാല|വേളം പൊതുജന വായനാ കുണ്ടയം ദേശീയ ഗ്രന്ഥശാല]] * [[കൈരളി സാംസ്കാരികവേദി ഗ്രന്ഥാലയം]] അഞ്ചരക്കണ്ടിയിൽ സ്ഥിതി ചെയ്യുന്നു,തലശ്ശേരി താലുക്ക് കൗണ്സിലിന്റെ പരിധിയിൽ ഉൾപ്പെടുന്ന അംഗ ലൈബ്രറി ആണ്, അഞ്ചരക്കണ്ടി * ശ്രീ [[മഹാദേവ ദേശായി]] സ്മാരക [[ഗ്രന്ഥശാല]] .[[തഴവ]] കരുനാഗപ്പള്ളി * പബ്ലിക് ലൈബ്രറി,കക്കാട്ടൂർ-എറണാകുളം ജില്ലയിൽ കോതമംഗലം താലൂക്കിൽ കക്കാട്ടൂർ ഗ്രാമത്തിൽ സ്ഥിതി ചെയ്യുന്നു. * യുഗദീപ്തി ഗ്രന്ഥശാല, നെല്ലിക്കുഴി (കോതമംഗലം താലൂക്ക്) *യുവപ്രതിഭ സാംസ്കാരിക വേദി *ഗ്രന്ഥശാല & വായനശാല ആലപ്പാട് കാക്കത്തുരുത്ത്. *ജ്വാല ഗ്രന്ഥാലയം അമ്പാഴപ്പാറ *കായണ്ണ, കൊയിലാണ്ടി താലൂക്ക് *വൈക്കം പി.കൃഷ്ണപിള്ള സ്മാരക ഗ്രന്ഥശാല - പഠനകേന്ദം *[[അജേഷ് മാഷ് കോട്ടായി|അപ്പുണ്ണി ഏട്ടൻ വായനശാല]] , കോട്ടായി പാലക്കാട്‌ * പ്രബോധിനി ഗ്രന്ഥശാല പണ്ടാരത്തുരുത്ത് കരുനാഗപ്പള്ളി * നീണ്ടൂർ പബ്ളിക് ലൈബ്രറി 1442 * തപസ്യ ലൈബ്രറി & റീഡിംഗ് റൂം നടുവിലക്കര പുല്ലിച്ചിറ കൊല്ലം ==അവലംബം== <references/> [[വർഗ്ഗം:കേരളത്തിലെ വിദ്യാഭ്യാസം]] [[വർഗ്ഗം:ഗ്രന്ഥശാലാസംഘങ്ങൾ]] 8nbjywj82u5phpa1c0wcqsun2yh4yff ഫലകം:Speakers of KLA 10 179938 4621583 3813355 2026-05-22T15:52:49Z Kiran Gopi 10521 4621583 wikitext text/x-wiki {{Navbox | name = Speakers of KLA | title = [[കേരളനിയമസഭയിലെ സ്പീക്കർമാരുടെ പട്ടിക|കേരളനിയമസഭയിലെ സ്പീക്കർമാർ]] |state=collapsed | list1 =[[ആർ. ശങ്കരനാരായണൻ തമ്പി]]{{·}}[[കെ.എം. സീതി സാഹിബ്]]{{·}}[[സി.എച്ച്. മുഹമ്മദ്കോയ]]{{·}}[[അലക്സാണ്ടർ പറമ്പിത്തറ]]{{·}}[[ഡി. ദാമോദരൻ പോറ്റി]]{{·}}[[കെ. മൊയ്തീൻ കുട്ടി ഹാജി]]{{·}}[[ടി.എസ്. ജോൺ]]{{·}}[[ചാക്കീരി അഹമ്മദ് കുട്ടി]]{{·}}[[എ.പി. കുര്യൻ]]{{·}}[[എ.സി. ജോസ്]]{{·}}[[വക്കം പുരുഷോത്തമൻ]]{{·}}[[വി.എം. സുധീരൻ]]{{·}}[[വർക്കല രാധാകൃഷ്ണൻ]]{{·}}[[പി.പി. തങ്കച്ചൻ]]{{·}}[[തേറമ്പിൽ രാമകൃഷ്ണൻ]]{{·}}[[എം. വിജയകുമാർ]]{{·}}[[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]]{{·}}[[ജി. കാർത്തികേയൻ]]{{·}}[[എൻ. ശക്തൻ]]{{·}}[[പി. ശ്രീരാമകൃഷ്ണൻ]]{{·}}[[എം.ബി. രാജേഷ്]]{{·}}[[എ.എൻ. ഷംസീർ]]{{·}}[[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] }} <noinclude>[[വർഗ്ഗം:കേരളനിയമസഭകളുടെ ഫലകങ്ങൾ|{{PAGENAME}}]]</noinclude> nuvhjvr0mtscbdf7k45ajadikt6l73u വധശിക്ഷ നോർവേയിൽ 0 197863 4622103 4608830 2026-05-23T03:33:40Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622103 wikitext text/x-wiki {{Needs Image}} {{വധശിക്ഷ}} [[നോർവേ|നോർവേയിൽ]] [[വധശിക്ഷ]] (dødsstraff) 1979-ൽ നിർത്തലാക്കപ്പെട്ടു. 1905 മുതൽ പ്രാബല്യത്തിൽ വന്ന 1902-ലെ പീനൽ കോഡ്/ക്രിമിനൽ നിയമം സമാധാനകാലത്ത് വധശിക്ഷ നടപ്പാക്കുന്നതിനെ നിരോധിച്ചിരുന്നു. സൈനിക നിയമപ്രകാരമുള്ള വധശിക്ഷ 1979-ൽ നിർത്തലാക്കപ്പെട്ടു.<ref>[http://articles.latimes.com/1991-04-28/news/mn-1445_1_death-penalty-penalty-question-capital-punishment/2 "Norway, With No Death Penalty, Balks at Treaty to Ban It"], LA Times</ref> സമാധാനകാലത്തെ അവസാന വധശിക്ഷ 1876 ഫെബ്രുവരി 25-നാണ് നടന്നത്. ക്രിസ്റ്റൊഫർ നിൽസെൻ ഗ്രിൻഡാലെൻ എന്നയാലെ [[ശിരഛേദം]] ചെയ്ത് കൊല്ലുകയായിരുന്നു. <ref>{{cite web|url=http://www.digitaltfortalt.no/show_single.aspx?art_id=111350|title=Den siste halshuggingen|last=Øversveen|first=Jørn|date=28 January 2009|publisher=Digitalt Fortalt|accessdate=27 February 2009|archive-date=2011-07-24|archive-url=https://web.archive.org/web/20110724174952/http://www.digitaltfortalt.no/show_single.aspx?art_id=111350|url-status=dead}}</ref> ധാരാളമാളുകൾ ([[നോർവേ|നോർവേക്കാരും]] [[ജർമനി|ജർമനിക്കാരും]]) [[രണ്ടാം ലോകമഹായുദ്ധം|രണ്ടാം ലോകമഹായുദ്ധശേഷം]] വധിക്കപ്പെട്ടിരുന്നു. വിഡ്കുൺ ക്വിസ്ലിങ് ഇക്കൂട്ടത്തിൽ പെടും. ==ചരിത്രം== ===ആദ്യകാല ഉപയോഗം=== കൊലപാതകവും രാജ്യദ്രോഹവും കൂടാതെ മദ്ധ്യകാലത്തെ നോർവീജിയൻ നിയമം മന്ത്രവാദവും വധശിക്ഷ നൽകാവുന്ന കുറ്റമായി കണക്കാക്കിയിരുന്നു. മന്ത്രവാദിനികളെ വേട്ടയാടിയിരുന്ന 16-ഉം 17-ഉം നൂറ്റാണ്ടുകളിൽ 300 പേരെ ചുട്ടുകൊന്നിരുന്നു. രാജ്യത്തിന്റെ വടക്കു ഭാഗത്തുള്ള സ്ത്രീകളെ കൂടുതലായി ഈ നിയമം ലക്ഷ്യം വച്ചിരുന്നു. ചെകുത്താൻ വസിക്കുന്നത് ലോകത്തിന്റെ അറ്റത്താനെന്ന് പാതിരിമാരും ഉദ്യോഗസ്ഥന്മാരും വിശ്വസിച്ചിരുന്നതാണ് ഇതിനു കാരണം. <ref>{{cite news|url=http://www.aftenposten.no/fakta/innsikt/article1941900.ece|title=Heksejakt foregår fremdeles|last=Rapp|first=Ole Magnus|date=17 August 2007|work=Aftenposten|language=Norwegian|accessdate=27 February 2009}}</ref> ക്രിസ്റ്റ്യൻ അഞ്ചാമന്റെ നോർവീജിയൻ നിയമത്തിൽ (1687) പല വധശിക്ഷകളും വിവരിക്കുന്നുണ്ട്. ചിലപ്പോൾ ഇത് പീഡനത്തോടു കൂടിയ വധശിക്ഷകളായിരുന്നു. ===ആധുനിക കാലത്തെ ഉപയോഗം=== 1815 ആയപ്പോഴേയ്ക്കും മനുഷ്യത്വരഹിതമായ പല വധശിക്ഷാരീതികളും നിരോധിക്കപ്പെട്ടിരുന്നു. [[ശിരഛേദം|ശിരഛേദമോ]], [[വെടിവച്ചുള്ള വധശിക്ഷ|വെടിവച്ചുള്ള വധശിക്ഷയോ]] മാത്രമായിരുന്നു അവശേഷിക്കുന്ന വധശിക്ഷാരീതികൾ. മുന്നൊരുക്കത്തോടു കൂടിയതോ അതിക്രൂരമായതോ ആയ കൊലപാതകങ്ങളോ രാജ്യദ്രോഹമോ മാത്രമായിരുന്നു വധശിക്ഷയർഹിക്കുന്ന കുറ്റങ്ങൾ. <ref name=caplex>{{cite encyclopedia|url=http://www.caplex.no/Web/ArticleView.aspx?id=9308517|encyclopedia=[[Caplex]]|title=Dødsstraff|language=Norwegian|accessdate=27 February 2009}}</ref> [[ജർമനി|ജർമൻ]] അധിനിവേശക്കാലത്ത് വിഡ്കുൺ ക്വിസ്ലിങ് സർക്കാർ 1942 സെപ്റ്റംബറിൽ വധശിക്ഷ നടപ്പാക്കന്നതു സംബന്ധിച്ച തീരുമാനമെടുത്തു. 1943 ആഗസ്റ്റ് 16-നു മാത്രം 19 വധശിക്ഷകൾ നടപ്പാക്കപ്പെട്ടു. ഇതിനു മുൻപ് ജർമൻ നിയമത്തിൻ കീഴിൽ 400 നോർവേക്കാരെ വധിച്ചിരുന്നു. 1941-ൽ ബ്രിട്ടനിൽ അഭയം തേടിയിരുന്ന കാബിനറ്റ് യുദ്ധാനന്തരം വധശിക്ഷ നടത്താനുള്ള തീരുമാനമെടുത്തു. 1942 ൽ ശാരീരിക പീഠനത്തിനും കൊലപാതകത്തിനും വധശിക്ഷ നൽകാൻ തീരുമാനമായി. [[രണ്ടാം ലോക മഹായുദ്ധം|രണ്ടാം ലോക മഹായുദ്ധത്തിനു]] ശേഷമുള്ള ശുദ്ധീകരണത്തിൽ പല വധശിക്ഷകളും നൽകപ്പെട്ടിരുന്നു. ഇതിൽ 25 നോർവേക്കാരെയും 12 ജർമനിക്കാരെയും വധിക്കുകയുണ്ടായി. <ref name=nkl>{{cite encyclopedia |last=Nøkleby |first=Berit |authorlink=Berit Nøkleby |editor=[[Hans Fredrik Dahl|Dahl, Hans Fredrik]] |encyclopedia=[[Norsk krigsleksikon 1940-45]] |title=dødsstraff |url=http://mediabase1.uib.no/krigslex/d/d3.html#dodsstraff |accessdate=27 February 2009 |edition= |year=1995 |publisher=Cappelen |volume= |location=Oslo |isbn= |language=Norwegian |archive-date=2011-08-10 |archive-url=https://web.archive.org/web/20110810021546/http://mediabase1.uib.no/krigslex/d/d3.html#dodsstraff |url-status=dead }}</ref> 1948 ആഗസ്റ്റ് 27-നാണ് അവസാന വധശിക്ഷ നടപ്പായത്. റാഗ്നർ സ്കാങ്കെ എന്നയാളെ ഫയറിംഗ് സ്ക്വാഡുപയോഗിച്ച് വെടിവച്ച് കൊല്ലുകയായിരുന്നു. <ref>{{cite web|url=http://www.side3.no/article3027687.ece|title=Den siste Norge henrettet|last=Steen Jensen|first=Øyvind|date=15 November 2010|publisher=Nettavisen (side3)|language=Norwegian|accessdate=30 April 2011|archive-date=2011-07-22|archive-url=https://web.archive.org/web/20110722040358/http://www.side3.no/article3027687.ece|url-status=dead}}</ref> ===മനുഷ്യാവകാശങ്ങൾക്കായുള്ള യൂറോപ്യൻ ഉടമ്പടി=== 1988-ൽ നോർവെ മനുഷ്യാവകാശങ്ങൾക്കായുള്ള യൂറോപ്യൻ ഉടമ്പടിയുടെ ആറാം പ്രോട്ടോക്കോൾ ഒപ്പുവച്ചു. ഇത് സമാധാനകാലത്ത് വധശിക്ഷകൾ നൽകുന്നത് നിരോധിക്കുന്നു. <ref name=caplex/> രാജ്യത്തിനു വെളിയിലും വധശിക്ഷ നടപ്പാക്കുന്നതിന് നോർവെ എതിരുനിൽക്കുന്നുണ്ട്. മുള്ള ക്രേകർ എന്നയാളെ രാജ്യത്തുനിന്നും പുറത്താക്കാൻ തീരുമാനിച്ചെങ്കിലും വധശിക്ഷ നടപ്പാക്കാൻ സാദ്ധ്യതയുണ്ടെന്ന് തോന്നിയതിനാൽ അയാളെ [[ഇറാക്ക്|ഇറാക്കിലേയ്ക്കയച്ചില്ല]]. <ref>{{cite news|url=http://www.vg.no/nyheter/innenriks/artikkel.php?artid=185536|title=Krekar-saken: Irak vil ikke oppgi dødsstraffen nå|agency=Norwegian News Agency|date=14 November 2007|language=Norwegian|accessdate=27 February 2009}}</ref> മാർട്ടിൻ വിക് മാഗ്നസ്സെൻ കൊലക്കേസിൽ വധശിക്ഷ നൽകപ്പെടില്ല എന്ന് ഉറപ്പു ലഭിച്ചില്ലെങ്കിൽ യെമനിലെ സർക്കാരുമായി ചേർന്നു പ്രവർത്തിക്കാൻ തയ്യാറാവില്ല എന്ന നിലപാടാണ് നോർവെ എടുത്തത്. <ref>{{cite news|url=http://www.tv2nyhetene.no/innenriks/article2558777.ece|title=Støre: - Dødsstraff er ikke aktuelt|last=Gunnersen|first=Anja Tho|date=12 February 2009|publisher=TV 2|language=Norwegian|accessdate=27 February 2009}}</ref> ==പൊതുജനാഭിപ്രായം== നാലിലൊന്ന് നോർവേക്കാരും വധശിക്ഷയെ പിന്തുണയ്ക്കുന്നുണ്ടെന്ന് അഭിപ്രായ വോട്ടെടുപ്പുകൾ കാണിക്കുന്നു. ഏറ്റവും പിന്തുണ പ്രോഗ്രസ് പാർട്ടി അംഗങ്ങൾക്കിടയിലാണ്. ഇവർക്കിടയിൽ വധശിക്ഷയോടുള്ള പിന്തുണ 51 ശതമാനമെങ്കിലുമാണ്. <ref name="vilha">{{cite news|url=http://www.aftenposten.no/nyheter/iriks/article3881217.ece|title=Frp-velgere vil ha dødsstraff i Norge|date=30 October 2010|publisher=Aftenposten/NTB|language=Norwegian|accessdate=30 October 2010}}</ref> ഉൾഫ് എറിക് ക്നഡ്സനെയും <ref>{{cite news|url=http://www.vl.no/samfunn/article100283.zrm|title=Frp-representant: Gi dødsstraff|date=29 October 2010|publisher=Vårt Land/NTB|language=Norwegian|accessdate=30 October 2010|archive-date=2010-10-31|archive-url=https://web.archive.org/web/20101031001233/http://www.vl.no/samfunn/article100283.zrm|url-status=dead}}</ref> ജാൻ ബ്ലോംസെത്തിനെയും <ref>{{cite news|url=http://www.tv2nyhetene.no/innenriks/politikk/frpleder-i-tromsoe-stoetter-doedsstraff-3327878.html|title=Frp-leder i Tromsø støtter dødsstraff|last=Pettersen|first=Egil|date=28 October 2010|publisher=TV2 Nyhetene|language=Norwegian|accessdate=30 October 2010}}</ref> പോലെയുള്ള പ്രോഗ്രസ് പാർട്ടി രാഷ്ട്രീയ നേതാക്കൾ ബലാത്സംഗവും കൊലപാതകവും പോലുള്ള കേസുകളിൽ വധശിക്ഷ നൽകുന്നതിനെ പിന്തുണയ്ക്കുന്നുണ്ടെങ്കിലും പാർട്ടിയുടെ ഔദ്യോഗിക നിലപാട് വധശിക്ഷയ്ക്കെതിരാണ്. <ref name="vilha"/> 2011-ലെ നോർവേ ആക്രമണങ്ങൾക്കു ശേഷമുള്ള ഒരു അഹിപ്രായ സർവേ വധശിക്ഷയ്ക്കെതിരായുള്ള പൊതുജനാഭിപ്രായം ഉറച്ചതാനെന്നു കാണിക്കുന്നു. 16 ശതമാനം പേർ വധശിക്ഷയെ പിന്തുണച്ചപ്പോൾ 68 ശതമാനം പേർ ഇതിനെതിരായിരുന്നു. <ref>{{cite news|url=http://www.dagbladet.no/2011/10/07/nyheter/innenriks/terror/anders_behring_breivik/dodsstraff/18499197/|title=Nordmenn vil ikke at Breivik skal henrettes|last=Meldalen|first=Sindre Granly|date=8 October 2011|publisher=Dagbladet|language=Norwegian|accessdate=22 October 2011}}</ref> ==അവലംബം== {{Reflist}} {{വധശിക്ഷ യൂറോപ്പിൽ}} [[Category:വധശിക്ഷ - വിവിധ രാജ്യങ്ങളിൽ|നോർവേ]] [[Category:വധശിക്ഷ നിർത്തലാക്കിയ രാജ്യങ്ങൾ|നോർവേ]] cvgfpl05xe8vgxsgs2ggiol0ghjh8j0 ഗൂഗിൾ ഡ്രൈവ് 0 198948 4622164 3630633 2026-05-23T07:37:47Z ҆ 218215 logo 4622164 wikitext text/x-wiki {{prettyurl|Google Drive}} {{Infobox software | name = ഗൂഗിൾ ഡ്രൈവ് | logo = [[File:Google Drive icon (2026).svg|120px|center]] | logo size = | screenshot = Chromium OS Google Drive NRLTY.png | caption = ഗൂഗിൾ ഡ്രൈവ് [[ക്രോംബുക്ക്|ക്രോംബുക്കിൽ]]. | founders = | author = [[ഗൂഗിൾ]] | developer = [[ഗൂഗിൾ]] | released = {{Start date and age|2012|04|24}} | frequently updated = yes | programming language = | operating system = {{Plainlist | * [[Microsoft Windows|വിൻഡോസ്]] * [[Mac OS X|മാക് ഓഎസ്]] * [[Android (operating system)|ആൻഡ്രോയിഡ്]] }} | language = [[English language|ഇംഗ്ലിഷ്]] | status = സജീവം | genre = [[Remote backup service|Online backup service]] | license = [[സ്വകാര്യം]] | website = {{URL|https://www.google.com/intl/ml/drive/}} | alexa = }} [[ഗൂഗിൾ ]] നിർമ്മിച്ച ഒരു ഓൺലൈൻ ബാക്ക് അപ്, സിങ്കിംഗ് സേവനമാണ് '''ഗൂഗിൾ ഡ്രൈവ്''' (ആംഗലേയം: Google Drive).<ref name="Introducing Google Drive... yes, really">{{cite web|title=Introducing Google Drive... yes, really|url=http://googleblog.blogspot.in/2012/04/introducing-google-drive-yes-really.html|publisher=Google|accessdate=April 24, 2012}}</ref> [[2012]] [[ഏപ്രിൽ 24|ഏപ്രിൽ 24നാണ്]] ഗൂഗിൾ ഈ സേവനം പുറത്തിറക്കുന്നത്.<ref>{{Cite news |url=http://online.wsj.com/article/SB10001424052702303459004577362111867730108.html |title=Google Stores, Syncs, Edits in the Cloud |publisher=The Wall Street Journal |date=25 April 2012 |accessdate=2012-04-25}}</ref> ഗൂഗിൾ ഡോക്സിന്റെ സ്വാഭാവിക പരിണാമമായി ഇതിനെ വിലയിരുത്തപ്പെടുന്നു. ഉപയോക്താക്കൾക്ക് എല്ലാ വിധത്തിലുമുള്ള ഫയലുകൾ ശേഖരിച്ചുവെക്കാൻ ഗൂഗിൾ ഡ്രൈവ് സൗകര്യമൊരുക്കുന്നു. ഗൂഗിൾ ഇത്തരത്തിലൊരു ക്ലൗഡ് ശേഖരണസേവനം കൊണ്ടുവരുന്നു എന്നതിനെക്കുറിച്ച് [[2006]] [[മാർച്ച്]] മുതൽ തന്നെ ഊഹാപോഹങ്ങൾ നിലനിന്നിരുന്നു.<ref name="Google Drive: What we know so far">{{cite web|title=Google Drive: What we know so far|url=http://techcrunch.com/2006/03/06/google-drive-what-we-know-so-far/|publisher=TechCrunch|accessdate=April 24, 2012}}</ref> == സംഭരണം == സൗജന്യമായി അഞ്ച് ജിബി ക്ലൗഡ് സംഭരണസ്ഥലം ഗൂഗിൾ ഡ്രൈവ് നൽകുന്നു.<ref>{{cite web|last=Murph|first=Darren|title=Google Drive official: 5GB of free storage, business-focused approach (video)|url=http://www.engadget.com/2012/04/24/google-drive-official-cloud-storage-details-docs/|publisher=Engadget|accessdate=April 24, 2012}}</ref> പിക്കാസക്കും ഗൂഗിൾ ഡ്രൈവിനുമായി ഉപയോഗിക്കാനായി അധികസ്ഥലവും ലഭ്യമാണ്.<ref>{{cite web|url=http://support.google.com/drive/bin/answer.py?hl=en&answer=2375124&p=storage_overview |title=How Google storage plans work - Google Drive Help |publisher=Support.google.com |date= |accessdate=2012-04-26}}</ref> മാസത്തിൽ 2.49 അമേരിക്കൻ ഡോളർ നൽകുക വഴി 25 ജിബി ലഭിക്കുമ്പോൾ മറ്റു ഡാറ്റാ പ്ലാനുകൾ വഴി 16 ടിബി വരെ ലഭിക്കും.<ref>https://www.google.com/settings/storage/?hl=en</ref> == ക്ലൈന്റ് സോഫ്റ്റ്‌വെയർ == ഉപയോക്താവിന്റെ കമ്പ്യൂട്ടറിൽ നിന്നും ഓൺലൈനായി സൂക്ഷിച്ചിരിക്കുന്ന ഫയലുകൾ നിയന്ത്രിക്കാനായി ഒരു ക്ലൈന്റ് സോഫ്റ്റ്‌വെയർ ആവശ്യമാണ്. ഈ സോഫ്റ്റ്‌വെയർ ഉപയോക്താവിന്റെ കമ്പ്യൂട്ടറിൽ ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുകയും ഓൺലൈനിൽ സെർവറുമായി ആശയവിനിമയം നടത്തുകയും ചെയ്യും. സിംഗ്രണൈസേഷൻ, അപ് ലോഡിംഗ് എന്നിവ നിർവഹിക്കുന്ന സോഫ്റ്റ്‌വെയറാണിത്. പുറത്തിറങ്ങിയ സമയത്ത് [[വിൻഡോസ്]](എക്സ്. പിക്ക് മുകളിലുള്ള പതിപ്പുകൾക്ക്), [[മാക് ഓഎസ് ടെൻ]](സ്നോ ലെപ്പേഡിന് ശേഷം ഇറങ്ങിയവക്ക്), [[ആൻഡ്രോയിഡ്]](എക്ലയറിന് ശേഷമുള്ളവക്ക്), [[ഐഓഎസ്]](മൂന്നാം പതിപ്പിനും അതിനു ശേഷമിറങ്ങിയവക്കും),<ref>{{cite web|url=http://support.google.com/drive/bin/answer.py?hl=en&answer=2374990 |title=Get started with Google Drive: System requirements |publisher=Support.google.com |date= |accessdate=2012-04-26}}</ref> [[ഗൂഗിൾ ക്രോം|ഗൂഗ്ൾ ക്രോം ബ്രൗസർ]], [[ക്രോം ഓഎസ്]]<ref>{{Cite news |url=http://www.wired.com/wiredenterprise/2012/04/google-gdrive-chrome-os/|title=Google Set to Meld GDrive With Chrome OS|publisher=Wired|date=25 April 2012 |accessdate=2012-04-26}}</ref> എന്നിവക്കുള്ള ക്ലൈന്റ് സോഫ്റ്റ്‌വെയറാണ് ലഭ്യമായിരുന്നത്. ലിനക്സിനുള്ള ക്ലൈന്റ് സോഫ്റ്റ്‌വെയർ പണിപ്പുരയിലാണെന്ന് അനൗദ്യോഗികമായി അറിയിച്ചിട്ടുണ്ട്.<ref>{{cite web|url=http://omgubuntu.co.uk/2012/04/google-drive-is-coming-to-linux/ |title=Google Drive Is Coming to Linux |publisher=OMG! Ubuntu! |date= |accessdate=2012-04-26}}</ref> == ഗൂഗിൾ ഡോക്സ് == ഒരു സൗജന്യ ഓൺലൈൻ ഓഫീസ് സ്യൂട്ട് ആണ് ഗൂഗിൾ ഡോക്സ്. ഈ സേവനം ഡോക്യുമെന്റുകൾ നിർമ്മിക്കുന്നതൊടൊപ്പം മറ്റു ഉപയോക്താക്കളുമായി അവ പങ്കുവെക്കാനും അവസരം നൽകുന്നു. ആദ്യകാലത്ത് റൈറ്റ്ലി എന്നൊരു വേഡ് പ്രൊസസർ സോഫ്റ്റ്‌വെയറും സ്പ്രെഡ്ഷീറ്റ് സോഫ്റ്റ്‌വെയറായ ഗൂഗ്ൾ സ്പ്രഡ്ഷീറ്റും ആണ് ഗൂഗിൾ ഡോക്സ് എന്ന പേരിൽ ലഭ്യമായിരുന്നത്. ടോണിക് സിസ്റ്റംസ് നിർമ്മിച്ച പ്രസന്റേഷൻ സോഫ്റ്റ്‌വെയർ പിന്നീട് ഇതിനോട് കൂട്ടിച്ചേർത്തു. ആദ്യകാലത്ത് ഒരു ജിബി വരെയേ സ്റ്റോറേജ് അനുവദിച്ചിരുന്നുള്ളൂ, എന്നാൽ ഇപ്പോഴിത് അഞ്ച് ജിബിയാണ്. ഗൂഗിൾ ഡോക്സിന്റെ തനതായ ഫയൽഫോർമാറ്റ് ഉപയോഗിക്കുന്നവക്ക് ഇത് ബാധകമല്ല.<ref>[http://support.google.com/docs/bin/answer.py?hl=en&answer=37603 Google Docs size limits]</ref> ജനപ്രിയമായ ക്ലൗഡ് സ്റ്റോറേജ് സവിശേഷത ഗൂഗിൾ ഡോക്സിനു പകരമായി വരുമെന്ന് വരുമെന്ന് ഗൂഗിൾ അറിയിച്ചിരുന്നു. ഈ സ്വാഭാവിക പരിണാമമായിരുന്നു ഗൂഗിൾ ഡ്രൈവ്. ഇപ്പോൾ ഗൂഗിൾ ഡോക്സ് ഗൂഗിൾ ഡ്രൈവിന്റെ ഭാഗമാണ്.<ref>{{Cite web |url=http://wordswithmeaning.org/2012/02/at-last-googles-new-g-drive-to-take-on-the-cloud-storage-market/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2012-07-06 |archive-date=2012-05-28 |archive-url=https://web.archive.org/web/20120528045925/http://wordswithmeaning.org/2012/02/at-last-googles-new-g-drive-to-take-on-the-cloud-storage-market/ |url-status=dead }}</ref> == അവലംബം == <references/> == പുറത്തേക്കുള്ള കണ്ണികൾ == *[https://www.google.com/intl/ml/drive/ ഔദ്യോഗിക വെബ്സൈറ്റ്] *[https://www.google.com/intl/ml/drive/download/ ഔദ്യോഗിക ക്ലൈന്റ് താൾ] {{Google Inc.}} [[വർഗ്ഗം:ഗൂഗിൾ സേവനങ്ങൾ]] 6lwdyjck8y7p81jgm75comxzdlvlgp8 4622165 4622164 2026-05-23T07:38:30Z ҆ 218215 /* */ 4622165 wikitext text/x-wiki {{prettyurl|Google Drive}} {{Infobox software | name = ഗൂഗിൾ ഡ്രൈവ് | logo = [[File:Google Drive icon (2026).svg|120px|center]] | logo size = | screenshot = Chromium OS Google Drive NRLTY.png | caption = | founders = | author = [[ഗൂഗിൾ]] | developer = [[ഗൂഗിൾ]] | released = {{Start date and age|2012|04|24}} | frequently updated = yes | programming language = | operating system = {{Plainlist | * [[Microsoft Windows|വിൻഡോസ്]] * [[Mac OS X|മാക് ഓഎസ്]] * [[Android (operating system)|ആൻഡ്രോയിഡ്]] }} | language = [[English language|ഇംഗ്ലിഷ്]] | status = സജീവം | genre = [[Remote backup service|Online backup service]] | license = [[സ്വകാര്യം]] | website = {{URL|https://www.google.com/intl/ml/drive/}} | alexa = }} [[ഗൂഗിൾ ]] നിർമ്മിച്ച ഒരു ഓൺലൈൻ ബാക്ക് അപ്, സിങ്കിംഗ് സേവനമാണ് '''ഗൂഗിൾ ഡ്രൈവ്''' (ആംഗലേയം: Google Drive).<ref name="Introducing Google Drive... yes, really">{{cite web|title=Introducing Google Drive... yes, really|url=http://googleblog.blogspot.in/2012/04/introducing-google-drive-yes-really.html|publisher=Google|accessdate=April 24, 2012}}</ref> [[2012]] [[ഏപ്രിൽ 24|ഏപ്രിൽ 24നാണ്]] ഗൂഗിൾ ഈ സേവനം പുറത്തിറക്കുന്നത്.<ref>{{Cite news |url=http://online.wsj.com/article/SB10001424052702303459004577362111867730108.html |title=Google Stores, Syncs, Edits in the Cloud |publisher=The Wall Street Journal |date=25 April 2012 |accessdate=2012-04-25}}</ref> ഗൂഗിൾ ഡോക്സിന്റെ സ്വാഭാവിക പരിണാമമായി ഇതിനെ വിലയിരുത്തപ്പെടുന്നു. ഉപയോക്താക്കൾക്ക് എല്ലാ വിധത്തിലുമുള്ള ഫയലുകൾ ശേഖരിച്ചുവെക്കാൻ ഗൂഗിൾ ഡ്രൈവ് സൗകര്യമൊരുക്കുന്നു. ഗൂഗിൾ ഇത്തരത്തിലൊരു ക്ലൗഡ് ശേഖരണസേവനം കൊണ്ടുവരുന്നു എന്നതിനെക്കുറിച്ച് [[2006]] [[മാർച്ച്]] മുതൽ തന്നെ ഊഹാപോഹങ്ങൾ നിലനിന്നിരുന്നു.<ref name="Google Drive: What we know so far">{{cite web|title=Google Drive: What we know so far|url=http://techcrunch.com/2006/03/06/google-drive-what-we-know-so-far/|publisher=TechCrunch|accessdate=April 24, 2012}}</ref> == സംഭരണം == സൗജന്യമായി അഞ്ച് ജിബി ക്ലൗഡ് സംഭരണസ്ഥലം ഗൂഗിൾ ഡ്രൈവ് നൽകുന്നു.<ref>{{cite web|last=Murph|first=Darren|title=Google Drive official: 5GB of free storage, business-focused approach (video)|url=http://www.engadget.com/2012/04/24/google-drive-official-cloud-storage-details-docs/|publisher=Engadget|accessdate=April 24, 2012}}</ref> പിക്കാസക്കും ഗൂഗിൾ ഡ്രൈവിനുമായി ഉപയോഗിക്കാനായി അധികസ്ഥലവും ലഭ്യമാണ്.<ref>{{cite web|url=http://support.google.com/drive/bin/answer.py?hl=en&answer=2375124&p=storage_overview |title=How Google storage plans work - Google Drive Help |publisher=Support.google.com |date= |accessdate=2012-04-26}}</ref> മാസത്തിൽ 2.49 അമേരിക്കൻ ഡോളർ നൽകുക വഴി 25 ജിബി ലഭിക്കുമ്പോൾ മറ്റു ഡാറ്റാ പ്ലാനുകൾ വഴി 16 ടിബി വരെ ലഭിക്കും.<ref>https://www.google.com/settings/storage/?hl=en</ref> == ക്ലൈന്റ് സോഫ്റ്റ്‌വെയർ == ഉപയോക്താവിന്റെ കമ്പ്യൂട്ടറിൽ നിന്നും ഓൺലൈനായി സൂക്ഷിച്ചിരിക്കുന്ന ഫയലുകൾ നിയന്ത്രിക്കാനായി ഒരു ക്ലൈന്റ് സോഫ്റ്റ്‌വെയർ ആവശ്യമാണ്. ഈ സോഫ്റ്റ്‌വെയർ ഉപയോക്താവിന്റെ കമ്പ്യൂട്ടറിൽ ഇൻസ്റ്റാൾ ചെയ്യപ്പെടുകയും ഓൺലൈനിൽ സെർവറുമായി ആശയവിനിമയം നടത്തുകയും ചെയ്യും. സിംഗ്രണൈസേഷൻ, അപ് ലോഡിംഗ് എന്നിവ നിർവഹിക്കുന്ന സോഫ്റ്റ്‌വെയറാണിത്. പുറത്തിറങ്ങിയ സമയത്ത് [[വിൻഡോസ്]](എക്സ്. പിക്ക് മുകളിലുള്ള പതിപ്പുകൾക്ക്), [[മാക് ഓഎസ് ടെൻ]](സ്നോ ലെപ്പേഡിന് ശേഷം ഇറങ്ങിയവക്ക്), [[ആൻഡ്രോയിഡ്]](എക്ലയറിന് ശേഷമുള്ളവക്ക്), [[ഐഓഎസ്]](മൂന്നാം പതിപ്പിനും അതിനു ശേഷമിറങ്ങിയവക്കും),<ref>{{cite web|url=http://support.google.com/drive/bin/answer.py?hl=en&answer=2374990 |title=Get started with Google Drive: System requirements |publisher=Support.google.com |date= |accessdate=2012-04-26}}</ref> [[ഗൂഗിൾ ക്രോം|ഗൂഗ്ൾ ക്രോം ബ്രൗസർ]], [[ക്രോം ഓഎസ്]]<ref>{{Cite news |url=http://www.wired.com/wiredenterprise/2012/04/google-gdrive-chrome-os/|title=Google Set to Meld GDrive With Chrome OS|publisher=Wired|date=25 April 2012 |accessdate=2012-04-26}}</ref> എന്നിവക്കുള്ള ക്ലൈന്റ് സോഫ്റ്റ്‌വെയറാണ് ലഭ്യമായിരുന്നത്. ലിനക്സിനുള്ള ക്ലൈന്റ് സോഫ്റ്റ്‌വെയർ പണിപ്പുരയിലാണെന്ന് അനൗദ്യോഗികമായി അറിയിച്ചിട്ടുണ്ട്.<ref>{{cite web|url=http://omgubuntu.co.uk/2012/04/google-drive-is-coming-to-linux/ |title=Google Drive Is Coming to Linux |publisher=OMG! Ubuntu! |date= |accessdate=2012-04-26}}</ref> == ഗൂഗിൾ ഡോക്സ് == ഒരു സൗജന്യ ഓൺലൈൻ ഓഫീസ് സ്യൂട്ട് ആണ് ഗൂഗിൾ ഡോക്സ്. ഈ സേവനം ഡോക്യുമെന്റുകൾ നിർമ്മിക്കുന്നതൊടൊപ്പം മറ്റു ഉപയോക്താക്കളുമായി അവ പങ്കുവെക്കാനും അവസരം നൽകുന്നു. ആദ്യകാലത്ത് റൈറ്റ്ലി എന്നൊരു വേഡ് പ്രൊസസർ സോഫ്റ്റ്‌വെയറും സ്പ്രെഡ്ഷീറ്റ് സോഫ്റ്റ്‌വെയറായ ഗൂഗ്ൾ സ്പ്രഡ്ഷീറ്റും ആണ് ഗൂഗിൾ ഡോക്സ് എന്ന പേരിൽ ലഭ്യമായിരുന്നത്. ടോണിക് സിസ്റ്റംസ് നിർമ്മിച്ച പ്രസന്റേഷൻ സോഫ്റ്റ്‌വെയർ പിന്നീട് ഇതിനോട് കൂട്ടിച്ചേർത്തു. ആദ്യകാലത്ത് ഒരു ജിബി വരെയേ സ്റ്റോറേജ് അനുവദിച്ചിരുന്നുള്ളൂ, എന്നാൽ ഇപ്പോഴിത് അഞ്ച് ജിബിയാണ്. ഗൂഗിൾ ഡോക്സിന്റെ തനതായ ഫയൽഫോർമാറ്റ് ഉപയോഗിക്കുന്നവക്ക് ഇത് ബാധകമല്ല.<ref>[http://support.google.com/docs/bin/answer.py?hl=en&answer=37603 Google Docs size limits]</ref> ജനപ്രിയമായ ക്ലൗഡ് സ്റ്റോറേജ് സവിശേഷത ഗൂഗിൾ ഡോക്സിനു പകരമായി വരുമെന്ന് വരുമെന്ന് ഗൂഗിൾ അറിയിച്ചിരുന്നു. ഈ സ്വാഭാവിക പരിണാമമായിരുന്നു ഗൂഗിൾ ഡ്രൈവ്. ഇപ്പോൾ ഗൂഗിൾ ഡോക്സ് ഗൂഗിൾ ഡ്രൈവിന്റെ ഭാഗമാണ്.<ref>{{Cite web |url=http://wordswithmeaning.org/2012/02/at-last-googles-new-g-drive-to-take-on-the-cloud-storage-market/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2012-07-06 |archive-date=2012-05-28 |archive-url=https://web.archive.org/web/20120528045925/http://wordswithmeaning.org/2012/02/at-last-googles-new-g-drive-to-take-on-the-cloud-storage-market/ |url-status=dead }}</ref> == അവലംബം == <references/> == പുറത്തേക്കുള്ള കണ്ണികൾ == *[https://www.google.com/intl/ml/drive/ ഔദ്യോഗിക വെബ്സൈറ്റ്] *[https://www.google.com/intl/ml/drive/download/ ഔദ്യോഗിക ക്ലൈന്റ് താൾ] {{Google Inc.}} [[വർഗ്ഗം:ഗൂഗിൾ സേവനങ്ങൾ]] cge412ryr8w0uc64ns6js0uedi4a607 വിജയ് ടെണ്ടുൽക്കർ 0 201085 4622151 3800022 2026-05-23T06:23:25Z InternetArchiveBot 146798 Rescuing 0 sources and tagging 1 as dead.) #IABot (v2.0.9.5 4622151 wikitext text/x-wiki {{prettyurl|Vijay Tendulkar}} {{Infobox_person |image = Vijay_Tendulkar.jpg | |imagesize = 200px | | name = '''വിജയ് ടെണ്ടുൽക്കർ''' | birth_date = {{birth date|1928|01|06}} | birth_place = [[Kolhāpur]], [[Mahārāshtra]], [[ഇന്ത്യ]] | height = | death_date = {{death date and age|2008|05|19|1928|01|06}} | death_place = [[പൂണെ]], [[ഇന്ത്യ]] | death_cause = Prolonged illness | yearsactive = | birth_name = Vijay Dhondopant Tendulkar | othername = | website = | nationality = [[ഇന്ത്യ|ഇന്ത്യൺ]] | awards = [[പത്മഭൂഷൺ]]: 1984<br />[[Sangeet Nātak Akademi Fellowship]]: 1998 <br />1977[[National Film Award for Best Screenplay]]: [[Manthan]] }} പ്രമുഖ മറാഠി നാടകകൃത്തും തിരക്കഥാകൃത്തും പത്രപ്രവർത്തകനുമായിരുന്നു '''വിജയ് ടെണ്ടുൽക്കർ'''(7 ജനുവരി 1928 - 19 May 2008). അൻപതോളം കൃതികളുടെ കർത്താവായ ഇദ്ദേഹം അരങ്ങത്ത് തിളങ്ങിയ നാടകങ്ങളിലൂടെ ഇന്ത്യൻ തിയെറ്റർ പ്രസ്ഥാനത്തിനും തിരക്കഥാ രചനയിലൂടെ ന്യൂവേവ് സിനിമയ്ക്കും പുതിയ മാനം നൽകി. പത്മഭീഷൺ പുരസ്കാരം ലഭിച്ചിട്ടുണ്ട്. ==ജീവിതരേഖ== വിജയ് ടെണ്ടുൽക്കർ 1928 ജനു. 7-നു മുംബൈയിൽ ജനിച്ചു. വിജയ് ധൊണ്ടാപാന്ത് ടെണ്ടുൽക്കർ എന്നാണ് പൂർണമായ പേര്. 1943-ൽ ഔപചാരിക വിദ്യാഭ്യാസത്തോട് വിടപറഞ്ഞ് പത്രപ്രവർത്തനത്തിലും നാടകത്തിലും എത്തിപ്പെട്ടു. നവഭാരത്മറാഠ, ലോകസത്ത എന്നീ പത്രങ്ങളുടെ അസിസ്റ്റന്റ് എഡിറ്ററായിരുന്ന ടെണ്ടുൽക്കർ വസുധ, ദീവാലി എന്നീ മറാഠി പ്രസിദ്ധീകരണങ്ങളുടെ പത്രാധിപരുമായി. 1960-കളിൽ മഹാരാഷ്ട്രടൈംസിൽ ഇദ്ദേഹം കോളമെഴുതിയിരുന്നു. രംഗായൻ, ഭാരതീയ വിദ്യാഭവൻ കേന്ദ്ര, ആവിഷ്കാർ എന്നീ നാടക സംഘങ്ങൾക്കുവേണ്ടിയാണ് ടെണ്ടുൽക്കർ ആദ്യകാലത്ത് നാടകങ്ങൾ രചിച്ചത്. ശാന്തതാ, കോർട്ട് ചാലൂ അഹെ (1568) സഖാറാം ബൈൻഡർ (1972) ഘാസിറാം കൊത്വാൾ (1973) എന്നീ നാടകങ്ങളാണ് വിജയ് ടെണ്ടുൽക്കറെ അതിപ്രശസ്തനാക്കിയത്. ഇന്ത്യൻ നാടകവേദിയിൽതന്നെ കോളിളക്കം സൃഷ്ടിച്ച ഈ രചനകൾ നാടകരംഗത്തെ സാർഥകമായ പരീക്ഷണങ്ങളായിരുന്നു. വ്യക്തിയുടെ ഒറ്റപ്പെടൽ, മാനസികസംഘർഷങ്ങൾ, സ്വപ്നത്തകർച്ച എന്നിവ ആധുനിക ജീവിതസാഹചര്യത്തിൽ ചടുലമായി അവതരിപ്പിക്കാൻ ഇദ്ദേഹത്തിന് കഴിഞ്ഞു. ഇടത്തരക്കാരന്റെ പ്രശ്ന ജടിലമായ ജീവിതമാണ് ഇവയിലൊക്കെ ചിത്രീകരിക്കപ്പെട്ടത്. താൻ പോരിമയുള്ള കഥാപാത്രങ്ങളായ സഖാറാം, ഘാസിറാം എന്നിവർ സ്ഥിതവ്യവസ്ഥയുമായി നിരന്തരസംഘട്ടനത്തിലാണ്. അക്രാമകമായ പെരുമാറ്റ രീതികളും തീക്ഷ്ണമായ ഭാഷയും നാടകപ്രേമികളെ ഏറെ ആകർഷിച്ചു. സഖാറാംബൈൻഡർ മഹാരാഷ്ട്ര ഗവൺമെന്റ് നിരോധിച്ച നാടകമാണ്. പിന്നീട് നാടകകർത്താവ് നിയമയുദ്ധത്തിലൂടെ ആവിഷ്കാരസ്വാതന്ത്യ്രം നേടിയെടുക്കുകയും ചെയ്തു. സാമൂഹിക ചലനങ്ങളെ ഒപ്പിയെടുക്കാൻ ഇതിവൃത്തത്തിൽ ഊന്നൽ കൊടുക്കുന്നതോടൊപ്പം നാടോടിസംഗീതവും നൃത്തരൂപങ്ങളും കൊണ്ട് നാടകത്തിന്റെ അവതരണം ആകർഷകമാക്കാനും ടെണ്ടുൽക്കർ എല്ലാ നാടകങ്ങളിലും ശ്രദ്ധിച്ചിട്ടുണ്ട്. ശാന്തത, കോർട്ട് ചാലൂ അഹെ (ശബ്ദമുണ്ടാക്കരുത്, കോടതികൂടിക്കൊണ്ടിരിക്കുകയാണ്) മറാഠി ഹിന്ദി ഭാഷകളിൽ സിനിമയുമായിട്ടുണ്ട്. ശ്യാംബനഗലിന്റെ നിശാന്ത്, ജബാർപട്ടേലിന്റെ സാമ്ന, സിംഹാസൻ, ഗോവിന്ദ്നിഹ്ലാനിയുടെ ആക്രോശ്, അമോൽപലേൽക്കറിന്റെ അക്രീത് തുടങ്ങിയ സിനിമകൾക്കാണ് ടെണ്ടുൽക്കർ തിരക്കഥകൾ രചിച്ചിട്ടുള്ളത്. ശ്രീമന്ത്, മാധല്യഭിന്തി ചിമനിചാഘർഹോതാ മേനചാ, മാനുസ് നിവാചേബേത്, മീജിങ്കാലോ മീ ഹരാലോ കാവല്യാചി ശാല, രാത്ര, അജാഗർ അനി ഗന്ധർവ, ഭേക്കദ്, ആശീപാഖരേ യേതി, മിത്രാചി ഗോശ്ത, കമലാ, കന്യാദാൻ തുടങ്ങിയവയാണ് ടെണ്ടുൽക്കറുടെ മറ്റ് നാടക കൃതികൾ. കാച്പത്രേ, ദ്വന്ദ്വ, ഗാണേ എന്നിവ ഇദ്ദേഹത്തിന്റെ കഥാസമാഹാരങ്ങളും കോവാലി, രാത്റാണി എന്നിവ ഉപന്യാസസമാഹാരങ്ങളുമാണ്. മോഹൻ രാകേഷിന്റെ ആധേ അധൂരേ, ഗിരീഷ് കർണാടിന്റെ തുഗ്ലക്ക് തുടങ്ങിയ കൃതികളും വിവർത്തനം ചെയ്തിട്ടുമുണ്ട്. നാഷനൽ സ്കൂൾ ഓഫ് ഡ്രാമയുടെ വൈസ് പ്രസിഡന്റ്, സാഹിത്യ അക്കാദമി അംഗം, സംഗീതനാടക അക്കാദമി അംഗം, ആകാശവാണി-ദൂരദർശൻ പ്രൊഡ്യൂസർ എമിററ്റ്സ് തുടങ്ങി വിവിധ മണ്ഡലങ്ങളിൽ സേവനമനുഷ്ഠിച്ചു. ഇന്ത്യയിലും വിദേശത്തും വിജയ് ടെണ്ടുക്കൽ ഏറെ പ്രശസ്തനുമാണ്. ഇദ്ദേഹത്തിന്റെ പുത്രി പ്രിയാ ടെണ്ടുൽക്കർ പ്രശസ്ത ടെലിവിഷൻ അവതാരകയായിരുന്നു. ==കൃതികൾ== *ശാന്തതാ, കോർട്ട് ചാലൂ അഹെ (1568) *സഖാറാം ബൈൻഡർ (1972) *ഘാസിറാം കൊത്വാൾ (1973) *ശ്രീമന്ത് *മാധല്യഭിന്തി ചിമനിചാഘർഹോതാ മേനചാ * മാനുസ് നിവാചേബേത് *മീജിങ്കാലോ മീ ഹരാലോ കാവല്യാചി ശാല *രാത്ര *അജാഗർ അനി ഗന്ധർവ *ഭേക്കദ് *ആശീപാഖരേ യേതി *മിത്രാചി ഗോശ്ത *കമലാ *കന്യാദാൻ ==പുരസ്കാരങ്ങൾ== ടെണ്ടുൽക്കർക്ക് ഒൻപത് പ്രാവശ്യം നാടകത്തിനുള്ള മഹാരാഷ്ട്ര ഗവ. പുരസ്കാരം ലഭിച്ചിട്ടുണ്ട്. 1970-ൽ കേന്ദ്ര സംഗീതനാടക അക്കാദമി അവാർഡും കമലാദേവി ചട്ടോപാധ്യായ അവാർഡും നേടിയ ഇദ്ദേഹത്തിന് 1980-ൽ സിനിമാതിരക്കഥയ്ക്കുള്ള കേന്ദ്ര ഗവ. അവാർഡും 1984-ലെ പദ്മഭൂഷൺ ബഹുമതിയും 1998-ലെ സംഗീതനാടക അക്കാദമി ഫെലോഷിപ്പും ലഭിച്ചു. ==അവലംബം== <references/> ==അധിക വായനക്ക്== * Vijay Tendulkar. ''New Delhi, Katha, 2001''. ISBN 81-87649-17-8. * Vijay Tendulkar's Ghashiram Kotwal: a Reader's Companion. ''M. Sarat Babu, Asia Book Club, 2003''. ISBN 81-7851-008-1 * Vijay Tendulkar's Ghashiram Kotwal : Critical Perspectives, ''Vinod Bala Sharma and M. Sarat Babu. 2005, Prestige Books, New Delhi ''. ISBN 81-7851-002-2. * Vijay Tendulkar's Plays: An Anthology of Recent Criticism. ''V M Madge, 2007, Pencraft International''. ISBN 81-85753-79-2. * [http://www.indianexpress.com/res/web/pIe/ie/daily/19991020/ile20071.html An Interview with Vijay Tedulkar, ''The Indian Express, 20 October 1999''] * [http://chat.indiatimes.com/Vijay_Tendulkar/articleshow/753698.cms Vijay Tendulkar chats on death penalty, 2004] {{Webarchive|url=https://web.archive.org/web/20071020054040/http://chat.indiatimes.com/Vijay_Tendulkar/articleshow/753698.cms |date=2007-10-20 }} * [http://passionforcinema.com/a-conversation-with-sir-vijay-tendulkar/ Vijay Tendulkar talks on his plays] {{Webarchive|url=https://web.archive.org/web/20110416040427/http://passionforcinema.com/a-conversation-with-sir-vijay-tendulkar/ |date=2011-04-16 }} * [http://www.dnaindia.com/report.asp?NewsID=4810 Jabbar Patel talks on Vijay Tendulkar plays] ==പുറം കണ്ണികൾ== * {{IMDb name|0854919}} * [http://kpowerinfinity.spaces.live.com/Blog/cns!EEA9A8ECBFC1B50B!309.entry A performance of Vijay Tendulkar's 'Kanyadaan']{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }} * [http://www.hinduonnet.com/thehindu/mag/2005/10/30/stories/2005103000400500.htm Amol Palekar speaks on Vijay Tendulkar] {{Webarchive|url=https://web.archive.org/web/20110630172336/http://www.hinduonnet.com/thehindu/mag/2005/10/30/stories/2005103000400500.htm |date=2011-06-30 }} * [http://subalterncinema.com/satyen/2008/05/22/the-man-and-his-nerves-of-steel-%e2%80%93-vijay-tendulkar/ A Detailed Obituary of Vijay Tendulkar]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }} * Tendulkar : The Other Side [http://harshadsarpotdar.blogspot.com/2008/05/vijay-tendulkar-other-side.html] Criticism by [http://www.hsarpotdar1.wetpaint.com Harshad Sarpotdar] {{Webarchive|url=https://web.archive.org/web/20120722153319/http://hsarpotdar1.wetpaint.com/ |date=2012-07-22 }} {{Saraswati Samman}} {{Sarvavijnanakosam|}} [[വർഗ്ഗം:പത്മഭൂഷൺ പുരസ്കാരം ലഭിച്ചവർ]] [[വർഗ്ഗം:ഇന്ത്യൻ നാടകകൃത്തുക്കൾ]] [[വർഗ്ഗം:1928-ൽ ജനിച്ചവർ]] q60nk7p84gslnhuyhunibvf4jqhn6c1 വി.പി. മേനോൻ 0 203910 4622119 4618946 2026-05-23T05:34:42Z CommonsDelinker 756 "V.P.Menon_02.jpg" നീക്കം ചെയ്യുന്നു, [[c:User:Krd|Krd]] എന്ന കാര്യനിർവ്വാഹകൻ അത് കോമൺസിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. കാരണം: No license since 15 May 2026. 4622119 wikitext text/x-wiki {{Infobox Person |name = വി. പി. മേനോൻ |image = വി.പി. മേനോൻ.jpg |caption = |birth_name = വാപ്പാല പങ്കുണ്ണി മേനോൻ |birth_date = {{Birth date|1893|09|30|df=yes}} |birth_place =[[ഒറ്റപ്പാലം]], [[മലബാർ ജില്ല]], [[മദ്രാസ്]], [[ബ്രിട്ടീഷ് ഇന്ത്യ]] |death_date = {{Death date and age|1965|12|31|1893|09|30|df=yes}} |death_place =ഒറ്റപ്പാലം, [[പാലക്കാട് ജില്ല]], [[കേരളം]], [[ഇന്ത്യ]] |other_names = |known_for = സ്വതന്ത്ര്യ ഇന്ത്യയുടെ ഏകീകരണത്തിൽ വഹിച്ച പങ്കിനാൽ |occupation = സർക്കാർ ഉദ്യോഗസ്ഥൻ |nationality = [[ഭാരതം|ഭാരതീയൻ]] }} [[ഇന്ത്യാ വിഭജനം|ഇന്ത്യാ വിഭജനക്കാലത്ത്]] [[ഇന്ത്യ|ഇന്ത്യയുടെ]] രാഷ്ട്രീയ ഏകീകരണത്തിൽ മുഖ്യപങ്ക് വഹിച്ച ആളാണ് '''വാപ്പാല പങ്കുണ്ണി മേനോൻ''' എന്ന '''വി.പി. മേനോൻ''' (1893-1965).<ref>{{cite book|first=മാതൃഭൂമി|last=പബ്ലിക്കേഷൻസ്|title=മാതൃഭൂമി ഇയർബുക്ക്|year=2013|publisher=മാതൃഭൂമി|isbn=9788182652590|url=http://buy.mathrubhumi.com/books/mathrubhumi/reference/bookdetails/1339/mathrubhumi-yearbook-plus-english-2013|access-date=2013-07-26|archive-date=2013-02-16|archive-url=https://archive.today/20130216103136/http://buy.mathrubhumi.com/books/mathrubhumi/reference/bookdetails/1339/mathrubhumi-yearbook-plus-english-2013|url-status=dead}}</ref> വിഭിന്ന ഭരണവ്യവസ്ഥകളാൽ വൈചിത്ര്യപൂർണ്ണമായിരുന്നു സ്വാതന്ത്ര്യപൂർവ ഇന്ത്യ. മതത്തിലും പാരമ്പര്യാവകാശത്തിലും യുദ്ധത്തിന്റെ ബലതന്ത്രത്തിലും സംസ്കാരത്തനിമകളിലും ചിലപ്പോൾ ഭാഗ്യത്തിലും അധിഷ്ഠിതങ്ങളായി നിലനിന്ന വിഭിന്ന നാട്ടുരാജ്യങ്ങളെ സൈനിക നടപടികൾ കൂടാതെ ഇൻഡ്യൻ യൂണിയനിൽ ലയിപ്പിച്ചെടുക്കാൻ [[സർദാർ വല്ലഭായ് പട്ടേൽ|സർദാർ വല്ലഭായ് പട്ടേലിനെ]] പ്രാപ്തനാക്കിയത് വി.പി. മേനോന്റെ ഉപദേശവും സഹായവുമാണ്. ==ആദ്യകാല ജീവിതം== [[കേരളം|കേരളത്തിലെ]] [[ഒറ്റപ്പാലം|ഒറ്റപ്പാലത്ത്]] അനങ്ങനടി എന്നു കൂടി പറയുന്ന [[കോതകുറിശ്ശി]] എന്ന ഗ്രാമത്തിലെ വാപ്പാലക്കളം എന്ന കുടുംബത്തിൽ [[1893]] [[സെപ്റ്റംബർ 30]]-ആം തീയതി ജനിച്ചു. പിതാവ് ചുനങ്ങാട് ശങ്കര മേനോൻ ഒരു ഹൈസ്കൂൾ ഹെഡ്‌മാസ്റ്റർ ആയിരുന്നു. അമ്മ കുഞ്ഞിക്കുട്ടി അമ്മ. പന്ത്രണ്ട് മക്കളിൽ മൂത്തവനായിരുന്ന മേനോൻ പതിമൂന്നാം വയസ്സിൽ സ്കൂൾ വിട്ടശേഷം കൂലിപ്പണിക്കാരനായും കൽക്കരിഖനിത്തൊഴിലാളിയായും ഫാക്ടറിത്തൊഴിലാളിയായും ദക്ഷിണേന്ത്യൻ റെയിൽവേയിൽ സ്റ്റോക്കറായും മാറിമാറി ജോലി ചെയ്തു.<ref name="സ്വാതന്ത്യം">{{cite book|first=ലാറി കൊളിൻസ്|last=ഡൊമിനിക് ലാപ്പിയർ|title=സ്വാതന്ത്ര്യം അർദ്ധരാത്രിയിൽ|year=2012-08-24|publisher=ഡി.സി. ബുക്സ്|isbn=9788171300938}}</ref> പരുത്തിക്കച്ചവടത്തിലെ ദല്ലാൾപണി നോക്കി അദ്ദേഹം പരാജയപ്പെട്ടു. ഒരു സ്കൂൾ അധ്യാപകനായും പ്രവർത്തിച്ചു. അവസാനം ടൈപ്പ് ചെയ്യാൻ സ്വയം പഠിച്ച അദ്ദേഹം [[1929]]-ൽ [[സിംല|സിംലയിലെ]] ഇന്ത്യൻ ഭരണകൂടത്തിൽ ഒരു ഗുമസ്തനായി കയറിപ്പറ്റി. ==ഔദ്യോഗിക ജീവിതം== ഔദ്യോഗികജീവിതത്തിൽ പിന്നീട് അദ്ദേഹത്തിന്റേത് കണ്ണഞ്ചിപ്പിക്കുന്ന ഉയർച്ചയായിരുന്നു. നിരന്തരമായ അദ്ധ്വാനവും ഇച്ഛാശക്തിയും കൊണ്ട് താഴേത്തട്ടിൽനിന്നു പടിപടിയായി ഔന്നത്യങ്ങളിലേക്കു എത്തിപ്പെടാൻ വി.പി.മേനോനു കഴിഞ്ഞു. 1947 ആകുമ്പോഴേക്കും വൈസ്രോയിയുടെ സ്റ്റാഫിലെ ഏറ്റവും ഉയർന്ന സ്ഥാനങ്ങളിലൊന്നിൽ അദ്ദേഹമെത്തിച്ചേർന്നു. ==ഇന്ത്യാവിഭജന പദ്ധതി== [[പ്രമാണം:Mountbatten with Menon.jpg|ലഘുചിത്രം|മൗണ്ട്‌ബാറ്റണോടൊപ്പം മേനോൻ]] ഇന്ത്യയുടെ അവസാന വൈസ്രോയി ആയിരുന്ന [[ലൂയി മൗണ്ട്ബാറ്റൻ|ലൂയി മൗണ്ട്ബാറ്റന്റെ]] രാഷ്ട്രീയ ഉപദേഷ്ടാവായിരുന്നു മേനോൻ. [[1947]]-ൽ വിഭജനത്തിനു ശേഷം ഇന്ത്യയുടെ ഉപപ്രധാനമന്ത്രിയായി മാറിയ സർദാർ പട്ടേൽ, വി.പി. മേനോനെ സെക്രട്ടറിയാക്കി. ഇടക്കാല ഗവൺമെന്റിൽ [[കോൺഗ്രസ്|കോൺഗ്രസും]] [[മുസ്ലീം ലീഗ്|മുസ്ലീം ലീഗും]] തമ്മിലുള്ള ബലപരീക്ഷണത്തിനിടയിലാണ് ഇന്ത്യയിൽ നിന്നും വേറിട്ടൊരു സ്വതന്ത്ര്യരാജ്യം വേണമെന്നുള്ള മുസ്ലീം ലീഗിന്റെ ആവശ്യത്തെ അംഗീകരിക്കാൻ മൗണ്ട്‌ബാറ്റൺ, ജവഹർലാൽ നെഹ്രു, സർദാർ വല്ലഭ് ഭായ് പട്ടേൽ എന്നിവരോട് ശുപാർശ ചെയ്യുന്നത്. മൗണ്ട്‌ബാറ്റന്റെ ആദ്യ ഇന്ത്യാവിഭജനപദ്ധതി [[ജവഹർലാൽ നെഹ്രു|നെഹ്രു]] ശക്തമായി നിരാകരിച്ചതിനെത്തുടർന്നുണ്ടാക്കിയ പുതിയ പദ്ധതിയുടെ കരട് രൂപം തയ്യാറാക്കിയത് വി.പി.മേനോനാണ്.<ref name="സ്വാതന്ത്യം"/> ==ഇന്ത്യയുടെ പുനരേകീകരണം== ഇന്ത്യയുടെ സ്വാതന്ത്ര്യലബ്‌ധിക്കുശേഷം സർദാർ പട്ടേൽ കൈകാര്യം ചെയ്ത മന്ത്രാലയത്തിൽ മേനോൻ സെക്രട്ടറിയായിത്തീർന്നു. മേനോന്റെ ബുദ്ധിവൈഭവവും കഠിനാദ്ധ്വാനവും പട്ടേലിനെ വശീകരിച്ചു. ഇന്ത്യയിലെ 565 നാട്ടുരാജ്യങ്ങളെ ഇന്ത്യൻ യൂണിയനിലേക്ക് ചേർക്കാൻ പട്ടേലിനോടൊപ്പം അദ്ദേഹം അഹോരാത്രം അദ്ധ്വാനം ചെയ്തു. [[രജപുത്താന]] ([[രാജസ്ഥാൻ]]), [[കശ്മീർ]], [[തിരുവിതാംകൂർ]], [[ഹൈദരാബാദ്]] തുടങ്ങി നിരവധി നാട്ടുരാജ്യങ്ങളെ ഇൻഡ്യൻ യൂണിയനിൽ ലയിപ്പിക്കുന്നതിൽ വി.പി. മേനോൻ മുഖ്യപങ്കുവഹിച്ചു. == മരണം == അവസാനകാലത്ത് വാർദ്ധക്യസഹജമായ അസുഖങ്ങളെത്തുടർന്ന് ഒറ്റപ്പെടൽ അനുഭവിച്ച മേനോൻ 72-ആം വയസ്സിൽ 1965 ഡിസംബർ 31-ന് ഒറ്റപ്പാലത്തെ കുടുംബവീട്ടിൽ വച്ച് അന്തരിച്ചു. മൃതദേഹം പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ വീട്ടുവളപ്പിൽ സംസ്കരിച്ചു. ==ചിത്രശാല== <gallery> ചിത്രം:V.P.Menon 01.jpg|മേനോനെ ക്കുറിച്ച് ഒരു ലേഖനം ചിത്രം:V.P.Menon 03.jpg|മേനോനെ ക്കുറിച്ച് ഒരു ലേഖനം ചിത്രം:V.P.Menon 04.jpg|മേനോനെ ക്കുറിച്ച് ഒരു ലേഖനം ചിത്രം:Mountbatten with Menon.jpg|മൌണ്ട് ബാറ്റൺ പ്രഭുവുമൊത്ത് </gallery> ==ഇതും കാണുക== * [[ഇന്ത്യാ വിഭജനം]] * [[മൗണ്ട് ബാറ്റൺ പ്രഭു]] * [[ജൂൺ തേഡ് പ്ലാൻ]] ==അവലംബം== {{reflist|2}} {{Commons category|V. P. Menon}} {{DEFAULTSORT:മേനോൻ, വി.പി.}} [[വർഗ്ഗം:1893-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:1965-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 30-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ഡിസംബർ 31-ന് മരിച്ചവർ]] [[വർഗ്ഗം:മലയാളികൾ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ സർക്കാർ ഉദ്യോഗസ്ഥർ]] [[വർഗ്ഗം:മേനോന്മാർ]] jqeb248j4yfzn8vch8ewirr5izlwnwo 4622120 4622119 2026-05-23T05:34:46Z CommonsDelinker 756 "V.P.Menon_03.jpg" നീക്കം ചെയ്യുന്നു, [[c:User:Krd|Krd]] എന്ന കാര്യനിർവ്വാഹകൻ അത് കോമൺസിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. കാരണം: No license since 15 May 2026. 4622120 wikitext text/x-wiki {{Infobox Person |name = വി. പി. മേനോൻ |image = വി.പി. മേനോൻ.jpg |caption = |birth_name = വാപ്പാല പങ്കുണ്ണി മേനോൻ |birth_date = {{Birth date|1893|09|30|df=yes}} |birth_place =[[ഒറ്റപ്പാലം]], [[മലബാർ ജില്ല]], [[മദ്രാസ്]], [[ബ്രിട്ടീഷ് ഇന്ത്യ]] |death_date = {{Death date and age|1965|12|31|1893|09|30|df=yes}} |death_place =ഒറ്റപ്പാലം, [[പാലക്കാട് ജില്ല]], [[കേരളം]], [[ഇന്ത്യ]] |other_names = |known_for = സ്വതന്ത്ര്യ ഇന്ത്യയുടെ ഏകീകരണത്തിൽ വഹിച്ച പങ്കിനാൽ |occupation = സർക്കാർ ഉദ്യോഗസ്ഥൻ |nationality = [[ഭാരതം|ഭാരതീയൻ]] }} [[ഇന്ത്യാ വിഭജനം|ഇന്ത്യാ വിഭജനക്കാലത്ത്]] [[ഇന്ത്യ|ഇന്ത്യയുടെ]] രാഷ്ട്രീയ ഏകീകരണത്തിൽ മുഖ്യപങ്ക് വഹിച്ച ആളാണ് '''വാപ്പാല പങ്കുണ്ണി മേനോൻ''' എന്ന '''വി.പി. മേനോൻ''' (1893-1965).<ref>{{cite book|first=മാതൃഭൂമി|last=പബ്ലിക്കേഷൻസ്|title=മാതൃഭൂമി ഇയർബുക്ക്|year=2013|publisher=മാതൃഭൂമി|isbn=9788182652590|url=http://buy.mathrubhumi.com/books/mathrubhumi/reference/bookdetails/1339/mathrubhumi-yearbook-plus-english-2013|access-date=2013-07-26|archive-date=2013-02-16|archive-url=https://archive.today/20130216103136/http://buy.mathrubhumi.com/books/mathrubhumi/reference/bookdetails/1339/mathrubhumi-yearbook-plus-english-2013|url-status=dead}}</ref> വിഭിന്ന ഭരണവ്യവസ്ഥകളാൽ വൈചിത്ര്യപൂർണ്ണമായിരുന്നു സ്വാതന്ത്ര്യപൂർവ ഇന്ത്യ. മതത്തിലും പാരമ്പര്യാവകാശത്തിലും യുദ്ധത്തിന്റെ ബലതന്ത്രത്തിലും സംസ്കാരത്തനിമകളിലും ചിലപ്പോൾ ഭാഗ്യത്തിലും അധിഷ്ഠിതങ്ങളായി നിലനിന്ന വിഭിന്ന നാട്ടുരാജ്യങ്ങളെ സൈനിക നടപടികൾ കൂടാതെ ഇൻഡ്യൻ യൂണിയനിൽ ലയിപ്പിച്ചെടുക്കാൻ [[സർദാർ വല്ലഭായ് പട്ടേൽ|സർദാർ വല്ലഭായ് പട്ടേലിനെ]] പ്രാപ്തനാക്കിയത് വി.പി. മേനോന്റെ ഉപദേശവും സഹായവുമാണ്. ==ആദ്യകാല ജീവിതം== [[കേരളം|കേരളത്തിലെ]] [[ഒറ്റപ്പാലം|ഒറ്റപ്പാലത്ത്]] അനങ്ങനടി എന്നു കൂടി പറയുന്ന [[കോതകുറിശ്ശി]] എന്ന ഗ്രാമത്തിലെ വാപ്പാലക്കളം എന്ന കുടുംബത്തിൽ [[1893]] [[സെപ്റ്റംബർ 30]]-ആം തീയതി ജനിച്ചു. പിതാവ് ചുനങ്ങാട് ശങ്കര മേനോൻ ഒരു ഹൈസ്കൂൾ ഹെഡ്‌മാസ്റ്റർ ആയിരുന്നു. അമ്മ കുഞ്ഞിക്കുട്ടി അമ്മ. പന്ത്രണ്ട് മക്കളിൽ മൂത്തവനായിരുന്ന മേനോൻ പതിമൂന്നാം വയസ്സിൽ സ്കൂൾ വിട്ടശേഷം കൂലിപ്പണിക്കാരനായും കൽക്കരിഖനിത്തൊഴിലാളിയായും ഫാക്ടറിത്തൊഴിലാളിയായും ദക്ഷിണേന്ത്യൻ റെയിൽവേയിൽ സ്റ്റോക്കറായും മാറിമാറി ജോലി ചെയ്തു.<ref name="സ്വാതന്ത്യം">{{cite book|first=ലാറി കൊളിൻസ്|last=ഡൊമിനിക് ലാപ്പിയർ|title=സ്വാതന്ത്ര്യം അർദ്ധരാത്രിയിൽ|year=2012-08-24|publisher=ഡി.സി. ബുക്സ്|isbn=9788171300938}}</ref> പരുത്തിക്കച്ചവടത്തിലെ ദല്ലാൾപണി നോക്കി അദ്ദേഹം പരാജയപ്പെട്ടു. ഒരു സ്കൂൾ അധ്യാപകനായും പ്രവർത്തിച്ചു. അവസാനം ടൈപ്പ് ചെയ്യാൻ സ്വയം പഠിച്ച അദ്ദേഹം [[1929]]-ൽ [[സിംല|സിംലയിലെ]] ഇന്ത്യൻ ഭരണകൂടത്തിൽ ഒരു ഗുമസ്തനായി കയറിപ്പറ്റി. ==ഔദ്യോഗിക ജീവിതം== ഔദ്യോഗികജീവിതത്തിൽ പിന്നീട് അദ്ദേഹത്തിന്റേത് കണ്ണഞ്ചിപ്പിക്കുന്ന ഉയർച്ചയായിരുന്നു. നിരന്തരമായ അദ്ധ്വാനവും ഇച്ഛാശക്തിയും കൊണ്ട് താഴേത്തട്ടിൽനിന്നു പടിപടിയായി ഔന്നത്യങ്ങളിലേക്കു എത്തിപ്പെടാൻ വി.പി.മേനോനു കഴിഞ്ഞു. 1947 ആകുമ്പോഴേക്കും വൈസ്രോയിയുടെ സ്റ്റാഫിലെ ഏറ്റവും ഉയർന്ന സ്ഥാനങ്ങളിലൊന്നിൽ അദ്ദേഹമെത്തിച്ചേർന്നു. ==ഇന്ത്യാവിഭജന പദ്ധതി== [[പ്രമാണം:Mountbatten with Menon.jpg|ലഘുചിത്രം|മൗണ്ട്‌ബാറ്റണോടൊപ്പം മേനോൻ]] ഇന്ത്യയുടെ അവസാന വൈസ്രോയി ആയിരുന്ന [[ലൂയി മൗണ്ട്ബാറ്റൻ|ലൂയി മൗണ്ട്ബാറ്റന്റെ]] രാഷ്ട്രീയ ഉപദേഷ്ടാവായിരുന്നു മേനോൻ. [[1947]]-ൽ വിഭജനത്തിനു ശേഷം ഇന്ത്യയുടെ ഉപപ്രധാനമന്ത്രിയായി മാറിയ സർദാർ പട്ടേൽ, വി.പി. മേനോനെ സെക്രട്ടറിയാക്കി. ഇടക്കാല ഗവൺമെന്റിൽ [[കോൺഗ്രസ്|കോൺഗ്രസും]] [[മുസ്ലീം ലീഗ്|മുസ്ലീം ലീഗും]] തമ്മിലുള്ള ബലപരീക്ഷണത്തിനിടയിലാണ് ഇന്ത്യയിൽ നിന്നും വേറിട്ടൊരു സ്വതന്ത്ര്യരാജ്യം വേണമെന്നുള്ള മുസ്ലീം ലീഗിന്റെ ആവശ്യത്തെ അംഗീകരിക്കാൻ മൗണ്ട്‌ബാറ്റൺ, ജവഹർലാൽ നെഹ്രു, സർദാർ വല്ലഭ് ഭായ് പട്ടേൽ എന്നിവരോട് ശുപാർശ ചെയ്യുന്നത്. മൗണ്ട്‌ബാറ്റന്റെ ആദ്യ ഇന്ത്യാവിഭജനപദ്ധതി [[ജവഹർലാൽ നെഹ്രു|നെഹ്രു]] ശക്തമായി നിരാകരിച്ചതിനെത്തുടർന്നുണ്ടാക്കിയ പുതിയ പദ്ധതിയുടെ കരട് രൂപം തയ്യാറാക്കിയത് വി.പി.മേനോനാണ്.<ref name="സ്വാതന്ത്യം"/> ==ഇന്ത്യയുടെ പുനരേകീകരണം== ഇന്ത്യയുടെ സ്വാതന്ത്ര്യലബ്‌ധിക്കുശേഷം സർദാർ പട്ടേൽ കൈകാര്യം ചെയ്ത മന്ത്രാലയത്തിൽ മേനോൻ സെക്രട്ടറിയായിത്തീർന്നു. മേനോന്റെ ബുദ്ധിവൈഭവവും കഠിനാദ്ധ്വാനവും പട്ടേലിനെ വശീകരിച്ചു. ഇന്ത്യയിലെ 565 നാട്ടുരാജ്യങ്ങളെ ഇന്ത്യൻ യൂണിയനിലേക്ക് ചേർക്കാൻ പട്ടേലിനോടൊപ്പം അദ്ദേഹം അഹോരാത്രം അദ്ധ്വാനം ചെയ്തു. [[രജപുത്താന]] ([[രാജസ്ഥാൻ]]), [[കശ്മീർ]], [[തിരുവിതാംകൂർ]], [[ഹൈദരാബാദ്]] തുടങ്ങി നിരവധി നാട്ടുരാജ്യങ്ങളെ ഇൻഡ്യൻ യൂണിയനിൽ ലയിപ്പിക്കുന്നതിൽ വി.പി. മേനോൻ മുഖ്യപങ്കുവഹിച്ചു. == മരണം == അവസാനകാലത്ത് വാർദ്ധക്യസഹജമായ അസുഖങ്ങളെത്തുടർന്ന് ഒറ്റപ്പെടൽ അനുഭവിച്ച മേനോൻ 72-ആം വയസ്സിൽ 1965 ഡിസംബർ 31-ന് ഒറ്റപ്പാലത്തെ കുടുംബവീട്ടിൽ വച്ച് അന്തരിച്ചു. മൃതദേഹം പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ വീട്ടുവളപ്പിൽ സംസ്കരിച്ചു. ==ചിത്രശാല== <gallery> ചിത്രം:V.P.Menon 01.jpg|മേനോനെ ക്കുറിച്ച് ഒരു ലേഖനം ചിത്രം:V.P.Menon 04.jpg|മേനോനെ ക്കുറിച്ച് ഒരു ലേഖനം ചിത്രം:Mountbatten with Menon.jpg|മൌണ്ട് ബാറ്റൺ പ്രഭുവുമൊത്ത് </gallery> ==ഇതും കാണുക== * [[ഇന്ത്യാ വിഭജനം]] * [[മൗണ്ട് ബാറ്റൺ പ്രഭു]] * [[ജൂൺ തേഡ് പ്ലാൻ]] ==അവലംബം== {{reflist|2}} {{Commons category|V. P. Menon}} {{DEFAULTSORT:മേനോൻ, വി.പി.}} [[വർഗ്ഗം:1893-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:1965-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 30-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ഡിസംബർ 31-ന് മരിച്ചവർ]] [[വർഗ്ഗം:മലയാളികൾ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ സർക്കാർ ഉദ്യോഗസ്ഥർ]] [[വർഗ്ഗം:മേനോന്മാർ]] f6rm0xfotrmzwv907qgjjvafv8355dc 4622121 4622120 2026-05-23T05:34:49Z CommonsDelinker 756 "V.P.Menon_04.jpg" നീക്കം ചെയ്യുന്നു, [[c:User:Krd|Krd]] എന്ന കാര്യനിർവ്വാഹകൻ അത് കോമൺസിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. കാരണം: No license since 15 May 2026. 4622121 wikitext text/x-wiki {{Infobox Person |name = വി. പി. മേനോൻ |image = വി.പി. മേനോൻ.jpg |caption = |birth_name = വാപ്പാല പങ്കുണ്ണി മേനോൻ |birth_date = {{Birth date|1893|09|30|df=yes}} |birth_place =[[ഒറ്റപ്പാലം]], [[മലബാർ ജില്ല]], [[മദ്രാസ്]], [[ബ്രിട്ടീഷ് ഇന്ത്യ]] |death_date = {{Death date and age|1965|12|31|1893|09|30|df=yes}} |death_place =ഒറ്റപ്പാലം, [[പാലക്കാട് ജില്ല]], [[കേരളം]], [[ഇന്ത്യ]] |other_names = |known_for = സ്വതന്ത്ര്യ ഇന്ത്യയുടെ ഏകീകരണത്തിൽ വഹിച്ച പങ്കിനാൽ |occupation = സർക്കാർ ഉദ്യോഗസ്ഥൻ |nationality = [[ഭാരതം|ഭാരതീയൻ]] }} [[ഇന്ത്യാ വിഭജനം|ഇന്ത്യാ വിഭജനക്കാലത്ത്]] [[ഇന്ത്യ|ഇന്ത്യയുടെ]] രാഷ്ട്രീയ ഏകീകരണത്തിൽ മുഖ്യപങ്ക് വഹിച്ച ആളാണ് '''വാപ്പാല പങ്കുണ്ണി മേനോൻ''' എന്ന '''വി.പി. മേനോൻ''' (1893-1965).<ref>{{cite book|first=മാതൃഭൂമി|last=പബ്ലിക്കേഷൻസ്|title=മാതൃഭൂമി ഇയർബുക്ക്|year=2013|publisher=മാതൃഭൂമി|isbn=9788182652590|url=http://buy.mathrubhumi.com/books/mathrubhumi/reference/bookdetails/1339/mathrubhumi-yearbook-plus-english-2013|access-date=2013-07-26|archive-date=2013-02-16|archive-url=https://archive.today/20130216103136/http://buy.mathrubhumi.com/books/mathrubhumi/reference/bookdetails/1339/mathrubhumi-yearbook-plus-english-2013|url-status=dead}}</ref> വിഭിന്ന ഭരണവ്യവസ്ഥകളാൽ വൈചിത്ര്യപൂർണ്ണമായിരുന്നു സ്വാതന്ത്ര്യപൂർവ ഇന്ത്യ. മതത്തിലും പാരമ്പര്യാവകാശത്തിലും യുദ്ധത്തിന്റെ ബലതന്ത്രത്തിലും സംസ്കാരത്തനിമകളിലും ചിലപ്പോൾ ഭാഗ്യത്തിലും അധിഷ്ഠിതങ്ങളായി നിലനിന്ന വിഭിന്ന നാട്ടുരാജ്യങ്ങളെ സൈനിക നടപടികൾ കൂടാതെ ഇൻഡ്യൻ യൂണിയനിൽ ലയിപ്പിച്ചെടുക്കാൻ [[സർദാർ വല്ലഭായ് പട്ടേൽ|സർദാർ വല്ലഭായ് പട്ടേലിനെ]] പ്രാപ്തനാക്കിയത് വി.പി. മേനോന്റെ ഉപദേശവും സഹായവുമാണ്. ==ആദ്യകാല ജീവിതം== [[കേരളം|കേരളത്തിലെ]] [[ഒറ്റപ്പാലം|ഒറ്റപ്പാലത്ത്]] അനങ്ങനടി എന്നു കൂടി പറയുന്ന [[കോതകുറിശ്ശി]] എന്ന ഗ്രാമത്തിലെ വാപ്പാലക്കളം എന്ന കുടുംബത്തിൽ [[1893]] [[സെപ്റ്റംബർ 30]]-ആം തീയതി ജനിച്ചു. പിതാവ് ചുനങ്ങാട് ശങ്കര മേനോൻ ഒരു ഹൈസ്കൂൾ ഹെഡ്‌മാസ്റ്റർ ആയിരുന്നു. അമ്മ കുഞ്ഞിക്കുട്ടി അമ്മ. പന്ത്രണ്ട് മക്കളിൽ മൂത്തവനായിരുന്ന മേനോൻ പതിമൂന്നാം വയസ്സിൽ സ്കൂൾ വിട്ടശേഷം കൂലിപ്പണിക്കാരനായും കൽക്കരിഖനിത്തൊഴിലാളിയായും ഫാക്ടറിത്തൊഴിലാളിയായും ദക്ഷിണേന്ത്യൻ റെയിൽവേയിൽ സ്റ്റോക്കറായും മാറിമാറി ജോലി ചെയ്തു.<ref name="സ്വാതന്ത്യം">{{cite book|first=ലാറി കൊളിൻസ്|last=ഡൊമിനിക് ലാപ്പിയർ|title=സ്വാതന്ത്ര്യം അർദ്ധരാത്രിയിൽ|year=2012-08-24|publisher=ഡി.സി. ബുക്സ്|isbn=9788171300938}}</ref> പരുത്തിക്കച്ചവടത്തിലെ ദല്ലാൾപണി നോക്കി അദ്ദേഹം പരാജയപ്പെട്ടു. ഒരു സ്കൂൾ അധ്യാപകനായും പ്രവർത്തിച്ചു. അവസാനം ടൈപ്പ് ചെയ്യാൻ സ്വയം പഠിച്ച അദ്ദേഹം [[1929]]-ൽ [[സിംല|സിംലയിലെ]] ഇന്ത്യൻ ഭരണകൂടത്തിൽ ഒരു ഗുമസ്തനായി കയറിപ്പറ്റി. ==ഔദ്യോഗിക ജീവിതം== ഔദ്യോഗികജീവിതത്തിൽ പിന്നീട് അദ്ദേഹത്തിന്റേത് കണ്ണഞ്ചിപ്പിക്കുന്ന ഉയർച്ചയായിരുന്നു. നിരന്തരമായ അദ്ധ്വാനവും ഇച്ഛാശക്തിയും കൊണ്ട് താഴേത്തട്ടിൽനിന്നു പടിപടിയായി ഔന്നത്യങ്ങളിലേക്കു എത്തിപ്പെടാൻ വി.പി.മേനോനു കഴിഞ്ഞു. 1947 ആകുമ്പോഴേക്കും വൈസ്രോയിയുടെ സ്റ്റാഫിലെ ഏറ്റവും ഉയർന്ന സ്ഥാനങ്ങളിലൊന്നിൽ അദ്ദേഹമെത്തിച്ചേർന്നു. ==ഇന്ത്യാവിഭജന പദ്ധതി== [[പ്രമാണം:Mountbatten with Menon.jpg|ലഘുചിത്രം|മൗണ്ട്‌ബാറ്റണോടൊപ്പം മേനോൻ]] ഇന്ത്യയുടെ അവസാന വൈസ്രോയി ആയിരുന്ന [[ലൂയി മൗണ്ട്ബാറ്റൻ|ലൂയി മൗണ്ട്ബാറ്റന്റെ]] രാഷ്ട്രീയ ഉപദേഷ്ടാവായിരുന്നു മേനോൻ. [[1947]]-ൽ വിഭജനത്തിനു ശേഷം ഇന്ത്യയുടെ ഉപപ്രധാനമന്ത്രിയായി മാറിയ സർദാർ പട്ടേൽ, വി.പി. മേനോനെ സെക്രട്ടറിയാക്കി. ഇടക്കാല ഗവൺമെന്റിൽ [[കോൺഗ്രസ്|കോൺഗ്രസും]] [[മുസ്ലീം ലീഗ്|മുസ്ലീം ലീഗും]] തമ്മിലുള്ള ബലപരീക്ഷണത്തിനിടയിലാണ് ഇന്ത്യയിൽ നിന്നും വേറിട്ടൊരു സ്വതന്ത്ര്യരാജ്യം വേണമെന്നുള്ള മുസ്ലീം ലീഗിന്റെ ആവശ്യത്തെ അംഗീകരിക്കാൻ മൗണ്ട്‌ബാറ്റൺ, ജവഹർലാൽ നെഹ്രു, സർദാർ വല്ലഭ് ഭായ് പട്ടേൽ എന്നിവരോട് ശുപാർശ ചെയ്യുന്നത്. മൗണ്ട്‌ബാറ്റന്റെ ആദ്യ ഇന്ത്യാവിഭജനപദ്ധതി [[ജവഹർലാൽ നെഹ്രു|നെഹ്രു]] ശക്തമായി നിരാകരിച്ചതിനെത്തുടർന്നുണ്ടാക്കിയ പുതിയ പദ്ധതിയുടെ കരട് രൂപം തയ്യാറാക്കിയത് വി.പി.മേനോനാണ്.<ref name="സ്വാതന്ത്യം"/> ==ഇന്ത്യയുടെ പുനരേകീകരണം== ഇന്ത്യയുടെ സ്വാതന്ത്ര്യലബ്‌ധിക്കുശേഷം സർദാർ പട്ടേൽ കൈകാര്യം ചെയ്ത മന്ത്രാലയത്തിൽ മേനോൻ സെക്രട്ടറിയായിത്തീർന്നു. മേനോന്റെ ബുദ്ധിവൈഭവവും കഠിനാദ്ധ്വാനവും പട്ടേലിനെ വശീകരിച്ചു. ഇന്ത്യയിലെ 565 നാട്ടുരാജ്യങ്ങളെ ഇന്ത്യൻ യൂണിയനിലേക്ക് ചേർക്കാൻ പട്ടേലിനോടൊപ്പം അദ്ദേഹം അഹോരാത്രം അദ്ധ്വാനം ചെയ്തു. [[രജപുത്താന]] ([[രാജസ്ഥാൻ]]), [[കശ്മീർ]], [[തിരുവിതാംകൂർ]], [[ഹൈദരാബാദ്]] തുടങ്ങി നിരവധി നാട്ടുരാജ്യങ്ങളെ ഇൻഡ്യൻ യൂണിയനിൽ ലയിപ്പിക്കുന്നതിൽ വി.പി. മേനോൻ മുഖ്യപങ്കുവഹിച്ചു. == മരണം == അവസാനകാലത്ത് വാർദ്ധക്യസഹജമായ അസുഖങ്ങളെത്തുടർന്ന് ഒറ്റപ്പെടൽ അനുഭവിച്ച മേനോൻ 72-ആം വയസ്സിൽ 1965 ഡിസംബർ 31-ന് ഒറ്റപ്പാലത്തെ കുടുംബവീട്ടിൽ വച്ച് അന്തരിച്ചു. മൃതദേഹം പൂർണ ഔദ്യോഗിക ബഹുമതികളോടെ വീട്ടുവളപ്പിൽ സംസ്കരിച്ചു. ==ചിത്രശാല== <gallery> ചിത്രം:V.P.Menon 01.jpg|മേനോനെ ക്കുറിച്ച് ഒരു ലേഖനം ചിത്രം:Mountbatten with Menon.jpg|മൌണ്ട് ബാറ്റൺ പ്രഭുവുമൊത്ത് </gallery> ==ഇതും കാണുക== * [[ഇന്ത്യാ വിഭജനം]] * [[മൗണ്ട് ബാറ്റൺ പ്രഭു]] * [[ജൂൺ തേഡ് പ്ലാൻ]] ==അവലംബം== {{reflist|2}} {{Commons category|V. P. Menon}} {{DEFAULTSORT:മേനോൻ, വി.പി.}} [[വർഗ്ഗം:1893-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:1965-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:സെപ്റ്റംബർ 30-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ഡിസംബർ 31-ന് മരിച്ചവർ]] [[വർഗ്ഗം:മലയാളികൾ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ സർക്കാർ ഉദ്യോഗസ്ഥർ]] [[വർഗ്ഗം:മേനോന്മാർ]] 06zebfuufscc66ur6e210rqcj32vhwb ഫലകം:Pre 10 220215 4622042 4589100 2025-12-12T17:58:27Z en>ABreault (WMF) 0 Add attribute for [[phab:T353697]] 4589100 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> format="wikitext" class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}><!-- -->{{#if:{{{1|}}}|{{{1}}}<noinclude>|Sample text</noinclude>}}<!-- -->{{#if:{{{2|}}}|{{!}}{{{2}}}}}<!-- -->{{#if:{{{3|}}}|{{!}}{{{3}}}}}<!-- -->{{#if:{{{4|}}}|{{!}}{{{4}}}}}<!-- -->{{#if:{{{5|}}}|{{!}}{{{5}}}}}<!-- -->{{#if:{{{6|}}}|{{!}}{{{6}}}}}<!-- -->{{#if:{{{7|}}}|{{!}}{{{7}}}}}<!-- -->{{#if:{{{8|}}}|{{!}}{{{8}}}}}<!-- -->{{#if:{{{9|}}}|{{!}}{{{9}}}}}<!-- -->{{#if:{{{10|}}}|{{!}}{{{10}}}}}<!-- -->{{#if:{{{11|}}}|{{!}}{{{11}}}}}<!-- -->{{#if:{{{12|}}}|{{!}}{{{12}}}}}<!-- -->{{#if:{{{13|}}}|{{!}}{{{13}}}}}<!-- -->{{#if:{{{14|}}}|{{!}}{{{14}}}}}<!-- -->{{#if:{{{15|}}}|{{!}}{{{15}}}}}<!-- -->{{#if:{{{16|}}}|{{!}}{{{16}}}}}<!-- -->{{#if:{{{17|}}}|{{!}}{{{17}}}}}<!-- -->{{#if:{{{18|}}}|{{!}}{{{18}}}}}<!-- -->{{#if:{{{19|}}}|{{!}}{{{19}}}}}<!-- -->{{#if:{{{20|}}}|{{!}}{{{20}}}}}<!-- --></<noinclude/>pre><noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> b3rhu0pve3d4wue3vh9ldx51xk310g3 4622043 4622042 2025-12-14T06:48:37Z en>Jonesey95 0 Undid revision [[Special:Diff/1327111404|1327111404]] by [[Special:Contributions/ABreault (WMF)|ABreault (WMF)]] ([[User talk:ABreault (WMF)|talk]]). Reverting until Phab:T412577 can be figured out. 4622043 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}><!-- -->{{#if:{{{1|}}}|{{{1}}}<noinclude>|Sample text</noinclude>}}<!-- -->{{#if:{{{2|}}}|{{!}}{{{2}}}}}<!-- -->{{#if:{{{3|}}}|{{!}}{{{3}}}}}<!-- -->{{#if:{{{4|}}}|{{!}}{{{4}}}}}<!-- -->{{#if:{{{5|}}}|{{!}}{{{5}}}}}<!-- -->{{#if:{{{6|}}}|{{!}}{{{6}}}}}<!-- -->{{#if:{{{7|}}}|{{!}}{{{7}}}}}<!-- -->{{#if:{{{8|}}}|{{!}}{{{8}}}}}<!-- -->{{#if:{{{9|}}}|{{!}}{{{9}}}}}<!-- -->{{#if:{{{10|}}}|{{!}}{{{10}}}}}<!-- -->{{#if:{{{11|}}}|{{!}}{{{11}}}}}<!-- -->{{#if:{{{12|}}}|{{!}}{{{12}}}}}<!-- -->{{#if:{{{13|}}}|{{!}}{{{13}}}}}<!-- -->{{#if:{{{14|}}}|{{!}}{{{14}}}}}<!-- -->{{#if:{{{15|}}}|{{!}}{{{15}}}}}<!-- -->{{#if:{{{16|}}}|{{!}}{{{16}}}}}<!-- -->{{#if:{{{17|}}}|{{!}}{{{17}}}}}<!-- -->{{#if:{{{18|}}}|{{!}}{{{18}}}}}<!-- -->{{#if:{{{19|}}}|{{!}}{{{19}}}}}<!-- -->{{#if:{{{20|}}}|{{!}}{{{20}}}}}<!-- --></<noinclude/>pre><noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 4etd2u4mh7nzje3pg2ow0lm59uxe419 4622044 4622043 2025-12-30T11:02:22Z en>Primefac 0 tracking parameter per talk discussion 4622044 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}><!-- -->{{#if:{{{1|}}}|{{{1}}}<noinclude>|Sample text</noinclude>}}<!-- -->{{#if:{{{2|}}}|{{!}}{{{2}}}}}<!-- -->{{#if:{{{3|}}}|{{!}}{{{3}}}}}<!-- -->{{#if:{{{4|}}}|{{!}}{{{4}}}}}<!-- -->{{#if:{{{5|}}}|{{!}}{{{5}}}}}<!-- -->{{#if:{{{6|}}}|{{!}}{{{6}}}}}<!-- -->{{#if:{{{7|}}}|{{!}}{{{7}}}}}<!-- -->{{#if:{{{8|}}}|{{!}}{{{8}}}}}<!-- -->{{#if:{{{9|}}}|{{!}}{{{9}}}}}<!-- -->{{#if:{{{10|}}}|{{!}}{{{10}}}}}<!-- -->{{#if:{{{11|}}}|{{!}}{{{11}}}}}<!-- -->{{#if:{{{12|}}}|{{!}}{{{12}}}}}<!-- -->{{#if:{{{13|}}}|{{!}}{{{13}}}}}<!-- -->{{#if:{{{14|}}}|{{!}}{{{14}}}}}<!-- -->{{#if:{{{15|}}}|{{!}}{{{15}}}}}<!-- -->{{#if:{{{16|}}}|{{!}}{{{16}}}}}<!-- -->{{#if:{{{17|}}}|{{!}}{{{17}}}}}<!-- -->{{#if:{{{18|}}}|{{!}}{{{18}}}}}<!-- -->{{#if:{{{19|}}}|{{!}}{{{19}}}}}<!-- -->{{#if:{{{20|}}}|{{!}}{{{20}}}}}<!-- --></<noinclude/>pre>{{#if:{{{2|}}}|[[Category:Pages using pre with second parameter]]}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> omlfrorp4o3inqfb24g7ue4dcxaruoq 4622045 4622044 2025-12-31T12:29:28Z en>Primefac 0 possibility of a few blanks, but I don't see a need to extend past that since it would mean a half-dozen pipes in a row 4622045 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}><!-- -->{{#if:{{{1|}}}|{{{1}}}<noinclude>|Sample text</noinclude>}}<!-- -->{{#if:{{{2|}}}|{{!}}{{{2}}}}}<!-- -->{{#if:{{{3|}}}|{{!}}{{{3}}}}}<!-- -->{{#if:{{{4|}}}|{{!}}{{{4}}}}}<!-- -->{{#if:{{{5|}}}|{{!}}{{{5}}}}}<!-- -->{{#if:{{{6|}}}|{{!}}{{{6}}}}}<!-- -->{{#if:{{{7|}}}|{{!}}{{{7}}}}}<!-- -->{{#if:{{{8|}}}|{{!}}{{{8}}}}}<!-- -->{{#if:{{{9|}}}|{{!}}{{{9}}}}}<!-- -->{{#if:{{{10|}}}|{{!}}{{{10}}}}}<!-- -->{{#if:{{{11|}}}|{{!}}{{{11}}}}}<!-- -->{{#if:{{{12|}}}|{{!}}{{{12}}}}}<!-- -->{{#if:{{{13|}}}|{{!}}{{{13}}}}}<!-- -->{{#if:{{{14|}}}|{{!}}{{{14}}}}}<!-- -->{{#if:{{{15|}}}|{{!}}{{{15}}}}}<!-- -->{{#if:{{{16|}}}|{{!}}{{{16}}}}}<!-- -->{{#if:{{{17|}}}|{{!}}{{{17}}}}}<!-- -->{{#if:{{{18|}}}|{{!}}{{{18}}}}}<!-- -->{{#if:{{{19|}}}|{{!}}{{{19}}}}}<!-- -->{{#if:{{{20|}}}|{{!}}{{{20}}}}}<!-- --></<noinclude/>pre>{{#if:{{{2|}}}{{{3|}}}{{{4|}}}{{{5|}}}|[[Category:Pages using pre with second parameter]]}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 4z0yusjzoaog45cb1l0nf6z712r46ip 4622046 4622045 2026-01-08T12:10:22Z en>McDutchie 0 Nothing is using the broken "raw pipes" hack now, so time to get rid. See [[Template talk:Pre#fixpre]] and preceding discussion. 4622046 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}>{{{1|<noinclude>Sample text</noinclude>}}}</<noinclude/>pre><noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 1fohtqhovvzmfs0xejqjtwv69ibgjqz 4622047 4622046 2026-01-08T22:40:43Z en>McDutchie 0 Replace the <includeonly></includeonly> hack, which breaks on Parsoid, with a <pre format="wikitext"> generated by the {{#tag}} parser function. See [[Template talk:Pre#Compatibility with Parsoid]] 4622047 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/>{{#tag:pre|{{{1|<noinclude>Sample text</noinclude>}}}|format=wikitext|class=pre {{#ifeq:{{{border|}}}|no|pre-borderless}}|{{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style={{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}}}}}<noinclude> {{Documentation}} <!-- Add categories to the /doc subpage --> </noinclude> re3z5s06po6bglpjsua6ggfrmoxc3xs 4622048 4622047 2026-01-10T00:50:10Z en>Jonesey95 0 Undid 2 revisions from [[Special:Diff/1331829562|1331829562]] until [[Special:Diff/1331919181|1331919181]]. Causes Linter errors at [[:Template:QLDint]] and multiple other pages. 4622048 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}><!-- -->{{#if:{{{1|}}}|{{{1}}}<noinclude>|Sample text</noinclude>}}<!-- -->{{#if:{{{2|}}}|{{!}}{{{2}}}}}<!-- -->{{#if:{{{3|}}}|{{!}}{{{3}}}}}<!-- -->{{#if:{{{4|}}}|{{!}}{{{4}}}}}<!-- -->{{#if:{{{5|}}}|{{!}}{{{5}}}}}<!-- -->{{#if:{{{6|}}}|{{!}}{{{6}}}}}<!-- -->{{#if:{{{7|}}}|{{!}}{{{7}}}}}<!-- -->{{#if:{{{8|}}}|{{!}}{{{8}}}}}<!-- -->{{#if:{{{9|}}}|{{!}}{{{9}}}}}<!-- -->{{#if:{{{10|}}}|{{!}}{{{10}}}}}<!-- -->{{#if:{{{11|}}}|{{!}}{{{11}}}}}<!-- -->{{#if:{{{12|}}}|{{!}}{{{12}}}}}<!-- -->{{#if:{{{13|}}}|{{!}}{{{13}}}}}<!-- -->{{#if:{{{14|}}}|{{!}}{{{14}}}}}<!-- -->{{#if:{{{15|}}}|{{!}}{{{15}}}}}<!-- -->{{#if:{{{16|}}}|{{!}}{{{16}}}}}<!-- -->{{#if:{{{17|}}}|{{!}}{{{17}}}}}<!-- -->{{#if:{{{18|}}}|{{!}}{{{18}}}}}<!-- -->{{#if:{{{19|}}}|{{!}}{{{19}}}}}<!-- -->{{#if:{{{20|}}}|{{!}}{{{20}}}}}<!-- --></<noinclude/>pre>{{#if:{{{2|}}}{{{3|}}}{{{4|}}}{{{5|}}}|[[Category:Pages using pre with second parameter]]}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 4z0yusjzoaog45cb1l0nf6z712r46ip 4622049 4622048 2026-01-10T01:16:39Z en>McDutchie 0 There was no need to undo *both* edits. Re-remove the broken "raw pipes" hack. 4622049 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}>{{{1|<noinclude>Sample text</noinclude>}}}</<noinclude/>pre><noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 1fohtqhovvzmfs0xejqjtwv69ibgjqz 4622050 4622049 2026-01-10T16:09:05Z en>Jonesey95 0 Adding the usual unknown parameter tracking through [[:Category:Pages using pre with unknown parameters]] using [[Module:check for unknown parameters]] 4622050 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}>{{{1|<noinclude>Sample text</noinclude>}}}</<noinclude/>pre>{{#invoke:Check for unknown parameters|check|unknown=[[Category:Pages using pre with unknown parameters|_VALUE_{{PAGENAME}}]]|preview=Page using [[Template:Pre]] with unknown parameter "_VALUE_"|ignoreblank=y| 1 | border | space | style | width }}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 0h0azdn574p3jxdlee94p84ozitwsm4 4622051 4622050 2026-05-22T22:54:38Z Jacob.jose 1784 [[:en:Template:Pre]] എന്നതിൽ നിന്ന് 9 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4622050 wikitext text/x-wiki <templatestyles src="Pre/styles.css"/><pre<includeonly></includeonly> class="pre {{#ifeq:{{{border|}}}|no|pre-borderless}}" {{#if:{{{space|}}}{{{width|}}}{{{style|}}}|style="{{#if:{{{space|}}}|white-space: {{{space}}};}} {{#if:{{{width|}}}|width: {{{width}}};}} {{{style|}}}"}}>{{{1|<noinclude>Sample text</noinclude>}}}</<noinclude/>pre>{{#invoke:Check for unknown parameters|check|unknown=[[Category:Pages using pre with unknown parameters|_VALUE_{{PAGENAME}}]]|preview=Page using [[Template:Pre]] with unknown parameter "_VALUE_"|ignoreblank=y| 1 | border | space | style | width }}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 0h0azdn574p3jxdlee94p84ozitwsm4 വിഷ്ണു ദിഗംബർ പലുസ്കർ 0 225097 4622181 1766653 2026-05-23T08:14:33Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622181 wikitext text/x-wiki {{ചട്ടം-ഉപശീർഷകം|}}{{prettyurl|Vishnu Digambar Paluskar}} {{Infobox musical artist |name = വിഷ്ണുദിഗംബർ പലുസ്കർ |image = Vishnu Digambar Paluskar.jpg |caption = |image_size = 144 |background = ഹിന്ദുസ്ഥാനി ഗായകൻ |birth_name = | birth_date = {{birth date|1872|8|18}} |birth_place = [[Kuruntwad|കുരുന്ദ്‌വാഡ്]] |death_date = {{Death date and age|1931|08|21|1872|08|18}} |origin = [[Kuruntwad|കുരുന്ദ്‌വാഡ്]], [[Bombay Presidency|ബോംബെ പ്രസിഡൻസി]], [[India|ഇന്ത്യ]] |genre = [[ഹിന്ദുസ്ഥാനി ശാസ്ത്രീയ സംഗീതം]] |occupation = [[ഗായകൻ]] |years_active = 1890–1931 |label = |website = }} ഉത്തരേന്ത്യയിൽ ഗന്ധർവ മഹാവിദ്യാലയത്തിന്റെ ശൃംഖല സ്ഥാപിച്ച് ദേശീയപ്രസ്ഥാനത്തിന്റെ ഭാഗമായി സംഗീതനവോത്ഥാനത്തിന് നേതൃത്വം നൽകിയ പ്രതിഭാശാലിയായിരുന്നു '''പണ്ഡിറ്റ് വിഷ്ണുദിഗംബർ പലുസ്കർ('''18 ആഗസ്റ്റ് 1872 – 21 ആഗസ്റ്റ് 1931). ==ഗന്ധർവ മഹാവിദ്യാലയം== ഹിന്ദുസ്ഥാനി സംഗീതരംഗത്തെ ആധുനികതക്കുവേണ്ടി യത്നിച്ച വിഷ്ണു ദിഗംബർ പലുസ്കർ, 1939ൽ സ്ഥാപിച്ച അഖില ഭാരതീയ ഗന്ധർവ മഹാവിദ്യാലയ ഒരു മാതൃകയായി തന്നെ സംഗീത വിദ്യാഭ്യാസ സ്ഥാപങ്ങളെ നിർണ്ണയിക്കുകയുണ്ടായി.<ref>{{Cite web |url=http://www.reporteronlive.com/contentdetail/printnews/738 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-01-04 |archive-date=2025-08-13 |archive-url=https://web.archive.org/web/20250813143925/http://www.reporteronlive.com/contentdetail/printnews/738 |url-status=dead }}</ref> ==അവലംബം== <references/> ==അധിക വായനക്ക്== * {{cite book | last=Deva | first = B. Chaitanya | title= An Introduction to Indian Music | publisher= Publications Division, Ministry of Information and Broadcasting, Government of India | year=1981}} * {{cite book | last=Athavale | first = V.R. | title= Pandit Vishnu Digambar Paluskar | publisher= National Book Trust | year=1967}} [[വർഗ്ഗം:1872-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം: 1931-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ഓഗസ്റ്റ് 18-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ഓഗസ്റ്റ് 21-ന് മരിച്ചവർ]] [[വർഗ്ഗം:ഹിന്ദുസ്ഥാനി സംഗീതജ്ഞർ]] mkkdsc2sgxurj3sxbu7jtckvpe3yvwt മാർക്ക് ആന്റണി 0 230793 4622205 3929979 2026-05-23T11:39:18Z FluteWarrior 217914 /* growthexperiments-addlink-summary-summary:2|0|0 */ 4622205 wikitext text/x-wiki {{prettyurl|Mark Antony}} {{Infobox military person |name= <big>മാർക്കസ് അന്റോണിയസ്</big><br /><small>M·ANTONIVS·M·F·M·N</small><ref>In full, Marcus Antonius Marci Filius Marci Nepos; in English, "Marcus Antonius, son of Marcus, grandson of Marcus</ref> |birth_date= ജനുവരി 14, 83 BC |death_date= ആഗസ്റ്റ് 1, 30 BC (53 വയസ്സ്) |birth_place= [[റോമാ]] നഗരം, [[റോമൻ റിപ്പബ്ലിക്]] |death_place= [[അലക്സാൻഡ്രിയ]], [[ഈജിപ്റ്റ്]] |image=M Antonius.jpg |caption= |allegiance= [[Image:Roman_Military_banner.svg|25px]] [[റോമൻ റിപ്പബ്ലിക്]] |serviceyears= |rank= |unit= |commands= }} '''മാർക്കസ് അന്റോണിയസ്''', (Marcus Antonius) (83BC January 14– 30BC August 1) ഒരു റോമൻ സൈനിക മേധാവിയും, രാഷ്ട്രീയ നേതാവുമായിരുന്നു. '''മാർക്ക് ആന്റണി''' എന്ന പേരിലാണ് ഇദ്ദേഹം ഇംഗ്ലീഷ് സംസാരിക്കുന്ന നാടുകളിൽ അറിയപ്പെടുന്നത്. '''മാർക്കസ് അന്റോണിയസ്''' [[ജൂലിയസ് സീസർ|ജൂലിയസ് സീസറിന്റെ]] ഒരു പ്രധാന രാഷ്ട്രീയ അനുയായിയും സുഹൃത്തുമായിരുന്നു. സീസർ കൊല്ലപ്പെട്ടതിനു ശേഷം ഇദ്ദേഹം [[അഗസ്റ്റസ്|ഒക്റ്റാവിയനും]], [[മാർക്കസ് ലെപിഡസ്|മാർക്കസ് ലെപിഡസുമായി]] ചേർന്ന് റോമിലെ രണ്ടാം ത്രിമൂർത്തി (triumvirate) എന്നറിയപ്പെടുന്ന ഭരണകൂടം സ്ഥാപിച്ചു. ഏതാണ്ട് ഏകാധിപത്യ സ്വഭാവമുള്ള ഈ ത്രിമൂർത്തി ഭരണകൂടം രണ്ട് അഞ്ച് വർഷ കാലാവധികളിൽ (43 ബി സി മുതൽ 33 ബി സി വരെ) [[റോമൻ റിപ്പബ്ലിക്]] ഭരിച്ചു. മാർക്കസ് അന്റോണിയസും ഒൿറ്റാവിയനും തമ്മിലുള്ള അഭിപ്രായ വ്യത്യാസങ്ങൾ കാരണം ഈ ത്രിമൂർത്തി (triumvirate) ഭരണകക്ഷി പിളർന്ന് ഒരു ആഭ്യന്തര യുദ്ധത്തിൽ കലാശിച്ചു. ഈ യുദ്ധത്തിൽ ഒൿറ്റാവിയൻ മാർക്ക് ആന്റണിയെ പരാജയപ്പെടുത്തുകയും, അതിനു ശേഷം ആന്റണിയും കാമുകി [[ക്ലിയോപാട്ര|ക്ലിയോപാട്രയും]] ആത്മഹത്യ ചെയ്യുകയുമുണ്ടായി. ഇതിനു ശേഷം ഒൿറ്റാവിയൻ [[അഗസ്റ്റസ്]] എന്ന പേരിൽ ആദ്യത്തെ റോമൻ ചക്രവർത്തിയായി അവരോധിക്കപ്പെട്ടു. ആന്റണിയുടെ രാഷ്ട്രീയ ജീവിതവും, അന്ത്യവും റോമിന്റെ ഒരു [[റോമൻ റിപ്പബ്ലിക്ക്|അർദ്ധ ജനാധിപത്യ റിപബ്ലിക്കിൽ]] നിന്ന് ചക്രവർത്തി ഭരണത്തിൻ കീഴിലുള്ള സാമ്രാജ്യത്തിലേക്കുള്ള പരിവർത്തനത്തിലെ ഒരു പ്രധാന അധ്യായമാണ്.<ref>Eck, Werner; translated by Deborah Lucas Schneider; new material by Sarolta A. Takács. (2003) The Age of Augustus. Oxford: Blackwell Publishing (hardcover, ISBN 0-631-22957-4; paperback, ISBN 0-631-22958-2)</ref> ==ജീവിത രേഖ== ====ആരംഭ കാലം==== പ്രാചീന റോമിലെ ഒരു പ്രബലമായ പ്രഭുകുടുംബമായ അന്റോണിയ കുടുംബത്തിൽ 83 ബി സി യിൽ ജനിച്ചു. പിതാവ് [[മാർക്കസ് അന്റോണിയസ് ക്രെറ്റിക്കസ്]] റോമിലെ ഒരു പ്രമുഖ രാഷ്ട്രീയ നേതാവായിരുന്നു. അതേ പേരുള്ള പിതാവിന്റെ പിതാവ് [[മാർക്കസ് അന്റോണിയസ് (പ്രസംഗകൻ)]] ഒരു പ്രമുഖ രാഷ്ട്രീയ നേതാവും, അറിയപ്പെടുന്ന പ്രസംഗകനുമായിരുന്നു. ആന്റണിയുടെ പിതാവ് റോമൻ റിപ്പബ്ലിക്കിൽ [[പ്രേറ്റർ]] (Praetor) പദവി വഹിക്കുന്ന ഒട്ടും കഴിവില്ലാത്ത ഒരുദ്യോഗസ്ഥനായിരുന്നു. [[സിസറോ]]യുടെ അഭിപ്രായത്തിൽ പദവി ദുരുപയോഗപ്പെടുത്താനുള്ള മിടുക്ക് പോലുമില്ലാത്തത് കൊണ്ടാണ് [[മാർക്കസ് അന്റോണിയസ് ക്രെറ്റിക്കസ്]] ആ പദവിയിൽ നിയമിക്കപ്പെട്ടത്<ref>Huzar 1978, p. 15</ref> ആന്റണിയുടെ മാതാവ് ജൂലിയ റോമിലെ കോൺസൾ (consul) സ്ഥാനം വഹിച്ചിരുന്ന ലുസിയസ് സീസറിന്റെ മകളായിരുന്നു. യൗവനത്തിൽ മാർക്ക് ആന്റണി ഒരു അലസനും സുഖലോലുപനുമായിരുന്നു. അദ്ദേഹം ഒരു കടുത്ത ചൂതുകളിക്കാരനായത്കൊണ്ട് അത്യാവശ്യം കടബാദ്ധ്യതകളുമുണ്ടായിരുന്നു. ആന്റണിയ്ക്ക് 25 വയസ്സുള്ളപ്പോൾ (58 ബി സി) അദ്ദേഹം തത്ത്വശാസ്ത്രവും, തർക്കശാസ്ത്രവും പരിശീലിക്കാൻ ഏതൻസിൽ പോയി താമസിച്ചു. അവിടെ ചെന്ന് ഒരു വർഷംകഴിഞ്ഞപ്പോൾ സിറിയയുടെ പ്രോകോൺസൽ (governor) ഓലസ് ഗബിനിയസ്, ജുഡിയയുടെ രാജാവായ അരിസ്റ്റോബുലസ് രണ്ടാമനെതിരെ റോമൻ റിപ്പബ്ലിൿ നടത്തിയ യുദ്ധത്തിൽ പങ്കുചേരാൻ ആന്റണിയെ ക്ഷണിച്ചു. ഈ യുദ്ധത്തിൽ ചില പ്രധാന വിജയങ്ങൾ നേടി ആന്റണി ഒരു സൈനിക നേതാവായി പേരെടുത്തു. ====സീസറിന്റെ അനുയായി==== 54 ബി സി യിൽ ആന്റണി [[ജൂലിയസ് സീസർ|ജൂലിയസ് സീസറിന്റെ]] അധീനതയിലുള്ള സേനയിൽ ഒരു സൈനിക ഉദ്യോഗസ്ഥനായി ജോലിയിൽ പ്രവേശിച്ചു. [[ഗോൾ|ഗോളിലെ]] (gaul) ഗോത്രങ്ങൾക്കെതിരെയുള്ള ഗാല്ലിക് യുദ്ധങ്ങളിൽ ആന്റണി തന്റെ കഴിവ് വീണ്ടും തെളിയിച്ചു. സീസറിന്റെ ബന്ധു കൂടിയായിരുന്ന ആന്റണി അതോടെ സീസറിന്റെ വിശ്വസ്തനും സുഹൃത്തുമായി. സീസറിന്റെ സ്വാധീനം കാരണം ആന്റണി പടി പടിയായി ഉയർന്ന് 50 ബി സി യിൽ [[പ്ലീബിയൻ]] ട്രൈബൂണലായി നിയമിക്കപ്പെട്ടു. സീസർ 50 ബി സി യിൽ തന്റെ പ്രോകോൺസൽ പദവിയുടെ കാലാവധി തീരാറാവുന്ന സമയത്ത് റോമിലെ കോൺസൽ പദവിയ്ക്കുള്ള തിർഞ്ഞെടുപ്പിൽ പങ്കെടുക്കാനുള്ള ഉദ്ദേശം പ്രഖ്യാപിച്ചു. ഇതിനെ റോമൻ സെനറ്റിലെ [[പോംപി]]യുടെ നേതൃത്വത്തിലുള്ള ഒരു വിഭാഗം ശക്തിയായി എതിർത്തു. പ്രോകോൺസൽ പദവി രാജി വയ്ച്ച് സൈന്യത്തിന്റെ മേധാവി സ്ഥാനം കൈമാറിയിട്ട് തിരഞ്ഞെടുപ്പിൽ പങ്കെടുത്താൽ മതി എന്ന് അവർ ശഠിച്ചു. പ്രോകോൺസൽ പദവിയിലിരിക്കുമ്പോൾ സീസറിനെതിരെ പദവിയുടെ ഇമ്മ്യൂണിറ്റി (immunity from prosecution) കാരണം നിയമ നടപടികൾ എടുക്കാൻ പറ്റില്ലായിരുന്നു. വിരമിച്ച ശേഷം തനിക്കെതിരെ അഴിമതിയ്ക്ക് അന്വേഷണവും നിയമ നടപടികളുമുണ്ടാവുമെന്ന് സീസറിനറിയാമായിരുന്നു. ഇത് തന്നെ ഒതുക്കാനുള്ള ഒരു ശ്രമമാണെന്ന് മനസ്സിലാക്കിയ സീസർ ആദ്യം പ്ലീബിയൻ ട്രൈബൂണലായ ആന്റണിയുടെ വീറ്റോ ഉപയോഗിച്ച് സീസറിനെ പ്രോകോൺസൾ സ്ഥാനത്ത് നിന്ന് മാറ്റുന്ന സെനറ്റിന്റെ ഉത്തരവ് തടയാൻ ശ്രമിച്ചു. ആന്റണിയുടെ സെനറ്റിൽ വീറ്റോ ഉപയോഗിക്കാൻ ശ്രമിച്ചപ്പോൾ ആന്റണിയെയും, മറ്റൊരു സീസർ സപ്പോർട്ടറെയും [[പോംപി]] ബലമായി (നിയമ വിരുദ്ധമായി) സെനറ്റിൽ നിന്ന് പുറത്താക്കി. ഇതോടെ സെനറ്റിന്റെ ഉത്തരവ് ധിക്കരിച്ച് സീസർ തന്റെ സേനയുമായി [[റൂബിക്കൺ]] നദി കടന്നു തലസ്ഥാന നഗരിയായ റോമിൽ പ്രവേശിച്ചു. ഇതോടെ 49 ബി സിയിലെ ആഭ്യന്തര യുദ്ധം തുടങ്ങി. പോംപിയും സെനറ്റിലെ ഭൂരിപക്ഷ അംഗങ്ങളും റോം നഗരം വിട്ട് പാലായനം ചെയ്തു. ഇവരെ തുരത്തിക്കോണ്ട് സീസറും പുറകെ പോയി. <ref>Suetonius, Julius 28</ref><ref>Plutarch, Caesar 32.8</ref><ref>Plutarch, Life of Pompey, 1. (Loeb) at Thayer: [1]:see also Velleius Paterculus, Roman History 2, 21. (Loeb) at Thayer: </ref> ====ഇറ്റലിയുടെ ഭരണം==== [[പോംപി|പോംപിയുമായി]] യുദ്ധം ചെയ്യാൻ പോയ പുറകെ പോയ വേളയിൽ റോമൻ റിപ്പബ്ലിക്കിന്റെ കേന്ദ്ര പ്രവിശ്യയായ ഇറ്റലിയുടെ ഭരണം സീസർ ആന്റണിയെയാണ് ഏൽപ്പിച്ചിരുന്നത്. ഗ്രീസിലെ ഫർസാലസ് എന്ന സ്ഥലത്ത് വച്ച് സീസർ പോംപിയുടെ സേനകളെ അസന്നിഗ്ദമായി തോൽപ്പിച്ചു. [[പോംപി]] ഈജിപ്റ്റിലേക്ക് ഓടി രക്ഷപ്പെട്ടു. സീസർ പുറകെ പോയെങ്കിലും ഇതിനിടെ പോംപി വധിക്കപ്പെട്ടു. വിജയശ്രീ ലാളിതനായി റോമിലേയ്ക്ക് മടങ്ങിയ സീസറെ സെനറ്റ് ഡിക്റ്റേറ്ററായി (latin : magistratus extraordinarius) അവരോധിച്ചു. റോമൻ റിപ്പബ്ലിക്കിൽ സർവ അധികാരങ്ങളുമുള്ള ഒരു പദവിയാണ് ഡിക്റ്റേറ്റർ. ആന്റണിയെ സീസർ തന്റെ പ്രധാന സഹായിയായി മാസ്റ്റർ ഒഫ് ഹോർസസ് (latin : Magister Equitum) എന്ന പദവിയിൽ നിയമിച്ചു. റിപ്പബ്ലിക്കിൽ ഡിക്റ്റേറ്റർ കഴിഞ്ഞാൽ രണ്ടാം സ്ഥാനമുള്ള പദവിയാണിത്. അങ്ങനെ എവിടെയെങ്കിലും യുദ്ധം നയിക്കാൻ സീസർ റോം വിട്ട് പോവുമ്പോൾ ഇറ്റലിയുടെ ഭരണം ഏറ്റെടുത്തിരുന്നത് ആന്റണിയായിരുന്നു. ഒരു മികച്ച സൈനിക നേതാവായിരുന്ന ആന്റണി പക്ഷെ രാജ്യഭരണത്തിൽ അത്രയും മിടുക്കില്ലായിരുന്നു. ആന്റണിക്ക് പറ്റിയ ഒരു പിഴവ് കാരണം റോമിൽ ഒരു കലാപമുണ്ടായി നൂറോളം പൗരന്മാർ മരണമടഞ്ഞു. ഇത് കാരണം സീസർ ആന്റണിയെ സർവ തസ്തികകളിൽ നിന്നും നീക്കം ചെയ്തു. ഇവർ രണ്ട് വർഷത്തോളം പരസ്പരം കണ്ടില്ല. പക്ഷെ ഈ അകൽച്ച അധിക കാലം നീണ്ടില്ല, 44 ബി സി യിൽ സീസർ കോൺസലായി തിരഞ്ഞെടുക്കപ്പെട്ടപ്പോൾ രണ്ടാമനായി വീണ്ടും ആന്റണിയെ നിയമിച്ചു. ഇടയ്ക്കിടയ്ക്ക് ഉണ്ടാവുന്ന ഉരസലുകൾക്കിടയിലും ആന്റണി സീസറിനോടുള്ള കൂറ് എന്നും നില നിർത്തി. സീസറിന്റെ അതിരുകവിഞ്ഞ രാഷ്ട്രീയ മേൽക്കോയ്മ റോമിലെ [[ഒപ്റ്റിമേറ്റ്]] കക്ഷിയിൽ പെട്ട ചിലരെ പരിഭ്രാന്തരാക്കി. സെനറ്റ് പിരിച്ച് വിട്ട് സീസർ രാജാവായി സ്വയം പ്രഖ്യാപിക്കുമെന്ന് അവർ ഭയന്നു. [[മാർക്കസ് യൂണിയസ് ബ്രൂട്ടസ്|ബ്രൂട്ടസ്]], കാസ്സിയസ്, കാസ്കാ എന്നിവരുടെ നേതൃത്വത്തിൽ ഒരു വിഭാഗം സീസറിനെ വധിക്കാനുള്ള ഗൂഢാലോചന തുടങ്ങി. ഈ ഗൂഢാലോചനക്കാരുടെ കൂട്ടത്തിലെ ട്രെബോണിയസ് എന്നോരാൾ ഇടയ്ക്ക് ആന്റണിയുടെ അഭിപ്രായമാരായാൻവേണ്ടി ഒരു തന്ത്രപരമായ സമീപനം നടത്തിയിരുന്നു. കാര്യം മനസ്സിലായ ആന്റണി ട്രെബോണിയസിന് യാതൊരു പ്രോൽസാഹനവും നൽകിയില്ല, പക്ഷെ ഈ സംഭാഷണത്തിന്റെ കാര്യം സീസറെ അറിയിച്ചതുമില്ല. 44 ബി സി മാർച്ച് പതിനഞ്ചാം തീയതി ഈ ഗൂഢാലോചനസംഘം സെനറ്റിന്റെ പോർട്ടിക്കോയിലിട്ട് സീസറെ കുത്തി കൊന്നു. <ref>Woolf Greg (2006), Et Tu Brute? – The Murder of Caesar and Political Assassination, 199 pages – ISBN 1-86197-741-7</ref> സീസറിന്റെ വധത്തിന് ശേഷം ഗൂഢാലോചനക്കാർ സീസറിന്റെ അനുയായികളെയെല്ലാം വധിക്കുമെന്ന് ഭയന്ന് ആന്റണി കുറച്ച് കാലം ഒളിവിൽ പോയി. ഭയപ്പെട്ട പോലെ ഒന്നും സംഭവിക്കാത്ത്പ്പോൾ ആന്റണി റോമിലേക്ക് മടങ്ങി. റോമിലെ സാധാരണക്കാരായ പ്ലീബിയൻ ജനതയുടെ ഇടയിൽ സീസറിന് നല്ല ജനസമ്മതിയുണ്ടായിരുന്നു, ഒരു പറ്റം ആഡ്യ റോമന്മാർ (patricians) സീസറിനെ വധിച്ചു എന്നറിഞ്ഞ് അവർ അതീവ ക്ഷുഭിതരായി. സീസറിന്റെ ശവസംസ്കാര ചടങ്ങിൽ പങ്കെടുത്ത ജനക്കൂട്ടം അക്രമാസക്തമായി നിയന്ത്രണം വിട്ട് ബ്രൂട്ടസിന്റെയും, കാസ്സിയസിന്റെയും ഗൃഹങ്ങളാക്രമിച്ചു. ബ്രൂട്ടസും മറ്റ് ഗൂഢാലോചനക്കാരും റോം വിട്ട് പാലായനം ചെയ്തു ബ്രൂട്ടസിന്റെ നിയന്ത്രണത്തിലുള്ള സിസാല്പീൻ ഗോൾ (Cisalpine Gaul) പ്രവിശ്യയിൽ അഭയം തേടി. ആന്റണിയും മറ്റ് സീസർ അനുയായികളും ജനവികാരം [[ഒപ്റ്റിമേറ്റ്|സീസറെ വധിച്ചവർക്കെതിരെ]] തിരിക്കാൻ പരമാവധി ശ്രമിച്ചു. സ്ഥിതിഗതികൾ കൂടുതൽ കൂടുതൽ വഷളായി അവസാനം ഒരു ആഭ്യന്തര കലഹത്തിൽ കലാശിച്ചു.<ref>Suetonius, Julius 83.2</ref> ====ത്രിമൂർത്തി സഖ്യം==== സീസറിന്റെ വില്പത്രപ്രകാരം അനന്തരാവകാശിയായത് സീസറിന്റെ പെങ്ങളുടെ മകളുടെ മകനായ ഒക്റ്റാവിയനായിരുന്നു. ഇത് ആന്റണിക്ക് തെല്ല് ഇച്ഛാഭംഗമുണ്ടാക്കിയിരുന്നു, എന്നാലും, ആന്റണി ഒൿറ്റാവിയനും, ലെപിഡസുമായി സഖ്യം ചേരാൻ തീരുമാനിച്ചു. ഇവർ മൂവരും കൂടി ഒരു ത്രിമൂർത്തി സഖ്യമുണ്ടാക്കി സെനറ്റിന്റെ നിയന്ത്രണം ഏറ്റെടുത്തു. സ്ഥാനമൊഴിയാനുള്ള സെനറ്റിന്റെ ആജ്ഞ ധിക്കരിച്ച് ബ്രൂട്ടസും കാസ്സിയസും ഒരു സേന സമാഹരിച്ച് റോമിനെതിരെ വന്നു. ത്രിമൂർത്തി സഖ്യം റോമൻ സേനയുമായി വിമതരെ നേരിടാൻ പുറപ്പെട്ടു. രണ്ട് സേനകളും കിഴക്കൻ മാസിഡോണിയയിലെ ഫിലിപ്പിയിൽ വച്ച് ഏറ്റ്മുട്ടി. ഫിലിപ്പിയിൽ വച്ച് സേനകൾ തമ്മിൽ രണ്ട് സംഘട്ടനങ്ങൾ നടന്നു. ആദ്യത്തെ സംഘട്ടനത്തിൽ (first battle of Philippi) ഒക്റ്റാവിയന്റെ സേന ബ്രൂട്ടസിനെ നേരിട്ടു, ആന്റണി കാസ്സിയസിന്റെ സേനയെ നേരിട്ടു. ഈ സംഘട്ടനത്തിൽ ആന്റണി കാസ്സിയസിനെ തോല്പിച്ചു, ബ്രൂട്ടസ് ഒക്റ്റാവിയന്റെ സേനയെ തുരത്തി. കാസ്സിയസ് ബ്രൂട്ടസിന്റെ സേനയും തോറ്റു എന്നൊരു തെറ്റായ വാർത്ത കേട്ടു നിരാശിതനായി ആത്മഹത്യ ചെയ്തു. രണ്ടാമത്തെ ഫിലിപ്പി സംഘട്ടനത്തിൽ (second battle of Philippi) ത്രിമൂർത്തി സഖ്യത്തിന്റെ സേന ബ്രൂട്ടസിന്റെ സേനയുടെ മേൽ നിർണ്ണായക വിജയം നേടി. പരാജയം മുന്നിൽ കണ്ട് ബ്രൂട്ടസ് ആത്മഹത്യ ചെയ്തു. <ref>Ronald Syme. The Roman revolution. Oxford 1939</ref><ref>Lawrence Keppie. The making of the Roman army. New York 1984</ref> ഇതിന് ശേഷം ത്രിമൂർത്തി സഖ്യം റോമൻ റിപ്പബ്ലിക്കിനു മേലുള്ള അവരുടെ അധികാരം ഉറപ്പിച്ചു. റോം നഗരവും, റോമൻ ഇറ്റലിയുടെയും ഭരണം ഒക്റ്റാവിയൻ ഏറ്റെടുത്തു. പടിഞ്ഞാറൻ പ്രവിശ്യകൾ ലെപിഡസിന്റെ ഭരണത്തിലും, കിഴക്കൻ പ്രവിശ്യകൾ ആന്റണിയുടെ കീഴിലുമായി. ത്രിമൂർത്തി സഖ്യത്തിന്റെ എതിരാളികൾക്കെതിരെ കർശന നടപടികളുണ്ടായി അനേകം പേരെ വധ ശിക്ഷയ്ക്ക് വിധിക്കയും അവരുടെ വസ്തുവകകൾ കണ്ടുകെട്ടുകയും ചെയ്തു. ===ആന്റണിയും ക്ലിയോപാട്രയും=== സീസറിന്റെ പഴയ കാമുകിയായ ക്ലിയോപാട്രയെ ആന്റണി ഇപ്പോഴത്തെ തുർക്കിയിലുള്ള റ്റാർസസ് എന്ന പട്ടണത്തിലേക്ക് വിളിച്ച് വരുത്തി. അവിടെ വച്ച് അവർ തമ്മിൽ സഖ്യത്തിലായി. ക്ലിയോപാട്ര ആന്റണിയുടെ കാമുകിയായി. [[ക്ലിയോപാട്ര]] അലക്സാൻഡ്രിയയിലോട്ട് മടങ്ങിയപ്പോൾ ആന്റണിയും കൂടെപ്പോയി. 41 ബി സി യിലെ ശിശിരകാലം ആന്റണി ക്ലിയോപാട്രയോടൊപ്പം ഈജിപ്റ്റിൽ ചിലവഴിച്ചു. 40 ബി സി യിൽ ഒക്റ്റാവിയനും ആന്റണിയുടെ ഭാര്യ ഫുൾവിയായും തമ്മിലുള്ള ചില രാഷ്ട്രീയ പ്രശ്നങ്ങൾ കാരണം ആന്റണിക്ക് റോമിലേക്ക് മടങ്ങേണ്ടി വന്നു. ഇതിനിടെ ഫുൾവിയായെ ഒക്റ്റാവിയൻ ഗ്രീസിലെ സിക്യോണിലേക്ക് (Sicyon) നാടുകടത്താൻ ആജ്ഞാപിച്ചിരുന്നു. അങ്ങോട്ടുള്ള യാത്രാ മധ്യെ ഫുൾവിയ മരണമടഞ്ഞു. റോമിലെത്തിയ ആന്റണി ഒക്റ്റാവിയനുമായി സന്ധി ചെയ്തു, 40 ബി. സി. യിൽ ഒക്റ്റാവിയന്റെ സഹോദരി ഒക്റ്റാവിയയെ കല്യാണം കഴിച്ചു. 42 ബി സി യിൽ നടന്ന ഫിലിപ്പിയിലെ ആഭ്യന്തര യുദ്ധത്തിൽ ബ്രൂട്ടസിനെയും കാസ്സിയസിനെയും പിന്തുണച്ച [[പാർത്തിയൻ സാമ്രാജ്യം]] പക്കോറസ് ഒന്നാമന്റെ കീഴിൽ 40 ബി സി യിൽ റോമൻ പ്രവിശ്യയായ സിറിയയും പിന്നീട് [[ഏഷ്യാമൈനർ]] മുഴുവനും പിടിച്ചടക്കി, ജുഡിയയുടെ രാജാവായി ആന്റിഗോണസിനെ സ്ഥാപിച്ചു. പക്കോറസിനെ നേരിടാൻ ആന്റണി തന്റെ സേനാ നായകനായ പുബ്ലിയസ് വെന്റിഡിയസിനെ അയച്ചു. വെന്റിഡിയസ് പാർത്തിയൻ സേനയെ ഏഷ്യാ മൈനറിൽ നിന്ന് തുരത്തി. യുദ്ധത്തിൽ പക്കോറസ് കൊല്ലപ്പെട്ടു. ഈ ആക്രമണത്തിനു പ്രതികാരമെന്നോണം ആന്റണി [[പാർത്തിയൻ സാമ്രാജ്യം]] ആക്രമിക്കാൻ പദ്ധതിയിട്ടു. ഇതിന് ഒക്റ്റാവിയൻ വാഗ്ദാനം ചെയ്ത സേന പല പ്രശ്നങ്ങൾ കാരണം [[ഇറ്റലി|ഇറ്റലിയിൽ]] തന്നെ നിന്നു പോയി. ഒടുവിൽ തന്റെ പാർത്തിയൻ പദ്ധതിയിൽ ഒക്റ്റാവിയന്റെ പിന്തുണയിൽ സംശയം തോന്നിത്തുടങ്ങിയ ആന്റണി അലക്സാൻഡ്രിയയിൽ ചെന്ന് [[ക്ലിയോപാട്ര|ക്ലിയോപാട്രയുടെ]] സഹായം തേടി. സേന സംഘടിപ്പിക്കാനുള്ള പണം [[ക്ലിയോപാട്ര]] നൽകി. ഒരു ലക്ഷം വരുന്ന സേനയുമായി ആന്റണി ജെറുസലേം പിടിച്ചടക്കി ഹെറോദിനെ ജുഡിയയിലെ രാജാവാക്കി. പിന്നീട് ആന്റണി പാർത്തിയയെ ആക്രമിച്ചു. ഈ ആക്രമണം വൻ പരാജയമായിരുന്നു, സേനയുടെ കാൽ ഭാഗവും നഷ്ടപ്പെട്ട് ആന്റണിക്ക് പാർത്തിയയിൽ നിന്ന് പിൻവാങ്ങേണ്ടി വന്നു. ഇതിനിടെ റോമിൽ ത്രിമൂർത്തി ഭരണകൂടം ഇല്ലാതായി. ഒക്റ്റാവിയൻ ലെപിഡസിനെ രാജി വയ്പ്പിച്ചു ഏതാണ്ട് ഏകാധിപതിയായി ഭരിച്ചു തുടങ്ങി. ഒക്റ്റാവിയൻ ബ്രൂട്ടസിന്റെയും , കാസ്സിയസിന്റെയും ശക്തി കേന്ദ്രങ്ങളായിരുന്ന കുലീന റോമാക്കാരെ (patricians) പ്രീണിപ്പിച്ചു തന്റെ വശത്താക്കാനുള്ള ശ്രമങ്ങൾ തുടങ്ങി. അലക്സാൻഡ്രിയയിൽ കഴിയുന്ന ആന്റണിയെ ഒക്റ്റാവിയൻ പരസ്യമായി വിമർശിക്കാനും തുടങ്ങി. ഭാര്യയെ റോമിൽ ഉപേക്ഷിച്ചു ക്ലിയോപാട്രയോടൊപ്പം കഴിയുന്നു. റോമൻ രീതികൾ ഉപേക്ഷിച്ച് ഒരു ഈജിപ്ഷ്യനെപ്പോലെ ജീവിക്കുന്നു എന്നൊക്കെയായിരുന്നു ഈ ആരോപണങ്ങൾ. പലതവണ ആരോപണങ്ങൾക്ക് മറുപടി പറയാൻ ആന്റണിയെ റോമിലേക്ക് വിളിപ്പിച്ചു, പക്ഷെ ആന്റണി പോയില്ല. വീണ്ടും ഈജിപ്ഷ്യൻ പണവുമായി സേന സമാഹരിച്ച് ആന്റനി അർമേനിയ ആക്രമിച്ചു. ഈ ആക്രമണം വിജയിച്ചു, അതിനു ശേഷം അലക്സാൻഡ്രിയയിൽ നടന്ന വിജയാഘോഷ ചടങ്ങിൽ വച്ച് ആന്റണി ഒക്റ്റാവിയനുമായുള്ള സഖ്യം അവസാനിച്ചു എന്ന് പ്രഖ്യാപിച്ചു. ആന്റണിയുടെ നിയന്ത്രണത്തിലുള്ള പ്രദേശങ്ങൾ അദ്ദേഹം മക്കൾക്കായി വീതിച്ചു കൊടുക്കുന്ന പ്രഖ്യാപനവും നടത്തി. ഇതിന്റെ കൂട്ടത്തിൽ [[ക്ലിയോപാട്ര|ക്ലിയോപാട്രയിൽ]] സീസറിന് ജനിച്ച കൈസാരിയൊണെ (Caesarion) സീസറിന്റെ അനന്തരാവകാശിയും [[ക്ലിയോപാട്ര|ക്ലിയോപാട്രക്കോപ്പം]] ഈജിപ്റ്റിന്റെ രാജാവായും പ്രഖ്യാപിച്ചു. ഇത് ഒക്റ്റാവിയന് ഒട്ടും സ്വീകാര്യമായിരുന്നില്ല, സീസറിന്റെ അനന്തരാവകാശി എന്നതായിരുന്നു ഒക്റ്റാവിയന്റെ സർവ അധികാരങ്ങളുടെയും സ്രോതസ്സ്, ആന്റണിയുടെ ഈ പ്രഖ്യാപനം ഒരു വലിയ ഭീഷണിയായി ഒക്റ്റാവിയൻ കണ്ടു. 33 ബി സി യിൽ ത്രിമൂർത്തി ഭരണകൂടത്തിന്റെ രണ്ടാമത്തെ അഞ്ച് വർഷ കാലാവധി അവസാനിച്ചു. സെനറ്റ് പിന്നീടത് പുതുക്കിയില്ല. രണ്ട് വശത്തു നിന്നും ആരോപണങ്ങൾ ഒഴുകി. അലക്സാൻഡ്രിയയിൽ നിന്ന് ആന്റണി ഒക്റ്റാവിയന്റെ പെങ്ങൾ ഒക്റ്റാവിയയിൽ നിന്നുള്ള വിവാഹമോചനം അറിയിച്ചു. ഒക്റ്റാവിയൻ നിയമവിരുദ്ധമായി അധികാരം കൈയടക്കിയെന്നും ആ ഭരണത്തിന് യാതൊരു നിയമ സാധുതയും ഇല്ലെന്ന് ആന്റണി പ്രഖ്യാപിച്ചു. മറുപടിയായി ഒക്റ്റാവിയൻ ആന്റണിയുടെ മേൽ രാജ്യദ്രോഹ കുറ്റം ചുമത്തി. പ്രവിശ്യകളുടെ ഭരണം നിയമവിരുദ്ധമായി കൈയടക്കി വയ്ക്കുക, സെനറ്റിന്റെ അനുവാദമില്ലാതെ അന്യ രാജ്യങ്ങളെ ആക്രമിക്കുക എന്നിവയായിരുന്നു ആന്റണിയുടെ മേൽ ചുമത്തപ്പെട്ട കുറ്റങ്ങൾ. 32 ബി സി യിൽ സെനറ്റ് ആന്റണിയെ സർവ അധികാരങ്ങളിൽ നിന്നും നീക്കി ഈജിപ്റ്റിനെതിരെ യുദ്ധം പ്രഖ്യാപിച്ചു. 31 ബി സി യിൽ റോമും ഈജിപ്റ്റും തമ്മിലുള്ള യുദ്ധം തുടങ്ങി. യുദ്ധം നയിച്ചത് ഒക്റ്റാവിയന്റെ പ്രധാന സേനാനായകൻ മാർക്കസ് അഗ്രിപ്പയായിരുന്നു. യുദ്ധത്തിൽ ഒക്റ്റാവിയന്റെ സേന നിർണായകമായ വിജയങ്ങൾ നേടി ഈജിപ്റ്റിൽ പ്രവേശിച്ചു. അന്ത്യം മുന്നിൽ കണ്ട ആന്റണി ആത്മഹത്യ ചെയ്തു. കുറച്ച് ദിവസങ്ങൾ കഴിഞ്ഞ് ക്ലിയോപാട്രയും ആത്മഹത്യ ചെയ്തു. കൈസാരിയൊണെയും (Caesarion), ആന്റണിയുടെ മൂത്ത മകൻ ( മൂന്നാൻ ഭാര്യ ഫുൾവിയയുടെ മകൻ) മാർക്കസ് അന്റോണിയസ് ആന്റില്ലസിനെയും ഒക്റ്റാവിയൻ വധ ശിക്ഷയ്ക്ക് വിധിച്ചു. ആന്റണിയുടെ മറ്റുള്ള മക്കളെ (ക്ലിയോപാട്രയിൽ ജനിച്ച മക്കൾ ഉൾപ്പെടെ) ഒക്റ്റാവിയൻ വെറുതെ വിട്ടു. വിജയശ്രീ ലാളിതരായി റോമിലേക്ക് മടങ്ങിയ ഒക്റ്റാവിയനെയും, മാർക്കസ് അഗ്രിപ്പയെയും സെനറ്റ് കോൺസൾ പദവിയിലോട്ടുയർത്തി. <ref>Gruen (2005)</ref> ==ചരിത്ര പ്രസക്തി== ആന്റണിയുടെ മരണത്തോടെ ഒക്റ്റാവിയൻ റോമിന്റെ അനിഷേധ്യ നേതാവായി. 27 ബി സി യിൽ ഒക്റ്റാവിയൻ റോമൻ സാമ്രാജ്യത്തിന്റെ ചക്രവർത്തിയായി. മനഃപൂർവമല്ലെങ്കിലും ആന്റണിയുടെ പ്രവ്ർത്തികൾ റോമൻ റിപ്പബ്ലിക്കിന്റെ അന്ത്യത്തിന് ഒരു കാരണമായി. പക്ഷെ ഒക്റ്റാവിയയിൽ ആന്റണിക്ക് ജനിച്ച മക്കൾ വഴി അദ്ദേഹം പിന്നീട് വന്ന റോമൻ ചക്രവർത്തിമാരായ കലിഗുള, നീറോ എന്നിവരുടെ പിതാമഹനായി. ===അവലംബം=== {{reflist}} [[വർഗ്ഗം:റോം]] [[വർഗ്ഗം:റോമാ സാമ്രാജ്യം]] [[വർഗ്ഗം:റോമിന്റെ ചരിത്രം]] [[വർഗ്ഗം:ബി.സി. 83-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ബി.സി. 30-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:പ്രാചീന റോം]] [[വർഗ്ഗം:റോമിൽ നിന്നുള്ളവർ]] [[വർഗ്ഗം:ജൂലിയസ് സീസർ]] ifdid4farqkzs1llj2k7t52zbe3fpzv വീണാ ജോർജ്ജ് 0 235444 4621553 4619963 2026-05-22T13:16:38Z GV2010 217548 /* */ 4621553 wikitext text/x-wiki {{prettyurl|Veena George}} {{Infobox officeholder | name = വീണാ ജോർജ്ജ് | image = Veena George.jpg | caption = | office = കേരളത്തിൻ്റെ ആരോഗ്യ-വനിത ശിശു വികസന വകുപ്പ് മന്ത്രി | constituency = [[ആറന്മുള നിയമസഭാമണ്ഡലം|ആറന്മുള]] | term_start = [[23 മേയ് ]] [[2021]] | term_end = [[18]] [[മെയ് ]] [[ 2026]] | 1blankname = [[മന്ത്രിസഭ]] | 1namedata = [[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ]] | predecessor = [[കെ.കെ. ശൈലജ ]] | successor = [[ബിന്ദു കൃഷ്ണ]] (വനിത-ശിശുക്ഷേമം) [[കെ. മുരളീധരൻ]] (ആരോഗ്യം) | office1 = [[കേരള നിയമസഭ|കേരളനിയമസഭയിലെ]] അംഗം | constituency1 = [[ആറന്മുള നിയമസഭാമണ്ഡലം|ആറന്മുള]] | term_start1 = [[മേയ് 21]] [[2016]] | term_end1 = [[06 മെയ്]] [[2026]] | predecessor1 = [[കെ. ശിവദാസൻ നായർ]] | successor1 = [[അബിൻ വർക്കി]] | salary = | birth_date = {{birth date and age|1976|8|3|df=y}} | birth_place = [[തിരുവനന്തപുരം]] | residence = [[മൈലപ്പാറ]] | death_date = | death_place = | party = [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം.]] | religion = | father = പി.ഇ. കുര്യാക്കോസ് | mother = റോസമ്മ കുര്യാക്കോസ് | spouse = ജോർജ് ജോസഫ് | children = ഒരു മകൾ ഒരു മകൻ | website = | footnotes = | date = സെപ്റ്റംബർ 8 | year = 2020 | source = http://niyamasabha.org/codes/14kla/Members-Eng/136%20Veena%20George.pdf നിയമസഭ | 1blankname = മുഖ്യമന്ത്രി | 1namedata = [[പിണറായി വിജയൻ]] }} പതിനാല്, പതിനഞ്ച് [[കേരള നിയമസഭ|നിയമസഭകളിലെ]] അംഗവും രണ്ടാം പിണറായി സർക്കാറിലെ ആരോഗ്യം, വനിത, ശിശു വികസന വകുപ്പ് എന്നീ വകുപ്പുകളുടെ ചുമതലയുള്ള മന്ത്രിയുമാണ് '''വീണ ജോർജ്ജ്'''. കേരളത്തിൽ ഒരു വാർത്താ ചാനലിന്റെ എക്സിക്യൂട്ടീവ് എഡിറ്ററാകുന്ന ആദ്യ വനിതയാണ് വീണ. കൊച്ചിൻ ചേമ്പർ ഓഫ് കൊമേഴ്സിന്റെ ഉമടസ്ഥതയിൽ തുടങ്ങിയ [[ടിവി ന്യൂ]] എന്ന ചാനലിലൂടെയാണ്, വീണ ഈ സ്ഥാനത്തെത്തുന്നത്. കൈരളി ചാനലിലൂടെയാണ് വീണ ടെലിവിഷൻ ജേർണലിസം ആരംഭിച്ചത്. തുടർന്ന് [[ഇന്ത്യാവിഷൻ]] ചാനലിന്റെ ഡെപ്യൂട്ടി ന്യൂസ് എഡിറ്റർ വരെയായി ഉയർന്നു. [[റിപ്പോർട്ടർ ടിവി]] തുടങ്ങിയപ്പോൾ മുതൽ അവിടെയും വാർത്താവതാരകയായി വീണ ഉണ്ടായിരുന്നു. അവിടെ നിന്നു മനോരമ ന്യൂസിലേക്കു ചുവടുമാറ്റിയ വീണ ടിവി ന്യൂ തുടങ്ങിയപ്പോൾ അതിന്റെ അമരക്കാരിയായി എത്തുകയായിരുന്നു. 2016, 2021 വർഷങ്ങളിലെ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ പത്തനംതിട്ട ജില്ലയിലെ ആറന്മുള മണ്ഡലത്തിൽ നിന്ന് ഇടതുപക്ഷ ജനാധിപത്യമുന്നണി സ്ഥാനാർത്ഥിയായി സിപിഐ(എം) പാനലിൽ മത്സരിച്ചു വിജയിച്ചു. ==ജീവിതരേഖ== 1976 ആഗസ്റ്റ് 03-ന് കേരളത്തിലെ തിരുവനന്തപുരത്ത് അഡ്വ. പി. ഇ. കുര്യാക്കോസിന്റെയും റോസമ്മ കുര്യാക്കോസിന്റെയും മകളായാണ് വീണ ജോർജ്ജ് ജനിച്ചത്. പത്തനംതിട്ടയിലെ മൗണ്ട് ബെഥാനി ഹൈസ്കൂളിൽ നിന്ന് സ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കി. തിരുവനന്തപുരം ഗവൺമെന്റ് വിമൻസ് കോളേജിൽ നിന്ന് ഫിസിക്സിൽ ബി.എസ്‌സി ബിരുദവും, ബിരുദാനന്തര ബിരുദവും (എം.എസ്‌.സി.) നേടിയ ശേഷം കേരള സർവകലാശാലയുടെ റാങ്ക് ഹോൾഡറായി ബി.എഡ്. പൂർത്തിയാക്കി.. [[കൈരളി ടി.വി.]],[[മനോരമ ന്യൂസ്]] ചാനലുകളിൽ വാർത്ത അവതാരകയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.mangalam.com/women/interview/36169{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> പത്രപ്രവർത്തനം തന്റെ കരിയറായി തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ്, പത്തനംതിട്ട കാതോലിക്കേറ്റ് കോളേജിൽ ഒരു വർഷം ഭൗതികശാസ്ത്രം അദ്ധ്യാപികയായി ജോലി ചെയ്തു. കൈരളി ടിവിയിൽ ജേണലിസ്റ്റ് ട്രെയിനിയായി ചേർന്ന അവർ പ്രമുഖ മലയാള വാർത്താ ചാനലുകളിൽ 16 വർഷം നീണ്ട വിജയകരമായ കരിയർ നയിച്ചു. 2015 ൽ മലയാളം വാർത്താ ചാനലായ ടിവി ന്യൂവിന്റെ എക്സിക്യൂട്ടീവ് എഡിറ്ററായി ചുമതലയേറ്റ അവർ അങ്ങനെ ചെയ്യുന്ന ആദ്യ വനിതയായി മാറുകയും ചെയ്തു.<ref>{{Cite web|url=https://www.thenewsminute.com/article/veena-george-first-woman-executive-editor-history-malayalam-tv-news%3famp|title=Veena George, the first woman Executive Editor in the history of Malayalam TV news|access-date=2021-05-22|website=The News Minute}}{{Dead link|date=July 2025|bot=InternetArchiveBot|fix-attempted=yes}}</ref> ഹയർ സെക്കൻഡറി സ്കൂൾ അധ്യാപകനായ ഡോ. ജോർജ് ജോസഫിനെയാണ് അവർ വിവാഹം കഴിച്ചിരിക്കുന്നത്.<ref>{{Cite web|url=https://www.thenewsminute.com/article/veena-george-first-woman-executive-editor-history-malayalam-tv-news%3famp|title=Veena George, the first woman Executive Editor in the history of Malayalam TV news|access-date=2021-05-22|website=The News Minute}}{{Dead link|date=July 2025|bot=InternetArchiveBot|fix-attempted=yes}}</ref> ==പുരസ്കാരം== മികച്ച വാർത്താ അവതാരകയ്ക്കുള്ള ജേസി ഫൗണ്ടേഷൻ അവാർഡ്<ref>http://www.indiavisiontv.com/2012/08/06/99742.html</ref>{{deadlink}} 2011-ലെ മികച്ച ടെലിവിഷൻ അവതരണത്തിനുള്ള പുരസ്‌കാരം<ref>{{Cite web |url=http://www.indiavisiontv.com/2012/06/13/84123.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-03-06 |archive-date=2012-06-29 |archive-url=https://web.archive.org/web/20120629121421/http://www.indiavisiontv.com/2012/06/13/84123.html |url-status=dead }}</ref> ഏഷ്യവിഷൻ വാർത്താ വിശകലനത്തിനുള്ള പുരസ്‌കാരം<ref>{{Cite web |url=http://www.indiavisiontv.com/2012/06/13/84061.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-03-06 |archive-date=2012-06-29 |archive-url=https://web.archive.org/web/20120629120420/http://www.indiavisiontv.com/2012/06/13/84061.html |url-status=dead }}</ref> മികച്ച വാർത്താ അവതരണത്തിനുള്ള "2010-ലെ സംസ്ഥാന ടെലിവിഷൻ അവാർഡ്<ref>{{Cite web |url=http://www.indiavisiontv.com/2012/04/18/62867.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-03-06 |archive-date=2012-06-15 |archive-url=https://web.archive.org/web/20120615135841/http://www.indiavisiontv.com/2012/04/18/62867.html |url-status=dead }}</ref> നീലേശ്വരം സുരേന്ദ്രൻ സ്മാരക പുരസ്‌ക്കാരം<ref>http://www.kvartha.com/2011/11/veena-bagged-surendran-remembrance.html </ref> ഇന്ത്യ പ്രസ് ക്ലബ് ഓഫ് നോർത്ത് അമേരിക്ക മികച്ച വാർത്താവതാരക.<ref>http://www.varthamanam.com/index.php/news4/29013-2013-01-02-17-08-55{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ==അവലംബം== <references/> {{Fourteenth KLA}} {{Bio-stub}} [[വർഗ്ഗം:1976-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ഓഗസ്റ്റ് 3-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:മലയാള ദൃശ്യമാദ്ധ്യമ പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ പത്രപ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ.എം. പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആരോഗ്യവകുപ്പ് മന്ത്രിമാർ]] tc33q8q50oenvo37n9nvuqlch474z03 4621555 4621553 2026-05-22T13:17:07Z GV2010 217548 /* */ 4621555 wikitext text/x-wiki {{prettyurl|Veena George}} {{Infobox officeholder | name = വീണാ ജോർജ്ജ് | image = Veena George.jpg | caption = | office = കേരളത്തിൻ്റെ ആരോഗ്യ-വനിത ശിശു വികസന വകുപ്പ് മന്ത്രി | constituency = [[ആറന്മുള നിയമസഭാമണ്ഡലം|ആറന്മുള]] | term_start = [[23 മേയ് ]] [[2021]] | term_end = [[18]] [[മെയ് ]] [[ 2026]] | 1blankname = [[മന്ത്രിസഭ]] | 1namedata = [[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ]] | predecessor = [[കെ.കെ. ശൈലജ ]] | successor = [[ബിന്ദു കൃഷ്ണ]] (വനിത-ശിശുക്ഷേമം) [[കെ. മുരളീധരൻ]] (ആരോഗ്യം) | office1 = [[കേരള നിയമസഭ|കേരളനിയമസഭയിലെ]] അംഗം | constituency1 = [[ആറന്മുള നിയമസഭാമണ്ഡലം|ആറന്മുള]] | term_start1 = [[മേയ് 21]] [[2016]] | term_end1 = [[06 മെയ്]] [[2026]] | predecessor1 = [[കെ. ശിവദാസൻ നായർ]] | successor1 = [[അബിൻ വർക്കി]] | salary = | birth_date = {{birth date and age|1976|8|3|df=y}} | birth_place = [[തിരുവനന്തപുരം]] | residence = [[മൈലപ്പാറ]] | death_date = | death_place = | party = [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സി.പി.എം.]] | religion = | father = പി.ഇ. കുര്യാക്കോസ് | mother = റോസമ്മ കുര്യാക്കോസ് | spouse = ജോർജ് ജോസഫ് | children = ഒരു മകൾ ഒരു മകൻ | website = | footnotes = | date = സെപ്റ്റംബർ 8 | year = 2020 | source = http://niyamasabha.org/codes/14kla/Members-Eng/136%20Veena%20George.pdf നിയമസഭ }} പതിനാല്, പതിനഞ്ച് [[കേരള നിയമസഭ|നിയമസഭകളിലെ]] അംഗവും രണ്ടാം പിണറായി സർക്കാറിലെ ആരോഗ്യം, വനിത, ശിശു വികസന വകുപ്പ് എന്നീ വകുപ്പുകളുടെ ചുമതലയുള്ള മന്ത്രിയുമാണ് '''വീണ ജോർജ്ജ്'''. കേരളത്തിൽ ഒരു വാർത്താ ചാനലിന്റെ എക്സിക്യൂട്ടീവ് എഡിറ്ററാകുന്ന ആദ്യ വനിതയാണ് വീണ. കൊച്ചിൻ ചേമ്പർ ഓഫ് കൊമേഴ്സിന്റെ ഉമടസ്ഥതയിൽ തുടങ്ങിയ [[ടിവി ന്യൂ]] എന്ന ചാനലിലൂടെയാണ്, വീണ ഈ സ്ഥാനത്തെത്തുന്നത്. കൈരളി ചാനലിലൂടെയാണ് വീണ ടെലിവിഷൻ ജേർണലിസം ആരംഭിച്ചത്. തുടർന്ന് [[ഇന്ത്യാവിഷൻ]] ചാനലിന്റെ ഡെപ്യൂട്ടി ന്യൂസ് എഡിറ്റർ വരെയായി ഉയർന്നു. [[റിപ്പോർട്ടർ ടിവി]] തുടങ്ങിയപ്പോൾ മുതൽ അവിടെയും വാർത്താവതാരകയായി വീണ ഉണ്ടായിരുന്നു. അവിടെ നിന്നു മനോരമ ന്യൂസിലേക്കു ചുവടുമാറ്റിയ വീണ ടിവി ന്യൂ തുടങ്ങിയപ്പോൾ അതിന്റെ അമരക്കാരിയായി എത്തുകയായിരുന്നു. 2016, 2021 വർഷങ്ങളിലെ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ പത്തനംതിട്ട ജില്ലയിലെ ആറന്മുള മണ്ഡലത്തിൽ നിന്ന് ഇടതുപക്ഷ ജനാധിപത്യമുന്നണി സ്ഥാനാർത്ഥിയായി സിപിഐ(എം) പാനലിൽ മത്സരിച്ചു വിജയിച്ചു. ==ജീവിതരേഖ== 1976 ആഗസ്റ്റ് 03-ന് കേരളത്തിലെ തിരുവനന്തപുരത്ത് അഡ്വ. പി. ഇ. കുര്യാക്കോസിന്റെയും റോസമ്മ കുര്യാക്കോസിന്റെയും മകളായാണ് വീണ ജോർജ്ജ് ജനിച്ചത്. പത്തനംതിട്ടയിലെ മൗണ്ട് ബെഥാനി ഹൈസ്കൂളിൽ നിന്ന് സ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കി. തിരുവനന്തപുരം ഗവൺമെന്റ് വിമൻസ് കോളേജിൽ നിന്ന് ഫിസിക്സിൽ ബി.എസ്‌സി ബിരുദവും, ബിരുദാനന്തര ബിരുദവും (എം.എസ്‌.സി.) നേടിയ ശേഷം കേരള സർവകലാശാലയുടെ റാങ്ക് ഹോൾഡറായി ബി.എഡ്. പൂർത്തിയാക്കി.. [[കൈരളി ടി.വി.]],[[മനോരമ ന്യൂസ്]] ചാനലുകളിൽ വാർത്ത അവതാരകയായി പ്രവർത്തിച്ചിട്ടുണ്ട്.<ref>http://www.mangalam.com/women/interview/36169{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> പത്രപ്രവർത്തനം തന്റെ കരിയറായി തിരഞ്ഞെടുക്കുന്നതിന് മുമ്പ്, പത്തനംതിട്ട കാതോലിക്കേറ്റ് കോളേജിൽ ഒരു വർഷം ഭൗതികശാസ്ത്രം അദ്ധ്യാപികയായി ജോലി ചെയ്തു. കൈരളി ടിവിയിൽ ജേണലിസ്റ്റ് ട്രെയിനിയായി ചേർന്ന അവർ പ്രമുഖ മലയാള വാർത്താ ചാനലുകളിൽ 16 വർഷം നീണ്ട വിജയകരമായ കരിയർ നയിച്ചു. 2015 ൽ മലയാളം വാർത്താ ചാനലായ ടിവി ന്യൂവിന്റെ എക്സിക്യൂട്ടീവ് എഡിറ്ററായി ചുമതലയേറ്റ അവർ അങ്ങനെ ചെയ്യുന്ന ആദ്യ വനിതയായി മാറുകയും ചെയ്തു.<ref>{{Cite web|url=https://www.thenewsminute.com/article/veena-george-first-woman-executive-editor-history-malayalam-tv-news%3famp|title=Veena George, the first woman Executive Editor in the history of Malayalam TV news|access-date=2021-05-22|website=The News Minute}}{{Dead link|date=July 2025|bot=InternetArchiveBot|fix-attempted=yes}}</ref> ഹയർ സെക്കൻഡറി സ്കൂൾ അധ്യാപകനായ ഡോ. ജോർജ് ജോസഫിനെയാണ് അവർ വിവാഹം കഴിച്ചിരിക്കുന്നത്.<ref>{{Cite web|url=https://www.thenewsminute.com/article/veena-george-first-woman-executive-editor-history-malayalam-tv-news%3famp|title=Veena George, the first woman Executive Editor in the history of Malayalam TV news|access-date=2021-05-22|website=The News Minute}}{{Dead link|date=July 2025|bot=InternetArchiveBot|fix-attempted=yes}}</ref> ==പുരസ്കാരം== മികച്ച വാർത്താ അവതാരകയ്ക്കുള്ള ജേസി ഫൗണ്ടേഷൻ അവാർഡ്<ref>http://www.indiavisiontv.com/2012/08/06/99742.html</ref>{{deadlink}} 2011-ലെ മികച്ച ടെലിവിഷൻ അവതരണത്തിനുള്ള പുരസ്‌കാരം<ref>{{Cite web |url=http://www.indiavisiontv.com/2012/06/13/84123.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-03-06 |archive-date=2012-06-29 |archive-url=https://web.archive.org/web/20120629121421/http://www.indiavisiontv.com/2012/06/13/84123.html |url-status=dead }}</ref> ഏഷ്യവിഷൻ വാർത്താ വിശകലനത്തിനുള്ള പുരസ്‌കാരം<ref>{{Cite web |url=http://www.indiavisiontv.com/2012/06/13/84061.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-03-06 |archive-date=2012-06-29 |archive-url=https://web.archive.org/web/20120629120420/http://www.indiavisiontv.com/2012/06/13/84061.html |url-status=dead }}</ref> മികച്ച വാർത്താ അവതരണത്തിനുള്ള "2010-ലെ സംസ്ഥാന ടെലിവിഷൻ അവാർഡ്<ref>{{Cite web |url=http://www.indiavisiontv.com/2012/04/18/62867.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2013-03-06 |archive-date=2012-06-15 |archive-url=https://web.archive.org/web/20120615135841/http://www.indiavisiontv.com/2012/04/18/62867.html |url-status=dead }}</ref> നീലേശ്വരം സുരേന്ദ്രൻ സ്മാരക പുരസ്‌ക്കാരം<ref>http://www.kvartha.com/2011/11/veena-bagged-surendran-remembrance.html </ref> ഇന്ത്യ പ്രസ് ക്ലബ് ഓഫ് നോർത്ത് അമേരിക്ക മികച്ച വാർത്താവതാരക.<ref>http://www.varthamanam.com/index.php/news4/29013-2013-01-02-17-08-55{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ==അവലംബം== <references/> {{Fourteenth KLA}} {{Bio-stub}} [[വർഗ്ഗം:1976-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ഓഗസ്റ്റ് 3-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:മലയാള ദൃശ്യമാദ്ധ്യമ പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ പത്രപ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ.എം. പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ആരോഗ്യവകുപ്പ് മന്ത്രിമാർ]] 51kuvdc4mys3gjin0okpgmudx4shnew വീഡ്രിഫ്റ്റ് 0 251406 4622187 4525837 2026-05-23T08:35:32Z InternetArchiveBot 146798 Rescuing 0 sources and tagging 1 as dead.) #IABot (v2.0.9.5 4622187 wikitext text/x-wiki {{prettyurl|VDrift}} {{Infobox video game | title= വീഡ്രിഫ്റ്റ് |image=[[File:Vdrift-logo.png|255px]] | caption= | developer= ജോ വെൻസൺ, ക്രിസ് ഗുയിൾ, ഡിക്ക് മോറർ, മാത്യൂ നിക്കോൾസൺ | version= | platforms= [[ലിനക്സ്]], [[ഫ്രീബിഎസ്ഡി]], [[മാക് ഓഎസ് ടെൻ]], [[വിൻഡോസ്]] | released= മാർച്ച് 29, 2005 | genre= [[Racing simulator|റേസിംഗ്]] | modes= [[Single player|സിംഗിൾ]], [[Multiplayer|മൾട്ടിപ്ലെയർ]] | media= [[Online Distribution|ഡൗൺലോഡ്]] | requirements= | cpu= | sound= | display= | latest release version= | latest release date=ജൂലൈ 22, 2012 }} ഒരു [[ഓപ്പൺ സോഴ്സ് സോഫ്റ്റ്‌വെയർ|ഓപ്പൺ സോഴ്സ്]] [[റേസിംഗ് സിമുലേഷൻ]] ഗെയിമാണ് '''വീഡ്രിഫ്റ്റ്''' ('''VDrift'''). വീഡ്രിഫ്റ്റിന്റ ഡ്രൈവിംഗ് ഭൗതികശാസ്ത്ര യന്ത്രം പുതുതായി തയ്യാറാക്കപ്പെട്ടതാണ്. വാമോസ് ഭൗതികശാസ്ത്ര യന്ത്രത്തിൽ നിന്നും പ്രചോചനം ഉൾക്കൊണ്ടാണീ യന്ത്രം തയ്യാറാക്കപ്പെട്ടത്. [[ഗ്നു ജിപിഎൽ]] അനുമതിപത്രത്തിൻ കീഴിൽ പ്രസിദ്ധീകരിക്കപ്പെട്ട ഈ ഗെയിം [[ലിനക്സ്]], [[വിൻഡോസ്]], [[മാക്]], [[ഫ്രീബിഎസ്ഡി|ബിഎസ്ഡി]] പ്ലാറ്റ്ഫോമുകളിൽ ലഭ്യമാണ്. == സവിശേഷകതൾ == * യഥാർത്ഥ റേസിംഗ് ട്രാക്കുകളെ അനുകരിച്ച് തയ്യാറാക്കപ്പെട്ട 45 ട്രാക്കുകൾ. * യഥാർത്ഥ കാറുകളെ അവലംബിച്ച് നിർമ്മിച്ചിരിക്കുന്ന 39 കാറുകൾ. * യാഥാർത്ഥ്യത്തോട് അടുത്തു നിൽക്കുന്ന ഭൗതികശാസ്ത്ര യന്ത്രത്തിന്റെ ഉപയോഗം. * മൗസ്, കീബോഡ്, ജോയ്സ്റ്റിക്ക്, ഗെയിംപാഡ്, വീൽസ് എന്നിവക്കുള്ള പിന്തുണ. * വിവിധ തരം ക്യാമെറ മോഡുകൾ. * യന്ത്രത്തിന്റെ ട്രാക്കിന്റെയും വിവിധതരം ശബ്ദങ്ങൾ. * ബ്രേക്ക്, റിവേഴ്സ് ലൈറ്റ് സംവിധാനങ്ങൾക്കുള്ള പിന്തുണ. * മുമ്പോട്ടും പിറകോട്ടും ചലിപ്പിക്കാവുന്ന റീപ്ലേ സംവിധാനം. * ക്രമീകരിച്ചെടുക്കാവുന്ന നിയന്ത്രണ സംവിധാനം. * പരീക്ഷണ ഘട്ടത്തിലിരിക്കുന്ന ഫോഴ്സ് ഫീഡ്ബാക്ക് വ്യവസ്ഥ. == ഇതും കൂടി കാണുക == * [[ടോർക്സ്]] * [[സ്പീഡ് ഡ്രീംസ്]] == പുറംകണ്ണികൾ == * [http://vdrift.net/ ഔദ്യോഗിക വെബ്സൈറ്റ്] * [http://wiki.vdrift.net/ ഔദ്യോഗിക വിക്കി] * [http://vamos.sourceforge.net/ വാമോസ് ഭൗതികശാസ്ത്ര യന്ത്രം] * [http://www.linuxjournal.com/article/10214 വീഡ്രിഫ്റ്റ്- ലിനക്സ് ജേണലിൽ] {{Webarchive|url=https://web.archive.org/web/20121008201139/http://www.linuxjournal.com/article/10214 |date=2012-10-08 }} * [http://vdrift.en.softonic.com/ വിഡ്രിഫ്റ്റ് സോഫ്റ്റോണിക്കിൽ]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }} * [http://www.macobserver.com/columns/slackersguide/2006/20060725.shtml വീഡ്രിഫ്റ്റ് മാകിൽ - മാക്ഒബ്സെർവർ.കോം] {{Webarchive|url=https://web.archive.org/web/20130617183337/http://www.macobserver.com/columns/slackersguide/2006/20060725.shtml |date=2013-06-17 }} {{ഓപൺ സോഴ്സ് വീഡിയോ ഗെയിമുകൾ}} [[വർഗ്ഗം:വീഡിയോ ഗെയിമുകൾ]] [[വർഗ്ഗം:ലിനക്സ് ഗെയിമുകൾ]] [[വർഗ്ഗം:ഓപൺ സോഴ്സ് ഗെയിമുകൾ]] 2r99iayrwnbsgrj1vkivk1xwfvuw6o2 ഫലകം:Redirect template 10 257034 4621636 4621262 2012-07-31T15:54:03Z en>Ham Cork Fest 0 */ Template category */ fix small error 3397705 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 4621637 4621263 2026-05-22T22:39:21Z Jacob.jose 1784 [[:en:Template:Redirect_template]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 2860961 wikitext text/x-wiki {{#invoke:Redirect template|main}}<noinclude> {{Documentation}}</noinclude> 1cl28dcwjsrtge5hedu653jwub1cll3 4621681 4621636 2012-07-31T15:54:03Z en>Ham Cork Fest 0 */ Template category */ fix small error 3397705 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 4621682 4621637 2026-05-22T22:42:59Z Jacob.jose 1784 [[:en:Template:Redirect_template]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 2860961 wikitext text/x-wiki {{#invoke:Redirect template|main}}<noinclude> {{Documentation}}</noinclude> 1cl28dcwjsrtge5hedu653jwub1cll3 4621715 4621681 2012-07-31T15:54:03Z en>Ham Cork Fest 0 */ Template category */ fix small error 3397705 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 4621716 4621682 2026-05-22T22:48:03Z Jacob.jose 1784 [[:en:Template:Redirect_template]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 2860961 wikitext text/x-wiki {{#invoke:Redirect template|main}}<noinclude> {{Documentation}}</noinclude> 1cl28dcwjsrtge5hedu653jwub1cll3 4621980 4621715 2012-07-31T15:54:03Z en>Ham Cork Fest 0 */ Template category */ fix small error 3397705 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 4621981 4621716 2026-05-22T22:54:04Z Jacob.jose 1784 [[:en:Template:Redirect_template]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 2860961 wikitext text/x-wiki {{#invoke:Redirect template|main}}<noinclude> {{Documentation}}</noinclude> 1cl28dcwjsrtge5hedu653jwub1cll3 കേരളനിയമസഭയിലെ സ്പീക്കർമാരുടെ പട്ടിക 0 258270 4621578 4096357 2026-05-22T15:08:36Z GV2010 217548 /* */ 4621578 wikitext text/x-wiki {{prettyurl|List of Speakers of KLA}} {{Infobox official post | body = കേരള നിയമസഭ | post = സ്പീക്കർ | termlength = കേരളനിയമസഭയുടെ കാലം (പരമാവധി 5&nbsp;വർഷം) | department = [[കേരള നിയമസഭ]] | member_of = [[കേരള നിയമസഭ]] | appointer = [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]]അംഗങ്ങൾ | image = പ്രമാണം: | incumbent = [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] | incumbentsince = 12 സെപ്റ്റംബർ 2022 | deputy = [[ചിറ്റയം ഗോപകുമാർ]] | insigniacaption = | insignia = File:Government of Kerala Logo.png | insigniasize = 175px | inaugural = [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] }} ഈ താൾ കേരളത്തിലെ നിയമസഭാസ്പീക്കർമാരുടെ പട്ടികയാണ്<ref>{{Cite book|title=നിയമനിർമ്മാണസഭയുടെ ശതോത്തരരജതജൂബിലി സ്മരണിക - രണ്ടാം ഭാഗം|last=|first=|publisher=ജി. കാർത്തികേയൻ, സ്പീക്കർ, കേരള നിയമസഭ ( 2014)|year=2014|isbn=|location=തിരുവനന്തപുരം|pages=}}</ref><ref name="vns21">http://niyamasabha.org/codes/ginfo_7.htm</ref>. സ്പീക്കർ എന്ന പദവിയെക്കുറിച്ചു വായിക്കാൻ [[സ്പീക്കർ (രാഷ്ട്രീയം)|ഈ]] ലേഖനം കാണുക. ഇതിൽ പ്രോട്ടേം സ്പീക്കർമാരേയും താൽക്കാലിക സ്പീക്കർമാരേയും ഉൾപ്പെടുത്തിയിട്ടില്ല. {| class="wikitable sortable" |- ! ക്രമ നമ്പർ ! സ്പീക്കർ !സഭ !സഭ ആദ്യമായി ചേർന്ന ദിവസം !അധികാരമേറ്റ തീയതി !! അധികാരമൊഴിഞ്ഞ തീയതി !! പാർട്ടി |'''സ്പീക്കർ തെരഞ്ഞെടുപ്പിലെ''' '''എതിർസ്ഥാനാർത്ഥി''' | colspan="2" |'''വോട്ടുനില''' |- | 1 || [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] |1 |[[ഏപ്രിൽ 27]], [[1957]]|| [[ഏപ്രിൽ 27]], [[1957]] || [[ജൂലൈ 31]], [[1959]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]] |എതിരില്ല | | |- |2 || [[കെ.എം. സീതി സാഹിബ്]] |2 | rowspan="3" |[[മാർച്ച് 12]], [[1960]]|| [[മാർച്ച് 12]], [[1960]] ||[[ഏപ്രിൽ 17]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |എതിരില്ല | | |- | 3 ||[[സി.എച്ച്. മുഹമ്മദ്കോയ]] |2||[[ജൂൺ 9]], [[1961]] || [[നവംബർ 10]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[കെ.ഒ. അയിഷാ ബായ്|കെ. ഓ. അയിഷാ ബായ്]] |86 |30 |- | 4 ||[[അലക്സാണ്ടർ പറമ്പിത്തറ]] |2|| [[ഡിസംബർ 13]], [[1961]] ||[[സെപ്റ്റംബർ 10]], [[1964]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |5 || [[ഡി. ദാമോദരൻ പോറ്റി]] |3 |[[മാർച്ച് 15]], [[1967]]|| [[മാർച്ച് 15]], [[1967]] || [[ഒക്ടോബർ 21]], [[1970]] || [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]] |എതിരില്ല | | |- | 6 || [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി]] |4 | rowspan="2" |[[ഒക്ടോബർ 22]], [[1970]]|| [[ഒക്ടോബർ 22]], [[1970]] || [[മേയ് 8]], [[1975]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ.സി. ചാക്കോ]] |70 |64 |- | 7 || [[ ടി.എസ്. ജോൺ]] |4|| [[ഫെബ്രുവരി 17]], [[1976]] || [[മാർച്ച് 25]], [[1977]] || [[കേരള കോൺഗ്രസ്]] |[[ജോൺ മാഞ്ഞൂരാൻ]] |73 |34 |- | 8 || [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] |5 |[[മാർച്ച് 26]], [[1977]]||[[മാർച്ച് 28]], [[1977]] || [[ഫെബ്രുവരി 14]], [[1980]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ. നീലലോഹിതദാസൻ നാടാർ]] |104 |26 |- | 9 || [[എ.പി. കുര്യൻ]] |6 | rowspan="2" |[[ഫെബ്രുവരി 15]], [[1980]]|| [[ഫെബ്രുവരി 15]], [[1980]] || [[ഫെബ്രുവരി 1]], [[1982]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |എതിരില്ല | | |- |10|| [[എ.സി. ജോസ്]] |6||[[ഫെബ്രുവരി 3]], [[1982]] ||[[ജൂൺ 23]], [[1982]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |11|| [[വക്കം പുരുഷോത്തമൻ]] |7 | rowspan="2" |[[ജൂൺ 24]], [[1982]]|| [[ജൂൺ 24]], [[1982]] || [[ഡിസംബർ 28]], [[1984]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ആർ.എസ്. ഉണ്ണി]] |74 |61 |- |12|| [[ വി.എം. സുധീരൻ]] |7|| [[മാർച്ച് 8]], [[1985]] || [[മാർച്ച് 27]], [[1987]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[കെ.വി. സുരേന്ദ്രനാഥ്]] |72 |65 |- | 13|| [[വർക്കല രാധാകൃഷ്ണൻ]] |8 |[[മാർച്ച് 28]], [[1987]]|| [[മാർച്ച് 30]], [[1987]] || [[ജൂൺ 28]], [[1991]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |പി.പി. തങ്കച്ചൻ |75 |55 |- | 14|| [[പി.പി. തങ്കച്ചൻ]] |9 | rowspan="2" |[[ജൂൺ 29]], [[1991]]|| [[ജൂലൈ 1]], [[1991]] || [[മേയ് 3]], [[1995]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[വി.ജെ. തങ്കപ്പൻ]] |88 |45 |- |15 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |9|| [[ജൂൺ 27]], [[1995]] ||[[മേയ് 28]], [[1996]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. തങ്കപ്പൻ]] |78 |39 |- | 16 || [[എം. വിജയകുമാർ]] |10 |[[മേയ് 29]], [[1996]]|| [[മേയ് 30]], [[1996]] ||[[ജൂൺ 5]], [[2001]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[ജോർജ്ജ് ജെ. മാത്യു]] |77 |58 |- |17 || [[വക്കം പുരുഷോത്തമൻ]] |11 | rowspan="2" |[[ജൂൺ 5]], [[2001]]|| [[ജൂൺ 6]], [[2001]] || [[സെപ്റ്റംബർ 4]], [[2004]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. ബാലൻ]] |95 |39 |- |18 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |11|| [[സെപ്റ്റംബർ 16]], [[2004]] || [[മേയ് 23]], [[2006]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |94 |39 |- | 19 || [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]] |12<ref>https://timesofindia.indiatimes.com/india/radhakrishnan-elected-as-speaker-in-kerala/articleshow/1563809.cms</ref> |[[മേയ് 24]], [[2006]]||[[മേയ് 25]], [[2006]] ||[[മേയ് 31]], [[2011]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[എം. മുരളി]] |93 |40 |- | 20|| [[ജി. കാർത്തികേയൻ]] |13<ref>https://www.thehindu.com/news/national/kerala/g-karthikeyan-elected-speaker-of-kerala-assembly/article2070636.ece</ref> | rowspan="2" | [[ജൂൺ 1|ജൂൺ 1,]] [[2011]]||[[ജൂൺ 2]], [[2011]] || [[മാർച്ച് 7]], [[2015]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |73 |68 |- | 21|| [[എൻ. ശക്തൻ]] |13<ref>https://www.thehindu.com/news/cities/Thiruvananthapuram/n-sakthan-elected-kerala-assembly-speaker/article6985822.ece</ref>||[[ മാർച്ച് 12]], [[2015]] || [[ജൂൺ 1|ജൂൺ 1,]] [[2016]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[പി. അയിഷ പോറ്റി]] |74 |66 |- | 22|| [[പി. ശ്രീരാമകൃഷ്ണൻ]] |14<ref>https://www.thehindu.com/news/national/kerala/BJP-member-votes-for-CPIM-in-Kerala-Assembly-Speaker-elections/article14382447.ece</ref> |[[ജൂൺ 2]], [[2016]]||[[ജൂൺ 3]], [[2016]] ||[[മേയ് 23]], [[2021]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[വി.പി. സജീന്ദ്രൻ]] |92 |46 |- |23 |[[എം.ബി. രാജേഷ്]] |15<ref>https://www.thehindu.com/news/national/kerala/m-b-rajesh-elected-speaker-of-kerala-assembly/article34638890.ece</ref> |[[മേയ് 24]], [[2021]] |[[മേയ് 25|മേയ് 25,]] [[2021]] |[[സെപ്റ്റംബർ 3]] [[2022]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[പി.സി. വിഷ്ണുനാഥ്]] |96 |40 |- |24 |[[എ.എൻ. ഷംസീർ]] |15<ref>https://www.thehindu.com/news/national/kerala/a-n-shamseer-elected-speaker-of-the-kerala-assembly/article65881770.ece</ref> |[[സെപ്റ്റംബർ 12]], [[2022]] |[[സെപ്റ്റംബർ 12]], [[2022]] |[[മേയ് 22]], [[2026]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[അൻവർ സാദത്ത്]] |90 |40 |- |25 |[[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |16 |[[മേയ് 23]], [[2026]] |ഇപ്പോൾ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.സി. മൊയ്തീൻ]] |[[ബി. ഗോപകുമാർ]] |101 |35 |3 |} == വിശേഷവിവരങ്ങൾ == * ഒന്നിലധികം തവണ സ്പീക്കർമാരായിട്ടുള്ളവർ: [[വക്കം പുരുഷോത്തമൻ]], [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] * ഏറ്റവും കൂടുതൽ കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[വക്കം പുരുഷോത്തമൻ]] * ഏറ്റവും കുറവു കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[എ.സി. ജോസ്]] ( 1982ഫെബ്രുവരി 3 മുതൽ ജൂൺ 22 വരെ) * അഞ്ചുവർഷം പൂർണ്ണകാലാവധി തികച്ചിട്ടുള്ള സ്പീക്കർമാർ: [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[പി. ശ്രീരാമകൃഷ്ണൻ]] * നിയമസഭയിലെ ഇരുപക്ഷത്തിനും തുല്യബലമായ സാഹചര്യത്തിൽ, സ്പീക്കറുടെ പ്രത്യേക അധികാരമായ [[കാസ്റ്റിങ്ങ് വോട്ട്]] വഴി മന്ത്രിസഭയുടെ തുടർച്ച മാസങ്ങളോളം ഉറപ്പാക്കാൻ നിർബന്ധിതനായ സ്പീക്കർ: [[എ.സി. ജോസ്]] * പിന്നീട് സംസ്ഥാന മുഖ്യമന്ത്രി, ഉപമുഖ്യമന്ത്രി, ലോകസഭാംഗം എന്നീ പദവികളിലിരുന്നിട്ടുള്ള സ്പീക്കർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], * പിന്നീട് സംസ്ഥാനമന്ത്രിസഭയിൽ അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[ഡി. ദാമോദരൻ പോറ്റി]], ടി.എസ്. ജോൺ, [[ചാക്കീരി അഹമ്മദ് കുട്ടി]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[എം.ബി. രാജേഷ്]]. * പിന്നീട് പാർലിമെന്റ് അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[എ.സി. ജോസ്|എ.സി.ജോസ്]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[വർക്കല രാധാകൃഷ്ണൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]]. * അധികാരത്തിൽ നിന്ന് രാജിവെച്ച സ്പീക്കർമാർ: സി.എച്ച്.മുഹമ്മദ്കോയ, [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി|കെ. മൊയ്തീൻകുട്ടി ഹാജി]], [[എ.പി. കുര്യൻ|എ.പി.കുരിയൻ]], വക്കം പുരുഷോത്തമൻ, പി.പി. തങ്കച്ചൻ, [[എം.ബി. രാജേഷ്]] * അധികാരത്തിലിരിക്കേ അന്തരിച്ച സ്പീക്കർമാർ: [[കെ.എം. സീതി സാഹിബ്|കെ.എം. സീതി സാഹിബ്ബ്]], [[ജി. കാർത്തികേയൻ]] == അനുബന്ധം == # [[1961]] [[ഏപ്രിൽ 18]] മുതൽ [[1961]] [[ജൂൺ 8]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എ. നഫീസത്ത് ബീവി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1975]] [[മേയ് 9]] മുതൽ [[1976]] [[ഫെബ്രുവരി 16]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[ആർ.എസ്. ഉണ്ണി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1984]] [[ഡിസംബർ 29]] മുതൽ [[1985]] [[മാർച്ച് 7]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ.എം. ഹംസക്കുഞ്ഞ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1995]] [[മേയ് 4]] മുതൽ [[1995]] [[ജൂൺ 26]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ. നാരായണക്കുറുപ്പ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[2004]] [[സെപ്റ്റംബർ 4]] മുതൽ [[2004]] [[സെപ്റ്റംബർ 15]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എൻ. സുന്ദരൻ നാടാർ]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. == അവലംബം== {{Reflist}} [[വർഗ്ഗം:കേരളവുമായി ബന്ധപ്പെട്ട പട്ടികകൾ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ|*]] 0wxr24yj2o9zb20qblf62p67dkcosxo 4621579 4621578 2026-05-22T15:09:29Z GV2010 217548 /* */ 4621579 wikitext text/x-wiki {{prettyurl|List of Speakers of KLA}} {{Infobox official post | body = കേരള നിയമസഭ | post = സ്പീക്കർ | termlength = കേരളനിയമസഭയുടെ കാലം (പരമാവധി 5&nbsp;വർഷം) | department = [[കേരള നിയമസഭ]] | member_of = [[കേരള നിയമസഭ]] | appointer = [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]]അംഗങ്ങൾ | image = പ്രമാണം: Thiruvanchoor Radhakrishnan.jpg | incumbent = [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] | incumbentsince = 23 മേയ് 2026 - ഇപ്പോൾ | deputy = [[ചിറ്റയം ഗോപകുമാർ]] | insigniacaption = | insignia = File:Government of Kerala Logo.png | insigniasize = 175px | inaugural = [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] }} ഈ താൾ കേരളത്തിലെ നിയമസഭാസ്പീക്കർമാരുടെ പട്ടികയാണ്<ref>{{Cite book|title=നിയമനിർമ്മാണസഭയുടെ ശതോത്തരരജതജൂബിലി സ്മരണിക - രണ്ടാം ഭാഗം|last=|first=|publisher=ജി. കാർത്തികേയൻ, സ്പീക്കർ, കേരള നിയമസഭ ( 2014)|year=2014|isbn=|location=തിരുവനന്തപുരം|pages=}}</ref><ref name="vns21">http://niyamasabha.org/codes/ginfo_7.htm</ref>. സ്പീക്കർ എന്ന പദവിയെക്കുറിച്ചു വായിക്കാൻ [[സ്പീക്കർ (രാഷ്ട്രീയം)|ഈ]] ലേഖനം കാണുക. ഇതിൽ പ്രോട്ടേം സ്പീക്കർമാരേയും താൽക്കാലിക സ്പീക്കർമാരേയും ഉൾപ്പെടുത്തിയിട്ടില്ല. {| class="wikitable sortable" |- ! ക്രമ നമ്പർ ! സ്പീക്കർ !സഭ !സഭ ആദ്യമായി ചേർന്ന ദിവസം !അധികാരമേറ്റ തീയതി !! അധികാരമൊഴിഞ്ഞ തീയതി !! പാർട്ടി |'''സ്പീക്കർ തെരഞ്ഞെടുപ്പിലെ''' '''എതിർസ്ഥാനാർത്ഥി''' | colspan="2" |'''വോട്ടുനില''' |- | 1 || [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] |1 |[[ഏപ്രിൽ 27]], [[1957]]|| [[ഏപ്രിൽ 27]], [[1957]] || [[ജൂലൈ 31]], [[1959]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]] |എതിരില്ല | | |- |2 || [[കെ.എം. സീതി സാഹിബ്]] |2 | rowspan="3" |[[മാർച്ച് 12]], [[1960]]|| [[മാർച്ച് 12]], [[1960]] ||[[ഏപ്രിൽ 17]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |എതിരില്ല | | |- | 3 ||[[സി.എച്ച്. മുഹമ്മദ്കോയ]] |2||[[ജൂൺ 9]], [[1961]] || [[നവംബർ 10]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[കെ.ഒ. അയിഷാ ബായ്|കെ. ഓ. അയിഷാ ബായ്]] |86 |30 |- | 4 ||[[അലക്സാണ്ടർ പറമ്പിത്തറ]] |2|| [[ഡിസംബർ 13]], [[1961]] ||[[സെപ്റ്റംബർ 10]], [[1964]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |5 || [[ഡി. ദാമോദരൻ പോറ്റി]] |3 |[[മാർച്ച് 15]], [[1967]]|| [[മാർച്ച് 15]], [[1967]] || [[ഒക്ടോബർ 21]], [[1970]] || [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]] |എതിരില്ല | | |- | 6 || [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി]] |4 | rowspan="2" |[[ഒക്ടോബർ 22]], [[1970]]|| [[ഒക്ടോബർ 22]], [[1970]] || [[മേയ് 8]], [[1975]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ.സി. ചാക്കോ]] |70 |64 |- | 7 || [[ ടി.എസ്. ജോൺ]] |4|| [[ഫെബ്രുവരി 17]], [[1976]] || [[മാർച്ച് 25]], [[1977]] || [[കേരള കോൺഗ്രസ്]] |[[ജോൺ മാഞ്ഞൂരാൻ]] |73 |34 |- | 8 || [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] |5 |[[മാർച്ച് 26]], [[1977]]||[[മാർച്ച് 28]], [[1977]] || [[ഫെബ്രുവരി 14]], [[1980]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ. നീലലോഹിതദാസൻ നാടാർ]] |104 |26 |- | 9 || [[എ.പി. കുര്യൻ]] |6 | rowspan="2" |[[ഫെബ്രുവരി 15]], [[1980]]|| [[ഫെബ്രുവരി 15]], [[1980]] || [[ഫെബ്രുവരി 1]], [[1982]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |എതിരില്ല | | |- |10|| [[എ.സി. ജോസ്]] |6||[[ഫെബ്രുവരി 3]], [[1982]] ||[[ജൂൺ 23]], [[1982]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |11|| [[വക്കം പുരുഷോത്തമൻ]] |7 | rowspan="2" |[[ജൂൺ 24]], [[1982]]|| [[ജൂൺ 24]], [[1982]] || [[ഡിസംബർ 28]], [[1984]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ആർ.എസ്. ഉണ്ണി]] |74 |61 |- |12|| [[ വി.എം. സുധീരൻ]] |7|| [[മാർച്ച് 8]], [[1985]] || [[മാർച്ച് 27]], [[1987]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[കെ.വി. സുരേന്ദ്രനാഥ്]] |72 |65 |- | 13|| [[വർക്കല രാധാകൃഷ്ണൻ]] |8 |[[മാർച്ച് 28]], [[1987]]|| [[മാർച്ച് 30]], [[1987]] || [[ജൂൺ 28]], [[1991]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |പി.പി. തങ്കച്ചൻ |75 |55 |- | 14|| [[പി.പി. തങ്കച്ചൻ]] |9 | rowspan="2" |[[ജൂൺ 29]], [[1991]]|| [[ജൂലൈ 1]], [[1991]] || [[മേയ് 3]], [[1995]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[വി.ജെ. തങ്കപ്പൻ]] |88 |45 |- |15 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |9|| [[ജൂൺ 27]], [[1995]] ||[[മേയ് 28]], [[1996]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. തങ്കപ്പൻ]] |78 |39 |- | 16 || [[എം. വിജയകുമാർ]] |10 |[[മേയ് 29]], [[1996]]|| [[മേയ് 30]], [[1996]] ||[[ജൂൺ 5]], [[2001]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[ജോർജ്ജ് ജെ. മാത്യു]] |77 |58 |- |17 || [[വക്കം പുരുഷോത്തമൻ]] |11 | rowspan="2" |[[ജൂൺ 5]], [[2001]]|| [[ജൂൺ 6]], [[2001]] || [[സെപ്റ്റംബർ 4]], [[2004]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. ബാലൻ]] |95 |39 |- |18 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |11|| [[സെപ്റ്റംബർ 16]], [[2004]] || [[മേയ് 23]], [[2006]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |94 |39 |- | 19 || [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]] |12<ref>https://timesofindia.indiatimes.com/india/radhakrishnan-elected-as-speaker-in-kerala/articleshow/1563809.cms</ref> |[[മേയ് 24]], [[2006]]||[[മേയ് 25]], [[2006]] ||[[മേയ് 31]], [[2011]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[എം. മുരളി]] |93 |40 |- | 20|| [[ജി. കാർത്തികേയൻ]] |13<ref>https://www.thehindu.com/news/national/kerala/g-karthikeyan-elected-speaker-of-kerala-assembly/article2070636.ece</ref> | rowspan="2" | [[ജൂൺ 1|ജൂൺ 1,]] [[2011]]||[[ജൂൺ 2]], [[2011]] || [[മാർച്ച് 7]], [[2015]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |73 |68 |- | 21|| [[എൻ. ശക്തൻ]] |13<ref>https://www.thehindu.com/news/cities/Thiruvananthapuram/n-sakthan-elected-kerala-assembly-speaker/article6985822.ece</ref>||[[ മാർച്ച് 12]], [[2015]] || [[ജൂൺ 1|ജൂൺ 1,]] [[2016]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[പി. അയിഷ പോറ്റി]] |74 |66 |- | 22|| [[പി. ശ്രീരാമകൃഷ്ണൻ]] |14<ref>https://www.thehindu.com/news/national/kerala/BJP-member-votes-for-CPIM-in-Kerala-Assembly-Speaker-elections/article14382447.ece</ref> |[[ജൂൺ 2]], [[2016]]||[[ജൂൺ 3]], [[2016]] ||[[മേയ് 23]], [[2021]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[വി.പി. സജീന്ദ്രൻ]] |92 |46 |- |23 |[[എം.ബി. രാജേഷ്]] |15<ref>https://www.thehindu.com/news/national/kerala/m-b-rajesh-elected-speaker-of-kerala-assembly/article34638890.ece</ref> |[[മേയ് 24]], [[2021]] |[[മേയ് 25|മേയ് 25,]] [[2021]] |[[സെപ്റ്റംബർ 3]] [[2022]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[പി.സി. വിഷ്ണുനാഥ്]] |96 |40 |- |24 |[[എ.എൻ. ഷംസീർ]] |15<ref>https://www.thehindu.com/news/national/kerala/a-n-shamseer-elected-speaker-of-the-kerala-assembly/article65881770.ece</ref> |[[സെപ്റ്റംബർ 12]], [[2022]] |[[സെപ്റ്റംബർ 12]], [[2022]] |[[മേയ് 22]], [[2026]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[അൻവർ സാദത്ത്]] |90 |40 |- |25 |[[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |16 |[[മേയ് 23]], [[2026]] |ഇപ്പോൾ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.സി. മൊയ്തീൻ]] |[[ബി. ഗോപകുമാർ]] |101 |35 |3 |} == വിശേഷവിവരങ്ങൾ == * ഒന്നിലധികം തവണ സ്പീക്കർമാരായിട്ടുള്ളവർ: [[വക്കം പുരുഷോത്തമൻ]], [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] * ഏറ്റവും കൂടുതൽ കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[വക്കം പുരുഷോത്തമൻ]] * ഏറ്റവും കുറവു കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[എ.സി. ജോസ്]] ( 1982ഫെബ്രുവരി 3 മുതൽ ജൂൺ 22 വരെ) * അഞ്ചുവർഷം പൂർണ്ണകാലാവധി തികച്ചിട്ടുള്ള സ്പീക്കർമാർ: [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[പി. ശ്രീരാമകൃഷ്ണൻ]] * നിയമസഭയിലെ ഇരുപക്ഷത്തിനും തുല്യബലമായ സാഹചര്യത്തിൽ, സ്പീക്കറുടെ പ്രത്യേക അധികാരമായ [[കാസ്റ്റിങ്ങ് വോട്ട്]] വഴി മന്ത്രിസഭയുടെ തുടർച്ച മാസങ്ങളോളം ഉറപ്പാക്കാൻ നിർബന്ധിതനായ സ്പീക്കർ: [[എ.സി. ജോസ്]] * പിന്നീട് സംസ്ഥാന മുഖ്യമന്ത്രി, ഉപമുഖ്യമന്ത്രി, ലോകസഭാംഗം എന്നീ പദവികളിലിരുന്നിട്ടുള്ള സ്പീക്കർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], * പിന്നീട് സംസ്ഥാനമന്ത്രിസഭയിൽ അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[ഡി. ദാമോദരൻ പോറ്റി]], ടി.എസ്. ജോൺ, [[ചാക്കീരി അഹമ്മദ് കുട്ടി]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[എം.ബി. രാജേഷ്]]. * പിന്നീട് പാർലിമെന്റ് അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[എ.സി. ജോസ്|എ.സി.ജോസ്]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[വർക്കല രാധാകൃഷ്ണൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]]. * അധികാരത്തിൽ നിന്ന് രാജിവെച്ച സ്പീക്കർമാർ: സി.എച്ച്.മുഹമ്മദ്കോയ, [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി|കെ. മൊയ്തീൻകുട്ടി ഹാജി]], [[എ.പി. കുര്യൻ|എ.പി.കുരിയൻ]], വക്കം പുരുഷോത്തമൻ, പി.പി. തങ്കച്ചൻ, [[എം.ബി. രാജേഷ്]] * അധികാരത്തിലിരിക്കേ അന്തരിച്ച സ്പീക്കർമാർ: [[കെ.എം. സീതി സാഹിബ്|കെ.എം. സീതി സാഹിബ്ബ്]], [[ജി. കാർത്തികേയൻ]] == അനുബന്ധം == # [[1961]] [[ഏപ്രിൽ 18]] മുതൽ [[1961]] [[ജൂൺ 8]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എ. നഫീസത്ത് ബീവി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1975]] [[മേയ് 9]] മുതൽ [[1976]] [[ഫെബ്രുവരി 16]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[ആർ.എസ്. ഉണ്ണി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1984]] [[ഡിസംബർ 29]] മുതൽ [[1985]] [[മാർച്ച് 7]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ.എം. ഹംസക്കുഞ്ഞ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1995]] [[മേയ് 4]] മുതൽ [[1995]] [[ജൂൺ 26]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ. നാരായണക്കുറുപ്പ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[2004]] [[സെപ്റ്റംബർ 4]] മുതൽ [[2004]] [[സെപ്റ്റംബർ 15]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എൻ. സുന്ദരൻ നാടാർ]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. == അവലംബം== {{Reflist}} [[വർഗ്ഗം:കേരളവുമായി ബന്ധപ്പെട്ട പട്ടികകൾ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ|*]] ghx7np5a0hpe7exnwmipmtdqf349kqy 4621580 4621579 2026-05-22T15:11:02Z GV2010 217548 /* */ 4621580 wikitext text/x-wiki {{prettyurl|List of Speakers of KLA}} {{Infobox official post | body = കേരള നിയമസഭ | post = സ്പീക്കർ | termlength = കേരളനിയമസഭയുടെ കാലം (പരമാവധി 5&nbsp;വർഷം) | department = [[കേരള നിയമസഭ]] | member_of = [[കേരള നിയമസഭ]] | appointer = [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]]അംഗങ്ങൾ | image = പ്രമാണം: Thiruvanchoor Radhakrishnan.jpg | incumbent = [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] | incumbentsince = 23 മേയ് 2026 - ഇപ്പോൾ | deputy = [[ചിറ്റയം ഗോപകുമാർ]] | insigniacaption = | insignia = File:Government of Kerala Logo.png | insigniasize = 175px | inaugural = [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] }} ഈ താൾ കേരളത്തിലെ നിയമസഭാസ്പീക്കർമാരുടെ പട്ടികയാണ്<ref>{{Cite book|title=നിയമനിർമ്മാണസഭയുടെ ശതോത്തരരജതജൂബിലി സ്മരണിക - രണ്ടാം ഭാഗം|last=|first=|publisher=ജി. കാർത്തികേയൻ, സ്പീക്കർ, കേരള നിയമസഭ ( 2014)|year=2014|isbn=|location=തിരുവനന്തപുരം|pages=}}</ref><ref name="vns21">http://niyamasabha.org/codes/ginfo_7.htm</ref>. സ്പീക്കർ എന്ന പദവിയെക്കുറിച്ചു വായിക്കാൻ [[സ്പീക്കർ (രാഷ്ട്രീയം)|ഈ]] ലേഖനം കാണുക. ഇതിൽ പ്രോട്ടേം സ്പീക്കർമാരേയും താൽക്കാലിക സ്പീക്കർമാരേയും ഉൾപ്പെടുത്തിയിട്ടില്ല. {| class="wikitable sortable" |- ! ക്രമ നമ്പർ ! സ്പീക്കർ !സഭ !സഭ ആദ്യമായി ചേർന്ന ദിവസം !അധികാരമേറ്റ തീയതി !! അധികാരമൊഴിഞ്ഞ തീയതി !! പാർട്ടി |'''സ്പീക്കർ തെരഞ്ഞെടുപ്പിലെ''' '''എതിർസ്ഥാനാർത്ഥി''' | colspan="2" |'''വോട്ടുനില''' |- | 1 || [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] |1 |[[ഏപ്രിൽ 27]], [[1957]]|| [[ഏപ്രിൽ 27]], [[1957]] || [[ജൂലൈ 31]], [[1959]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]] |എതിരില്ല | | |- |2 || [[കെ.എം. സീതി സാഹിബ്]] |2 | rowspan="3" |[[മാർച്ച് 12]], [[1960]]|| [[മാർച്ച് 12]], [[1960]] ||[[ഏപ്രിൽ 17]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |എതിരില്ല | | |- | 3 ||[[സി.എച്ച്. മുഹമ്മദ്കോയ]] |2||[[ജൂൺ 9]], [[1961]] || [[നവംബർ 10]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[കെ.ഒ. അയിഷാ ബായ്|കെ. ഓ. അയിഷാ ബായ്]] |86 |30 |- | 4 ||[[അലക്സാണ്ടർ പറമ്പിത്തറ]] |2|| [[ഡിസംബർ 13]], [[1961]] ||[[സെപ്റ്റംബർ 10]], [[1964]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |5 || [[ഡി. ദാമോദരൻ പോറ്റി]] |3 |[[മാർച്ച് 15]], [[1967]]|| [[മാർച്ച് 15]], [[1967]] || [[ഒക്ടോബർ 21]], [[1970]] || [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]] |എതിരില്ല | | |- | 6 || [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി]] |4 | rowspan="2" |[[ഒക്ടോബർ 22]], [[1970]]|| [[ഒക്ടോബർ 22]], [[1970]] || [[മേയ് 8]], [[1975]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ.സി. ചാക്കോ]] |70 |64 |- | 7 || [[ ടി.എസ്. ജോൺ]] |4|| [[ഫെബ്രുവരി 17]], [[1976]] || [[മാർച്ച് 25]], [[1977]] || [[കേരള കോൺഗ്രസ്]] |[[ജോൺ മാഞ്ഞൂരാൻ]] |73 |34 |- | 8 || [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] |5 |[[മാർച്ച് 26]], [[1977]]||[[മാർച്ച് 28]], [[1977]] || [[ഫെബ്രുവരി 14]], [[1980]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ. നീലലോഹിതദാസൻ നാടാർ]] |104 |26 |- | 9 || [[എ.പി. കുര്യൻ]] |6 | rowspan="2" |[[ഫെബ്രുവരി 15]], [[1980]]|| [[ഫെബ്രുവരി 15]], [[1980]] || [[ഫെബ്രുവരി 1]], [[1982]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |എതിരില്ല | | |- |10|| [[എ.സി. ജോസ്]] |6||[[ഫെബ്രുവരി 3]], [[1982]] ||[[ജൂൺ 23]], [[1982]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |11|| [[വക്കം പുരുഷോത്തമൻ]] |7 | rowspan="2" |[[ജൂൺ 24]], [[1982]]|| [[ജൂൺ 24]], [[1982]] || [[ഡിസംബർ 28]], [[1984]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ആർ.എസ്. ഉണ്ണി]] |74 |61 |- |12|| [[ വി.എം. സുധീരൻ]] |7|| [[മാർച്ച് 8]], [[1985]] || [[മാർച്ച് 27]], [[1987]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[കെ.വി. സുരേന്ദ്രനാഥ്]] |72 |65 |- | 13|| [[വർക്കല രാധാകൃഷ്ണൻ]] |8 |[[മാർച്ച് 28]], [[1987]]|| [[മാർച്ച് 30]], [[1987]] || [[ജൂൺ 28]], [[1991]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |പി.പി. തങ്കച്ചൻ |75 |55 |- | 14|| [[പി.പി. തങ്കച്ചൻ]] |9 | rowspan="2" |[[ജൂൺ 29]], [[1991]]|| [[ജൂലൈ 1]], [[1991]] || [[മേയ് 3]], [[1995]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[വി.ജെ. തങ്കപ്പൻ]] |88 |45 |- |15 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |9|| [[ജൂൺ 27]], [[1995]] ||[[മേയ് 28]], [[1996]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. തങ്കപ്പൻ]] |78 |39 |- | 16 || [[എം. വിജയകുമാർ]] |10 |[[മേയ് 29]], [[1996]]|| [[മേയ് 30]], [[1996]] ||[[ജൂൺ 5]], [[2001]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[ജോർജ്ജ് ജെ. മാത്യു]] |77 |58 |- |17 || [[വക്കം പുരുഷോത്തമൻ]] |11 | rowspan="2" |[[ജൂൺ 5]], [[2001]]|| [[ജൂൺ 6]], [[2001]] || [[സെപ്റ്റംബർ 4]], [[2004]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. ബാലൻ]] |95 |39 |- |18 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |11|| [[സെപ്റ്റംബർ 16]], [[2004]] || [[മേയ് 23]], [[2006]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |94 |39 |- | 19 || [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]] |12<ref>https://timesofindia.indiatimes.com/india/radhakrishnan-elected-as-speaker-in-kerala/articleshow/1563809.cms</ref> |[[മേയ് 24]], [[2006]]||[[മേയ് 25]], [[2006]] ||[[മേയ് 31]], [[2011]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[എം. മുരളി]] |93 |40 |- | 20|| [[ജി. കാർത്തികേയൻ]] |13<ref>https://www.thehindu.com/news/national/kerala/g-karthikeyan-elected-speaker-of-kerala-assembly/article2070636.ece</ref> | rowspan="2" | [[ജൂൺ 1|ജൂൺ 1,]] [[2011]]||[[ജൂൺ 2]], [[2011]] || [[മാർച്ച് 7]], [[2015]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |73 |68 |- | 21|| [[എൻ. ശക്തൻ]] |13<ref>https://www.thehindu.com/news/cities/Thiruvananthapuram/n-sakthan-elected-kerala-assembly-speaker/article6985822.ece</ref>||[[ മാർച്ച് 12]], [[2015]] || [[ജൂൺ 1|ജൂൺ 1,]] [[2016]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[പി. അയിഷ പോറ്റി]] |74 |66 |- | 22|| [[പി. ശ്രീരാമകൃഷ്ണൻ]] |14<ref>https://www.thehindu.com/news/national/kerala/BJP-member-votes-for-CPIM-in-Kerala-Assembly-Speaker-elections/article14382447.ece</ref> |[[ജൂൺ 2]], [[2016]]||[[ജൂൺ 3]], [[2016]] ||[[മേയ് 23]], [[2021]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[വി.പി. സജീന്ദ്രൻ]] |92 |46 |- |23 |[[എം.ബി. രാജേഷ്]] |15<ref>https://www.thehindu.com/news/national/kerala/m-b-rajesh-elected-speaker-of-kerala-assembly/article34638890.ece</ref> |[[മേയ് 24]], [[2021]] |[[മേയ് 25|മേയ് 25,]] [[2021]] |[[സെപ്റ്റംബർ 3]] [[2022]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[പി.സി. വിഷ്ണുനാഥ്]] |96 |40 |- |24 |[[എ.എൻ. ഷംസീർ]] |15<ref>https://www.thehindu.com/news/national/kerala/a-n-shamseer-elected-speaker-of-the-kerala-assembly/article65881770.ece</ref> |[[സെപ്റ്റംബർ 12]], [[2022]] |[[സെപ്റ്റംബർ 12]], [[2022]] |[[മേയ് 22]], [[2026]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[അൻവർ സാദത്ത്]] |90 |40 |- |25 |[[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |16 |[[മേയ് 18]], [[2026]] |[[മേയ് 23]], [[2026]] |ഇപ്പോൾ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.സി. മൊയ്തീൻ]] |101 |35 | |} == വിശേഷവിവരങ്ങൾ == * ഒന്നിലധികം തവണ സ്പീക്കർമാരായിട്ടുള്ളവർ: [[വക്കം പുരുഷോത്തമൻ]], [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] * ഏറ്റവും കൂടുതൽ കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[വക്കം പുരുഷോത്തമൻ]] * ഏറ്റവും കുറവു കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[എ.സി. ജോസ്]] ( 1982ഫെബ്രുവരി 3 മുതൽ ജൂൺ 22 വരെ) * അഞ്ചുവർഷം പൂർണ്ണകാലാവധി തികച്ചിട്ടുള്ള സ്പീക്കർമാർ: [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[പി. ശ്രീരാമകൃഷ്ണൻ]] * നിയമസഭയിലെ ഇരുപക്ഷത്തിനും തുല്യബലമായ സാഹചര്യത്തിൽ, സ്പീക്കറുടെ പ്രത്യേക അധികാരമായ [[കാസ്റ്റിങ്ങ് വോട്ട്]] വഴി മന്ത്രിസഭയുടെ തുടർച്ച മാസങ്ങളോളം ഉറപ്പാക്കാൻ നിർബന്ധിതനായ സ്പീക്കർ: [[എ.സി. ജോസ്]] * പിന്നീട് സംസ്ഥാന മുഖ്യമന്ത്രി, ഉപമുഖ്യമന്ത്രി, ലോകസഭാംഗം എന്നീ പദവികളിലിരുന്നിട്ടുള്ള സ്പീക്കർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], * പിന്നീട് സംസ്ഥാനമന്ത്രിസഭയിൽ അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[ഡി. ദാമോദരൻ പോറ്റി]], ടി.എസ്. ജോൺ, [[ചാക്കീരി അഹമ്മദ് കുട്ടി]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[എം.ബി. രാജേഷ്]]. * പിന്നീട് പാർലിമെന്റ് അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[എ.സി. ജോസ്|എ.സി.ജോസ്]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[വർക്കല രാധാകൃഷ്ണൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]]. * അധികാരത്തിൽ നിന്ന് രാജിവെച്ച സ്പീക്കർമാർ: സി.എച്ച്.മുഹമ്മദ്കോയ, [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി|കെ. മൊയ്തീൻകുട്ടി ഹാജി]], [[എ.പി. കുര്യൻ|എ.പി.കുരിയൻ]], വക്കം പുരുഷോത്തമൻ, പി.പി. തങ്കച്ചൻ, [[എം.ബി. രാജേഷ്]] * അധികാരത്തിലിരിക്കേ അന്തരിച്ച സ്പീക്കർമാർ: [[കെ.എം. സീതി സാഹിബ്|കെ.എം. സീതി സാഹിബ്ബ്]], [[ജി. കാർത്തികേയൻ]] == അനുബന്ധം == # [[1961]] [[ഏപ്രിൽ 18]] മുതൽ [[1961]] [[ജൂൺ 8]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എ. നഫീസത്ത് ബീവി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1975]] [[മേയ് 9]] മുതൽ [[1976]] [[ഫെബ്രുവരി 16]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[ആർ.എസ്. ഉണ്ണി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1984]] [[ഡിസംബർ 29]] മുതൽ [[1985]] [[മാർച്ച് 7]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ.എം. ഹംസക്കുഞ്ഞ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1995]] [[മേയ് 4]] മുതൽ [[1995]] [[ജൂൺ 26]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ. നാരായണക്കുറുപ്പ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[2004]] [[സെപ്റ്റംബർ 4]] മുതൽ [[2004]] [[സെപ്റ്റംബർ 15]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എൻ. സുന്ദരൻ നാടാർ]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. == അവലംബം== {{Reflist}} [[വർഗ്ഗം:കേരളവുമായി ബന്ധപ്പെട്ട പട്ടികകൾ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ|*]] h5pl63f3f367kv4mwhpn18p3ngq1mt2 4621581 4621580 2026-05-22T15:11:34Z GV2010 217548 /* */ 4621581 wikitext text/x-wiki {{prettyurl|List of Speakers of KLA}} {{Infobox official post | body = കേരള നിയമസഭ | post = സ്പീക്കർ | termlength = കേരളനിയമസഭയുടെ കാലം (പരമാവധി 5&nbsp;വർഷം) | department = [[കേരള നിയമസഭ]] | member_of = [[കേരള നിയമസഭ]] | appointer = [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]]അംഗങ്ങൾ | image = പ്രമാണം: Thiruvanchoor Radhakrishnan.jpg | incumbent = [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] | incumbentsince = 23 മേയ് 2026 - ഇപ്പോൾ | deputy = [[ഷാനിമോൾ ഉസ്മാൻ]] | insigniacaption = | insignia = File:Government of Kerala Logo.png | insigniasize = 175px | inaugural = [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] }} ഈ താൾ കേരളത്തിലെ നിയമസഭാസ്പീക്കർമാരുടെ പട്ടികയാണ്<ref>{{Cite book|title=നിയമനിർമ്മാണസഭയുടെ ശതോത്തരരജതജൂബിലി സ്മരണിക - രണ്ടാം ഭാഗം|last=|first=|publisher=ജി. കാർത്തികേയൻ, സ്പീക്കർ, കേരള നിയമസഭ ( 2014)|year=2014|isbn=|location=തിരുവനന്തപുരം|pages=}}</ref><ref name="vns21">http://niyamasabha.org/codes/ginfo_7.htm</ref>. സ്പീക്കർ എന്ന പദവിയെക്കുറിച്ചു വായിക്കാൻ [[സ്പീക്കർ (രാഷ്ട്രീയം)|ഈ]] ലേഖനം കാണുക. ഇതിൽ പ്രോട്ടേം സ്പീക്കർമാരേയും താൽക്കാലിക സ്പീക്കർമാരേയും ഉൾപ്പെടുത്തിയിട്ടില്ല. {| class="wikitable sortable" |- ! ക്രമ നമ്പർ ! സ്പീക്കർ !സഭ !സഭ ആദ്യമായി ചേർന്ന ദിവസം !അധികാരമേറ്റ തീയതി !! അധികാരമൊഴിഞ്ഞ തീയതി !! പാർട്ടി |'''സ്പീക്കർ തെരഞ്ഞെടുപ്പിലെ''' '''എതിർസ്ഥാനാർത്ഥി''' | colspan="2" |'''വോട്ടുനില''' |- | 1 || [[ആർ. ശങ്കരനാരായണൻ തമ്പി]] |1 |[[ഏപ്രിൽ 27]], [[1957]]|| [[ഏപ്രിൽ 27]], [[1957]] || [[ജൂലൈ 31]], [[1959]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]] |എതിരില്ല | | |- |2 || [[കെ.എം. സീതി സാഹിബ്]] |2 | rowspan="3" |[[മാർച്ച് 12]], [[1960]]|| [[മാർച്ച് 12]], [[1960]] ||[[ഏപ്രിൽ 17]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |എതിരില്ല | | |- | 3 ||[[സി.എച്ച്. മുഹമ്മദ്കോയ]] |2||[[ജൂൺ 9]], [[1961]] || [[നവംബർ 10]], [[1961]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[കെ.ഒ. അയിഷാ ബായ്|കെ. ഓ. അയിഷാ ബായ്]] |86 |30 |- | 4 ||[[അലക്സാണ്ടർ പറമ്പിത്തറ]] |2|| [[ഡിസംബർ 13]], [[1961]] ||[[സെപ്റ്റംബർ 10]], [[1964]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |5 || [[ഡി. ദാമോദരൻ പോറ്റി]] |3 |[[മാർച്ച് 15]], [[1967]]|| [[മാർച്ച് 15]], [[1967]] || [[ഒക്ടോബർ 21]], [[1970]] || [[പ്രജാ സോഷ്യലിസ്റ്റ് പാർട്ടി]] |എതിരില്ല | | |- | 6 || [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി]] |4 | rowspan="2" |[[ഒക്ടോബർ 22]], [[1970]]|| [[ഒക്ടോബർ 22]], [[1970]] || [[മേയ് 8]], [[1975]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ.സി. ചാക്കോ]] |70 |64 |- | 7 || [[ ടി.എസ്. ജോൺ]] |4|| [[ഫെബ്രുവരി 17]], [[1976]] || [[മാർച്ച് 25]], [[1977]] || [[കേരള കോൺഗ്രസ്]] |[[ജോൺ മാഞ്ഞൂരാൻ]] |73 |34 |- | 8 || [[ചാക്കീരി അഹമ്മദ് കുട്ടി]] |5 |[[മാർച്ച് 26]], [[1977]]||[[മാർച്ച് 28]], [[1977]] || [[ഫെബ്രുവരി 14]], [[1980]] || [[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[എ. നീലലോഹിതദാസൻ നാടാർ]] |104 |26 |- | 9 || [[എ.പി. കുര്യൻ]] |6 | rowspan="2" |[[ഫെബ്രുവരി 15]], [[1980]]|| [[ഫെബ്രുവരി 15]], [[1980]] || [[ഫെബ്രുവരി 1]], [[1982]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |എതിരില്ല | | |- |10|| [[എ.സി. ജോസ്]] |6||[[ഫെബ്രുവരി 3]], [[1982]] ||[[ജൂൺ 23]], [[1982]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |എതിരില്ല | | |- |11|| [[വക്കം പുരുഷോത്തമൻ]] |7 | rowspan="2" |[[ജൂൺ 24]], [[1982]]|| [[ജൂൺ 24]], [[1982]] || [[ഡിസംബർ 28]], [[1984]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ആർ.എസ്. ഉണ്ണി]] |74 |61 |- |12|| [[ വി.എം. സുധീരൻ]] |7|| [[മാർച്ച് 8]], [[1985]] || [[മാർച്ച് 27]], [[1987]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[കെ.വി. സുരേന്ദ്രനാഥ്]] |72 |65 |- | 13|| [[വർക്കല രാധാകൃഷ്ണൻ]] |8 |[[മാർച്ച് 28]], [[1987]]|| [[മാർച്ച് 30]], [[1987]] || [[ജൂൺ 28]], [[1991]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |പി.പി. തങ്കച്ചൻ |75 |55 |- | 14|| [[പി.പി. തങ്കച്ചൻ]] |9 | rowspan="2" |[[ജൂൺ 29]], [[1991]]|| [[ജൂലൈ 1]], [[1991]] || [[മേയ് 3]], [[1995]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[വി.ജെ. തങ്കപ്പൻ]] |88 |45 |- |15 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |9|| [[ജൂൺ 27]], [[1995]] ||[[മേയ് 28]], [[1996]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. തങ്കപ്പൻ]] |78 |39 |- | 16 || [[എം. വിജയകുമാർ]] |10 |[[മേയ് 29]], [[1996]]|| [[മേയ് 30]], [[1996]] ||[[ജൂൺ 5]], [[2001]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[ജോർജ്ജ് ജെ. മാത്യു]] |77 |58 |- |17 || [[വക്കം പുരുഷോത്തമൻ]] |11 | rowspan="2" |[[ജൂൺ 5]], [[2001]]|| [[ജൂൺ 6]], [[2001]] || [[സെപ്റ്റംബർ 4]], [[2004]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[ടി.കെ. ബാലൻ]] |95 |39 |- |18 || [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] |11|| [[സെപ്റ്റംബർ 16]], [[2004]] || [[മേയ് 23]], [[2006]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |94 |39 |- | 19 || [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]] |12<ref>https://timesofindia.indiatimes.com/india/radhakrishnan-elected-as-speaker-in-kerala/articleshow/1563809.cms</ref> |[[മേയ് 24]], [[2006]]||[[മേയ് 25]], [[2006]] ||[[മേയ് 31]], [[2011]] || [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[എം. മുരളി]] |93 |40 |- | 20|| [[ജി. കാർത്തികേയൻ]] |13<ref>https://www.thehindu.com/news/national/kerala/g-karthikeyan-elected-speaker-of-kerala-assembly/article2070636.ece</ref> | rowspan="2" | [[ജൂൺ 1|ജൂൺ 1,]] [[2011]]||[[ജൂൺ 2]], [[2011]] || [[മാർച്ച് 7]], [[2015]] || [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.കെ. ബാലൻ]] |73 |68 |- | 21|| [[എൻ. ശക്തൻ]] |13<ref>https://www.thehindu.com/news/cities/Thiruvananthapuram/n-sakthan-elected-kerala-assembly-speaker/article6985822.ece</ref>||[[ മാർച്ച് 12]], [[2015]] || [[ജൂൺ 1|ജൂൺ 1,]] [[2016]]|| [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[പി. അയിഷ പോറ്റി]] |74 |66 |- | 22|| [[പി. ശ്രീരാമകൃഷ്ണൻ]] |14<ref>https://www.thehindu.com/news/national/kerala/BJP-member-votes-for-CPIM-in-Kerala-Assembly-Speaker-elections/article14382447.ece</ref> |[[ജൂൺ 2]], [[2016]]||[[ജൂൺ 3]], [[2016]] ||[[മേയ് 23]], [[2021]]|| [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[വി.പി. സജീന്ദ്രൻ]] |92 |46 |- |23 |[[എം.ബി. രാജേഷ്]] |15<ref>https://www.thehindu.com/news/national/kerala/m-b-rajesh-elected-speaker-of-kerala-assembly/article34638890.ece</ref> |[[മേയ് 24]], [[2021]] |[[മേയ് 25|മേയ് 25,]] [[2021]] |[[സെപ്റ്റംബർ 3]] [[2022]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[പി.സി. വിഷ്ണുനാഥ്]] |96 |40 |- |24 |[[എ.എൻ. ഷംസീർ]] |15<ref>https://www.thehindu.com/news/national/kerala/a-n-shamseer-elected-speaker-of-the-kerala-assembly/article65881770.ece</ref> |[[സെപ്റ്റംബർ 12]], [[2022]] |[[സെപ്റ്റംബർ 12]], [[2022]] |[[മേയ് 22]], [[2026]] |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[അൻവർ സാദത്ത്]] |90 |40 |- |25 |[[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |16 |[[മേയ് 18]], [[2026]] |[[മേയ് 23]], [[2026]] |ഇപ്പോൾ |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[എ.സി. മൊയ്തീൻ]] |101 |35 | |} == വിശേഷവിവരങ്ങൾ == * ഒന്നിലധികം തവണ സ്പീക്കർമാരായിട്ടുള്ളവർ: [[വക്കം പുരുഷോത്തമൻ]], [[തേറമ്പിൽ രാമകൃഷ്ണൻ]] * ഏറ്റവും കൂടുതൽ കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[വക്കം പുരുഷോത്തമൻ]] * ഏറ്റവും കുറവു കാലം സ്പീക്കർ ആയിരുന്നിട്ടുള്ള ആൾ: [[എ.സി. ജോസ്]] ( 1982ഫെബ്രുവരി 3 മുതൽ ജൂൺ 22 വരെ) * അഞ്ചുവർഷം പൂർണ്ണകാലാവധി തികച്ചിട്ടുള്ള സ്പീക്കർമാർ: [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[പി. ശ്രീരാമകൃഷ്ണൻ]] * നിയമസഭയിലെ ഇരുപക്ഷത്തിനും തുല്യബലമായ സാഹചര്യത്തിൽ, സ്പീക്കറുടെ പ്രത്യേക അധികാരമായ [[കാസ്റ്റിങ്ങ് വോട്ട്]] വഴി മന്ത്രിസഭയുടെ തുടർച്ച മാസങ്ങളോളം ഉറപ്പാക്കാൻ നിർബന്ധിതനായ സ്പീക്കർ: [[എ.സി. ജോസ്]] * പിന്നീട് സംസ്ഥാന മുഖ്യമന്ത്രി, ഉപമുഖ്യമന്ത്രി, ലോകസഭാംഗം എന്നീ പദവികളിലിരുന്നിട്ടുള്ള സ്പീക്കർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], * പിന്നീട് സംസ്ഥാനമന്ത്രിസഭയിൽ അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[ഡി. ദാമോദരൻ പോറ്റി]], ടി.എസ്. ജോൺ, [[ചാക്കീരി അഹമ്മദ് കുട്ടി]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]], [[എം.ബി. രാജേഷ്]]. * പിന്നീട് പാർലിമെന്റ് അംഗമായിട്ടുള്ള സ്പീക്കർമാർ: [[സി.എച്ച്. മുഹമ്മദ്കോയ|സി.എച്ച്.മുഹമ്മദ്കോയ]], [[എ.സി. ജോസ്|എ.സി.ജോസ്]], [[വക്കം പുരുഷോത്തമൻ]], [[വി.എം. സുധീരൻ]], [[വർക്കല രാധാകൃഷ്ണൻ]], [[പി.പി. തങ്കച്ചൻ]], [[എം. വിജയകുമാർ]], [[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]]. * അധികാരത്തിൽ നിന്ന് രാജിവെച്ച സ്പീക്കർമാർ: സി.എച്ച്.മുഹമ്മദ്കോയ, [[കെ. മൊയ്തീൻ കുട്ടി ഹാജി|കെ. മൊയ്തീൻകുട്ടി ഹാജി]], [[എ.പി. കുര്യൻ|എ.പി.കുരിയൻ]], വക്കം പുരുഷോത്തമൻ, പി.പി. തങ്കച്ചൻ, [[എം.ബി. രാജേഷ്]] * അധികാരത്തിലിരിക്കേ അന്തരിച്ച സ്പീക്കർമാർ: [[കെ.എം. സീതി സാഹിബ്|കെ.എം. സീതി സാഹിബ്ബ്]], [[ജി. കാർത്തികേയൻ]] == അനുബന്ധം == # [[1961]] [[ഏപ്രിൽ 18]] മുതൽ [[1961]] [[ജൂൺ 8]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എ. നഫീസത്ത് ബീവി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1975]] [[മേയ് 9]] മുതൽ [[1976]] [[ഫെബ്രുവരി 16]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[ആർ.എസ്. ഉണ്ണി]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1984]] [[ഡിസംബർ 29]] മുതൽ [[1985]] [[മാർച്ച് 7]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ.എം. ഹംസക്കുഞ്ഞ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[1995]] [[മേയ് 4]] മുതൽ [[1995]] [[ജൂൺ 26]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[കെ. നാരായണക്കുറുപ്പ്]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. # [[2004]] [[സെപ്റ്റംബർ 4]] മുതൽ [[2004]] [[സെപ്റ്റംബർ 15]] വരെ ഡെപ്യൂട്ടി സ്പീക്കറായിരുന്ന [[എൻ. സുന്ദരൻ നാടാർ]] സ്പീക്കറുടെ ചുമതല ചെയ്തിരുന്നു. == അവലംബം== {{Reflist}} [[വർഗ്ഗം:കേരളവുമായി ബന്ധപ്പെട്ട പട്ടികകൾ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ സ്പീക്കർമാർ|*]] 9n7x9pk4i4qyypzx522qk645433jqif ലെഷാനിലെ ബൃഹത് ബുദ്ധൻ 0 259168 4622093 3831097 2026-05-23T01:41:43Z InternetArchiveBot 146798 Rescuing 0 sources and tagging 1 as dead.) #IABot (v2.0.9.5 4622093 wikitext text/x-wiki {{Infobox World Heritage Site | WHS = [[Mount Emei|എമെയ് പർവ്വത പ്രദേശവും]], ലെഷാനിലെ ബൃഹത് ബുദ്ധ പ്രതിമയും | Image = [[Image:Leshan da fo Flickr feet-head modified.jpg|300px|ലെഷാനിലെ ബൃഹത് ബുദ്ധൻ]] | State Party = [[People's Republic of China|ചൈന]] | Type = സമ്മിശ്രം | Criteria = iv, vi, x | ID = 779 | Region = [[List of World Heritage Sites in Asia and Australasia|ഏഷ്യാ-പസഫിൿ]] | Year = 1996 | Session = 20 | Link = http://whc.unesco.org/en/list/779 }} ചൈനയിലെ [[താങ് രാജവംശം|താങ് രാജവംശത്തിന്റെ]] ഭരണകാലത്ത് നിർമിച്ച ഒരു ഭീമാകാര ശിലപമാണ് '''ലെഷാനിലെ ബൃഹത് ബുദ്ധൻ''' (ചൈനീസ്: 乐山大佛; ഇംഗ്ലീഷ്: '''Leshan Giant Buddha''')എന്ന് അറിയപ്പെടുന്നത്. സിചുവാൻ പ്രവിശ്യയുടെ തെക്കുഭാഗത്ത്[[Min River (Sichuan)|മിൻ നദിക്ക്]] അഭിമുഖമായിയാണ് ഈ ശിലപം സ്ഥിതിചെയ്യുന്നത്. മിൻ നദിയുടെ സമീപത്തുള്ള പർവ്വതശിലയിൽ കൊത്തിയെടുത്താണ് ഈ ബൃഹത് ശിലപ്ം നിർമിച്ചിരിക്കുന്നത്. ലോകത്തിലെതന്നെ 'കല്ലിൽ തീർത്ത' ഏറ്റവും വലിയ ബുദ്ധപ്രതിമായാണ് ലെഷാനിലെ ബൃഹത് ബുദ്ധൻ<ref>[http://whc.unesco.org/en/list/779l Mount Emei Scenic Area, including Leshan Giant Buddha Scenic Area. യുനെസ്കോ ലോകപൈതൃക സൈറ്റ്]</ref>. ലെഷാനിലെ ബൃഹത് ബുദ്ധനെയും അതോടൊപ്പം [[എമെയ് പർവ്വതം|എമയ് പർവ്വതത്തേയും]] യുനെസ്കോ 1996-ൽ ലോകപൈതൃക പട്ടികയിൽ ഉൾപ്പെടുത്തി.<ref>{{Cite web|title=ഒരിക്കലെങ്കിലും കാണണം ഈ കാഴ്ച; കല്ലിൽ കൊത്തിയ ലോകത്തിലെ ഏറ്റവും വലിയ ബുദ്ധപ്രതിമ!|url=https://www.manoramaonline.com/travel/world-escapes/2022/01/19/how-to-visit-the-leshan-giant-buddha-in-china.html|access-date=2022-01-19|website=ManoramaOnline|language=ml}}</ref> [[2008 Sichuan earthquake|2008-ൽ സിചുവാനിലുണ്ടായ ഭൂചലനത്തിലും]] ഈ നിർമിതിക്ക് കോട്ടമൊന്നും തട്ടിയില്ല.<ref>[http://www.topix.com/forum/world/asia/TO5RGMIK9CEAI3APR World's Tallest, Millenium-Old Buddha Statue Undamaged by China Earthquake - Topix<!-- Bot generated title -->]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മേയ് 2026 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ==അവലംബം== {{reflist}} ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{commonscat|Leshan Giant Buddha|ലെഷാനിലെ ബൃഹത് ബുദ്ധൻ}} *[http://whc.unesco.org/en/list/779 യുനെസ്കോ] *[http://www.warriortours.com/river/leshan.htm കൂടുതൽ വിവരങ്ങൾ] {{Webarchive|url=https://web.archive.org/web/20160303172553/http://www.warriortours.com/river/leshan.htm |date=2016-03-03 }} *[http://www.thesalmons.org/lynn/leshan/ Leshan Grand Buddha - Da Fo] {{ചൈനയിലെ ലോകപൈതൃകകേന്ദ്രങ്ങൾ}} {{coord|29|32|50|N|103|46|09|E|type:landmark|display=title}} [[വർഗ്ഗം:ചൈനയിലെ വിനോദസഞ്ചാരകേന്ദ്രങ്ങൾ]] [[വർഗ്ഗം:ചൈനയിലെ ലോകപൈതൃകകേന്ദ്രങ്ങൾ]] [[വർഗ്ഗം:ബുദ്ധപ്രതിമകൾ]] scqzlqo5pijzishlqjnkv8ms9xqza0n പെരുച്ചാഴി 0 261760 4622125 3655322 2026-05-23T05:42:27Z Theleapen 217853 വ്യാകരണം ശരിയാക്കി 4622125 wikitext text/x-wiki {{PU|Greater bandicoot rat}} {{for|ഇതേ പേരിലുള്ള 2014-ലെ മലയാളചലച്ചിത്രത്തിനായി|പെരുച്ചാഴി (ചലച്ചിത്രം)}} {{Taxobox | name = പെരുച്ചാഴി | image =Peruchazi DSC05549.jpg | status = LR/lc | status_system = IUCN2.3 | status_ref = <ref>Baillie J. (1996). "[http://www.iucnredlist.org/search/details.php/2541/all ''Bandicota indica'']{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഓഗസ്റ്റ് 2021 |bot=InternetArchiveBot |fix-attempted=yes }}". [http://www.iucnredlist.org 2006 IUCN Red List of Threatened Species.] Downloaded on 19 July 2007.</ref> | regnum = [[Animalia]] | phylum = [[Chordata]] | classis = [[Mammalia]] | ordo = [[Rodent]]ia | familia = [[Muridae]] | genus = ''[[Bandicota]]'' | species = '''''ബാൻഡിക്കൂട്ട ഇൻഡിക്ക''''' | binomial = ''Bandicota indica'' | binomial_authority = ([[Johann Matthäus Bechstein|Bechstein]], 1800) | synonyms = }} [[Muridae|മ്യൂറിഡേ]] കുടുംബത്തിൽ പെട്ട [[rodent|കാർന്നുതിന്നുന്ന]] ജീവി സ്പീഷീസാണ് '''പെരുച്ചാഴി'''<ref>{{Cite journal|url=https://dx.doi.org/10.11609/JoTT.2000.7.13.7971-7982|title=A checklist of mammals of Kerala, India.|last=P. O.|first=Nameer|date=2015|journal=Journal of Threatened Taxa|volume=7(13)|pages=7971–7982|via=}}</ref> (ഗ്രേറ്റർ ബാൻഡിക്കൂട്ട് റാറ്റ് (Greater Bandicoot Rat); ''ബാ‌ൻഡിക്കൂട്ട ഇൻഡിക്ക (Bandicota indica)''). == വിവരണം == വലിപ്പമുള്ള ഈ വലിയ എലിക്ക് കറുപ്പെന്നു തോന്നുന്ന ഇരുണ്ട തവിട്ടുനിറവും കട്ടിയുള്ള രോമങ്ങളുമുണ്ട്. ഒറ്റനോട്ടത്തിൽ മിക്ക ആളുകളും ഇതിനോട് അറപ്പായിരിക്കും തോന്നുക. കാലുകളും വാലും കറുത്തനിറവും ശരീരത്തിന്റെ അടിവശം മറ്റുഭാഗങ്ങളേക്കാൾ അൽപ്പം മാത്രം ചാരനിറമുള്ളതും ആയതിനാൽ ശരീരമാകെ ഇരുണ്ടിരിക്കും.ചെറു ജീവികൾ, മുട്ടകൾ , ഭഷണാവശിഷ്ടങ്ങൾ, ആണ് ഇവരുടെ പ്രധാന ആഹാരം == പെരുമാറ്റം == വായ്‌വട്ടം വലിപ്പമേറിയപൊത്തിൽ കഴിയുന്നവയാണിവ. ഇവയുടെ മാളത്തിനു ഒരു പ്രവേശനകവാടം മാത്രമേയുള്ളൂ.വീടുകൾക്ക് സമീപം സമീപം വലിയ മാളങ്ങൾ ഉണ്ടാക്കാറുണ്ട്.ചില സമയങ്ങളിൽ അക്രമകാരികൾ ആവാറുണ്ട് == കാണപ്പെടുന്നത് == [[China|ചൈന]], [[India|ഇന്ത്യ]], [[Indonesia|ഇന്തോനേഷ്യ]], [[Laos|ലാവോസ്]], [[Malaysia|മലേഷ്യ]], [[Myanmar|മ്യാന്മാർ]], [[Nepal|നേപ്പാൾ]], [[Sri Lanka|ശ്രീലങ്ക]], [[Taiwan|തായ്‌വാൻ]], [[Thailand|തായ്ലാന്റ്]], [[Vietnam|വിയറ്റ്നാം]] എന്നിവിടങ്ങളിൽ ഈ ജീവിയെ കണ്ടുവരുന്നുണ്ട്. == ആവാസം == മരുഭൂമിയും പർവ്വതങ്ങളുമൊഴിച്ച് ഇന്ത്യയിലെല്ലായിടവും മനുഷ്യർ താമസിക്കുന്നിടത്തും കൃഷിയിടങ്ങളിലും കാണ്ടുവരുന്നൂ. == വലിപ്പം == ശരീരത്തിന്റെ മൊത്തം നീളം : 21-34 സെ.മീ. വാൽ : 16.7-34 സെ.മീ.<ref>{{Cite book|title=ഇന്ത്യയിലെ സസ്തനികൾ ഒരു ഫീൽഡ് ഗൈഡ്|last=വിവേക് മേനോൻ|first=|publisher=ഡി സി ബുക്ക്സ്|year=2008|isbn=|location=|pages=206}}</ref> &nbsp; == മറ്റുപേരുകൾ == [[Sri Lanka|ശ്രീലങ്കയിൽ]] പെരുച്ചാഴിയെ "ഉരു-മീയ" എന്നാണ് വിളിക്കുന്നത്. [[Sinhala Language|സിംഹള ഭാഷയിൽ]] ഇതിന്റെ അർത്ഥം "[[പന്നിയെലി]]" എന്നാണ്. == പരാദജീവികൾ == പെരുച്ചാഴിയെ താഴെപ്പറയുന്ന പരാദങ്ങൾ ബാധിക്കാറുണ്ട്: * ''[[Schistosoma spindale|ഷീസ്റ്റോസോമ സ്പിൻഡേൽ]] (Schistosoma spindale)''<ref name="Singh 1997">{{Cite PMID|9444010|noedit}}</ref><ref>{{Cite PMID|1488714|noedit}}.</ref> == പെരുച്ചാഴി പരത്തുന്ന അസുഖങ്ങൾ == * [[leptospirosis|ലെപ്റ്റോസ്പൈറോസിസ്]] == ഇതും കാണുക == * [[കേരളത്തിലെ സസ്തനികൾ]] ==അവലംബം== {{reflist}} *{{MSW3 Muroidea | id = 13001247 | page = }} ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{Commons category|Bandicota indica}} {{wikispecies|Bandicota indica}} {{Taxonbar}} {{Murinae|R.}} {{Murinae-stub}} [[വർഗ്ഗം:കരണ്ടുതീനികൾ]] [[വർഗ്ഗം:നേപ്പാളിലെ സസ്തനികൾ|Rat, Badicoot Greater]] [[വർഗ്ഗം:ഇന്ത്യയിലെ കരണ്ടുതീനികൾ|Rat, Badicoot Greater]] [[വർഗ്ഗം:ശ്രീലങ്കയിലെ സസ്തനികൾ|Rat, Badicoot Greater]] [[വർഗ്ഗം:കേരളത്തിലെ സസ്തനികൾ]] 3gkobzr0a36kpd2lmus6plkhcpot0uz മീഡിയവിക്കി:Mobile.css 8 266470 4621529 4621523 2026-05-22T12:15:27Z Ranjithsiji 22471 add the flex system of navbox on mobiles 4621529 css text/css /* CSS placed here will affect users of the mobile site */ /* -------------------------------------------------------------------------- Mobile template hacks (see bug 54176) -------------------------------------------------------------------------- */ .mobile-float-reset { float: none !important; width: 100% !important; } /* -------------------------------------------------------------------------- Legacy navbox visibility .navbox / .vertical-navbox are stripped server-side by MobileFrontend. .navbox-mf uses a different class name and is never stripped. -------------------------------------------------------------------------- */ #content .vertical-navbox, #content .navbox { display: none; } @media all and (min-width: 768px) { #content .vertical-navbox, #content .navbox { display: inherit; } } /* .navbox-mf is always visible — no rule needed to show it, but this guards against any accidental global hide rules. */ .navbox-mf { display: block !important; } /* -------------------------------------------------------------------------- NavboxMobile (navbox-mf) — mobile fine-tuning The flex layout from Common.css already works responsively. These rules only adjust padding/spacing for touch screens. -------------------------------------------------------------------------- */ /* Slightly more padding in the title for touch targets */ .navbox-mf-title { padding: 0.3em 0.5em; min-height: 2.2em; } /* Toggle button: larger touch target */ .navbox-mf-title > .mw-collapsible-toggle { padding: 0.3em 0.25em; min-width: 4em; } /* Above/below: left-aligned on mobile for readability */ .navbox-mf-abovebelow { text-align: left; } .navbox-mf-abovebelow-inner { padding: 0.25em 0.5em; } /* List: left-aligned on mobile */ .navbox-mf-list { text-align: left; } /* -------------------------------------------------------------------------- Citations -------------------------------------------------------------------------- */ @media screen { .citation *.printonly { display: none; } } .citation { word-wrap: break-word; overflow-wrap: break-word; } /* -------------------------------------------------------------------------- Navbar template -------------------------------------------------------------------------- */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .mw-body-content .navbar ul { line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } /* -------------------------------------------------------------------------- Horizontal lists (hlist) -------------------------------------------------------------------------- */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } #content .hlist dt:after { content: ": "; } #content .hlist dd:after, #content .hlist li:after { content: " · "; font-weight: bold; } #content .hlist dd:last-child:after, #content .hlist dt:last-child:after, #content .hlist li:last-child:after { content: none; } #content .hlist dd dd:first-child:before, #content .hlist dd dt:first-child:before, #content .hlist dd li:first-child:before, #content .hlist dt dd:first-child:before, #content .hlist dt dt:first-child:before, #content .hlist dt li:first-child:before, #content .hlist li dd:first-child:before, #content .hlist li dt:first-child:before, #content .hlist li li:first-child:before { content: " ("; font-weight: normal; } #content .hlist dd dd:last-child:after, #content .hlist dd dt:last-child:after, #content .hlist dd li:last-child:after, #content .hlist dt dd:last-child:after, #content .hlist dt dt:last-child:after, #content .hlist dt li:last-child:after, #content .hlist li dd:last-child:after, #content .hlist li dt:last-child:after, #content .hlist li li:last-child:after { content: ") "; font-weight: normal; } #content .hlist ol { counter-reset: listitem; } #content .hlist ol > li { counter-increment: listitem; } #content .hlist ol > li:before { content: " " counter(listitem) " "; white-space: nowrap; } #content .hlist dd ol > li:first-child:before, #content .hlist dt ol > li:first-child:before, #content .hlist li ol > li:first-child:before { content: " (" counter(listitem) " "; } /* -------------------------------------------------------------------------- Unbulleted / plain lists -------------------------------------------------------------------------- */ .plainlist ul { list-style: none; margin: 0; padding: 0; } /* -------------------------------------------------------------------------- Compact ambox -------------------------------------------------------------------------- */ .compact-ambox table .mbox-image, .compact-ambox table .mbox-imageright, .compact-ambox table .mbox-empty-cell, .compact-ambox .hide-when-compact { display: none; } .compact-ambox table.ambox { border: none; border-collapse: collapse; background: transparent; margin: 0 0 0 1.6em !important; padding: 0 !important; width: auto; display: block; } .compact-ambox table.mbox-small-left { font-size: 100%; width: auto; margin: 0; } .compact-ambox table .mbox-text { padding: 0 !important; margin: 0 !important; } .compact-ambox table .mbox-text-span { display: list-item; line-height: 1.5em; list-style-type: square; list-style-image: url("data:image/gif;base64,R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4SpADs="); } /* -------------------------------------------------------------------------- Hatnotes -------------------------------------------------------------------------- */ .rellink, .dablink { font-style: italic; margin-bottom: 0.5em; } .rellink i, .dablink i { font-style: normal; } /* -------------------------------------------------------------------------- Geographical coordinates -------------------------------------------------------------------------- */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct { display: none; } .longitude, .latitude { white-space: nowrap; } /* -------------------------------------------------------------------------- Nowrap / wrap -------------------------------------------------------------------------- */ .nowrap, .nowraplinks a, .nowraplinks .selflink, sup.reference a { white-space: nowrap; } .wrap, .wraplinks a { white-space: normal; } /* -------------------------------------------------------------------------- Permissions -------------------------------------------------------------------------- */ .sysop-show, .accountcreator-show, .autoconfirmed-show { display: none; } /* -------------------------------------------------------------------------- Legacy coordinate display -------------------------------------------------------------------------- */ #li-coordinates { background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/80px-Edge-firefox.png); float: right; display: none; -webkit-background-size: auto 30px; background-size: auto 30px; } .client-js .content_block.coordinates { display: none; text-align: right; margin-bottom: 0.5em; font-size: smaller; } .client-js .content_block.coordinates .latitude { display: none; padding-left: 20px; background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/50px-Edge-firefox.png); background-repeat: no-repeat; -webkit-background-size: auto 15px; background-size: auto 15px; } .alpha #li-coordinates { display: list-item; } .client-js .beta .content_block.coordinates { display: block; } .client-js .beta .content_block.coordinates .latitude { display: inline; } /* -------------------------------------------------------------------------- Topicon / stub -------------------------------------------------------------------------- */ .topicon { display: none; } .stub { display: none; } /* -------------------------------------------------------------------------- NavFrame / Boxmerge -------------------------------------------------------------------------- */ div.Boxmerge, div.NavFrame { margin: 0; padding: 4px; border: 1px solid #aaa; text-align: center; border-collapse: collapse; font-size: 95%; } div.Boxmerge div.NavFrame { border-style: hidden; } div.NavFrame + div.NavFrame { border-top-style: hidden; } div.NavPic { background-color: #fff; margin: 0; padding: 2px; float: left; } div.NavFrame div.NavHead { height: 1.6em; font-weight: bold; background-color: #ccccff; position: relative; } div.NavFrame p, div.NavFrame div.NavContent, div.NavFrame div.NavContent p { font-size: 100%; } div.NavEnd { margin: 0; padding: 0; line-height: 1px; clear: both; } a.NavToggle { position: absolute; top: 0; right: 3px; font-weight: normal; font-size: smaller; } 8kpeafwo8wcopu2cqi4t70o13mmsuyt 4621537 4621529 2026-05-22T12:52:18Z Ranjithsiji 22471 update css to fix errors 4621537 css text/css /* CSS placed here will affect users of the mobile site */ /* -------------------------------------------------------------------------- Mobile template hacks (see bug 54176) -------------------------------------------------------------------------- */ .mobile-float-reset { float: none !important; width: 100% !important; } /* -------------------------------------------------------------------------- Legacy navbox visibility -------------------------------------------------------------------------- */ #content .vertical-navbox, #content .navbox { display: none; } @media all and (min-width: 768px) { #content .vertical-navbox, #content .navbox { display: inherit; } } /* -------------------------------------------------------------------------- navbox-mf — full rules duplicated here because Minerva does NOT load Common.css. Every navbox-mf-* rule must exist in Mobile.css too. -------------------------------------------------------------------------- */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 0.5em 0; background-color: #fdfdfd; color: inherit; display: block; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* Title bar */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 2em; box-sizing: border-box; width: 100%; } .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle button */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0,0,0,0.2); border-radius: 2px; padding: 0.2em 0.5em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; /* Ensure it is tappable on touch */ min-height: 2em; } /* Body */ .navbox-mf-body { width: 100%; } /* Above / Below */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: left; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 0.5em; } /* Rows — always stacked on mobile */ .navbox-mf-row { display: flex; flex-direction: column; /* MOBILE: group above, list below */ width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* Group — full-width header on mobile */ .navbox-mf-group { width: 100%; max-width: 100%; background-color: #ddddff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; text-align: center; display: flex; align-items: center; justify-content: center; box-sizing: border-box; border-bottom: 1px solid #e8e8ff; border-right: none; min-width: 0; } /* List — full width below group */ .navbox-mf-list { flex: 1 1 auto; width: 100%; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* Even/odd striping */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* hlist padding */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* Subgroup colours */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } /* -------------------------------------------------------------------------- Citations -------------------------------------------------------------------------- */ @media screen { .citation *.printonly { display: none; } } .citation { word-wrap: break-word; overflow-wrap: break-word; } /* -------------------------------------------------------------------------- Navbar template -------------------------------------------------------------------------- */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .mw-body-content .navbar ul { line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } /* -------------------------------------------------------------------------- Horizontal lists (hlist) -------------------------------------------------------------------------- */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } #content .hlist dt:after { content: ": "; } #content .hlist dd:after, #content .hlist li:after { content: " · "; font-weight: bold; } #content .hlist dd:last-child:after, #content .hlist dt:last-child:after, #content .hlist li:last-child:after { content: none; } #content .hlist dd dd:first-child:before, #content .hlist dd dt:first-child:before, #content .hlist dd li:first-child:before, #content .hlist dt dd:first-child:before, #content .hlist dt dt:first-child:before, #content .hlist dt li:first-child:before, #content .hlist li dd:first-child:before, #content .hlist li dt:first-child:before, #content .hlist li li:first-child:before { content: " ("; font-weight: normal; } #content .hlist dd dd:last-child:after, #content .hlist dd dt:last-child:after, #content .hlist dd li:last-child:after, #content .hlist dt dd:last-child:after, #content .hlist dt dt:last-child:after, #content .hlist dt li:last-child:after, #content .hlist li dd:last-child:after, #content .hlist li dt:last-child:after, #content .hlist li li:last-child:after { content: ") "; font-weight: normal; } #content .hlist ol { counter-reset: listitem; } #content .hlist ol > li { counter-increment: listitem; } #content .hlist ol > li:before { content: " " counter(listitem) " "; white-space: nowrap; } #content .hlist dd ol > li:first-child:before, #content .hlist dt ol > li:first-child:before, #content .hlist li ol > li:first-child:before { content: " (" counter(listitem) " "; } /* -------------------------------------------------------------------------- Unbulleted / plain lists -------------------------------------------------------------------------- */ .plainlist ul { list-style: none; margin: 0; padding: 0; } /* -------------------------------------------------------------------------- Compact ambox -------------------------------------------------------------------------- */ .compact-ambox table .mbox-image, .compact-ambox table .mbox-imageright, .compact-ambox table .mbox-empty-cell, .compact-ambox .hide-when-compact { display: none; } .compact-ambox table.ambox { border: none; border-collapse: collapse; background: transparent; margin: 0 0 0 1.6em !important; padding: 0 !important; width: auto; display: block; } .compact-ambox table.mbox-small-left { font-size: 100%; width: auto; margin: 0; } .compact-ambox table .mbox-text { padding: 0 !important; margin: 0 !important; } .compact-ambox table .mbox-text-span { display: list-item; line-height: 1.5em; list-style-type: square; list-style-image: url("data:image/gif;base64,R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4SpADs="); } /* -------------------------------------------------------------------------- Hatnotes -------------------------------------------------------------------------- */ .rellink, .dablink { font-style: italic; margin-bottom: 0.5em; } .rellink i, .dablink i { font-style: normal; } /* -------------------------------------------------------------------------- Geo, nowrap, permissions, topicon, stub, NavFrame -------------------------------------------------------------------------- */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct { display: none; } .longitude, .latitude { white-space: nowrap; } .nowrap, .nowraplinks a, .nowraplinks .selflink, sup.reference a { white-space: nowrap; } .wrap, .wraplinks a { white-space: normal; } .sysop-show, .accountcreator-show, .autoconfirmed-show { display: none; } .topicon { display: none; } .stub { display: none; } #li-coordinates { background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/80px-Edge-firefox.png); float: right; display: none; -webkit-background-size: auto 30px; background-size: auto 30px; } .client-js .content_block.coordinates { display: none; text-align: right; margin-bottom: 0.5em; font-size: smaller; } .client-js .content_block.coordinates .latitude { display: none; padding-left: 20px; background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/50px-Edge-firefox.png); background-repeat: no-repeat; -webkit-background-size: auto 15px; background-size: auto 15px; } .alpha #li-coordinates { display: list-item; } .client-js .beta .content_block.coordinates { display: block; } .client-js .beta .content_block.coordinates .latitude { display: inline; } div.Boxmerge, div.NavFrame { margin: 0; padding: 4px; border: 1px solid #aaa; text-align: center; border-collapse: collapse; font-size: 95%; } div.Boxmerge div.NavFrame { border-style: hidden; } div.NavFrame + div.NavFrame { border-top-style: hidden; } div.NavPic { background-color: #fff; margin: 0; padding: 2px; float: left; } div.NavFrame div.NavHead { height: 1.6em; font-weight: bold; background-color: #ccccff; position: relative; } div.NavFrame p, div.NavFrame div.NavContent, div.NavFrame div.NavContent p { font-size: 100%; } div.NavEnd { margin: 0; padding: 0; line-height: 1px; clear: both; } a.NavToggle { position: absolute; top: 0; right: 3px; font-weight: normal; font-size: smaller; } s7p3us0qefbs5jm2bdhy0xwqcjinuz9 4621605 4621537 2026-05-22T19:00:33Z Ranjithsiji 22471 update css to fix the errors 4621605 css text/css /* CSS placed here will affect users of the mobile site */ /* -------------------------------------------------------------------------- Mobile template hacks (see bug 54176) -------------------------------------------------------------------------- */ .mobile-float-reset { float: none !important; width: 100% !important; } /* -------------------------------------------------------------------------- Legacy navbox visibility -------------------------------------------------------------------------- */ #content .vertical-navbox, #content .navbox { display: none; } @media all and (min-width: 768px) { #content .vertical-navbox, #content .navbox { display: inherit; } } /* -------------------------------------------------------------------------- navbox-mf — full rules duplicated here because Minerva does NOT load Common.css. Every navbox-mf-* rule must exist in Mobile.css too. -------------------------------------------------------------------------- */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 0.5em 0; background-color: #fdfdfd; color: inherit; display: block; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* Suppress any stray MediaWiki auto-injected collapsible toggle. On Minerva the standard toggle can appear as a button or a link; we hide all common variants so only our .navbox-mf-toggle remains. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li, .navbox-mf .mw-customtoggle { display: none !important; } /* Title bar — ALWAYS visible, lives outside the collapsible body */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 2em; box-sizing: border-box; width: 100%; } .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { visibility: hidden; } .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle button */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.2em 0.5em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; /* Ensure it is tappable on touch */ min-height: 2em; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } /* Body */ .navbox-mf-body { width: 100%; } /* Above / Below */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: left; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 0.5em; } /* Rows — always stacked on mobile */ .navbox-mf-row { display: flex; flex-direction: column; /* MOBILE: group above, list below */ width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* Group — full-width header on mobile */ .navbox-mf-group { width: 100%; max-width: 100%; background-color: #ddddff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; text-align: center; display: flex; align-items: center; justify-content: center; box-sizing: border-box; border-bottom: 1px solid #e8e8ff; border-right: none; min-width: 0; } /* List — full width below group */ .navbox-mf-list { flex: 1 1 auto; width: 100%; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* Even/odd striping */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* hlist padding */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* Subgroup colours */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* -------------------------------------------------------------------------- Citations -------------------------------------------------------------------------- */ @media screen { .citation *.printonly { display: none; } } .citation { word-wrap: break-word; overflow-wrap: break-word; } /* -------------------------------------------------------------------------- Navbar template -------------------------------------------------------------------------- */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .mw-body-content .navbar ul { line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } /* -------------------------------------------------------------------------- Horizontal lists (hlist) -------------------------------------------------------------------------- */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } #content .hlist dt:after { content: ": "; } #content .hlist dd:after, #content .hlist li:after { content: " · "; font-weight: bold; } #content .hlist dd:last-child:after, #content .hlist dt:last-child:after, #content .hlist li:last-child:after { content: none; } #content .hlist dd dd:first-child:before, #content .hlist dd dt:first-child:before, #content .hlist dd li:first-child:before, #content .hlist dt dd:first-child:before, #content .hlist dt dt:first-child:before, #content .hlist dt li:first-child:before, #content .hlist li dd:first-child:before, #content .hlist li dt:first-child:before, #content .hlist li li:first-child:before { content: " ("; font-weight: normal; } #content .hlist dd dd:last-child:after, #content .hlist dd dt:last-child:after, #content .hlist dd li:last-child:after, #content .hlist dt dd:last-child:after, #content .hlist dt dt:last-child:after, #content .hlist dt li:last-child:after, #content .hlist li dd:last-child:after, #content .hlist li dt:last-child:after, #content .hlist li li:last-child:after { content: ") "; font-weight: normal; } #content .hlist ol { counter-reset: listitem; } #content .hlist ol > li { counter-increment: listitem; } #content .hlist ol > li:before { content: " " counter(listitem) " "; white-space: nowrap; } #content .hlist dd ol > li:first-child:before, #content .hlist dt ol > li:first-child:before, #content .hlist li ol > li:first-child:before { content: " (" counter(listitem) " "; } /* -------------------------------------------------------------------------- Unbulleted / plain lists -------------------------------------------------------------------------- */ .plainlist ul { list-style: none; margin: 0; padding: 0; } /* -------------------------------------------------------------------------- Compact ambox -------------------------------------------------------------------------- */ .compact-ambox table .mbox-image, .compact-ambox table .mbox-imageright, .compact-ambox table .mbox-empty-cell, .compact-ambox .hide-when-compact { display: none; } .compact-ambox table.ambox { border: none; border-collapse: collapse; background: transparent; margin: 0 0 0 1.6em !important; padding: 0 !important; width: auto; display: block; } .compact-ambox table.mbox-small-left { font-size: 100%; width: auto; margin: 0; } .compact-ambox table .mbox-text { padding: 0 !important; margin: 0 !important; } .compact-ambox table .mbox-text-span { display: list-item; line-height: 1.5em; list-style-type: square; list-style-image: url("data:image/gif;base64,R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4SpADs="); } /* -------------------------------------------------------------------------- Hatnotes -------------------------------------------------------------------------- */ .rellink, .dablink { font-style: italic; margin-bottom: 0.5em; } .rellink i, .dablink i { font-style: normal; } /* -------------------------------------------------------------------------- Geo, nowrap, permissions, topicon, stub, NavFrame -------------------------------------------------------------------------- */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct { display: none; } .longitude, .latitude { white-space: nowrap; } .nowrap, .nowraplinks a, .nowraplinks .selflink, sup.reference a { white-space: nowrap; } .wrap, .wraplinks a { white-space: normal; } .sysop-show, .accountcreator-show, .autoconfirmed-show { display: none; } .topicon { display: none; } .stub { display: none; } #li-coordinates { background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/80px-Edge-firefox.png); float: right; display: none; -webkit-background-size: auto 30px; background-size: auto 30px; } .client-js .content_block.coordinates { display: none; text-align: right; margin-bottom: 0.5em; font-size: smaller; } .client-js .content_block.coordinates .latitude { display: none; padding-left: 20px; background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/50px-Edge-firefox.png); background-repeat: no-repeat; -webkit-background-size: auto 15px; background-size: auto 15px; } .alpha #li-coordinates { display: list-item; } .client-js .beta .content_block.coordinates { display: block; } .client-js .beta .content_block.coordinates .latitude { display: inline; } div.Boxmerge, div.NavFrame { margin: 0; padding: 4px; border: 1px solid #aaa; text-align: center; border-collapse: collapse; font-size: 95%; } div.Boxmerge div.NavFrame { border-style: hidden; } div.NavFrame + div.NavFrame { border-top-style: hidden; } div.NavPic { background-color: #fff; margin: 0; padding: 2px; float: left; } div.NavFrame div.NavHead { height: 1.6em; font-weight: bold; background-color: #ccccff; position: relative; } div.NavFrame p, div.NavFrame div.NavContent, div.NavFrame div.NavContent p { font-size: 100%; } div.NavEnd { margin: 0; padding: 0; line-height: 1px; clear: both; } a.NavToggle { position: absolute; top: 0; right: 3px; font-weight: normal; font-size: smaller; } 9s4eyj8xc8g2zdus5d4prcpiohs70zk 4621609 4621605 2026-05-22T19:11:21Z Ranjithsiji 22471 Fix the toggle buton in css 4621609 css text/css /* CSS placed here will affect users of the mobile site */ /* -------------------------------------------------------------------------- Mobile template hacks (see bug 54176) -------------------------------------------------------------------------- */ .mobile-float-reset { float: none !important; width: 100% !important; } /* -------------------------------------------------------------------------- Legacy navbox visibility -------------------------------------------------------------------------- */ #content .vertical-navbox, #content .navbox { display: none; } @media all and (min-width: 768px) { #content .vertical-navbox, #content .navbox { display: inherit; } } /* -------------------------------------------------------------------------- navbox-mf — full rules duplicated here because Minerva does NOT load Common.css. Every navbox-mf-* rule must exist in Mobile.css too. -------------------------------------------------------------------------- */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 0.5em 0; background-color: #fdfdfd; color: inherit; display: block; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* Suppress the auto-injected default mw-collapsible toggle; we supply our own via mw-customtoggle in the title bar. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li { display: none !important; } /* Title bar — ALWAYS visible, lives outside the collapsible body */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 2em; box-sizing: border-box; width: 100%; } .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { visibility: hidden; } .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle — span styled as a small button (MW injects the link inside) */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.2em 0.6em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; min-height: 2em; text-decoration: none; user-select: none; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } .navbox-mf-toggle a, .navbox-mf-toggle a:link, .navbox-mf-toggle a:visited, .navbox-mf-toggle a:hover, .navbox-mf-toggle a:active { color: inherit; text-decoration: none; display: inline-block; width: 100%; height: 100%; } /* Body */ .navbox-mf-body { width: 100%; } /* Above / Below */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: left; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 0.5em; } /* Rows — always stacked on mobile */ .navbox-mf-row { display: flex; flex-direction: column; /* MOBILE: group above, list below */ width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* Group — full-width header on mobile */ .navbox-mf-group { width: 100%; max-width: 100%; background-color: #ddddff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; text-align: center; display: flex; align-items: center; justify-content: center; box-sizing: border-box; border-bottom: 1px solid #e8e8ff; border-right: none; min-width: 0; } /* List — full width below group */ .navbox-mf-list { flex: 1 1 auto; width: 100%; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* Even/odd striping */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* hlist padding */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* Subgroup colours */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* -------------------------------------------------------------------------- Citations -------------------------------------------------------------------------- */ @media screen { .citation *.printonly { display: none; } } .citation { word-wrap: break-word; overflow-wrap: break-word; } /* -------------------------------------------------------------------------- Navbar template -------------------------------------------------------------------------- */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .mw-body-content .navbar ul { line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } /* -------------------------------------------------------------------------- Horizontal lists (hlist) -------------------------------------------------------------------------- */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } #content .hlist dt:after { content: ": "; } #content .hlist dd:after, #content .hlist li:after { content: " · "; font-weight: bold; } #content .hlist dd:last-child:after, #content .hlist dt:last-child:after, #content .hlist li:last-child:after { content: none; } #content .hlist dd dd:first-child:before, #content .hlist dd dt:first-child:before, #content .hlist dd li:first-child:before, #content .hlist dt dd:first-child:before, #content .hlist dt dt:first-child:before, #content .hlist dt li:first-child:before, #content .hlist li dd:first-child:before, #content .hlist li dt:first-child:before, #content .hlist li li:first-child:before { content: " ("; font-weight: normal; } #content .hlist dd dd:last-child:after, #content .hlist dd dt:last-child:after, #content .hlist dd li:last-child:after, #content .hlist dt dd:last-child:after, #content .hlist dt dt:last-child:after, #content .hlist dt li:last-child:after, #content .hlist li dd:last-child:after, #content .hlist li dt:last-child:after, #content .hlist li li:last-child:after { content: ") "; font-weight: normal; } #content .hlist ol { counter-reset: listitem; } #content .hlist ol > li { counter-increment: listitem; } #content .hlist ol > li:before { content: " " counter(listitem) " "; white-space: nowrap; } #content .hlist dd ol > li:first-child:before, #content .hlist dt ol > li:first-child:before, #content .hlist li ol > li:first-child:before { content: " (" counter(listitem) " "; } /* -------------------------------------------------------------------------- Unbulleted / plain lists -------------------------------------------------------------------------- */ .plainlist ul { list-style: none; margin: 0; padding: 0; } /* -------------------------------------------------------------------------- Compact ambox -------------------------------------------------------------------------- */ .compact-ambox table .mbox-image, .compact-ambox table .mbox-imageright, .compact-ambox table .mbox-empty-cell, .compact-ambox .hide-when-compact { display: none; } .compact-ambox table.ambox { border: none; border-collapse: collapse; background: transparent; margin: 0 0 0 1.6em !important; padding: 0 !important; width: auto; display: block; } .compact-ambox table.mbox-small-left { font-size: 100%; width: auto; margin: 0; } .compact-ambox table .mbox-text { padding: 0 !important; margin: 0 !important; } .compact-ambox table .mbox-text-span { display: list-item; line-height: 1.5em; list-style-type: square; list-style-image: url("data:image/gif;base64,R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4SpADs="); } /* -------------------------------------------------------------------------- Hatnotes -------------------------------------------------------------------------- */ .rellink, .dablink { font-style: italic; margin-bottom: 0.5em; } .rellink i, .dablink i { font-style: normal; } /* -------------------------------------------------------------------------- Geo, nowrap, permissions, topicon, stub, NavFrame -------------------------------------------------------------------------- */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct { display: none; } .longitude, .latitude { white-space: nowrap; } .nowrap, .nowraplinks a, .nowraplinks .selflink, sup.reference a { white-space: nowrap; } .wrap, .wraplinks a { white-space: normal; } .sysop-show, .accountcreator-show, .autoconfirmed-show { display: none; } .topicon { display: none; } .stub { display: none; } #li-coordinates { background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/80px-Edge-firefox.png); float: right; display: none; -webkit-background-size: auto 30px; background-size: auto 30px; } .client-js .content_block.coordinates { display: none; text-align: right; margin-bottom: 0.5em; font-size: smaller; } .client-js .content_block.coordinates .latitude { display: none; padding-left: 20px; background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/50px-Edge-firefox.png); background-repeat: no-repeat; -webkit-background-size: auto 15px; background-size: auto 15px; } .alpha #li-coordinates { display: list-item; } .client-js .beta .content_block.coordinates { display: block; } .client-js .beta .content_block.coordinates .latitude { display: inline; } div.Boxmerge, div.NavFrame { margin: 0; padding: 4px; border: 1px solid #aaa; text-align: center; border-collapse: collapse; font-size: 95%; } div.Boxmerge div.NavFrame { border-style: hidden; } div.NavFrame + div.NavFrame { border-top-style: hidden; } div.NavPic { background-color: #fff; margin: 0; padding: 2px; float: left; } div.NavFrame div.NavHead { height: 1.6em; font-weight: bold; background-color: #ccccff; position: relative; } div.NavFrame p, div.NavFrame div.NavContent, div.NavFrame div.NavContent p { font-size: 100%; } div.NavEnd { margin: 0; padding: 0; line-height: 1px; clear: both; } a.NavToggle { position: absolute; top: 0; right: 3px; font-weight: normal; font-size: smaller; } 3ujk4xhj631g4e79yf0q06cqw6rqadx 4621613 4621609 2026-05-22T19:23:14Z Ranjithsiji 22471 fix the hide button label switch problem 4621613 css text/css /* CSS placed here will affect users of the mobile site */ /* -------------------------------------------------------------------------- Mobile template hacks (see bug 54176) -------------------------------------------------------------------------- */ .mobile-float-reset { float: none !important; width: 100% !important; } /* -------------------------------------------------------------------------- Legacy navbox visibility -------------------------------------------------------------------------- */ #content .vertical-navbox, #content .navbox { display: none; } @media all and (min-width: 768px) { #content .vertical-navbox, #content .navbox { display: inherit; } } /* -------------------------------------------------------------------------- navbox-mf — full rules duplicated here because Minerva does NOT load Common.css. Every navbox-mf-* rule must exist in Mobile.css too. -------------------------------------------------------------------------- */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 0.5em 0; background-color: #fdfdfd; color: inherit; display: block; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* Suppress the auto-injected default mw-collapsible toggle; we supply our own via mw-customtoggle in the title bar. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li { display: none !important; } /* Title bar — ALWAYS visible, lives outside the collapsible body */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 2em; box-sizing: border-box; width: 100%; } .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { visibility: hidden; } .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle — span supplied with two child labels for hide/show */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.2em 0.6em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; min-height: 2em; text-decoration: none; user-select: none; display: inline-flex; align-items: center; justify-content: center; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } /* Label swap based on body's .mw-collapsed state (uses :has()) */ .navbox-mf-toggle-hide, .navbox-mf-toggle-show { display: inline; } .navbox-mf:has(> .navbox-mf-body.mw-collapsed) .navbox-mf-toggle-hide { display: none; } .navbox-mf:not(:has(> .navbox-mf-body.mw-collapsed)) .navbox-mf-toggle-show { display: none; } /* Body */ .navbox-mf-body { width: 100%; } /* Above / Below */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: left; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 0.5em; } /* Rows — always stacked on mobile */ .navbox-mf-row { display: flex; flex-direction: column; /* MOBILE: group above, list below */ width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* Group — full-width header on mobile */ .navbox-mf-group { width: 100%; max-width: 100%; background-color: #ddddff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; text-align: center; display: flex; align-items: center; justify-content: center; box-sizing: border-box; border-bottom: 1px solid #e8e8ff; border-right: none; min-width: 0; } /* List — full width below group */ .navbox-mf-list { flex: 1 1 auto; width: 100%; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* Even/odd striping */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* hlist padding */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* Subgroup colours */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* -------------------------------------------------------------------------- Citations -------------------------------------------------------------------------- */ @media screen { .citation *.printonly { display: none; } } .citation { word-wrap: break-word; overflow-wrap: break-word; } /* -------------------------------------------------------------------------- Navbar template -------------------------------------------------------------------------- */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .mw-body-content .navbar ul { line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } /* -------------------------------------------------------------------------- Horizontal lists (hlist) -------------------------------------------------------------------------- */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } #content .hlist dt:after { content: ": "; } #content .hlist dd:after, #content .hlist li:after { content: " · "; font-weight: bold; } #content .hlist dd:last-child:after, #content .hlist dt:last-child:after, #content .hlist li:last-child:after { content: none; } #content .hlist dd dd:first-child:before, #content .hlist dd dt:first-child:before, #content .hlist dd li:first-child:before, #content .hlist dt dd:first-child:before, #content .hlist dt dt:first-child:before, #content .hlist dt li:first-child:before, #content .hlist li dd:first-child:before, #content .hlist li dt:first-child:before, #content .hlist li li:first-child:before { content: " ("; font-weight: normal; } #content .hlist dd dd:last-child:after, #content .hlist dd dt:last-child:after, #content .hlist dd li:last-child:after, #content .hlist dt dd:last-child:after, #content .hlist dt dt:last-child:after, #content .hlist dt li:last-child:after, #content .hlist li dd:last-child:after, #content .hlist li dt:last-child:after, #content .hlist li li:last-child:after { content: ") "; font-weight: normal; } #content .hlist ol { counter-reset: listitem; } #content .hlist ol > li { counter-increment: listitem; } #content .hlist ol > li:before { content: " " counter(listitem) " "; white-space: nowrap; } #content .hlist dd ol > li:first-child:before, #content .hlist dt ol > li:first-child:before, #content .hlist li ol > li:first-child:before { content: " (" counter(listitem) " "; } /* -------------------------------------------------------------------------- Unbulleted / plain lists -------------------------------------------------------------------------- */ .plainlist ul { list-style: none; margin: 0; padding: 0; } /* -------------------------------------------------------------------------- Compact ambox -------------------------------------------------------------------------- */ .compact-ambox table .mbox-image, .compact-ambox table .mbox-imageright, .compact-ambox table .mbox-empty-cell, .compact-ambox .hide-when-compact { display: none; } .compact-ambox table.ambox { border: none; border-collapse: collapse; background: transparent; margin: 0 0 0 1.6em !important; padding: 0 !important; width: auto; display: block; } .compact-ambox table.mbox-small-left { font-size: 100%; width: auto; margin: 0; } .compact-ambox table .mbox-text { padding: 0 !important; margin: 0 !important; } .compact-ambox table .mbox-text-span { display: list-item; line-height: 1.5em; list-style-type: square; list-style-image: url("data:image/gif;base64,R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4SpADs="); } /* -------------------------------------------------------------------------- Hatnotes -------------------------------------------------------------------------- */ .rellink, .dablink { font-style: italic; margin-bottom: 0.5em; } .rellink i, .dablink i { font-style: normal; } /* -------------------------------------------------------------------------- Geo, nowrap, permissions, topicon, stub, NavFrame -------------------------------------------------------------------------- */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct { display: none; } .longitude, .latitude { white-space: nowrap; } .nowrap, .nowraplinks a, .nowraplinks .selflink, sup.reference a { white-space: nowrap; } .wrap, .wraplinks a { white-space: normal; } .sysop-show, .accountcreator-show, .autoconfirmed-show { display: none; } .topicon { display: none; } .stub { display: none; } #li-coordinates { background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/80px-Edge-firefox.png); float: right; display: none; -webkit-background-size: auto 30px; background-size: auto 30px; } .client-js .content_block.coordinates { display: none; text-align: right; margin-bottom: 0.5em; font-size: smaller; } .client-js .content_block.coordinates .latitude { display: none; padding-left: 20px; background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/50px-Edge-firefox.png); background-repeat: no-repeat; -webkit-background-size: auto 15px; background-size: auto 15px; } .alpha #li-coordinates { display: list-item; } .client-js .beta .content_block.coordinates { display: block; } .client-js .beta .content_block.coordinates .latitude { display: inline; } div.Boxmerge, div.NavFrame { margin: 0; padding: 4px; border: 1px solid #aaa; text-align: center; border-collapse: collapse; font-size: 95%; } div.Boxmerge div.NavFrame { border-style: hidden; } div.NavFrame + div.NavFrame { border-top-style: hidden; } div.NavPic { background-color: #fff; margin: 0; padding: 2px; float: left; } div.NavFrame div.NavHead { height: 1.6em; font-weight: bold; background-color: #ccccff; position: relative; } div.NavFrame p, div.NavFrame div.NavContent, div.NavFrame div.NavContent p { font-size: 100%; } div.NavEnd { margin: 0; padding: 0; line-height: 1px; clear: both; } a.NavToggle { position: absolute; top: 0; right: 3px; font-weight: normal; font-size: smaller; } p3t8bk5fxujp54h5vdpn5u9wx2wiqvw 4621617 4621613 2026-05-22T19:31:16Z Ranjithsiji 22471 update the switch show/hide toggle problem 4621617 css text/css /* CSS placed here will affect users of the mobile site */ /* -------------------------------------------------------------------------- Mobile template hacks (see bug 54176) -------------------------------------------------------------------------- */ .mobile-float-reset { float: none !important; width: 100% !important; } /* -------------------------------------------------------------------------- Legacy navbox visibility -------------------------------------------------------------------------- */ #content .vertical-navbox, #content .navbox { display: none; } @media all and (min-width: 768px) { #content .vertical-navbox, #content .navbox { display: inherit; } } /* -------------------------------------------------------------------------- navbox-mf — full rules duplicated here because Minerva does NOT load Common.css. Every navbox-mf-* rule must exist in Mobile.css too. -------------------------------------------------------------------------- */ .navbox-mf { box-sizing: border-box; border: 1px solid #a2a9b1; width: 100%; clear: both; font-size: 88%; margin: 0.5em 0; background-color: #fdfdfd; color: inherit; display: block; } .navbox-mf + .navbox-mf { margin-top: -1px; } .navbox-mf .navbox-mf { margin-top: 0; border: none; } .navbox-mf-subgroup { border: none; margin: 0; width: 100%; } /* Suppress the auto-injected default mw-collapsible toggle; we supply our own via mw-customtoggle in the title bar. */ .navbox-mf .mw-collapsible-toggle, .navbox-mf .mw-collapsible-toggle-default, .navbox-mf > .mw-collapsible-toggle-li { display: none !important; } /* Title bar — ALWAYS visible, lives outside the collapsible body */ .navbox-mf-title { display: flex; flex-direction: row; align-items: center; flex-wrap: nowrap; background-color: #ccccff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; font-size: 114%; gap: 0.25em; min-height: 2em; box-sizing: border-box; width: 100%; } .navbox-mf-navbar { flex: 0 0 auto; font-size: 88%; font-weight: normal; text-align: left; min-width: 3em; } .navbox-mf-navbar-empty { visibility: hidden; } .navbox-mf-title-text { flex: 1 1 auto; text-align: center; min-width: 0; } /* Toggle — span supplied with two child labels for hide/show */ .navbox-mf-toggle { flex: 0 0 auto; font-size: smaller; font-weight: normal; background: transparent; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 2px; padding: 0.2em 0.6em; cursor: pointer; white-space: nowrap; color: inherit; min-width: 4em; text-align: center; line-height: 1.4em; min-height: 2em; text-decoration: none; user-select: none; display: inline-flex; align-items: center; justify-content: center; } .navbox-mf-toggle:hover, .navbox-mf-toggle:focus { background: rgba(0, 0, 0, 0.07); } /* Label swap based on body's .mw-collapsed state (uses :has()) */ .navbox-mf-toggle-hide { display: inline; } .navbox-mf-toggle-show { display: none; } @supports selector(:has(*)) { .navbox-mf:has(.navbox-mf-body.mw-collapsed) .navbox-mf-toggle-hide { display: none; } .navbox-mf:has(.navbox-mf-body.mw-collapsed) .navbox-mf-toggle-show { display: inline; } } /* Body */ .navbox-mf-body { width: 100%; } /* Above / Below */ .navbox-mf-abovebelow { background-color: #ddddff; line-height: 1.5em; text-align: left; width: 100%; box-sizing: border-box; } .navbox-mf-abovebelow .navbox-mf-cell { padding: 0.25em 0.5em; } /* Rows — always stacked on mobile */ .navbox-mf-row { display: flex; flex-direction: column; /* MOBILE: group above, list below */ width: 100%; box-sizing: border-box; border-top: 1px solid #e8e8ff; } .navbox-mf-body > .navbox-mf-row:first-child, .navbox-mf-abovebelow + .navbox-mf-row { border-top: none; } /* Group — full-width header on mobile */ .navbox-mf-group { width: 100%; max-width: 100%; background-color: #ddddff; padding: 0.3em 0.5em; line-height: 1.5em; font-weight: bold; text-align: center; display: flex; align-items: center; justify-content: center; box-sizing: border-box; border-bottom: 1px solid #e8e8ff; border-right: none; min-width: 0; } /* List — full width below group */ .navbox-mf-list { flex: 1 1 auto; width: 100%; min-width: 0; text-align: left; line-height: 1.5em; box-sizing: border-box; padding: 0; } /* Even/odd striping */ .navbox-mf-odd .navbox-mf-list { background-color: transparent; } .navbox-mf-even .navbox-mf-list { background-color: #f7f7f7; } /* hlist padding */ .navbox-mf .hlist dl, .navbox-mf .hlist ol, .navbox-mf .hlist ul { padding: 0.125em 0; } /* Subgroup colours */ .navbox-mf-subgroup .navbox-mf-title { background-color: #ddddff; font-size: 100%; } .navbox-mf-subgroup .navbox-mf-group { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-abovebelow { background-color: #e6e6ff; } .navbox-mf-subgroup .navbox-mf-toggle { display: none; } /* -------------------------------------------------------------------------- Citations -------------------------------------------------------------------------- */ @media screen { .citation *.printonly { display: none; } } .citation { word-wrap: break-word; overflow-wrap: break-word; } /* -------------------------------------------------------------------------- Navbar template -------------------------------------------------------------------------- */ .navbar { display: inline; font-size: 88%; font-weight: normal; } .navbar ul { display: inline; white-space: nowrap; } .mw-body-content .navbar ul { line-height: inherit; } .navbar li { word-spacing: -0.125em; } .navbar.mini li abbr[title] { font-variant: small-caps; border-bottom: none; text-decoration: none; cursor: inherit; } .infobox .navbar { font-size: 100%; } .navbox .navbar { display: block; font-size: 100%; } /* -------------------------------------------------------------------------- Horizontal lists (hlist) -------------------------------------------------------------------------- */ .hlist dl, .hlist ol, .hlist ul { margin: 0; padding: 0; } .hlist dd, .hlist dt, .hlist li { margin: 0; display: inline; } .hlist.inline, .hlist.inline dl, .hlist.inline ol, .hlist.inline ul, .hlist dl dl, .hlist dl ol, .hlist dl ul, .hlist ol dl, .hlist ol ol, .hlist ol ul, .hlist ul dl, .hlist ul ol, .hlist ul ul { display: inline; } #content .hlist dt:after { content: ": "; } #content .hlist dd:after, #content .hlist li:after { content: " · "; font-weight: bold; } #content .hlist dd:last-child:after, #content .hlist dt:last-child:after, #content .hlist li:last-child:after { content: none; } #content .hlist dd dd:first-child:before, #content .hlist dd dt:first-child:before, #content .hlist dd li:first-child:before, #content .hlist dt dd:first-child:before, #content .hlist dt dt:first-child:before, #content .hlist dt li:first-child:before, #content .hlist li dd:first-child:before, #content .hlist li dt:first-child:before, #content .hlist li li:first-child:before { content: " ("; font-weight: normal; } #content .hlist dd dd:last-child:after, #content .hlist dd dt:last-child:after, #content .hlist dd li:last-child:after, #content .hlist dt dd:last-child:after, #content .hlist dt dt:last-child:after, #content .hlist dt li:last-child:after, #content .hlist li dd:last-child:after, #content .hlist li dt:last-child:after, #content .hlist li li:last-child:after { content: ") "; font-weight: normal; } #content .hlist ol { counter-reset: listitem; } #content .hlist ol > li { counter-increment: listitem; } #content .hlist ol > li:before { content: " " counter(listitem) " "; white-space: nowrap; } #content .hlist dd ol > li:first-child:before, #content .hlist dt ol > li:first-child:before, #content .hlist li ol > li:first-child:before { content: " (" counter(listitem) " "; } /* -------------------------------------------------------------------------- Unbulleted / plain lists -------------------------------------------------------------------------- */ .plainlist ul { list-style: none; margin: 0; padding: 0; } /* -------------------------------------------------------------------------- Compact ambox -------------------------------------------------------------------------- */ .compact-ambox table .mbox-image, .compact-ambox table .mbox-imageright, .compact-ambox table .mbox-empty-cell, .compact-ambox .hide-when-compact { display: none; } .compact-ambox table.ambox { border: none; border-collapse: collapse; background: transparent; margin: 0 0 0 1.6em !important; padding: 0 !important; width: auto; display: block; } .compact-ambox table.mbox-small-left { font-size: 100%; width: auto; margin: 0; } .compact-ambox table .mbox-text { padding: 0 !important; margin: 0 !important; } .compact-ambox table .mbox-text-span { display: list-item; line-height: 1.5em; list-style-type: square; list-style-image: url("data:image/gif;base64,R0lGODlhBQANAIAAAGOMnP///yH5BAEAAAEALAAAAAAFAA0AAAIJjI+pu+APo4SpADs="); } /* -------------------------------------------------------------------------- Hatnotes -------------------------------------------------------------------------- */ .rellink, .dablink { font-style: italic; margin-bottom: 0.5em; } .rellink i, .dablink i { font-style: normal; } /* -------------------------------------------------------------------------- Geo, nowrap, permissions, topicon, stub, NavFrame -------------------------------------------------------------------------- */ .geo-default, .geo-dms, .geo-dec { display: inline; } .geo-nondefault, .geo-multi-punct { display: none; } .longitude, .latitude { white-space: nowrap; } .nowrap, .nowraplinks a, .nowraplinks .selflink, sup.reference a { white-space: nowrap; } .wrap, .wraplinks a { white-space: normal; } .sysop-show, .accountcreator-show, .autoconfirmed-show { display: none; } .topicon { display: none; } .stub { display: none; } #li-coordinates { background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/80px-Edge-firefox.png); float: right; display: none; -webkit-background-size: auto 30px; background-size: auto 30px; } .client-js .content_block.coordinates { display: none; text-align: right; margin-bottom: 0.5em; font-size: smaller; } .client-js .content_block.coordinates .latitude { display: none; padding-left: 20px; background-image: url(//upload.wikimedia.org/wikipedia/commons/thumb/5/57/Edge-firefox.png/50px-Edge-firefox.png); background-repeat: no-repeat; -webkit-background-size: auto 15px; background-size: auto 15px; } .alpha #li-coordinates { display: list-item; } .client-js .beta .content_block.coordinates { display: block; } .client-js .beta .content_block.coordinates .latitude { display: inline; } div.Boxmerge, div.NavFrame { margin: 0; padding: 4px; border: 1px solid #aaa; text-align: center; border-collapse: collapse; font-size: 95%; } div.Boxmerge div.NavFrame { border-style: hidden; } div.NavFrame + div.NavFrame { border-top-style: hidden; } div.NavPic { background-color: #fff; margin: 0; padding: 2px; float: left; } div.NavFrame div.NavHead { height: 1.6em; font-weight: bold; background-color: #ccccff; position: relative; } div.NavFrame p, div.NavFrame div.NavContent, div.NavFrame div.NavContent p { font-size: 100%; } div.NavEnd { margin: 0; padding: 0; line-height: 1px; clear: both; } a.NavToggle { position: absolute; top: 0; right: 3px; font-weight: normal; font-size: smaller; } oo7tmigu6sdrs1xczsuauziphr8474r ഇന്ത്യയിലെ ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക 0 269906 4621595 4619713 2026-05-22T17:43:30Z ~2026-30763-49 218189 /* ഇന്ത്യയിലെ ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാർ */ 4621595 wikitext text/x-wiki {{prettyurl|List of current Indian chief ministers}} [[പ്രമാണം:Current Indian ruling and opposition parties 2026.png|ലഘുചിത്രം|മുഖ്യമന്ത്രിമാരുടെ കക്ഷി അനുസരിച്ച് ഇന്ത്യയിലെ സംസ്ഥാനങ്ങൾ {{legend|{{Bharatiya Janata Party/meta/color}}|[[ഭാരതീയ ജനതാ പാർട്ടി]]|outline=grey}} {{legend|{{Indian National Congress/meta/color}}|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]]|outline=grey}} {{legend|#C8C8C8|[[രാഷ്ട്രപതി ഭരണം]]|outline=grey}} <maplink latitude="21" longitude="78" zoom="5" width="500" height="500" text="CMs in India"> { "type": "ExternalData", "service": "geoshape", "query": " SELECT ?id ?head (SAMPLE(?img) as ?img) (min(?partyId) as ?party) (if(?party = '0', '#800000', if(?party = '1', '#000080', '#008000')) as ?fill) (concat('[[', substr(str(?link),31,500), '|', ?headLabel, ']]') as ?title) (concat(?stateLabel, '\\n', '[[File:', substr(str(?img), 52, 500), '|200px]]') as ?description) WHERE { ?id wdt:P31 wd:Q13390680 . ?id wdt:P6 ?head . SERVICE wikibase:label { bd:serviceParam wikibase:language 'ml' . ?head rdfs:label ?headLabel . ?id rdfs:label ?stateLabel . } OPTIONAL { ?head wdt:P18 ?img . } ?link schema:about ?head . ?link schema:isPartOf <https://ml.wikipedia.org/> . } GROUP BY ?id ?head ?headLabel ?link ?stateLabel "} </maplink>]] [[പ്രമാണം:Alliances of the Ruling Parties of Indian States (as of May 2026).png|ലഘുചിത്രം|മുഖ്യമന്ത്രിമാരുടെ സഖ്യം അനുസരിച്ച് ഇന്ത്യയിലെ സംസ്ഥാനങ്ങൾ]] {{legend|{{National Democratic Alliance/meta/color}}|[[ദേശീയ ജനാധിപത്യ സഖ്യം]] (NDA)|outline=grey}} {{legend|{{Indian National Congress/meta/color}}|[[ഇന്ത്യൻ നാഷണൽ ഡവലപ്പ്മെൻ്റൽ ഇൻക്ലൂസീവ് അലയൻസ്]] (INDIA)|outline=grey}} {{legend|#8B0000|സഖ്യമില്ലാത്തവ|outline=Black}} [[ഇന്ത്യ]]യിലെ [[ഇന്ത്യയിലെ സംസ്ഥാനങ്ങളും കേന്ദ്രഭരണപ്രദേശങ്ങളും|28 സംസ്ഥാനങ്ങൾ, 3 കേന്ദ്രഭരണപ്രദേശങ്ങൾ]] (ഡെൽഹിയും പുതുച്ചേരിയും ജമ്മുകാശ്മീരും) എന്നിവയൊരൊന്നിന്റെയും സർക്കാർത്തലവന്മാരാണ് [[മുഖ്യമന്ത്രി (ഇന്ത്യ)|മുഖ്യമന്ത്രി]]. [[ഇന്ത്യൻ ഭരണഘടന]]യനുസരിച്ച് സംസ്ഥാനത്തലത്തിൽ ''ഡി ജൂറി'' തലവൻ [[ഗവർണ്ണർ]] ആണെങ്കിൽ ''ഡി ഫാക്ടോ'' ഭരണകർത്താവ് മുഖ്യമന്ത്രിയാണ്. നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ ഏറ്റവും കൂടുതൽ സീറ്റ് കിട്ടുന്ന കക്ഷിയുടെ/മുന്നണിയുടെ നിയമസഭാകക്ഷിനേതാവിനെയാണ് മന്ത്രിസഭയുണ്ടാക്കാൻ ഗവർണർ ക്ഷണിക്കുന്നത്. മുഖ്യമന്ത്രിയെ നിയമിക്കുന്നത് ഗവർണറാണ്. മുഖ്യമന്ത്രി തലവനായ മന്ത്രിസഭയിലെ അംഗങ്ങൾക്കെല്ലാം ഭരണം സുഗമമാക്കുന്നതിൽ കൂട്ടുത്തരവാദിത്വമാണുള്ളത്. ഭൂരിപക്ഷ പിന്തുണയോടെ അധികാരത്തിലേറി കഴിഞ്ഞാൽ മുഖ്യമന്ത്രിയുടെ ഭരണകാലാവധി സാധാരണ 5 വർഷമാണ്; ഒരാൾക്ക് എത്ര തവണ മുഖ്യമന്ത്രിയാകണമെന്നതിനു പരിധിയൊന്നുമില്ല.<ref>[[Durga Das Basu]]. ''Introduction to the Constitution of India''. 1960. 20th edition, 2011 reprint. pp. 241, 245. LexisNexis Butterworths Wadhwa Nagpur. ISBN 978-81-8038-559-9.</ref> നിലവിലെ 31 മുഖ്യമന്ത്രിമാരിൽ, ഒരു വനിതയാണുള്ളത് - [[മമത ബാനർജി]] (പശ്ചിമ ബംഗാൾ). ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാരിൽ പ്രായം കൂടിയത് മിസ്സോറാമിന്റെ [[സോരംതംഗ]] (ജ. 13 ജൂലൈ 1944) ആണ്.<ref>Ajoy Ashirwad Mahaprashasta. "[http://www.frontline.in/static/html/fl2906/stories/20120406290601700.htm Bucking the trend]". ''[[Frontline (magazine)|Frontline]]''. Volume 29, issue 6, 24 March – 6 April 2012.</ref> എന്നാൽ, പ്രായം കുറഞ്ഞ മുഖ്യമന്ത്രി അരുണാചൽ പ്രദേശിന്റെ [[Pema Khandu|പെമാ ഖണ്ഡുവാണ്]] (ജ. 1979).<ref>"[http://www.thehindu.com/news/national/meet-pema-khandu-indias-youngest-chief-minister/article8862288.ece Meet Pema Khandu: India’s youngest Chief Minister]". ''[[The Hindu]]''. 17 July 2016.</ref> ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാരിൽ 15 പേർ [[Bharatiya Janata Party|ഭാരതീയ ജനത പാർട്ടി]]യെയും, മൂന്നുപേർ [[Indian National Congress|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിനെയും]]<nowiki/>പ്രതിനിധീകരിക്കുന്നു; മറ്റൊരു രാഷ്ട്രീയകക്ഷിയ്ക്കും ഒന്നിൽ കൂടുതൽ മുഖ്യമന്ത്രിമാർ ഭരണത്തിലില്ല. ==ഇന്ത്യയിലെ ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാർ== {| class="toccolours" style="width:75em" ! പാർട്ടികളുടെ നിറസൂചകങ്ങൾ |- | {{colbegin|colwidth=23em}} {{legend|{{party color|Aam Aadmi Party}}|[[ആം ആദ്മി പാർട്ടി]]|outline=#000000}} {{legend|{{party color|All India N.R. Congress}}|[[ഓൾ ഇന്ത്യ എൻ.ആർ കോൺഗ്രസ്]]|outline=#000000}} {{legend|{{party color|All India Trinamool Congress}}|[[തൃണമൂൽ കോൺഗ്രസ്]]|outline=#000000}} {{legend|{{party color|Bharatiya Janata Party}}|[[ഭാരതീയ ജനതാ പാർട്ടി]]|outline=#000000}} {{legend|{{party color|Communist Party of India (Marxist)}}|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]]|outline=#000000}} {{legend|{{party color|Dravida Munnetra Kazhagam}}|[[ദ്രാവിഡ മുന്നേറ്റ കഴകം]]|outline=#000000}} {{legend|{{party color|Indian National Congress}}|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]]|outline=#000000}} {{legend|{{party color|Janata Dal (United)}}|[[ജനതാദൾ (യുനൈറ്റഡ്)]]|outline=#000000}} {{legend|{{party color|Jharkhand Mukti Morcha}}|[[ഝാർഖണ്ഡ്‌ മുക്തി മോർച്ച]]|outline=#000000}} {{legend|{{party color|National Democratic Progressive Party}}|[[നാഷണലിസ്റ്റ് ഡെമോക്രാറ്റിക് പ്രോഗ്രസീവ് പാർട്ടി]]|outline=#000000}} {{legend|{{party color|National People's Party (India)}}|[[നാഷണൽ പീപ്പിൾസ് പാർട്ടി (ഇന്ത്യ)|നാഷണൽ പീപ്പിൾസ് പാർട്ടി]]|outline=#000000}} {{legend|{{party color|Sikkim Krantikari Morcha}}|[[സിക്കിം ക്രാന്തികാരി മോർച്ച]]|outline=#000000}} {{legend|{{party color|Telugu Desam Party}}|[[തെലുങ്കു ദേശം പാർട്ടി]]|outline=#000000}} {{legend|{{dark red}} |([[നാഷണൽ കോൺഫെറൻസ്]])|outline=#000000}} {{colend}} |} {| class="wikitable sortable" style="text-align:center; width:100%" |- !scope=col| സംസ്ഥാനം<br /> !scope=col| പേര്<ref>[https://www.india.gov.in/my-government/whos-who/chief-ministers Chief Ministers] {{Webarchive|url=https://web.archive.org/web/20190809151722/https://www.india.gov.in/my-government/whos-who/chief-ministers |date=9 August 2019 }}. [[India.gov.in]]. Retrieved on 9 July 2019.</ref> !scope=col class=unsortable| ചിത്രം !scope=col| ചുമതലയേറ്റത്<br />{{small|(കാലാവധി ദൈർഘ്യം)}} !scope=col colspan=2| {{efn|ഈ കോളത്തിൽ മുഖ്യമന്ത്രിയുടെ പാർട്ടിയുടെ പേര് മാത്രമേ പറയുന്നുള്ളൂ. അദ്ദേഹം നയിക്കുന്ന മന്ത്രാലയം(ങ്ങൾ) നിരവധി പാർട്ടികളുടെയും സ്വതന്ത്രരുടെയും സങ്കീർണ്ണമായ ഒരു സഖ്യമായിരിക്കാം; അവ ഇവിടെ പട്ടികപ്പെടുത്തിയിട്ടില്ല.}}രാഷ്ട്രീയ പാർട്ടി ! colspan="2" |സഖ്യം !scope=col| മന്ത്രിസഭ !scope=col class=unsortable| Ref |- | [[ആന്ധ്രാപ്രദേശ്‌]]<br />{{small|([[ആന്ധ്രാപ്രദേശ്‌ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[എൻ. ചന്ദ്രബാബു നായിഡു|എൻ. ചന്ദ്രബാബു നായിഡു]] | [[File:The_Chief_Minister_of_Andhra_Pradesh,_Shri_N._Chandrababu_Nayidu.jpg|border|center|183x183px]] | {{dts|format=dmy|2019|5|30}}<br /><small>({{ayd|2019|5|30}})</small> | [[തെലുങ്കു ദേശം പാർട്ടി]] | width="4px" bgcolor="Yellow" | |NDA |[[N. Chandrababu Naidu ministry|Nayidu 4]] |<ref>"[https://economictimes.indiatimes.com/news/politics-and-nation/jagan-mohan-reddy-takes-oath-as-andhra-pradesh-cm/articleshow/69576201.cms Jagan Mohan Reddy takes oath as Andhra Pradesh CM] {{Webarchive|url=https://web.archive.org/web/20190604104738/https://economictimes.indiatimes.com/news/politics-and-nation/jagan-mohan-reddy-takes-oath-as-andhra-pradesh-cm/articleshow/69576201.cms |date=4 June 2019 }}". ''The Economic Times''. Press Trust of India. 30 May 2019.</ref> |- | [[അരുണാചൽ പ്രദേശ്]]<br />{{small|([[List of chief ministers of Arunachal Pradesh|list]])}} ! [[പേമ ഖണ്ഡു]] | [[File:Pema_Khandu_in_July_2016.jpg|border|center|166x166px]] | {{dts|format=dmy|2016|7|17}}<br /><small>({{ayd|2016|7|17}})</small> | rowspan="2" | [[ഭാരതീയ ജനതാ പാർട്ടി]] | rowspan="2" width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="2" | [[National Democratic Alliance|NDA]] | rowspan="2" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Second Pema Khandu ministry|Khandu II]] |<ref>"[http://www.thehindu.com/news/national/Pema-Khandu-sworn-in-as-Chief-Minister-of-Arunachal-Pradesh/article14494230.ece Pema Khandu sworn in as Chief Minister of Arunachal Pradesh] {{Webarchive|url=https://web.archive.org/web/20190713182538/https://www.thehindu.com/news/national/Pema-Khandu-sworn-in-as-Chief-Minister-of-Arunachal-Pradesh/article14494230.ece |date=13 July 2019 }}". ''The Hindu''. 17 July 2016.</ref><ref>"[http://www.thehindu.com/news/national/other-states/BJP-forms-govt-in-Arunachal-Pradesh/article16969345.ece BJP forms govt in Arunachal Pradesh] {{Webarchive|url=https://web.archive.org/web/20180303125941/http://www.thehindu.com/news/national/other-states/BJP-forms-govt-in-Arunachal-Pradesh/article16969345.ece |date=3 March 2018 }}". ''The Hindu''. 31 December 2016.</ref> |- |[[ആസാം]]<br />{{small|([[List of chief ministers of Assam|list]])}} ! [[ഹിമന്ത ബിശ്വ ശർമ്മ]] | [[File:Himanta Biswa Sarma with PM Narendra Modi Cropped.jpg|150px]] | {{dts|format=dmy|2021|5|10}}<br /><small>({{ayd|2021|5|10}})</small> | [[Sarma ministry|Sarma I]] |<ref>{{Cite web|date=9 May 2021|title=Himanta Biswa Sarma to be new Assam CM; credited as man behind BJP's surge in North East-Politics News , Firstpost|url=https://www.firstpost.com/politics/himanta-biswa-sarma-to-be-new-assam-cm-credited-as-man-behind-bjps-surge-in-north-east-9358121.html|acces0 May 2021|website=Firstpost}}</ref><ref>{{Cite web|date=10 May 2021|title=Himanta Biswa Sarma Swearing-in LIVE Updates: JP Nadda to Attend Oath-Taking Ceremony|url=https://www.news18.com/news/politics/himanta-biswa-sarma-swearing-in-live-updates-sarbananda-sonowal-bjp-assam-pm-narendra-modi-jp-nadda-3722531.html|access-date=10 May 2021|website=www.news18.com|language=en}}</ref> |- | [[ബിഹാർ]]<br />{{small|([[List of chief ministers of Bihar|list]])}} ! [[നിതീഷ് കുമാർ]] | [[File:Nitish Kumar in February 2007.jpg|183px]] | {{dts|format=dmy|2015|2|22}}<br /><small>({{ayd|2015|2|22}})</small> | [[ജനതാദൾ (യുനൈറ്റഡ്)]] | width="4px" bgcolor="{{party color|Janata Dal (United)}}" | |[[National Democratic Alliance|NDA]] |width="4px" bgcolor="{{Party color|Bharatiya Janatha Party}}" | | [[Eighth Nitish Kumar ministry|Nitish Kumar VIII]] |<ref>{{cite news|last1=Kumar|first1=Arun|title=Grand Alliance to NDA: Nitish Kumar changes partner, continues as Bihar CM|url=http://www.hindustantimes.com/india-news/nitish-kumar-to-take-oath-as-bihar-cm-today-has-to-prove-majority-in-2-days/story-WBikrjP7rhks4sQHEFGWkN.html|access-date=27 July 2017|work=[[Hindustan Times]]|date=27 July 2017|location=Patna|language=en|archive-url=https://web.archive.org/web/20170727062156/http://www.hindustantimes.com/india-news/nitish-kumar-to-take-oath-as-bihar-cm-today-has-to-prove-majority-in-2-days/story-WBikrjP7rhks4sQHEFGWkN.html|archive-date=27 July 2017|url-status=live}}</ref> |- | [[ഛത്തീസ്‌ഗഢ്]]<br />{{small|([[ഛത്തീസ്‌ഗഢ് മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[വിഷ്ണു ദേവ് സായി]] | [[File:Vishnu_Deo_Sai,_June_2023.jpg|border|center|156x156px]] | {{dts|format=dmy|2023|12|3}}<br /><small>({{ayd|2023|12|3}})</small> | [[Bharatiya Janatha Party]] | width="4px" bgcolor="{{party color|Bharatiya Janatha Party}}" | |[[National Democratic Alliance|NDA]] |width="4px" bgcolor="{{}}" | |[[Sai ministry|Sai I]] |<ref>"[https://www.thehindu.com/elections/chhattisgarh-assembly-elections-2018/bhupesh-baghel-sworn-in-as-chief-minister-of-chhattisgarh/article25764821.ece Bhupesh Baghel sworn in as Chief Minister of Chhattisgarh] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/elections/chhattisgarh-assembly-elections-2018/bhupesh-baghel-sworn-in-as-chief-minister-of-chhattisgarh/article25764821.ece |date=18 December 2018 }}". ''The Hindu''. 17 December 2018.</ref> |- | [[ഡെൽഹി]]{{efn|name=UT|Although Delhi, Jammu and Kashmir and Puducherry each have an elected legislature and a council of ministers (headed by the chief minister), they are officially [[Union territory|union territories]].}}<br />{{small|([[List of chief ministers of Delhi|list]])}} ! [[അരവിന്ദ് കെജ്രിവാൾ]] | [[File:Arvind_Kejriwal_smiling_(cropped).jpg|border|center|125x125px]] | {{dts|format=dmy|2015|2|14}}<br /><small>({{ayd|2015|2|14}})</small> | [[ആം ആദ്മി പാർട്ടി]] | width="4px" bgcolor="{{party color|Aam Aadmi Party}}" | | None | |[[Third Kejriwal ministry|Kejriwal III]] |<ref>{{cite news|first1=Smriti |last1=Kak Ramachandran |first2=Shubhomoy |last2=Sikdar |url=http://www.thehindu.com/news/cities/Delhi/kejriwal-takes-oath-as-delhi-cm-promises-to-act-against-graft/article6895671.ece |title=Kejriwal promises to make Delhi graft-free in 5 years |archive-url=https://web.archive.org/web/20180303125941/http://www.thehindu.com/news/cities/Delhi/kejriwal-takes-oath-as-delhi-cm-promises-to-act-against-graft/article6895671.ece |archive-date=3 March 2018 |access-date=13 March 2022 |work=The Hindu |date=14 February 2015 }}</ref> |- | [[ഗോവ]]<br />{{small|([[ഗോവയിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[പ്രമോദ് സാവന്ത്]] | [[File:The_Chief_Minister_of_Goa,_Shri_Pramod_Sawant.jpg|border|center|160x160px]] | {{dts|format=dmy|2019|3|19}}<br /><small>({{ayd|2019|3|19}})</small> | rowspan="4" | [[ഭാരതീയ ജനതാ പാർട്ടി]] | rowspan="4" width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="4" | [[National Democratic Alliance|NDA]] | rowspan="4" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Second Pramod Sawant ministry|Sawant II]] |<ref>{{cite news| first=Murari |last=Shetye |url=https://timesofindia.indiatimes.com/india/goa-speaker-pramod-sawant-succeeds-parrikar-as-cm/articleshow/68473049.cms |title=Goa speaker Pramod Sawant succeeds Parrikar as CM |archive-url=https://web.archive.org/web/20190319124214/https://timesofindia.indiatimes.com/india/goa-speaker-pramod-sawant-succeeds-parrikar-as-cm/articleshow/68473049.cms |archive-date=19 March 2019 |work=The Times of India |date=19 March 2019 |access-date=13 March 2022}}</ref> |- | [[ഗുജറാത്ത്]]<br />{{small|([[ഗുജറാത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[ഭൂപേന്ദ്രഭായ് പട്ടേൽ]] | [[File:Bhupendra PAtel Sanskrit.jpg|border|center|125x125px]] | {{dts|format=dmy|2021|09|13}}<br /><small>({{ayd|2021|09|13}})</small> | [[Bhupendrabhai Patel ministry|Patel I]] |13 |- | [[ഹരിയാണ]]<br />{{small|([[List of chief ministers of Haryana|list]])}} ! [[മനോഹർ ലാൽ ഖട്ടാർ]] |[[File:Chief_Minister_of_Haryana_Shri_Manohar_Lal.jpg|border|center|136x136px]] | {{dts|format=dmy|2014|10|26}}<br /><small>({{ayd|2014|10|26}})</small> |[[Second Khattar ministry|Khattar II]] |<ref>{{cite news| first=Sarabjit |last=Pandher |url=http://www.thehindu.com/news/national/khattar-swornin-as-haryana-chief-minister/article6535007.ece |title=Khattar sworn in |archive-url=https://web.archive.org/web/20180303125941/http://www.thehindu.com/news/national/khattar-swornin-as-haryana-chief-minister/article6535007.ece |archive-date=3 March 2018 |work=The Hindu |date=26 October 2014 |access-date=13 March 2022}}</ref> |- | [[ഹിമാചൽ പ്രദേശ്‌]]<br />{{small|([[List of chief ministers of Himachal Pradesh|list]])}} ! [[ജയ് റാം താക്കൂർ]] | [[File:Jai_Ram_Thakur.jpg|border|center|167x167px]] | {{dts|format=dmy|2017|12|27}}<br /><small>({{ayd|2017|12|27}})</small> | [[Jai Ram Thakur ministry|Thakur I]] |<ref>{{cite news|url=http://indianexpress.com/article/india/jairam-thakur-swearing-in-live-updates-himachal-pradesh-5000491/ |title=Jai Ram Thakur sworn in as Himachal Chief Minister |archive-url=https://web.archive.org/web/20180124071446/http://indianexpress.com/article/india/jairam-thakur-swearing-in-live-updates-himachal-pradesh-5000491/ |archive-date=24 January 2018 |work=The Indian Express |date=7 December 2017 |url-status=live |access-date=13 March 2022}}</ref> |- | [[ജമ്മു-കശ്മീർ]]<br />{{small|([[List of chief ministers of Jammu and Kashmir|list]])}} ! ഒമർ അബ്ധുള്ള | [[File:Emblem of India (without motto).svg|border|center|160x160px]] | {{dts|format=dmy|2024|9|27}} | നാഷണൽ കോൺഫെറൻസ് | width="4px" style="background-color: red" | | [[United Progressive Alliance|UPA]] | width="4px" bgcolor="{{party color|Indian National Congress}}" | | Omar 3 |<ref>{{cite news |last=PTI |date=31 October 2019 |title=President rule revoked in Jammu and Kashmir after bifurcation into 2 UTs |url=https://www.hindustantimes.com/india-news/president-rule-revoked-in-jammu-and-kashmir-after-bifurcation-into-2-uts/story-t1DLDQRokRWBeILfjaXHMJ.html |access-date=13 March 2022 |work=Hindustan Times |language=en}}</ref> |- | [[ഝാർഖണ്ഡ്‌]]<br />{{small|([[ഝാർഖണ്ഡ്‌ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[ഹേമന്ത് സോറൻ]] | [[File:Chief_Minister_of_Jharkhand_Shri_Hemant_Soren.jpg|border|center|132x132px]] | {{dts|format=dmy|2019|12|29}}<br /><small>({{ayd|2019|12|29}})</small> | [[ഝാർഖണ്ഡ്‌ മുക്തി മോർച്ച]] | width="4px" bgcolor="{{party color|Jharkhand Mukti Morcha}}" | |[[United Progressive Alliance|UPA]] |width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[Second Hemant Soren ministry|Soren II]] |<ref>{{cite news|title=Hemant Soren takes oath as 11th Chief Minister of Jharkhand|url=https://www.thehindu.com/news/national/other-states/hemant-soren-takes-oath-as-11th-chief-minister-of-jharkhand/article30424879.ece|newspaper=The Hindu|access-date=29 December 2019|date=29 December 2019|last1=Barik|first1=Satyasundar}}</ref> |- | [[കർണാടക]]<br />{{small|([[List of chief ministers of Karnataka|list]])}} ! [[സിദ്ധരാമയ്യ]] | [[പ്രമാണം:The Chief Minister of Karnataka Siddaramaiah visits PMO.jpg|അതിർവര|നടുവിൽ|155x155ബിന്ദു]] | {{dts|format=dmy|2023|5|20}}<br /><small>({{ayd|2023|5|20}})</small> | [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[United Progressive Alliance|UPA]] |bgcolor="{{party color|Indian National Congress}}" | |[[Siddhramayya ministry|Siddhramayya I]] |<ref>{{Cite news|date=28 July 2021|title=Basavaraj Bommai sworn in as Chief Minister of Karnataka|language=en-IN|work=The Hindu|url=https://www.thehindu.com/news/national/karnataka/basavaraj-bommai-sworn-in-as-new-chief-minister-of-karnataka/article35576498.ece|access-date=30 August 2021|issn=0971-751X}}</ref> |- | [[കേരളം]]<br />{{small|([[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[പിണറായി വിജയൻ|വി ഡി സതീശൻ]] | [[പ്രമാണം:Pinarayi Vijayan.jpg|അതിർവര|നടുവിൽ|155x155ബിന്ദു]] | {{dts|format=dmy|2016|5|25}}<br /><small>({{ayd|2016|5|25}})</small> | [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] | width="4px" bgcolor="{{party color|Communist Party of India (Marxist)}}" | |None | |[[Second Vijayan ministry|Vijayan II]] |<ref>C. Gouridasan Nair. "[http://www.thehindu.com/news/national/kerala/ldf-cabinet-sworn-in-pinarayi-vijayan-takes-over-as-cm/article8645724.ece Pinarayi takes charge as Kerala Chief Minister] {{Webarchive|url=https://web.archive.org/web/20160525115437/http://www.thehindu.com/news/national/kerala/ldf-cabinet-sworn-in-pinarayi-vijayan-takes-over-as-cm/article8645724.ece |date=25 May 2016 }}". ''The Hindu''. 25 May 2016.</ref> |- | [[മധ്യപ്രദേശ്‌]]<br />{{small|([[List of chief ministers of Madhya Pradesh|list]])}} ! [[ശിവരാജ് സിംഗ് ചൗഹാൻ]] | [[File:Shivraj Singh Chauhan (cropped).JPG|border|center|160x160px]] | {{dts|format=dmy|2020|03|23}}<br /><small>({{ayd|2020|3|23}})</small> |[[പശ്ചിമ ബംഗാൾ]] | width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="6" |[[National Democratic Alliance|NDA]] | rowspan="6" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Fourth Chouhan ministry|Chouhan IV]] |<ref>{{cite news |last1=Noronha |first1=Rahul |title=BJP's Shivraj Singh Chouhan sworn in as Madhya Pradesh CM for fourth time |url=https://www.indiatoday.in/india/story/bjp-s-shivraj-singh-chouhan-sworn-in-as-madhya-pradesh-cm-for-fourth-time-1658867-2020-03-23 |access-date=23 March 2020 |work=India Today |date=23 March 2020 |language=en}}</ref> |- | [[മഹാരാഷ്ട്ര]]<br />{{small|([[List of chief ministers of Maharashtra|list]])}} ! [[ഏകനാഥ് ഷിൻഡെ]] | [[File:Eknath Shinde with PM Narendra Modi Cropped.jpg]] | {{dts|format=dmy|2022|06|30}}<br /><small>({{ayd|2022|6|30}})</small> | [[ശിവസേന]] | width="4px" bgcolor="{{party color|Shiv Sena}}" | | [[Eknath Shinde ministry|Eknath I]] |<ref>{{Cite web |date=2022-07-01 |title=Shinde new Maharashtra CM, Fadnavis deputy in last-minute twist in script |url=https://indianexpress.com/article/cities/mumbai/maharashtra-politics-eknath-shinde-cm-fadnavis-deputy-bjp-amit-shah-8001890/ |access-date=2022-07-06 |website=The Indian Express |language=en}}</ref> |- | [[മണിപ്പൂർ]]<br />{{small|([[മണിപ്പൂരിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[എൻ ബിരേൻ സിംഗ്|എൻ. ബിരേൻ സിംഗ്]] | [[File:The_Chief_Minister_of_Manipur,_Shri_Biren_Singh_calling_on_the_Vice_President,_Shri_M._Venkaiah_Naidu,_in_New_Delhi_on_September_06,_2017_(cropped).jpg|border|center|171x171px]] | {{dts|format=dmy|2017|3|15}}<br /><small>({{ayd|2017|3|15}})</small> | [[ഭാരതീയ ജനതാ പാർട്ടി]] | width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Second Biren Singh ministry|Biren Singh II]] |<ref>Isha Gupta. "[http://indiatoday.intoday.in/story/biren-singh-manipur-chief-minister/1/904413.html BJP leader Biren Singh sworn in as Manipur Chief Minister] {{Webarchive|url=https://web.archive.org/web/20170315121302/http://indiatoday.intoday.in/story/biren-singh-manipur-chief-minister/1/904413.html |date=15 March 2017 }}". ''[[India Today]]''. 15 March 2017.</ref> |- | [[മേഘാലയ]]<br />{{small|([[List of chief ministers of Meghalaya|list]])}} ! [[കോൺറാഡ് സാങ്മ]] | [[File:The_Chief_Minister_of_Meghalaya,_Shri_Conrad_Sangma.JPG|border|center|171x171px]] | {{dts|format=dmy|2018|3|6}}<br /><small>({{ayd|2018|3|6}})</small> | [[നാഷണൽ പീപ്പിൾസ് പാർട്ടി]] | width="4px" style="background-color: {{party color|National People's Party (India)}}" | |[[Conrad Sangma ministry|Sangma I]] |<ref>Shiv Sahay Singh. "[http://www.thehindu.com/elections/meghalaya-2018/conrad-sangma-sworn-in-as-meghalaya-cm/article22940327.ece Conrad Sangma sworn-in as Meghalaya CM] {{Webarchive|url=https://web.archive.org/web/20180306062000/http://www.thehindu.com/elections/meghalaya-2018/conrad-sangma-sworn-in-as-meghalaya-cm/article22940327.ece |date=6 March 2018 }}". ''The Hindu''. 6 March 2018.</ref> |- | [[മിസോറം]]<br />{{small|([[List of chief ministers of Mizoram|list]])}} ! [[സോരംതംഗ]] | [[File:Zoramthanga_in_2008.jpg|border|center|167x167px]] | {{dts|format=dmy|2018|12|15}}<br /><small>({{ayd|2018|12|15}})</small> | [[മിസോ നാഷണൽ ഫ്രണ്ട്]] | width="4px" bgcolor="{{party color|Mizo National Front}}" | |[[Third Zoramthanga ministry|Zoramthanga III]] |<ref>Rahul Karmakar. "[https://www.thehindu.com/news/national/other-states/mizoram-assembly-elections-2018-mnf-leader-zoramthanga-sworn-in-as-mizorams-new-chief-minister/article25750995.ece Zoramthanga sworn in Mizoram Chief Minister] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/news/national/other-states/mizoram-assembly-elections-2018-mnf-leader-zoramthanga-sworn-in-as-mizorams-new-chief-minister/article25750995.ece |date=18 December 2018 }}". ''The Hindu''. 15 December 2018.</ref> |- | [[നാഗാലാ‌ൻഡ്]]<br />{{small|([[List of chief ministers of Nagaland|list]])}} ! [[നെയ്ഫു റിയോ]] | [[File:NeiphiuRio.jpg|border|center|167x167px]] | {{dts|format=dmy|2018|3|8}}<br /><small>({{ayd|2018|3|8}})</small> | [[Nationalist Democratic Progressive Party|നാഷണലിസ്റ്റ് ഡെമോക്രാറ്റിക് പ്രോഗ്രസീവ് പാർട്ടി]] | width="4px" bgcolor="{{party color|Nationalist Democratic Progressive Party}}" | | [[Fourth Rio ministry|Rio IV]] |<ref>Rahul Karmakar. "[http://www.thehindu.com/news/national/other-states/neiphiu-rio-sworn-in-as-nagaland-chief-minister/article22976837.ece Neiphiu Rio takes charge as Nagaland Chief Minister again] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/news/national/other-states/neiphiu-rio-sworn-in-as-nagaland-chief-minister/article22976837.ece |date=18 December 2018 }}". ''The Hindu''. 8 March 2018.</ref> |- | [[ഒഡീഷ]]<br />{{small|([[List of chief ministers of Odisha|list]])}} ! [[നവീൻ പട്‌നായിക്]] | [[File:NaveenPatnaik.jpg|border|center|153x153px]] | {{dts|format=dmy|2000|3|5}}<br /><small>({{ayd|2000|3|5}})</small> | [[ബിജു ജനതാ ദൾ]] | width="4px" bgcolor="{{party color|Biju Janata Dal}}" | |None | |[[Fifth Naveen Patnaik ministry|Patnaik V]] |<ref>N. Ramdas. "[http://hindu.com/thehindu/2000/03/06/stories/01060008.htm Naveen Govt. installed] {{Webarchive|url=https://web.archive.org/web/20140311125537/http://hindu.com/thehindu/2000/03/06/stories/01060008.htm |date=11 March 2014 }}". ''The Hindu''. 6 March 2000.</ref> |- | [[പുതുച്ചേരി]]{{efn|name=UT}}<br />{{small|([[List of chief ministers of Puducherry|list]])}} ! [[എൻ. രംഗസ്വാമി]] | [[File:N_Rangaswamy.jpg|border|center|156x156px]] | {{dts|format=dmy|2021|05|07}}<br /><small>({{ayd|2021|05|07}})</small> | [[ഓൾ ഇന്ത്യ എൻ.ആർ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|All India N.R. Congress}}" | |[[National Democratic Alliance|NDA]] |bgcolor="{{party color|Bharatiya Janata Party}}" | | [[Fourth Rangaswamy ministry|Rangaswamy IV]] |<ref>{{cite news |last1=Stalin |first1=J Sam Daniel |last2=Ghosh |first2=Deepshikha |title=Congress Loses Power In Puducherry, V Narayanasamy Resigns, Blames BJP |url=https://www.ndtv.com/india-news/puducherry-floor-test-puducherry-floor-test-today-congress-government-shaky-with-more-exits-2375732 |access-date=22 February 2021 |work=NDTV |date=22 February 2021}}</ref> |- | [[പഞ്ചാബ്, ഇന്ത്യ|പഞ്ചാബ്]]<br />{{small|([[പഞ്ചാബിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക (ഇന്ത്യ)|പട്ടിക]])}} ! [[ഭഗവന്ത് മാൻ]] | [[File:A delegation of Aam Aadmi Party leaders, - MP (Lok Sabha), Shri Bhagwant Mann, Shri Sanjay Singh and Shri Ashutosh, calling on the Union Home Minister, Shri Rajnath Singh, in New Delhi on October 22, 2015 (cropped).jpg|166x166px|border|center]] |{{dts|format=dmy|2022|03|16}}<br /><small>({{ayd|2022|03|16}})</small> |[[ആം ആദ്മി പാർട്ടി]] | width="4px" bgcolor="{{party color|Aam Aadmi Party}}" | | None | |[[Mann ministry|Mann I]] | |- | [[രാജസ്ഥാൻ]]<br />{{small|([[List of chief ministers of Rajasthan|list]])}} ! [[അശോക് ഗെലോട്ട്]] | [[File:Ashok_Gehlot_2012.jpg|border|center|167x167px]] | {{dts|format=dmy|2018|12|17}}<br /><small>({{ayd|2018|12|17}})</small> | [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[United Progressive Alliance|UPA]] |width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[Third Gehlot ministry|Gehlot III]] |<ref>"[https://www.thehindu.com/elections/rajasthan-assembly-elections-2018/ashok-gehlot-sachin-pilot-sworn-in-as-cm-deputy-cm/article25762173.ece Rajasthan: Gehlot, Pilot sworn in as CM, Deputy CM] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/elections/rajasthan-assembly-elections-2018/ashok-gehlot-sachin-pilot-sworn-in-as-cm-deputy-cm/article25762173.ece |date=18 December 2018 }}". ''The Hindu''. 17 December 2018.</ref> |- | [[സിക്കിം]]<br />{{small|([[List of chief ministers of Sikkim|list]])}} ! [[പ്രേം സിങ് തമാങ്]] | [[File:Prem_Singh_Tamang.jpg|border|center|166x166px]] | {{dts|format=dmy|2019|05|27}}<br /><small>({{ayd|2019|05|27}})</small> | [[സിക്കിം ക്രാന്തികാരി മോർച്ച]] | width="4px" bgcolor="{{party color|Sikkim Krantikari Morcha}}" | |[[National Democratic Alliance|NDA]] |bgcolor="{{party color|Bharatiya Janata Party}}" | | [[Tamang ministry|Tamang I]] |<ref>Shiv Sahay Singh. "[https://www.thehindu.com/elections/sikkim-assembly/ps-golay-sworn-in-as-sikkim-chief-minister/article27259921.ece P.S. Golay sworn in as Sikkim Chief Minister]". ''The Hindu''. 27 May 2019.</ref> |- | [[തമിഴ്‌നാട്]]<br />{{small|([[List of chief ministers of Tamil Nadu|list]])}} ! [[എം.കെ. സ്റ്റാലിൻ]] | | {{dts|format=dmy|2021|5|7}}<br /><small>({{ayd|2021|5|7}})</small> | [[ദ്രാവിഡ മുന്നേറ്റ കഴകം]] | width="4px" bgcolor="{{party color|Dravida Munnetra Kazhagam}}" | |[[United Progressive Alliance|UPA]] |width="4px" bgcolor="{{party color|Indian National Congress}}" | | [[M. K. Stalin ministry|Stalin I]] |<ref>{{cite news |title=MK Stalin sworn in as new Chief Minister of Tamil Nadu; here is the list of other top ministers |url=https://economictimes.indiatimes.com/news/elections/assembly-elections/tamil-nadu/mk-stalin-sworn-in-as-chief-minister-of-tamil-nadu/articleshow/82449754.cms |access-date=27 April 2022 |work=The Economic Times |language=en}}</ref> |- | [[തെലംഗാണ]]<br />{{small|([[തെലങ്കാനയിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[കെ. ചന്ദ്രശേഖർ റാവു]] | [[File:Kalvakuntla_Chandrashekar_Rao.png|border|center|153x153px]] | {{dts|format=dmy|2014|6|2}}<br /><small>({{ayd|2014|6|2}})</small> | [[ഭാരത് രാഷ്ട്ര സമിതി]] | width="4px" bgcolor="{{party color|Telangana Rashtra Samithi}}" | | None | |[[Second K. Chandrashekar Rao ministry|Rao II]] |<ref>K. Srinivas Reddy. "[http://www.thehindu.com/news/national/telangana/kcr-sworn-in-heads-cabinet-of-11-ministers/article6073983.ece KCR sworn in; heads cabinet of 11 ministers] {{Webarchive|url=https://web.archive.org/web/20140606150704/http://www.thehindu.com/news/national/telangana/kcr-sworn-in-heads-cabinet-of-11-ministers/article6073983.ece |date=6 June 2014 }}". ''The Hindu''. 2 June 2014.</ref> |- | [[ത്രിപുര]]<br />{{small|([[List of chief ministers of Tripura|list]])}} ! [[മണിക് സാഹ]] | | {{dts|format=dmy|2022|5|15}}<br /><small>({{ayd|2022|5|15}})</small> | rowspan="3" | [[ഭാരതീയ ജനതാ പാർട്ടി]] | rowspan="3" width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="3" |[[National Democratic Alliance|NDA]] | rowspan="3" bgcolor="{{party color|Bharatiya Janata Party}}" | | [[Manik Saha ministry|Saha I]] |<ref>Rahul Karmakar. "[http://www.thehindu.com/news/national/biplab-kumar-deb-to-be-sworn-in-as-tripura-cm/article22993657.ece Biplab Kumar Deb sworn in as Tripura CM] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/news/national/biplab-kumar-deb-to-be-sworn-in-as-tripura-cm/article22993657.ece |date=18 December 2018 }}". ''The Hindu''. 9 March 2018.</ref> |- | [[ഉത്തർ‌പ്രദേശ്]]<br />{{small|([[List of chief ministers of Uttar Pradesh|list]])}} ! [[യോഗി ആദിത്യനാഥ്]] | [[File:The Uttar Pradesh Chief Minister, Shri Yogi Adityanath in New Delhi on February 10, 2018 (cropped).jpg|border|center|194x194px]] | {{dts|format=dmy|2017|3|19}}<br /><small>({{ayd|2017|3|19}})</small> |[[Second Yogi Adityanath ministry|Yogi Adityanath II]] |<ref>"[http://www.thehindu.com/elections/uttar-pradesh-2017/live-yogi-adityanath-swearing-in-in-uttar-pradesh/article17531393.ece Yogi Adityanath takes oath as Uttar Pradesh Chief Minister] {{Webarchive|url=https://web.archive.org/web/20170319163232/http://www.thehindu.com/elections/uttar-pradesh-2017/live-yogi-adityanath-swearing-in-in-uttar-pradesh/article17531393.ece |date=19 March 2017 }}". ''The Hindu''. 19 March 2017.</ref> |- | [[ഉത്തരാഖണ്ഡ്]]<br />{{small|([[List of chief ministers of Uttarakhand|list]])}} ! [[പുഷ്കർ സിംഗ് ധാമി]] | [[File:Pushkar Dhami.jpg|border|center|160x160px]] | {{dts|format=dmy|2021|07|04}}<br /><small>({{ayd|2021|07|04}})</small> | [[Second Pushkar Singh Dhami ministry|Dhami II]] |<ref>{{Cite web|date=4 July 2021|title=Pushkar Singh Dhami takes oath as eleventh chief minister of Uttarakhand|url=https://www.hindustantimes.com/cities/dehradun-news/pushkar-singh-dhami-takes-oath-as-eleventh-chief-minister-of-uttarakhand-101625397374954.html|access-date=4 July 2021|website=Hindustan Times|language=en}}</ref> |- | [[പശ്ചിമ ബംഗാൾ]]<br />{{small|([[List of chief ministers of West Bengal|list]])}} ! [[മമത ബാനർജി]] | [[File:Ms._Mamata_Banerjee,_in_Kolkata_on_July_17,_2018_(cropped)_(cropped).JPG|border|center|155x155px]] | {{dts|format=dmy|2011|5|20}}<br /><small>({{ayd|2011|5|20}})</small> | [[തൃണമൂൽ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|All India Trinamool Congress}}" | | None | | [[Third Banerjee ministry|Banerjee III]] |<ref>"[http://www.thehindu.com/todays-paper/mamata-37-ministers-sworn-in/article2036575.ece Mamata, 37 Ministers sworn in] {{Webarchive|url=https://web.archive.org/web/20140204015955/http://www.thehindu.com/todays-paper/mamata-37-ministers-sworn-in/article2036575.ece |date=4 February 2014 }}". ''The Hindu''. 21 May 2011.</ref> |} ==ഇതും കാണുക== * [[ഇന്ത്യയിലെ ഇപ്പോഴത്തെ സംസ്ഥാന ഗവർണ്ണർമാരുടെ പട്ടിക]] * [[ഇന്ത്യയിലെ വനിതാ മുഖ്യമന്ത്രിമാർ]] * [[ഭാരതീയ ജനതാപാർട്ടിയിൽ നിന്നുള്ള മുഖ്യമന്ത്രിമാർ]] * [[കോൺഗ്രസ് പാർട്ടിയിൽ നിന്നുള്ള് മുഖ്യമന്ത്രിമാർ]] ==അവലംബങ്ങൾ== {{Reflist|2}} {{Lists of chief ministers of Indian states}} ==കുറിപ്പുകൾ== {{notelist}} [[വർഗ്ഗം:ഇന്ത്യൻ സംസ്ഥാനങ്ങളിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടികകൾ|*]] [[വർഗ്ഗം:ഇന്ത്യയിലെ ഇപ്പോഴത്തെ ഉദ്യോഗസ്ഥരുടെ പട്ടികകൾ]] repb8ycnb6uuzf09jp6wdci8z82t62g 4621597 4621595 2026-05-22T17:49:58Z Sreehari lijinas 209493 /* ഇന്ത്യയിലെ ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാർ */ 4621597 wikitext text/x-wiki {{prettyurl|List of current Indian chief ministers}} [[പ്രമാണം:Current Indian ruling and opposition parties 2026.png|ലഘുചിത്രം|മുഖ്യമന്ത്രിമാരുടെ കക്ഷി അനുസരിച്ച് ഇന്ത്യയിലെ സംസ്ഥാനങ്ങൾ {{legend|{{Bharatiya Janata Party/meta/color}}|[[ഭാരതീയ ജനതാ പാർട്ടി]]|outline=grey}} {{legend|{{Indian National Congress/meta/color}}|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്സ്]]|outline=grey}} {{legend|#C8C8C8|[[രാഷ്ട്രപതി ഭരണം]]|outline=grey}} <maplink latitude="21" longitude="78" zoom="5" width="500" height="500" text="CMs in India"> { "type": "ExternalData", "service": "geoshape", "query": " SELECT ?id ?head (SAMPLE(?img) as ?img) (min(?partyId) as ?party) (if(?party = '0', '#800000', if(?party = '1', '#000080', '#008000')) as ?fill) (concat('[[', substr(str(?link),31,500), '|', ?headLabel, ']]') as ?title) (concat(?stateLabel, '\\n', '[[File:', substr(str(?img), 52, 500), '|200px]]') as ?description) WHERE { ?id wdt:P31 wd:Q13390680 . ?id wdt:P6 ?head . SERVICE wikibase:label { bd:serviceParam wikibase:language 'ml' . ?head rdfs:label ?headLabel . ?id rdfs:label ?stateLabel . } OPTIONAL { ?head wdt:P18 ?img . } ?link schema:about ?head . ?link schema:isPartOf <https://ml.wikipedia.org/> . } GROUP BY ?id ?head ?headLabel ?link ?stateLabel "} </maplink>]] [[പ്രമാണം:Alliances of the Ruling Parties of Indian States (as of May 2026).png|ലഘുചിത്രം|മുഖ്യമന്ത്രിമാരുടെ സഖ്യം അനുസരിച്ച് ഇന്ത്യയിലെ സംസ്ഥാനങ്ങൾ]] {{legend|{{National Democratic Alliance/meta/color}}|[[ദേശീയ ജനാധിപത്യ സഖ്യം]] (NDA)|outline=grey}} {{legend|{{Indian National Congress/meta/color}}|[[ഇന്ത്യൻ നാഷണൽ ഡവലപ്പ്മെൻ്റൽ ഇൻക്ലൂസീവ് അലയൻസ്]] (INDIA)|outline=grey}} {{legend|#8B0000|സഖ്യമില്ലാത്തവ|outline=Black}} [[ഇന്ത്യ]]യിലെ [[ഇന്ത്യയിലെ സംസ്ഥാനങ്ങളും കേന്ദ്രഭരണപ്രദേശങ്ങളും|28 സംസ്ഥാനങ്ങൾ, 3 കേന്ദ്രഭരണപ്രദേശങ്ങൾ]] (ഡെൽഹിയും പുതുച്ചേരിയും ജമ്മുകാശ്മീരും) എന്നിവയൊരൊന്നിന്റെയും സർക്കാർത്തലവന്മാരാണ് [[മുഖ്യമന്ത്രി (ഇന്ത്യ)|മുഖ്യമന്ത്രി]]. [[ഇന്ത്യൻ ഭരണഘടന]]യനുസരിച്ച് സംസ്ഥാനത്തലത്തിൽ ''ഡി ജൂറി'' തലവൻ [[ഗവർണ്ണർ]] ആണെങ്കിൽ ''ഡി ഫാക്ടോ'' ഭരണകർത്താവ് മുഖ്യമന്ത്രിയാണ്. നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ ഏറ്റവും കൂടുതൽ സീറ്റ് കിട്ടുന്ന കക്ഷിയുടെ/മുന്നണിയുടെ നിയമസഭാകക്ഷിനേതാവിനെയാണ് മന്ത്രിസഭയുണ്ടാക്കാൻ ഗവർണർ ക്ഷണിക്കുന്നത്. മുഖ്യമന്ത്രിയെ നിയമിക്കുന്നത് ഗവർണറാണ്. മുഖ്യമന്ത്രി തലവനായ മന്ത്രിസഭയിലെ അംഗങ്ങൾക്കെല്ലാം ഭരണം സുഗമമാക്കുന്നതിൽ കൂട്ടുത്തരവാദിത്വമാണുള്ളത്. ഭൂരിപക്ഷ പിന്തുണയോടെ അധികാരത്തിലേറി കഴിഞ്ഞാൽ മുഖ്യമന്ത്രിയുടെ ഭരണകാലാവധി സാധാരണ 5 വർഷമാണ്; ഒരാൾക്ക് എത്ര തവണ മുഖ്യമന്ത്രിയാകണമെന്നതിനു പരിധിയൊന്നുമില്ല.<ref>[[Durga Das Basu]]. ''Introduction to the Constitution of India''. 1960. 20th edition, 2011 reprint. pp. 241, 245. LexisNexis Butterworths Wadhwa Nagpur. ISBN 978-81-8038-559-9.</ref> നിലവിലെ 31 മുഖ്യമന്ത്രിമാരിൽ, ഒരു വനിതയാണുള്ളത് - [[മമത ബാനർജി]] (പശ്ചിമ ബംഗാൾ). ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാരിൽ പ്രായം കൂടിയത് മിസ്സോറാമിന്റെ [[സോരംതംഗ]] (ജ. 13 ജൂലൈ 1944) ആണ്.<ref>Ajoy Ashirwad Mahaprashasta. "[http://www.frontline.in/static/html/fl2906/stories/20120406290601700.htm Bucking the trend]". ''[[Frontline (magazine)|Frontline]]''. Volume 29, issue 6, 24 March – 6 April 2012.</ref> എന്നാൽ, പ്രായം കുറഞ്ഞ മുഖ്യമന്ത്രി അരുണാചൽ പ്രദേശിന്റെ [[Pema Khandu|പെമാ ഖണ്ഡുവാണ്]] (ജ. 1979).<ref>"[http://www.thehindu.com/news/national/meet-pema-khandu-indias-youngest-chief-minister/article8862288.ece Meet Pema Khandu: India’s youngest Chief Minister]". ''[[The Hindu]]''. 17 July 2016.</ref> ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാരിൽ 15 പേർ [[Bharatiya Janata Party|ഭാരതീയ ജനത പാർട്ടി]]യെയും, മൂന്നുപേർ [[Indian National Congress|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിനെയും]]<nowiki/>പ്രതിനിധീകരിക്കുന്നു; മറ്റൊരു രാഷ്ട്രീയകക്ഷിയ്ക്കും ഒന്നിൽ കൂടുതൽ മുഖ്യമന്ത്രിമാർ ഭരണത്തിലില്ല. ==ഇന്ത്യയിലെ ഇപ്പോഴത്തെ മുഖ്യമന്ത്രിമാർ== {| class="toccolours" style="width:75em" ! പാർട്ടികളുടെ നിറസൂചകങ്ങൾ |- | {{colbegin|colwidth=23em}} {{legend|{{party color|Aam Aadmi Party}}|[[ആം ആദ്മി പാർട്ടി]]|outline=#000000}} {{legend|{{party color|All India N.R. Congress}}|[[ഓൾ ഇന്ത്യ എൻ.ആർ കോൺഗ്രസ്]]|outline=#000000}} {{legend|{{party color|All India Trinamool Congress}}|[[തൃണമൂൽ കോൺഗ്രസ്]]|outline=#000000}} {{legend|{{party color|Bharatiya Janata Party}}|[[ഭാരതീയ ജനതാ പാർട്ടി]]|outline=#000000}} {{legend|{{party color|Communist Party of India (Marxist)}}|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]]|outline=#000000}} {{legend|{{party color|Dravida Munnetra Kazhagam}}|[[ദ്രാവിഡ മുന്നേറ്റ കഴകം]]|outline=#000000}} {{legend|{{party color|Indian National Congress}}|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]]|outline=#000000}} {{legend|{{party color|Janata Dal (United)}}|[[ജനതാദൾ (യുനൈറ്റഡ്)]]|outline=#000000}} {{legend|{{party color|Jharkhand Mukti Morcha}}|[[ഝാർഖണ്ഡ്‌ മുക്തി മോർച്ച]]|outline=#000000}} {{legend|{{party color|National Democratic Progressive Party}}|[[നാഷണലിസ്റ്റ് ഡെമോക്രാറ്റിക് പ്രോഗ്രസീവ് പാർട്ടി]]|outline=#000000}} {{legend|{{party color|National People's Party (India)}}|[[നാഷണൽ പീപ്പിൾസ് പാർട്ടി (ഇന്ത്യ)|നാഷണൽ പീപ്പിൾസ് പാർട്ടി]]|outline=#000000}} {{legend|{{party color|Sikkim Krantikari Morcha}}|[[സിക്കിം ക്രാന്തികാരി മോർച്ച]]|outline=#000000}} {{legend|{{party color|Telugu Desam Party}}|[[തെലുങ്കു ദേശം പാർട്ടി]]|outline=#000000}} {{legend|{{dark red}} |([[നാഷണൽ കോൺഫെറൻസ്]])|outline=#000000}} {{colend}} |} {| class="wikitable sortable" style="text-align:center; width:100%" |- !scope=col| സംസ്ഥാനം<br /> !scope=col| പേര്<ref>[https://www.india.gov.in/my-government/whos-who/chief-ministers Chief Ministers] {{Webarchive|url=https://web.archive.org/web/20190809151722/https://www.india.gov.in/my-government/whos-who/chief-ministers |date=9 August 2019 }}. [[India.gov.in]]. Retrieved on 9 July 2019.</ref> !scope=col class=unsortable| ചിത്രം !scope=col| ചുമതലയേറ്റത്<br />{{small|(കാലാവധി ദൈർഘ്യം)}} !scope=col colspan=2| {{efn|ഈ കോളത്തിൽ മുഖ്യമന്ത്രിയുടെ പാർട്ടിയുടെ പേര് മാത്രമേ പറയുന്നുള്ളൂ. അദ്ദേഹം നയിക്കുന്ന മന്ത്രാലയം(ങ്ങൾ) നിരവധി പാർട്ടികളുടെയും സ്വതന്ത്രരുടെയും സങ്കീർണ്ണമായ ഒരു സഖ്യമായിരിക്കാം; അവ ഇവിടെ പട്ടികപ്പെടുത്തിയിട്ടില്ല.}}രാഷ്ട്രീയ പാർട്ടി ! colspan="2" |സഖ്യം !scope=col| മന്ത്രിസഭ !scope=col class=unsortable| Ref |- | [[ആന്ധ്രാപ്രദേശ്‌]]<br />{{small|([[ആന്ധ്രാപ്രദേശ്‌ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[എൻ. ചന്ദ്രബാബു നായിഡു|എൻ. ചന്ദ്രബാബു നായിഡു]] | [[File:The_Chief_Minister_of_Andhra_Pradesh,_Shri_N._Chandrababu_Nayidu.jpg|border|center|183x183px]] | {{dts|format=dmy|2019|5|30}}<br /><small>({{ayd|2019|5|30}})</small> | [[തെലുങ്കു ദേശം പാർട്ടി]] | width="4px" bgcolor="Yellow" | |NDA |[[N. Chandrababu Naidu ministry|Nayidu 4]] |<ref>"[https://economictimes.indiatimes.com/news/politics-and-nation/jagan-mohan-reddy-takes-oath-as-andhra-pradesh-cm/articleshow/69576201.cms Jagan Mohan Reddy takes oath as Andhra Pradesh CM] {{Webarchive|url=https://web.archive.org/web/20190604104738/https://economictimes.indiatimes.com/news/politics-and-nation/jagan-mohan-reddy-takes-oath-as-andhra-pradesh-cm/articleshow/69576201.cms |date=4 June 2019 }}". ''The Economic Times''. Press Trust of India. 30 May 2019.</ref> |- | [[അരുണാചൽ പ്രദേശ്]]<br />{{small|([[List of chief ministers of Arunachal Pradesh|list]])}} ! [[പേമ ഖണ്ഡു]] | [[File:Pema_Khandu_in_July_2016.jpg|border|center|166x166px]] | {{dts|format=dmy|2016|7|17}}<br /><small>({{ayd|2016|7|17}})</small> | rowspan="2" | [[ഭാരതീയ ജനതാ പാർട്ടി]] | rowspan="2" width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="2" | [[National Democratic Alliance|NDA]] | rowspan="2" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Second Pema Khandu ministry|Khandu II]] |<ref>"[http://www.thehindu.com/news/national/Pema-Khandu-sworn-in-as-Chief-Minister-of-Arunachal-Pradesh/article14494230.ece Pema Khandu sworn in as Chief Minister of Arunachal Pradesh] {{Webarchive|url=https://web.archive.org/web/20190713182538/https://www.thehindu.com/news/national/Pema-Khandu-sworn-in-as-Chief-Minister-of-Arunachal-Pradesh/article14494230.ece |date=13 July 2019 }}". ''The Hindu''. 17 July 2016.</ref><ref>"[http://www.thehindu.com/news/national/other-states/BJP-forms-govt-in-Arunachal-Pradesh/article16969345.ece BJP forms govt in Arunachal Pradesh] {{Webarchive|url=https://web.archive.org/web/20180303125941/http://www.thehindu.com/news/national/other-states/BJP-forms-govt-in-Arunachal-Pradesh/article16969345.ece |date=3 March 2018 }}". ''The Hindu''. 31 December 2016.</ref> |- |[[ആസാം]]<br />{{small|([[List of chief ministers of Assam|list]])}} ! [[ഹിമന്ത ബിശ്വ ശർമ്മ]] | [[File:Himanta Biswa Sarma with PM Narendra Modi Cropped.jpg|150px]] | {{dts|format=dmy|2021|5|10}}<br /><small>({{ayd|2021|5|10}})</small> | [[Sarma ministry|Sarma I]] |<ref>{{Cite web|date=9 May 2021|title=Himanta Biswa Sarma to be new Assam CM; credited as man behind BJP's surge in North East-Politics News , Firstpost|url=https://www.firstpost.com/politics/himanta-biswa-sarma-to-be-new-assam-cm-credited-as-man-behind-bjps-surge-in-north-east-9358121.html|acces0 May 2021|website=Firstpost}}</ref><ref>{{Cite web|date=10 May 2021|title=Himanta Biswa Sarma Swearing-in LIVE Updates: JP Nadda to Attend Oath-Taking Ceremony|url=https://www.news18.com/news/politics/himanta-biswa-sarma-swearing-in-live-updates-sarbananda-sonowal-bjp-assam-pm-narendra-modi-jp-nadda-3722531.html|access-date=10 May 2021|website=www.news18.com|language=en}}</ref> |- | [[ബിഹാർ]]<br />{{small|([[List of chief ministers of Bihar|list]])}} ! [[നിതീഷ് കുമാർ]] | [[File:Nitish Kumar in February 2007.jpg|183px]] | {{dts|format=dmy|2015|2|22}}<br /><small>({{ayd|2015|2|22}})</small> | [[ജനതാദൾ (യുനൈറ്റഡ്)]] | width="4px" bgcolor="{{party color|Janata Dal (United)}}" | |[[National Democratic Alliance|NDA]] |width="4px" bgcolor="{{Party color|Bharatiya Janatha Party}}" | | [[Eighth Nitish Kumar ministry|Nitish Kumar VIII]] |<ref>{{cite news|last1=Kumar|first1=Arun|title=Grand Alliance to NDA: Nitish Kumar changes partner, continues as Bihar CM|url=http://www.hindustantimes.com/india-news/nitish-kumar-to-take-oath-as-bihar-cm-today-has-to-prove-majority-in-2-days/story-WBikrjP7rhks4sQHEFGWkN.html|access-date=27 July 2017|work=[[Hindustan Times]]|date=27 July 2017|location=Patna|language=en|archive-url=https://web.archive.org/web/20170727062156/http://www.hindustantimes.com/india-news/nitish-kumar-to-take-oath-as-bihar-cm-today-has-to-prove-majority-in-2-days/story-WBikrjP7rhks4sQHEFGWkN.html|archive-date=27 July 2017|url-status=live}}</ref> |- | [[ഛത്തീസ്‌ഗഢ്]]<br />{{small|([[ഛത്തീസ്‌ഗഢ് മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[വിഷ്ണു ദേവ് സായി]] | [[File:Vishnu_Deo_Sai,_June_2023.jpg|border|center|156x156px]] | {{dts|format=dmy|2023|12|3}}<br /><small>({{ayd|2023|12|3}})</small> | [[Bharatiya Janatha Party]] | width="4px" bgcolor="{{party color|Bharatiya Janatha Party}}" | |[[National Democratic Alliance|NDA]] |width="4px" bgcolor="{{}}" | |[[Sai ministry|Sai I]] |<ref>"[https://www.thehindu.com/elections/chhattisgarh-assembly-elections-2018/bhupesh-baghel-sworn-in-as-chief-minister-of-chhattisgarh/article25764821.ece Bhupesh Baghel sworn in as Chief Minister of Chhattisgarh] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/elections/chhattisgarh-assembly-elections-2018/bhupesh-baghel-sworn-in-as-chief-minister-of-chhattisgarh/article25764821.ece |date=18 December 2018 }}". ''The Hindu''. 17 December 2018.</ref> |- | [[ഡെൽഹി]]{{efn|name=UT|Although Delhi, Jammu and Kashmir and Puducherry each have an elected legislature and a council of ministers (headed by the chief minister), they are officially [[Union territory|union territories]].}}<br />{{small|([[List of chief ministers of Delhi|list]])}} ! [[അരവിന്ദ് കെജ്രിവാൾ]] | [[File:Arvind_Kejriwal_smiling_(cropped).jpg|border|center|125x125px]] | {{dts|format=dmy|2015|2|14}}<br /><small>({{ayd|2015|2|14}})</small> | [[ആം ആദ്മി പാർട്ടി]] | width="4px" bgcolor="{{party color|Aam Aadmi Party}}" | | None | |[[Third Kejriwal ministry|Kejriwal III]] |<ref>{{cite news|first1=Smriti |last1=Kak Ramachandran |first2=Shubhomoy |last2=Sikdar |url=http://www.thehindu.com/news/cities/Delhi/kejriwal-takes-oath-as-delhi-cm-promises-to-act-against-graft/article6895671.ece |title=Kejriwal promises to make Delhi graft-free in 5 years |archive-url=https://web.archive.org/web/20180303125941/http://www.thehindu.com/news/cities/Delhi/kejriwal-takes-oath-as-delhi-cm-promises-to-act-against-graft/article6895671.ece |archive-date=3 March 2018 |access-date=13 March 2022 |work=The Hindu |date=14 February 2015 }}</ref> |- | [[ഗോവ]]<br />{{small|([[ഗോവയിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[പ്രമോദ് സാവന്ത്]] | [[File:The_Chief_Minister_of_Goa,_Shri_Pramod_Sawant.jpg|border|center|160x160px]] | {{dts|format=dmy|2019|3|19}}<br /><small>({{ayd|2019|3|19}})</small> | rowspan="4" | [[ഭാരതീയ ജനതാ പാർട്ടി]] | rowspan="4" width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="4" | [[National Democratic Alliance|NDA]] | rowspan="4" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Second Pramod Sawant ministry|Sawant II]] |<ref>{{cite news| first=Murari |last=Shetye |url=https://timesofindia.indiatimes.com/india/goa-speaker-pramod-sawant-succeeds-parrikar-as-cm/articleshow/68473049.cms |title=Goa speaker Pramod Sawant succeeds Parrikar as CM |archive-url=https://web.archive.org/web/20190319124214/https://timesofindia.indiatimes.com/india/goa-speaker-pramod-sawant-succeeds-parrikar-as-cm/articleshow/68473049.cms |archive-date=19 March 2019 |work=The Times of India |date=19 March 2019 |access-date=13 March 2022}}</ref> |- | [[ഗുജറാത്ത്]]<br />{{small|([[ഗുജറാത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[ഭൂപേന്ദ്രഭായ് പട്ടേൽ]] | [[File:Bhupendra PAtel Sanskrit.jpg|border|center|125x125px]] | {{dts|format=dmy|2021|09|13}}<br /><small>({{ayd|2021|09|13}})</small> | [[Bhupendrabhai Patel ministry|Patel I]] |13 |- | [[ഹരിയാണ]]<br />{{small|([[List of chief ministers of Haryana|list]])}} ! [[മനോഹർ ലാൽ ഖട്ടാർ]] |[[File:Chief_Minister_of_Haryana_Shri_Manohar_Lal.jpg|border|center|136x136px]] | {{dts|format=dmy|2014|10|26}}<br /><small>({{ayd|2014|10|26}})</small> |[[Second Khattar ministry|Khattar II]] |<ref>{{cite news| first=Sarabjit |last=Pandher |url=http://www.thehindu.com/news/national/khattar-swornin-as-haryana-chief-minister/article6535007.ece |title=Khattar sworn in |archive-url=https://web.archive.org/web/20180303125941/http://www.thehindu.com/news/national/khattar-swornin-as-haryana-chief-minister/article6535007.ece |archive-date=3 March 2018 |work=The Hindu |date=26 October 2014 |access-date=13 March 2022}}</ref> |- | [[ഹിമാചൽ പ്രദേശ്‌]]<br />{{small|([[List of chief ministers of Himachal Pradesh|list]])}} ! [[ജയ് റാം താക്കൂർ]] | [[File:Jai_Ram_Thakur.jpg|border|center|167x167px]] | {{dts|format=dmy|2017|12|27}}<br /><small>({{ayd|2017|12|27}})</small> | [[Jai Ram Thakur ministry|Thakur I]] |<ref>{{cite news|url=http://indianexpress.com/article/india/jairam-thakur-swearing-in-live-updates-himachal-pradesh-5000491/ |title=Jai Ram Thakur sworn in as Himachal Chief Minister |archive-url=https://web.archive.org/web/20180124071446/http://indianexpress.com/article/india/jairam-thakur-swearing-in-live-updates-himachal-pradesh-5000491/ |archive-date=24 January 2018 |work=The Indian Express |date=7 December 2017 |url-status=live |access-date=13 March 2022}}</ref> |- | [[ജമ്മു-കശ്മീർ]]<br />{{small|([[List of chief ministers of Jammu and Kashmir|list]])}} ! ഒമർ അബ്ധുള്ള | [[File:Emblem of India (without motto).svg|border|center|160x160px]] | {{dts|format=dmy|2024|9|27}} | നാഷണൽ കോൺഫെറൻസ് | width="4px" style="background-color: red" | | [[United Progressive Alliance|UPA]] | width="4px" bgcolor="{{party color|Indian National Congress}}" | | Omar 3 |<ref>{{cite news |last=PTI |date=31 October 2019 |title=President rule revoked in Jammu and Kashmir after bifurcation into 2 UTs |url=https://www.hindustantimes.com/india-news/president-rule-revoked-in-jammu-and-kashmir-after-bifurcation-into-2-uts/story-t1DLDQRokRWBeILfjaXHMJ.html |access-date=13 March 2022 |work=Hindustan Times |language=en}}</ref> |- | [[ഝാർഖണ്ഡ്‌]]<br />{{small|([[ഝാർഖണ്ഡ്‌ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[ഹേമന്ത് സോറൻ]] | [[File:Chief_Minister_of_Jharkhand_Shri_Hemant_Soren.jpg|border|center|132x132px]] | {{dts|format=dmy|2019|12|29}}<br /><small>({{ayd|2019|12|29}})</small> | [[ഝാർഖണ്ഡ്‌ മുക്തി മോർച്ച]] | width="4px" bgcolor="{{party color|Jharkhand Mukti Morcha}}" | |[[United Progressive Alliance|UPA]] |width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[Second Hemant Soren ministry|Soren II]] |<ref>{{cite news|title=Hemant Soren takes oath as 11th Chief Minister of Jharkhand|url=https://www.thehindu.com/news/national/other-states/hemant-soren-takes-oath-as-11th-chief-minister-of-jharkhand/article30424879.ece|newspaper=The Hindu|access-date=29 December 2019|date=29 December 2019|last1=Barik|first1=Satyasundar}}</ref> |- | [[കർണാടക]]<br />{{small|([[List of chief ministers of Karnataka|list]])}} ! [[സിദ്ധരാമയ്യ]] | [[പ്രമാണം:The Chief Minister of Karnataka Siddaramaiah visits PMO.jpg|അതിർവര|നടുവിൽ|155x155ബിന്ദു]] | {{dts|format=dmy|2023|5|20}}<br /><small>({{ayd|2023|5|20}})</small> | [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[United Progressive Alliance|UPA]] |bgcolor="{{party color|Indian National Congress}}" | |[[Siddhramayya ministry|Siddhramayya I]] |<ref>{{Cite news|date=28 July 2021|title=Basavaraj Bommai sworn in as Chief Minister of Karnataka|language=en-IN|work=The Hindu|url=https://www.thehindu.com/news/national/karnataka/basavaraj-bommai-sworn-in-as-new-chief-minister-of-karnataka/article35576498.ece|access-date=30 August 2021|issn=0971-751X}}</ref> |- | [[കേരളം]]<br />{{small|([[കേരളത്തിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[വി.ഡി. സതീശൻ|വി ഡി സതീശൻ]] |[[:പ്രമാണം:VD SATHEESAN.jpg|VD SATHEESAN.jpg]] | {{dts|format=dmy|2016|5|25}}<br /><small>({{ayd|2016|5|25}})</small> | [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|Communist Party of India (Marxist)}}" | |None | |[[Second Vijayan ministry|Vijayan II]] |<ref>C. Gouridasan Nair. "[http://www.thehindu.com/news/national/kerala/ldf-cabinet-sworn-in-pinarayi-vijayan-takes-over-as-cm/article8645724.ece Pinarayi takes charge as Kerala Chief Minister] {{Webarchive|url=https://web.archive.org/web/20160525115437/http://www.thehindu.com/news/national/kerala/ldf-cabinet-sworn-in-pinarayi-vijayan-takes-over-as-cm/article8645724.ece |date=25 May 2016 }}". ''The Hindu''. 25 May 2016.</ref> |- | [[മധ്യപ്രദേശ്‌]]<br />{{small|([[List of chief ministers of Madhya Pradesh|list]])}} ! [[ശിവരാജ് സിംഗ് ചൗഹാൻ]] | [[File:Shivraj Singh Chauhan (cropped).JPG|border|center|160x160px]] | {{dts|format=dmy|2020|03|23}}<br /><small>({{ayd|2020|3|23}})</small> |[[പശ്ചിമ ബംഗാൾ]] | width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="6" |[[National Democratic Alliance|NDA]] | rowspan="6" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Fourth Chouhan ministry|Chouhan IV]] |<ref>{{cite news |last1=Noronha |first1=Rahul |title=BJP's Shivraj Singh Chouhan sworn in as Madhya Pradesh CM for fourth time |url=https://www.indiatoday.in/india/story/bjp-s-shivraj-singh-chouhan-sworn-in-as-madhya-pradesh-cm-for-fourth-time-1658867-2020-03-23 |access-date=23 March 2020 |work=India Today |date=23 March 2020 |language=en}}</ref> |- | [[മഹാരാഷ്ട്ര]]<br />{{small|([[List of chief ministers of Maharashtra|list]])}} ! [[ഏകനാഥ് ഷിൻഡെ]] | [[File:Eknath Shinde with PM Narendra Modi Cropped.jpg]] | {{dts|format=dmy|2022|06|30}}<br /><small>({{ayd|2022|6|30}})</small> | [[ശിവസേന]] | width="4px" bgcolor="{{party color|Shiv Sena}}" | | [[Eknath Shinde ministry|Eknath I]] |<ref>{{Cite web |date=2022-07-01 |title=Shinde new Maharashtra CM, Fadnavis deputy in last-minute twist in script |url=https://indianexpress.com/article/cities/mumbai/maharashtra-politics-eknath-shinde-cm-fadnavis-deputy-bjp-amit-shah-8001890/ |access-date=2022-07-06 |website=The Indian Express |language=en}}</ref> |- | [[മണിപ്പൂർ]]<br />{{small|([[മണിപ്പൂരിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[എൻ ബിരേൻ സിംഗ്|എൻ. ബിരേൻ സിംഗ്]] | [[File:The_Chief_Minister_of_Manipur,_Shri_Biren_Singh_calling_on_the_Vice_President,_Shri_M._Venkaiah_Naidu,_in_New_Delhi_on_September_06,_2017_(cropped).jpg|border|center|171x171px]] | {{dts|format=dmy|2017|3|15}}<br /><small>({{ayd|2017|3|15}})</small> | [[ഭാരതീയ ജനതാ പാർട്ടി]] | width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | |[[Second Biren Singh ministry|Biren Singh II]] |<ref>Isha Gupta. "[http://indiatoday.intoday.in/story/biren-singh-manipur-chief-minister/1/904413.html BJP leader Biren Singh sworn in as Manipur Chief Minister] {{Webarchive|url=https://web.archive.org/web/20170315121302/http://indiatoday.intoday.in/story/biren-singh-manipur-chief-minister/1/904413.html |date=15 March 2017 }}". ''[[India Today]]''. 15 March 2017.</ref> |- | [[മേഘാലയ]]<br />{{small|([[List of chief ministers of Meghalaya|list]])}} ! [[കോൺറാഡ് സാങ്മ]] | [[File:The_Chief_Minister_of_Meghalaya,_Shri_Conrad_Sangma.JPG|border|center|171x171px]] | {{dts|format=dmy|2018|3|6}}<br /><small>({{ayd|2018|3|6}})</small> | [[നാഷണൽ പീപ്പിൾസ് പാർട്ടി]] | width="4px" style="background-color: {{party color|National People's Party (India)}}" | |[[Conrad Sangma ministry|Sangma I]] |<ref>Shiv Sahay Singh. "[http://www.thehindu.com/elections/meghalaya-2018/conrad-sangma-sworn-in-as-meghalaya-cm/article22940327.ece Conrad Sangma sworn-in as Meghalaya CM] {{Webarchive|url=https://web.archive.org/web/20180306062000/http://www.thehindu.com/elections/meghalaya-2018/conrad-sangma-sworn-in-as-meghalaya-cm/article22940327.ece |date=6 March 2018 }}". ''The Hindu''. 6 March 2018.</ref> |- | [[മിസോറം]]<br />{{small|([[List of chief ministers of Mizoram|list]])}} ! [[സോരംതംഗ]] | [[File:Zoramthanga_in_2008.jpg|border|center|167x167px]] | {{dts|format=dmy|2018|12|15}}<br /><small>({{ayd|2018|12|15}})</small> | [[മിസോ നാഷണൽ ഫ്രണ്ട്]] | width="4px" bgcolor="{{party color|Mizo National Front}}" | |[[Third Zoramthanga ministry|Zoramthanga III]] |<ref>Rahul Karmakar. "[https://www.thehindu.com/news/national/other-states/mizoram-assembly-elections-2018-mnf-leader-zoramthanga-sworn-in-as-mizorams-new-chief-minister/article25750995.ece Zoramthanga sworn in Mizoram Chief Minister] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/news/national/other-states/mizoram-assembly-elections-2018-mnf-leader-zoramthanga-sworn-in-as-mizorams-new-chief-minister/article25750995.ece |date=18 December 2018 }}". ''The Hindu''. 15 December 2018.</ref> |- | [[നാഗാലാ‌ൻഡ്]]<br />{{small|([[List of chief ministers of Nagaland|list]])}} ! [[നെയ്ഫു റിയോ]] | [[File:NeiphiuRio.jpg|border|center|167x167px]] | {{dts|format=dmy|2018|3|8}}<br /><small>({{ayd|2018|3|8}})</small> | [[Nationalist Democratic Progressive Party|നാഷണലിസ്റ്റ് ഡെമോക്രാറ്റിക് പ്രോഗ്രസീവ് പാർട്ടി]] | width="4px" bgcolor="{{party color|Nationalist Democratic Progressive Party}}" | | [[Fourth Rio ministry|Rio IV]] |<ref>Rahul Karmakar. "[http://www.thehindu.com/news/national/other-states/neiphiu-rio-sworn-in-as-nagaland-chief-minister/article22976837.ece Neiphiu Rio takes charge as Nagaland Chief Minister again] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/news/national/other-states/neiphiu-rio-sworn-in-as-nagaland-chief-minister/article22976837.ece |date=18 December 2018 }}". ''The Hindu''. 8 March 2018.</ref> |- | [[ഒഡീഷ]]<br />{{small|([[List of chief ministers of Odisha|list]])}} ! [[നവീൻ പട്‌നായിക്]] | [[File:NaveenPatnaik.jpg|border|center|153x153px]] | {{dts|format=dmy|2000|3|5}}<br /><small>({{ayd|2000|3|5}})</small> | [[ബിജു ജനതാ ദൾ]] | width="4px" bgcolor="{{party color|Biju Janata Dal}}" | |None | |[[Fifth Naveen Patnaik ministry|Patnaik V]] |<ref>N. Ramdas. "[http://hindu.com/thehindu/2000/03/06/stories/01060008.htm Naveen Govt. installed] {{Webarchive|url=https://web.archive.org/web/20140311125537/http://hindu.com/thehindu/2000/03/06/stories/01060008.htm |date=11 March 2014 }}". ''The Hindu''. 6 March 2000.</ref> |- | [[പുതുച്ചേരി]]{{efn|name=UT}}<br />{{small|([[List of chief ministers of Puducherry|list]])}} ! [[എൻ. രംഗസ്വാമി]] | [[File:N_Rangaswamy.jpg|border|center|156x156px]] | {{dts|format=dmy|2021|05|07}}<br /><small>({{ayd|2021|05|07}})</small> | [[ഓൾ ഇന്ത്യ എൻ.ആർ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|All India N.R. Congress}}" | |[[National Democratic Alliance|NDA]] |bgcolor="{{party color|Bharatiya Janata Party}}" | | [[Fourth Rangaswamy ministry|Rangaswamy IV]] |<ref>{{cite news |last1=Stalin |first1=J Sam Daniel |last2=Ghosh |first2=Deepshikha |title=Congress Loses Power In Puducherry, V Narayanasamy Resigns, Blames BJP |url=https://www.ndtv.com/india-news/puducherry-floor-test-puducherry-floor-test-today-congress-government-shaky-with-more-exits-2375732 |access-date=22 February 2021 |work=NDTV |date=22 February 2021}}</ref> |- | [[പഞ്ചാബ്, ഇന്ത്യ|പഞ്ചാബ്]]<br />{{small|([[പഞ്ചാബിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക (ഇന്ത്യ)|പട്ടിക]])}} ! [[ഭഗവന്ത് മാൻ]] | [[File:A delegation of Aam Aadmi Party leaders, - MP (Lok Sabha), Shri Bhagwant Mann, Shri Sanjay Singh and Shri Ashutosh, calling on the Union Home Minister, Shri Rajnath Singh, in New Delhi on October 22, 2015 (cropped).jpg|166x166px|border|center]] |{{dts|format=dmy|2022|03|16}}<br /><small>({{ayd|2022|03|16}})</small> |[[ആം ആദ്മി പാർട്ടി]] | width="4px" bgcolor="{{party color|Aam Aadmi Party}}" | | None | |[[Mann ministry|Mann I]] | |- | [[രാജസ്ഥാൻ]]<br />{{small|([[List of chief ministers of Rajasthan|list]])}} ! [[അശോക് ഗെലോട്ട്]] | [[File:Ashok_Gehlot_2012.jpg|border|center|167x167px]] | {{dts|format=dmy|2018|12|17}}<br /><small>({{ayd|2018|12|17}})</small> | [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[United Progressive Alliance|UPA]] |width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[Third Gehlot ministry|Gehlot III]] |<ref>"[https://www.thehindu.com/elections/rajasthan-assembly-elections-2018/ashok-gehlot-sachin-pilot-sworn-in-as-cm-deputy-cm/article25762173.ece Rajasthan: Gehlot, Pilot sworn in as CM, Deputy CM] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/elections/rajasthan-assembly-elections-2018/ashok-gehlot-sachin-pilot-sworn-in-as-cm-deputy-cm/article25762173.ece |date=18 December 2018 }}". ''The Hindu''. 17 December 2018.</ref> |- | [[സിക്കിം]]<br />{{small|([[List of chief ministers of Sikkim|list]])}} ! [[പ്രേം സിങ് തമാങ്]] | [[File:Prem_Singh_Tamang.jpg|border|center|166x166px]] | {{dts|format=dmy|2019|05|27}}<br /><small>({{ayd|2019|05|27}})</small> | [[സിക്കിം ക്രാന്തികാരി മോർച്ച]] | width="4px" bgcolor="{{party color|Sikkim Krantikari Morcha}}" | |[[National Democratic Alliance|NDA]] |bgcolor="{{party color|Bharatiya Janata Party}}" | | [[Tamang ministry|Tamang I]] |<ref>Shiv Sahay Singh. "[https://www.thehindu.com/elections/sikkim-assembly/ps-golay-sworn-in-as-sikkim-chief-minister/article27259921.ece P.S. Golay sworn in as Sikkim Chief Minister]". ''The Hindu''. 27 May 2019.</ref> |- | [[തമിഴ്‌നാട്]]<br />{{small|([[List of chief ministers of Tamil Nadu|list]])}} ! [[എം.കെ. സ്റ്റാലിൻ]] | | {{dts|format=dmy|2021|5|7}}<br /><small>({{ayd|2021|5|7}})</small> | [[ദ്രാവിഡ മുന്നേറ്റ കഴകം]] | width="4px" bgcolor="{{party color|Dravida Munnetra Kazhagam}}" | |[[United Progressive Alliance|UPA]] |width="4px" bgcolor="{{party color|Indian National Congress}}" | | [[M. K. Stalin ministry|Stalin I]] |<ref>{{cite news |title=MK Stalin sworn in as new Chief Minister of Tamil Nadu; here is the list of other top ministers |url=https://economictimes.indiatimes.com/news/elections/assembly-elections/tamil-nadu/mk-stalin-sworn-in-as-chief-minister-of-tamil-nadu/articleshow/82449754.cms |access-date=27 April 2022 |work=The Economic Times |language=en}}</ref> |- | [[തെലംഗാണ]]<br />{{small|([[തെലങ്കാനയിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടിക|പട്ടിക]])}} ! [[കെ. ചന്ദ്രശേഖർ റാവു]] | [[File:Kalvakuntla_Chandrashekar_Rao.png|border|center|153x153px]] | {{dts|format=dmy|2014|6|2}}<br /><small>({{ayd|2014|6|2}})</small> | [[ഭാരത് രാഷ്ട്ര സമിതി]] | width="4px" bgcolor="{{party color|Telangana Rashtra Samithi}}" | | None | |[[Second K. Chandrashekar Rao ministry|Rao II]] |<ref>K. Srinivas Reddy. "[http://www.thehindu.com/news/national/telangana/kcr-sworn-in-heads-cabinet-of-11-ministers/article6073983.ece KCR sworn in; heads cabinet of 11 ministers] {{Webarchive|url=https://web.archive.org/web/20140606150704/http://www.thehindu.com/news/national/telangana/kcr-sworn-in-heads-cabinet-of-11-ministers/article6073983.ece |date=6 June 2014 }}". ''The Hindu''. 2 June 2014.</ref> |- | [[ത്രിപുര]]<br />{{small|([[List of chief ministers of Tripura|list]])}} ! [[മണിക് സാഹ]] | | {{dts|format=dmy|2022|5|15}}<br /><small>({{ayd|2022|5|15}})</small> | rowspan="3" | [[ഭാരതീയ ജനതാ പാർട്ടി]] | rowspan="3" width="4px" bgcolor="{{party color|Bharatiya Janata Party}}" | | rowspan="3" |[[National Democratic Alliance|NDA]] | rowspan="3" bgcolor="{{party color|Bharatiya Janata Party}}" | | [[Manik Saha ministry|Saha I]] |<ref>Rahul Karmakar. "[http://www.thehindu.com/news/national/biplab-kumar-deb-to-be-sworn-in-as-tripura-cm/article22993657.ece Biplab Kumar Deb sworn in as Tripura CM] {{Webarchive|url=https://web.archive.org/web/20181218061436/https://www.thehindu.com/news/national/biplab-kumar-deb-to-be-sworn-in-as-tripura-cm/article22993657.ece |date=18 December 2018 }}". ''The Hindu''. 9 March 2018.</ref> |- | [[ഉത്തർ‌പ്രദേശ്]]<br />{{small|([[List of chief ministers of Uttar Pradesh|list]])}} ! [[യോഗി ആദിത്യനാഥ്]] | [[File:The Uttar Pradesh Chief Minister, Shri Yogi Adityanath in New Delhi on February 10, 2018 (cropped).jpg|border|center|194x194px]] | {{dts|format=dmy|2017|3|19}}<br /><small>({{ayd|2017|3|19}})</small> |[[Second Yogi Adityanath ministry|Yogi Adityanath II]] |<ref>"[http://www.thehindu.com/elections/uttar-pradesh-2017/live-yogi-adityanath-swearing-in-in-uttar-pradesh/article17531393.ece Yogi Adityanath takes oath as Uttar Pradesh Chief Minister] {{Webarchive|url=https://web.archive.org/web/20170319163232/http://www.thehindu.com/elections/uttar-pradesh-2017/live-yogi-adityanath-swearing-in-in-uttar-pradesh/article17531393.ece |date=19 March 2017 }}". ''The Hindu''. 19 March 2017.</ref> |- | [[ഉത്തരാഖണ്ഡ്]]<br />{{small|([[List of chief ministers of Uttarakhand|list]])}} ! [[പുഷ്കർ സിംഗ് ധാമി]] | [[File:Pushkar Dhami.jpg|border|center|160x160px]] | {{dts|format=dmy|2021|07|04}}<br /><small>({{ayd|2021|07|04}})</small> | [[Second Pushkar Singh Dhami ministry|Dhami II]] |<ref>{{Cite web|date=4 July 2021|title=Pushkar Singh Dhami takes oath as eleventh chief minister of Uttarakhand|url=https://www.hindustantimes.com/cities/dehradun-news/pushkar-singh-dhami-takes-oath-as-eleventh-chief-minister-of-uttarakhand-101625397374954.html|access-date=4 July 2021|website=Hindustan Times|language=en}}</ref> |- | [[പശ്ചിമ ബംഗാൾ]]<br />{{small|([[List of chief ministers of West Bengal|list]])}} ! [[മമത ബാനർജി]] | [[File:Ms._Mamata_Banerjee,_in_Kolkata_on_July_17,_2018_(cropped)_(cropped).JPG|border|center|155x155px]] | {{dts|format=dmy|2011|5|20}}<br /><small>({{ayd|2011|5|20}})</small> | [[തൃണമൂൽ കോൺഗ്രസ്]] | width="4px" bgcolor="{{party color|All India Trinamool Congress}}" | | None | | [[Third Banerjee ministry|Banerjee III]] |<ref>"[http://www.thehindu.com/todays-paper/mamata-37-ministers-sworn-in/article2036575.ece Mamata, 37 Ministers sworn in] {{Webarchive|url=https://web.archive.org/web/20140204015955/http://www.thehindu.com/todays-paper/mamata-37-ministers-sworn-in/article2036575.ece |date=4 February 2014 }}". ''The Hindu''. 21 May 2011.</ref> |} ==ഇതും കാണുക== * [[ഇന്ത്യയിലെ ഇപ്പോഴത്തെ സംസ്ഥാന ഗവർണ്ണർമാരുടെ പട്ടിക]] * [[ഇന്ത്യയിലെ വനിതാ മുഖ്യമന്ത്രിമാർ]] * [[ഭാരതീയ ജനതാപാർട്ടിയിൽ നിന്നുള്ള മുഖ്യമന്ത്രിമാർ]] * [[കോൺഗ്രസ് പാർട്ടിയിൽ നിന്നുള്ള് മുഖ്യമന്ത്രിമാർ]] ==അവലംബങ്ങൾ== {{Reflist|2}} {{Lists of chief ministers of Indian states}} ==കുറിപ്പുകൾ== {{notelist}} [[വർഗ്ഗം:ഇന്ത്യൻ സംസ്ഥാനങ്ങളിലെ മുഖ്യമന്ത്രിമാരുടെ പട്ടികകൾ|*]] [[വർഗ്ഗം:ഇന്ത്യയിലെ ഇപ്പോഴത്തെ ഉദ്യോഗസ്ഥരുടെ പട്ടികകൾ]] iusqkyxjt4y8i82hefoijihzdl9zaok ലാർജ് സിനോപ്റ്റിക് സർവേ ടെലസ്കോപ് 0 277297 4622083 4548898 2026-05-23T00:06:12Z InternetArchiveBot 146798 Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622083 wikitext text/x-wiki {{PU|Large Synoptic Survey Telescope}} {{Infobox telescope | bgcolour= | name=Large Synoptic Survey Telescope | image= File:Large Synoptic Survey Telescope 3 4 render 2013.png | caption= | organization=LSST Corporation | location=El Peñón, Chile | coords={{Coord|30|14|40.7|S|70|44|57.9|W|display=inline,title|region:CL-CO_type:landmark}} <ref name=Coordinates>{{Citation |title=Accurate Geodetic Coordinates for Observatories on Cerro Tololo and Cerro Pachon |author1=Eric E. Mamajek |date=2012-10-10 |url=http://arxiv.org/abs/1210.1616 |pages=13|accessdate=2012-10-12}} Measured GPS position for future site of LSST pier is WGS84 30°14′40.68″S, 70°44′57.90″W, with &plusmn;0.10" uncertainty in each coordinate.</ref> <ref name=RefDesign>{{Citation |title=LSST Reference Design |publisher=LSST Corporation |author1=Charles F. Claver |author2=et al. |date=2007-03-19 |url=http://lsst.org/files/docs/LSST-RefDesign.pdf |pages=64–65 |accessdate=2008-12-10 |archive-date=2009-03-06 |archive-url=https://web.archive.org/web/20090306173830/http://lsst.org/files/docs/LSST-RefDesign.pdf |url-status=dead }} The map on p. 64 shows the [[Universal Transverse Mercator]] location of the centre of the telescope pier at approximately 6653188.9 N, 331859.5 E, in zone 19J. However, those UTM coordinates appear to be using the PSAD56 (La Canoa) [[Datum (geodesy)|datum]], as other assumptions do not lead to a peak. This is [http://www.asprs.org/resources/grids/01-2007-chile.pdf apparently widely used] {{Webarchive|url=https://web.archive.org/web/20100813190615/http://www.asprs.org/resources/grids/01-2007-chile.pdf |date=2010-08-13 }} in South American UTM grids. The coordinates above [http://home.hiwaay.net/~taylorc/toolbox/geodesy/datumtrans/ translate] {{Webarchive|url=https://web.archive.org/web/20080929063331/http://home.hiwaay.net/~taylorc/toolbox/geodesy/datumtrans/ |date=2008-09-29 }} to WGS84 {{Coord|30|14|39.6|S|70|44|57.8|W|display=inline|region:CL-CO_type:landmark_source:UTM(19J,6653188.0N,331859.1E)}}.</ref><ref name=Status2011>{{cite conference |title=LSST Telescope and Optics Status |type=poster |booktitle=American Astronomical Society 217th Meeting |place=Seattle, Washington |url=http://www.lsst.org/files/docs/aas/2011/217-RC-931-AAS_Krabbendam.ppt.pdf |author1=Victor Krabbendam |author2=et al. |date=2011-01-11 |accessdate=2011-01-16 |archive-date=2011-07-20 |archive-url=https://web.archive.org/web/20110720001908/http://www.lsst.org/files/docs/aas/2011/217-RC-931-AAS_Krabbendam.ppt.pdf |url-status=dead }} This updated plan shows the revised telescope centre at 6653188.0 N, 331859.1 E (PSAD56 datum). This is the same WGS84 location to the resolution shown.</ref> | altitude=2,662.75 m (top of pier)<ref name=Coordinates/>{{Rp|13}}<ref name=SummitFacilities>{{Citation |url=http://www.lsst.org/lsst/science/summit_facilities |title=LSST Summit Facilities |date=2009-08-14 |accessdate=2009-08-21 |archive-date=2009-10-11 |archive-url=https://web.archive.org/web/20091011235527/http://lsst.org/lsst/science/summit_facilities |url-status=dead }}</ref> | weather= | wavelength=320–1060 nm<ref name=config>{{Citation |title=LSST Basic Configuration |url=http://www.lsst.org/lsst/science/survey_requirements |accessdate=2008-01-28 |publisher=LSST Corporation |archive-date=2009-01-31 |archive-url=https://web.archive.org/web/20090131073517/http://www.lsst.org/lsst/science/survey_requirements |url-status=dead }}</ref> | built=2014–2021 (planned) | website=http://www.lsst.org/ | style=[[Three-mirror anastigmat]], [[Three-mirror anastigmat#Paul and Paul-Baker designs|Paul-Baker/{{wbr}}Mersenne-Schmidt]] wide-angle<ref>{{Citation |journal=[[Monthly Notices of the Royal Astronomical Society]] |issn=0035-8711 |date=October 1, 1984 |volume=210 |issue=3 |pages=597–609 |title=The Mersenne-Schmidt: A three-mirror survey telescope |last=Willstrop |first=R. V. |url=http://adsabs.harvard.edu/abs/1984MNRAS.210..597W |accessdate=2008-01-23|bibcode = 1984MNRAS.210..597W }}</ref> |diameter={{convert/2 |8.360| (|5.116|m|ft|disp=x| inner) or&nbsp;|&nbsp;inner)|2}}<ref name=optical_design>{{Citation |first=William |last=Gressler |id=LSE-11 |title=LSST Optical Design Summary |url=http://www.lsstcorp.org/nsfmaterialsdec09/LSST%20Optical%20Design%20Summary.pdf |date=June 2, 2009 |accessdate=2011-03-01 |archive-date=2012-03-20 |archive-url=https://web.archive.org/web/20120320215936/http://www.lsstcorp.org/nsfmaterialsdec09/LSST%20Optical%20Design%20Summary.pdf |url-status=dead }}<!-- For date, see change log, page 2!--></ref> | diameter2=3.420 m (1.800 m inner)<ref name=optical_design/> | diameter3=5.016 m (1.100 m inner)<ref name=optical_design/> | angular_resolution=0.7″ median [[Astronomical seeing|seeing]] limit<br/>0.2″ pixel size<ref name=config/> | area={{convert|35|m2|sqft|1}}<ref name=config/> | focal_length=10.31 m (f/1.23) overall<br/>9.9175 m (f/1.186) primary | mounting=[[altitude/azimuth]] | dome= }} '''ലാർജ് സിനോപ്റ്റിക് സർവേ ടെലസ്കോപ്'''(LSST) ആകാശത്തിന്റെ ഏറ്റവും വിപുലമായ നിരീക്ഷണത്തിനു വേണ്ടി നിർമ്മിക്കാൻ പോകുന്ന പ്രതിഫലന [[ദൂരദർശിനി|ദൂരദർശിനിയാണ്]].<ref>{{Cite web |url=http://www.lsst.org/lsst/faq |title=LSST Observatory - FAQ |access-date=2014-04-06 |archive-date=2014-05-19 |archive-url=https://web.archive.org/web/20140519025327/http://www.lsst.org/lsst/faq |url-status=dead }}</ref> ഇപ്പോൾ ഇതിന്റെ [[കണ്ണാടി|ദർപ്പണങ്ങൾ]] നിർമ്മിക്കാൻ തുടങ്ങുന്നതേയുള്ളു. [[2012]]ൽ അംഗീകാരം നേടിയ എൽ.എസ്.എസ്.ടി. 2022ലാണ് പരിപൂർണ്ണമായി പ്രവർത്തനസജ്ജമാവുക.<ref>{{Cite web |url=http://www.lsst.org/lsst/science/timeline |title=LSST Timeline |access-date=2014-04-06 |archive-date=2012-01-31 |archive-url=https://web.archive.org/web/20120131024458/http://www.lsst.org/lsst/science/timeline |url-status=dead }}</ref><ref>{{Citation |title=LSST All Hands Meeting |contribution=LSST Project and Technical Overview |first=Victor |last=Krabbendam |url=http://www.lsstcorp.org/ahm2012/Plenary/krabbendamAHM2012OverviewA.pdf |date=2012-08-13 |publication-place=Tucson, Arizona |accessdate=2012-09-05 |archive-date=2014-06-06 |archive-url=https://web.archive.org/web/20140606203441/http://www.lsstcorp.org/ahm2012/Plenary/krabbendamAHM2012OverviewA.pdf |url-status=dead }}</ref> വടക്കൻ [[ചിലി|ചിലിയിൽ]] [[സെറോ പാക്കോൺ]] പർവ്വതനിരയിലെ എൽ പിനോൺ കൊടുമുടിയിലാണ് എൽ.എസ്.എസ്.ടി. സ്ഥാപിക്കാൻ പോകുന്നത്. സമുദ്രനിരപ്പിൽ നിന്ന് 2682കി.മീറ്റർ ഉയരത്തിൽ കിടക്കുന്ന പ്രദേശമാണിത്.<ref>{{Cite web |url=http://www.lsst.org/lsst/science/site_selection_PR |title=Press Release LSSTC-04: Site in Northern Chile Selected for Large Synoptic Survey Telescope |access-date=2014-04-06 |archive-date=2014-06-06 |archive-url=https://web.archive.org/web/20140606205831/http://www.lsst.org/lsst/science/site_selection_PR |url-status=dead }}</ref> [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കയിലെ]] നാഷണൽ സയൻസ് ഫൗണ്ടേഷനാണ് ഇതിന്റെ നിർമ്മാണത്തിന്റെ ചുക്കാൻ പിടിക്കുന്നത്. കൂടാതെ സോഫ്റ്റ്‌വെയർ രംഗത്തെ ശതകോടീശ്വരന്മാരായ [[ചാൾസ് സൈമൺയി]], [[ബിൽഗേറ്റ്സ്]] എന്നിവരുടെ സാമ്പത്തിക സഹകരണവുമുണ്ട്. 2012 ജൂലൈ 18൹ നാഷണൽ സയൻസ് ബോർഡിന്റെ അംഗീകാരം ലഭിച്ചയുടെനെ തന്നെ ഇതിന്റെ നിർമ്മാണപ്രവർത്തനങ്ങൾ ആരംഭിച്ചു കഴിഞ്ഞിരുന്നു. ഇപ്പോൾ ഡിസൈനിങിന്റെ അവസാനഘട്ടത്തിലെത്തിക്കഴിഞ്ഞു.<ref>{{Cite web |url=http://www.nsf.gov/news/news_summ.jsp?cntn_id=124899 |title=NSF Press Release 12-137 |access-date=2014-04-06 |archive-date=2013-10-24 |archive-url=https://web.archive.org/web/20131024233130/http://www.nsf.gov/news/news_summ.jsp?cntn_id=124899 |url-status=dead }}</ref> ==അവലോകനം== ഇതുവരെ നിർമ്മിച്ചിട്ടുള്ളതിൽ വെച്ച് ഏറ്റവും വലിയ കളക്റ്റിങ് ഏരിയയുള്ള പ്രാകാശിക [[ദൂരദർശിനി|ദൂരദർശിനിയാണ്]] എൽ.എസ്.എസ്.ടി. ഇതിന്റെ പ്രാഥമിക ദർപ്പണത്തിന്റെ വ്യാസം 804മീറ്ററാണ്. ഇത് ആകാശത്തിന്റെ 3.5 ഡിഗ്രി പ്രദേശം നിരീക്ഷണവിധേയമാക്കും. [[സൂര്യൻ]] സ്ഥിതിചെയ്യാൻ എടുക്കുന്ന ആകാശസ്ഥലം 0.5ഡിഗ്രിയാണെന്ന് ഓർക്കുക. ഇതിന്റെ ഉയർന്ന അപ്പാർച്ചർ(പ്രകാശം ശേഖരിക്കാനുള്ള കഴിവ്) ആകാശചിത്രീകരണം കൂടുതൽ സൂക്ഷ്മതയുള്ളതാക്കും.<ref name=config/> സാധാരണ പ്രാകാശിക ദൂരദർശിനികളിൽ രണ്ട് ദർപ്പണങ്ങൾ മാത്രം ഉപയോഗിക്കുമ്പോൾ എൽ.എസ്.എസ്.ടിയിൽ 5 മീറ്റർ വ്യാസമുള്ള മൂന്നാമതൊരു ദർപ്പണം(M3) കൂടി ഉപയോഗിക്കുന്നു. വളരെ മങ്ങിയ പ്രാകാശികസ്രോതസ്സുകളെ പോലും കണ്ടെത്തുന്നതിനു വേണ്ടിയാണിത്. പ്രാധമിക ദർപ്പണത്തിന്റെ(M1) വ്യാസം 8.4മീറ്ററും ദ്വിതീയ ദർപ്പണത്തിന്റെ(M2)വ്യാസം 3.4മീറ്ററുമാണ്. തൃതീയ ദർപ്പണം പ്രാഥമിക ദർപ്പണത്തിനുള്ളിൽ തന്നെയാണ് സ്ഥാപിക്കുക. പ്രാധമിക ദർപ്പണവും തൃതീയ ദർപ്പണവും ഒരൊറ്റ ഗ്ലാസിൽ തന്നെയാണ് നിർമ്മിക്കുക. ഇത് M1M3 മോണോലിത്ത് എന്നറിയപ്പെടുന്നു.<ref name=config/> ഇതിൽ ഉപയോഗിക്കുന്ന 3.2 ഗീഗാപിക്സൽ ക്യാമറ ദൂരദർശിനികളിൽ ഉപയോഗിക്കുന്ന ക്യാമറകളിൽ ഏറ്റവും വലുതായിരിക്കും.<ref name=config/> 2 ലക്ഷം ചിത്രങ്ങൾ (1.28 പെറ്റാബൈറ്റ്സ്) ഓരോ വർഷം ലഭ്യമാക്കും. ഓരോ രാത്രിയിലും ലഭിക്കുന്ന 30ടെറാബൈറ്റ് വിവരങ്ങൾ വിശകലനം ചെയ്യുക എന്നതായിരിക്കും ഈ പ്രോജക്റ്റിലെ ഏറ്റവും ശ്രമകരമായ ജോലി.<ref name=Kantor2008>{{Citation |url=http://www.theregister.co.uk/2008/10/03/lsst_jeff_kantor/print.html |title=Mapping the universe at 30 Terabytes a night: Jeff Kantor, on building and managing a 150 Petabyte database |author=Matt Stephens |publisher=[[The Register]] |date=2008-10-03 |accessdate=2008-10-03 |archive-date=2008-10-06 |archive-url=https://web.archive.org/web/20081006144322/http://www.theregister.co.uk/2008/10/03/lsst_jeff_kantor/print.html |url-status=dead }}</ref><ref name=Kantor2010>{{Citation |url=http://www.theregister.co.uk/2010/11/26/lsst_big_data_and_agile/print.html |title=Petabyte-chomping big sky telescope sucks down baby code |author=Matt Stephens |publisher=[[The Register]] |date=2010-11-26 |accessdate=2011-01-16 |archive-date=2010-11-30 |archive-url=https://web.archive.org/web/20101130064459/http://www.theregister.co.uk/2010/11/26/lsst_big_data_and_agile/print.html |url-status=dead }}</ref> ഈ പ്രോജക്റ്റിലെ പ്രധാന കമ്പ്യൂട്ടറിന് 100 [[ഫ്ലോപ്സ്|ടെറാഫ്ലോപ്സ്]] കമ്പ്യൂട്ടിങ് ശേഷിയും 15 പെറ്റാബൈറ്റ് സംഭരണശേഷിയും ആവശ്യമായി വരും.<ref>{{Citation |title=Astronomical Computing |date=2010-10-18 |journal=Symmetry Breaking |url=http://www.symmetrymagazine.org/breaking/2010/10/18/astronomical-computing/ |first=Miriam |last=Boon |accessdate=2010-10-26}}</ref> ==ലക്ഷ്യങ്ങൾ== എൽ.എസ്.എസ്.ടിയുടെ പ്രധാനലക്ഷ്യങ്ങൾ താഴെ പറയുന്നവയാണ്. * ഇനിയും നമുക്കു മനസ്സിലാക്കാൻ കഴിയാത്ത [[തമോ ഊർജ്ജം]], [[തമോദ്രവ്യം]] എന്നിവയുടെ കൂടുതൽ തെളിവുകൾ ലഭ്യമാക്കുക. * [[ഭൂമി|ഭൂമിക്കു]] സമീപത്തു കൂടി സഞ്ചരിക്കുന്ന [[ഛിന്നഗ്രഹവലയം|ഛിന്നഗ്രഹങ്ങൾ]], [[കയിപ്പർ വലയം|കയിപ്പർ ബെൽറ്റ്]] പദാർത്ഥങ്ങൾ എന്നിവയെ കുറിച്ച് പഠിക്കുക. * ക്ഷണിക പ്രതിഭാസങ്ങളായ [[നോവ]], [[സൂപ്പർനോവ]] എന്നിവയെ കണ്ടെത്തുക. * [[ആകാശഗംഗ|ആകാശഗംഗയുടെ]] സമ്പൂർണ്ണമാപ്പിങ്. ഇവ കൂടാതെ അപ്രതീക്ഷിതമായ മറ്റു പല കണ്ടെത്തലുകളും എൽ.എസ്.എസ്.ടി നമുക്കു നൽകും എന്നാണ് പ്രതീക്ഷിക്കുന്നത്. ==പേരിനു പിന്നിൽ== സിനോപ്സിസ് എന്ന ഗ്രീക് പദത്തിൽ നിന്നാണ് സിനോപ്റ്റിക് എന്ന വാക്ക് സ്വീകരിച്ചിട്ടുള്ളത്. ഒരു വസ്തുവിനെ കുറിച്ചുള്ള എല്ലാ വസ്തുതകളും ഒരുമിച്ച് സമ്പൂർണ്ണമായി പഠിക്കുക എന്നാണ് ഈ വാക്കിനർത്ഥം - (syn = ഒരുമിച്ച്, opsis = കാഴ്ച). ഓരോ രാത്രിയിലും ലഭ്യമാകുന്ന(30 ടെറാബൈറ്റ്<ref name=Kantor2008/>) വിവരങ്ങൾ [[ഗൂഗിൾ]] അവരുടെ ഇന്ററാക്ടീവ് നൈറ്റ് സ്കൈ മാപിലൂടെ ലഭ്യമാക്കിക്കൊണ്ടിരിക്കും.<ref>[http://uanews.org/node/12956 "Google Joins Large Synoptic Survey Telescope (LSST) Project"]. uanews.org. January 10, 2007. Retrieved 29 April 2013.</ref> ==അവലംബം== {{Reflist}} [[വർഗ്ഗം:ദൂരദർശിനികൾ]] [[വർഗ്ഗം:ജ്യോതിശാസ്ത്രം]] gzakql5gwwfj0t6ojmhxjv9ztd4p1iy വിജയ് ബാബു 0 278518 4621619 4621486 2026-05-22T20:19:35Z Ranjithsiji 22471 update the box 4621619 wikitext text/x-wiki {{prettyurl|Vijay Babu}} {{Infobox person | name = Vijay Babu | image = | caption = | birth_name = | birth_date = {{Birth date and age|df=yes|1976|07|29}} | birth_place = [[Kollam]], [[Kerala]], India<ref>http://www.cinemascoop.net/Celebrity/Gallery/1214/Vijay-Babu{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഫെബ്രുവരി 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> | residence = [[Kochi]], Kerala | occupation = [[Actor]], Producer, Businessman, Media executive | years active = 2012–present | parents = | spouse = | relatives = | children = | website = {{url|http://fridayfilmhouse.com}} }} മലയാള ചലച്ചിത്രമേഖലയിൽ പ്രവർത്തിക്കുന്ന ഒരു ചലച്ചിത്ര നിർമ്മാതാവും നടനും വ്യവസായിയുമാണ് '''വിജയ് ബാബു'''.<ref>http://www.deccanchronicle.com/131227/entertainment-mollywood/article/vijay-babu-weekend-actor-turn-hero</ref> നടി സാന്ദ്ര തോമസിനൊപ്പം ഫിലിം പ്രൊഡക്ഷൻ കമ്പനിയായ ഫ്രൈഡേ ഫിലിം ഹൗസിന്റെ സഹസ്ഥാപകനാണ് ഇദ്ഹം.<ref>{{Cite web |url=http://www.newindianexpress.com/entertainment/malayalam/Vijay-babu-in-the-Lead/2013/11/14/article1875965.ece |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-08-04 |archive-date=2016-03-05 |archive-url=https://web.archive.org/web/20160305013633/http://www.newindianexpress.com/entertainment/malayalam/Vijay-babu-in-the-Lead/2013/11/14/article1875965.ece |url-status=dead }}</ref> വിജയ് ബാബുവിന്റെ കമ്പനി നിർമ്മിച്ച ഫിലിപ്‌സ് ആന്റ് ദി മങ്കി പെൻ എന്ന ചിത്രത്തിനു മികച്ച കുട്ടികളുടെ ചിത്രത്തിനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര പുരസ്കാരം ലഭിച്ചു. ==നിർമിച്ച ചിത്രങ്ങൾ== *.ആട് ഒരു ഭീകര ജീവിയാണ് *ആട് 2 *ഫിലിപ്സ് ആൻഡ് ദി മങ്കിപെൻ *[[തൃശൂർ പൂരം (ചലച്ചിത്രം)]] ==ലൈംഗികപീഢന ആരോപണം== 2022 ഏപ്രിൽ 22 ന് മലയാള സിനിമയിലെ ഒരു പുതുമുഖ നടി, വിജയ് ബാബുവിനെതിരെ ലൈംഗികവും ശാരീരികവുമായ പീഡനം നടത്തിയെന്ന് ആരോപിക്കുകയും തുടർന്ന് ക്രിമിനൽ കേസ് രജിസ്റ്റർ ചെയ്യുകയും ചെയ്തു. സൗഹൃദത്തിന്റെയും മാർഗ്ഗനിർദ്ദേശത്തിന്റെയും മറവിലാണ് വിജയ ബാബു പീഡനം നടത്തിയതെന്ന് നടി ആരോപിക്കുന്നു. വിജയ ബാബു ഇപ്പോൾ ഇന്ത്യ വിട്ട് ദുബായിലാണെന്ന് സംശയിക്കുന്നു. എയർപോർട്ടുകളിൽ, പോലീസ് ഇയാൾക്കായി ലുക്ക് ഔട്ട് സർക്കുലർ പുറപ്പെടുവിക്കുകയും തെളിവുകൾക്കായി അദ്ദേഹത്തിന്റെ സ്വത്തുക്കളെ കുറിച്ചന്വേഷിക്കാൻ പദ്ധതിയിടുകയും ചെയ്തുവരുന്നു. നാല് ദിവസത്തിന് ശേഷം വിജയ് ബാബു ഒരു ഫേസ്ബുക്ക് ലൈവിൽ വന്ന് "ഇരയാക്കപ്പെട്ടവൻ " ആണെന്ന് അവകാശപ്പെട്ട് ആരോപണങ്ങൾ നിഷേധിക്കുകയും അപകീർത്തിക്കേസ് ഫയൽ ചെയ്യുമെന്ന് പറയുകയും ചെയ്തു. ഇന്ത്യൻ നിയമപ്രകാരം നിയമവിരുദ്ധമാണെന്ന് അറിയാമായിരുന്നിട്ടും വീഡിയോയിൽ തനിക്കെതിരെ ആരോപണം ഉന്നയിച്ച ഇരയുടെ പേര് അദ്ദേഹം പരാമർശിച്ചു. ഇരയുടെ അജ്ഞാതത്വം ലംഘിച്ചതിന് ഐപിസി സെക്ഷൻ 228 എ പ്രകാരം പോലീസ് വിജയ് ബാബുവിനെതിരെ കൂടുതൽ കുറ്റം ചുമത്തുകയുണ്ടായി ==അവലംബം== {{Reflist)) {{Friday Film House}} [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] cmp8xah2aayolpdvycz8bd9k5bpezde 4621620 4621619 2026-05-22T20:19:47Z Ranjithsiji 22471 /* അവലംബം */ 4621620 wikitext text/x-wiki {{prettyurl|Vijay Babu}} {{Infobox person | name = Vijay Babu | image = | caption = | birth_name = | birth_date = {{Birth date and age|df=yes|1976|07|29}} | birth_place = [[Kollam]], [[Kerala]], India<ref>http://www.cinemascoop.net/Celebrity/Gallery/1214/Vijay-Babu{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഫെബ്രുവരി 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> | residence = [[Kochi]], Kerala | occupation = [[Actor]], Producer, Businessman, Media executive | years active = 2012–present | parents = | spouse = | relatives = | children = | website = {{url|http://fridayfilmhouse.com}} }} മലയാള ചലച്ചിത്രമേഖലയിൽ പ്രവർത്തിക്കുന്ന ഒരു ചലച്ചിത്ര നിർമ്മാതാവും നടനും വ്യവസായിയുമാണ് '''വിജയ് ബാബു'''.<ref>http://www.deccanchronicle.com/131227/entertainment-mollywood/article/vijay-babu-weekend-actor-turn-hero</ref> നടി സാന്ദ്ര തോമസിനൊപ്പം ഫിലിം പ്രൊഡക്ഷൻ കമ്പനിയായ ഫ്രൈഡേ ഫിലിം ഹൗസിന്റെ സഹസ്ഥാപകനാണ് ഇദ്ഹം.<ref>{{Cite web |url=http://www.newindianexpress.com/entertainment/malayalam/Vijay-babu-in-the-Lead/2013/11/14/article1875965.ece |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-08-04 |archive-date=2016-03-05 |archive-url=https://web.archive.org/web/20160305013633/http://www.newindianexpress.com/entertainment/malayalam/Vijay-babu-in-the-Lead/2013/11/14/article1875965.ece |url-status=dead }}</ref> വിജയ് ബാബുവിന്റെ കമ്പനി നിർമ്മിച്ച ഫിലിപ്‌സ് ആന്റ് ദി മങ്കി പെൻ എന്ന ചിത്രത്തിനു മികച്ച കുട്ടികളുടെ ചിത്രത്തിനുള്ള കേരള സംസ്ഥാന ചലച്ചിത്ര പുരസ്കാരം ലഭിച്ചു. ==നിർമിച്ച ചിത്രങ്ങൾ== *.ആട് ഒരു ഭീകര ജീവിയാണ് *ആട് 2 *ഫിലിപ്സ് ആൻഡ് ദി മങ്കിപെൻ *[[തൃശൂർ പൂരം (ചലച്ചിത്രം)]] ==ലൈംഗികപീഢന ആരോപണം== 2022 ഏപ്രിൽ 22 ന് മലയാള സിനിമയിലെ ഒരു പുതുമുഖ നടി, വിജയ് ബാബുവിനെതിരെ ലൈംഗികവും ശാരീരികവുമായ പീഡനം നടത്തിയെന്ന് ആരോപിക്കുകയും തുടർന്ന് ക്രിമിനൽ കേസ് രജിസ്റ്റർ ചെയ്യുകയും ചെയ്തു. സൗഹൃദത്തിന്റെയും മാർഗ്ഗനിർദ്ദേശത്തിന്റെയും മറവിലാണ് വിജയ ബാബു പീഡനം നടത്തിയതെന്ന് നടി ആരോപിക്കുന്നു. വിജയ ബാബു ഇപ്പോൾ ഇന്ത്യ വിട്ട് ദുബായിലാണെന്ന് സംശയിക്കുന്നു. എയർപോർട്ടുകളിൽ, പോലീസ് ഇയാൾക്കായി ലുക്ക് ഔട്ട് സർക്കുലർ പുറപ്പെടുവിക്കുകയും തെളിവുകൾക്കായി അദ്ദേഹത്തിന്റെ സ്വത്തുക്കളെ കുറിച്ചന്വേഷിക്കാൻ പദ്ധതിയിടുകയും ചെയ്തുവരുന്നു. നാല് ദിവസത്തിന് ശേഷം വിജയ് ബാബു ഒരു ഫേസ്ബുക്ക് ലൈവിൽ വന്ന് "ഇരയാക്കപ്പെട്ടവൻ " ആണെന്ന് അവകാശപ്പെട്ട് ആരോപണങ്ങൾ നിഷേധിക്കുകയും അപകീർത്തിക്കേസ് ഫയൽ ചെയ്യുമെന്ന് പറയുകയും ചെയ്തു. ഇന്ത്യൻ നിയമപ്രകാരം നിയമവിരുദ്ധമാണെന്ന് അറിയാമായിരുന്നിട്ടും വീഡിയോയിൽ തനിക്കെതിരെ ആരോപണം ഉന്നയിച്ച ഇരയുടെ പേര് അദ്ദേഹം പരാമർശിച്ചു. ഇരയുടെ അജ്ഞാതത്വം ലംഘിച്ചതിന് ഐപിസി സെക്ഷൻ 228 എ പ്രകാരം പോലീസ് വിജയ് ബാബുവിനെതിരെ കൂടുതൽ കുറ്റം ചുമത്തുകയുണ്ടായി ==അവലംബം== {{Reflist}} {{Friday Film House}} [[വർഗ്ഗം:മലയാളചലച്ചിത്രനടന്മാർ]] 7oae0nr5sg21h8whahq55k3he62uwie ഫലകം:Location map Pakistan 10 289388 4621551 2290591 2026-05-22T13:15:57Z Gotitbro 104675 /* */ 4621551 wikitext text/x-wiki {{#switch:{{{1}}} | name = Pakistan | top = 37.3 | bottom = 23.4 | left = 60.5 | right = 80.5 | image = Pakistan location map.svg | image1 = Pakistan relief location map.jpg }}<noinclude><!-- -- The above switch-statement branches by text in parameter #1, -- returning the associated value after each equals sign ("="). -->{{Location map/Info}}{{Documentation}} ==Alternative maps== The ''AlternativeMap'' parameter in [[Template:Location map]] can be used to display the following alternative map image: [[Image:Pakistan location map2.svg|400x400px|thumb|left|AlternativeMap = Pakistan location map2.svg]] [[Category:Location map by country templates|Pakistan]] [[Category:Pakistan location map templates| ]] </noinclude> 3txhaqfrwxzlykxmyooqfsqeouauu7a 4621552 4621551 2026-05-22T13:16:32Z Gotitbro 104675 /* Alternative maps */ 4621552 wikitext text/x-wiki {{#switch:{{{1}}} | name = Pakistan | top = 37.3 | bottom = 23.4 | left = 60.5 | right = 80.5 | image = Pakistan location map.svg | image1 = Pakistan relief location map.jpg }}<noinclude><!-- -- The above switch-statement branches by text in parameter #1, -- returning the associated value after each equals sign ("="). -->{{Location map/Info}}{{Documentation}} ==Alternative maps== The ''AlternativeMap'' parameter in [[Template:Location map]] can be used to display the following alternative map image: [[Image:Pakistan adm location map.svg|400x400px|thumb|left|AlternativeMap = Pakistan adm location map.svg]] [[Category:Location map by country templates|Pakistan]] [[Category:Pakistan location map templates| ]] </noinclude> 9y4lagwvzqhs9ohepgabrl5ifq2him8 ഫലകം:Interlanguage link/doc 10 291425 4621562 2023819 2026-05-22T13:58:44Z CatholicChristian 209870 CatholicChristian എന്ന ഉപയോക്താവ് [[ഫലകം:Ill2/doc]] എന്ന താൾ [[ഫലകം:Interlanguage link/doc]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 2023819 wikitext text/x-wiki {{Documentation subpage}} <!-- Categories and interwikis go at the bottom of this page. --> ==History== This template is used on the [[Wikipedia:WikiProject Belgium]] page to create links of "wanted" pages to the corresponding articles on foreign language Wikipedias. ==Purpose== Use this template if the article titles of the foreign Wikipedias are different from the English title. == Usage == Use : enter <code><nowiki>{{ill2|Article name|</nowiki></code> followed by the Wikipedia language codes for each foreign language article you want to link to, each of them followed by a divider <code><nowiki>|</nowiki></code> and the article title on that Wikipedia. You can add up to 10 languages. Put a divider <code><nowiki>|</nowiki></code> between the languages. Close the template with <code><nowiki>}}</nowiki></code>. ==Examples== *Link to corresponding article in one language: **<code><nowiki>{{ill2|Trout|ro|Păstrăv}}</nowiki></code> **::produces: {{ill2|Trout|ro|Păstrăv}} *Links to corresponding articles in multiple languages: **<code><nowiki>{{ill2|Trout|id|Trout|ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}}</nowiki></code> **::produces: {{ill2|Trout|id|Trout|ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}} **:''Note that the name is the same in Bahasa Indonesia (<code>id</code>) and English. And so we can use…'' **<code><nowiki>{{ill2|Trout|id||ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}}</nowiki></code> **::which also produces: {{ill2|Trout|id||ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}} **:''…because if the name of the foreign article is omitted, the English name is used. ==See also== * {{tl|ill}} * {{tl|ill-WD}} – to link to multiple other projects through [[WP:Wikidata|Wikidata]] <includeonly> <!-- Categories and interwikis go here: --> [[Category:Internal link templates]] [[Category:Interwiki link templates]] [[ar:قالب:Belg]] [[de:Vorlage:IW]] [[ja:Template:仮リンク]] [[zh:Template:Ill2]] </includeonly> 71l8n291qke5u0p7o293x0rp1c2ged0 4621566 4621562 2026-05-22T14:00:23Z CatholicChristian 209870 /* Usage */ 4621566 wikitext text/x-wiki {{Documentation subpage}} <!-- Categories and interwikis go at the bottom of this page. --> ==History== This template is used on the [[Wikipedia:WikiProject Belgium]] page to create links of "wanted" pages to the corresponding articles on foreign language Wikipedias. ==Purpose== Use this template if the article titles of the foreign Wikipedias are different from the English title. == Usage == Use : enter <code><nowiki>{{ill|Article name|</nowiki></code> followed by the Wikipedia language codes for each foreign language article you want to link to, each of them followed by a divider <code><nowiki>|</nowiki></code> and the article title on that Wikipedia. You can add up to 10 languages. Put a divider <code><nowiki>|</nowiki></code> between the languages. Close the template with <code><nowiki>}}</nowiki></code>. ==Examples== *Link to corresponding article in one language: **<code><nowiki>{{ill2|Trout|ro|Păstrăv}}</nowiki></code> **::produces: {{ill2|Trout|ro|Păstrăv}} *Links to corresponding articles in multiple languages: **<code><nowiki>{{ill2|Trout|id|Trout|ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}}</nowiki></code> **::produces: {{ill2|Trout|id|Trout|ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}} **:''Note that the name is the same in Bahasa Indonesia (<code>id</code>) and English. And so we can use…'' **<code><nowiki>{{ill2|Trout|id||ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}}</nowiki></code> **::which also produces: {{ill2|Trout|id||ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}} **:''…because if the name of the foreign article is omitted, the English name is used. ==See also== * {{tl|ill}} * {{tl|ill-WD}} – to link to multiple other projects through [[WP:Wikidata|Wikidata]] <includeonly> <!-- Categories and interwikis go here: --> [[Category:Internal link templates]] [[Category:Interwiki link templates]] [[ar:قالب:Belg]] [[de:Vorlage:IW]] [[ja:Template:仮リンク]] [[zh:Template:Ill2]] </includeonly> dl5e0srkxhjuzsgvgrlfungh72hnmcd 4621568 4621566 2026-05-22T14:00:58Z CatholicChristian 209870 /* Examples */ 4621568 wikitext text/x-wiki {{Documentation subpage}} <!-- Categories and interwikis go at the bottom of this page. --> ==History== This template is used on the [[Wikipedia:WikiProject Belgium]] page to create links of "wanted" pages to the corresponding articles on foreign language Wikipedias. ==Purpose== Use this template if the article titles of the foreign Wikipedias are different from the English title. == Usage == Use : enter <code><nowiki>{{ill|Article name|</nowiki></code> followed by the Wikipedia language codes for each foreign language article you want to link to, each of them followed by a divider <code><nowiki>|</nowiki></code> and the article title on that Wikipedia. You can add up to 10 languages. Put a divider <code><nowiki>|</nowiki></code> between the languages. Close the template with <code><nowiki>}}</nowiki></code>. ==Examples== *Link to corresponding article in one language: **<code><nowiki>{{ill|Trout|ro|Păstrăv}}</nowiki></code> **::produces: {{ill2|Trout|ro|Păstrăv}} *Links to corresponding articles in multiple languages: **<code><nowiki>{{ill|Trout|id|Trout|ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}}</nowiki></code> **::produces: {{ill|Trout|id|Trout|ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}} **:''Note that the name is the same in Bahasa Indonesia (<code>id</code>) and English. And so we can use…'' **<code><nowiki>{{ill|Trout|id||ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}}</nowiki></code> **::which also produces: {{ill|Trout|id||ro|Păstrăv|hu|Pisztráng|my|ထရောက်ငါး}} **:''…because if the name of the foreign article is omitted, the English name is used. ==See also== * {{tl|ill}} * {{tl|ill-WD}} – to link to multiple other projects through [[WP:Wikidata|Wikidata]] <includeonly> <!-- Categories and interwikis go here: --> [[Category:Internal link templates]] [[Category:Interwiki link templates]] [[ar:قالب:Belg]] [[de:Vorlage:IW]] [[ja:Template:仮リンク]] [[zh:Template:Ill2]] </includeonly> 6v0o4gg5rewd7upascklyneuvnps0nv വിക്കിമീഡിയ ചാപ്റ്ററുകളുടെ പട്ടിക 0 293540 4622134 4558835 2026-05-23T05:52:45Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622134 wikitext text/x-wiki {{PU|List of Wikimedia chapters}} വിക്കിപീഡിയയേയും സഹോദരസ്വഭാവമുള്ള മറ്റു വിക്കിമീഡിയ പദ്ധതികളേയും പ്രോത്സാഹിപ്പിക്കാനും അവയുടെ സ്വാഭാവികമായ വളർച്ച ത്വരിതപ്പെടുത്താനും ഉദ്ദേശിച്ചുള്ള ദേശീയമോ പ്രാദേശികമോ ആയ സ്വതന്ത്ര ലാഭരഹിത സ്ഥാപനങ്ങളാണു് '''വിക്കിമീഡിയ ചാപ്റ്ററുകൾ'''.നിയമപരമായി, ചാപ്റ്ററുകൾ വിക്കിമീഡിയ ഫൗണ്ടേഷനിൽ നിന്നും സ്വതന്ത്രമാണു്. എന്നാൽ സുഗമമവും കൂട്ടായതുമായ പ്രവർത്തനത്തിനുവേണ്ടി ചാപ്റ്ററുകൾ ഫൗണ്ടേഷനുമായി ധാരണയിൽ എത്തിയിരിക്കും. വിക്കിമീഡിയ ഫൗണ്ടേഷന്റെ അഫിലിയേഷൻസ് സമിതിയാണു് ചാപ്റ്ററുകളുടെ സാധുത അംഗീകരിക്കുന്നതു്. ചാപ്ടറുകൾക്കു് വിക്കിമീഡിയ പദ്ധതികളിലെ ഉള്ളടക്കത്തിനുമേൽ യാതൊരു നിയന്ത്രണമോ സ്വാധീനമോ നേരിട്ടുള്ള ഉത്തരവാദിത്തമോ ഇല്ല.എന്നാൽ വിക്കിമീഡിയ പദ്ധതികളുടെ പ്രചരണത്തിനും അവയുമായി ബന്ധപ്പെട്ട സമ്മേളങ്ങൾക്കും പഠനശിബിരങ്ങൾക്കും നേതൃത്വം കൊടുക്കുന്നതും അത്തരം പരിപാടികളിൽ പങ്കെടുക്കുന്നതും വിക്കിമീഡിയ ഉപയോക്താക്കളുടെ സംഭാവനകളിൽ സഹായിക്കുന്നതും ചാപ്റ്ററുകളുടെ ലക്ഷ്യങ്ങളിൽ പെട്ടതാണു്<ref name=Konieczny/><ref name=Morell/>. 2014 ജനുവരിയിലെ കണക്കനുസരിച്ച് നാല്പതോളം ചാപ്റ്ററുകൾ നിലവിലുണ്ടു്.<ref name=Fontanills/><ref name=Meta/> ==അന്താരാഷ്ട്രതലത്തിൽ നിലവിലുള്ള ചാപ്റ്ററുകളുടെ പട്ടിക== {| class="wikitable sortable" style="width: 100%" |- ! Area ! Title ! URL ! Since |- | {{flag|അർജന്റീന}} | [[m:Wikimedia Argentina|Wikimedia Argentina]] | [http://www.wikimedia.org.ar/ wikimedia.org.ar] | {{dts|format=mdy|2007|September|1}} |- | {{flag|അർമേനിയ}} | [[m:Wikimedia Armenia|Վիքիմեդիա Հայաստան]] | [http://www.wikimedia.am/ wikimedia.am] | {{dts|format=mdy|2013|March|26}} |- | {{flag|ഓസ്ട്രേലിയ}} | [[m:Wikimedia Australia|Wikimedia Australia]] | [http://www.wikimedia.org.au/ wikimedia.org.au] | {{dts|format=mdy|2008|March|1}} |- | {{flag|ഓസ്ട്രിയ}} | [[m:Wikimedia Österreich|Wikimedia Österreich]] | [http://www.wikimedia.at/ wikimedia.at] {{Webarchive|url=https://web.archive.org/web/20200826095905/http://www.wikimedia.at/ |date=2020-08-26 }} | {{dts|format=mdy|2008|February|26}} |- | {{flag|ബംഗ്ലാദേശ്}} | [[m:Wikimedia Bangladesh|Wikimedia Bangladesh]] | [http://wikimedia.org.bd/ wikimedia.org.bd] | {{dts|format=mdy|2011|October|3}} |- | {{flag|ബെൽജിയം}} | [[m:Wikimedia Belgium|Wikimedia Belgium]] | [http://www.wikimedia.be wikimedia.be] | in creation phase |- | {{flag|കാനഡ}} | [[m:Wikimedia Canada|Wikimedia Canada]] | [http://www.wikimedia.ca/ wikimedia.ca] | {{dts|format=mdy|2011|May|24}} |- | {{flag|ചിലി}} | [[m:Wikimedia Chile|Wikimedia Chile]] | [http://www.wikimediachile.cl/ wikimedia.cl] | {{dts|format=mdy|2011|July|16}} |- | {{flag|ചെക്ക്‌ റിപ്പബ്ലിക്ക്‌}} | [[m:Wikimedia Czech Republic|Wikimedia Česká republika]] | [http://www.wikimedia.cz/ wikimedia.cz] | {{dts|format=mdy|2008|March|6}} |- | {{flag|ഡെന്മാർക്ക്}} | [[m:Wikimedia Danmark|Wikimedia Danmark]] | [http://www.wikimedia.dk/ wikimedia.dk] | {{dts|format=mdy|2009|July|3}} |- | {{flag|എസ്റ്റോണിയ}} | [[m:Wikimedia Eesti|Wikimedia Eesti]] | [//et.wikimedia.org/ et.wikimedia.org] | {{dts|format=mdy|2010|August|31}} |- | {{flag|ഫിൻലാന്റ്}} | [[m:Wikimedia Suomi|Wikimedia Suomi]] | [//fi.wikimedia.org/ fi.wikimedia.org] | {{dts|format=mdy|2009|September|21}} |- | {{flag|ഫ്രാൻസ്}} | [[m:Wikimédia France|Wikimédia France]] | [http://www.wikimedia.fr/ wikimedia.fr] | {{dts|format=mdy|2004|October|23}} |- | {{flag|ജർമനി}} | [[m:Wikimedia Deutschland|Wikimedia Deutschland]] | [http://www.wikimedia.de/ wikimedia.de] | {{dts|format=mdy|2004|June|13}} |- | {{flag|ഹോങ്കോങ്}} | [[m:Wikimedia Hong Kong|香港維基媒體協會]] | [http://www.wikimedia.hk/ wikimedia.hk] {{Webarchive|url=https://web.archive.org/web/20130708143648/https://wikimedia.hk/ |date=2013-07-08 }} | {{dts|format=mdy|2008|March|1}} |- | {{flag|ഹംഗറി}} | [[m:Wikimédia Magyarország|Wikimédia Magyarország]] | [http://wiki.media.hu/ wikimedia.hu] | {{nowrap|{{dts|format=mdy|2008|September|27}}}} |- | {{flag|ഇന്ത്യ}} | [[m:Wikimedia India|Wikimedia India]] | [http://wikimedia.in/ wikimedia.in] {{Webarchive|url=https://web.archive.org/web/20141006232924/http://www.wikimedia.in/ |date=2014-10-06 }} | {{nowrap|{{dts|format=mdy|2011|January|3}}}} |- | {{flag|ഇന്തോനേഷ്യ}} | [[m:Wikimedia Indonesia|Wikimedia Indonesia]] | [http://wikimedia.or.id/ wikimedia.or.id] | {{dts|format=mdy|2008|October|7}} |- | {{flag|ഇസ്രയേൽ}} | [[m:Wikimedia Israel|Wikimedia Israel]] | [http://www.wikimedia.org.il/ wikimedia.org.il] | {{dts|format=mdy|2007|June|26}} |- id="Wikimedia Italia" | {{flag|ഇറ്റലി}} | [[m:Wikimedia Italia|Wikimedia Italia]] | [http://www.wikimedia.it/ wikimedia.it] | {{dts|format=mdy|2005|June|17}} |- | {{flag|മകൗ}} | [[m:Wikimedia Macau|澳門維基媒體協會]] | [http://wikimedia.org.mo/ wikimedia.org.mo] {{Webarchive|url=https://web.archive.org/web/20120731201514/http://wikimedia.org.mo/ |date=2012-07-31 }} | {{dts|format=mdy|2011|April|24}} |- | {{flag|മാസിഡോണിയ}} | [[m:Wikimedia Macedonia|Викимедија Македонија]] | [//mk.wikimedia.org/ mk.wikimedia.org] | {{dts|format=mdy|2009|September|21}} |- | {{flag|മെക്സിക്കോ}} | [[m:Wikimedia México|Wikimedia México]] | [//mx.wikimedia.org/ mx.wikimedia.org] | {{dts|format=mdy|2011|August|03}} |- | {{flag|നെതർലന്റ്സ്}} | [[m:Wikimedia Nederland|Wikimedia Nederland]] | [//nl.wikimedia.org/ nl.wikimedia.org] | {{dts|format=mdy|2006|March|27}} |- | {{flag|നോർവെ}} | [[m:Wikimedia Norge|Wikimedia Norge]] | [//no.wikimedia.org/ no.wikimedia.org] | {{dts|format=mdy|2007|June|23}} |- | {{flag|ഫിലിപ്പീൻസ്}} | [[m:Wikimedia Philippines|Wikimedia Philippines]] | [http://www.wikimedia.org.ph/ wikimedia.org.ph] {{Webarchive|url=https://web.archive.org/web/20120513222914/http://www.wikimedia.org.ph/ |date=2012-05-13 }} | {{dts|format=mdy|2010|April|12}} |- | {{flag|പോളണ്ട്}} | [[m:Wikimedia Polska|Wikimedia Polska]] | [//pl.wikimedia.org/ pl.wikimedia.org] | {{dts|format=mdy|2005|November|18}} |- | {{flag|പോർച്ചുഗൽ}} | [[m:Wikimedia Portugal|Wikimedia Portugal]] | [http://www.wikimedia.pt/ wikimedia.pt] | {{dts|format=mdy|2009|July|3}} |- | {{flag|റഷ്യ}} | [[m:Wikimedia Russia|Викимедиа РУ]] | [[wmru:|ru.wikimedia.org]] | {{dts|format=mdy|2008|May|24}} |- | {{flag|സെർബിയ}} | [[m:Wikimedia Serbia|Wikimedia Serbia]] | [//rs.wikimedia.org/ rs.wikimedia.org] | {{dts|format=mdy|2005|December|3}} |- | {{flag|ദക്ഷിണാഫ്രിക്ക}} | [[m:Wikimedia South Africa|Wikimedia South Africa]] | [http://wikimedia.org.za/ wikimedia.org.za] | {{dts|format=mdy|2012|February|27}} |- | {{flag|സ്പെയിൻ}} | [[m:Wikimedia España|Wikimedia España]] | [http://wikimedia.es/ wikimedia.es] | {{dts|February 7, 2011}} |- | {{flag|സ്വീഡൻ}} | [[m:Wikimedia Sverige|Wikimedia Sverige]] | [http://www.wikimedia.se/ wikimedia.se] | {{dts|format=mdy|2007|December|11}} |- | {{flag|സ്വിറ്റ്സർലൻഡ്}} | [[m:Wikimedia CH|Wikimedia CH]] | [http://www.wikimedia.ch/ wikimedia.ch] | {{dts|format=mdy|2006|May|14}} |- | {{flag|തായ്‌വാൻ‎}} | [[m:Wikimedia Taiwan|台灣維基媒體協會]] | [http://www.wikimedia.tw/ wikimedia.tw] | {{dts|format=mdy|2007|July|4}} |- | {{flag|ഉക്രൈൻ}} | [[m:Wikimedia Ukraine|Вікімедіа Україна]] | [[wmua:|ua.wikimedia.org]] | {{dts|format=mdy|2009|July|3}} |- | {{flag|യുണൈറ്റഡ് കിങ്ഡം}} | [[Wikimedia UK]] | [http://wikimedia.org.uk/ wikimedia.org.uk] | {{dts|format=mdy|2009|January|12}} |- | {{flag|ഉറുഗ്വേ}} | [[m:Wikimedia Uruguay|Wikimedia Uruguay]] | [http://www.wikimediauruguay.org/ wikimediauruguay.org] | {{dts|format=mdy|2013|July|12}}<ref>[[wmf:Resolution:Recognition_of_Wikimedia_Uruguay|WMF resolution on the Recognition of Wikimedia Uruguay]]</ref> |- | {{flag|വെനസ്വേല}} | [[m:Wikimedia Venezuela|Wikimedia Venezuela]] | [http://www.wikimedia.org.ve/ wikimedia.org.ve] {{Webarchive|url=https://web.archive.org/web/20141030155039/http://www.wikimedia.org.ve/ |date=2014-10-30 }} | {{dts|format=mdy|2011|October|4}} |- | {{flag|ന്യൂയോർക്ക് സിറ്റി}} | [[m:Wikimedia New York City|Wikimedia New York City]] | [//nyc.wikimedia.org/ nyc.wikimedia.org] | {{dts|format=mdy|2009|January|12}} |- | {{flag|വാഷിങ്ടൺ ഡി.സി.}} | [[m:Wikimedia District of Columbia|Wikimedia District of Columbia]] | [http://wikimediadc.org/ wikimediadc.org] | {{dts|format=mdy|2011|September|12}} |} ==References== {{Reflist|30em|refs= <ref name=Morell>Morell (2011), p. 332</ref> <ref name=Konieczny>Konieczny (2009)</ref> <ref name=Fontanills>Fontanills (2012), p. 81</ref> <ref name=Meta>Wikimedia Chapters</ref> }} ===Bibliography=== * {{cite book|author=Fuster Morell, Mayo|chapter=The Wikimedia Foundation and the Governance of Wikipedia’s Infrastructure|editors=Geert Lovink, Nathaniel Tkacz|title=Critical Point of View: A Wikipedia Reader|url=https://archive.org/details/criticalpointofv00unse|publisher=Institute of Network Cultures|year=2011|isbn=978-90-78146-13-1}} * {{cite journal|author=Konieczny, P|title=Wikipedia: Community or Social Movement|journal=Interface|date=November 2009|volume=1|edition=2|pages=212–232}} * {{cite journal|author=Fontanills, David Gómez|pages=77–87|title=Academic research into Wikipedia|number=14|journal=Digithum|issn=1575-2275|date=May 2012}} * {{cite web|url=//meta.wikimedia.org/wiki/Wikimedia_chapters|title=Wikimedia chapters|author=Various|publisher=Wikimedia Foundation}} {{Wikimedia Foundation}} [[Category:വിക്കിമീഡിയ ചാപ്റ്ററുകൾ| ]] oiyohk0ynmthyaxlwl2qszx4ka8lkyk വാഗ അതിർത്തി ചാവേർ ആക്രമണം (2014) 0 299654 4621554 4612022 2026-05-22T13:17:00Z Gotitbro 104675 /* */ rv LTA 4621554 wikitext text/x-wiki {{prettyurl|2014_Wagah_border_suicide_attack}}{{Infobox civilian attack | title = 2014 വാഗ അതിർത്തി ചാവേർ ആക്രമണം | image = | image_size = | alt = | caption = | map = | map_size = | map_alt = | map_caption = | location = [[വാഗ]], [[പഞ്ചാബ്, പാകിസ്താൻ|പഞ്ചാബ്]], [[പാകിസ്താൻ]] | target = Civilians | coordinates = {{coord|31|36|16.9|N|74|34|22.5|E|type:landmark|display=inline}} | date = {{start date|2014|11|02}} | time = 17.35 | timezone = [[UTC]]+5 | type = [[ചാവേർ ആക്രമം]] | fatalities = 60<ref name="dawn1"/> | injuries = 100 | victims = | perpetrators= [[ജെമാത്-ഉൾ-അഹ്രർ]]<ref name="dawn2"/> | dfens = | susperp = [[Jundullah (Pakistan)|Jundallah]] | weapons = Bomb | motive = Retaliation against [[Operation Zarb-e-Azb]] }} 2014 നവംബർ 2-ന് ഇന്ത്യാ-പാക് അതിർത്തി പ്രദേശമായ [[വാഗ|വാഗയിൽ]] [[ജെമാത്-ഉൾ-അഹ്രർ]] എന്ന ഭീകരവാദികൾ ചാവേർ ആക്രമം നടത്തി. ഇതിൽ 60 പേർ കൊല്ലപ്പെടുകയും 100 പേർക്കു പരുക്കേല്ക്കുകയും ചേയ്തു. വാഗയിൽ പാകിസ്താന്റെ പ്രദേശത്താണ് ആക്രമണം നടന്നത്. ==അവലംബം== {{reflist|refs= <ref name="dawn2">https://archive.today/20141217093508/http://www.dawn.com/news/1142307/wagah-attack-ahrar-claim-of-responsibility-appears-more-credible</ref> <ref name="dawn1">{{cite web|url=http://www.dawn.com/news/1142006/ttp-splinter-groups-claim-wagah-attack-60-dead|title=TTP splinter groups claim Wagah attack; 60 dead|publisher=|accessdate=17 ഡിസംബർ 2014|archive-date=2014-12-17|archive-url=https://archive.today/20141217093343/http://www.dawn.com/news/1142006/ttp-splinter-groups-claim-wagah-attack-60-dead|url-status=bot: unknown}}</ref> }} [[വർഗ്ഗം:ഭീകരാക്രമണങ്ങൾ]] [[വർഗ്ഗം:പാകിസ്താന്റെ ചരിത്രം]] [[വർഗ്ഗം:2014]] nyrpseo3ofylf4rgx6ek1gqmw6kvotz ഫ്രാൻചെസ്കോ ക്ലെമൻതെ 0 301040 4622206 4588664 2026-05-23T11:39:57Z FluteWarrior 217914 /* growthexperiments-addlink-summary-summary:3|0|0 */ 4622206 wikitext text/x-wiki {{prettyurl|Francesco Clemente}} {{Infobox artist | image = Francesco Clemente (San Francisco 1991).jpg | bgcolour = #6495ED | name = ഫ്രാൻചെസ്കോ ക്ലെമൻതെ | imagesize = 240px | caption = ഫ്രാൻചെസ്കോ ക്ലെമൻതെ | birth_name = | birth_date = {{birth date and age |1952|3|23|}} | birth_place = [[നേപ്പിൾസ്]], [[ഇറ്റലി]] | death_date = | death_place = | nationality = [[ഇറ്റാലിയൻ]] | field = [[ചിത്രകല]], | training = ആർക്കിടെക്ചർ, റോം സർവകലാശാല | works = | patrons = | influenced by = | influenced = | awards = }} ഇറ്റാലിയൻ ചിത്രകാരനാണ് '''ഫ്രാൻചെസ്കോ ക്ലെമൻതെ''' (ജനനം : 23 മാർച്ച് 1952). ന്യൂയോർക്കിലും റോമിലും ചെന്നൈയിലുമായി യാത്ര ചെയ്ത് പ്രവർത്തിച്ചു വരുന്നു. എണ്ണഛായ, ജലച്ചായ, പേസ്റ്റൽ, പ്രിന്റ് മാധ്യമങ്ങൾ സർഗ സൃഷ്ടിക്കായി ഉപയോഗിക്കാറുണ്ട്. നാടോടി കലാകാരൻ എന്നു വിശേഷിപ്പിക്കാറുള്ള<ref>കൊച്ചി മുസിരിസ് ബിനലെ കൈപ്പുസ്തകം, 2014</ref> ക്ലെമൻതെയുടെ രചനകൾ പല ദേശങ്ങളിൽ നിന്നും കടം കൊണ്ട ബിംബങ്ങളാൽ സമൃദ്ധമാണ്. ==ജീവിതരേഖ== ഇറ്റലിയിൽ രാഷ്ട്രീയ പോരാട്ടങ്ങൾ അരങ്ങേറിയ അറുപതുകളിലാണ് ക്ലെമൻതെ കലാരംഗത്തു സജീവമാകുന്നത്. എഴുപതുകളുടെ ആരംഭത്തിൽ ഇന്ത്യയിലെത്തിയ ക്ലെമൻതെ [[ചെന്നൈ]] തിയോസഫിക്കൽ സൊസൈറ്റിയുമായി സഹകരിച്ചു പ്രവർത്തിച്ചു. മിനിയേച്ചർ കലാകാരന്മാർമുതൽ ബിൽബോർഡ് പെയിന്റർമാർ വരെയുള്ളവരുമായി സഹകരിച്ചു പ്രവർത്തിക്കുന്നു. <gallery mode="packed" caption="''Undae Clemente flamina pulsae'', Francesco Clemente, 1978, Groninger Museum"> Undae Clemente flamina pulsae 1.jpg Undae Clemente flamina pulsae 2.jpg Undae Clemente flamina pulsae 3.jpg Undae Clemente flamina pulsae 4.jpg </gallery> ==സൃഷ്ടികൾ== [[File:Francesco Clementes peper tent at kochi muziris bienelle2014.JPG|thumb|കൊച്ചി-മുസിരിസ് ബിനാലെ 2014 ൽ ക്ലെമൻതെ അവതരിപ്പിച്ച പെപ്പർടെന്റ്]] കൊച്ചി മുസിരിസ് ബിനലെ 2014 ൽ അവതരിപ്പിച്ച പെപ്പർ ടന്റ് എന്ന സൃഷ്ടി, ഒരു കൂടാരത്തിന്റെ രൂപഘടന ഉപയോഗിച്ച് ക്ലെമൻതെ നടത്തിക്കൊണ്ടിരിക്കുന്ന പരീക്ഷണങ്ങളുടെ ഭാഗമാണ്. ബ്രൂക്കലിനിലെ തന്റെ സ്റ്റുഡിയോവിൽ വച്ചു വരച്ച പെയിന്റിംഗുകൾ [[രാജസ്ഥാൻ|രാജസ്ഥാനിലെ]] തൊഴിലാളികൾ നിർമ്മിച്ച കൂടാരത്തിന്റെ പുറത്ത് പൊതിഞ്ഞെടുക്കുകയായിരുന്നു. നക്ഷത്രങ്ങളും കുരുമുളക് മണികളും കപ്പലും ധ്യാന നിരതനായ ബുദ്ധനുമടക്കം നിരവധി ബിംബങ്ങളാൽ സമൃദ്ധമാണ് ഈ സൃഷ്ടി. ==അവലംബം== <references/> ==അധിക വായനയ്ക്ക്== * Seidel, Max. ''Francesco Clemente: The Tarots''. Hirmer Publishers. February 15, 2012. [http://www.amazon.com/Francesco-Clemente-Tarots-Max-Seidel/dp/3777445215/ref=sr_1_1?s=books&ie=UTF8&qid=1332631302&sr=1-1 Amazon] ISBN 9783777445212 * Clemente,Francesco; Hollein, Max and Walcott, Derek. ''Francesco Clemente: Palimpsest''. Moderne Kunst Nürnberg. March 31, 2012. [http://www.barnesandnoble.com/w/francesco-clemente-francesco-clemente/1100245024?ean=9783869842257&itm=1&usri=clemente+francesco Barnes and Noble] ISBN 9783869842257 * Danto, C. Artur. ''Francesco Clemente: The Sopranos''. Charta. January 9, 2008. [http://www.barnesandnoble.com/w/francesco-clemente-arthur-c-danto/1014076420?ean=9788881586981&itm=3&usri=clemente+francesco Barnes and Noble] ISBN 9788881586981 * Clemente,Francesco; Walcott, Derek. ''Francesco Clemente: Three Rainbows''. Charta. October 31, 2009. [http://www.barnesandnoble.com/w/francesco-clemente-francesco-clemente/1016899738?ean=9788881587452&itm=4&usri=clemente+francesco Barnes and Noble] ISBN 9788881587452 * Clemente,Francesco; Danto, Arthur. ''Francesco Clemente: A Private Geography''. Charta. February 28, 2011. [http://www.barnesandnoble.com/w/francesco-clemente-francesco-clemente/1029352299?ean=9788881587957&itm=5&usri=clemente+francesco Barnes and Noble] ISBN 9788881587957 * Jain, Jyotindra. ''Clemente: Made in India''. Charta. September 30, 2011. [http://www.barnesandnoble.com/w/clemente-francesco-clemente/1105300875?ean=9788881588091 Barnes and Noble] ISBN 9788881588091 * Ammann, Jean- Christophe; Clemente, Francesco. ''Francesco Clemente: Works 1971- 1979''. Charta. August 28, 2007. [http://www.barnesandnoble.com/w/francesco-clemente-francesco-clemente/1015344056?ean=9788881586509 Barnes and Noble] ISBN 9788881586509 * Matthews, Harry. ''Singular Pleasures''. Dalkey Archive Press. November 29, 1999. [http://www.barnesandnoble.com/w/singular-pleasures-harry-mathews/1100161122?ean=9781564782335 Barnes and Noble] ISBN 9781564782335 * Clemente, Francesco. ''Francesco Clemente''. Charta. October 28, 2000.[http://www.barnesandnoble.com/w/francesco-clemente-francesco-clemente/1004128045?ean=9788881582822 Barnes and Noble] ISBN 9788881582822 * Babini, Luca. ''Francesco Clemente: Art and Life''. Aperture Foundation. October 1, 1999. [http://www.barnesandnoble.com/w/francesco-clemente-luca-babini/1003593516?ean=9780893818722 Barnes and Noble] ISBN 9780893818722 * Rushdie, Salman. ''Francesco Clemente: Self Portraits''. Gagosian Gallery. January 1, 2005. [http://www.barnesandnoble.com/w/francesco-clemente-salman-rushdie/1007859611?ean=9781932598247 Barnes and Noble] ISBN 9781932598247 * Clemente, Francesco. ''Polaroids, Celebrities and Self-Portraits''. Jablonka Galerie. February 15, 2001. [http://www.barnesandnoble.com/w/polaroids-celebrities-and-self-portraits-francesco-clemente/1004504672?ean=9788391307526 Barnes and Noble] ISBN 9788391307526 * Fahey, David; Clemente, Francesco. ''Sante D'Orazio: A Private View''. Prestel Publishing. April 1, 2006. [http://www.barnesandnoble.com/w/sante-dorazio-david-fahey/1007905552?ean=9783829602471 Barnes and Noble] ISBN 9783829602471 * Clemente, Francesco. ''India''. Twelvetrees Press. November 15, 1989. [http://www.barnesandnoble.com/w/india-francesco-clemente/1000203690?ean=9780942642308 Barnes and Noble] ISBN 9780942642308 * Rimanelli, David. ''Francesco Clemente Paintings 2000-2003''. Gagosian Gallery. June 23, 2003. [http://www.barnesandnoble.com/w/francesco-clemente-paintings-2000-2003-david-rimanelli/1005983269?ean=9781880154946 Barnes and Noble] ISBN 9781880154946 * Clemente, Francesco. ''Francesco Clemte: Fifty One Days at Mount Abu''. D'Offay, Anthony Gallery. April 2, 1999. [http://www.barnesandnoble.com/w/francesco-clemente-francesco-clemente/1003349182?ean=9780947564773 Barnes and Noble] ISBN 9780947564773 * Fischl, Eric; Ammann, Jean-Christophe; Young, Goeffrey; Clemente, Francesco. ''Eric Fischl: It's Where I look...It's How I See... Their World, My World, The World''. Mary Boone Gallery/ Jablonka Gallery. February 1, 2009. [http://www.barnesandnoble.com/w/eric-fischl-eric-fischl/1015207657?ean=9783931354329 Barnes and Noble] ISBN 9783931354329 * Auping, Michael. ''Francesco Clemente''. Abrams, Harry N., Inc. September 1, 1985. [http://www.barnesandnoble.com/w/francesco-clemente-michael-auping/1001964710?ean=9780810907720 Barnes and Noble] ISBN 9780810907720 * Colombo, Paulo. ''Francesco Clemente''. Electa. May 28, 2006. [http://www.barnesandnoble.com/w/francesco-clemente-paolo-colombo/1007926873?ean=9788837043469 Barnes and Noble] ISBN 9788837043469 * Avedon, Elizabeth. ''Francesco Clemente''. Knopf Publishing Group. November 12, 1987. [http://www.barnesandnoble.com/w/francesco-clemente-elizabeth-avedon/1013933598?ean=9780394747873 Barnes and Noble] ISBN 9780394747873 * Katz, Vincent. ''Life Is Paradise: The Portraits of Francesco Clemente''. powerHouse Books. October 28, 1999. [http://www.barnesandnoble.com/w/life-is-paradise-vincent-katz/1003989299?ean=9781576870532 Barnes and Noble] ISBN 9781576870532 * McLure, Michael. ''Francesco Clemente Testa Coda''. Rizzoli. January 1, 1992. [http://www.barnesandnoble.com/w/francesco-clemente-testa-coda-michael-mcclure/1000074095?ean=9780847814695 Barnes and Noble] ISBN 9780847814695 * Percy, Ann. ''Francesco Clemente: Three Worlds''. Rizzoli. November 15, 1990. [http://www.barnesandnoble.com/w/francesco-clemente-ann-percy/1002284694?ean=9780847812974 Barnes and Noble] ISBN 9780847812974 * Percy, Ann. ''Francesco Clemente: Three Worlosi''. Philadelphia Museum of Art. January 27, 1998. [http://www.barnesandnoble.com/w/francesco-clemente-ann-percy/1013877485?ean=9780876330845 Barnes and Noble] ISBN 9780876330845 * Warner, Marina. ''Francesco Clemente: The Book of the Sea''. Gagosian Gallery. January 28, 2002. [http://www.barnesandnoble.com/w/francesco-clemente-marina-warner/1005994031?ean=9781880154779 Barnes and Noble] ISBN 9781880154779 * Shapiro, David. ''Francesco Clemente''. Parkett Verlag AG. September 28, 1986. [http://www.barnesandnoble.com/w/francesco-clemente-david-shapiro/1001736955?ean=9783907509593 Barnes and Noble] ISBN 9783907509593 * Valli, Giambattista. ''Giambattista Valli''. Rizolli. October 16, 2012. [http://www.barnesandnoble.com/w/giambattista-valli-giambattista-valli/1108613979?ean=9780847835713 Barnes and Noble] ISBN 9780847835713 * Denninson, Lisa. ''Clemente: A Retrospective''. Abrams, Harry N., Inc. November, 30. 1999. [http://www.barnesandnoble.com/w/clemente-lisa-dennison/1003620067?ean=9780810969179 Barnes and Noble] ISBN 9780810969179 * Crone, Rainer. ''Francesco Clemente: Pastelle 1972-1983'' Prestel Verlag GmbH & Co KG. September 9, 1984. [http://www.barnesandnoble.com/w/francesco-clemente-rainer-crone/1001723854?ean=9783791306421 Barnes and Noble] ISBN 9783791306421 * Eccher, Danilo. ''Francesco Clemente''. Allemandi, Umberto & Company. January 1, 1999. [http://www.barnesandnoble.com/w/francesco-clemente-danilo-eccher/1008650321?ean=9788842209171 Barnes and Noble] ISBN 9788842209171 * [http://www.barnesandnoble.com/s/clemente-francesco?store=ALLPRODUCTS&keyword=clemente+francesco Barnes and Noble on Clemente] === ഓൺലൈൻ ലേഖനങ്ങൾ=== * Walcott, Derek. ''A Conversion.<ref name="A Conversion by Derek Walcott">{{cite web|title=A Conversion by Derek Walcott|url=http://francescoclemente.net/images/literature/Derek%20Walcott.pdf|accessdate=2012-03-24}}</ref> '' Exhibition catalogue Deitch Projects, New York, Edizioni Charta, Milano 2009. * Rushdie, Salman. ''Being Francesco Clemente.<ref name="Being Francesco Clemente">{{cite web|title=Being Francesco Clemente|url=http://francescoclemente.net/images/literature/Salman%20Rushdie.pdf|accessdate=2012-03-24}}</ref> '' This essay was originally published as Salman Rushdie, “Being Francesco Clemente,” in Francesco Clemente: Self Portraits, exh. cat. (New York: Gagosian Gallery, 2006), pp.&nbsp;5–10. * Kramrisch, Stella. ''The Twenty-Four Indian Miniatures.<ref name="The Twenty-Four Indian Miniatures">{{cite web|title=The Twenty-Four Indian Miniatures|url=http://francescoclemente.net/images/literature/Stella%20Kramrisch.pdf|accessdate=2012-03-24}}</ref> '' This essay was originally published as Stella Kramrisch, “The Twenty-four Indian Miniatures,” in Francesco Clemente: Three Worlds, by Ann Percy and Raymond Foye, exh. cat (Philadelphia: [[ഫിലാഡെൽഫിയ മ്യൂസിയം ഓഫ് ആർട്ട്|Philadelphia Museum of Art]], 1990), pp.&nbsp;88–109. === അഭിമുഖങ്ങൾ === * Kort, Pamela. ''Francesco Clemente in Conversation with Pamela Kort.<ref name="Being Francesco Clemente"/> '' New York, March 26, 2011 (Published in Francesco Clemente, Palimpsest, exhibition catalogue Schirn Kunsthalle, Frankfurt, 2011) * Rose, Charlie. ''A conversation with artist Francesco Clemente.<ref name="A conversation with artist Francesco Clemente" >{{cite web|title=A conversation with artist Francesco Clemente|url=http://www.charlierose.com/view/interview/9227|accessdate=2012-03-24|archive-date=2012-03-26|archive-url=https://web.archive.org/web/20120326130343/http://www.charlierose.com/view/interview/9227|url-status=dead}}</ref> '' New York, August 20, 2008 *[http://brooklynrail.org/2013/05/art/francesco-clemente-in-conversation-with-alex-bacon Francesco Clemente in Conversation with Alex Bacon(May 2013)] ==പുറം കണ്ണികൾ== * [http://francescoclemente.net/ Francesco Clemente - Official Website] * [http://www.artnet.com/ag/fulltextsearch.asp?searchstring=francesco%20clemente Francesco Clemente on artnet]{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഫെബ്രുവരി 2025 |bot=InternetArchiveBot |fix-attempted=yes }} * [http://www.moma.org/collection/artist.php?artist_id=1145 Francesco Clemente in MoMa] * [http://www.metmuseum.org/search-results?ft=clemente+francesco Francesco Clemente in MET] * [http://www.guggenheim.org/new-york/collections/collection-online/show-full/bio/?artist_name=Francesco%20Clemente Francesco Clemente in Guggenheim] {{Webarchive|url=https://web.archive.org/web/20120330194320/http://www.guggenheim.org/new-york/collections/collection-online/show-full/bio/?artist_name=Francesco%20Clemente |date=2012-03-30 }} * [http://www.slam.org/exhibitions/archive/highfever.php Francesco Clemente in Saint Louis Art Museum] * [http://www.gagosian.com/artists/francesco-clemente Francesco Clemente in Gagosian gallery] {{Webarchive|url=https://web.archive.org/web/20150227234747/http://www.gagosian.com/artists/francesco-clemente |date=2015-02-27 }} * [http://www.museomadre.it/bio_show.cfm?id=38 Francesco Clemente in Musao MADRE, Napoli] {{Webarchive|url=https://web.archive.org/web/20120229071235/http://www.museomadre.it/bio_show.cfm?id=38 |date=2012-02-29 }} * [http://ropac.net/artist/francesco-clemente Francesco Clemente in Galerie Thaddaeus Ropac] {{Webarchive|url=https://web.archive.org/web/20140708042918/http://ropac.net/artist/francesco-clemente |date=2014-07-08 }} * [http://www.nytimes.com/keyword/francesco-clemente New York Times] * [http://www.philamuseum.org/collections/permanent/76773.html Francesco Clemente in Philadelphia Museum of Art] {{Webarchive|url=https://web.archive.org/web/20150213221022/http://www.philamuseum.org/collections/permanent/76773.html |date=2015-02-13 }} * [http://www.schirn-magazin.de/kontext/livestream-kunstlergesprach-francesco-clemente/ Interview with curator Pamela Kort about the exhibition at Schirn Kunsthalle Frankfurt- video, June, 8th, 2011] {{Webarchive|url=https://web.archive.org/web/20120315222039/http://www.schirn-magazin.de/kontext/livestream-kunstlergesprach-francesco-clemente/ |date=2012-03-15 }} * [http://www.artinamericamagazine.com/news-opinion/author/camille-xin/ Spiritual Portraits, Art In America, interview with Camille Xin about his exhibition "Nostalgia/Utopia" at Mary Boone, 5, June 2012] * [http://www.rev-ma.blogspot.com/2013/01/francesco-clemente-blainsouthern-london.html Review by Kostas Prapoglou on the Francesco Clemente exhibition at Blain|Southern Gallery, London, January 2013] {{Webarchive|url=https://web.archive.org/web/20160304131953/http://www.rev-ma.blogspot.com/2013/01/francesco-clemente-blainsouthern-london.html |date=2016-03-04 }} *[http://brooklynrail.org/2013/05/art/francesco-clemente-in-conversation-with-alex-bacon Francesco Clemente in Conversation with Alex Bacon(May 2013)] [[വർഗ്ഗം:ഇറ്റാലിയൻ ചിത്രകാരന്മാർ]] [[വർഗ്ഗം:1952-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മാർച്ച് 23-ന് ജനിച്ചവർ]] pmtq36tx9e4j59swoyodgdy3fnvrz8t ലൂയി ഫെർഡിനൻഡ് സെലിൻ 0 307689 4622089 4613621 2026-05-23T01:18:58Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622089 wikitext text/x-wiki {{Infobox writer <!-- for more information see [[:Template:Infobox writer/doc]] --> |name = ലൂയി ഫെർഡിനൻഡ് സെലിൻ |image = L.-F. Céline c Meurisse 1932.jpg |caption = ''രാത്രിയുടെ അന്ത്യയാമങ്ങളിലേക്കുള്ള യാത്ര'' എന്ന നോവലിന് റിനോഡു പുരസ്കാരം(1932) ലഭിച്ച അവസരത്തിൽ . |pseudonym = |birth_name=ലൂയി ഫെർഡിനൻഡ് ഒഗസ്റ്റ് ഡെട്ടൂഷ് |birth_date = {{Birth date|df=yes|1894|5|27}} |birth_place = കോർബുവ്വാ, ഫ്രാൻസ് |death_date = {{death date and age|df=yes|1961|7|1|1894|5|27}} |death_place = മൂഡോൺ, ഫ്രാൻസ് |occupation = നോവലിസ്ററ്, ലേഖകൻ, ഡോക്റ്റർ |nationality = [[ഫ്രഞ്ച്]] |notableworks = ''രാത്രിയുടെ അന്ത്യയാമങ്ങളിലേക്കുള്ള യാത്ര'', ''മരണം തവണകളായി '', }} ലൂയി ഫെർഡിനൻഡ് ഒഗസ്റ്റ് ഡെട്ടൂഷ് (27 മെയ് 1894 – 1 ജൂലൈ 1961) എന്ന ഫ്രഞ്ചു സാഹിത്യകാരന്റെ [[തൂലികാനാമം|തൂലികാനാമമായിരുന്നു]] '''ലൂയി ഫെർഡിനൻഡ് സെലിൻ.''' സെലിൻ എന്നത് മുത്തശ്ശിയുടെ പേരായിരുന്നു. സെലിൻ എന്ന ചുരുക്കപ്പേരിലാണ് ഈ സാഹിത്യകാരൻ പൊതുവേ അറിയപ്പെട്ടത്. [[വൈദ്യശാസ്ത്രം|വൈദ്യശാസ്ത്രത്തിൽ]] ബിരുദമെടുത്തിരുന്ന സെലിൻ ഫ്രഞ്ചു സാഹിത്യലോകത്ത് പുതിയൊരു രചനാശൈലി അവതരിപ്പിച്ചു. രചനകളിലെ കടുത്ത ജൂതവിരോധവും തീവ്രദേശീയവാദവും കാരണം സെലിൻ ഇന്നും വിവാദപുരുഷനാണ്.<ref>[http://www.theguardian.com/books/booksblog/2011/jan/31/celine-great-author Céline: great author and 'absolute bastard': The Guardian 31 January 2011 ശേഖരിച്ചത് 13 ഏപ്രിൽ 2015]</ref>, <ref>[http://www.newyorker.com/books/page-turner/a-gentler-cline The Gentler Celine: New Yorker 27 May 2013, ശേഖരിച്ചത് 13 ഏപ്രിൽ 2015]</ref> <ref>[http://www.theguardian.com/books/booksblog/2014/feb/19/henry-miller-louis-ferdinand-celine-scandal The Guardian 19 February 2014 ശേഖരിച്ചത് 16 ഏപ്രിൽ2015]</ref> <ref>[http://lewebceline.free.fr/contreceline/index.htm ലൂയി ഫെർഡിനൻഡ് സെലിൻ (''ഫ്ര'')]</ref> ==ജീവിതരേഖ == ===ജനനം, ബാല്യം=== ഫെർനാൻഡ് ഡെട്ടൂഷിന്റേയും മാർഗററ്റ് ഗില്ലുവിന്റേയും ഏക സന്താനമായിരുന്നു ലൂയി ഫെർഡിനൻഡ്. തികച്ചും ദരിദ്രമായ ചുറ്റുപാടിലാണ് താൻ വളർന്നതെന്ന് സെലിൻ ഒരഭിമുഖ സംഭാഷണത്തിൽ പറയുകയുണ്ടായി.<ref name=interview>[http://www.theparisreview.org/interviews/4502/the-art-of-fiction-no-33-louisferdinand-cline സെലിനുമായി ഒരു അഭിമുഖം-പാരിസ് റിവ്യൂ ]</ref> മകന്റെ വിദ്യാഭ്യാസത്തിൽ മാതാപിതാക്കൾ ഏറെ തത്പരരായിരുന്നു. വിദേശഭാഷകൾ പഠിക്കാനായി പതിനാലുകാരനായ ലൂയി ഫെർഡിനൻഡിനെ [[ഇംഗ്ലണ്ട്|ഇംഗ്ലണ്ടിലേക്കും]] ജർമനിയിലേക്കും അയച്ചു. സ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയശേഷം പല ചെറിയ ജോലികളിലും ഏർപ്പെട്ടു.<ref name= DOC>{{cite book|title=Louis-Ferdinand Celine (Twayne's world authors series # 416: France)|url=https://archive.org/details/louisferdinandce00davi|year= 1976|author= David O'Connell|publisher= Twayne Publishers|ISBN= 978-0805762563 |}}</ref>, <ref name=Solomon>{{cite book|title=Understanding Celine|url=https://archive.org/details/understandingcel0000solo| author= Philip H. Solomon|publisher =Univ of South Carolina Press|year= 1992|ISBN= 9780872498143|}}</ref> ===സൈനികൻ,സഞ്ചാരി, ഡോക്റ്റർ === 1912-ൽ പതിനെട്ടാമത്തെ വയസ്സിൽ ഫെർഡിനൻഡ് ഫ്രഞ്ചു പട്ടാളത്തിൽ ചേർന്നു.[[ഒന്നാം ലോക മഹായുദ്ധം |ഒന്നാം ലോക മഹായുദ്ധത്തിൽ]] യുദ്ധമുന്നണിയിൽ വെച്ച് പരിക്കേറ്റ ലൂയി ഫെർഡിനൻഡിന് സൈനികബഹുമതി ലഭിച്ചെങ്കിലും പട്ടാളസേവനം തുടരാനായില്ല. 1919-ലാണ് ലൂയി ഫെർഡിനൻഡ് റെന്നിലെ മെഡിക്കൽ കോളേജിൽ ചേർന്നത്. അതേ വർഷം തന്ന്െ ഇഡിത് ഫോളിയെ വിവാഹം കഴിച്ചു. അതിനടുത്ത വർഷം ഒരു പെൺകുഞ്ഞു ജനിച്ചു. പഠനം പൂർത്തിയായതോടെ ലൂയി ഫെർഡിനൻഡ് 1924-ൽ പാരിസിലെ മറ്റേണിറ്റി ഹോസ്പിറ്റലിൽ ഇൻടേൺ ആയി പ്രവേശിച്ചു.<ref name= DOC/>. 1925-നു ശേഷം കുടുംബവുമായി ബന്ധം തുടർന്നില്ല. 1926-ൽ വിവാഹമോചനം നേടി. പുതുതായി രൂപംകൊണ്ട [[സർവ്വരാജ്യസഖ്യം |ലീഗ് ഓഫ് നേഷൻസിന്റെ]] പ്രതിനിധിയായി ലൂയി ഫെർഡിനൻഡ് പല രാജ്യങ്ങളും സന്ദർശിച്ചു. 1928-ൽ പാരിസിൽ തിരിച്ചെത്തി വൈദ്യവൃത്തി ആരംഭിച്ചു. ===സാഹിത്യലോകത്ത് : 1932-1944 === വൈദ്യബിരുദത്തിന്റെ ഭാഗമായി സമർപ്പിച്ച പ്രബന്ധം La Vie et l'Œuvre de Philippe Ignace Semmelweis (1924) ലൂയി ഫെർഡിനൻഡിന്റെ പ്രഥമ സാഹിത്യരചനയായി കണക്കാക്കുന്നവരും ഉണ്ട്. 1932-ലാണ് ലൂയി ഫെർഡിനൻഡ് സെലിൻ എന്ന തൂലികാനാമത്തിൽ പ്രഥമ നോവൽ ''രാത്രിയുടെ അന്ത്യയാമത്തിലേക്കുള്ള യാത്ര'' ( Voyage au bout de la nuit) പ്രസിദ്ധീകരിച്ചത്. ഈ നോവൽ ജനശ്രദ്ധ പിടിച്ചു പറ്റി. ക്രൈസ്തവസഭ (l'eglise) എന്ന നാടകം 1933-ൽ പുറത്തിറങ്ങി. 1936-ൽ മരണം തവണകളായി (Mort à crédit) എന്ന നോവലും ശ്രദ്ധേയമായി. തെറ്റ് എന്റേത് (Mea Culpa 1936), കൂട്ടക്കൊല വെറും നിസ്സാരം (Bagatelles pour un massacre, 1937), ശവങ്ങൾക്കായുള്ള വിദ്യാലയങ്ങൾ (L'École des cadavres, 1938), ഊരാക്കുടുക്കിൽ(Les Beaux Draps, 1941). എന്നിവ നീണ്ട പ്രബന്ധങ്ങളാണ്. 1936-ൽ എഴുതിയ മിയാ കൾപാ (തെറ്റ് എന്റേത്) റഷ്യൻ സന്ദർശനം ഉളവാക്കിയ ഹതാശ രേഖപ്പെടുത്തുന്നു.<ref>{{Cite web |url=http://www.corpse.org/archives/issue_5/celine/green2.htm |title=Mea Culpa ശേഖരിച്ചത് 20ഏപ്രിൽ2015 |access-date=2015-04-20 |archive-date=2016-03-04 |archive-url=https://web.archive.org/web/20160304140613/http://www.corpse.org/archives/issue_5/celine/green2.htm |url-status=dead }}</ref> ==== ആഖ്യാനശൈലി ==== തന്റെ രചനകളിലൂടെ സെലിൻ ഒരു പുതിയ ആഖ്യാനശൈലി അവതരിപ്പിച്ചു. അലങ്കാരഭാഷ കൈവിട്ട്, നിത്യസാധാരണമായ സംസാരശൈലിയാണ് സെലിൻ കൈക്കൊണ്ടത്. ഭാഷക്കാണ് ജീവസ്സുള്ളതെന്നും, ആലങ്കാരികഭാഷ ജഡതുല്യമാണെന്നും സെലിൻ അഭിപ്രായപ്പെട്ടു. ആക്ഷേപപൂർണവും വിവാദാത്മകവുമായ പദങ്ങളും വ്യംഗങ്ങളും രചനകളിൽ നിറഞ്ഞു നിന്നു. പൊടിപ്പും തൊങ്ങലുമില്ലാത്ത സംസാരഭാഷയെ ഒറ്റയടിക്ക് ഞാൻ അച്ചടിഭാഷയാക്കി എന്നാണ് സെലിൻ ഇതേപ്പറ്റി അഭിമുഖത്തിൽ പറഞ്ഞത്.<ref name=interview/>. വ്യംഗ പദങ്ങൾ ശബ്ദകോശങ്ങളല്ല സ-ഷ്ടിക്കുന്നതെന്നും, അവ മനുഷ്യമനസ്സിൽ നിറഞ്ഞു നില്ക്കുന്ന വെറുപ്പിൽ നിന്നാണ് രൂപം കൊള്ളുന്നതെന്നും സെലിൻ അഭിപ്രായപ്പെട്ടു.<ref>{{cite book|title= Louis-Ferdinand Celine|url= https://archive.org/details/isbn_9780811217880|author= Merlin Thomas|publisher= New Directions Publishing|year= 1980|ISBN=9780811217880|}}</ref> ==== ഉള്ളടക്കം- ഹതാശ, ജൂതവിരോധം ==== ഒന്നാം ലോകമഹായുദ്ധമാണ് മിക്ക കൃതികളിലേയും പശ്ചാത്തലം. തീവ്രമായ മനുഷ്യവിദ്വേഷവും ശുഭപ്രതീക്ഷയില്ലായ്മയുമാണ് ആദ്യത്തെ രണ്ടു നോവലുകളിൽ. പിന്നീടുള്ള പ്രബന്ധങ്ങളിൽ അതികഠിനമായ ജൂതവിരോധം പ്രകടമാണ്.<ref name=Solomon/> <ref>[http://www.nybooks.com/articles/archives/2010/jan/14/uncovering-celine/ Uncovering Celine: NewYork Review of Books by Wyatt Mason ശേഖരിച്ചത് 16 ഏപ്രിൽ2015]</ref> ====പ്രധാന കൃതികൾ ==== *'''രാത്രിയുടെ അന്ത്യയാമങ്ങളിലേക്കുള്ള യാത്ര''' (നോവൽ) (Voyage au bout de la nuit(1932)(Journey to the End of the Night 1934 ) ദേശസ്നേഹത്താൽ പ്രചോദിതനായി പട്ടാളത്തിൽ ചേർന്ന ചെറുപ്പക്കാരൻ ഫെർഡിനൻഡ് ബർദാമൂവാണ് കഥാപുരുഷൻ. പക്ഷെ അധികം കഴിയുന്നതിനുമുമ്പുതന്നെ യുദ്ധത്തിന്റെ ഘോരമുഖം അയാളെ വല്ലാതെ ആഘാതമേല്പിക്കുന്നു.യുദ്ധത്തിന്റെ രാഷ്ട്രീയ-സൈനിക നീക്കങ്ങൾ അയാൾക്ക് തീർത്തും ദുരൂഹമാണ്. പിടിപ്പുകെട്ട രാഷ്ട്രീയക്കാരുടേയും സൈന്യമേധാവികളുടേയും ഇരയാവുന്നത് ഇരുവശത്തുമുള്ള പാവം പട്ടാളക്കാരും സാധാരണജനങ്ങളും ആണെന്ന് അയാൾ കണ്ടെത്തുന്നു. പരിക്കേറ്റ് പട്ടാളസേവനത്തിൽ നിന്നു പിരിഞ്ഞ് ആഫ്രിക്കൻ കോളണികളിലും പുതിയ ലോകമായ [[അമേരിക്കൻ ഐക്യനാടുകൾ |അമേരിക്കയിലും]] പ്രതീക്ഷക്കു വകനല്കുന്ന ഒന്നും അയാൾക്ക് കണ്ടെത്താനായില്ല. പാരിസിൽ തിരിച്ചത്തി വൈദ്യപഠനം പൂർത്തിയാക്കി പ്രാക്റ്റീസ് തുടങ്ങി. പക്ഷേ അതു വഴി തന്റേയോ മറ്റുള്ളവരുടേയോ ജീവിതം മെച്ചപ്പെടുത്താനാകില്ലെന്ന് കണ്ട് ബർദാമു അതും ഉപേക്ഷിക്കുന്നു. പഴയൊരു സുഹൃത്ത് റോബിൻസണിന്റെ ദുരന്ത ജീവിതം ഈ മനോഭാവത്തെ ഒന്നുകൂടി ദൃഢമാക്കുന്നു. കഷ്ടനഷ്ടങ്ങൾ മാത്രം നിറഞ്ഞ ജീവിതത്തിൽ പ്രത്യാശക്കു വകയില്ലെന്നും മരണത്തിൽ മാത്രമേ അനന്തമായ ശാന്തി കണ്ടെത്താനാവൂ എന്നുമുള്ള നിഗമനത്തിൽ ബർദാമു എത്തിച്ചേരുന്നു. ഈ നോവൽ സമർപ്പിച്ചിരിക്കുന്നത് എലിസബെത് ക്രെയ്ഗ് എന്ന വനിതക്കാണ്. 1926-ൽ ജനീവ സന്ദർശനത്തിനിടയിൽ പരിചയപ്പെട്ട ഇവരുമായുള്ള സൗഹൃദം ഏഴു വർഷത്തോളം നീണ്ടു നിന്നു.<ref name=Solomon/> *'''ക്രൈസ്തവസഭ''' (L'Église,1933 The Church,2003) അഞ്ചു രംഗങ്ങളുള്ള ഈ ഹാസ്യനാടകം 1926-ലാണ് സെലിൻ എഴുതിയത്, പക്ഷേ 1933-ലാണ് പ്രസിദ്ധീകരിച്ചത്. സെലിൻ ഈയൊറ്റ നാടകമേ എഴുതിയിട്ടുള്ളു. ഡോക്റ്റർ ബർദാമു തന്നേയാണ് ഇതിലും കഥാപുരുഷൻ. നോവലിലെ പല അംശങ്ങളും നാടകത്തിലും ഉണ്ട്. ആഫ്രിക്കയിലെ ഫ്രഞ്ചു കോളണി വസതിയിലും, അമേരിക്കയിൽ ന്യൂയോർക്കിലെ സംഗീതസഭയിലും ജനീവയിലെ ലീഗ് ഓഫ് നേഷൻസിന്റെ ഓഫീസിലും, പാരിസിലുമായിട്ടാണ് കഥ നടക്കുന്നത്. *'''മരണം തവണകളായി'''(നോവൽ) (Mort à crédit(1936), Death on the installment plan(1938)) മരണത്തിലേക്കായി നിർബന്ധമായും അടച്ചു തീർക്കേണ്ട തവണകളാണ് ജീവിതത്തിലെ ശാരീരികവും മാനസികവും സാമ്പത്തികവുമായ ആകുലതകൾ എന്ന് സെലീൻ ഈ പുസ്തകത്തിലൂടെ വ്യാഖ്യാനിക്കുന്നു. ബാല്യം മുതൽ പേക്കിനാവുകളും ഭീതിദമായ മായക്കാഴ്ചകളും കഥാപുരുഷൻ ഫെർഡിനൻഡിനെ സദാ അലട്ടിയിരുന്നു. മുതിർന്ന് ഡോക്റ്ററായിക്കഴിഞ്ഞിട്ടും ഇവ ഫെർഡിനൻഡിനെ പിന്തുടരുന്നു. ഹാസ്യം പരിഹാസം നിന്ദ, അസഭ്യം മുറിഞ്ഞുപോയ വാചകങ്ങൾ, ശബ്ദലോപങ്ങൾ, മാറിമാറിവരുന്ന സ്ഥകാല സൂചനകൾ ഇവയൊക്കെ ഈ ആഖ്യാനശൈലിയുടെ പ്രത്യേകതകളായി പലരും വിലയിരുത്തുന്നു.<ref name=Solomon/> *'''കൂട്ടക്കൊല വെറും നിസ്സാരം''' Bagatelles pour un massacre,1937. Trifles for a Massacre )<ref>{{Cite web |url=http://www.vho.org/aaargh/fran/livres6/CELINEtrif.pdf |title=Trifles for a Massacre |access-date=2015-04-13 |archive-date=2015-09-27 |archive-url=https://web.archive.org/web/20150927173004/http://www.vho.org/aaargh/fran/livres6/CELINEtrif.pdf |url-status=dead }}</ref> *'''ശവങ്ങൾക്കായുള്ള വിദ്യാലയം'''(L'École des cadavres 1938 )<ref>[https://archive.org/details/LecoleDesCadavres ശവങ്ങൾക്കായുള വിദ്യാലയം]</ref> *'''ഊരാക്കുടുക്കിൽ'''(Les Beaux Draps, 1941) <ref> [https://archive.org/details/LesBeauxDraps ഊരാക്കുടുക്കിൽ ]</ref> ജൂതവിരോധമായിരുന്നു ഈ പ്രബന്ധങ്ങളുടെ പ്രമേയം. ഫ്രാൻസിന്റെ എല്ലാ ഭാഗ്യവിപര്യയങ്ങൾക്കും മൂലകാരണം ജൂതസമുദായമാണ് എന്നായിരുന്നു സെലിൻറെ വാദം. പകയും വിദ്വേഷവും വളർത്തുമായിരുന്ന ഈ ലേഖനങ്ങൾ 1939-ൽ താത്കാലികമായി നിരോധിക്കപ്പെട്ടു. പക്ഷെ 1941-42ൽ വിഷി ഭരണകാലത്ത് വിലക്കുകൾ നീക്കപ്പെട്ടപ്പോൾ വീണ്ടും പുറത്തിറങ്ങി. ഇവ പുനഃ പ്രസിദ്ധീകരിക്കേണ്ട എന്ന 1945-ൽ സെലിൻ തീരുമാനിച്ചു. സെലിന്റെ മരണാനന്തരം ഭാര്യ ലൂസെറ്റും ഇതേ തീരുമാനത്തിൽ ഉറച്ചു നിന്നു.<ref name=Solomon/> * '''ഗിന്യോൾസ് ബാൻഡ് ഭാഗം I'''(നോവൽ) <ref>{{cite book|title= Guignol's Band|author= Louis-Ferdinand Céline|publisher= New Directions Publishing|year= 1954| ISBN = 9780811200189|}}</ref> ഇതിലും കഥാപുരുഷൻ ഡോക്റ്റർ ഫെർഡിനൻഡു തന്നെ. ഒന്നാം ലോകമഹായുദ്ധത്തിൽ പരിക്കേറ്റ് ലണ്ടനിൽ അഭയം തേടിയ ഫ്രഞ്ചു പട്ടാളക്കാരൻ.യുദ്ധം താറുമാറാക്കിയ ജീവിതത്തിന് ലണ്ടനിലെ അധോലോകത്തിൽ അർഥം കണ്ടെത്താൻ ശ്രമിക്കുന്നു. ഇതിന്റെ രണ്ടാംഭാഗം, ലണ്ടൻ ബ്രിഡ്ജ് (Le Pont de Londres − Guignol's band II 1964 മരണാനന്തര പ്രസിദ്ധീകരണം) (en.London Bridge: Guignol's Band II 1995) സെലിന്റെ മരണാനന്തരം 1964ലാണ്- പ്രസിദ്ധീകരിച്ചത് ===വിഷികാലഘട്ടം === {{പ്രധാനലേഖനം|വിഷി ഫ്രാൻസ്}} തീവ്ര വലതുപക്ഷദേശീയവാദവും [[ജൂതവിരോധം |ജൂതവിരോധവും]] ശക്തമായിരുന്ന വിഷി ഭരണകാലത്ത്, സെലിൻ ജൂതവിരുദ്ധ സമ്മേളനങ്ങളിൽ സജീവമായി പങ്കെടുത്തു, ജർമൻ അനുഭാവമുള്ള പത്രങ്ങളിലും മാസികകളിലും മുപ്പതോളം കത്തുകൾ എഴുതി.<ref name=Solomon/>,<ref>[http://lewebceline.free.fr/contreceline/les_lettres.htm സെലിൻ കത്തുകൾ ശേഖരിച്ചത് 20ഏപ്രിൽ2015 ]</ref>1940-ൽ ചെല്ല എന്ന യുദ്ധക്കപ്പലിൽ ഡോക്റ്ററായി സേവനമനുഷ്ഠിക്കാൻ സെലിൻ തയ്യാറായി. 1943-ൽ വർഷങ്ങളായി ഒന്നിച്ചു താമസിച്ചിരുന്ന കൂട്ടുകാരി ലൂസെറ്റ് അൽമനസോർ എന്ന നൃത്തക്കാരിയെ വിവാഹം ചെയ്തു. ഇതിനകം [[ചാൾസ് ഡിഗാൾ| ഡിഗാളിന്റെ]] ഫ്രഞ്ചു പ്രതിരോധസേന സെലിനെ ദേശദ്രോഹിയായി പ്രഖ്യാപിച്ചു കഴിഞ്ഞിരുന്നു. 1944 ജൂണിൽ ജർമൻ പരാജയം ഉറപ്പാണെന്നു വന്നപ്പോൾ ഭാര്യാസമേതം സെലിൻ സിഗ്മാരിങ്കെൻ വഴി [[കോപ്പൻഹേഗൻ |കോപ്പൻഹേഗനിലേക്ക്]] പാലായനം ചെയ്തു.<ref name=Solomon/> ===കുറ്റം, ശിക്ഷ, തിരിച്ചു വരവ്=== [[ രണ്ടാം ലോകമഹായുദ്ധം |രണ്ടാം ലോകമഹായുദ്ധത്തിനു]] ശേഷം സ്വതന്ത്രഫ്രാൻസിൽ താത്കാലികമായി അധികാരത്തിൽ വന്ന ജനകീയഭരണകൂടം ദേശദ്രോഹക്കുറ്റം ചുമത്തി, [[ ഡെൻമാർക്ക്|ഡെൻമാർക്കിലെ]] ഗവർമെന്റിനോട് സെലീനെ അറസ്റ്റു ചെയ്യാൻ ആവശ്യപ്പെട്ടു. ജയിലിലും വീട്ടുതടങ്കലിലുമായി സെലീൻ അഞ്ചു വർഷം ഡെൻമാർക്കിൽ കഴിച്ചു കൂട്ടി. 1951-ൽ ഫ്രഞ്ചു കോടതി സെലിന് ഒരു വർഷത്തെ കഠിനതടവു വിധിച്ചുതുകൂടാതെ സ്വത്തുക്കളിൽ പാതി കണ്ടുകെട്ടാൻ ഉത്തരവിടുകയും സെലിനെ ഫ്രാൻസിന്റെ നാണക്കേട് എന്നു പ്രഖ്യാപിക്കുകയും ചെയ്തു.<ref>[http://lewebceline.free.fr/contreceline/le_proc%C3%A8s_c%C3%A9line.htm സെലിൻ-വിചാരണ ശേഖരിച്ചത് 20ഏപ്രിൽ2015]</ref>പക്ഷെ വിധി നടപ്പാക്കപ്പെട്ടില്ല. 1951 ജൂലൈയിൽ സെലീനും ഭാര്യക്കും ഫ്രാൻസിൽ തിരിച്ചു വരാനുള്ള അനുവാദം നല്കപ്പെട്ടു. അവർ പാരിസിന്റെ പ്രാന്തപ്രദേശമായ മൂഡോണിൽ വാസമുറപ്പിച്ചു. [[ File:Maison Louis-Ferdinand Céline à Meudon.JPG |250px|thumb|left| മൂഡോണിൽ സെലിന്റെ വസതി]] ==അവസാന നാളുകൾ == സാഹിത്യസേവനവും പരിമിതമായ തോതിൽ സെലിൻ വൈദ്യവൃത്തിയുമായി ജീവിതം തുടർന്നു. [[File:Sépulture Louis-Ferdinand Céline 1.JPG |250px|thumb|right| സെലിന്റെ കുഴിമാടം]] ===വീണ്ടും സാഹിത്യലോകത്ത് 1951-1961 === * '''മറ്റൊരു കാലഘട്ടത്തിലെ കെട്ടുകഥ''' ഭാഗം 1 (നോവൽ)(Féerie pour une autre fois 1952) (en.Fable for Another Time 2003), *'''നോർമാൻസ്'''- മറ്റൊരു കാലഘട്ടത്തിലെ കെട്ടുകഥ ഭാഗം 2 (നോവൽ) (Normance, 1954); (en. Normance: (sequel to Fable for Another Time) 2009) ഈ രണ്ടു നോവലുകളിലും കഥാപുരുഷൻ ഡോക്റ്റർ ഫെർഡിനൻഡാണ്. ജൂതവിരോധിയെന്ന മുൻവിധിയോടെ തന്നെ വീക്ഷിക്കുന്ന സമൂഹത്തോട് താൻ നിരപരാധിയാണെന്ന് ഫെർഡിനൻഡ് സമർഥിക്കുന്നു. ഒന്നാം ലോകമഹായുദ്ധത്തിൽ തലക്ക് കാര്യമായി പരിക്കേറ്റ ഫെർഡിനൻഡിന്റെ അയൽവാസിയാണ് അതേയുദ്ധത്തിൽ ഇരുകാലുകളും നഷ്ടപ്പെട്ട ഷൂൾസ്. കഥ നടക്കുമ്പോൾ ഷുൾസ് പ്രശസ്തനായ പെയിന്ററാണ്. രണ്ടാംഭാഗത്തിലെ പ്രധാന കഥാപാത്രമാണ് നോർമൻസ് . *'''ഒരു കോട്ടയിൽ നിന്ന് മറ്റൊന്നിലേക്ക്'''(നോവൽ) (D'un château l'autre 1957 (en.Castle to Castle 1968), *'''വടക്ക്''' (നോവൽ)(Nord 1960) (en. North 1972), *'''യുഗ്മനൃത്തം'''(നോവൽ) Rigodon 1964 (മരണാനന്തര പ്രസിദ്ധീകരണം) (en.Rigadoon 1974) ഈ മൂന്നു നോവലുകൾക്കും പരസ്പരബന്ധമുണ്ട്. പാരിസിൽനിന്ന് ജർമൻ അതിർത്തിപ്പട്ടണമായ സിഗ്മാരിങ്കനിലേക്കും അവിടന്ന് കോപ്പൻഹേഗനിലേക്കും രക്ഷപ്പെടുന്ന ആത്മകഥാംശമുള്ള നോവലുകളാണ് ഇവ മൂന്നും. ഡെന്മാർക്കിൽ തുടങ്ങിവെച്ച ആഖ്യാനം പൂർണമായത് പാരിസിൽ തിരിച്ചത്തിയ ശേഷമാണ്. ===അന്ത്യം === 1961 ജൂലൈ ഒന്നിന് ഹൃദയാഘാതം മൂലം സെലിൻ മരണമടഞ്ഞു. പക്ഷെ ജഡം മറവു ചെയ്ത ശേഷമേ വിവരം പുറം ലോകത്തെ അറിയിച്ചുള്ളു.<ref name=Solomon/> == അവലംബം== {{Reflist|colwidth=30em}} ==Source== *{{iw-ref|fr|Louis-Ferdinand Céline}} [[വർഗ്ഗം:ഫ്രഞ്ച് എഴുത്തുകാർ]] [[വർഗ്ഗം:ഫ്രഞ്ചുകാർ]] [[വർഗ്ഗം:മേയ് 27-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:ജൂലൈ 1-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:1894-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:1964-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:സാഹിത്യകാരന്മാർ]] [[വർഗ്ഗം:വിഷി ഫ്രാൻസ്]] 75smz2sxi4ap1m5qgqhr948nr0du6ia ഫലകം:Interlanguage link multi 10 320127 4621560 2541977 2026-05-22T13:54:17Z CatholicChristian 209870 [[Special:Contributions/Amakuru|Amakuru]] ([[User talk:Amakuru|സംവാദം]]) ചെയ്ത നാൾപ്പതിപ്പ് [[Special:Diff/2541976|2541976]] നീക്കം ചെയ്യുന്നു 4621560 wikitext text/x-wiki [[{{{1}}}{{{{{|safesubst:}}}#if:{{{lt|}}}|{{{{{|safesubst:}}}!}}{{{lt}}}}}]]{{{{{|safesubst:}}}#ifeq:<includeonly>{{subst:Substcheck}}</includeonly>|SUBST||{{#if:{{#ifexist:{{{1|}}}|{{#invoke:redirect|isRedirect|{{{1|}}}}}|1}}{{{preserve|{{{display|}}}}}} |<{{#switch:{{{vertical-align|}}}|sup|super=sup|sub=sub|span}} class="noprint" style="{{#switch:{{{vertical-align|}}}|sup|super|sub=|font-size:85%;}} font-style: normal; {{#if:{{{nobold|}}}|font-weight: normal;}}">{{#switch:{{{vertical-align|}}}|sup|super=&#91;|&nbsp;(}}{{#if:{{{WD|}}} | [[d:{{{WD}}}#sitelinks-wikipedia|<span title="&quot;{{{1}}}&quot; in other languages">{{#if:{{{reasonator|}}}|Wikidata|other languages}}</span>]]<!-- -->{{#if:{{{reasonator|}}}|<nowiki />; [//tools.wmflabs.org/reasonator/?q={{urlencode:{{{WD}}}}} Reasonator]}} | {{Separated entries|separator=;&#32; | {{#if:{{{2|}}}|[[:{{{2}}}:{{#if:{{{3|}}}|{{{3}}}|{{{1}}}}}|{{{2}}}]][[Category:Interlanguage link template link number|1]]}} | {{#if:{{{4|}}}|[[:{{{4}}}:{{#if:{{{5|}}}|{{{5}}}|{{{1}}}}}|{{{4}}}]][[Category:Interlanguage link template link number|2]]}} | {{#if:{{{6|}}}|[[:{{{6}}}:{{#if:{{{7|}}}|{{{7}}}|{{{1}}}}}|{{{6}}}]][[Category:Interlanguage link template link number|3]]}} | {{#if:{{{8|}}}|[[:{{{8}}}:{{#if:{{{9|}}}|{{{9}}}|{{{1}}}}}|{{{8}}}]][[Category:Interlanguage link template link number|4]]}} | {{#if:{{{10|}}}|[[:{{{10}}}:{{#if:{{{11|}}}|{{{11}}}|{{{1}}}}}|{{{10}}}]][[Category:Interlanguage link template link number|5]]}} | {{#if:{{{reasonator|}}}|[//tools.wmflabs.org/reasonator/test/?find={{urlencode:{{{1}}}}} Reasonator search]}} }}}}{{#switch:{{{vertical-align|}}}|sup|super=&#93;|)}}</{{#switch:{{{vertical-align|}}}|sup|super=sup|sub=sub|span}}> | [[Category:Interlanguage link template existing link]]<nowiki /> }}}}<noinclude> {{documentation}} </noinclude> bx8oqnqm8kxqx8vs720gpgb5bybvkkh 4621561 4621560 2026-05-22T13:54:39Z CatholicChristian 209870 [[Special:Contributions/CatholicChristian|CatholicChristian]] ([[User talk:CatholicChristian|സംവാദം]]) ചെയ്ത നാൾപ്പതിപ്പ് [[Special:Diff/4621560|4621560]] നീക്കം ചെയ്യുന്നു 4621561 wikitext text/x-wiki #REDIRECT [[Template:Interlanguage link]] {{R from move}} pc52m946s8pu6mt2v21nz1mptl0hgi5 വലേറ്റ 0 322952 4622108 4533436 2026-05-23T04:19:15Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622108 wikitext text/x-wiki {{Infobox settlement | name = വലേറ്റ | native_name = Il-Belt Valletta | native_name_lang = mt | official_name = | other_name = Città Umilissima<br>Humilissima Civitas Valletta | settlement_type = City and [[Local councils of Malta|Local council]] | image_skyline = Valletta montage.jpg | image_caption = From top: Skyline, [[Saluting Battery (Valletta)|Saluting Battery]], [[Lower Barrakka Gardens]], [[St. John's Co-Cathedral]] and the [[Fortifications of Valletta|city walls]] | image_flag = Flag of Valletta, Malta.svg | image_shield = Insigne Valettae coronatum.svg | etymology = | nickname = Il-Belt | motto = | image_map = Valletta in Malta.svg | map_caption = | latd = 35 |latm = 53 |lats = 52 |latNS = N | longd = 14 |longm = 30 |longs = 45 |longEW = E | coordinates_type = type:city_region:MT | coordinates_display = inline,title | coordinates_footnotes = | subdivision_type = [[List of sovereign states|Country]] | subdivision_name = {{flag|Malta}} | subdivision_type1 = [[Regions of Malta|Region]] | subdivision_name1 = [[South Eastern Region]] | subdivision_type2 = [[Districts of Malta|District]] | subdivision_name2 = [[Districts of Malta#Southern Harbour District|Southern Harbour District]] | established_title = Established | established_date = 28 March 1566 | established_title2 = Capital city | established_date2 = 18 March 1571 | founder = ജീൻ ഡി വലേറ്റ് | parts_type = Borders | parts_style = para | p1 = ഫ്ലോറിയാന | leader_title = മേയർ | leader_name = അലെക്സി ഡിംഗ്ലി | leader_party = [[Nationalist Party (Malta)|PN]] | unit_pref = Metric | area_total_km2 = 0.8 | area_note = | area_footnotes = | elevation_m = 56 | elevation_footnotes = | population_total = 6444 | population_as_of = March 2014 | population_footnotes = | population_density_km2 = auto | population_note = | population_demonym = Belti (m), Beltija (f), Beltin (pl) | timezone1 = [[Central European Time|CET]] | utc_offset1 = +1 | timezone1_DST = [[Central European Summer Time|CEST]] | utc_offset1_DST = +2 | postal_code_type = [[Postal codes in Malta|Postal code]] | postal_code = VLT | area_code_type = [[List of country calling codes|Dialing code]] | area_code = 356 | iso_code = MT-60 | blank_name_sec1 = [[Religion in Malta#Patron Saints|Patron saints]] | blank_info_sec1 = [[Saint Dominic|St. Dominic]]<br>[[Our Lady of Mount Carmel]]<br>[[Paul the Apostle|St. Paul]]<br>[[Augustine of Hippo|St. Augustine]] | blank1_name_sec1 = [[Public holidays in Malta#Traditional Feasts|Day of festa]] | blank1_info_sec1 = 3 August<br>10 February | website = | footnotes = }} യൂറോപ്യൻ ദ്വീപുരാജ്യമായ [[മാൾട്ട]]യുടെ തലസ്ഥാനമാണ് '''വലേറ്റ'''. മാൾട്ടയുടെ തെക്കുകിഴക്കൻ മേഖലയിൽ സ്ഥിതി ചെയ്യുന്ന വലേറ്റ വലിപ്പത്തിൽ രാജ്യത്തെ രണ്ടാമത്തെ ഏറ്റവും വലിയ നഗരമാണ്.2014 മാർച്ചിലെ സെൻസസ് അനുസരിച്ച് ഈ തുറമുഖനഗരത്തിലെ ജനസംഖ്യ 6,444 ആണ്<ref>{{cite web|title=Estimated Population by Locality 31st March, 2014|url=https://secure2.gov.mt/localgovernment/file.aspx?f=7810|publisher=[[Government of Malta]]|archiveurl=https://www.webcitation.org/6ZSEwl5UZ?url=https://secure2.gov.mt/localgovernment/file.aspx?f=7810|archivedate=2015-06-21|date=16 May 2014|access-date=2015-11-01|url-status=live}}</ref>.[[യൂറോപ്പ്| യൂറോപ്യൻ ഭൂഖണ്ഡത്തിലെ]]ഏറ്റവും തെക്കേ അറ്റത്ത് സ്ഥിതി ചെയ്യുന്ന തലസ്ഥാനനഗരം എന്ന വിശേഷണം വലേറ്റയ്ക്ക് സ്വന്തമാണ്. പതിനാറാം നൂറ്റാണ്ടിലാണ് വലേറ്റ നഗരം സ്ഥാപിതമായത്.രണ്ടാം ലോകമഹായുദ്ധത്തിൽ ഈ നഗരത്തിന് കനത്ത നാശനഷ്ടങ്ങൾ സംഭവിച്ചിട്ടുണ്ട്<ref>{{cite web|title=Valletta’s Royal Opera House, from glamour to rubble|url=http://themanwhowenttomalta.wordpress.com/2011/12/12/vallettas-royal-opera-house-from-glamour-to-rubble/|website=The Man Who Went To Malta|archiveurl=https://web.archive.org/web/20140104204802/http://themanwhowenttomalta.wordpress.com/2011/12/12/vallettas-royal-opera-house-from-glamour-to-rubble/|archivedate=2014-01-04|date=12 December 2011|access-date=2015-11-01|url-status=live}}</ref> .1980ൽ വലേറ്റ നഗരത്തെ [[ലോകപൈതൃകസ്ഥാനം|ലോകപൈതൃകസ്ഥാനമായി]] [[യുനെസ്കോ]] പ്രഖ്യാപിച്ചു<ref name=unesco>{{cite web|title=City of Valletta|url=http://whc.unesco.org/en/list/131|website=UNESCO World Heritage List|accessdate=18 July 2015}}</ref>. [[File:! Valletta 3951 04.jpg|thumb|200px|Valletta ]] ==അവലംബം== {{Reflist|2}} =പുറത്തേക്കുള്ള കണ്ണികൾ== {{Commons category}} * [http://www.cityofvalletta.org Valletta Local Council Administration] * [http://valletta2018.org Valletta 2018 Foundation] * [http://www.maltaattraction.com/ Valletta Living History] {{Webarchive|url=https://web.archive.org/web/20110207154320/http://maltaattraction.com/ |date=2011-02-07 }} * [http://www.ashkdahlen.com/index.php?id=171 Valletta Pictures] {{Webarchive|url=https://web.archive.org/web/20110904120919/http://www.ashkdahlen.com/index.php?id=171 |date=2011-09-04 }} * [http://www.maltauncovered.com/malta-travel-guide/valletta-capital-city-guide/ Valletta travel guide] * [https://archive.org/details/TheLadyAtNumber16 Audio recording of a traditional ghost story from Valletta] {{List of European capitals by region}} [[വർഗ്ഗം:യൂറോപ്പിലെ തലസ്ഥാനങ്ങൾ]] [[വർഗ്ഗം:യുനെസ്കോ ലോകപൈതൃകസ്ഥാനങ്ങൾ]] [[വർഗ്ഗം:മാൾട്ട]] 2ojskwz6eojy6igfrez1edu4ykjciu5 ബിന്ദു കൃഷ്ണ 0 337316 4621545 4620710 2026-05-22T13:05:47Z GV2010 217548 /* */ 4621545 wikitext text/x-wiki [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസി]]ന്റെ കേരളത്തിൽ നിന്നുള്ള ഒരു രാഷ്ട്രീയപ്രവർത്തകയാണ് അഡ്വ. '''ബിന്ദു കൃഷ്ണ'''<ref>http://kpcc.org.in/member/736/adv-bindu-krishna/gallery.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മാർച്ച് 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. {{infobox politician | name = ബിന്ദു കൃഷ്ണ | image = | caption = | birth_date = 1973 | birth_place = കൊല്ലം ജില്ല | death_date = | death_place = | office = സംസ്ഥാന വനിതാ - ശിശുക്ഷേമ, തൊഴിൽ, ക്ഷീരവികസന, മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രി | term = 18 മെയ് 2026 - | predecessor = [[ജെ. ചിഞ്ചു റാണി]] (ക്ഷീരവികസനം, മൃഗസംരക്ഷണം)[[വീണാ ജോർജ്ജ്]](വനിത, ശിശു ക്ഷേമം) | constituency = [[കൊല്ലം| കൊല്ലം നിയമസഭാമണ്ഡലം]] | office1 = കേരള നിയമസഭയിലെ അംഗം | term1 = 2026 മെയ് | predecessor1 = [[മുകേഷ്]] | constituency1 = [[കൊല്ലം| കൊല്ലം നിയമസഭാമണ്ഡലം]] }} == ജീവിത രേഖ == [[കൊല്ലം ജില്ല|കൊല്ലം ജില്ലയിലെ]] കട്ടച്ചലിലാണ് ബിന്ദുകൃഷ്ണ ജനിച്ചത്.<ref>{{Cite web|url=https://www.deccanchronicle.com/nation/politics/240316/caste-rules-as-kerala-assembly-elections-near.html|title=Caste rules as Kerala Assembly elections near|access-date=2021-05-05|last=Chandran|first=Cynthia|date=2016-03-24|language=en}}</ref> 1986ൽ കൊല്ലം പുന്നക്കോട് സെൻ്റ് തോമസ് ഹൈസ്കൂളിലെ സ്കൂൾ ലീഡറായിരുന്നു. 1987ൽ ഉപരിപഠനത്തിന് കൊല്ലം എസ്.എൻ മെൻസിൽ എത്തിയ ബിന്ദുകൃഷ്ണ [[കേരള സ്റ്റുഡന്റ്സ് യൂണിയൻ|കേരള സ്റ്റുഡന്റ്സ് യൂണിയനിൽ]] സജീവമായി. 1987-89 കാലഘട്ടത്തിൽ എസ്.എൻ മെൻസിൽ കെ.എസ്.യു യൂണിറ്റ് ജനറൽ സെക്രട്ടറിയായും, 1991-92 കാലഘട്ടത്തിൽ കെ.എസ്.യു യൂണിറ്റ് പ്രസിഡൻ്റായും പ്രവർത്തിച്ചു. {{citation needed}}എസ്.എഫ്.ഐയുടെ കോട്ട എന്ന് വിശേഷിപ്പിച്ചിരുന്ന കൊല്ലം എസ്.എൻ മെൻസിൽ ശക്തമായ പ്രവർത്തനം നടത്തിയ കെ.എസ്.യു വനിതാ നേതാവ് എന്ന നിലയിൽ 1993ൽ കെ.എസ്.യു സംസ്ഥാന കമ്മിറ്റി അംഗമായി നിയമിതയായി. തിരുവനന്തപുരം [[കേരള ലോ അക്കാദമി ലോ കോളേജ്|ലോ അക്കാദമിയിൽ നിന്നും നിയമബിരുദവും ഗവ. ലോ കോളേജിൽ]] നിന്നും അന്താരാഷ്ട്ര നിയമത്തിൽ ബിരുദാനന്തര ബിരുദവും കരസ്ഥമാക്കിയ ബിന്ദുകൃഷ്ണ കൊല്ലം കോടതിയിൽ അഭിഭാഷക വൃത്തിയിൽ പ്രവർത്തനം ആരംഭിച്ചു. ഒപ്പം കൊല്ലത്തെ രാഷ്ട്രീയ-പൊതു പ്രവർത്തനത്തിലും സജീവമായി.{{citation needed}} 2004-2007 കാലഘട്ടത്തിൽ ഇന്ത്യൻ യൂത്ത് കോൺഗ്രസ്സിൻ്റെ സംസ്ഥാന ജനറൽ സെക്രട്ടറിയായി സംസ്ഥാനത്തുടനീളം മികച്ച രീതിയിൽ പ്രവർത്തിച്ചു. 2007-2011 കാലഘട്ടത്തിൽ മഹിളാ കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറിയായും, കൊല്ലം ഡിസിസി ജനറൽ സെക്രട്ടറിയായും പ്രവർത്തനങ്ങൾ നടത്തി. പ്രവർത്തന മികവുകൊണ്ട് മഹിളാ കോൺഗ്രസിൻ്റെ ഏക ദേശീയ ഉപാദ്ധ്യക്ഷയായും, ദീർഘകാലം സംസ്ഥാന അദ്ധ്യക്ഷയായും പ്രവർത്തിക്കാൻ ബിന്ദുകൃഷ്ണയ്ക്ക് അവസരം ലഭിച്ചു. സംസ്ഥാനത്ത് മഹിളാ കോൺഗ്രസ് കൂടുതൽ ശക്തിയാർജ്ജിച്ചത് ബിന്ദുകൃഷ്ണ അദ്ധ്യക്ഷയായിരുന്ന കാലത്തായിരുന്നു. {{citation needed}} 2016-2021 കാലഘട്ടത്തിൽ കൊല്ലം ജില്ലാ കോൺഗ്രസ് കമ്മിറ്റിയുടെ എക്കാലത്തെയും മികച്ച പ്രസിഡൻ്റായി പ്രവർത്തിച്ചു. കേരളത്തിലെ രണ്ടാമത്തെ വനിതാ ഡിസിസി പ്രസിഡൻ്റും, മുഴുവൻ സമയ പൊതുപ്രവർത്തകയായ ആദ്യ വനിതാ ഡിസിസി പ്രസിഡൻ്റുമായിരുന്നു ബിന്ദുകൃഷ്ണ. 2016 ഡിസംബർ 18ന് കൊല്ലം ഡിസിസി പ്രസിഡൻ്റായി ചുമതലയേറ്റു. പ്രവർത്തന മികവും, ചിട്ടയായ സംഘടനാ സംവിധാനവും എതിരാളികൾ പോലും അംഗീകരിക്കുകയും, അഭിനന്ദിക്കുകയും ചെയ്യുന്ന പല സന്ദർഭങ്ങൾക്ക് വഴിതെളിച്ചു. {{citation needed}} 2016ലെ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ ഒറ്റ യുഡിഎഫ് എംഎൽഎമാരില്ലാതിരുന്ന കൊല്ലം ജില്ലയ്ക്ക് 2021ൽ രണ്ട് കോൺഗ്രസ് എംഎൽഎമാരെ സംഭാവന ചെയ്യാൻ ബിന്ദുകൃഷ്ണ നേതൃത്വം നൽകിയ കൊല്ലം ജില്ലാ കോൺഗ്രസ് കമ്മിറ്റിക്ക് കഴിഞ്ഞു. മൂന്ന് അസംബ്ലി മണ്ഡലങ്ങൾ രണ്ടായിരത്തിൽപരം വോട്ടുകൾക്ക് മാത്രമാണ് കോൺഗ്രസിനും യുഡിഎഫിനും നഷ്ടമായത്. {{citation needed}} നിലവിൽ എ.ഐ.സി.സി ആംഗമായി പ്രവർത്തിച്ചു വരികയാണ് അഡ്വ. ബിന്ദുകൃഷ്ണ. തിരുവനന്തപുരം ഡിസിസി ജനറൽ സെക്രട്ടറി അഡ്വ. എസ്.കൃഷ്ണകുമാർ ഭർത്താവാണ്. ഏക മകൻ കെ.കെ ശ്രീകൃഷ്ണ. അച്ഛൻ പി.സുകുമാരനും അമ്മ ബി.വസുമതിയുമാണ്. അച്ഛൻ കോൺഗ്രസ് പാർട്ടിയുടെ മുൻ മണ്ഡലം പ്രസിഡൻ്റുകൂടിയായിരുന്നു. ബിജു.എസ് ഏക സഹോദരനാണ്.{{citation needed}} == അധികാര പദവികൾ == * എ.ഐ.സി.സി അംഗം (നിലവിൽ). * ഡിസിസി പ്രസിഡൻ്റ് - കൊല്ലം (2016-2021). *മഹിളാ കോൺഗ്രസ് ദേശീയ ഉപാദ്ധ്യക്ഷ (2012-14) *മഹിളാ കോൺഗ്രസ് സംസ്ഥാന അദ്ധ്യക്ഷ (2011-17) *ഡിസിസി ജനറൽ സെക്രട്ടറി, കൊല്ലം *എക്സിക്യൂട്ടീവ് മെമ്പർ, സ്റ്റേറ്റ് കുടുംബശ്രീ മിഷൻ *സംസ്ഥാന പ്രസിഡൻ്റ്, ആശാ വർക്കേഴ്സ് കോൺഗ്രസ് ഐഎൻടിയുസി. *പ്രസിഡൻ്റ്, സ്റ്റേറ്റ് സ്കൂൾ കൗൺസിൽ അസോസിയേഷൻ *മഹിളാ കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറി *യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറി *കെ.എസ്.യു സംസ്ഥാന കമ്മിറ്റിയംഗം *കെ.എസ്.യു യൂണിറ്റ് പ്രസിഡൻ്റ് (എസ്.എൻ മെൻസ്, കൊല്ലം) *കെ.എസ്.യു യൂണിറ്റ് ജനറൽ സെക്രട്ടറി (എസ്.എൻ മെൻസ്, കൊല്ലം) *സ്കൂൾ ലീഡർ - (1986 കൊല്ലം പുന്നക്കോട് സെൻ്റ് തോമസ് ഹൈസ്കൂൾ){{citation needed}} ==അവലംബം== {{Reflist}} [[വർഗ്ഗം:കേരളത്തിലെ വനിതാ രാഷ്ട്രീയപ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തൊഴിൽ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രിമാർ]] kpb5chs8xpiefhzu6u0hh18h8lx6p1i 4621559 4621545 2026-05-22T13:54:06Z GV2010 217548 /* */ 4621559 wikitext text/x-wiki [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസി]]ന്റെ കേരളത്തിൽ നിന്നുള്ള ഒരു രാഷ്ട്രീയപ്രവർത്തകയാണ് അഡ്വ. '''ബിന്ദു കൃഷ്ണ'''<ref>http://kpcc.org.in/member/736/adv-bindu-krishna/gallery.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മാർച്ച് 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. {{infobox politician | name = ബിന്ദു കൃഷ്ണ | image = | caption = | birth_date = 1973 | birth_place = കൊല്ലം ജില്ല | death_date = | death_place = | office = സംസ്ഥാന വനിതാ - ശിശുക്ഷേമ, തൊഴിൽ, ക്ഷീരവികസന, മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രി | term = 18 മെയ് 2026 - | 1blankname = മന്ത്രിസഭ | 1namedata = [[വി.ഡി. സതീശൻ മന്ത്രിസഭ]] | predecessor = [[ജെ. ചിഞ്ചു റാണി]] (ക്ഷീരവികസനം, മൃഗസംരക്ഷണം)[[വീണാ ജോർജ്ജ്]](വനിത, ശിശു ക്ഷേമം) | constituency = [[കൊല്ലം| കൊല്ലം നിയമസഭാമണ്ഡലം]] | office1 = കേരള നിയമസഭയിലെ അംഗം | term1 = 2026 മെയ് | predecessor1 = [[മുകേഷ്]] | constituency1 = [[കൊല്ലം| കൊല്ലം നിയമസഭാമണ്ഡലം]] }} == ജീവിത രേഖ == [[കൊല്ലം ജില്ല|കൊല്ലം ജില്ലയിലെ]] കട്ടച്ചലിലാണ് ബിന്ദുകൃഷ്ണ ജനിച്ചത്.<ref>{{Cite web|url=https://www.deccanchronicle.com/nation/politics/240316/caste-rules-as-kerala-assembly-elections-near.html|title=Caste rules as Kerala Assembly elections near|access-date=2021-05-05|last=Chandran|first=Cynthia|date=2016-03-24|language=en}}</ref> 1986ൽ കൊല്ലം പുന്നക്കോട് സെൻ്റ് തോമസ് ഹൈസ്കൂളിലെ സ്കൂൾ ലീഡറായിരുന്നു. 1987ൽ ഉപരിപഠനത്തിന് കൊല്ലം എസ്.എൻ മെൻസിൽ എത്തിയ ബിന്ദുകൃഷ്ണ [[കേരള സ്റ്റുഡന്റ്സ് യൂണിയൻ|കേരള സ്റ്റുഡന്റ്സ് യൂണിയനിൽ]] സജീവമായി. 1987-89 കാലഘട്ടത്തിൽ എസ്.എൻ മെൻസിൽ കെ.എസ്.യു യൂണിറ്റ് ജനറൽ സെക്രട്ടറിയായും, 1991-92 കാലഘട്ടത്തിൽ കെ.എസ്.യു യൂണിറ്റ് പ്രസിഡൻ്റായും പ്രവർത്തിച്ചു. {{citation needed}}എസ്.എഫ്.ഐയുടെ കോട്ട എന്ന് വിശേഷിപ്പിച്ചിരുന്ന കൊല്ലം എസ്.എൻ മെൻസിൽ ശക്തമായ പ്രവർത്തനം നടത്തിയ കെ.എസ്.യു വനിതാ നേതാവ് എന്ന നിലയിൽ 1993ൽ കെ.എസ്.യു സംസ്ഥാന കമ്മിറ്റി അംഗമായി നിയമിതയായി. തിരുവനന്തപുരം [[കേരള ലോ അക്കാദമി ലോ കോളേജ്|ലോ അക്കാദമിയിൽ നിന്നും നിയമബിരുദവും ഗവ. ലോ കോളേജിൽ]] നിന്നും അന്താരാഷ്ട്ര നിയമത്തിൽ ബിരുദാനന്തര ബിരുദവും കരസ്ഥമാക്കിയ ബിന്ദുകൃഷ്ണ കൊല്ലം കോടതിയിൽ അഭിഭാഷക വൃത്തിയിൽ പ്രവർത്തനം ആരംഭിച്ചു. ഒപ്പം കൊല്ലത്തെ രാഷ്ട്രീയ-പൊതു പ്രവർത്തനത്തിലും സജീവമായി.{{citation needed}} 2004-2007 കാലഘട്ടത്തിൽ ഇന്ത്യൻ യൂത്ത് കോൺഗ്രസ്സിൻ്റെ സംസ്ഥാന ജനറൽ സെക്രട്ടറിയായി സംസ്ഥാനത്തുടനീളം മികച്ച രീതിയിൽ പ്രവർത്തിച്ചു. 2007-2011 കാലഘട്ടത്തിൽ മഹിളാ കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറിയായും, കൊല്ലം ഡിസിസി ജനറൽ സെക്രട്ടറിയായും പ്രവർത്തനങ്ങൾ നടത്തി. പ്രവർത്തന മികവുകൊണ്ട് മഹിളാ കോൺഗ്രസിൻ്റെ ഏക ദേശീയ ഉപാദ്ധ്യക്ഷയായും, ദീർഘകാലം സംസ്ഥാന അദ്ധ്യക്ഷയായും പ്രവർത്തിക്കാൻ ബിന്ദുകൃഷ്ണയ്ക്ക് അവസരം ലഭിച്ചു. സംസ്ഥാനത്ത് മഹിളാ കോൺഗ്രസ് കൂടുതൽ ശക്തിയാർജ്ജിച്ചത് ബിന്ദുകൃഷ്ണ അദ്ധ്യക്ഷയായിരുന്ന കാലത്തായിരുന്നു. {{citation needed}} 2016-2021 കാലഘട്ടത്തിൽ കൊല്ലം ജില്ലാ കോൺഗ്രസ് കമ്മിറ്റിയുടെ എക്കാലത്തെയും മികച്ച പ്രസിഡൻ്റായി പ്രവർത്തിച്ചു. കേരളത്തിലെ രണ്ടാമത്തെ വനിതാ ഡിസിസി പ്രസിഡൻ്റും, മുഴുവൻ സമയ പൊതുപ്രവർത്തകയായ ആദ്യ വനിതാ ഡിസിസി പ്രസിഡൻ്റുമായിരുന്നു ബിന്ദുകൃഷ്ണ. 2016 ഡിസംബർ 18ന് കൊല്ലം ഡിസിസി പ്രസിഡൻ്റായി ചുമതലയേറ്റു. പ്രവർത്തന മികവും, ചിട്ടയായ സംഘടനാ സംവിധാനവും എതിരാളികൾ പോലും അംഗീകരിക്കുകയും, അഭിനന്ദിക്കുകയും ചെയ്യുന്ന പല സന്ദർഭങ്ങൾക്ക് വഴിതെളിച്ചു. {{citation needed}} 2016ലെ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ ഒറ്റ യുഡിഎഫ് എംഎൽഎമാരില്ലാതിരുന്ന കൊല്ലം ജില്ലയ്ക്ക് 2021ൽ രണ്ട് കോൺഗ്രസ് എംഎൽഎമാരെ സംഭാവന ചെയ്യാൻ ബിന്ദുകൃഷ്ണ നേതൃത്വം നൽകിയ കൊല്ലം ജില്ലാ കോൺഗ്രസ് കമ്മിറ്റിക്ക് കഴിഞ്ഞു. മൂന്ന് അസംബ്ലി മണ്ഡലങ്ങൾ രണ്ടായിരത്തിൽപരം വോട്ടുകൾക്ക് മാത്രമാണ് കോൺഗ്രസിനും യുഡിഎഫിനും നഷ്ടമായത്. {{citation needed}} നിലവിൽ എ.ഐ.സി.സി ആംഗമായി പ്രവർത്തിച്ചു വരികയാണ് അഡ്വ. ബിന്ദുകൃഷ്ണ. തിരുവനന്തപുരം ഡിസിസി ജനറൽ സെക്രട്ടറി അഡ്വ. എസ്.കൃഷ്ണകുമാർ ഭർത്താവാണ്. ഏക മകൻ കെ.കെ ശ്രീകൃഷ്ണ. അച്ഛൻ പി.സുകുമാരനും അമ്മ ബി.വസുമതിയുമാണ്. അച്ഛൻ കോൺഗ്രസ് പാർട്ടിയുടെ മുൻ മണ്ഡലം പ്രസിഡൻ്റുകൂടിയായിരുന്നു. ബിജു.എസ് ഏക സഹോദരനാണ്.{{citation needed}} == അധികാര പദവികൾ == * എ.ഐ.സി.സി അംഗം (നിലവിൽ). * ഡിസിസി പ്രസിഡൻ്റ് - കൊല്ലം (2016-2021). *മഹിളാ കോൺഗ്രസ് ദേശീയ ഉപാദ്ധ്യക്ഷ (2012-14) *മഹിളാ കോൺഗ്രസ് സംസ്ഥാന അദ്ധ്യക്ഷ (2011-17) *ഡിസിസി ജനറൽ സെക്രട്ടറി, കൊല്ലം *എക്സിക്യൂട്ടീവ് മെമ്പർ, സ്റ്റേറ്റ് കുടുംബശ്രീ മിഷൻ *സംസ്ഥാന പ്രസിഡൻ്റ്, ആശാ വർക്കേഴ്സ് കോൺഗ്രസ് ഐഎൻടിയുസി. *പ്രസിഡൻ്റ്, സ്റ്റേറ്റ് സ്കൂൾ കൗൺസിൽ അസോസിയേഷൻ *മഹിളാ കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറി *യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറി *കെ.എസ്.യു സംസ്ഥാന കമ്മിറ്റിയംഗം *കെ.എസ്.യു യൂണിറ്റ് പ്രസിഡൻ്റ് (എസ്.എൻ മെൻസ്, കൊല്ലം) *കെ.എസ്.യു യൂണിറ്റ് ജനറൽ സെക്രട്ടറി (എസ്.എൻ മെൻസ്, കൊല്ലം) *സ്കൂൾ ലീഡർ - (1986 കൊല്ലം പുന്നക്കോട് സെൻ്റ് തോമസ് ഹൈസ്കൂൾ){{citation needed}} ==അവലംബം== {{Reflist}} [[വർഗ്ഗം:കേരളത്തിലെ വനിതാ രാഷ്ട്രീയപ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തൊഴിൽ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രിമാർ]] 4jf2gcgsc438ot9iwmly8dqkf6y1dyi 4621588 4621559 2026-05-22T15:57:00Z Kiran Gopi 10521 [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] ചേർത്തു [[വിക്കിപീഡിയ:ഹോട്ട്കാറ്റ്|ഹോട്ട്ക്യാറ്റ്]] ഉപയോഗിച്ച് 4621588 wikitext text/x-wiki [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസി]]ന്റെ കേരളത്തിൽ നിന്നുള്ള ഒരു രാഷ്ട്രീയപ്രവർത്തകയാണ് അഡ്വ. '''ബിന്ദു കൃഷ്ണ'''<ref>http://kpcc.org.in/member/736/adv-bindu-krishna/gallery.html{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=മാർച്ച് 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>. {{infobox politician | name = ബിന്ദു കൃഷ്ണ | image = | caption = | birth_date = 1973 | birth_place = കൊല്ലം ജില്ല | death_date = | death_place = | office = സംസ്ഥാന വനിതാ - ശിശുക്ഷേമ, തൊഴിൽ, ക്ഷീരവികസന, മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രി | term = 18 മെയ് 2026 - | 1blankname = മന്ത്രിസഭ | 1namedata = [[വി.ഡി. സതീശൻ മന്ത്രിസഭ]] | predecessor = [[ജെ. ചിഞ്ചു റാണി]] (ക്ഷീരവികസനം, മൃഗസംരക്ഷണം)[[വീണാ ജോർജ്ജ്]](വനിത, ശിശു ക്ഷേമം) | constituency = [[കൊല്ലം| കൊല്ലം നിയമസഭാമണ്ഡലം]] | office1 = കേരള നിയമസഭയിലെ അംഗം | term1 = 2026 മെയ് | predecessor1 = [[മുകേഷ്]] | constituency1 = [[കൊല്ലം| കൊല്ലം നിയമസഭാമണ്ഡലം]] }} == ജീവിത രേഖ == [[കൊല്ലം ജില്ല|കൊല്ലം ജില്ലയിലെ]] കട്ടച്ചലിലാണ് ബിന്ദുകൃഷ്ണ ജനിച്ചത്.<ref>{{Cite web|url=https://www.deccanchronicle.com/nation/politics/240316/caste-rules-as-kerala-assembly-elections-near.html|title=Caste rules as Kerala Assembly elections near|access-date=2021-05-05|last=Chandran|first=Cynthia|date=2016-03-24|language=en}}</ref> 1986ൽ കൊല്ലം പുന്നക്കോട് സെൻ്റ് തോമസ് ഹൈസ്കൂളിലെ സ്കൂൾ ലീഡറായിരുന്നു. 1987ൽ ഉപരിപഠനത്തിന് കൊല്ലം എസ്.എൻ മെൻസിൽ എത്തിയ ബിന്ദുകൃഷ്ണ [[കേരള സ്റ്റുഡന്റ്സ് യൂണിയൻ|കേരള സ്റ്റുഡന്റ്സ് യൂണിയനിൽ]] സജീവമായി. 1987-89 കാലഘട്ടത്തിൽ എസ്.എൻ മെൻസിൽ കെ.എസ്.യു യൂണിറ്റ് ജനറൽ സെക്രട്ടറിയായും, 1991-92 കാലഘട്ടത്തിൽ കെ.എസ്.യു യൂണിറ്റ് പ്രസിഡൻ്റായും പ്രവർത്തിച്ചു. {{citation needed}}എസ്.എഫ്.ഐയുടെ കോട്ട എന്ന് വിശേഷിപ്പിച്ചിരുന്ന കൊല്ലം എസ്.എൻ മെൻസിൽ ശക്തമായ പ്രവർത്തനം നടത്തിയ കെ.എസ്.യു വനിതാ നേതാവ് എന്ന നിലയിൽ 1993ൽ കെ.എസ്.യു സംസ്ഥാന കമ്മിറ്റി അംഗമായി നിയമിതയായി. തിരുവനന്തപുരം [[കേരള ലോ അക്കാദമി ലോ കോളേജ്|ലോ അക്കാദമിയിൽ നിന്നും നിയമബിരുദവും ഗവ. ലോ കോളേജിൽ]] നിന്നും അന്താരാഷ്ട്ര നിയമത്തിൽ ബിരുദാനന്തര ബിരുദവും കരസ്ഥമാക്കിയ ബിന്ദുകൃഷ്ണ കൊല്ലം കോടതിയിൽ അഭിഭാഷക വൃത്തിയിൽ പ്രവർത്തനം ആരംഭിച്ചു. ഒപ്പം കൊല്ലത്തെ രാഷ്ട്രീയ-പൊതു പ്രവർത്തനത്തിലും സജീവമായി.{{citation needed}} 2004-2007 കാലഘട്ടത്തിൽ ഇന്ത്യൻ യൂത്ത് കോൺഗ്രസ്സിൻ്റെ സംസ്ഥാന ജനറൽ സെക്രട്ടറിയായി സംസ്ഥാനത്തുടനീളം മികച്ച രീതിയിൽ പ്രവർത്തിച്ചു. 2007-2011 കാലഘട്ടത്തിൽ മഹിളാ കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറിയായും, കൊല്ലം ഡിസിസി ജനറൽ സെക്രട്ടറിയായും പ്രവർത്തനങ്ങൾ നടത്തി. പ്രവർത്തന മികവുകൊണ്ട് മഹിളാ കോൺഗ്രസിൻ്റെ ഏക ദേശീയ ഉപാദ്ധ്യക്ഷയായും, ദീർഘകാലം സംസ്ഥാന അദ്ധ്യക്ഷയായും പ്രവർത്തിക്കാൻ ബിന്ദുകൃഷ്ണയ്ക്ക് അവസരം ലഭിച്ചു. സംസ്ഥാനത്ത് മഹിളാ കോൺഗ്രസ് കൂടുതൽ ശക്തിയാർജ്ജിച്ചത് ബിന്ദുകൃഷ്ണ അദ്ധ്യക്ഷയായിരുന്ന കാലത്തായിരുന്നു. {{citation needed}} 2016-2021 കാലഘട്ടത്തിൽ കൊല്ലം ജില്ലാ കോൺഗ്രസ് കമ്മിറ്റിയുടെ എക്കാലത്തെയും മികച്ച പ്രസിഡൻ്റായി പ്രവർത്തിച്ചു. കേരളത്തിലെ രണ്ടാമത്തെ വനിതാ ഡിസിസി പ്രസിഡൻ്റും, മുഴുവൻ സമയ പൊതുപ്രവർത്തകയായ ആദ്യ വനിതാ ഡിസിസി പ്രസിഡൻ്റുമായിരുന്നു ബിന്ദുകൃഷ്ണ. 2016 ഡിസംബർ 18ന് കൊല്ലം ഡിസിസി പ്രസിഡൻ്റായി ചുമതലയേറ്റു. പ്രവർത്തന മികവും, ചിട്ടയായ സംഘടനാ സംവിധാനവും എതിരാളികൾ പോലും അംഗീകരിക്കുകയും, അഭിനന്ദിക്കുകയും ചെയ്യുന്ന പല സന്ദർഭങ്ങൾക്ക് വഴിതെളിച്ചു. {{citation needed}} 2016ലെ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ ഒറ്റ യുഡിഎഫ് എംഎൽഎമാരില്ലാതിരുന്ന കൊല്ലം ജില്ലയ്ക്ക് 2021ൽ രണ്ട് കോൺഗ്രസ് എംഎൽഎമാരെ സംഭാവന ചെയ്യാൻ ബിന്ദുകൃഷ്ണ നേതൃത്വം നൽകിയ കൊല്ലം ജില്ലാ കോൺഗ്രസ് കമ്മിറ്റിക്ക് കഴിഞ്ഞു. മൂന്ന് അസംബ്ലി മണ്ഡലങ്ങൾ രണ്ടായിരത്തിൽപരം വോട്ടുകൾക്ക് മാത്രമാണ് കോൺഗ്രസിനും യുഡിഎഫിനും നഷ്ടമായത്. {{citation needed}} നിലവിൽ എ.ഐ.സി.സി ആംഗമായി പ്രവർത്തിച്ചു വരികയാണ് അഡ്വ. ബിന്ദുകൃഷ്ണ. തിരുവനന്തപുരം ഡിസിസി ജനറൽ സെക്രട്ടറി അഡ്വ. എസ്.കൃഷ്ണകുമാർ ഭർത്താവാണ്. ഏക മകൻ കെ.കെ ശ്രീകൃഷ്ണ. അച്ഛൻ പി.സുകുമാരനും അമ്മ ബി.വസുമതിയുമാണ്. അച്ഛൻ കോൺഗ്രസ് പാർട്ടിയുടെ മുൻ മണ്ഡലം പ്രസിഡൻ്റുകൂടിയായിരുന്നു. ബിജു.എസ് ഏക സഹോദരനാണ്.{{citation needed}} == അധികാര പദവികൾ == * എ.ഐ.സി.സി അംഗം (നിലവിൽ). * ഡിസിസി പ്രസിഡൻ്റ് - കൊല്ലം (2016-2021). *മഹിളാ കോൺഗ്രസ് ദേശീയ ഉപാദ്ധ്യക്ഷ (2012-14) *മഹിളാ കോൺഗ്രസ് സംസ്ഥാന അദ്ധ്യക്ഷ (2011-17) *ഡിസിസി ജനറൽ സെക്രട്ടറി, കൊല്ലം *എക്സിക്യൂട്ടീവ് മെമ്പർ, സ്റ്റേറ്റ് കുടുംബശ്രീ മിഷൻ *സംസ്ഥാന പ്രസിഡൻ്റ്, ആശാ വർക്കേഴ്സ് കോൺഗ്രസ് ഐഎൻടിയുസി. *പ്രസിഡൻ്റ്, സ്റ്റേറ്റ് സ്കൂൾ കൗൺസിൽ അസോസിയേഷൻ *മഹിളാ കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറി *യൂത്ത് കോൺഗ്രസ് സംസ്ഥാന ജനറൽ സെക്രട്ടറി *കെ.എസ്.യു സംസ്ഥാന കമ്മിറ്റിയംഗം *കെ.എസ്.യു യൂണിറ്റ് പ്രസിഡൻ്റ് (എസ്.എൻ മെൻസ്, കൊല്ലം) *കെ.എസ്.യു യൂണിറ്റ് ജനറൽ സെക്രട്ടറി (എസ്.എൻ മെൻസ്, കൊല്ലം) *സ്കൂൾ ലീഡർ - (1986 കൊല്ലം പുന്നക്കോട് സെൻ്റ് തോമസ് ഹൈസ്കൂൾ){{citation needed}} ==അവലംബം== {{Reflist}} [[വർഗ്ഗം:കേരളത്തിലെ വനിതാ രാഷ്ട്രീയപ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ തൊഴിൽ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] to4e3loklohopm08okov98jxk62a9p1 ഷാനിമോൾ ഉസ്മാൻ 0 339599 4621586 4620241 2026-05-22T15:55:23Z Kiran Gopi 10521 /* അവലംബം */ 4621586 wikitext text/x-wiki {{PU|Shanimol Usman}} {{Infobox_politician | name = ഷാനിമോൾ ഉസ്മാൻ | image = Shanimol Osman.jpg | caption = |office = കേരള നിയമസഭാംഗം |constituency =[[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] |term_start = [[ഒക്ടോബർ 28]] [[2019]] |term_end =[[മേയ് 3]] [[2021]] |predecessor = [[എ.എം. ആരിഫ്]] |successor =[[ദലീമ ജോജോ]] | salary = | birth_date ={{Birth date and age|1966|05|30|df=y}} | birth_place =[[തകഴി]] | residence = | death_date = | death_place = | party = [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] | religion = [[ഇസ്ലാം]] |father=എ. ഇബ്രാഹിം കുട്ടി |mother=ടി.ഇ.സൂറാക്കുട്ടി | spouse =എ. മുഹമ്മദ് ഉസ്‌മാൻ | children = | website = | footnotes = | date = ഓഗസ്റ്റ് 28 | year = 2020 | source =http://myneta.info/ker2006/candidate.php?candidate_id=140 മൈനേത }} കേരളത്തിൽ നിന്നുള്ള ഒരു [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] നേതാവാണ് '''ഷാനിമോൾ ഉസ്മാൻ'''. കേരളത്തിൽ നിന്ന് [[എ.ഐ.സി.സി.]] സെക്രട്ടറിയായ ആദ്യ വനിതയാണ് ഷാനിമോൾ ഉസ്മാൻ.<ref>{{cite news|url=http://m.timesofindia.com//articleshow/7627445.cms|title=Congress leader from Kerala, Shanimol Usman was inducted into the reconstituted Congress Working Committee as AICC Secretary today|newspaper=[[Times of India]]|accessdate=4 September 2017}}</ref> 2019 മുതൽ 2021 മെയ് വരെ [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ നിയോജക മണ്ഡലത്തിൽ]] നിന്നുള്ള നിയമസഭാംഗമായിരുന്നു.<ref>https://www.ndtv.com/india-news/congress-defeats-cpi-m-in-keralas-aroor-seat-after-18-years-2122220 </ref> == ജീവിതരേഖ == ആലപ്പുഴ തകഴി കുന്നുമ്മ വലിയപുരയ്ക്കൽ ഇബ്രാഹിംകുഞ്ഞിന്റെ മകളായി ജനനം. ആലപ്പുഴ എസ്.ഡി. കോളേജിൽ പ്രീഡിഗ്രിക്ക് പഠിക്കുമ്പോൾ കെ.എസ്.യു. വിലൂടെ രാഷ്ട്രീയരംഗത്ത് പ്രവേശിച്ചു. ബിരുദാനന്തരബിരുദ പഠനത്തിന് തിരുവനന്തപുരം ലയോള കോളെജിലും നിയമപഠനത്തിന് തിരുവനന്തപുരം ലോ അക്കാദമിയിലും പഠിക്കുമ്പോൾ വിദ്യാർത്ഥിരാഷ്ട്രീയത്തിൽ മുഴുവൻ സമയ പ്രവർത്തകയായി. തിരുവനന്തപുരം ലൊയോള കോളജിൽ നിന്ന് സോഷ്യോളജിയിൽ ബിരുദാനന്തര ബിരുദം നേടിയ ശേഷമാണ് എൽ.എൽ.ബി പാസായത്. <ref>{{Cite web |url=http://www.madhyamam.com/content/190585 |title=ആർക്കൈവ് പകർപ്പ് |access-date=2016-05-21 |archive-date=2017-09-04 |archive-url=https://web.archive.org/web/20170904201351/http://www.madhyamam.com/content/190585 |url-status=dead }}</ref> അമ്പലപ്പുഴ കോടതിയിൽ പ്രാക്റ്റീസ് ആരംഭിച്ചു.2019 ൽ അരൂരിൽ നടന്നനിയമസഭാ ഉപ തെരെഞ്ഞെടുപ്പിൽ 1955 വോട്ടിനു ജയിച്ചു == അധികാര സ്ഥാനങ്ങൾ == * കേരളത്തിൽ നിന്ന് എ.ഐ.സി.സി സെക്രട്ടറിയായ ആദ്യ വനിതയാണ്. * കെ.പി.സി.സി നിർവാഹക സമിതി അംഗം. * യൂത്ത് കോൺഗ്രസ്-എൻ എസ് യു കോ ഓർഡിനേഷൻ കമ്മിറ്റി അംഗം * മഹിളാ കോൺഗ്രസ് സംസ്ഥാന പ്രസിഡന്റ്. * ആലപ്പുഴ നഗരസഭാ ചെയർപേഴ്സൻ. * ആലപ്പുഴ ജില്ലാ പഞ്ചായത്ത് അംഗം - (അമ്പലപ്പുഴ ഡിവിഷൻ) * കെ.എസ്.യു. സംസ്ഥാന വൈസ് പ്രസിഡന്റ്. * കേരള സർവകലാശാല സെനറ്റ് അംഗം. * 2019 അരൂർ നിയമസഭാ മണ്ഡലത്തിൽ നിന്നും ജനപ്രതിനിധി ആയി == തിരഞ്ഞെടുപ്പുകൾ == {| class="wikitable sortable" |+ തിരഞ്ഞെടുപ്പുകൾ <ref>{{Cite web |url=http://www.ceo.kerala.gov.in/electionhistory.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2016-05-21 |archive-date=2021-11-11 |archive-url=https://web.archive.org/web/20211111050225/http://www.ceo.kerala.gov.in/electionhistory.html |url-status=dead }}</ref> <ref>{{Cite web |url=http://www.keralaassembly.org/index.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2016-05-21 |archive-date=2019-03-23 |archive-url=https://web.archive.org/web/20190323193822/http://keralaassembly.org/index.html |url-status=dead }}</ref> !വർഷം||മണ്ഡലം || വിജയിച്ച സ്ഥാനാർത്ഥി||പാർട്ടിയും മുന്നണിയും||പരാജയപ്പെട്ട മുഖ്യസ്ഥാനാർത്ഥി ||പാർട്ടിയും മുന്നണിയും |- |2016||[[ഒറ്റപ്പാലം നിയമസഭാമണ്ഡലം]]|| [[പി. ഉണ്ണി]]||[[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]||ഷാനിമോൾ ഉസ്‌മാൻ||[[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- |2006||[[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം]]|| [[സാജു പോൾ]]||[[സി.പി.ഐ.എം.]], [[എൽ.ഡി.എഫ്.]]||ഷാനിമോൾ ഉസ്‌മാൻ||[[കോൺഗ്രസ് (ഐ.)]], [[യു.ഡി.എഫ്.]] |- |} == കുടുംബം == ഭർത്താവ് - എ. മുഹമ്മദ് ഉസ്‌മാൻ == അവലംബം == {{reflist}} {{Deputy Speakers of KLA}} {{Fourteenth KLA}} [[വർഗ്ഗം:1966-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 30-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ഉപതിരഞ്ഞെടുപ്പിൽകൂടി നിയമസഭാംഗമായവർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ പ്രതിനിധികൾ]] [[വർഗ്ഗം:പതിനാലാം കേരളനിയമസഭാ അംഗങ്ങൾ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ ഡെപ്യൂട്ടിസ്പീക്കർമാർ]] racv1ro52ljcx1ry1rps2k34zo6mssw സെലീൻ ഡിയോൺ 0 342782 4621535 4620799 2026-05-22T12:36:03Z FluteWarrior 217914 Created by translating the section "Legacy" from the page "[[:en:Special:Redirect/revision/1355215238|Celine Dion]]" 4621535 wikitext text/x-wiki {{Infobox person | name = സെലീൻ ഡിയോൺ | honorific_suffix = {{Post-nominals|country=CAN|CC|OQ}} {{small|[[Legion of Honour|ChLD]]}} | image = Céline Dion 2012.jpg | caption = Dion in 2012 | birth_name = Céline Marie Claudette Dion | birth_date = {{birth date and age|df=yes|1968|3|30}} | birth_place = [[Charlemagne, Quebec]], കാനഡ <!-- | residence = [[Henderson, Nevada]], യു.എസ്. --> | parents = {{ubl|Adhémar-Charles Dion|[[Thérèse Dion|Thérèse Tanguay Dion]]}} | spouse = {{marriage|[[René Angélil]]|17 December 1994|14 January 2016|end={{abbr|wid.|widowed}}}} | children = 3 | net_worth = $630 മില്യൺ (2014-ലെ ഏകദേശ കണക്ക് പ്രകാരം)<ref name=NetWorth>{{cite web|url=http://www.billboard.com/articles/news/6334796/madonna-paul-mccartney-worlds-richest-list?utm_source=twitter|title=Madonna Bests Paul McCartney As World's Richest Recording Artist|work=Billboard|first=Joe|last=Lynch|date=2 December 2014|accessdate=3 December 2014}}</ref> | occupation = {{Flat list| *പാട്ടുകാരി<ref name=Brit>{{cite web|title=Celine Dion (Canadian Singer)|url=http://www.britannica.com/EBchecked/topic/164189/Celine-Dion|work=[[Encyclopædia Britannica]]|publisher=Encyclopædia Britannica, Inc.|accessdate=25 September 2013}}</ref> *ബിസിനസുകാരി *രചയിതാവ്‌ <ref name="evous.fr">{{cite web|url = http://www.evous.fr/musique/Marc-Dupre-Entre-deux-mondes,11068.html|title = Céline Dion signe le single de Marc Dupré : Ecoutez 'Entre deux mondes'|publisher = Evous.fr|access-date = 27 September 2014|date = 8 September 2011|language = fr|archive-date = 2016-03-07|archive-url = https://web.archive.org/web/20160307182810/http://evous.fr/musique/marc-dupre-entre-deux-mondes,11068.html|url-status = dead}}</ref> *നടി<ref>{{cite book|last=Beaunoyer|first=Jean|title=René Angélil: The Making of Céline Dion: the Unauthorized Biography|url=https://books.google.com/books?id=vME4TPh1RXwC&pg=PA233|accessdate=25 September 2013|year=2004|publisher=Dundurn|isbn=978-1-55002-489-0|page=233}}</ref>}} | years_active = 1980–ഇതുവരെ | module = {{Infobox musical artist|embed=yes | background = solo_singer | genre = {{flat list| *[[Pop music|പോപ്‌]] *[[dance-pop]] *[[soft rock]] *[[pop rock]] *[[Contemporary R&B|R&B]] }} | instrument = {{Flat list| *Vocals *പിയാനോ}} | label = {{Flat list| *[[CBS Records International|CBS]] *[[Epic Records|Epic]] *[[Columbia Records|Columbia]] *[[550 Music|550]]}} <!--This is listed chronologically. PLEASE DO NOT REVERT OR CHANGE. Sony Music Canada is a division of SME and is NOT A RECORD LABEL. --> | website = {{URL|celinedion.com}} }} }} ഒരു കനേഡിയൻ ഗായികയും ബിസിനസ്കാരിയുമാണ് '''സെലീൻ ഡിയോൺ'''. അഞ്ച് [[ഗ്രാമി]] പുരസ്കാരം നേടിയിട്ടുള്ള ഇവർ 20 കോടി ആൽബങ്ങളുടെ വിറ്റുവരവോടെ ഏറ്റവും കൂടുതൽ ആൽബങ്ങൾ വിറ്റഴിച്ചിട്ടുള്ള കനേഡിയൻ കലാകാരിയും, ലോകത്തിലെ മികച്ച കലാകാരികളിൽ ഒരാളുമാണ്. == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == == ആൽബങ്ങളും മറ്റ് സംഗീതവും == * ''Unison (1990)'' * ''Celine Dion (1992)'' * ''The Colour of My Love (1993)'' * ''Falling into You (1996)'' * ''A New Day Has Come (2002)'' == പൈതൃകം == [[പ്രമാണം:Celine_Dion_both_walk_of_fame_stars.jpg|ലഘുചിത്രം|കാനഡയുടെ വാക്ക് ഓഫ് ഫെയിമിലും ഹോളിവുഡ് വാക്ക് ഓഫ് ഫേമിലും ഡിയോണിന്റെ താരങ്ങൾഹോളിവുഡ് വാക്ക് ഓഫ് ഫെയിം]] സ്വാധീനത്തിനും പാരമ്പര്യത്തിനും ഡിയോണിനെ വിവിധ മാധ്യമങ്ങൾ "ലാസ് വെഗാസിന്റെ രാജ്ഞി" എന്ന് വിളിക്കുന്നു.<ref name="Queen of Las Vegas">{{Cite web|url=http://vegasmagazine.com/personalities/articles/celine-dion-the-queen-of-las-vegas|title=Celine Dion: The Queen of Las Vegas|access-date=23 December 2023|last=Marco della Cava|website=Vegas Magazine|publisher=Niche Media|archive-url=https://web.archive.org/web/20141223165709/http://vegasmagazine.com/personalities/articles/celine-dion-the-queen-of-las-vegas|archive-date=23 December 2014}}</ref><ref>{{Cite web|url=https://www.forbes.com/sites/larryolmsted/2021/05/13/celine-dion-returns-to-las-vegas-newest-resortalong-with-music-stars-carrie-underwood-luke-bryan-and-katy-perry/|title=Celine Dion Returns To Las Vegas' Newest Resort—Along With Carrie Underwood, Luke Bryan And Katy Perry|access-date=6 October 2021|last=Olmsted|first=Larry|website=Forbes|language=en}}</ref> വർഷങ്ങളായി തന്റെ ഫാഷൻ ശൈലി പുനർനിർമ്മിച്ചതിന് സെലിൻ ഡിയോണിന് ഫാഷൻ നിരൂപകരിൽ നിന്ന് വിവിധ പ്രശംസകൾ ലഭിച്ചിട്ടുണ്ട്. സംഗീതത്തിലെ ഏറ്റവും ഉല്ലാസഭരിതയായ വസ്ത്രനിർമ്മാതാക്കളിൽ ഒരാളായി ''വോഗ്'' അവരെ വിശേഷിപ്പിച്ചു, അവരുടെ അതിശയകരമായ ശൈലിയുടെ അർത്ഥത്തിൽ അവരുടെ മഹത്തായ ശബ്ദത്തിനും പ്രിയപ്പെട്ടവളായിരുന്നു.<ref>{{Cite web|url=https://www.vogue.com/slideshow/celine-dion-style-evolution-red-carpet-fashion|title=Tracing Céline Dion's Style Evolution, From '90s Minimalist to Modern Maximalist|access-date=28 September 2020|last=Allaire|first=Christian|date=30 March 2020|website=Vogue|language=en-us}}</ref> == അവലംബം== {{Reflist|30em |refs= <!-- <ref name="gazette.gc.ca"> {{cite web | url = http://gazette.gc.ca/archives/p1/1998/1998-05-16/pdf/g1-13220.pdf | title = Canada Gazette Part I, Vol. 132, No. 20 |last=LeBlanc |first=The Right Honourable Roméo | date = 16 May 1998 | work=gazette.gc.ca | publisher=[[Governor General of Canada]]. [[Canada Gazette]]. [[Rideau Hall|Government House]] | location = [[Ottawa]] | page = 6 (page 1096 in the [[Canada Gazette]]) | trans_title = | format=PDF ??? | accessdate =20 March 2011 | quote = | postscript = . | authorlink = Roméo LeBlanc }} </ref> <ref name="gg.ca"> {{cite web | url= http://www.gg.ca/honour.aspx?id=3837&t=12&ln=Dion | title= Céline Dion, C.C., O.Q | author=The Right Honourable Roméo LeBlanc | year= 1998 | work=gg.ca | publisher=[[Governor General of Canada]] | location = [[Ottawa]] | trans_title = | accessdate =20 March 2011 | quote = | postscript = . | authorlink = Roméo LeBlanc }} </ref> <ref name="ordre-national.gouv.qc.ca"> {{cite web | url = http://www.ordre-national.gouv.qc.ca/membres/membre-en.asp?id=86 | title = Home > Members > Céline Dion: Officer (1998) | work=ordre-national.gouv.qc.ca | publisher=[[Queen-in-Council|Governor-in-Council]] | language = French | accessdate =16 February 2012 | quote = | postscript = . }} </ref> --> }} [[വർഗ്ഗം:1968-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] gr193q0xuhegtxvpzpi1yjcrhilbv1c 4622203 4621535 2026-05-23T11:32:37Z FluteWarrior 217914 Created by translating the section "Personal life" from the page "[[:en:Special:Redirect/revision/1355215238|Celine Dion]]" 4622203 wikitext text/x-wiki {{Infobox person | name = സെലീൻ ഡിയോൺ | honorific_suffix = {{Post-nominals|country=CAN|CC|OQ}} {{small|[[Legion of Honour|ChLD]]}} | image = Céline Dion 2012.jpg | caption = Dion in 2012 | birth_name = Céline Marie Claudette Dion | birth_date = {{birth date and age|df=yes|1968|3|30}} | birth_place = [[Charlemagne, Quebec]], കാനഡ <!-- | residence = [[Henderson, Nevada]], യു.എസ്. --> | parents = {{ubl|Adhémar-Charles Dion|[[Thérèse Dion|Thérèse Tanguay Dion]]}} | spouse = {{marriage|[[René Angélil]]|17 December 1994|14 January 2016|end={{abbr|wid.|widowed}}}} | children = 3 | net_worth = $630 മില്യൺ (2014-ലെ ഏകദേശ കണക്ക് പ്രകാരം)<ref name=NetWorth>{{cite web|url=http://www.billboard.com/articles/news/6334796/madonna-paul-mccartney-worlds-richest-list?utm_source=twitter|title=Madonna Bests Paul McCartney As World's Richest Recording Artist|work=Billboard|first=Joe|last=Lynch|date=2 December 2014|accessdate=3 December 2014}}</ref> | occupation = {{Flat list| *പാട്ടുകാരി<ref name=Brit>{{cite web|title=Celine Dion (Canadian Singer)|url=http://www.britannica.com/EBchecked/topic/164189/Celine-Dion|work=[[Encyclopædia Britannica]]|publisher=Encyclopædia Britannica, Inc.|accessdate=25 September 2013}}</ref> *ബിസിനസുകാരി *രചയിതാവ്‌ <ref name="evous.fr">{{cite web|url = http://www.evous.fr/musique/Marc-Dupre-Entre-deux-mondes,11068.html|title = Céline Dion signe le single de Marc Dupré : Ecoutez 'Entre deux mondes'|publisher = Evous.fr|access-date = 27 September 2014|date = 8 September 2011|language = fr|archive-date = 2016-03-07|archive-url = https://web.archive.org/web/20160307182810/http://evous.fr/musique/marc-dupre-entre-deux-mondes,11068.html|url-status = dead}}</ref> *നടി<ref>{{cite book|last=Beaunoyer|first=Jean|title=René Angélil: The Making of Céline Dion: the Unauthorized Biography|url=https://books.google.com/books?id=vME4TPh1RXwC&pg=PA233|accessdate=25 September 2013|year=2004|publisher=Dundurn|isbn=978-1-55002-489-0|page=233}}</ref>}} | years_active = 1980–ഇതുവരെ | module = {{Infobox musical artist|embed=yes | background = solo_singer | genre = {{flat list| *[[Pop music|പോപ്‌]] *[[dance-pop]] *[[soft rock]] *[[pop rock]] *[[Contemporary R&B|R&B]] }} | instrument = {{Flat list| *Vocals *പിയാനോ}} | label = {{Flat list| *[[CBS Records International|CBS]] *[[Epic Records|Epic]] *[[Columbia Records|Columbia]] *[[550 Music|550]]}} <!--This is listed chronologically. PLEASE DO NOT REVERT OR CHANGE. Sony Music Canada is a division of SME and is NOT A RECORD LABEL. --> | website = {{URL|celinedion.com}} }} }} ഒരു കനേഡിയൻ ഗായികയും ബിസിനസ്കാരിയുമാണ് '''സെലീൻ ഡിയോൺ'''. അഞ്ച് [[ഗ്രാമി]] പുരസ്കാരം നേടിയിട്ടുള്ള ഇവർ 20 കോടി ആൽബങ്ങളുടെ വിറ്റുവരവോടെ ഏറ്റവും കൂടുതൽ ആൽബങ്ങൾ വിറ്റഴിച്ചിട്ടുള്ള കനേഡിയൻ കലാകാരിയും, ലോകത്തിലെ മികച്ച കലാകാരികളിൽ ഒരാളുമാണ്. == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == == ആൽബങ്ങളും മറ്റ് സംഗീതവും == * ''Unison (1990)'' * ''Celine Dion (1992)'' * ''The Colour of My Love (1993)'' * ''Falling into You (1996)'' * ''A New Day Has Come (2002)'' == പൈതൃകം == [[പ്രമാണം:Celine_Dion_both_walk_of_fame_stars.jpg|ലഘുചിത്രം|കാനഡയുടെ വാക്ക് ഓഫ് ഫെയിമിലും ഹോളിവുഡ് വാക്ക് ഓഫ് ഫേമിലും ഡിയോണിന്റെ താരങ്ങൾഹോളിവുഡ് വാക്ക് ഓഫ് ഫെയിം]] സ്വാധീനത്തിനും പാരമ്പര്യത്തിനും ഡിയോണിനെ വിവിധ മാധ്യമങ്ങൾ "ലാസ് വെഗാസിന്റെ രാജ്ഞി" എന്ന് വിളിക്കുന്നു.<ref name="Queen of Las Vegas">{{Cite web|url=http://vegasmagazine.com/personalities/articles/celine-dion-the-queen-of-las-vegas|title=Celine Dion: The Queen of Las Vegas|access-date=23 December 2023|last=Marco della Cava|website=Vegas Magazine|publisher=Niche Media|archive-url=https://web.archive.org/web/20141223165709/http://vegasmagazine.com/personalities/articles/celine-dion-the-queen-of-las-vegas|archive-date=23 December 2014}}</ref><ref>{{Cite web|url=https://www.forbes.com/sites/larryolmsted/2021/05/13/celine-dion-returns-to-las-vegas-newest-resortalong-with-music-stars-carrie-underwood-luke-bryan-and-katy-perry/|title=Celine Dion Returns To Las Vegas' Newest Resort—Along With Carrie Underwood, Luke Bryan And Katy Perry|access-date=6 October 2021|last=Olmsted|first=Larry|website=Forbes|language=en}}</ref> വർഷങ്ങളായി തന്റെ ഫാഷൻ ശൈലി പുനർനിർമ്മിച്ചതിന് സെലിൻ ഡിയോണിന് ഫാഷൻ നിരൂപകരിൽ നിന്ന് വിവിധ പ്രശംസകൾ ലഭിച്ചിട്ടുണ്ട്. സംഗീതത്തിലെ ഏറ്റവും ഉല്ലാസഭരിതയായ വസ്ത്രനിർമ്മാതാക്കളിൽ ഒരാളായി ''വോഗ്'' അവരെ വിശേഷിപ്പിച്ചു, അവരുടെ അതിശയകരമായ ശൈലിയുടെ അർത്ഥത്തിൽ അവരുടെ മഹത്തായ ശബ്ദത്തിനും പ്രിയപ്പെട്ടവളായിരുന്നു.<ref>{{Cite web|url=https://www.vogue.com/slideshow/celine-dion-style-evolution-red-carpet-fashion|title=Tracing Céline Dion's Style Evolution, From '90s Minimalist to Modern Maximalist|access-date=28 September 2020|last=Allaire|first=Christian|date=30 March 2020|website=Vogue|language=en-us}}</ref> == സ്വകാര്യ ജീവിതം == === ബന്ധങ്ങളും കുടുംബവും === [[പ്രമാണം:Céline_Dion_René_Angelil_2012.jpg|ലഘുചിത്രം|2012ൽ ഡിയോണും ഭർത്താവ് റെനെ ആഞ്ചലിൽ]] 2016 ജനുവരി 14 ന്, തൊണ്ടയിലെ കാൻസർ ബാധിച്ച് 73-ാം വയസ്സിൽ ആഞ്ചലിൽ മരിച്ചു. അദ്ദേഹത്തിൻ്റെ ശവസംസ്കാരം 2016 ജനുവരി 22ന് മോൺട്രിയലിലെ നോട്ടർ-ഡാം ബസിലിക്കയിൽ നടന്നു, അവിടെ 21 വർഷം മുമ്പ് അദ്ദേഹവും ഡിയോണും വിവാഹിതരായി.<ref>{{Cite web|url=https://www.cbc.ca/news/canada/rene-angelil-funeral-memorable-moments-1.3416300|title=René Angélil funeral: Memorable moments|access-date=17 September 2019|date=22 January 2016|website=CBC News}}</ref> ആൻജെലിലിൻ്റെ മരണത്തെത്തുടർന്ന്, സിഡിഎ പ്രൊഡക്ഷൻസ്, ലെസ് പ്രൊഡക്ഷൻ ഫീലിംഗ് എന്നിവയുൾപ്പെടെ തൻ്റെ മാനേജ്മെൻ്റിൻ്റെയും നിർമ്മാണ കമ്പനികളുടെയും ഏക ഉടമയും പ്രസിഡന്റുമായി ഡിയോൺ മാറി.<ref>{{Cite web|url=https://www.ic.gc.ca/app/scr/cc/CorporationsCanada/fdrlCrpDtls.html?corpId=3976564&V_TOKEN=1567473463907&crpNm=feeling%20productions&crpNmbr=&bsNmbr=|title=Government of Canada, Federal Corporation Information|access-date=17 September 2019|date=30 June 2018|website=Government of Canada}}</ref><ref>{{Cite web|url=https://www.nvsos.gov/sosentitysearch/CorpDetails.aspx?lx8nvq=pmMjwx1oal9Lgsa83iGChg%253d%253d&nt7=0|title=Nevada Secretary of State, Online Entity Search|access-date=17 September 2019|date=12 March 2019|website=Nevada Secretary of State}}</ref> === സമ്പത്ത്. === [[പ്രമാണം:Lake_Las_Vegas_South_Shore_(Rue_Mediterra_vicinity).jpg|വലത്ത്‌|ലഘുചിത്രം|ഡിയോൺ താമസിക്കുന്നതായി റിപ്പോർട്ട് ചെയ്യപ്പെടുന്ന ലാസ് വെഗാസ് തടാകത്തിന്റെ തെക്കൻ തീരത്തുള്ള ഹെൻഡേഴ്സൺ പരിസരം (ലാൻഡ്സ്കേപ്പിംഗ് മൂലം മറഞ്ഞിരിക്കുന്ന സ്ഥലം) ]] == അവലംബം== {{Reflist|30em |refs= <!-- <ref name="gazette.gc.ca"> {{cite web | url = http://gazette.gc.ca/archives/p1/1998/1998-05-16/pdf/g1-13220.pdf | title = Canada Gazette Part I, Vol. 132, No. 20 |last=LeBlanc |first=The Right Honourable Roméo | date = 16 May 1998 | work=gazette.gc.ca | publisher=[[Governor General of Canada]]. [[Canada Gazette]]. [[Rideau Hall|Government House]] | location = [[Ottawa]] | page = 6 (page 1096 in the [[Canada Gazette]]) | trans_title = | format=PDF ??? | accessdate =20 March 2011 | quote = | postscript = . | authorlink = Roméo LeBlanc }} </ref> <ref name="gg.ca"> {{cite web | url= http://www.gg.ca/honour.aspx?id=3837&t=12&ln=Dion | title= Céline Dion, C.C., O.Q | author=The Right Honourable Roméo LeBlanc | year= 1998 | work=gg.ca | publisher=[[Governor General of Canada]] | location = [[Ottawa]] | trans_title = | accessdate =20 March 2011 | quote = | postscript = . | authorlink = Roméo LeBlanc }} </ref> <ref name="ordre-national.gouv.qc.ca"> {{cite web | url = http://www.ordre-national.gouv.qc.ca/membres/membre-en.asp?id=86 | title = Home > Members > Céline Dion: Officer (1998) | work=ordre-national.gouv.qc.ca | publisher=[[Queen-in-Council|Governor-in-Council]] | language = French | accessdate =16 February 2012 | quote = | postscript = . }} </ref> --> }} [[വർഗ്ഗം:1968-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] cby5unneg0dxn19zcd9p4f78uepkvlz 4622204 4622203 2026-05-23T11:33:31Z FluteWarrior 217914 /* സ്വകാര്യ ജീവിതം */ 4622204 wikitext text/x-wiki {{Infobox person | name = സെലീൻ ഡിയോൺ | honorific_suffix = {{Post-nominals|country=CAN|CC|OQ}} {{small|[[Legion of Honour|ChLD]]}} | image = Céline Dion 2012.jpg | caption = Dion in 2012 | birth_name = Céline Marie Claudette Dion | birth_date = {{birth date and age|df=yes|1968|3|30}} | birth_place = [[Charlemagne, Quebec]], കാനഡ <!-- | residence = [[Henderson, Nevada]], യു.എസ്. --> | parents = {{ubl|Adhémar-Charles Dion|[[Thérèse Dion|Thérèse Tanguay Dion]]}} | spouse = {{marriage|[[René Angélil]]|17 December 1994|14 January 2016|end={{abbr|wid.|widowed}}}} | children = 3 | net_worth = $630 മില്യൺ (2014-ലെ ഏകദേശ കണക്ക് പ്രകാരം)<ref name=NetWorth>{{cite web|url=http://www.billboard.com/articles/news/6334796/madonna-paul-mccartney-worlds-richest-list?utm_source=twitter|title=Madonna Bests Paul McCartney As World's Richest Recording Artist|work=Billboard|first=Joe|last=Lynch|date=2 December 2014|accessdate=3 December 2014}}</ref> | occupation = {{Flat list| *പാട്ടുകാരി<ref name=Brit>{{cite web|title=Celine Dion (Canadian Singer)|url=http://www.britannica.com/EBchecked/topic/164189/Celine-Dion|work=[[Encyclopædia Britannica]]|publisher=Encyclopædia Britannica, Inc.|accessdate=25 September 2013}}</ref> *ബിസിനസുകാരി *രചയിതാവ്‌ <ref name="evous.fr">{{cite web|url = http://www.evous.fr/musique/Marc-Dupre-Entre-deux-mondes,11068.html|title = Céline Dion signe le single de Marc Dupré : Ecoutez 'Entre deux mondes'|publisher = Evous.fr|access-date = 27 September 2014|date = 8 September 2011|language = fr|archive-date = 2016-03-07|archive-url = https://web.archive.org/web/20160307182810/http://evous.fr/musique/marc-dupre-entre-deux-mondes,11068.html|url-status = dead}}</ref> *നടി<ref>{{cite book|last=Beaunoyer|first=Jean|title=René Angélil: The Making of Céline Dion: the Unauthorized Biography|url=https://books.google.com/books?id=vME4TPh1RXwC&pg=PA233|accessdate=25 September 2013|year=2004|publisher=Dundurn|isbn=978-1-55002-489-0|page=233}}</ref>}} | years_active = 1980–ഇതുവരെ | module = {{Infobox musical artist|embed=yes | background = solo_singer | genre = {{flat list| *[[Pop music|പോപ്‌]] *[[dance-pop]] *[[soft rock]] *[[pop rock]] *[[Contemporary R&B|R&B]] }} | instrument = {{Flat list| *Vocals *പിയാനോ}} | label = {{Flat list| *[[CBS Records International|CBS]] *[[Epic Records|Epic]] *[[Columbia Records|Columbia]] *[[550 Music|550]]}} <!--This is listed chronologically. PLEASE DO NOT REVERT OR CHANGE. Sony Music Canada is a division of SME and is NOT A RECORD LABEL. --> | website = {{URL|celinedion.com}} }} }} ഒരു കനേഡിയൻ ഗായികയും ബിസിനസ്കാരിയുമാണ് '''സെലീൻ ഡിയോൺ'''. അഞ്ച് [[ഗ്രാമി]] പുരസ്കാരം നേടിയിട്ടുള്ള ഇവർ 20 കോടി ആൽബങ്ങളുടെ വിറ്റുവരവോടെ ഏറ്റവും കൂടുതൽ ആൽബങ്ങൾ വിറ്റഴിച്ചിട്ടുള്ള കനേഡിയൻ കലാകാരിയും, ലോകത്തിലെ മികച്ച കലാകാരികളിൽ ഒരാളുമാണ്. == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == == ആൽബങ്ങളും മറ്റ് സംഗീതവും == * ''Unison (1990)'' * ''Celine Dion (1992)'' * ''The Colour of My Love (1993)'' * ''Falling into You (1996)'' * ''A New Day Has Come (2002)'' == പൈതൃകം == [[പ്രമാണം:Celine_Dion_both_walk_of_fame_stars.jpg|ലഘുചിത്രം|കാനഡയുടെ വാക്ക് ഓഫ് ഫെയിമിലും ഹോളിവുഡ് വാക്ക് ഓഫ് ഫേമിലും ഡിയോണിന്റെ താരങ്ങൾഹോളിവുഡ് വാക്ക് ഓഫ് ഫെയിം]] സ്വാധീനത്തിനും പാരമ്പര്യത്തിനും ഡിയോണിനെ വിവിധ മാധ്യമങ്ങൾ "ലാസ് വെഗാസിന്റെ രാജ്ഞി" എന്ന് വിളിക്കുന്നു.<ref name="Queen of Las Vegas">{{Cite web|url=http://vegasmagazine.com/personalities/articles/celine-dion-the-queen-of-las-vegas|title=Celine Dion: The Queen of Las Vegas|access-date=23 December 2023|last=Marco della Cava|website=Vegas Magazine|publisher=Niche Media|archive-url=https://web.archive.org/web/20141223165709/http://vegasmagazine.com/personalities/articles/celine-dion-the-queen-of-las-vegas|archive-date=23 December 2014}}</ref><ref>{{Cite web|url=https://www.forbes.com/sites/larryolmsted/2021/05/13/celine-dion-returns-to-las-vegas-newest-resortalong-with-music-stars-carrie-underwood-luke-bryan-and-katy-perry/|title=Celine Dion Returns To Las Vegas' Newest Resort—Along With Carrie Underwood, Luke Bryan And Katy Perry|access-date=6 October 2021|last=Olmsted|first=Larry|website=Forbes|language=en}}</ref> വർഷങ്ങളായി തന്റെ ഫാഷൻ ശൈലി പുനർനിർമ്മിച്ചതിന് സെലിൻ ഡിയോണിന് ഫാഷൻ നിരൂപകരിൽ നിന്ന് വിവിധ പ്രശംസകൾ ലഭിച്ചിട്ടുണ്ട്. സംഗീതത്തിലെ ഏറ്റവും ഉല്ലാസഭരിതയായ വസ്ത്രനിർമ്മാതാക്കളിൽ ഒരാളായി ''വോഗ്'' അവരെ വിശേഷിപ്പിച്ചു, അവരുടെ അതിശയകരമായ ശൈലിയുടെ അർത്ഥത്തിൽ അവരുടെ മഹത്തായ ശബ്ദത്തിനും പ്രിയപ്പെട്ടവളായിരുന്നു.<ref>{{Cite web|url=https://www.vogue.com/slideshow/celine-dion-style-evolution-red-carpet-fashion|title=Tracing Céline Dion's Style Evolution, From '90s Minimalist to Modern Maximalist|access-date=28 September 2020|last=Allaire|first=Christian|date=30 March 2020|website=Vogue|language=en-us}}</ref> == സ്വകാര്യ ജീവിതം == === ബന്ധങ്ങളും കുടുംബവും === [[പ്രമാണം:Céline_Dion_René_Angelil_2012.jpg|ലഘുചിത്രം|2012ൽ ഡിയോണും ഭർത്താവ് റെനെ ആഞ്ചലിൽ]] 2016 ജനുവരി 14 ന്, തൊണ്ടയിലെ കാൻസർ ബാധിച്ച് 73-ാം വയസ്സിൽ ആഞ്ചലിൽ മരിച്ചു. അദ്ദേഹത്തിൻ്റെ ശവസംസ്കാരം 2016 ജനുവരി 22ന് മോൺട്രിയലിലെ നോട്ടർ-ഡാം ബസിലിക്കയിൽ നടന്നു, അവിടെ 21 വർഷം മുമ്പ് അദ്ദേഹവും ഡിയോണും വിവാഹിതരായി.<ref>{{Cite web|url=https://www.cbc.ca/news/canada/rene-angelil-funeral-memorable-moments-1.3416300|title=René Angélil funeral: Memorable moments|access-date=17 September 2019|date=22 January 2016|website=CBC News}}</ref> ആൻജെലിലിൻ്റെ മരണത്തെത്തുടർന്ന്, സിഡിഎ പ്രൊഡക്ഷൻസ്, ലെസ് പ്രൊഡക്ഷൻ ഫീലിംഗ് എന്നിവയുൾപ്പെടെ തൻ്റെ മാനേജ്മെൻ്റിൻ്റെയും നിർമ്മാണ കമ്പനികളുടെയും ഏക ഉടമയും പ്രസിഡന്റുമായി ഡിയോൺ മാറി.<ref>{{Cite web|url=https://www.ic.gc.ca/app/scr/cc/CorporationsCanada/fdrlCrpDtls.html?corpId=3976564&V_TOKEN=1567473463907&crpNm=feeling%20productions&crpNmbr=&bsNmbr=|title=Government of Canada, Federal Corporation Information|access-date=17 September 2019|date=30 June 2018|website=Government of Canada}}</ref><ref>{{Cite web|url=https://www.nvsos.gov/sosentitysearch/CorpDetails.aspx?lx8nvq=pmMjwx1oal9Lgsa83iGChg%253d%253d&nt7=0|title=Nevada Secretary of State, Online Entity Search|access-date=17 September 2019|date=12 March 2019|website=Nevada Secretary of State}}</ref>[[പ്രമാണം:Lake_Las_Vegas_South_Shore_(Rue_Mediterra_vicinity).jpg|വലത്ത്‌|ലഘുചിത്രം|ഡിയോൺ താമസിക്കുന്നതായി റിപ്പോർട്ട് ചെയ്യപ്പെടുന്ന ലാസ് വെഗാസ് തടാകത്തിന്റെ തെക്കൻ തീരത്തുള്ള ഹെൻഡേഴ്സൺ പരിസരം (ലാൻഡ്സ്കേപ്പിംഗ് മൂലം മറഞ്ഞിരിക്കുന്ന സ്ഥലം) ]] == അവലംബം== {{Reflist|30em |refs= <!-- <ref name="gazette.gc.ca"> {{cite web | url = http://gazette.gc.ca/archives/p1/1998/1998-05-16/pdf/g1-13220.pdf | title = Canada Gazette Part I, Vol. 132, No. 20 |last=LeBlanc |first=The Right Honourable Roméo | date = 16 May 1998 | work=gazette.gc.ca | publisher=[[Governor General of Canada]]. [[Canada Gazette]]. [[Rideau Hall|Government House]] | location = [[Ottawa]] | page = 6 (page 1096 in the [[Canada Gazette]]) | trans_title = | format=PDF ??? | accessdate =20 March 2011 | quote = | postscript = . | authorlink = Roméo LeBlanc }} </ref> <ref name="gg.ca"> {{cite web | url= http://www.gg.ca/honour.aspx?id=3837&t=12&ln=Dion | title= Céline Dion, C.C., O.Q | author=The Right Honourable Roméo LeBlanc | year= 1998 | work=gg.ca | publisher=[[Governor General of Canada]] | location = [[Ottawa]] | trans_title = | accessdate =20 March 2011 | quote = | postscript = . | authorlink = Roméo LeBlanc }} </ref> <ref name="ordre-national.gouv.qc.ca"> {{cite web | url = http://www.ordre-national.gouv.qc.ca/membres/membre-en.asp?id=86 | title = Home > Members > Céline Dion: Officer (1998) | work=ordre-national.gouv.qc.ca | publisher=[[Queen-in-Council|Governor-in-Council]] | language = French | accessdate =16 February 2012 | quote = | postscript = . }} </ref> --> }} [[വർഗ്ഗം:1968-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] bl43kpvi18n4ejghfw55xl2ks7ehjyk ഫർസാൻ ദ്വീപ് 0 355499 4622152 4587419 2026-05-23T06:28:43Z ~2026-12275-19 214477 ചെറിയ തിരുത്ത് 4622152 wikitext text/x-wiki {{prettyurl|Farasan Island}} {{Infobox settlement | official_name = ഫർസാൻ | image_skyline = Fursan Port.jpg | image_map = | mapsize = 250px | map_caption = Location in the Kingdom of Saudi Arabia | latd = | latm = | lats = | latNS = N | longd = | longm = | longs = | longEW = E | subdivision_type = Country | subdivision_name = {{flag|Saudi Arabia}} | subdivision_type1 = [[Provinces of Saudi Arabia|Province]] | subdivision_name1 = [[ജിസാൻ പ്രവിശ്യ]] | leader_title = | leader_name = | area_magnitude = | area_total_km2 = 686 | area_land_km2 = | area_water_km2 = | area_note = | population_total = 20000 | population_as_of = 2010 | population_density_km2 = | unemployment_rate = | footnotes = | | utc_offset = +3 | timezone = | latitude = | longitude = | name = }} '''ഫർസാൻ ദ്വീപ്''' ({{lang-ar|جزيرة فرسان}}; [[:en:Arabic_transliteration|പരിഭാഷ]]: ജസീറാത്ത് ഫർസാൻ) [[ചെങ്കടൽ|ചെങ്കടലി‍ൽ]] സ്ഥിതി ചെയ്യുന്ന [[സൗദി അറേബ്യ]]<nowiki/>യുടെ ഉടമസ്ഥതയിലുള്ള ഫർസാൻ ദ്വീപസമൂഹങ്ങളിലെ ദ്വീപാണ്. [[ചെങ്കടൽ|ചെങ്കടലിലെ]] [[പവിഴപ്പുറ്റ്|പവിഴപ്പുറ്റിൽ]] നിന്നു രൂപം കൊണ്ട ഈ ദ്വീപസമൂഹത്തിൽ ആകെ 84 ദ്വീപുകളാണുള്ളത്. ഈ ദ്വീപസമൂഹത്തിലെ ഏറ്റവും വലിയ ദ്വീപാണ് ഫർസാൻ. സൗദി അറേബ്യയുടെ തെക്കുപടിഞ്ഞാറേ ദിക്കിൽ, [[ജിസാൻ]] തീരത്തു നിന്ന് ഏകദേശം 50 കിലോമീറ്റർ അകലത്തിലാണ് ഈ ദ്വീപ് സ്ഥിതി ചെയ്യുന്നത്. ഫർസാൻ ദ്വീപിലെ ഒരു പ്രധാന ആകർഷണം ഇവിടുത്തെ അതീവ സുന്ദരങ്ങളായ കടൽത്തീരങ്ങളാണ്. [[ചെങ്കടൽ|ചെങ്കടലിലെ]] ഈ മനോഹര തീരങ്ങളിൽ നീരാടുവാനും കടലിൽ മുങ്ങി വർണ്ണവൈവിധ്യമുള്ള വിവിധയിനം മത്സ്യങ്ങളും വർണ്ണാഭമായ [[പവിഴപ്പുറ്റ്|പവിഴപ്പുറ്റുകളും]] ദർശിക്കുവാൻ സഞ്ചാരികളുടെ പറുദീസയായ ഇവിടേയ്ക്ക് ലോകത്തിൻറെ നാനാഭാഗങ്ങളിൽനിന്ന് അനേകം സഞ്ചാരികൾ എത്തിച്ചേരാറുണ്ട്. ജീവശാസ്ത്രപരമായ വൈവിധ്യം നിലനിൽക്കുന്ന ഇവിടെ മുങ്ങൽ വിദഗ്ദ്ധരായവർക്ക് കടലിനടിയിലെ മനോഹര ദൃശ്യങ്ങൾ പകർത്തുവാൻ പറ്റിയ സൗകര്യങ്ങളാണുള്ളത്. [[എരിട്രിയ|എറിത്രിയൻ]] തുറമുഖമായ “[[മസാവ]]” യിലേയ്ക്ക് ഇവിടെ നിന്ന് 160 നോട്ടിക്കൽ മൈൽ (298 കിലോമീറ്റർ) ദൂരമാണുള്ളത്. ദ്വീപിലേയ്ക്കുള്ള യാത്രാമദ്ധ്യേ ജനവാസമില്ലാത്ത ഏതാനും ചെറു ദ്വീപുകൾ സഞ്ചാരികൾക്ക് കാണുവാൻ സാധിക്കുന്നതാണ്. ഈ ചെറുദ്വീപുകളിൽ ചിലത് പാറക്കെട്ടുകൾ മാത്രമുള്ളതും മറ്റു ചിലത് പവിഴപ്പുറ്റിനു മദ്ധ്യത്തിലുള്ള വെറും മണൽത്തിട്ടകളുമാണ്. ഈ മേഖലയിലെ കടൽ വളരെ ശാന്തവുമാണ്. == ഭൂമിശാസ്ത്രം == ഫർസാൻ ദ്വീപ് സ്ഥിതി ചെയ്യുന്ന അക്ഷാംശ രേഖാംശങ്ങൾ {{Coord|16|42|21|N|41|59|0|E|display=inline,title}} ആണ്. ദ്വീപിലെ പ്രധാന പട്ടണം ഫർസാൻ ആണ്. ജൈവവൈവിദ്ധ്യം കാത്തു സൂക്ഷിക്കുന്നതിന് ദ്വീപിനു ചുറ്റിലുമായി "ഫർസാൻ ഐലൻറ് മറൈൻ സാങ്ച്വരി" രൂപീകരിച്ചിരിച്ചിരിക്കുന്നു. സുന്ദരമായി കൊത്തുപണികൾ ചെയ്ത കവാടങ്ങൾ സ്ഥിതി ചെയ്യുന്ന ഏതാനും പുരാവസ്തു ഖനന പ്രദേശങ്ങൾ ഇവിടെയുണ്ട്. കല്ലുകളിൽ അതിസൂക്ഷ്മമായി നടത്തിയ കൊത്തു പണികളുള്ള സുന്ദരമായ എടുപ്പുകൾ ഈ പ്രദേശത്തെ പള്ളികളിലും വീടുകളിലും മറ്റു കെട്ടിടങ്ങളിലും ദർശിക്കുവാൻ സാധിക്കുന്നതാണ്. === '''അൽ-ഖസ്സർ വില്ലേജ്''' === ഫർസാനിലെ [[ഈന്തപ്പന|ഈന്തപ്പനകൾ]] ഇടതിങ്ങി വളരുന്ന ഒരു പുരാതന ഗ്രാമമാണിത്. വില്ലേജിനു സമീപം കെദ്മി എന്ന സ്ഥലത്ത് സമചതുരാകൃതിയും ദീർഘചതുരാകൃതിയുമായ അനേകം ബൃഹത്തായ ശിലകൾ കാണപ്പെടുന്നു. ഈ നിർമ്മിതികൾ പുരാതന റോമൻ സ്തൂപങ്ങളെയും സ്തംഭങ്ങളെയും അനുസ്മരിപ്പിക്കുന്നതാണ്. ഈ മേഖലയിൽ ധാരാളം പരമ്പരാഗത ശൈലിയിൽ നിർമ്മിച്ച ഭവനങ്ങൾ കാണാൻ സാധിക്കുന്നു. പുരാതനമായ ഈ ഭവനങ്ങളിൽ ധാരാളം കൊത്തുപണികളും കാണപ്പെടുന്നു. ഈ ഭവനങ്ങൾ പഴയകാലത്തുണ്ടായിരുന്ന കച്ചവടക്കാരുടെയും [[മുത്ത്|മുത്തു]] വ്യാപാരം നടത്തിയിരുന്നവരുടേതുമായിരുന്നു === ഒട്ടമൻ കോട്ട === മേഖലയുടെ വടക്കൻ ഭാഗത്ത് 400 മീറ്റർ ഉയരമുള്ള മലയിൽ സ്ഥിതി ചെയ്യുന്ന തുർക്കികളുടെ കാലത്തെ കോട്ട പഴയകാലത്ത് പട്ടാളക്കാർ നിരീക്ഷണ പ്രവർത്തനങ്ങൾക്ക് ഉപയോഗിച്ചിരുന്നതാണ്. ഇവിടെ നിന്ന് ദ്വീപിലെ മിക്കവാറുമുള്ള തീരപ്രദേശങ്ങൾ നിരീക്ഷിക്കുവാൻ സാധിച്ചിരുന്നു. &nbsp; === '''ഫർസാനിലെ [[കണ്ടൽക്കാട്|കണ്ടൽ]] വനം''' === ഫർസാൻ ദ്വീപിൻറെ വടക്കുഭാഗത്തായിട്ടാണ് [[കണ്ടൽക്കാട്|കണ്ടൽ വനങ്ങൾ]] സ്ഥിതി ചെയ്യുന്നത്. വിവിധയിനം പക്ഷിമൃഗാദികൾ ഈ കണ്ടൽകാടുകൾക്കിടയിൽ ജീവിക്കുന്നു. ദേശാടനപ്പക്ഷികളുടെ ഒരു പ്രധാന പ്രജനന കേന്ദ്രം ഫർസാൻ ദ്വീപിലെ ഈ കണ്ടൽവനങ്ങളാണ്. ദേശാടനപ്പക്ഷികൾ ചേക്കേറുന്നതും കൂടുകെട്ടുന്നതും പ്രധാനമായി ഫർസാൻ ദ്വീപിലെ ഈ പ്രദേശത്താണ്. ഈ കാടുകളുടെ ധാരാളമായുള്ള വേരുപടലങ്ങൾക്കിടയിൽ വളരെയധികം സൂക്ഷ്മ ജീവികൾ കാണപ്പെടുന്നതിനാൽ ഇത് ധാരാളമായി മത്സ്യങ്ങളെ ഇവിടേയ്ക്ക് ആകർഷിക്കുന്നു. കണ്ടൽച്ചെടിയുടെ ശിഖരങ്ങളിൽ നിന്നു താഴേക്കു വളർന്ന് ചതുപ്പു നിലത്തു കൂടി താണിറങ്ങുന്ന താങ്ങുവേരുകൾ ഈ സസ്യങ്ങളുടെ മാത്രം പ്രത്യേകതയാണ്. കണ്ടൽ വനങ്ങൾക്കുള്ളിലൂടെ കൂടിപ്പിരിഞ്ഞു കിടക്കുന്ന ജലമാർഗ്ഗങ്ങളും ചെറു തടാകങ്ങളും സഞ്ചാരികളെ വളരെയധികം ആകർഷിക്കുന്നു.&nbsp; == '''കാലാവസ്ഥ''' == വെള്ളത്താൽ ചുറ്റപ്പെട്ടു കിടക്കുന്നതിനാൽ വർഷം മുഴുവൻ മിതമായ കാലാവസ്ഥായാണിവിടെ അനുഭവപ്പെടാറുള്ളത്. വേനൽക്കാലത്തെ ശരാശരി താപനില 66% ആർദ്രതയോടെ 30°C (86 F) ആണ്.&nbsp; == സംസ്കാരം == ഈ ദ്വീപിൽ വസിക്കുന്ന ജനങ്ങളിൽ ഏറിയ പങ്കും പരമ്പരാഗതമീൻ പിടുത്തക്കാരോ കടലിൽ മുങ്ങി മുത്തുവാരുന്നവരോ ആണ്. ഇതൊരു സംരക്ഷത പ്രദേശമാണ്.&nbsp; == '''പ്രാദേശിക ആഘോഷങ്ങൾ''' == === '''ഹരീദ് ([[തത്തമത്സ്യം|പാരറ്റ് ഫിഷ്]]) ആഘോഷം''' === ഫർസാൻ ദ്വീപ് ലോകത്തിലെ മറ്റു ദ്വീപുകളിൽ നിന്നു ചില കാര്യങ്ങളിൽ വ്യതിരിക്തമായിരിക്കുന്നു. അതിലൊന്ന് ഇവിടെ നടത്തപ്പെടുന്ന ഹരീദ് ([[തത്തമത്സ്യം|പാരറ്റ് ഫിഷ്]]) ഫെസ്റ്റിവൽ ആണ്. വിനോദസഞ്ചാരകാലത്ത് ഈ മേഖലയിലെ ഒരു പ്രധാന ആഘോഷമാണിത്. ഹരീദ് മത്സ്യം അതീവരുചികരമായ ഒരു മത്സ്യമാണ്. ഈ മത്സ്യത്തിൻറെ തത്തയുമായുള്ള മുഖ സാദൃശ്യത്താൽ തദ്ദേശീയർ ഈ മത്സ്യത്തിന് കടൽതത്ത (സീ പാരറ്റ്) എന്നു പറയാറുണ്ട്. ഇത്തരം &nbsp;മത്സ്യങ്ങൾ എല്ലാ വർഷങ്ങളിലും ഏപ്രിൽ, മെയ് മാസങ്ങളിൽ ആഴം കുറഞ്ഞ ഈ തീരത്ത് എത്തുകയും അവയുടെ വരവു പ്രമാണിച്ച് ദേശവാസികൾ ഇതൊരു ആഘോഷമായി കൊണ്ടാടുകയും ചെയ്യുന്നു. &nbsp;&nbsp; == സസ്യജന്തുജാലങ്ങൾ == വിവിധയിനം ദേശാടനക്കിളികളെ ഫർസാൻ ദ്വീപിൽ കണ്ടുവരുന്നു. ദ്വീപ് ദേശാടനക്കിളികളുടെ ഒരു പ്രജനന കേന്ദ്രവും കൂടിയാണ് അതുപോലെ തന്നെ അറേബ്യൻ ചെങ്കവരിമാനിൻറ സ്വാഭാവിക ആവാസ കേന്ദ്രവുമാണീ പ്രദേശം. കുതിച്ചോടുന്ന 500 ൽ ഏറെയുള്ള അറേബ്യൻ മാൻകൂട്ടങ്ങളെ അപൂർവ്വമായി കാണാൻ സാധിക്കുന്നതാണ്. സൌദി വൈൽഡ് ലൈഫ് അതോറിറ്റി (SWA) യുടെ മേൽനോട്ടത്തിൽ ഈ ആവാസവ്യവസ്ഥ സംരക്ഷിച്ചുവരുന്നു. ആൾ താമസമില്ലാത്ത അനേകം ദ്വീപുകളിൽ ദേശാടനപ്പക്ഷികൾ കൂടുകൂട്ടി താമസിക്കുന്നു. പച്ചപ്പു കുറഞ്ഞ ദ്വീപാണെങ്കിലും വളരെ മനോഹരമായി കടൽത്തീരങ്ങളാണിവിടെയുള്ളത്. == ദ്വീപിലേയ്ക്കുള്ള യാത്രാ സൌകര്യം == ജിസാൻ പട്ടണത്തിൽ നിന്ന് ഫർസാൻ ദ്വീപിലേയ്ക്കുള്ള ദൂരം ഏകദേശം 50 കിലോമീറ്റർ (31 മൈൽ) ആണ്. സർക്കാർ ഉടമസ്ഥതിയിലുള്ള കടത്തു ബോട്ടുകളും സ്വകാര്യ ബോട്ടുകളും ഏതാനും വിനോദസഞ്ചാരക്കപ്പലുകളും ഇവിടേയ്ക്കു സർവ്വീസ് നടത്തുന്നുണ്ട്. ഈ ദ്വീപിലേയ്ക്കുള്ള യാത്ര തികച്ചും സൌജന്യമാക്കിയിരിക്കുന്നു. മഹാമനസ്‌കരായ ഇവിടുത്തെ രാജാക്കന്മാരുടെ ജനങ്ങളോടുള്ള സ്നേഹവായ്പായി ഇതിനെ കണക്കാക്കാം. രണ്ടു കപ്പലുകൾ ദിവസവും ഓരോ വശത്തേയ്ക്കും സർവ്വീസ് നടത്തുന്നു. ഒന്നരമണിക്കൂർ സമയം കൊണ്ട് ജിസാൻ തുറമുഖത്തുനിന്ന് ദ്വീപിലെത്തിച്ചേരാൻ സാധിക്കും. കപ്പൽ സർവ്വീസ് എല്ലാ ദിവസങ്ങളിലും ഫർസാനിൽ നിന്ന് ജിസാനിലേയ്ക്ക് രാവിലെ 7-30 മുതൽ 3-30 വരെയും ജിസാനിൽ നിന്നു ഫർസാനിലേയ്ക്ക് പകൽ സമയം 7-30 മുതൽ 3-30 വരെയും ഉണ്ട്.കപ്പൽ പുറപ്പെടുന്നതിന് ഒരു മണിക്കൂർ മുമ്പ് ഐ.ഡി. കാർഡ് സമർപ്പിച്ച് പോർട്ട് കൌണ്ടറിൽ നിന്ന് യാത്രയ്ക്കുള്ള ടിക്കറ്റുകൾ കരസ്ഥമാക്കാവുന്നതാണ്. ടിക്കറ്റ് മുൻകൂർ ബുക്കിംഗിനും സൌകര്യമേർപ്പെടുത്തിയിരിക്കുന്നു. ദ്വീപിലേയ്ക്ക് വാഹനം കൊണ്ടുപോകാനും കപ്പലിൽ സൌകര്യമുണ്ട്, പക്ഷേ പരിമിതമായ സ്ഥലമേ കപ്പലിൽ ഇതിനായിട്ടുള്ളൂ.&nbsp; കപ്പലുകളിൽ ഏകദേശം 35 മുതൽ 40 വരെ കാറുകളും അറുപതിനു മേലുള്ള യാത്രക്കാരെയും വഹിക്കുവാൻ സാധിക്കും. ജിസാൻ പട്ടണത്തിൽ നിന്നും ഫർസാൻ ദ്വീപിലേയ്ക്ക് കടത്തു ബോട്ടുകളിൽ ഒന്നര മണിക്കൂർ മുതൽ രണ്ടു മണിക്കൂർ വരെ സമയം സഞ്ചരിച്ച് എത്തിച്ചേരാൻ സാധിക്കുന്നു. 12 പേരെ വഹിച്ചു കൊണ്ടു പോകാവുന്ന ചെറു ബോട്ടുകളിൽ സ്വകാര്യ വ്യക്തികളുടേതായുണ്ട്. 300 റിയാലിന് ഇതു വാടകയ്ക്ക് എടുക്കാൻ സാധിക്കും. ബോട്ടുകൾ സമയനിബന്ധനയില്ലാതെ ദ്വീപിൽ നിന്നു ജിസാനിലേയ്ക്കും തിരിച്ചും ആളുകളുടെ ആവശ്യാനുസരണം സർവ്വീസ് നട്ത്തുന്നു. ഏകദേശം ഒരു മണിക്കൂർ സമയം കൊണ്ട് ഇവയിൽ ദ്വീപിലെത്താവുന്നതാണ്. == ചികിത്സാ സൌകര്യങ്ങൾ == സൌദി അറേബ്യൻ സർക്കാർ 1986 ൽ ഇവിടെ "ഫർസാൻ ജനറൽ ഹോസ്പിറ്റൽ" എന്ന പേരിൽ ഒരു ആശുപത്രി നിർമ്മിച്ചിട്ടുണ്ട്. വിവിധ ചികിത്സാ രംഗങ്ങളിൽ വൈദഗ്ദ്ധ്യമുള്ള 35 ഡോക്ടർമാരുടെ ഒരു സംഘം ഇവിടെ സേവനമനുഷ്ടിക്കുന്നു. എക്സ്-റേ, അൾട്രാ സൌണ്ട് സ്കാനിംഗ് സൌകര്യങ്ങളും നിലവിലുണ്ട്. == പുറത്തേയ്ക്കുള്ള കണ്ണികൾ == * {{cite web|url=http://tourismmap.scta.gov.sa/Tour/VirtualTour_En/Jazera_Farasan_En/_flash/Final_Jazera_Farasan_En.html|title=ഫർസാനിലേയ്ക്കുള്ള സാങ്കൽപ്പിക യാത്ര|author=മൊഹ്സിൻ താര്ഖ്|access-date=2016-11-14|archive-date=2018-01-06|archive-url=https://web.archive.org/web/20180106100901/http://tourismmap.scta.gov.sa/Tour/VirtualTour_En/Jazera_Farasan_En/_flash/Final_Jazera_Farasan_En.html|url-status=dead}} {{link language|en}} * [http://www.farasan.org/ ഫർസാൻ ദ്വീപ് ഔദ്യോഗിക വെബ് പേജ്] {{Webarchive|url=https://web.archive.org/web/20121102023418/http://www.farasan.org/ |date=2012-11-02 }} {{link language|ar}} * {{cite web|url=http://www.saudiaramcoworld.com/issue/200001/dreaming.of.farasan.htm|title=Dreaming of Farasan|author=Erik Bjurström|date=January–February 2000|work=Saudi Aramco World|accessdate=September 26, 2012|archive-date=2012-07-16|archive-url=https://web.archive.org/web/20120716222418/http://www.saudiaramcoworld.com/issue/200001/dreaming.of.farasan.htm|url-status=dead}} {{link language|en}} * {{cite web|url=http://www.splendidarabia.com/location/jizan/farasan/|title=ഫർസാൻ ദ്വീപ്, ജിസാൻ|author=|date=|work=സ്പ്ലൻഡിഡ് അറേബ്യ|accessdate=September 26, 2012|archive-date=2012-06-14|archive-url=https://web.archive.org/web/20120614121437/http://splendidarabia.com/location/jizan/farasan/|url-status=dead}} {{link language|en}} * [http://www.flickr.com/photos/meesho/39204142/in/set-905530/ ഫർസാൻ ദ്വീപിലെ ബീച്ച്] * [http://www.flickr.com/photos/meesho/41261744/in/photostream/ ഫർസാൻ ദ്വീപിലെ പൌരാണിക അവശിഷ്ടങ്ങളുടെ ചിത്രങ്ങൾ] [[വർഗ്ഗം:സൗദി അറേബ്യ]] iz9ke3dgc8pkzlwgoyhnup7t6r6oe32 സുശീല നയ്യാർ 0 368412 4622208 3599549 2026-05-23T11:41:11Z FluteWarrior 217914 /* growthexperiments-addlink-summary-summary:2|1|0 */ 4622208 wikitext text/x-wiki [[File:Dr Sushila Nayyar, 1947.jpg|thumb|ഡോ. സുശീല നയ്യാർ, 1947 ൽ]] പ്രസിദ്ധ ഗാന്ധിയനും ഇന്ത്യൻ സ്വാത്രന്ത്ര്യ സേനാനിയുമായിരുന്നു. സുശീല&nbsp; നയ്യാർ ഇംഗ്ലീഷ്: Sushila Nayyar. (1914 – 2000) ഗാന്ധിയുടെ സ്വകാര്യവൈദ്യനായിരുന്നു == ജീവിതരേഖ == 1914 ൽ ഇന്നത്തെ പാകിസ്താനിലായിരുന്ന കുഞ്ചാ എന്ന സ്ഥലത്താണ് സുശീല ജനിച്ചത്. സുശീലയുടെ സഹോദരന്ന് പ്യാരേലാൽ നയ്യാർ ഗാന്ധിജിയുടെ സഹായിയായിരുന്നു. ഡൽഹിയിലെ ലേഡി ഹാർഡിങ്ങ് മെഡിക്കൽ കോളേജിൽ നിന്ന് വൈദ്യശാസ്ത്രത്തിൽ ബിരുദം നേടി.&nbsp; ർദായിൽ പൊട്ടിപ്പുറപ്പെട്ട [[കോളറ]] രോഗം ഏതാണ്ട് ഒറ്റക്കുതന്നെ നിർമ്മാർജ്ജനം ചെയ്യാൻ സുശീലക്കു കഴിഞ്ഞു. 1942 ൽ എം.ഡി. പഠനം പൂർത്തിയാക്കിയ സുശീല വീണ്ടും ഗാന്ധിജിയുടെ സേവാശ്രമത്തിൽ മടങ്ങിയെത്തി [[ക്വിറ്റ് ഇന്ത്യ പ്രസ്ഥാനം|ക്വിറ്റ് ഇന്ത്യാ സമരത്തിൽ]] പങ്കെടുത്തു. == റഫറൻസുകൾ == [[വർഗ്ഗം:1914-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:2000-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ഗാന്ധിയർ]] [[വർഗ്ഗം:ഇന്ത്യയുടെ ആരോഗ്യമന്ത്രിമാർ]] [[വർഗ്ഗം:ഇന്ത്യയിലെ വനിതാ ഭിഷഗ്വരർ]] [[വർഗ്ഗം:ജനതാ പാർട്ടി നേതാക്കൾ]] [[വർഗ്ഗം:ഉത്തർപ്രദേശ് രാഷ്ട്രീയത്തിലെ സ്ത്രീകൾ]] q1f0529aer08qfqlo1pyhvmss0bmvqg ഫലകം:Date and time templates 10 376091 4621790 4428259 2025-01-30T17:58:46Z en>JMF 0 /* Individual templates */ {{Infobox calendar date today}} 4621790 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude> === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|DATE}} (prefixed by date=)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}} |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> m5ix5jxesb7xr1puavo1xjj49rx9ch8 4621791 4621790 2025-02-20T15:10:28Z en>Ysangkok 0 add mention of parser function 4621791 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude> === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|DATE}} (prefixed by date=)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}} |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> lt251mbk9eoi4ozlzvun2e95ujct6aw 4621792 4621791 2025-03-10T06:41:23Z en>Raph Williams65 0 Added 4621792 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude> === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|DATE}} (prefixed by date=)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}} |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{tl|User:Raph Williams65/digiclock}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> cccwi9y6atrid86qlioyu494lw1g3dw 4621793 4621792 2025-03-10T06:42:35Z en>Raph Williams65 0 /* Individual templates */ 4621793 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude> === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|DATE}} (prefixed by date=)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}} |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{u|User:Raph Williams65/digiclock}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> mcr69roe1483753idx57lveyr0z3q8o 4621794 4621793 2025-03-10T06:44:09Z en>Raph Williams65 0 /* Individual templates */ 4621794 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude> === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|DATE}} (prefixed by date=)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}} |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{<nowiki></nowiki>{{u|Raph Williams65/digiclock}}<nowiki></nowiki>}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> a3p8k9dxj9q4w0l7ytfvi8aq8qivku5 4621795 4621794 2025-07-11T04:22:44Z en>Beland 0 {{VTE}} 4621795 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude>{{VTE}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|DATE}} (prefixed by date=)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}} |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{<nowiki></nowiki>{{u|Raph Williams65/digiclock}}<nowiki></nowiki>}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> oq9a4eek5ek6zilf7e3k2vp2dug89e1 4621796 4621795 2025-07-11T04:24:03Z en>Beland 0 /* Multiple units of time */ {{DATE}} only does month and year 4621796 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude>{{VTE}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{<nowiki></nowiki>{{u|Raph Williams65/digiclock}}<nowiki></nowiki>}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> r0cz6pfea1ahefzu8qif9agubkqxelp 4621797 4621796 2025-11-28T00:13:46Z en>~2025-36877-07 0 /* Multiple units of time */ 4621797 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude>{{VTE}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !oldeiko !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | |mincaex |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{<nowiki></nowiki>{{u|Raph Williams65/digiclock}}<nowiki></nowiki>}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> ehbkulu7i8krhz9ilzea5mlfqzqs27i 4621798 4621797 2025-11-28T00:21:17Z en>45dogs 0 Reverted edit by [[Special:Contribs/~2025-36877-07|~2025-36877-07]] ([[User talk:~2025-36877-07|talk]]) to last version by Beland 4621798 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} <noinclude>{{align|left|[{{edit|Template:Date and time templates}}] ''all subsections that follow:''}}<br /> {{notice|1=<big>{{#switch:{{FULLPAGENAME}} |Template:Date and time templates=These templates do '''not''' put a working clock on your page. |#default=This template does '''not''' put a working clock on your page.}}</big> The clock will '''not''' update the time on your screen every minute. Instead, it records the date and time that the page was most recently edited or [[WP:PURGE|purge]]d.<br /> <small>If you want a clock that constantly updates, then go to [[Special:Preferences#mw-prefsection-gadgets]] and enable the Appearance item, "Add a clock to the personal toolbar that displays the current time in UTC and provides a link to purge the current page".</small>}}</noinclude>{{VTE}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{<nowiki></nowiki>{{u|Raph Williams65/digiclock}}<nowiki></nowiki>}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> r0cz6pfea1ahefzu8qif9agubkqxelp 4621799 4621798 2025-12-09T21:53:17Z en>Gonnym 0 this does not belong on the template page but the /doc page 4621799 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} ---- === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution: === '''Month:'''<br>{{tl|Lmonth}} produces {{Lmonth}}<br>{{tl|Nmonth}} produces {{Nmonth}}<br>{{tl|Last month}} produces {{Last month}}<br>{{tl|Next month}} produces {{Next month}} ---- ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== *{{tl|Calendar}} *{{tl|Calendar clock with Wikipedia stats}} *{{tl|Clock}} *{{tl|Digital clock}} *{{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} * {{<nowiki></nowiki>{{u|Raph Williams65/digiclock}}<nowiki></nowiki>}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> qwc72vime0doedwqkuebcid7htspd0x 4621800 4621799 2025-12-09T21:55:59Z en>Gonnym 0 cleanup 4621800 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}}<br>{{Magic word link|CURRENTYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution === * {{tl|Last month (short)}} produces {{Last month (short)}} * {{tl|Next month (short)}} produces {{Next month (short)}} * {{tl|Last month}} produces {{Last month}} * {{tl|Next month}} produces {{Next month}} ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> jcwjsdmsfbuscqql6bwfjoal6s7j0y7 4621801 4621800 2025-12-28T06:15:44Z en>Peterwhy 0 /* Single units of time */ Move {{CURRENTYEAR}} to be the most useful year code, and should be more useful than {{CURRENTISOYEAR}} for [[ISO week date]] 4621801 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{tl|CURRENTTIME}} (12 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Magic word link|CURRENTYEAR}}<br>{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution === * {{tl|Last month (short)}} produces {{Last month (short)}} * {{tl|Next month (short)}} produces {{Next month (short)}} * {{tl|Last month}} produces {{Last month}} * {{tl|Next month}} produces {{Next month}} ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> 82jnu1rnrjybiasexjrh3mv5ra7vsrt 4621802 4621801 2025-12-30T08:15:37Z en>Peterwhy 0 /* Multiple units of time */ Mention {{CURRENTTIME}} as a variable 4621802 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{mwl|CURRENTTIME}} (24 h format as a variable)<br>{{tl|CURRENTTIME}} (12 h format as a template)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Magic word link|CURRENTYEAR}}<br>{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution === * {{tl|Last month (short)}} produces {{Last month (short)}} * {{tl|Next month (short)}} produces {{Next month (short)}} * {{tl|Last month}} produces {{Last month}} * {{tl|Next month}} produces {{Next month}} ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> d4tjiew8vy8x8aftup8xb8r50qzkqd5 4621803 4621802 2025-12-30T09:51:21Z en>Peterwhy 0 /* Multiple units of time */ Merged magic word {{CURRENTTIME}} and [[Template:CURRENTTIME]] 4621803 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} |{{mwl|CURRENTTIME}} (24 h format)<br>{{tl|CURRENTTIME24}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Magic word link|CURRENTYEAR}}<br>{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution === * {{tl|Last month (short)}} produces {{Last month (short)}} * {{tl|Next month (short)}} produces {{Next month (short)}} * {{tl|Last month}} produces {{Last month}} * {{tl|Next month}} produces {{Next month}} ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> 2ibej6a8ltbev473s3g7uv5h9x8427i 4621804 4621803 2025-12-30T10:21:58Z en>Peterwhy 0 /* Multiple units of time */ Merge 24-hour [[Template:CURRENTTIME24]] into magic word {{CURRENTTIME}} 4621804 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} (Adjustable to 12 h format) |{{mwl|CURRENTTIME}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{tl|Timestamp}}<br>(Format YYYYMMDDhhmmss)<br> | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Magic word link|CURRENTYEAR}}<br>{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution === * {{tl|Last month (short)}} produces {{Last month (short)}} * {{tl|Next month (short)}} produces {{Next month (short)}} * {{tl|Last month}} produces {{Last month}} * {{tl|Next month}} produces {{Next month}} ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> kbwuxe18dscjyb8r8zu20r5l4epmhjq 4621805 4621804 2026-01-03T02:27:55Z en>Peterwhy 0 /* Multiple units of time */ Merge magic word {{CURRENTTIMESTAMP}} and [[Template:Timestamp]] 4621805 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{tl|time}} |{{tl|Currentdate}} (MDY)<br>{{tl|Plain now}} (DMY)<br>{{tl|Now}} (DMY in a complete sentence)<br>{{tl|Simple now}} | | |- |Date only |{{tl|Dateonly}}<br>{{tl|Datedow}}<br>(Has the day of the week) |{{tl|Date}} (Chose format)<br>{{tl|TODAY}} (DMY) |{{tl|Yesterday}}<br>{{tl|Day-1}} |{{tl|Tomorrow}}<br>{{tl|Day+1}} |- |Month and year only | |{{tl|Monthyear}}<br> {{tl|DATE}} (prefixed by date=) |{{tl|Monthyear-1}} |{{tl|Monthyear+1}} |- |Time only |{{tl|Timeonly}} (Adjustable to 12 h format) |{{mwl|CURRENTTIME}} (24 h format) | | |- |Banners | |{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles) | | |- |Timestamp | |{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)<br> | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{Template link|CURRENTSECOND}} | | |- |Minute | |{{Template link|CURRENTMINUTE}} | | |- |Hour | |{{Magic word link|CURRENTHOUR}} | | |- |Week | |{{Magic word link|CURRENTWEEK}}<br>{{Template link|CURRENTWEEKOFMONTH}} | | |- |Day of Week |{{Template link|DAYOFWEEK}} |{{Magic word link|CURRENTDAYNAME}}<br>{{Template link|CURRENTWEEKDAYABBREV}}<br>{{Template link|CURRENTWEEKDAY}} | | |- |Month |{{Template link|MONTHNAME}}<br>{{Template link|MONTHABBREV}}<br>{{Template link|MONTHNUMBER}}<br>{{Template link|MONTH}} (zero padded) |{{Magic word link|CURRENTMONTHNAME}}<br>{{Magic word link|CURRENTMONTHABBREV}}<br>{{Magic word link|CURRENTMONTH1}}<br>{{Template link|CURRENTMONTHDAYS}} |{{Template link|LASTMONTHNAME}} |{{Template link|NEXTMONTHNAME}} |- |Day of Month | |{{Magic word link|CURRENTDAY}}<br>{{Magic word link|CURRENTDAY2}} (zero padded) | | |- |Year | |{{Magic word link|CURRENTYEAR}}<br>{{Template link|CURRENTYEARCC}}<br>{{Template link|CURRENTYEARYY}}<br>{{Template link|CURRENTISOYEAR}} |{{Template link|LASTYEAR}} |{{Template link|NEXTYEAR}} |- |Day of Year | |{{Template link|CURRENTDAYOFYEAR}} | | |- |Decade |{{Template link|DECADE}} |{{Template link|CURRENTDECADE}} | | |- |Century |{{Template link|Century}} |{{Template link|CURRENTCENTURY}} | | |- |MILLENNIUM |{{Template link|MILLENNIUM}} | | | |} === Date and time templates made for substitution === * {{tl|Last month (short)}} produces {{Last month (short)}} * {{tl|Next month (short)}} produces {{Next month (short)}} * {{tl|Last month}} produces {{Last month}} * {{tl|Next month}} produces {{Next month}} ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> n3coxlwiefr9pdcq78i13fukkubvarz 4621806 4621805 2026-01-04T09:18:00Z en>Peterwhy 0 Replace manual <br> with list ([[MOS:NOBR]]), using [[Template:Unbulleted indent list]] in limited width 4621806 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{ubil|{{tl|time}}}} |{{ubil|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{ubil|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{ubil|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{ubil|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{ubil|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{ubil|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{ubil|{{tl|Monthyear-1}}}} |{{ubil|{{tl|Monthyear+1}}}} |- |Time only |{{ubil|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{ubil|{{mwl|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{ubil|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{ubil|{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{ubil|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{ubil|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{ubil|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{ubil|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{ubil|{{Template link|DAYOFWEEK}}}} |{{ubil|{{Magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTWEEKDAYABBREV}}|{{Template link|CURRENTWEEKDAY}}}} | | |- |Month |{{ubil|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{ubil|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{ubil|{{Template link|LASTMONTHNAME}}}} |{{ubil|{{Template link|NEXTMONTHNAME}}}} |- |Day of Month | |{{ubil|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{ubil|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{ubil|{{Template link|LASTYEAR}}}} |{{ubil|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{ubil|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{ubil|{{Template link|DECADE}}}} |{{ubil|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{ubil|{{Template link|Century}}}} |{{ubil|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{ubil|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === * {{tl|Last month (short)}} produces {{Last month (short)}} * {{tl|Next month (short)}} produces {{Next month (short)}} * {{tl|Last month}} produces {{Last month}} * {{tl|Next month}} produces {{Next month}} ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> 2s2zz01ux25561jpzfhmvyk6onwxgd9 4621807 4621806 2026-01-18T09:22:22Z en>Peterwhy 0 Move {{Last month (short)}}, {{Next month (short)}}, {{Last month}}, {{Next month}} into the tables 4621807 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{ubil|{{tl|time}}}} |{{ubil|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{ubil|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{ubil|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{ubil|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{ubil|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{ubil|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{ubil|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{ubil|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{ubil|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{ubil|{{mwl|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{ubil|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{ubil|{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{ubil|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{ubil|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{ubil|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{ubil|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{ubil|{{Template link|DAYOFWEEK}}}} |{{ubil|{{Magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTWEEKDAYABBREV}}|{{Template link|CURRENTWEEKDAY}}}} | | |- |Month |{{ubil|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{ubil|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{ubil|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{ubil|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{ubil|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{ubil|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{ubil|{{Template link|LASTYEAR}}}} |{{ubil|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{ubil|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{ubil|{{Template link|DECADE}}}} |{{ubil|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{ubil|{{Template link|Century}}}} |{{ubil|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{ubil|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> qo58uzzhdztdsuuu7uyioebdww4mdfd 4621808 4621807 2026-01-19T17:21:52Z en>Peterwhy 0 /* Single units of time */ Add magic word {{CURRENTDOW}} (0–6) 4621808 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{VTE|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{ubil|{{tl|time}}}} |{{ubil|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{ubil|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{ubil|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{ubil|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{ubil|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{ubil|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{ubil|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{ubil|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{ubil|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{ubil|{{mwl|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{ubil|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{ubil|{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{ubil|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{ubil|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{ubil|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{ubil|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{ubil|{{Template link|DAYOFWEEK}}}} |{{ubil|{{Magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTWEEKDAYABBREV}}|{{Template link|CURRENTWEEKDAY}} (1–7, [[ISO week date|ISO]])|{{Magic word link|CURRENTDOW}} (0–6)}} | | |- |Month |{{ubil|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{ubil|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{ubil|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{ubil|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{ubil|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{ubil|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{ubil|{{Template link|LASTYEAR}}}} |{{ubil|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{ubil|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{ubil|{{Template link|DECADE}}}} |{{ubil|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{ubil|{{Template link|Century}}}} |{{ubil|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{ubil|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> 3e6ijnqk1uha0gj5qsvv7vios2fp7p4 4621809 4621808 2026-01-19T19:27:17Z en>Jonesey95 0 fix links 4621809 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{view|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{ubil|{{tl|time}}}} |{{ubil|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{ubil|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{ubil|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{ubil|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{ubil|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{ubil|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{ubil|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{ubil|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{ubil|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{ubil|{{mwl|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{ubil|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{ubil|{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{ubil|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{ubil|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{ubil|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{ubil|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{ubil|{{Template link|DAYOFWEEK}}}} |{{ubil|{{Magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTWEEKDAYABBREV}}|{{Template link|CURRENTWEEKDAY}} (1–7, [[ISO week date|ISO]])|{{Magic word link|CURRENTDOW}} (0–6)}} | | |- |Month |{{ubil|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{ubil|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{ubil|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{ubil|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{ubil|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{ubil|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{ubil|{{Template link|LASTYEAR}}}} |{{ubil|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{ubil|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{ubil|{{Template link|DECADE}}}} |{{ubil|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{ubil|{{Template link|Century}}}} |{{ubil|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{ubil|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> 2p5vxkq270172kqx0dj3i67388e4ftn 4621810 4621809 2026-01-19T19:27:32Z en>Jonesey95 0 fix obscure template 4621810 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{v|t|e|Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{ubil|{{tl|time}}}} |{{ubil|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{ubil|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{ubil|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{ubil|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{ubil|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{ubil|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{ubil|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{ubil|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{ubil|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{ubil|{{mwl|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{ubil|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{ubil|{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{ubil|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{ubil|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{ubil|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{ubil|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{ubil|{{Template link|DAYOFWEEK}}}} |{{ubil|{{Magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTWEEKDAYABBREV}}|{{Template link|CURRENTWEEKDAY}} (1–7, [[ISO week date|ISO]])|{{Magic word link|CURRENTDOW}} (0–6)}} | | |- |Month |{{ubil|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{ubil|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{ubil|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{ubil|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{ubil|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{ubil|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{ubil|{{Template link|LASTYEAR}}}} |{{ubil|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{ubil|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{ubil|{{Template link|DECADE}}}} |{{ubil|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{ubil|{{Template link|Century}}}} |{{ubil|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{ubil|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> jjvsxgamzxgi8hu2pzpejf58vwfbrgt 4621811 4621810 2026-01-19T19:28:03Z en>Jonesey95 0 it's even worse than that 4621811 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{v|t|e|template=Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{ubil|{{tl|time}}}} |{{ubil|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{ubil|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{ubil|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{ubil|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{ubil|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{ubil|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{ubil|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{ubil|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{ubil|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{ubil|{{mwl|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{ubil|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{ubil|{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{ubil|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{ubil|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{ubil|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{ubil|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{ubil|{{Template link|DAYOFWEEK}}}} |{{ubil|{{Magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTWEEKDAYABBREV}}|{{Template link|CURRENTWEEKDAY}} (1–7, [[ISO week date|ISO]])|{{Magic word link|CURRENTDOW}} (0–6)}} | | |- |Month |{{ubil|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{ubil|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{ubil|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{ubil|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{ubil|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{ubil|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{ubil|{{Template link|LASTYEAR}}}} |{{ubil|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{ubil|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{ubil|{{Template link|DECADE}}}} |{{ubil|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{ubil|{{Template link|Century}}}} |{{ubil|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{ubil|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> i7gfu59v9e4sper63dq4klnd38n9rjp 4621812 4621811 2026-02-13T18:42:41Z en>Peterwhy 0 /* Single units of time */ Rename [[Template:CURRENTWEEKDAYABBREV]] to merge with [[Template:CURRENTDAYNAMEABBREV]] after [[Wikipedia:Templates for discussion/Log/2026 January 19#Current weekday name abbreviated|the discussion at TfD]] 4621812 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{v|t|e|template=Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{ubil|{{tl|time}}}} |{{ubil|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{ubil|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{ubil|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{ubil|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{ubil|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{ubil|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{ubil|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{ubil|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{ubil|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{ubil|{{mwl|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{ubil|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{ubil|{{mwl|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{ubil|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{ubil|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{ubil|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{ubil|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{ubil|{{Template link|DAYOFWEEK}}}} |{{ubil|{{Magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTDAYNAMEABBREV}}|{{Template link|CURRENTWEEKDAY}} (1–7, [[ISO week date|ISO]])|{{Magic word link|CURRENTDOW}} (0–6)}} | | |- |Month |{{ubil|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{ubil|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{ubil|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{ubil|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{ubil|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{ubil|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{ubil|{{Template link|LASTYEAR}}}} |{{ubil|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{ubil|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{ubil|{{Template link|DECADE}}}} |{{ubil|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{ubil|{{Template link|Century}}}} |{{ubil|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{ubil|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> 8unjhjlls4jkaakx15q59e3fvrr7igt 4621813 4621812 2026-03-22T20:14:45Z en>Colonies Chris 0 4621813 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{v|t|e|template=Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{unbulleted indent list|{{tl|time}}}} |{{unbulleted indent list|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{unbulleted indent list|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{unbulleted indent list|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{unbulleted indent list|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{unbulleted indent list|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{unbulleted indent list|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{unbulleted indent list|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{unbulleted indent list|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{unbulleted indent list|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{unbulleted indent list|{{magic word link|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{unbulleted indent list|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{unbulleted indent list|{{magic word link|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{unbulleted indent list|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{unbulleted indent list|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{unbulleted indent list|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{unbulleted indent list|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{unbulleted indent list|{{Template link|DAYOFWEEK}}}} |{{unbulleted indent list|{{magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTDAYNAMEABBREV}}|{{Template link|CURRENTWEEKDAY}} (1–7, [[ISO week date|ISO]])|{{magic word link|CURRENTDOW}} (0–6)}} | | |- |Month |{{unbulleted indent list|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{unbulleted indent list|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{unbulleted indent list|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{unbulleted indent list|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{unbulleted indent list|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{unbulleted indent list|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{unbulleted indent list|{{Template link|LASTYEAR}}}} |{{unbulleted indent list|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{unbulleted indent list|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{unbulleted indent list|{{Template link|DECADE}}}} |{{unbulleted indent list|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{unbulleted indent list|{{Template link|Century}}}} |{{unbulleted indent list|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{unbulleted indent list|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> osdw75jg5lk7mcq7n8f1rrsfx66xpb3 4621814 4621813 2026-05-22T22:49:37Z Jacob.jose 1784 [[:en:Template:Date_and_time_templates]] എന്നതിൽ നിന്ന് 24 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621813 wikitext text/x-wiki {{For|the [[help:magic words|magic words]] with the same or similar names|MediaWikiWiki:Help:Magic words#Date and time}} {{v|t|e|template=Date and time templates}} === Multiple units of time === {| class="wikitable" |+ !Type !Adjustable !Current !Last !Next |- |Date and time |{{unbulleted indent list|{{tl|time}}}} |{{unbulleted indent list|{{tl|Currentdate}} (MDY)|{{tl|Plain now}} (DMY)|{{tl|Now}} (DMY in a complete sentence)|{{tl|Simple now}}}} | | |- |Date only |{{unbulleted indent list|{{tl|Dateonly}}|{{tl|Datedow}}<br>(Has the day of the week)}} |{{unbulleted indent list|{{tl|Date}} (Chose format)|{{tl|TODAY}} (DMY)}} |{{unbulleted indent list|{{tl|Yesterday}}|{{tl|Day-1}}}} |{{unbulleted indent list|{{tl|Tomorrow}}|{{tl|Day+1}}}} |- |Month and year only | |{{unbulleted indent list|{{tl|Monthyear}} |{{tl|DATE}} (prefixed by date{{=}})}} |{{unbulleted indent list|{{tl|Monthyear-1}}|{{tl|Last month}}}} |{{unbulleted indent list|{{tl|Monthyear+1}}|{{tl|Next month}}}} |- |Time only |{{unbulleted indent list|{{tl|Timeonly}} (Adjustable to 12 h format)}} |{{unbulleted indent list|{{magic word link|CURRENTTIME}} (24 h format)}} | | |- |Banners | |{{unbulleted indent list|{{tl|Right now}}<br>(Blue with time and number of Wikipedia articles)}} | | |- |Timestamp | |{{unbulleted indent list|{{magic word link|CURRENTTIMESTAMP}}<br>(Format YYYYMMDDhhmmss)}} | | |} === Single units of time === {| class="wikitable" |+ !Unit of time !Adjustable !Current !Last !Next |- |Second | |{{unbulleted indent list|{{Template link|CURRENTSECOND}}}} | | |- |Minute | |{{unbulleted indent list|{{Template link|CURRENTMINUTE}}}} | | |- |Hour | |{{unbulleted indent list|{{Magic word link|CURRENTHOUR}}}} | | |- |Week | |{{unbulleted indent list|{{Magic word link|CURRENTWEEK}}|{{Template link|CURRENTWEEKOFMONTH}}}} | | |- |Day of Week |{{unbulleted indent list|{{Template link|DAYOFWEEK}}}} |{{unbulleted indent list|{{magic word link|CURRENTDAYNAME}}||{{Template link|CURRENTDAYNAMEABBREV}}|{{Template link|CURRENTWEEKDAY}} (1–7, [[ISO week date|ISO]])|{{magic word link|CURRENTDOW}} (0–6)}} | | |- |Month |{{unbulleted indent list|{{Template link|MONTHNAME}}|{{Template link|MONTHABBREV}}|{{Template link|MONTHNUMBER}}|{{Template link|MONTH}} (zero padded)}} |{{unbulleted indent list|{{Magic word link|CURRENTMONTHNAME}}|{{Magic word link|CURRENTMONTHABBREV}}|{{Magic word link|CURRENTMONTH1}}|{{Template link|CURRENTMONTHDAYS}}}} |{{unbulleted indent list|{{Template link|LASTMONTHNAME}}|{{tl|Last month (short)}}}} |{{unbulleted indent list|{{Template link|NEXTMONTHNAME}}|{{tl|Next month (short)}}}} |- |Day of Month | |{{unbulleted indent list|{{Magic word link|CURRENTDAY}}|{{Magic word link|CURRENTDAY2}} (zero padded)}} | | |- |Year | |{{unbulleted indent list|{{Magic word link|CURRENTYEAR}}|{{Template link|CURRENTYEARCC}}|{{Template link|CURRENTYEARYY}}|{{Template link|CURRENTISOYEAR}}}} |{{unbulleted indent list|{{Template link|LASTYEAR}}}} |{{unbulleted indent list|{{Template link|NEXTYEAR}}}} |- |Day of Year | |{{unbulleted indent list|{{Template link|CURRENTDAYOFYEAR}}}} | | |- |Decade |{{unbulleted indent list|{{Template link|DECADE}}}} |{{unbulleted indent list|{{Template link|CURRENTDECADE}}}} | | |- |Century |{{unbulleted indent list|{{Template link|Century}}}} |{{unbulleted indent list|{{Template link|CURRENTCENTURY}}}} | | |- |Millenium |{{unbulleted indent list|{{Template link|MILLENNIUM}}}} | | | |} === Date and time templates made for substitution === ==== Parser functions ==== * [[mw:Special:MyLanguage/time]] permits a custom time specifier string, similar to the [[C date and time functions]] ==== Individual templates ==== * {{tl|Calendar}} * {{tl|Calendar clock with Wikipedia stats}} * {{tl|Clock}} * {{tl|Digital clock}} * {{tl|Digital clock and date}} * {{tl|Infobox calendar date today}} ==== Categories of templates ==== * [[:Category:Time, date and calendar templates]] * [[:Category:Date-computing templates]] * [[:Category:Date-computing templates based on current time]] * [[:Category:ISO date templates]] * [[:Category:Calendar templates]]<noinclude> {{documentation}} </noinclude> osdw75jg5lk7mcq7n8f1rrsfx66xpb3 ലോറ ബാസി 0 413269 4622097 3779693 2026-05-23T02:31:19Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622097 wikitext text/x-wiki {{Prettyurl| Laura Bassi}} {{Infobox scientist |name =ലോറ ബാസി |image = Laura Bassi.jpg |caption = |birth_date = 31 October 1711 |birth_place = [[Bologna]], [[Papal States]] |death_date = {{death date and age|df=yes|1778|02|20|1711|10|20}} |death_place = [[Bologna]], [[Papal States]] |residence = |citizenship = |nationality = [[Italians|Italian]] |ethnicity = |field = [[Physics]]<br/>[[Anatomy]]<br/>[[Biology]]<br/>[[History]]<br/>[[Medicine]] |work_institutions = [[University of Bologna]] |alma_mater = [[University of Bologna]] |doctoral_advisor = |doctoral_students = |known_for = First female university professor of Europe |influences = |influenced = [[Marie François Xavier Bichat]] |prizes = |footnotes = |signature = }} [[File:Laura Bassi - Carlo Vandi.jpg|200px|thumb|Portrait of Laura Bassi at the [[University of Bologna]]. ]] [[ഇറ്റലി]]ക്കാരിയായ ഒരു ഭൗതികശാസ്ത്രജ്ഞയും അക്കാഡമിക്കും ആയിരുന്നു '''ലോറ ബാസി (Laura Bassi)'''. 1732 മേയിൽ [[University of Bologna|ബൊലൊഗോണ സർവ്വകലാശാല]]യിൽ നിന്ന് [[Philosophy|ഫിലോസഫി]]യിൽ [[Ph d|ഡോക്ടറേറ്റ് ബിരുദം]] നേടിയ രണ്ടാമത്തെ വനിതയായിരുന്നു.<ref name="Findlen, Paula">Findlen, Paula. "Science as a Career in Enlightenment Italy : The Strategies of Laura Bassi." ''Isis'', vol. 84, no. 3, 1993: 441–469.</ref>ഏതൊരു യൂറോപ്യൻ യൂണിവേഴ്സിറ്റിയിൽ നിന്നും [[Physics|ഭൗതികശാസ്ത്രത്തിൽ]] പ്രൊഫസർ ഷിപ്പ് സമ്പാദിക്കുന്ന ആദ്യത്തെ വനിതയാണിവർ. <ref>[http://www.encyclopedia.com/women/encyclopedias-almanacs-transcripts-and-maps/bassi-laura-1711-1778 Laura Bassi] at Encyclopedia.com</ref> ശാസ്ത്ര പഠനവിഭാഗത്തിലെ യൂണിവേഴ്സിറ്റി ചെയർ ലഭിക്കുന്ന ലോകത്തിലെ ആദ്യ വനിതയായാണ് അറിയപ്പെടുന്നത്. ന്യൂട്ടോണിയൻ മെക്കാനിക്സിനെക്കുറിച്ചുള്ള പഠനം [[ഇറ്റലി]] മുഴുവൻ വ്യാപിപ്പിക്കുവാൻ അവർ സഹായിച്ചു.<ref name="Findlen, Paula" /> == സംഭാവനകൾ == * {{Cite EB1911|wstitle=Bassi, Laura Maria Caterina}} == പ്രസിദ്ധീകരിച്ച പ്രവർത്തനങ്ങൾ == * [https://web.archive.org/web/20021120105215/http://vms.www.uwplatt.edu/~wise/bassi/bassi.html Miscellanea (1732)] [digital edition (2003): The International Center for the History of Universities and Science (CIS), University of Bologna] * ''de aeris compression'' (1745) * ''de problemate quodam hydrometrico and de problemate quodam mechanico'' (1757) * ''de immixto fluidis aere'' (1792) ==ഇതും കാണുക== *[[Elena Cornaro Piscopia]] *[[ഐസക് ന്യൂട്ടൺ]] *[[മറിയ ഗെറ്റാനാ ആനേസി]] *[[Maria Pellegrina Amoretti]] *[[Sophia Elisabet Brenner]] *[[ഡൊറോതിയ എർക്സ്‌ലെബൻ]] == അവലംബം == {{reflist}} ==സ്രോതസ്സുകൾ== {{Wikisource1911Enc|Bassi, Laura Maria Caterina}} * [https://web.archive.org/web/20021120105215/http://vms.www.uwplatt.edu/~wise/bassi/bassi.html A Physicist Supported by the Church] * Elena, Alberto. "'In lode della filosofessa di Bologna': An Introduction to Laura Bassi." ''Isis'', vol. 82, no. 3, 1991: 510-518. * Findlen, Paula. "Science As A Career In Enlightenment Italy : The Strategies Of Laura Bassi." ''Isis'', vol. 84, no. 3, 1993: 441–469. * Frize, Monique. "Laura Bassi and Science in 18th Century Europe. The extraordinary life and role of Italy's pioneering female professor." Springer, 2013. * Logan, Gabriella Berti. "Women And The Practice And Teaching Of Medicine In Bologna In The Eighteenth And Early Nineteenth Centuries." Bulletin Of The History Of Medicine 77.3 (2003): 506–535. * Logan, Gabriella Berti. "The Desire To Contribute : An Eighteenth-Century Italian Woman Of Science." ''American Historical Review'', vol. 99, no. 3,1994: 785–812. * {{webarchive |url=https://web.archive.org/web/20021120105215/http://vms.www.uwplatt.edu/~wise/bassi/bassi.html |date=20 November 2002 |title=Résumé }} * [https://web.archive.org/web/20010423033122/http://www.pinn.net/~sunshine/whm2001/bassi.html Sunshine for Women] ==കൂടുതൽ വായനയ്ക്ക്== * {{DSB |first=Beate |last=Ceranski |title=Bassi Verati (Veratti), Laura Maria Caterina |volume=19 |pages=202–204 }} *{{cite book|last1=Shearer|first1=Benjamin F|last2=Shearer|first2=Barbara Smith|title=Notable women in the physical sciences: a biographical dictionary|url=https://archive.org/details/isbn_9780313293030|date=1997|publisher=Greenwood Press|location=Westport, CT|isbn=0313293031}} ==പുറത്തേയ്ക്കുള്ള കണ്ണികൾ== * [http://www.projectcontinua.org/laura-bassi/ Biography of Laura Bassi] {{Webarchive|url=https://web.archive.org/web/20191206194909/http://www.projectcontinua.org/laura-bassi/ |date=2019-12-06 }} at [[Project Continua]] {{Authority control}} [[വർഗ്ഗം:1778-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:1711-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ഇറ്റാലിയൻ ഭൗതികശാസ്ത്രജ്ഞർ]] tp5gyewn1ngqm5mphguwtg0l17dh8j7 ഉപയോക്താവ്:Viswaprabha/Test13 2 417489 4622200 4620272 2026-05-23T10:39:24Z ListeriaBot 105900 Wikidata list updated [V2] 4622200 wikitext text/x-wiki {{Wikidata list |sparql=SELECT ?item WHERE { ?item wdt:P31 wd:Q6256. } |columns=label:Article }} {| class='wikitable sortable' ! Article |- | [[കാനഡ]] |- | [[ജപ്പാൻ]] |- | [[നോർവെ]] |- | [[ഇംഗ്ലണ്ട്]] |- | [[റിപ്പബ്ലിക്ക് ഓഫ് അയർലണ്ട്]] |- | [[ഹംഗറി]] |- | [[സ്പെയിൻ]] |- | [[അമേരിക്കൻ ഐക്യനാടുകൾ]] |- | [[ബെൽജിയം]] |- | [[ലക്സംബർഗ്]] |- | [[ഫിൻലാന്റ്]] |- | [[സ്വീഡൻ]] |- | [[ഡെന്മാർക്ക്]] |- | [[പോളണ്ട്]] |- | [[ലിത്വാനിയ]] |- | [[ഇറ്റലി]] |- | [[സ്വിറ്റ്സർലാന്റ്]] |- | [[ഓസ്ട്രിയ]] |- | [[ഗ്രീസ്]] |- | [[തുർക്കി]] |- | [[പോർച്ചുഗൽ]] |- | [[നെതർലന്റ്സ്]] |- | [[ഉറുഗ്വേ]] |- | [[ഈജിപ്റ്റ്|ഈജിപ്റ്റ്‌]] |- | [[മെക്സിക്കോ]] |- | [[കെനിയ]] |- | [[എത്യോപ്യ]] |- | [[ഘാന]] |- | [[ഫ്രാൻസ്]] |- | [[യുണൈറ്റഡ് കിങ്ഡം]] |- | [[ചൈന]] |- | [[ബ്രസീൽ]] |- | [[റഷ്യ]] |- | [[ജർമ്മനി]] |- | [[ബെലാറുസ്]] |- | [[ഐസ്‌ലാന്റ്]] |- | [[എസ്റ്റോണിയ]] |- | [[ലാത്വിയ|ലാത്‌വിയ]] |- | [[ഉക്രൈൻ]] |- | [[ചെക്ക് റിപ്പബ്ലിക്ക്|ചെക്ക്‌ റിപ്പബ്ലിക്ക്‌]] |- | [[സ്ലോവാക്യ]] |- | [[സ്ലൊവീന്യ]] |- | [[മൊൾഡോവ]] |- | [[റൊമാനിയ]] |- | [[ബൾഗേറിയ]] |- | [[വടക്ക് മാസിഡോണിയ|നോർത്ത് മാസിഡോണിയ]] |- | [[അൽബേനിയ]] |- | [[ഗ്രീൻലാൻഡ്]] |- | [[ക്രൊയേഷ്യ]] |- | [[ബോസ്നിയ ഹെർസെഗോവിന]] |- | [[അസർബെയ്ജാൻ]] |- | [[അൻഡോറ]] |- | [[സൈപ്രസ്]] |- | [[ജോർജ്ജിയ (രാജ്യം)|ജോർജ്ജിയ]] |- | [[കസാഖ്സ്ഥാൻ|ഖസാഖ്‌സ്ഥാൻ]] |- | [[മാൾട്ട]] |- | [[മൊണാക്കോ]] |- | [[മൊണ്ടിനെഗ്രോ|മോണ്ടെനെഗ്രൊ]] |- | [[വത്തിക്കാൻ നഗരം]] |- | [[സാൻ മരീനോ]] |- | [[ക്യൂബ]] |- | [[ബെലീസ്]] |- | [[ബാർബേഡോസ്|ബർബാഡോസ്]] |- | [[ഇന്തോനേഷ്യ]] |- | [[സൗത്ത് ആഫ്രിക്ക|ദക്ഷിണാഫ്രിക്ക]] |- | [[അൾജീറിയ]] |- | [[ഉസ്ബെക്കിസ്ഥാൻ]] |- | [[ചിലി]] |- | [[സിംഗപ്പൂർ]] |- | [[ലിക്റ്റൻ‌സ്റ്റൈൻ]] |- | [[ബഹ്റൈൻ]] |- | [[അർമേനിയ]] |- | [[സെർബിയ]] |- | [[ഓസ്ട്രേലിയ]] |- | [[അർജന്റീന]] |- | [[പെറു]] |- | [[ഉത്തര കൊറിയ]] |- | [[കംബോഡിയ]] |- | [[കിഴക്കൻ ടിമോർ]] |- | [[ഛാഡ്]] |- | [[ന്യൂസീലൻഡ്]] |- | [[ഇന്ത്യ]] |- | [[തുവാലു]] |- | [[ടോങ്ക]] |- | [[സമോവ]] |- | [[സോളമൻ ദ്വീപുകൾ]] |- | [[വാനുവാടു]] |- | [[പാപുവ ന്യൂ ഗിനിയ]] |- | [[പലാവു]] |- | [[നൗറു]] |- | [[ഫെഡറേറ്റഡ് സ്റ്റേറ്റ്സ് ഓഫ് മൈക്രോനേഷ്യ|മൈക്രോനേഷ്യ]] |- | [[മാർഷൽ ദ്വീപുകൾ]] |- | [[കിരീബാസ്]] |- | [[മംഗോളിയ]] |- | [[ഫിജി]] |- | [[വെനസ്വേല|വെനിസ്വേല]] |- | [[സുരിനാം]] |- | [[പരഗ്വെ]] |- | [[ഗയാന]] |- | [[ഇക്വഡോർ]] |- | [[കുറകാവോ]] |- | [[സിന്റ് മാർട്ടൻ]] |- | [[കുക്ക് ദ്വീപുകൾ]] |- | [[കിങ്ഡം ഓഫ് നെതർലാന്റ്സ്]] |- | [[നിയുവെ]] |- | [[സോമാലിലാന്റ്]] |- | ''[[:d:Q157734|Muscat and Oman]]'' |- | ''[[:d:Q165763|Principality of Waldeck]]'' |- | [[ബോസ്നിയ (പ്രദേശം)|Bosnia]] |- | [[പലസ്തീൻ (രാജ്യം)|പലസ്തീൻ രാജ്യം]] |- | ''[[:d:Q12191529|Emirate of Lengeh]]'' |- | ''[[:d:Q16881283|Sultanate of Muscat]]'' |- | ''[[:d:Q107258515|Pahlavi Iran]]'' |- | ''[[:d:Q131588685|അൽ ഖവാസിം എമിറേറ്റ്]]'' |- | ''[[:d:Q139656941|ចនាសបុរៈ]]'' |- | [[കൊളംബിയ]] |- | [[ബൊളീവിയ]] |- | [[ട്രിനിഡാഡ് ടൊബാഗോ]] |- | [[സെന്റ് വിൻസന്റ് ആൻഡ് ഗ്രനഡീൻസ്|സെയ്ന്റ് വിൻസന്റ് ഗ്രനഡീൻസ്]] |- | [[സെയ്ന്റ് ലൂസിയ]] |- | [[സെന്റ് കിറ്റ്‌സ് ആൻഡ് നെവിസ്|സെയ്ന്റ് കിറ്റ്സ് നീവസ്]] |- | [[ജമൈക്ക]] |- | [[ഗ്രനേഡ]] |- | [[ഗ്വാട്ടിമാല]] |- | [[ബഹാമാസ്]] |- | [[ആന്റീഗയും ബാർബ്യൂഡയും|ആന്റിഗ്വ ബർബുഡ]] |- | [[ഹോണ്ടുറാസ്]] |- | [[ഡൊമനിക്ക]] |- | [[ഡൊമനിക്കൻ റിപ്പബ്ലിക്]] |- | [[ഹെയ്റ്റി]] |- | [[എൽ സാൽവദോർ]] |- | [[ഇറാൻ]] |- | [[ഇറാഖ്‌]] |- | [[കോസ്റ്റ റീക്ക]] |- | [[ഇസ്രയേൽ]] |- | [[പാനമ|പനാമ]] |- | [[യെമൻ]] |- | [[ജോർദാൻ]] |- | [[നിക്കരാഗ്വ]] |- | [[കിർഗ്ഗിസ്ഥാൻ]] |- | [[കുവൈറ്റ്|കുവൈറ്റ്‌]] |- | [[ലാവോസ്]] |- | [[ലെബനാൻ]] |- | [[മാലിദ്വീപ്]] |- | [[മലേഷ്യ]] |- | [[മ്യാൻമാർ|മ്യാന്മാർ]] |- | [[നേപ്പാൾ]] |- | [[ഒമാൻ]] |- | [[പാകിസ്താൻ]] |- | [[ഖത്തർ]] |- | [[സൗദി അറേബ്യ]] |- | [[ശ്രീലങ്ക]] |- | [[സിറിയ]] |- | [[താജിക്കിസ്ഥാൻ]] |- | [[തായ്‌വാൻ]] |- | [[തായ്‌ലാന്റ്|തായ് ലാന്റ്]] |- | [[തുർക്‌മെനിസ്ഥാൻ]] |- | [[ഐക്യ അറബ് എമിറേറ്റുകൾ]] |- | [[വിയറ്റ്നാം]] |- | [[ദക്ഷിണ കൊറിയ]] |- | [[അഫ്ഗാനിസ്താൻ]] |- | [[ബംഗ്ലാദേശ്]] |- | [[മാലി]] |- | [[അംഗോള]] |- | [[ഭൂട്ടാൻ]] |- | [[ബ്രൂണൈ]] |- | [[ടാൻസാനിയ]] |- | [[ഫിലിപ്പീൻസ്]] |- | [[മദ്ധ്യ ആഫ്രിക്കൻ റിപ്പബ്ലിക്ക്]] |- | [[ടോഗോ]] |- | [[ടുണീഷ്യ]] |- | [[സാംബിയ]] |- | [[സിംബാബ്‌വെ]] |- | [[ദക്ഷിണ സുഡാൻ]] |- | [[ബെനിൻ]] |- | [[ബോട്സ്വാന]] |- | [[ബർക്കിനാ ഫാസോ]] |- | [[ബറുണ്ടി]] |- | [[കൊമോറസ്]] |- | [[റിപ്പബ്ലിക്ക് ഓഫ് കോംഗോ]] |- | [[ഡെമോക്രാറ്റിക് റിപബ്ലിക്ക് ഓഫ് കോംഗോ]] |- | [[ജിബൂട്ടി]] |- | [[ഇക്വറ്റോറിയൽ ഗിനി]] |- | [[എരിട്രിയ]] |- | [[ഗാബോൺ]] |- | [[ഗാംബിയ]] |- | [[ഗിനി]] |- | [[ഗിനി-ബിസൗ]] |- | [[ഐവറി കോസ്റ്റ്]] |- | [[കാമറൂൺ]] |- | [[കേപ്പ് വേർഡ്]] |- | [[ലെസോത്തോ]] |- | [[ലൈബീരിയ]] |- | [[ലിബിയ]] |- | [[മഡഗാസ്കർ]] |- | [[മലാവി]] |- | [[മൗറിത്താനിയ]] |- | [[മൗറീഷ്യസ്]] |- | [[മൊറോക്കൊ]] |- | [[മൊസാംബിക്ക്]] |- | [[നമീബിയ]] |- | [[നൈജർ]] |- | [[നൈജീരിയ]] |- | [[യുഗാണ്ട|ഉഗാണ്ട]] |- | [[റുവാണ്ട]] |- | [[സാവോ ടോം ആൻഡ് പ്രിൻസിപ്പെ]] |- | [[സെനെഗൽ]] |- | [[സെയ്‌ഷെൽസ്|സെയ് ഷെൽസ്]] |- | [[സീറാ ലിയോൺ]] |- | [[സൊമാലിയ]] |- | [[സുഡാൻ]] |- | [[ഇസ്വാറ്റിനി]] |- | [[കൊസോവോ|കൊസോവ്]] |- | [[അരൂബ]] |- | [[നോർതേൺ സൈപ്രസ്]] |} {{Wikidata list end}} 36mrx3bh93dkt5nlxtt9r9t2dxhw5xp പോർട്രയിറ്റ് ഓഫ് എ മാൻ വിത്ത് എ ബ്ലൂ ചാപെറോൺ 0 426930 4622096 3696413 2026-05-23T02:25:36Z Oursana 55386 -+Jan van Eyck - Man in a Blue Cap (c.1430).jpg 4622096 wikitext text/x-wiki {{prettyurl|Portrait of a Man with a Blue Chaperon}} {{Infobox Artwork | image_file=Jan van Eyck - Man in a Blue Cap (c.1430).jpg | title=Portrait of a Man with a Blue Chaperon | artist=[[Jan van Eyck]] | year=c. 1430 | type=[[Oil painting|Oil]] on panel | height_metric=22.5 | width_metric=16.6 | metric_unit=cm | imperial_unit=in | museum=[[Brukenthal National Museum]] |city=[[Sibiu]] }} '''പോർട്രയിറ്റ് ഓഫ് എ മാൻ വിത്ത് എ ബ്ലൂ ചാപെറോൺ''' (Portrait of a Man with a Blue Chaperon) (അല്ലെങ്കിൽ '''പോർട്രയിറ്റ് ഓഫ് എ മാൻ വിത്ത് എ ബ്ലൂ ഹുഡ്''', മുമ്പ് '''പോർട്രയിറ്റ് ഓഫ് എ ജ്യുവലർ''' അല്ലെങ്കിൽ '''മാൻ വിത്ത് എ റിങ്''') (22.5 സെ. x 16.6 സെന്റീമീറ്റർ ഉള്ള വളരെ ചെറിയ ഫ്രെയിം) <ref> The panel measures 19.1 cm x 13.2 without frame.</ref> ആദ്യകാല നെതർലാന്റ്സ് ചിത്രകാരനായ [[യാൻ വാൻ ഐൿ|ജാൻ വാൻ ഐക്ക്]] വരച്ച ഒരു അജ്ഞാതനായ വ്യക്തിയുടെ എണ്ണഛായാചിത്രം ആണ്. 1430-നടുത്ത് ഈ ചിത്രം ചിത്രീകരിക്കാൻ നിയോഗിക്കുകയും പൂർത്തിയാക്കുകയും ചെയ്തു. വാൻ ഐക്കിന്റെ ലൗകികമായ ഛായാചിത്രങ്ങൾക്ക് സമാനമായ നിരവധി ഘടകങ്ങൾ ഇതിൽ അടങ്ങിയിരിക്കുന്നു. വലിപ്പമുള്ള തല, ഇരുണ്ടതും പരന്നതുമായ പശ്ചാത്തലം, മനുഷ്യന്റെ മുഖത്തെ ചിത്രീകരണത്തിലെ വ്യാവഹാരിക ശ്രദ്ധ, മിഥ്യാധാരണ ജനിപ്പിക്കുന്ന ചിത്രീകരണം എന്നിവ ഇതിൽപ്പെടുന്നു.<ref> Borchert, 35</ref>[[Northern Renaissance|വടക്കൻ നവോത്ഥാന കാലഘട്ടത്തിൽ]] ചിത്രകാരന്മാർ അവരുടെ ചിത്രങ്ങൾക്ക് ശീർഷകങ്ങൾ നൽകിയിരുന്നില്ല. മനുഷ്യന്റെ വലതു കൈയ്യിൽ പിടിച്ചിരിക്കുന്ന മോതിരം ഒരു ജ്വല്ലറി അല്ലെങ്കിൽ സ്വർണ്ണപ്പണിക്കാരൻ എന്ന നിലയിലുള്ള തന്റെ തൊഴിലിനെ സൂചിപ്പിക്കുന്നതാണെന്ന് ദീർഘകാലം കരുതിയിരുന്നു. അതിനാൽ അത്തരം വകഭേദങ്ങളിൽ ചിത്രത്തിന് പേരിട്ടിരുന്നു. അടുത്തകാലത്താണ് ഈ മോതിരം വിവാഹനിശ്ചയത്തിന്റെ ചിഹ്നമായി വ്യാഖ്യാനിക്കപ്പെടുന്നത്. <ref> Borchert, 42</ref>. വിവിധ കലാചരിത്രകാരന്മാരും പ്രസിദ്ധീകരണങ്ങളും നൽകിയ തലക്കെട്ടുകൾ സാധാരണയായി ശിരോവസ്ത്രത്തിന്റെ നിറത്തെക്കുറിച്ചോ രൂപത്തെക്കുറിച്ചോ കൂടുതൽ വിവരണങ്ങൾ നൽകുന്നു ==അവലംബം== {{reflist}} ==ഉറവിടങ്ങൾ== {{refbegin}} * [[Till-Holger Borchert|Borchert, Till-Holger]]. ''Van Eyck''. London: Taschen, 2008. {{ISBN|3-8228-5687-8}} * [[Lorne Campbell (art historian)|Campbell, Lorne]]. ''The Fifteenth-Century Netherlandish Paintings''. London, National Gallery. New Haven: Yale University Press, 1998. {{ISBN|0-300-07701-7}} * Richardson, Carol. ''Locating Renaissance Art: Renaissance Art Reconsidered''. Yale University Press, 2007. {{ISBN|0-300-12188-1}} * Ridderbos, Bernhard; van Buren, Anne; van Veen, Henk. ''Early Netherlandish paintings: Rediscovery, Reception and Research''. Amsterdam: Amsterdam University Press, 2004. {{ISBN|90-5356-614-7}} {{refend}} ==പുറംകണ്ണികൾ== * [https://artsandculture.google.com/asset/man-in-a-blue-cap-jan-van-eyck/5AHBpUfs-tzsgg ''Man in a Blue Cap'', Jan van Eyck, c. 1430], Google Arts & Culture {{van Eyck}} {{Authority control}} [[വർഗ്ഗം:യാൻ വാൻ ഐൿ വരച്ച ചായാചിത്രങ്ങൾ]] ep5x7f4n0spo5h283z9a3f3dw9f3gin റെമി ബോൺജാസ്കി 0 447109 4621629 4100948 2026-05-22T21:32:49Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621629 wikitext text/x-wiki {{prettyurl|Remy Bonjasky}} {{Infobox martial artist | name = Remy Bonjasky | image =Remy Bonjasky-retouch.jpg | image_size = | caption = Bonjasky posing for a photo with a fan. | birth_name = Remy Kenneth Bonjasky<ref>[http://boxing.nv.gov/2002results/08-17-02K1.pdf Kickboxing Show Results : August 17, 2002, Bella Gio Hotel & Casino, Las Vegas] {{webarchive|url=https://web.archive.org/web/20110807193141/http://boxing.nv.gov/2002results/08-17-02K1.pdf |date=August 7, 2011 }}, ''[[Nevada Athletic Commission]]''</ref> | other_names = The Flying Gentleman<ref name="modellen">[http://glamour.blog.nl/models/2011/02/04/modellen-dansen-op-het-ijs "Models dance on the Ice"] {{Webarchive|url=https://web.archive.org/web/20110207175226/http://glamour.blog.nl/models/2011/02/04/modellen-dansen-op-het-ijs |date=2011-02-07 }}, 4 February 2011, ''[[Glamour (magazine)|Glamour]]'' {{In lang|nl}} or [https://archive.today/20120903164541/http://www.echo.nl/al-bu/buurt/foto/1102418/ "Remy Bonjasky opent ‘vandalismeproject’ op Baken Stad College!"], 26 November 2010, ''[[:nl:De Echo|De Echo]]'' {{In lang|nl}}</ref> | nationality = Dutch<br>Surinamese | birth_date = {{Birth date and age|1976|1|10|mf=y}} | birth_place = [[Paramaribo]], Suriname | fighting_out_of = [[Amsterdam]], Netherlands | death_date = | death_place = | height = {{convert|1.92|m|ftin|abbr=on}} | weight = {{convert|108.8|kg|lb st|abbr=on}} | weight_class = [[Super heavyweight]] | reach = {{convert|77.0|in|cm|abbr=on}} | style = [[Muay Thai]] | stance = | team = [[Mejiro Gym]]<br/>Vos Gym | trainer = [[Andre Mannaart]] <br/>[[Ivan Hippolyte]] <br/>Eric Warmerdam | years_active = 1995 - 2009, 2012 - 2014, 2017 | kickbox_win = 78 | kickbox_kowin = 40 | kickbox_loss = 19 | kickbox_koloss = 5 | kickbox_draw = | kickbox_nc = | other = | occupation = Bonjasky Academy, ''Gym owner'' | spouse = | relatives = | students = [[Danyo Ilunga]] | university = | url = {{URL|www.remybonjasky.com}} | boxrec = | sherdog = | updated = March 8, 2014 }} '''റെമി കെന്നെത്ത് ബോൺജാസ്കി''' (ജനനം 10 ജനുവരി 1976) മുൻ സൂരിനാമീസ് [[kickboxer|കിക്ക്ബോക്സറാണ്]]. 2003-ലും 2004-ലും 2008-ലും കിരീടം നേടിയ അദ്ദേഹം മൂന്നു തവണ K-1 വേൾഡ് ഗ്രാൻഡ് പ്രിക്സ് സൂപ്പർ ഹെവിവെയ്റ്റ് ചാമ്പ്യൻ ആയി<ref>[http://www.liverkick.com/index.php?option=com_content&view=article&id=200:remy-bonjasky-and-fighting-for-success&catid=36:k-1 "Remy Bonjasky and Fighting for Success"] by Bernie Connors, 14 January 2011, ''LiverKick.com''</ref>ബോൺജാസ്കിയുടെ മുട്ട് ഉപയോഗിച്ചുള്ള ആക്രമണങ്ങളും ശക്തമായ പ്രതിരോധവും പറക്കുന്ന കിക്കും അറിയപ്പെടുന്നത് ആണ്. അതിനാൽ "ഫ്ലൈയിംഗ് ജെന്റിൽമാൻ" എന്ന വിളിപ്പേര് അദ്ദേഹത്തിന് ലഭിച്ചു. == പശ്ചാത്തലം == [[സുരിനാം|സുരിനാമിലെ]] [[പരമാരിബൊ]]യിൽ ജനിച്ച ബോൺജാസ്കി അഞ്ചു വയസ്സായപ്പോൾ [[നെതർലന്റ്സ്|നെതർലണ്ടിലെ]] [[Tilburg|തിൽബർഗിലെത്തി]].<ref name="surinamstars">{{cite web |url=http://www.surinamstars.com/Remy%20Bonjasky.html |title=www.surinamstars.com |website=Surinamstars.com |date= |accessdate=2017-03-05 |archive-date=2011-07-16 |archive-url=https://web.archive.org/web/20110716165337/http://www.surinamstars.com/Remy%20Bonjasky.html |url-status=dead }}</ref> കൗമാരപ്രായത്തിൽ തന്നെ ബോൺജാസ്കി ഫുട്ബോൾ കളിക്കാൻ തുടങ്ങിയിരുന്നു. അദ്ദേഹത്തിന്റെ കാൽ പൊട്ടിയതിനുശേഷം കളിയുപേക്ഷിച്ചിരുന്നു.18 വയസ്സുള്ളപ്പോൾ, ഒരു സുഹൃത്ത് അദ്ദേഹത്തെ " [[Mejiro Kickboxing Gym|മീജിറോ കിക്ക്ബോക്സിങ് ജിം]]"ലേക്ക് കൊണ്ടുവന്ന് "ആരാണ് മികച്ചതെന്ന് കാണിക്കാൻ ആവശ്യപ്പെട്ടു." ബോൺജാസ്കി അവിടെ താമസിക്കാൻ തീരുമാനിച്ചു, പരിശീലനം നേടുകയും ഒടുവിൽ കിക്ക്ബോക്സിങ്ങിനെ ഇഷ്ടപ്പെടാൻ തുടങ്ങി. യൂണിവേഴ്സിറ്റിയിൽ നിന്ന് ബിരുദം നേടിയശേഷം, ബോൺജാസ്കി കുറച്ചുകാലത്തേയ്ക്ക് [[ABN Amro|ABN അമ്രോയിൽ]] ബാങ്കർ ആയി ജോലിചെയ്തു. == കിക്ക്ബോക്സിംഗ് റെക്കോർഡ് == {| class="toccolours" style="width:95%; clear:both; margin:1.5em auto; font-size:85%; text-align:center;" |- ! colspan="2" style="background:darkGrey;"| <span style="color:white;">Kickboxing Record</span> |- valign="top" |<div class="NavFrame"> <div class="NavHead" style="background:white; "><span style="color:black;">'''77 Wins''' (40 (T) KO's, 37 decisions), '''19 Losses'''</span></div> <div class="NavContent" style="text-align:left; display:collapse;"> {| class="wikitable" style="width:100%;" |- style="text-align:center; background:#ddd;" | '''Date''' || '''Result''' || '''Opponent''' || '''Event''' || '''Location''' || '''Method''' || '''Round''' || '''Time''' |- style="text-align:center; background:#fbb;" | 2017-10-29 || Loss ||align=left|{{flagicon|NED}} [[Melvin Manhoef]] || WFL: Manhoef vs. Bonjasky, Final 16 <ref>[https://www.round1network.com/news/78438/uitslagen-wfl-manhoef-vs-bonjasky.html Uitslagen WFL: Manhoef vs. Bonjasky] {{Webarchive|url=https://web.archive.org/web/20171107030127/https://www.round1network.com/news/78438/uitslagen-wfl-manhoef-vs-bonjasky.html |date=2017-11-07 }}{{In lang|nl}}</ref> || [[Almere]], [[Netherlands]] || Decision || 3 || 3:00 |- |- style="text-align:center; background:#cfc;" | 2014-03-08 || Win ||align=left|{{flagicon|CRO}} [[Mirko Cro Cop]] || [[Glory 14: Zagreb]] || [[Zagreb, Croatia]] || Decision (majority) || 3 || 3:00 |- style="text-align:center; background:#fbb;" | 2013-12-21 || Loss ||align=left|{{flagicon|BRA}} [[Anderson Silva (kickboxer)|Anderson Silva]] || [[Glory 13: Tokyo]] || [[Tokyo, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#fbb;" | 2013-03-23 || Loss ||align=left|{{flagicon|SUR}} [[Tyrone Spong]] || [[Glory 5: London]] || [[London, England]] || KO (right hook) || 2 || 2:02 |- style="text-align:center; background:#fbb;" | 2012-12-31 || Loss ||align=left|{{flagicon|MAR}} [[Jamal Ben Saddik]] || [[Glory 4: Tokyo]] - Heavyweight Grand Slam Tournament, Quarter Finals || [[Saitama, Saitama|Saitama, Japan]] || Decision (unanimous) || 2 || 2:00 |- style="text-align:center; background:#cfc;" | 2012-12-31 || Win ||align=left|{{flagicon|BEL}} [[Filip Verlinden]] || [[Glory 4: Tokyo]] - Heavyweight Grand Slam Tournament, First Round || [[Saitama, Saitama|Saitama, Japan]] || Decision (unanimous) || 3 || 2:00 |- style="text-align:center; background:#cfc;" | 2012-10-06 || Win || align=left|{{flagicon|BRA}} [[Anderson Silva (kickboxer)|Anderson Silva]] || [[Glory 2: Brussels]] || [[Brussels, Belgium]] || Extension round decision (majority) || 4 || 3:00 |- style="text-align:center; background:#fbb;" | 2009-12-05 || Loss ||align=left|{{flagicon|NED}} [[Semmy Schilt]] || [[K-1 World Grand Prix 2009 Final]], Semi Finals || [[Yokohama, Japan]] || KO (right low kick) || 1 || 2:38 |- style="text-align:center; background:#cfc;" | 2009-12-05 || Win ||align=left|{{flagicon|CUR}} [[Errol Zimmerman]] || [[K-1 World Grand Prix 2009 Final]], Quarter Finals || [[Yokohama, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2009-09-26 || Win ||align=left|{{flagicon|NED}} [[Melvin Manhoef]] || [[K-1 World Grand Prix 2009 Final 16]] || [[Seoul, Korea]] || Decision (unanimous) || 3 || 3:00 |- ! style=background:white colspan=9 |{{small| Qualifies for [[K-1 World Grand Prix 2009 Final]].}} |- style="text-align:center; background:#cfc;" | 2009-03-28 || Win ||align=left|{{flagicon|NED}} [[Alistair Overeem]] || [[K-1 World GP 2009 in Yokohama]] || [[Yokohama, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2008-12-06 || Win ||align=left|{{flagicon|MAR}} [[Badr Hari]] || [[K-1 World GP 2008 Final]], Final || [[Yokohama, Japan]] || DQ (illegal kick) || 2 || 0:53 |- ! style=background:white colspan=9 |{{small| Wins K-1 World Grand Prix 2008 championship.}} |- style="text-align:center; background:#cfc;" | 2008-12-06 || Win ||align=left|{{flagicon|TUR}} [[Gokhan Saki]] || [[K-1 World GP 2008 Final]], Semi Finals || [[Yokohama, Japan]] || KO (jumping mid-kick)|| 2 || 0:53 |- style="text-align:center; background:#cfc;" | 2008-12-06 || Win ||align=left|{{flagicon|FRA}} [[Jérôme Le Banner]] || [[K-1 World GP 2008 Final]], Quarter Finals || [[Yokohama, Japan]] || TKO (arm injury)|| 3 || 1:46 |- style="text-align:center; background:#cfc;" | 2008-09-27 || Win ||align=left|{{flagicon|AUS}} [[Paul Slowinski]] || [[K-1 World GP 2008 Final 16]] || [[Seoul, Korea]] || Decision (majority) || 3 || 3:00 |- ! style=background:white colspan=9 |{{small| Qualifies for [[K-1 World GP 2008 Final]].}} |- style="text-align:center; background:#cfc;" | 2008-07-13 || Win ||align=left|{{flagicon|RUS}} [[Bazigit Atajev]] || K-1 World GP 2008 in Taipei || [[Taipei City, Taiwan]] || KO (jumping knee strike) || 3 || 2:17 |- style="text-align:center; background:#cfc;" | 2008-04-26 || Win ||align=left|{{flagicon|NED}} [[Melvin Manhoef]] || K-1 World GP 2008 in Amsterdam || [[Amsterdam, Netherlands]] || KO (flying high kick) || 3 || 1:55 |- style="text-align:center; background:#fbb;" | 2007-12-08 || Loss ||align=left|{{flagicon|NED}} [[Peter Aerts]] || [[K-1 World GP 2007 Final]], Semi Finals || [[Yokohama, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2007-12-08 || Win ||align=left|{{flagicon|MAR}} [[Badr Hari]] || [[K-1 World GP 2007 Final]], Quarter Finals || [[Yokohama, Japan]] || Decision (majority) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2007-09-29 || Win ||align=left|{{flagicon|CRO}} [[Stefan Leko]] || [[K-1 World GP 2007 in Seoul Final 16]] || [[Seoul, Korea]] || TKO (referee stoppage) || 1 || 2:50 |- ! style=background:white colspan=9 |{{small| Qualifies for [[K-1 World GP 2007 Final]].}} |- style="text-align:center; background:#cfc;" | 2007-04-28 || Win ||align=left|{{flagicon|BRA}} [[Glaube Feitosa]] || [[K-1 World GP 2007 in Hawaii]] || [[Honolulu, HI]] || Decision (majority) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2006-12-02 || Win ||align=left|{{flagicon|CRO}} [[Stefan Leko]] || [[K-1 World Grand Prix 2006]], Quarter Finals || [[Tokyo, Japan]] || Decision (unanimous) || 3 || 3:00 |- ! style=background:white colspan=9 |{{small| Despite victory had to withdraw from tournament due to injury.}} |- style="text-align:center; background:#cfc;" | 2006-09-30 || Win ||align=left|{{flagicon|TRI}} [[Gary Goodridge]] || [[K-1 World Grand Prix 2006 in Osaka Opening Round]] || [[Osaka, Japan]] || KO (knee strike) || 3 || 0:52 |- ! style=background:white colspan=9 |{{small| Qualifies for [[K-1 World Grand Prix 2006]].}} |- style="text-align:center; background:#cfc;" | 2006-07-30 || Win ||align=left|{{flagicon|American Samoa}} [[Mighty Mo (Kickboxer)|Mighty Mo]] || [[K-1 World Grand Prix 2006 in Sapporo]] || [[Sapporo, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#fbb;" | 2006-05-13 || Loss ||align=left|{{flagicon|FRA}} [[Jérôme Le Banner]] || [[K-1 World Grand Prix 2006 in Amsterdam]] || [[Amsterdam, Netherlands]] || Decision (appeal)|| 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2005-12-31 || Win ||align=left|{{flagicon|USA}} [[Sylvester Terkay]] || [[K-1 PREMIUM 2005 Dynamite!!]] || [[Tokyo, Japan]] || Decision (majority) || 3 || 3:00 |- style="text-align:center; background:#fbb;" | 2005-11-19 || Loss ||align=left|{{flagicon|NED}} [[Semmy Schilt]] || [[K-1 World Grand Prix 2005]] || [[Tokyo, Japan]] || KO (knee strike) || 1 || 2:08 |- style="text-align:center; background:#cfc;" | 2005-11-19 || Win ||align=left|{{flagicon|KOR}} [[Choi Hong-man]] || [[K-1 World Grand Prix 2005]], Quarter Finals || [[Tokyo, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2005-09-23 || Win ||align=left|{{flagicon|BLR}} [[Alexey Ignashov]] || [[K-1 World Grand Prix 2005 in Osaka - Final Elimination]], Super Fight || [[Osaka, Japan]] || Decision (Ext. R) || 4 || 3:00 |- style="text-align:center; background:#cfc;" | 2005-05-21 || Win ||align=left|{{flagicon|SWE}} [[Rickard Nordstrand]] || [[K-1 Scandinavia Grand Prix 2005]] || [[Stockholm, Sweden]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#fbb;" | 2005-04-30 || Loss ||align=left|{{flagicon|American Samoa}} [[Mighty Mo (Kickboxer)|Mighty Mo]] || [[K-1 World Grand Prix 2005 in Las Vegas]] || [[Las Vegas Valley|Las Vegas, NV]] || Decision (split) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2005-03-19 || Win ||align=left|{{flagicon|USA}} [[Ray Mercer]] || [[K-1 World Grand Prix 2005 in Seoul]] || [[Seoul, Korea]] || TKO (right high kick) || 1 || 0:22 |- style="text-align:center; background:#cfc;" | 2004-12-04 || Win ||align=left|{{flagicon|JPN}} [[Musashi (kickboxer)|Musashi]] || [[K-1 World Grand Prix 2004]], Final || [[Tokyo, Japan]] || Decision (2 Ext. R) || 5 || 3:00 |- ! style=background:white colspan=9 |{{small| Wins K-1 World Grand Prix 2004 championship.}} |- style="text-align:center; background:#cfc;" | 2004-12-04 || Win ||align=left|{{flagicon|RSA}} [[Francois Botha]] || [[K-1 World Grand Prix 2004]], Semi Finals || [[Tokyo, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2004-12-04 || Win ||align=left|{{flagicon|NED}} [[Ernesto Hoost]] || [[K-1 World Grand Prix 2004]], Quarter Finals || [[Tokyo, Japan]] || Decision (Ext. R) || 4 || 3:00 |- style="text-align:center; background:#cfc;" | 2004-09-25 || Win ||align=left|{{flagicon|JPN}} [[Akebono Taro|Akebono]] || [[K-1 World Grand Prix 2004 Final Elimination]], Super Fight || [[Tokyo, Japan]] || KO (right high kick) || 3 || 0:33 |- style="text-align:center; background:#cfc;" | 2004-07-17 || Win ||align=left|{{flagicon|MAR}} Aziz Khattou || [[K-1 World Grand Prix 2004 in Seoul]] || [[Seoul, Korea]] || TKO (arm injury) || 2 || 1:59 |- style="text-align:center; background:#cfc;" | 2004-06-06 || Win ||align=left|{{flagicon|RSA}} [[Francois Botha]] || [[K-1 World Grand Prix 2004 in Nagoya]] || [[Nagoya, Japan]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#fbb;" | 2004-05-30 || Loss ||align=left|{{flagicon|BRA}} [[Francisco Filho (martial artist)|Francisco Filho]] || [[Kyokushin vs K-1 2004 All Out Battle]] || Japan || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2004-02-15 || Win ||align=left|{{flagicon|JPN}} [[Tsuyoshi Nakasako]] || [[K-1 Burning 2004]] || [[Okinawa, Japan]] || KO (left high kick)|| 3 || 2:54 |- style="text-align:center; background:#cfc;" | 2003-12-06 || Win ||align=left|{{flagicon|JPN}} [[Musashi (kickboxer)|Musashi]] || [[K-1 World Grand Prix 2003]], Final || [[Tokyo, Japan]] || Decision (unanimous) || 3 || 3:00 |- ! style=background:white colspan=9 |{{small| Wins K-1 World Grand Prix 2003 championship.}} |- style="text-align:center; background:#cfc;" | 2003-12-06 || Win ||align=left|{{flagicon|FRA}} [[Cyril Abidi]] || [[K-1 World Grand Prix 2003]], Semi Finals || [[Tokyo, Japan]], Semi Final || KO (flying knee strike) || 1 || 1:46 |- style="text-align:center; background:#cfc;" | 2003-12-06 || Win ||align=left|{{flagicon|AUS}} [[Peter Graham (Kickboxer)|Peter Graham]] || [[K-1 World Grand Prix 2003]], Quarter Finals || [[Tokyo, Japan]] || TKO (referee stoppage) || 1 || 2:58 |- style="text-align:center; background:#cfc;" | 2003-10-11 || Win ||align=left|{{flagicon|USA}} [[Bob Sapp]] || [[K-1 World Grand Prix 2003 Final Elimination]] || [[Osaka, Japan]] || DQ (punch on the ground) || 2 || 1:20 |- ! style=background:white colspan=9 |{{small| Qualifies for [[K-1 World Grand Prix 2003]].}} |- style="text-align:center; background:#cfc;" | 2003-08-15 || Win ||align=left|{{flagicon|CAN}} [[Michael McDonald (kickboxer)|Michael McDonald]] || [[K-1 World Grand Prix 2003 in Las Vegas II]], Final || [[Las Vegas Valley|Las Vegas, NV]] || Decision (Ext. R) || 4 || 3:00 |- ! style=background:white colspan=9 |{{small| Wins K-1 World GP 2003 in Las Vegas II championship and qualifies for [[K-1 World Grand Prix 2003 Final Elimination]].}} |- style="text-align:center; background:#cfc;" | 2003-08-15 || Win ||align=left|{{flagicon|USA}} Jeff Ford || [[K-1 World Grand Prix 2003 in Las Vegas II]], Semi Finals || [[Las Vegas Valley|Las Vegas, NV]] || TKO (shoulder injury) || 1 || 1:28 |- style="text-align:center; background:#cfc;" | 2003-08-15 || Win ||align=left|{{flagicon|USA}} [[Vernon White (fighter)|Vernon White]] || [[K-1 World Grand Prix 2003 in Las Vegas II]], Quarter Finals || [[Las Vegas Valley|Las Vegas, NV]] || KO (flying high kick) || 1 || 1:55 |- style="text-align:center; background:#fbb;" | 2003-07-13 || Loss ||align=left|{{flagicon|NED}} [[Semmy Schilt]] || [[K-1 World Grand Prix 2003 in Fukuoka]] || [[Fukuoka, Japan]] || Decision (unanimous) || 5 || 3:00 |- style="text-align:center; background:#cfc;" | 2003-03-30 || Win ||align=left|{{flagicon|SUI}} [[Bjorn Bregy]] || [[K-1 World Grand Prix 2003 in Saitama]] || [[Saitama, Saitama|Saitama, Japan]] || TKO (corner stoppage) || 3 || 1:29 |- style="text-align:center; background:#cfc;" | 2002-09-29 || Win ||align=left|{{flagicon|NED}} [[Antoni Hardonk]] || [[It's Showtime – As Usual / Battle Time]] || [[Haarlem, Netherlands]] || Decision (unanimous) || 5 || 3:00 |- style="text-align:center; background:#fbb;" | 2002-08-17 || Loss ||align=left|{{flagicon|CRO}} [[Stefan Leko]] || [[K-1 World Grand Prix 2002 in Las Vegas]] || [[Las Vegas Valley|Las Vegas, NV]] || Decision (unanimous) || 3 || 3:00 |- ! style=background:white colspan=9 |{{small| Loses elimination fight for [[K-1 World Grand Prix 2003 Final Elimination]]. Will have another chance to qualify at [[K-1 World Grand Prix 2003 in Las Vegas II]].}} |- style="text-align:center; background:#fbb;" | 2002-07-14 || Loss ||align=left|{{flagicon|CRO}} [[Mirko Cro Cop]] || [[K-1 World Grand Prix 2002 in Fukuoka]] || [[Fukuoka, Japan]] || TKO (high kick and punches)|| 2 || 2:06 |- style="text-align:center; background:#cfc;" | 2002-05-25 || Win ||align=left|{{flagicon|CRO}} [[Petar Majstorović]] || [[K-1 World Grand Prix 2002 in Paris]] || [[Paris, France]] || KO (right high kick) || 4 || 0:27 |- style="text-align:center; background:#fbb;" | 2002-02-24 || Loss ||align=left|{{flagicon|NED}} Errol Parris || [[K-1 World Grand Prix 2002 Preliminary Netherlands]], Semi Finals || [[Arnhem]], [[Netherlands]] || KO (left body shot) || 1 || 1:20 |- style="text-align:center; background:#cfc;" | 2002-02-24 || Win ||align=left|{{flagicon|NED}} [[Melvin Manhoef]] || [[K-1 World Grand Prix 2002 Preliminary Netherlands]], Quarter Finals || [[Arnhem]], [[Netherlands]] || Decision (unanimous) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2002-01-25 || Win ||align=left|{{flagicon|UKR}} Sergei Arhipov || [[K-1 World Grand Prix 2002 Preliminary Marseilles]] || [[Marseilles, France]] || TKO (corner stoppage) || 5 || 2:00 |- style="text-align:center; background:#cfc;" | 2001-06-24 || Win ||align=left|{{flagicon|NZL}} [[Ray Sefo]] || [[K-1 Survival 2001]] || [[Sendai, Japan]] || TKO (corner stoppage) || 4 || 2:00 |- style="text-align:center; background:#fbb;" | 2001-02-04 || Loss ||align=left|{{flagicon|NED}} [[Jerrel Venetiaan]] || [[K-1 Holland GP 2001 in Arnhem]], Quarter Finals || [[Arnhem]], [[Netherlands]] || Decision (split) || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 2000-12-12 || Win ||align=left|{{flagicon|HUN}} [[Peter Varga]] || [[It's Showtime - Christmas Edition]] || [[Haarlem, Netherlands]] || KO (jumping knee strike) || 1 || 2:57 |- style="text-align:center; background:#fbb;" | 2000-10-22 || Loss ||align=left|{{flagicon|NED}} [[Jerrel Venetiaan]] || [[It's Showtime - Exclusive]] || [[Haarlem, Netherlands]] || Decision (unanimous) || 5 || 3:00 |- style="text-align:center; background:#cfc;" | 2000-09-03 || Win ||align=left|{{flagicon|HUN}} Attila Karacs || Battle of Arnhem II || [[Arnhem, Netherlands]] || KO (strikes) || 1 || N/A |- style="text-align:center; background:#cfc;" | 2000-05-20 || Win ||align=left|{{flagicon|BUL}} Stanislav Bahchevanov || Thaiboxing - Thrill of the Year! || [[Amsterdam, Netherlands]] || KO (strikes) || 2 || N/A |- style="text-align:center; background:#fbb;" | 2000-03-13 || Loss ||align=left|{{flagicon|UKR}} Sergei Arhipov || Night Club "Reaktor" || [[Minsk, Belarus]] || Decision || 5 || 3:00 |- style="text-align:center; background:#cfc;" | 1999-10-24 || Win ||align=left|{{flagicon|TUR}} Ayhan Ozcelik || [[It's Showtime - It's Showtime]] || [[Haarlem, Netherlands]] || TKO (strikes) || 2 || N/A |- style="text-align:center; background:#cfc;" | 1999-09-05 || Win ||align=left|{{flagicon|NED}} Peter Verchuren || Battle of Arnhem I || [[Arnhem, Netherlands]] || KO (strikes) || 1 || N/A |- ! style=background:white colspan=9 |{{small| Wins Battle of Arnhem I 4-men tournament.}} |- style="text-align:center; background:#cfc;" | 1999-09-05 || Win ||align=left|{{flagicon|GER}} Frank Otto || Battle of Arnhem I || [[Arnhem, Netherlands]] || TKO (strikes) || 1 || N/A |- style="text-align:center; background:#cfc;" | 1999-06-06 || Win ||align=left|{{flagicon|FRA}} Rani Berbachi || || Netherlands || KO (strikes) || 2 || N/A |- ! style=background:white colspan=9 |{{small| Wins WPKA World Super Heavyweight title.}} |- style="text-align:center; background:#fbb;" | 1998 || Loss ||align=left|{{flagicon|BLR}} [[Alexey Ignashov]] || WPKL Muay Thai Fight Night || Poland || Decision (unanimous) || 5 || 3:00 |- style="text-align:center; background:#fbb;" | 1998-04-14 || Loss ||align=left|{{flagicon|NED}} [[Lloyd van Dams]] || KO Power Tournament || Netherlands || Decision || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 1998-04-14 || Win ||align=left|{{flagicon|NED}} Peter Verchuren || KO Power Tournament || Netherlands || Decision || 3 || 3:00 |- style="text-align:center; background:#cfc;" | 1995 || Win ||align=left|{{flagicon|NED}} [[Valentijn Overeem]] || || Netherlands || TKO (corner stoppage)|| 2 || N/A |}</div></div> '''''Legend''''': {{legend2|#CCFFCC|Win |border=1px solid #CCFFCC}} {{legend2|#FFBBBB|Loss |border=1px solid #FFBBBB}} {{legend2|#c5d2ea|Draw/No contest |border=1px solid #c5d2ea}} {{legend2|White|Notes |border=1px solid #AAAAAA}} |} ==അവലംബം== {{Reflist|30em}} == ബാഹ്യ ലിങ്കുകൾ == {{Commons category|Remy Bonjasky}} *[http://www.remybonjasky.com/ Remy Bonjasky's official website] {{Webarchive|url=https://web.archive.org/web/20050829040409/http://www.remybonjasky.com/ |date=2005-08-29 }} {{K-1 World GP Champions}} {{Authority control}} [[വർഗ്ഗം:1976-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:സൂരിനാമീസ് പുരുഷ ക്വിക്ക്ബോക്സേഴ്സ്]] [[വർഗ്ഗം:പരമാരിബൊയിൽ നിന്നുള്ളവർ]] 2gy6vhqkwrnq8x8ks71xn3rxu8jyy7h കെ.എ. തുളസി 0 469870 4621587 4620809 2026-05-22T15:56:41Z Kiran Gopi 10521 [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ പ്രതിനിധികൾ]] നീക്കം ചെയ്തു; [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] ചേർത്തു [[വിക്കിപീഡിയ:ഹോട്ട്കാറ്റ്|ഹോട്ട്ക്യാറ്റ്]] ഉപയോഗിച്ച് 4621587 wikitext text/x-wiki {{Infobox officeholder | name = | image = | caption = | office = പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്ക വിഭാഗ ക്ഷേമ മന്ത്രി</br>[[കേരള സർക്കാർ]] | predecessor = [[ഒ.ആർ.കേളു]] | term_start = {{Start date|2026|05|18|df=yes}} | term_end = | office1 = കേരള [[നിയമസഭാംഗം]] | term_start1 = {{Start date|2026|05|18|df=yes}} | term_end1 = | constituency1 = [[Kongad Assembly constituency|കോങ്ങാട്]] | predecessor1 = [[കെ.ശാന്തകുമാരി]] | successor1 = | birth_date = {{Birth year and age|1974}} | birth_place = [[Palakkad district|പാലക്കാട്]], [[കേരളം]], ഇന്ത്യ | party = [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | 1blankname = ഗവർണർ | 1namedata = [[രാജേന്ദ്ര അർലേക്കർ]] | 2blankname = മുഖ്യമന്ത്രി | 2namedata = [[വി.ഡി. സതീശൻ]] | occupation = {{hlist|രാഷ്ട്രീയക്കാരൻ|ടീച്ചർ}} | education = {{Unbulleted_list|[[Master of Arts]] (History)|[[മാസ്റ്റർ ഓഫ് ഫിലോസഫി]]}} | alma_mater = [[ഗവൺമെൻ്റ് വിക്ടോറിയ കോളേജ്, പാലക്കാട്]] <ref>https://www.myneta.info/Kerala2026/candidate.php?candidate_id=5</ref> | spouse = [[വി. കെ.ശ്രീകണ്ഠൻ]] }} പതിനാറാം കേരള മന്ത്രിസഭയിലെ ഒരു മന്ത്രിയാണ് കെ. എ തുളസി. [[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കോങ്ങാട്]]നിന്നുള്ള നിയമസഭാംഗമായ തുളസി ഹരിജനക്ഷേമവകുപ്പ് കൈകാര്യം ചെയ്യുന്നു. [[പാലക്കാട് ലോക്‌സഭാ നിയോജകമണ്ഡലം|പാലക്കാട് ലോകസ്ഭാംഗ]]മായ [[വി.കെ. ശ്രീകണ്ഠൻ|വി.കെ ശ്രീകണ്ഠൻ]] ആണ് ഭർത്താവ്. ==വ്യക്തി ജീവിതം== 1974-ൽ തൃശൂർ ജില്ലയിലെ കൊണ്ടാഴിയിലാണ് തുളസി ജനിച്ചത്.മാതാപിതാക്കൾ: കോൺഗ്രസിന്റെ സജീവ പ്രവർത്തകനായിരുന്ന കെ.എ. അയ്യപ്പന്റെയും എം.കെ. അമ്മിണിയുടെയും മകളാണ്.ഏറെ ദാരിദ്ര്യം നിറഞ്ഞ ഒരു ബാല്യകാലമായിരുന്നു അവരുടേത്. പഴയന്നൂർ ഹൈസ്കൂളിൽ നിന്നാണ് പ്രാഥമിക വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയത്.ഇരിങ്ങാലക്കുട സെന്റ് ജോസഫ് കോളജ്, ഗുരുവായൂർ ലിറ്റിൽ ഫ്ലവർ കോളജ്, പാലക്കാട് ഗവ. വിക്ടോറിയ കോളജ് എന്നിവിടങ്ങളിൽ പഠനം നടത്തി. ചരിത്രത്തിൽ എം.എ. , എം.ഫിൽ. ബിരുദങ്ങൾ നേടിയിട്ടുണ്ട്.പഠനകാലത്ത് സ്പോർട്സ്, കലാരംഗം എന്നിവയിലും അവർ തിളങ്ങിയിരുന്നു.രാഷ്ട്രീയത്തിൽ സജീവമാകുന്നതിനൊപ്പംവിവിധ എൻ.എസ്.എസ്.കോളജുകളിൽ ചരിത്രാധ്യാപികയായും നെന്മാറ കോളജിലെ ചരിത്ര വിഭാഗം മേധാവിയായി അവർ പ്രവർത്തിച്ചിട്ടുണ്ട്. പൊതുപ്രവർത്തന രംഗത്തെ സജീവ ഇടപെടലുകൾക്കിടയിലെ പരിചയവും പ്രണയവുമാണ് വി.കെ. ശ്രീകണ്ഠനു മായി വിവാഹത്തിൽ എത്തിയത്. [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:കേരളത്തിലെ പിന്നോക്കക്ഷേമവകുപ്പ് മന്ത്രിമാർ]] == രാഷ്ട്രീയരംഗം == 1994-ൽ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിൽ അംഗത്വം എടുത്തുകൊണ്ടാണ് തുളസി തന്റെ പൊതുപ്രവർത്തനം ആരംഭിക്കുന്നത്. 2004-ൽ കെ.പി.സി.സി എക്സിക്യുട്ടീവ് അംഗമായി തിരഞ്ഞെടുക്കപ്പെട്ടു. എ.ഐ.സി.സി (AICC) അംഗമായും പ്രവർത്തിച്ചിട്ടുണ്ട്.കെ.പി.സി.സി ഭാരവാഹി: 2021 മുതൽ കെ.പി.സി.സി (KPCC) ജനറൽ സെക്രട്ടറിയായി പ്രവർത്തിച്ചുവരുന്നു.2012 മുതൽ 2017 വരെയുള്ള കാലയളവിൽ സംസ്ഥാന വനിതാ കമ്മീഷൻ അംഗമായും അവർ സേവനമനുഷ്ഠിച്ചിട്ടുണ്ട്. തൃശൂർ ജില്ലാ പഞ്ചായത്തിലെ ചേലക്കര ഡിവിഷനിൽ നിന്നുള്ള അംഗമായിരുന്നു. 2001-ൽ ചേലക്കര നിയമസഭാ മണ്ഡലത്തിലും, 2004-ൽ ഒറ്റപ്പാലം ലോക്സഭാ മണ്ഡലത്തിലും യു.ഡി.എഫ് (UDF) സ്ഥാനാർത്ഥിയായി മത്സരിച്ചെങ്കിലും അന്ന് പരാജയപ്പെടുകയാണുണ്ടായത്. 2026ൽ [[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കോങ്ങാട്നിന്ന് ]]നിയമസഭാംഗവും മന്ത്രിയും ആയി. nf385xbiip9s0pah8a0fmu8lk2goy95 എം.ഒ. മത്തായി 0 481108 4622207 3625934 2026-05-23T11:40:28Z FluteWarrior 217914 /* growthexperiments-addlink-summary-summary:2|0|0 */ 4622207 wikitext text/x-wiki {{prettyurl|M. O. Mathai}} {{Infobox person | name = എം.ഒ. മത്തായി | image = Mo mathai.png | alt = | caption = എം.ഒ. മത്തായി | birth_name = | birth_date = <!-- {{birth date and age|YYYY|MM|DD}} for living people. For people who have died, use {{Birth date|YYYY|MM|DD}}. --> | birth_place = കേരളം | death_date = <!-- {{Death date and age|YYYY|MM|DD|YYYY|MM|DD}} (death date then birth date) --> | death_place = മദ്രാസ് | nationality = ഇന്ത്യൻ | other_names = | occupation = ആദ്യ ഇന്ത്യൻ പ്രധാന മന്ത്രിയുടെ സെക്രട്ടറി | years_active = | known_for = | notable_works = റെമിനിസെൻസസ് ഓഫ് ദ നെഹ്രു എയ്ജ് }} ജവർലാൽ നെഹ്റുവിന്റെ സ്പെഷ്യൽ അസിസ്റ്റന്റ് ആയിരുന്നു എം.ഒ. മത്തായി (1909–1981). യുണൈറ്റഡ് സ്റ്റേറ്റ്സ് ആർമിയുടെ [[ഇന്ത്യ]] വിഭാഗത്തിൽ ജോലി ചെയ്തിരുന്ന അദ്ദേഹം 1946 ൽ നെഹ്റുവുമൊത്ത് പ്രവർത്തിക്കാനാരംഭിച്ചു. 1959 ൽ അഴിമതി ആരോപണത്തെത്തുടർന്ന് രാജി വെച്ചു. ==ജീവിതരേഖ== ചെങ്ങന്നൂരെ [[അങ്ങാടിക്കൽ]] ഇ.എ.എൽ.പി.സ്കൂളിൽ പ്രാഥമിക വിദ്യാഭ്യാസം നേടി.<ref>https://schoolwiki.in/%E0%B4%87.%E0%B4%8E.%E0%B4%8E%E0%B5%BD.%E0%B4%AA%E0%B4%BF.%E0%B4%B8%E0%B5%8D%E0%B4%95%E0%B5%82%E0%B5%BE_%E0%B4%85%E0%B4%99%E0%B5%8D%E0%B4%99%E0%B4%BE%E0%B4%9F%E0%B4%BF%E0%B4%95%E0%B5%8D%E0%B4%95%E0%B5%BD</ref> മദ്രാസ് സർവകലാശാലയിൽ ബിരുദത്തിന് പഠിച്ച അദ്ദേഹം പിന്നീട് മുൻ എം .പി. യായ സി.പി. മാത്യുവിന്റെ കീഴിൽ ടൈപ്പിസ്റ്റായി. യുദ്ധകാലത്ത് രാജ്യത്തു പ്രവർത്തനമാരംഭിച്ച ഒരു അമേരിക്കൻ ഗവൺമെൻറ് സംഘടനയായ യുണൈറ്റഡ് സ്റ്റേറ്റ്സ് ആർമിയിൽ ജോലി ചെയ്തു. 1946 ൽ നെഹ്റുവിന്റെ സ്റ്റാഫിൽ സ്റ്റെനോ ടൈപ്പിസ്റ്റായി. പിന്നീട് പ്രധാനമന്ത്രിയുടെ സ്പെഷ്യൽ അസിസ്റ്റൻറായി. അഴിമതി ആരോപണത്തെത്തുടർന്ന് 1959 ൽ പ്രധാന മന്ത്രിയുടെ സ്റ്റാഫിൽ നിന്നും രാജി വെച്ചു. ==കൃതികൾ== * [[റെമിനിസെൻസസ് ഓഫ് ദ നെഹ്രു എയ്ജ്]] * മൈ ‍ഡേസ് വിത്ത് നെഹ്റു ==വിവാദങ്ങൾ== * തന്റെ അമ്മയുടെ പേരിൽ രൂപീകരിച്ച ചേച്ചമ്മ മെമോറിയൽ ട്രസ്റ്റുമായി ബന്ധപ്പെട്ട് നിഖിൽ ചക്രവർത്തി പുറത്തു കൊണ്ടു വന്ന അഴിമതി ആരോപണത്തെത്തുടർന്ന് പ്രധാന മന്ത്രിയുടെ സ്റ്റാഫിൽ നിന്നും രാജി വെച്ചു.<ref>https://www.mainstreamweekly.net/article800.html</ref><ref>{{Cite web |url=http://rsdebate.nic.in/rsdebate56/bitstream/123456789/567109/1/PD_24_16021959_6_p747_p876_9.pdf |title=ആർക്കൈവ് പകർപ്പ് |access-date=2019-08-09 |archive-date=2019-08-09 |archive-url=https://web.archive.org/web/20190809023327/http://rsdebate.nic.in/rsdebate56/bitstream/123456789/567109/1/PD_24_16021959_6_p747_p876_9.pdf |url-status=dead }}</ref> * '1978-ൽ പുറത്തിറങ്ങിയ അദ്ദേഹത്തിന്റെ പുസ്തകം, 'റെമിനിസെൻസസ് ഓഫ് ദ നെഹ്രു എയ്ജിൽ' 153-ാം പേജിൽ 29-ാം അധ്യായത്തെക്കുറിച്ച് പ്രസാധകന്റേതായി ഒരു കുറിപ്പുണ്ടായിരുന്നു. 'ഗ്രന്ഥകർത്താവിന്റെ വളരെ വ്യക്തിപരമായ അനുഭവം എഴുതിയത് അവസാനനിമിഷം ഗ്രന്ഥകർത്താവുതന്നെ പിൻവലിച്ചിരിക്കുന്നു.' എന്നായിരുന്നു കുറിപ്പ്. പിന്നാലെ പ്രസാധകൻ നരേന്ദ്രകുമാറിന്റെ വിശദീകരണം വന്നു. കുറിപ്പ് വെറും പരസ്യമായിരുന്നെന്നും അങ്ങനെയൊരധ്യായം ഇല്ലെന്നുമായിരുന്നു അത്. ഷി (അവൾ) എന്നുപേരിട്ട ഈ അധ്യായത്തിൽ ഇന്ദിരാ ഗാന്ധിയുമായുണ്ടായിരുന്നതെന്നു പറയുന്ന 12 വർഷത്തെ അടുപ്പത്തെക്കുറിച്ചാണ് എഴുതിയിരുന്നതെന്ന് രഹസ്യാന്വേഷണ വിഭാഗം (ഐ.ബി.) മുൻ മേധാവി ടി.വി. രാജേശ്വർ പറഞ്ഞിരുന്നു. * നട്വർ സിംഗ് ഇദ്ദേഹത്തെ സി.ഐ.എ. ചാരനെന്ന് ആരോപിച്ചിരുന്നു. ==അവലംബം== <references/> ==പുറം കണ്ണികൾ== *[https://query.nytimes.com/gst/fullpage.html?res=9A00EEDD133BF932A0575BC0A967948260 New York Times Obituary] [[വർഗ്ഗം:ജവഹർലാൽ നെഹ്രു]] [[വർഗ്ഗം:1909-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:1981-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:മലയാളികൾ]] [[വർഗ്ഗം:എഴുത്തുകാർ]] g2qo2n4838aqwemvy1x1sydmtlgy50n റിയാക്ട് (വെബ് ഫ്രെയിംവർക്ക്) 0 484536 4621623 4516863 2026-05-22T20:42:50Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621623 wikitext text/x-wiki {{PU|React}} {{Infobox software | name = റിയാക്ട് | logo = React-icon.svg | author = Jordan Walke | developer = Facebook and community | released = {{Start date and age|2013|5|29}}<ref name="initialrelease">{{cite web|url=https://www.youtube.com/watch?v=GW0rj4sNH2w|last1=Occhino|first1=Tom|last2=Walke|first2=Jordan|title=JS Apps at Facebook|website=YouTube|access-date=22 Oct 2018}}</ref> | latest release version = 16.9.0 | latest release date = {{Start date and age|2019|08|08}}<ref name="ghrelease">{{cite web |url=https://github.com/facebook/react/releases |title=Releases – Facebook/React |website=[[GitHub]]}}</ref><!-- DO NOT CHANGE THIS REFERENCE: the GitHub release page can remain as a static reference for all foreseeable releases--> | latest preview version = | latest preview date = <!-- {{Start date and age|2016|04|7}}<ref name="ghrelease"/> --> <!--| status = Active -->| repo = {{URL|https://github.com/facebook/react|React Repository}} | programming language = [[JavaScript]] | platform = [[Web platform]] | genre = [[JavaScript library]] | license = [[MIT License]] | website = {{URL|reactjs.org}} }} ഉപയോക്തൃ ഇന്റർഫേസുകൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു [[ജാവാസ്ക്രിപ്റ്റ്]] ലൈബ്രറിയാണ് '''റിയാക്ട്''' (React.js അല്ലെങ്കിൽ ReactJS എന്നും അറിയപ്പെടുന്നു)<ref name="react">{{Cite web|url= https://reactjs.org|title=React - A JavaScript library for building user interfaces.|website=React|access-date=7 April 2018}}</ref>. ഇത് പരിപാലിക്കുന്നത് [[ഫേസ്‌ബുക്ക്|ഫേസ്ബുക്കും]] വ്യക്തിഗത ഡവലപ്പർമാരുടെയും കമ്പനികളുടെയും ഒരു കമ്മ്യൂണിറ്റിയാണ്.<ref>{{cite web |url=https://www.infoworld.com/article/2608181/javascript/react--making-faster--smoother-uis-for-data-driven-web-apps.html |title=React: Making faster, smoother UIs for data-driven Web apps |last=Krill |first=Paul |date=May 15, 2014 |website=[[InfoWorld]]}}</ref><ref>{{cite web |url=https://www.infoq.com/news/2013/06/facebook-react |title=Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews |last=Hemel |first=Zef |date=June 3, 2013 |website=InfoQ}}</ref><ref>{{cite web |url=https://thenewstack.io/javascripts-history-and-how-it-led-to-reactjs/ |title=JavaScript’s History and How it Led To ReactJS |last=Dawson |first=Chris |date=July 25, 2014 |website=The New Stack}}</ref> ഉപയോക്തൃ ഇന്റർഫേസുകൾ അല്ലെങ്കിൽ യുഐ ഘടകങ്ങൾ നിർമ്മിക്കുന്നതിനുള്ള ഒരു ഓപ്പൺ സോഴ്‌സ് ഫ്രണ്ട് എൻഡ് [[ജാവാസ്ക്രിപ്റ്റ്]] ലൈബ്രറിയാണ് റിയാക്റ്റ് (React.js അല്ലെങ്കിൽ ReactJS എന്നും അറിയപ്പെടുന്നു).<ref name="react"/> ഇത് ഫേസ്ബുക്കും വ്യക്തിഗത ഡവലപ്പർമാരുടെയും കമ്പനികളുടെയും ഒരു കമ്മ്യൂണിറ്റിയാണ് പരിപാലിക്കുന്നത്.<ref>{{cite web |url=https://www.infoworld.com/article/2608181/javascript/react--making-faster--smoother-uis-for-data-driven-web-apps.html |title=React: Making faster, smoother UIs for data-driven Web apps |last=Krill |first=Paul |date=May 15, 2014 |website=[[InfoWorld]]}}</ref><ref>{{cite web |url=https://www.infoq.com/news/2013/06/facebook-react |title=Facebook's React JavaScript User Interfaces Library Receives Mixed Reviews |last=Hemel |first=Zef |date=June 3, 2013 |website=InfoQ}}</ref><ref>{{cite web |url=https://thenewstack.io/javascripts-history-and-how-it-led-to-reactjs/ |title=JavaScript's History and How it Led To ReactJS |last=Dawson |first=Chris |date=July 25, 2014 |website=The New Stack}}</ref> [[ഒറ്റ പേജ് അപ്ലിക്കേഷൻ|ഒറ്റ പേജ്]] അല്ലെങ്കിൽ മൊബൈൽ ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കുന്നതിൽ ഒരു അടിസ്ഥാനമായി റിയാക്റ്റ് ഉപയോഗിക്കാം. എന്നിരുന്നാലും, റിയാക്റ്റിന് സ്റ്റേറ്റ് മാനേജ്മെൻറിനെക്കുറിച്ചും ആ സ്റ്റേറ്റ് ഡോമിലേക്ക്(DOM)റെൻഡർ ചെയ്യുന്നതിനുമായി മാത്രമേ ബന്ധമുള്ളൂ, അതിനാൽ റിയാക്റ്റ് ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുന്നതിന് സാധാരണയായി റൗട്ടിംഗിനായി അധിക ലൈബ്രറികളുടെ ഉപയോഗവും ചില ക്ലയന്റ് സൈഡ് പ്രവർത്തനങ്ങളും ആവശ്യമാണ്. <ref>{{Cite news|url=https://medium.freecodecamp.org/integrating-create-react-app-redux-react-router-redux-observable-bootstrap-altogether-216db97e89a3|title=How to integrate create-react-app with all the libraries you need to make a great app|last=Dere|first=Mohan|date=2018-02-19|work=freeCodeCamp|access-date=2018-06-14}}</ref> ==അടിസ്ഥാന ഉപയോഗം== ജെ‌എസ്‌എക്സ്, ജാവാസ്ക്രിപ്റ്റ് എന്നിവയ്ക്കൊപ്പം [[എച്.റ്റി.എം.എൽ.|എച്ച്ടിഎംഎല്ലിലെ]] റിയാക്ട് ഉപയോഗത്തിന്റെ അടിസ്ഥാന ഉദാഹരണമാണ് ഇനിപ്പറയുന്നത്. <syntaxhighlight lang="html"> <div id="myReactApp"></div> <script type="text/babel"> class Greeter extends React.Component { render() { return <h1>{this.props.greeting}</h1> } } ReactDOM.render(<Greeter greeting="Hello World!" />, document.getElementById('myReactApp')); </script> </syntaxhighlight> പ്രോപ്പർട്ടി ഗ്രീറ്റിംഗ് സ്വീകരിക്കുന്ന ഒരു റിയാക്റ്റ് ഘടകമാണ് ഗ്രീറ്റർ ക്ലാസ്. <code>ReactDOM.render</code> രീതി ഗ്രീറ്റർ ഘടകത്തിന്റെ ഒരു ഉദാഹരണം സൃഷ്ടിക്കുകയും ഗ്രീറ്റിംഗ് പ്രോപ്പർട്ടി 'ഹലോ വേൾഡ്' ആയി സജ്ജമാക്കുകയും റെൻഡർ ചെയ്ത ഘടകം ഐഡി <code>myReactApp</code> ഉപയോഗിച്ച് [[ഡോക്യുമെന്റ് ഒബ്ജക്റ്റ് മോഡൽ|ഡോം(DOM)]] ഘടകത്തിലേക്ക് ഒരു ചൈൽഡ് എലമെന്റായി ചേർക്കുകയും ചെയ്യുന്നു. ഒരു വെബ് ബ്രൗസറിൽ പ്രദർശിപ്പിക്കുമ്പോൾ അതിന്റെ ഫലം ലഭിക്കും <syntaxhighlight lang="html"> <div id="myReactApp"> <h1>Hello World!</h1> </div> </syntaxhighlight> ==ശ്രദ്ധേയമായ സവിശേഷതകൾ== ===കമ്പോണന്റ്സ്=== ഘടകങ്ങൾ(components) എന്ന് വിളിക്കുന്ന എന്റിറ്റികളിലാണ് റിയാക്റ്റ് കോഡ് നിർമ്മിച്ചിരിക്കുന്നത്. റിയാക്റ്റ് ഡോം ലൈബ്രറി ഉപയോഗിച്ച് ഘടകങ്ങളെ ഡോമി ലെ ഒരു പ്രത്യേക ഘടകത്തിലേക്ക് റെൻഡർ ചെയ്യാൻ കഴിയും. ഒരു ഘടകം റെൻഡർ ചെയ്യുമ്പോൾ, "പ്രോപ്സ്" എന്നറിയപ്പെടുന്ന പ്രോപ്പർട്ടിയിലൂടെ മൂല്യങ്ങൾ പാസ് ചെയ്യാൻ സാധിക്കുന്നതാണ്:<ref>{{cite web|url=https://reactjs.org/docs/components-and-props.html#props-are-read-only|website=React|title=Components and Props|publisher=Facebook|access-date=7 April 2018}}</ref> <syntaxhighlight lang="js"> ReactDOM.render(<Greeter greeting="Hello World!" />, document.getElementById('myReactApp')); </syntaxhighlight> റിയാക്റ്റിലെ കമ്പോണന്റ്സ് വിളിക്കുന്നതിനുള്ള രണ്ട് പ്രാഥമിക മാർഗ്ഗങ്ങളാണ് ഫംഗ്ഷണൽ കമ്പോണന്റസും ക്ലാസ് അധിഷ്ഠിത കമ്പോണന്റ്സും. ===ഫങ്ഷണൽ കമ്പോണന്റ്സ്=== ഫംഗ്ഷണൽ കമ്പോണന്റ്സ് ഒരു ഫംഗ്ഷൻ ഉപയോഗിച്ച് പ്രഖ്യാപിക്കുകയും പിന്നീട് ജെ‌എസ്‌എക്സ്(JavaScript XML) റിട്ടേൺ ചെയ്യുന്നു. ഉദാ: <syntaxhighlight lang="js"> const Greeting = (props) => <div>Hello, {props.name}!</div>; </syntaxhighlight> ===ക്ലാസ് അടിസ്ഥാനമാക്കിയുള്ള കമ്പോണന്റ്സ്=== ക്ലാസ് അധിഷ്ഠിത കമ്പോണന്റ്സ് [[ES6|ഇഎസ്6]](ES6) ക്ലാസ് ഉപയോഗിച്ച് പ്രഖ്യാപിക്കുന്നു. ഉദാ: <syntaxhighlight lang="js"> class ParentComponent extends React.Component { state = { color: 'green' }; render() { return ( <ChildComponent color={this.state.color} /> ); } } </syntaxhighlight> ===വെർച്വൽ ഡോം=== ശ്രദ്ധേയമായ മറ്റൊരു സവിശേഷത ഒരു വെർച്വൽ ഡോക്യുമെന്റ് ഒബ്ജക്റ്റ് മോഡൽ അല്ലെങ്കിൽ വെർച്വൽ ഡോം ആണ്. റിയാക്റ്റ് ഒരു മെമ്മറി ഡാറ്റ-സ്്ട്രക്ചർ കാഷെ സൃഷ്ടിക്കുന്നു, അതിന്റെ ഫലമായുണ്ടാകുന്ന വ്യത്യാസങ്ങൾ കണക്കാക്കുന്നു, തുടർന്ന് ബ്രൗസറിൽ ഡോം കാര്യക്ഷമമായി അപ്‌ഡേറ്റ് ചെയ്യുന്നു.<ref name=workingwiththebrowser>{{cite web |url=https://reactjs.org/docs/refs-and-the-dom.html |title=Refs and the DOM |website=React Blog}}</ref>ഈ പ്രക്രിയയെ '''റീകൺസിലീയേഷൻ'''(reconciliation)എന്ന് വിളിക്കുന്നു. ഓരോ മാറ്റത്തിലും മുഴുവൻ പേജും റെൻഡർ ചെയ്യുന്നതുപോലെ കോഡ് എഴുതാൻ ഇത് പ്രോഗ്രാമറെ അനുവദിക്കുന്നു, അതേസമയം റിയാക്റ്റ് ലൈബ്രറികൾ യഥാർത്ഥത്തിൽ മാറുന്ന സബ് കമ്പോണന്റസിനെ മാത്രമേ റെൻഡർ ചെയ്യുകയുള്ളൂ. ഈ സെലക്ടീവ് റെൻഡറിംഗ് മെച്ചപ്പെട്ട പെർഫോമൻസ് നൽകുന്നു. [[CSS|സി‌എസ്‌എസ്]] സ്റ്റയിൽ വീണ്ടും കണക്കാക്കാനുള്ള ശ്രമം, പേജിനായുള്ള ലേഔട്ട്, മുഴുവൻ പേജിനും റെൻഡർ ചെയ്യൽ എന്നിവയിൽ നിന്ന് സംരക്ഷിക്കുന്നു. ===ലൈഫ് സൈക്കിൾ മെത്തേഡ്സ്=== ഒരു കമ്പോണന്റിന്റെ ലൈഫ്ടൈം സെറ്റ് പോയിന്റുകളിൽ കോഡ് നിർവ്വഹിക്കാൻ അനുവദിക്കുന്ന ഒരു തരം ഹുക്കിംഗ് ലൈഫ് സൈക്കിൾ മെത്തേഡുകൾ ഉപയോഗിക്കുന്നു. *<code>shouldComponentUpdate</code>ഒരു റെൻഡർ ആവശ്യമില്ലെങ്കിൽ ഫാൾസായി റിട്ടേൺ ചെയ്ത് ഒരു കമ്പോണന്റിന്റെ അനാവശ്യ റീ-റെൻഡറിംഗ് തടയാൻ ഡവലപ്പറെ അനുവദിക്കുന്നു. *<code>componentDidMount</code>കമ്പോണൻസ് "മൗണ്ട്" ചെയ്തുകഴിഞ്ഞാൽ (കമ്പോണൻസ് ഉപയോക്തൃ ഇന്റർഫേസിൽ സൃഷ്ടിക്കപ്പെടുന്നു, പലപ്പോഴും ഇത് ഒരു ഡോം നോഡുമായി ബന്ധപ്പെടുത്തിക്കൊണ്ടായിരിക്കും)ഒരു വിദൂര ഉറവിടത്തിൽ നിന്ന് ഒരു [[API|എപിഐ]](API) വഴി ഡാറ്റ ലോഡിംഗ് പ്രവർത്തനക്ഷമമാക്കാൻ ഇത് സാധാരണയായി ഉപയോഗിക്കുന്നു. *<code>componentWillUnmount</code> കമ്പോണൻസ് ഇല്ലാതാക്കുകയോ അല്ലെങ്കിൽ "അൺ‌മൗണ്ട് ചെയ്യുന്നതിനെയോ" ആണ്. കമ്പോണൻസിന്റെ റിസോഴ്സ്-ഡിമാൻഡിംഗ് ഡിപൻഡൻസികൾ മായ്‌ക്കുന്നതിന് ഇത് സാധാരണയായി ഉപയോഗിക്കുന്നു, അത് കമ്പോണൻസിന്റെ അൺമൗണ്ടിംഗ് ഉപയോഗിച്ച് നീക്കംചെയ്യില്ല (ഉദാ. കമ്പോണൻസിന്റെ സാന്നിധ്യം കാരണം കമ്പോണൻസുമായി ബന്ധപ്പെട്ട ഏതെങ്കിലും <code>setInterval()</code> നീക്കംചെയ്യൽ, അല്ലെങ്കിൽ "ഇവന്റ് ലിസ്റ്റനർ" ഉപയോഗിച്ച് പ്രമാണത്തെ സെറ്റ് ചെയ്യൽ മുതലായവ) *<code>render</code>ഏറ്റവും പ്രധാനപ്പെട്ട ലൈഫ് സൈക്കിൾ മെത്തേഡാണ്, ഏത് കമ്പോണൻസിനും ആവശ്യമുള്ള ഒരേയൊരു മാർഗ്ഗവുമാണ്. കമ്പോണൻസിന്റെ സ്റ്റേറ്റ് അപ്‌ഡേറ്റുചെയ്യുമ്പോഴെല്ലാം ഇത് സാധാരണയായി വിളിക്കപ്പെടുന്നു, അത് ഉപയോക്തൃ ഇന്റർഫേസിൽ പ്രതിഫലിക്കുകയും ചെയ്യുന്നു. ===ജെഎസ്എക്സ്=== ജാവാസ്ക്രിപ്റ്റ് ഭാഷാ വാക്യഘടനയിലേക്കുള്ള വിപുലീകരണമാണ് ജെ‌എസ്‌എക്സ് അല്ലെങ്കിൽ ജാവാസ്ക്രിപ്റ്റ് [[XML|എക്സ്എം‌എൽ]].<ref>{{cite web|title=Draft: JSX Specification|url=https://facebook.github.io/jsx/|website=JSX|publisher=Facebook|access-date=7 April 2018|archive-date=2022-04-02|archive-url=https://web.archive.org/web/20220402072504/https://facebook.github.io/jsx/|url-status=dead}}</ref> [[HTML|എച്ച്‌ടി‌എം‌എല്ലിന്]] സമാനമായി, നിരവധി ഡെവലപ്പർ‌മാർ‌ക്ക് പരിചിതമായ വാക്യഘടന ഉപയോഗിച്ച് കമ്പോണൻസ് റെൻഡറിംഗ് രൂപകൽപ്പന ചെയ്യുന്നതിനുള്ള ഒരു മാർ‌ഗ്ഗം ജെ‌എസ്‌എക്സ് നൽകുന്നു. റിയാക്റ്റ് കമ്പോണൻസ് സാധാരണയായി ജെ‌എസ്‌എക്സ് ഉപയോഗിച്ചാണ് എഴുതുന്നത്, അവ ഉണ്ടാകണമെന്നില്ലെങ്കിലും (കമ്പോണൻസ് പ്യൂവർ ജാവാസ്ക്രിപ്റ്റിലും(pure JavaScript) എഴുതാം). എക്സ്എച്ച്പി എന്നറിയപ്പെടുന്ന [[PHP|പിഎച്ച്പിക്കായി]] ഫേസ്ബുക്ക് സൃഷ്ടിച്ച മറ്റൊരു വിപുലീകരണ വാക്യഘടനയ്ക്ക് സമാനമാണ് ജെഎസ്എക്സ്. ജെഎസ്എക്സ് കോഡിന്റെ ഒരു ഉദാഹരണം: <syntaxhighlight lang="js" line="1"> class App extends React.Component { render() { return ( <div> <p>Header</p> <p>Content</p> <p>Footer</p> </div> ); } } </syntaxhighlight> ===എച്ച്‌ടി‌എം‌എൽ എന്നതിനപ്പുറമുള്ള ആർക്കിടെക്ചർ=== റിയാക്റ്റിന്റെ അടിസ്ഥാന ആർക്കിടെക്ചർ ബ്രൗസറിൽ എച്ച്‌ടി‌എം‌എൽ റെൻഡർ ചെയ്യുന്നതിനപ്പുറം ബാധകമാണ്. ഉദാഹരണത്തിന്, <code><nowiki><canvas></nowiki></code> ടാഗുകളിലേക്ക് <ref>{{cite web|url=https://facebook.github.io/react/blog/2013/06/05/why-react.html|title=Why did we build React? – React Blog|access-date=2021-06-02|archive-date=2015-04-06|archive-url=https://web.archive.org/web/20150406072833/http://facebook.github.io/react/blog/2013/06/05/why-react.html|url-status=dead}}</ref>റെൻഡർ ചെയ്യുന്ന ചലനാത്മക ചാർട്ടുകൾ ഫേസ്ബുക്കിൽ ഉണ്ട്, സെർവറിലും ക്ലയന്റിലും സമാനമായ എച്ച്‌ടി‌എം‌എൽ(HTML) റെൻഡർ ചെയ്യുന്നതിന് നെറ്റ്ഫ്ലിക്സും [[PayPal|പേപാലും]] യൂണിവേഴ്സൽ ലോഡിംഗ് ഉപയോഗിക്കുന്നു.<ref name=paypal-isomorphic-reactjs>{{cite web|title=PayPal Isomorphic React|url=https://medium.com/paypal-engineering/isomorphic-react-apps-with-react-engine-17dae662379c | archive-url=https://web.archive.org/web/20190208124143/https://www.paypal-engineering.com/2015/04/27/isomorphic-react-apps-with-react-engine/ | archive-date=2019-02-08 | url-status=live }}</ref><ref name=netflix-isomorphic-reactjs>{{cite web|title=Netflix Isomorphic React|url=http://techblog.netflix.com/2015/01/netflix-likes-react.html}}</ref> ===റിയാക്ട് ഹുക്ക്സ്=== ഫംഗ്ഷൻ കമ്പോണന്റിൽ നിന്നും സ്റ്റേറ്റും, ലൈഫ് സൈക്കിൾ സവിശേഷതകളും ഉപയോഗിക്കുവാൻ ഡവലപ്പർമാരെ അനുവദിക്കുന്ന ഫംഗ്ഷനുകളാണ് ഹുക്കുകൾ.<ref>{{Cite web|url=https://reactjs.org/docs/hooks-overview.html|title=Hooks at a Glance – React|website=reactjs.org|language=en|access-date=2019-08-08}}</ref> ക്ലാസുകൾക്കുള്ളിൽ ഹുക്കുകൾ പ്രവർത്തിക്കില്ല - ക്ലാസുകൾ ഇല്ലാതെ റിയാക്റ്റ് ഉപയോഗിക്കാൻ ഇത് മൂലം സാധിക്കുന്നു.<ref>{{Cite web|url=https://blog.soshace.com/what-the-heck-is-react-hooks/|title=What the Heck is React Hooks?|date=2020-01-16|website=Soshace|language=en|access-date=2020-01-24|archive-date=2022-05-31|archive-url=https://web.archive.org/web/20220531133601/https://blog.soshace.com/what-the-heck-is-react-hooks/|url-status=dead}}</ref> റിയാക്റ്റ് ചില ബിൽറ്റ്-ഇൻ ഹുക്കുകൾ നൽകുന്നു <code>useState</code><ref>{{Cite web|url=https://reactjs.org/docs/hooks-state.html|title=Using the State Hook – React|website=reactjs.org|language=en|access-date=2020-01-24}}</ref> <code>useContext</code>, <code>useReducer</code> ഉം <code>useEffect</code>. <ref>{{Cite web|url=https://reactjs.org/docs/hooks-effect.html|title=Using the Effect Hook – React|website=reactjs.org|language=en|access-date=2020-01-24}}</ref> മറ്റുള്ളവ ഹുക്സ് എപിഐ(API) റഫറൻസിൽ രേഖപ്പെടുത്തിയിട്ടുണ്ട്.<ref>{{Cite web|url=https://reactjs.org/docs/hooks-reference.html|title=Hooks API Reference – React|website=reactjs.org|language=en|access-date=2020-01-24}}</ref> <code>useState</code>, <code>useReducer</code><code>useEffect</code>, ഇവ ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്നത് യഥാക്രമം സ്റ്റേറ്റ്, സൈഡ് എഫ്റ്റ് എന്നിവ നിയന്ത്രിക്കുന്നതിനാണ്. ==== ഹുക്ക് ഉപയോഗിക്കുന്നതിനുള്ള നിയമങ്ങൾ ==== ഹുക്കുകൾ ആശ്രയിക്കുന്ന ക്യാരക്ടറൈസ്ഡ് കോഡ് പാറ്റേൺ വിവരിക്കുന്ന ഹുക്ക് നിയമങ്ങളുണ്ട്.<ref>{{Cite web|url=https://reactjs.org/docs/hooks-rules.html|title=Rules of Hooks – React|website=reactjs.org|language=en|access-date=2020-01-24}}</ref> റിയാക്റ്റിനൊപ്പം സ്റ്റേറ്റ് കൈകാര്യം ചെയ്യുന്നതിനുള്ള ആധുനിക മാർഗമാണിത്. #ഹുക്കുകൾ ഉയർന്ന തലത്തിൽ മാത്രമേ വിളിക്കൂ (ലൂപ്പിനുള്ളിലോ ഇഫ് സ്റ്റേറ്റ്മെന്റിനുള്ളിലോ(if statement)അല്ല). #സാധാരണ ഫംഗ്ഷനുകളിൽ നിന്നോ ക്ലാസ് കമ്പോണന്റ്സിൽ നിന്നോ അല്ല, റിയാക്റ്റ് ഫംഗ്ഷൻ കമ്പോണന്റിസിൽ നിന്ന് മാത്രമേ ഹുക്കുകൾ വിളിക്കൂ റൺടൈമിൽ ഈ നിയമങ്ങൾ നടപ്പിലാക്കാൻ കഴിയില്ലെങ്കിലും, ഡെവലപ്മെന്റ് സമയത്ത് നിരവധി തെറ്റുകൾ കണ്ടെത്തുന്നതിന് ലിന്റേഴ്സ് പോലുള്ള കോഡ് വിശകലന ഉപകരണങ്ങൾ ക്രമീകരിക്കാൻ കഴിയും. ഹുക്കുകളുടെ ഉപയോഗത്തിനും ഇഷ്‌ടാനുസൃത ഹുക്കുകൾ(custom hooks)നടപ്പിലാക്കുന്നതിനും ഈ നിയമങ്ങൾ ബാധകമാണ്, <ref>{{Cite web|url=https://reactjs.org/docs/hooks-custom.html|title=Building Your Own Hooks – React|website=reactjs.org|language=en|access-date=2020-01-24}}</ref> ഇതിനെ അതർ ഹൂക്കുകൾ എന്ന് വിളിക്കാം. ==കോമൺ ഇഡിയംസ്== ഒരു സമ്പൂർണ്ണ "ആപ്ലിക്കേഷൻ ലൈബ്രറി" നൽകാൻ റിയാക്റ്റ് ശ്രമിക്കുന്നില്ല. ഉപയോക്തൃ ഇന്റർ‌ഫേസുകൾ‌ നിർമ്മിക്കുന്നതിനായി ഇത് പ്രത്യേകം രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു <ref name="react" /> അതിനാൽ‌ ഒരു അപ്ലിക്കേഷൻ‌ നിർമ്മിക്കുന്നതിന് ചില ഡെവലപ്പർ‌മാർ‌ ആവശ്യമെന്ന് കരുതുന്ന നിരവധി ഉപകരണങ്ങൾ‌ ഉൾ‌പ്പെടുന്നില്ല. നെറ്റ്‌വർക്ക് ആക്‌സസ് അല്ലെങ്കിൽ ലോക്കൽ ഡാറ്റ സംഭരണം പോലുള്ള ജോലികൾ നിർവഹിക്കാൻ ഡെവലപ്പർമാർക്ക് താൽപ്പര്യപ്പെടുന്ന ലൈബ്രറികൾ തിരഞ്ഞെടുക്കാൻ ഇത് അനുവദിക്കുന്നു. ===യുണിഡിറക്ഷണൽ ഡാറ്റാ ഫ്ലോ=== റിയാക്റ്റിന്റെ യുണിഡിറക്ഷണൽ ഡാറ്റാ ഫ്ലോയെ പിന്തുണയ്ക്കുന്നതിനായി (ഇത് [[AngularJS|ആംഗുലർ.ജെഎസിന്റെ]] ബൈഡിറക്ഷണൽ ഫ്ലോയ്ക്ക് വിപരീതമാണ്), ജനപ്രിയ മോഡൽ-വ്യൂ-കൺട്രോളർ ആർക്കിടെക്ചറിന് പകരമായി ഫ്ലക്സ് ആർക്കിടെക്ചർ വികസിപ്പിച്ചെടുത്തു. ഒരു സെൻ‌ട്രൽ‌ ഡിസ്‌പാച്ചർ‌ വഴി ഒരു സ്റ്റോറിലേക്ക് അയയ്‌ക്കുന്ന പ്രവർ‌ത്തനങ്ങൾ‌ ഫ്ലക്സ് സവിശേഷതകൾ‌, കൂടാതെ സ്റ്റോറിലെ മാറ്റങ്ങൾ‌ വെബ്ബിലും തൽസമയം മാറ്റം സംഭവിക്കുന്നു. റിയാക്റ്റിനൊപ്പം ഉപയോഗിക്കുമ്പോൾ, കമ്പോണന്റ്സ് പ്രോപ്പർട്ടികളുലൂടെയാണ് ഈ പ്രചരണം നടക്കുന്നത്.<ref name="flux">{{cite web|url=https://facebook.github.io/flux/docs/in-depth-overview|title=In Depth OverView|publisher=Facebook|access-date=7 April 2018|website=Flux|archive-date=2022-08-07|archive-url=https://web.archive.org/web/20220807201252/https://facebook.github.io/flux/docs/in-depth-overview/|url-status=dead}}</ref> ആശയങ്ങളെ ഗ്രഹിക്കുന്നതു മുതൽ, ഫ്ലക്സിന്റെ പ്രാധാന്യം റെഡക്സ്(Redux), മോബ്എക്സ്(MobX) തുടങ്ങിയ ലൈബ്രറികളുടെ വരവോടെ ഇല്ലാതായി.<ref>{{cite web|title=Flux Release 4.0|url=https://github.com/facebook/flux/releases/tag/4.0.0|website=Github|access-date=26 February 2021}}</ref> ഒബ്സെർവർ പാറ്റേണിന്റെ ഒരു വകഭേദമായി ഫ്ലക്സിനെ കണക്കാക്കാം.<ref>{{cite web|last1=Johnson|first1=Nicholas|title=Introduction to Flux - React Exercise|url=http://nicholasjohnson.com/react/course/exercises/flux/|website=Nicholas Johnson|access-date=7 April 2018|archive-date=2022-05-31|archive-url=https://web.archive.org/web/20220531133600/http://nicholasjohnson.com/react/course/exercises/flux/|url-status=dead}}</ref> ഫ്ലക്സ് ആർക്കിടെക്ചറിനു കീഴിലുള്ള ഒരു റിയാക്റ്റ് കമ്പോണന്റിലേക്ക് കൈമാറിയ ഏതെങ്കിലും പ്രോപ്പുകളെ(props)നേരിട്ട് പരിഷ്കരിക്കരുത്, പക്ഷേ സ്റ്റോർ പരിഷ്ക്കരിക്കുന്നതിന് ഡിസ്പാച്ചർ അയച്ച പ്രവർത്തനങ്ങൾ സൃഷ്ടിക്കുന്ന കോൾബാക്ക് ഫംഗ്ഷനുകൾ വഴി കൈമാറണം. എന്താണ് സംഭവിച്ചതെന്ന് വിവരിക്കേണ്ട ഉത്തരവാദിത്തമുള്ള ഒരു ഒബ്ജക്ടാണ് ആക്ഷൻ: ഉദാഹരണത്തിന്, ഒരു ഉപയോക്താവിനെ "പിന്തുടരുന്നത്" വിവരിക്കുന്ന ഒരു ആക്ഷനിൽ ഒരു യൂസർ ഐഡി, ടാർഗെറ്റ് യൂസർ ഐഡി, <code>USER_FOLLOWED_ANOTHER_USER</code> ടൈപ്പ് ഉണ്ട്.<ref>{{cite web|last1=Abramov|first1=Dan|title=The History of React and Flux with Dan Abramov|url=http://threedevsandamaybe.com/the-history-of-react-and-flux-with-dan-abramov/|website=Three Devs and a Maybe|access-date=7 April 2018}}</ref> മോഡലുകളായി കണക്കാക്കാവുന്ന സ്റ്റോറുകൾക്ക്, ഡിസ്പാച്ചറിൽ നിന്ന് ലഭിച്ച ആക്ഷനുകൾക്ക് മറുപടിയായി സ്വയം മാറാൻ കഴിയും. ഈ പാറ്റേണിൽ ചിലപ്പോൾ "പ്രോപ്പർട്ടികൾ താഴേക്കോ, അല്ലെങ്കിൽ ആക്ഷനുകൾ മുകളിലേക്കോ ഫ്ലോ ചെയ്യുന്നു". ഫ്ലക്സിന്റെ തുടക്കം മുതൽ തന്നെ നിരവധി നടപ്പാക്കലുകൾ സൃഷ്ടിക്കപ്പെട്ടിട്ടുണ്ട്, ഒരുപക്ഷേ ഏറ്റവും അറിയപ്പെടുന്ന റെഡക്സ്, ഒരൊറ്റ സ്റ്റോർ അവതരിപ്പിക്കുന്നു, ഇത് പലപ്പോഴും സിംഗിൾ സോഴസ് ഓഫ് ട്രൂത്ത് എന്ന് വിളിക്കപ്പെടുന്നു.<ref>{{cite web|title=State Management Tools - Results|url=https://stateofjs.com/2017/state-management/results|website=The State of JavaScript|access-date=7 April 2018|archive-date=2018-04-08|archive-url=https://web.archive.org/web/20180408010028/https://stateofjs.com/2017/state-management/results/|url-status=dead}}</ref> ==ഭാവി വികസനം== കോർ ടീം ഡിസ്ക്ഷൻ ഫോറം വഴി പ്രോജക്റ്റ് സ്റ്റാറ്റസ് ട്രാക്കുചെയ്യാനാകും.<ref>{{Cite web|title = Meeting Notes|url = https://discuss.reactjs.org/c/meeting-notes|website = React Discuss|access-date = 2015-12-13|archive-date = 2015-12-22|archive-url = https://web.archive.org/web/20151222141426/https://discuss.reactjs.org/c/meeting-notes|url-status = dead}}</ref> എന്നിരുന്നാലും, റിയാക്റ്റിലെ പ്രധാന മാറ്റങ്ങൾ ഫ്യൂച്ചർ ഓഫ് റിയാക്റ്റ് റിപ്പോസിറ്ററി പ്രശ്നങ്ങളിലൂടെ കടന്നുപോകുകയും പുൾ റിക്വസ്റ്റ് നടത്തുകയും ചെയ്യുന്നു.<ref>{{Cite web|title = reactjs/react-future - The Future of React|url = https://github.com/reactjs/react-future|website = GitHub|access-date = 2015-12-13}}</ref><ref>{{Cite web|title = facebook/react - Feature request issues|url = https://github.com/facebook/react/labels/Type:%20Feature%20Request|website = GitHub|access-date = 2015-12-13}}</ref> പുതിയ സാധ്യതയുള്ള സവിശേഷതകൾ, പരീക്ഷണാത്മക എപിഐകൾ, ജാവാസ്ക്രിപ്റ്റ് വാക്യഘടന മെച്ചപ്പെടുത്തലുകൾ എന്നിവയെക്കുറിച്ച് ഫീഡ്‌ബാക്ക് നൽകാൻ ഇത് റിയാക്റ്റ് കമ്മ്യൂണിറ്റിയെ പ്രാപ്‌തമാക്കുന്നു. ==ചരിത്രം== ഫെയ്‌സ്ബുക്കിലെ സോഫ്റ്റ്‌വെയർ എഞ്ചിനീയറായ ജോർദാൻ വാൾക്കാണ് റിയാക്റ്റ് സൃഷ്ടിച്ചത്, റിയാക്റ്റിന്റെ ആദ്യകാല പ്രോട്ടോടൈപ്പ് "ഫാക്സ് ജെഎസ്" പുറത്തിറക്കി.<ref>{{cite web |last1=Walke |first1=Jordan |title=FaxJS |url=https://github.com/jordwalke/FaxJs |access-date=11 July 2019}}</ref><ref name="papp"/> പി‌എച്ച്പിക്കായുള്ള ഒരു എച്ച്ടിഎംഎൽ (HTML) കമ്പോണന്റ് ലൈബ്രറിയായ എക്സ്എച്ച്പി (XHP) അദ്ദേഹത്തെ സ്വാധീനിച്ചു. ഇത് ആദ്യം 2011 ൽ ഫേസ്ബുക്കിന്റെ ന്യൂസ് ഫീഡിലും പിന്നീട് 2012 ൽ ഇൻസ്റ്റാഗ്രാമിലും വിന്യസിച്ചു.<ref>{{cite web|url=https://www.youtube.com/watch?v=A0Kj49z6WdM|title=Pete Hunt at TXJS}}</ref> 2013 മെയ് മാസത്തിൽ ജെ.എസ്.കോൺഫ് യു.എസിൽ ഇത് ഓപ്പൺ സോഴ്‌സ് ചെയ്തു.<ref name="papp">{{cite news |last1=Papp |first1=Andrea |title=The History of React.js on a Timeline |url=https://blog.risingstack.com/the-history-of-react-js-on-a-timeline/ |access-date=11 July 2019 |work=RisingStack |date=4 April 2018}}</ref> റിയാക്റ്റിനൊപ്പം നേറ്റീവ് ആൻഡ്രോയിഡ്, ഐഒഎസ്, യുഡബ്ല്യുപി വികസനം പ്രാപ്തമാക്കുന്ന റിയാക്റ്റ് നേറ്റീവ്, 2015 ഫെബ്രുവരിയിൽ ഫേസ്ബുക്കിന്റെ റിയാക്റ്റ് കോൺഫിൽ പ്രഖ്യാപിക്കുകയും 2015 മാർച്ചിൽ ഓപ്പൺ സോഴ്‌സ് ചെയ്യുകയും ചെയ്തു. ==അവലംബം== [[വർഗ്ഗം:ജാവാസ്ക്രിപ്റ്റ്]] sud6qgub6xghg6rzaic2rz388kbafsl വി ചൂസ് റ്റു ഗോ റ്റു ദി മൂൺ 0 484667 4622126 4613722 2026-05-23T05:44:20Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622126 wikitext text/x-wiki {{prettyurl|We choose to go to the Moon}} [[File:John F. Kennedy speaks at Rice University.jpg|thumb|alt=Kennedy, in a blue suit and tie, speaks at a wooden podium bearing the seal of the President of the United States. Vice President Lyndon Johnson and other dignitaries stand behind him.|പ്രസിഡന്റ് [[ജോൺ എഫ്. കെന്നഡി]] 1962 സെപ്റ്റംബർ 12-ന് [[റൈസ് യൂണിവേഴ്സിറ്റി|റൈസ് യൂണിവേഴ്സിറ്റിയിൽ]] പ്രഭാഷണം നടത്തുന്നു.]] {{John F. Kennedy series}} [[ടെക്സസ്|ടെക്സസിലെ]] [[ഹ്യൂസ്റ്റൺ (ടെക്സസ്)|ഹ്യൂസ്റ്റണിലെ]] [[Rice Stadium (Rice University)|റൈസ് സ്റ്റേഡിയത്തിൽ]] തടിച്ചുകൂടിയ ഒരു വൻ ജനാവലിയെ അഭിസംബോധന ചെയ്തുകൊണ്ട്, അക്കാലത്തെ അമേരിക്കൻ പ്രസിഡന്റായിരുന്ന [[ജോൺ എഫ്. കെന്നഡി]] 1962 സെപ്റ്റംബർ 12 ന് [[ചന്ദ്രൻ|ചന്ദ്രനിൽ]] എത്തിച്ചേരാനുള്ള ശ്രമത്തെക്കുറിച്ച് നടത്തിയ ഒരു [[പ്രസംഗം|പ്രസംഗത്തിൽ]] നിന്നുള്ള പ്രശസ്തമായ ഒരു മുദ്രാവാക്യമാണ് '''"നമ്മൾ ചന്ദ്രനിലേക്ക് പോകാൻ പോകുന്നു" (We choose to go to the Moon)'''. [[ചന്ദ്രൻ|ചന്ദ്രനിൽ]] ഒരു മനുഷ്യനെ ഇറക്കാനുള്ള [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കയുടെ]] ദേശീയ ശ്രമമായ [[അപ്പോളോ]] ദൗത്യത്തെ പിന്തുണയ്ക്കാൻ [[അമേരിക്കൻ]] ജനതയെ പ്രേരിപ്പിക്കുകയെന്നതായിരുന്നു ഈ പ്രസംഗത്തിൻറെ പരമമായ ലക്ഷ്യം. അമേരിക്കൻ [[നാടോടിക്കഥകൾ|നാടോടിക്കഥകളെ]] ആസ്പദമാക്കി, കെന്നഡി തന്റെ പ്രഭാഷണത്തിൽ രാജ്യത്തിന്റെ അതിരുകൾ [[ബഹിരാകാശം|ബഹിരാകാശമായി]] പ്രഖ്യാപിച്ചു. അമേരിക്കൻ ജനതയുടെ വിധി അവർ തന്നെ അടിയന്തരമായി തെരഞ്ഞെടുത്തില്ലെങ്കിൽ, തങ്ങളുടെ ഇച്ഛയ്ക്കു വിപരീതമായ വിധി അവർക്കുമേൽ അടിച്ചേൽപ്പിക്കപ്പെടാനുള്ള സാധ്യത തൻറെ പ്രഭാഷണത്തിൽ അദ്ദേഹം ഊന്നിപ്പറഞ്ഞു. [[സോവിയറ്റ് യൂണിയൻ|സോവിയറ്റ് യൂണിയനുമായുള്ള]] മത്സരത്തിൽ മേൽക്കൈ നേടാൻ ജനങ്ങളെ ആവേശഭരിതരാക്കാനാണ് അദ്ദേഹം ഈ പ്രഭാഷണത്തിലൂടെ യത്നിച്ചത്. എന്നിരുന്നാലും ചന്ദ്രനിൽ കാലുകുത്താനുള്ള ശ്രമത്തിൽ പങ്കാളിയാവാനായി സോവിയറ്റ് യൂണിയനെ കൂടി ക്ഷണിക്കുന്നുണ്ട് അദ്ദേഹം. സോവിയറ്റ് യൂണിയൻ, പക്ഷെ അത് സ്വീകരിച്ചില്ല. ചന്ദ്രനിലെത്താനുള്ള ദൗത്യത്തിന്റെ ഭീമമായ ചെലവും അതിൻറെ സംശയാസ്പദമായ പ്രാധാന്യവും അക്കാലത്ത് ഏറെ ആശങ്കകൾക്ക് വഴിവെച്ചെങ്കിലും അദ്ദേഹത്തിൻറെ പ്രസംഗം രാജ്യവ്യാപകമായി ചർച്ച ചെയ്യപ്പെട്ടു. 1969 ജൂലൈ മാസത്തിലെ [[അപ്പോളോ 11|അപ്പോളോ 11-ന്റെ]] വിജയകരമായ ലക്ഷ്യപ്രാപ്തിയോടെ കെന്നഡിയുടെ ലക്ഷ്യം ഒരു യാഥാർത്ഥ്യമായി. == പശ്ചാത്തലം == [[ബഹിരാകാശം|ബഹിരാകാശ]] ഗവേഷണരംഗത്ത് മേൽക്കൈ നേടാനായി [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കൻ ഐക്യനാടുകളും]] [[സോവിയറ്റ് യൂണിയൻ|സോവിയറ്റ് യൂണിയനും]] തമ്മിൽ നടന്നുവന്ന മത്സരത്തിൽ [[സോവിയറ്റ് യൂണിയൻ]] തങ്ങളെക്കാൾ മുന്നേറിയതായി അമേരിക്കക്ക് ബോധ്യപ്പെട്ടിരുന്നു. ആദ്യ [[കൃത്രിമോപഗ്രഹം|കൃത്രിമോപഗ്രഹമായ]] [[സ്പുട്നിക്ക് 1|സ്പുട്നിക് 1-ന്റെ]] വിജയകരമായ വിക്ഷേപണം, [[യൂറി ഗഗാറിൻ|യൂറി ഗഗാറിന്റെ]] ബഹിരാകാശ സഞ്ചാരം എന്നീ സോവിയറ്റ് പദ്ധതികളെല്ലാം തങ്ങൾ പിന്നിലാണെന്ന് അവരെ ബോധ്യപ്പെടുത്തിക്കൊണ്ടിരുന്നു. ഇതിനിടയിലാണ് [[ക്യൂബ|ക്യൂബയിലെ]] [[ബേ ഓഫ് പിഗ്സ്‌ ആക്രമണം|ബേ ഓഫ് പിഗ്സിലെ]] സൈനിക പരാജയത്തിൽ അമേരിക്ക നാണം കെടുന്നത്{{sfn|Young|Silcock|Dunn|1969|p=109}}{{sfn|Jordan|2003|p=209}}. 1961 ജനുവരിയിൽ അധികാരമേറ്റ കെന്നഡി, ബഹിരാകാശ മേഖലയിൽ മേധാവിത്തം നേടുന്ന തരത്തിലുള്ള ഒരു മുന്നേറ്റത്തിനായി ശ്രമം തുടങ്ങി. [[നാഷണൽ സ്പേസ് കൗൺസിൽ|നാഷണൽ എയറോനോട്ടിക്സ് ആൻഡ് സ്പേസ് കൗൺസിൽ]] ചെയർമാനായിരുന്ന ഉപരാഷ്ട്രപതി [[ലിൻഡൻ ബി. ജോൺസൺ|ലിൻഡൺ ബി. ജോൺസണോട്]] ഇത്തരത്തിലൊരു പദ്ധതി തയ്യാറാക്കാനായി അദ്ദേഹം നിർദ്ദേശിച്ചു. [[ബഹിരാകാശം|ബഹിരാകാശത്ത്]] ഒരു [[ലബോറട്ടറി]] സ്ഥാപിക്കുക, ചന്ദ്രനുചുറ്റും ഒരു മനുഷ്യനെ പരിക്രമണം ചെയ്യിക്കുക, മനുഷ്യനെ ചന്ദ്രനിൽ ഇറക്കുക എന്നീ മൂന്ന് പദ്ധതികളിൽ ഏതിലെങ്കിലും [[സോവിയറ്റ് യൂണിയൻ|സോവിയറ്റ് യൂണിയനെ]] മറികടക്കാനുള്ള സാധ്യതകളാണ് അവർ പഠനവിധേയമാക്കിയത്. [[നാസ|നാസയുമായി]] ജോൺസൺ നടത്തിയ ചർച്ചകളിൽ ആദ്യ രണ്ട് പദ്ധതികളിൽ [[സോവിയറ്റ് യൂണിയൻ|സോവിയറ്റ് യൂണിയനെ]] മറികടക്കാനുള്ള സാധ്യത വിരളമാണെന്ന അഭിപ്രായമാണ് ഉരുത്തിരിഞ്ഞതെങ്കിലും മനുഷ്യനെ ചന്ദ്രനിലിറക്കുകയായിരിക്കും ഏറ്റവും മികച്ച പദ്ധതി എന്ന് [[നാസ|നാസയുടെ]] മേധാവിയായിരുന്ന [[James E. Webb|ജെയിംസ് ഇ. വെബ്]] അഭിപ്രായപ്പെട്ടു. 1970നുള്ളിൽ ദൗത്യം പൂർത്തീകരിക്കാൻ ഏകദേശം 22 ശതകോടി ഡോളർ ചെലവ് വരാമെന്ന് അദ്ദേഹം കണക്കാക്കി. ജോൺസൺ സൈനികമേധാവികളുമായും വ്യവസായികളുമായും മറ്റും തന്റെ കൂടിക്കാഴ്ചകൾ നടത്തി{{sfn|Young|Silcock|Dunn|1969|pp=109–112}}. 1961 മെയ് 25 ന് യു.എസ്. കോൺഗ്രസിനെ അഭിസംബോധന ചെയ്തുകൊണ്ട് കെന്നഡി ഇങ്ങനെ പ്രഖ്യാപിച്ചു.<blockquote>"ഈ ദശകം അവസാനിക്കുന്നതിനുള്ളിൽ, ഒരു മനുഷ്യനെ ചന്ദ്രനിൽ ഇറക്കി സുരക്ഷിതമായി ഭൂമിയിലേക്ക് തിരിച്ചെത്തിക്കുകയെന്ന ലക്ഷ്യം കൈവരിക്കുവാൻ യുഎസ് സ്വയം പ്രതിജ്ഞാബദ്ധമാകണം.<ref>{{cite web |title=Excerpt from the 'Special Message to the Congress on Urgent National Needs' |publisher=NASA |date=May 24, 2004 |access-date=May 24, 2015 |url=https://www.nasa.gov/vision/space/features/jfk_speech_text.html#.VWIGJ0_tmkp}}</ref> </blockquote>അധികം പേരിലും മതിപ്പുളവാക്കാതിരുന്ന ഈ പദ്ധതിയെ 58 ശതമാനം അമേരിക്കക്കാരും എതിർത്തുവെന്നാണ് അന്നത്തെ അഭിപ്രായസർവ്വേകൾ സൂചിപ്പിച്ചത്.{{sfn|Young|Silcock|Dunn|1969|pp=109–112}} കെന്നഡിയുടെ ലക്ഷ്യം [[നാസ|നാസയുടെ]] [[Apollo program|അപ്പോളോ പ്രോഗ്രാമിന്]] ഒരു പ്രത്യേക ദൗത്യം നൽകി. ഈ ദൗത്യനിർവ്വഹണത്തിൻ നാസയുടെ കൃത്യനിർവ്വഹണ വിഭാഗത്തെ ഒരു മനുഷ്യനാൽ നിയന്ത്രിക്കപ്പെടുന്ന ബഹിരാകാശ കേന്ദ്രമായി വികസിപ്പിക്കേണ്ടതുണ്ടായിരുന്നു. [[ടെക്സസ്|ടെക്സസിലെ]] [[ഹ്യൂസ്റ്റൺ (ടെക്സസ്)|ഹ്യൂസ്റ്റൺ]] ഈ പദ്ധതിക്കുവേണ്ടിയുള്ള സൈറ്റായി തിരഞ്ഞെടുക്കപ്പെടുകയും [[Humble Oil|ഹംബിൾ ഓയിൽ ആൻഡ് റിഫൈനിംഗ് കമ്പനി]] 1961-ൽ പദ്ധതിയ്ക്കായി ഭൂമി ദാനം ചെയ്യുകയും [[റൈസ് യൂണിവേഴ്സിറ്റി]] ഇതിൽ ഒരു ഇടനിലക്കാരനായി പ്രവർത്തിക്കുകയും ചെയ്തു.{{sfn|Young|Silcock|Dunn|1969|p=162}} പുതിയ സൗകര്യങ്ങൾ കാണാനായി കെന്നഡി 1962 സെപ്റ്റംബറിൽ [[ഹ്യൂസ്റ്റൺ (ടെക്സസ്)|ഹ്യൂസ്റ്റൺ]] സന്ദർശിച്ചു. ബഹിരാകാശയാത്രികരായ [[Scott Carpenter|സ്കോട്ട് കാർപെന്റർ]], [[John Glenn|ജോൺ ഗ്ലെൻ]] എന്നിവർ അദ്ദേഹത്തിന് അകമ്പടി സേവിക്കുകയും [[Project Gemini|ജെമിനി]], [[Apollo (spacecraft)|അപ്പോളോ]] ബഹിരാകാശ പേടകങ്ങളുടെ മാതൃകകൾ അദ്ദേഹത്തെ കാണിക്കുകയും ചെയ്തു. ഭ്രമണപഥത്തിലെത്തിയ ആദ്യ അമേരിക്കക്കാരനായ ഗ്ലെൻ സഞ്ചരിച്ച മെർക്കുറി ബഹിരാകാശ പേടകമായ ഫ്രണ്ട്ഷിപ്പ് 7 ഉം കെന്നഡി കണ്ടു. രാജ്യത്തിന്റെ ബഹിരാകാശ പരിശ്രമത്തിനുള്ള പിന്തുണ വർദ്ധിപ്പിക്കുന്നതിനായി ഒരു പ്രസംഗം നടത്താനുള്ള അവസരവും അദ്ദേഹം പ്രയോജനപ്പെടുത്തി.{{sfn|Jordan|2003|p=211}}<ref name="The Rice Thresher">{{cite news |url=https://scholarship.rice.edu/bitstream/handle/1911/49181/rt050i01.pdf?sequence=1&isAllowed=y |access-date=March 11, 2018 |title='Visiting Professor' Kennedy Pushes Space Age Spending |first=Eugene |last=Keilen |date=September 19, 1962 |newspaper=The Rice Thresher |page=1 |archive-date=2021-01-22 |archive-url=https://web.archive.org/web/20210122062150/https://scholarship.rice.edu/bitstream/handle/1911/49181/rt050i01.pdf?sequence=1&isAllowed=y |url-status=dead }}</ref> [[Ted Sorensen|ടെഡ് സോറൻസെൻ]] എഴുതിയ പ്രസംഗത്തിന്റെ പ്രാരംഭ കരടുകളിൽ കെന്നഡി മാറ്റങ്ങൾ വരുത്തി.<ref>{{Cite web|url=https://jfk.blogs.archives.gov/2017/09/12/we-choose-to-go-to-the-moon-the-55th-anniversary-of-the-rice-university-speech/|title=We Choose to Go to the Moon: The 55th Anniversary of the Rice University Speech|last=Malangone|first=Abigail|date=September 12, 2017|website=The JFK Library Archives: An Inside Look|language=en-US|access-date=January 6, 2019}}</ref> == പ്രസംഗം == [[File:President Kennedy's Speech at Rice University.ogv|thumb|thumbtime=10:39|1962 സെപ്തംബർ 12-ന് റൈസ് സർവ്വകലാശാല സ്റ്റേഡിയത്തിൽ നടന്ന രാജ്യത്തിന്റെ ബഹിരാകാശ പരിശ്രമത്തെക്കുറിച്ചുള്ള കെന്നഡിയുടെ പ്രസംഗം. ഇടതുവശത്ത് ഉദ്ധരിച്ച പ്രസംഗത്തിന്റെ ഭാഗം 7:12-ന് ആരംഭിക്കുന്നു.|175x175ബിന്ദു]] 1962 സെപ്റ്റംബർ 12 ന്, ഊഷ്മളവും പ്രസന്നവുമായ ഒരു ദിവസം പ്രസിഡന്റ് കെന്നഡി ഏകദേശം 40,000 ത്തോളം വരുന്ന ഒരു വൻ ജനാവലിയ്ക്കു മുന്നിൽ റൈസ് സർവകലാശാലയിലെ റൈസ് സ്റ്റേഡിയത്തിൽ പ്രസംഗിച്ചു. ജനക്കൂട്ടത്തിൽ പ്രധാനമായും റൈസ് യൂണിവേഴ്സിറ്റി വിദ്യാർത്ഥികളായിരുന്നു ഉണ്ടായിരുന്നത്.<ref name="The Rice Thresher" /><ref name="Rice"/> പ്രസംഗത്തിന്റെ മധ്യഭാഗം വ്യാപകമായി ഉദ്ധരിക്കപ്പെടുകയും ഇനിപ്പറയുന്ന രീതിയിൽ വായിക്കുകയും ചെയ്യുന്നു:{{quote|We set sail on this new sea because there is new knowledge to be gained, and new rights to be won, and they must be won and used for the progress of all people. For space science, like nuclear science and all technology, has no conscience of its own. Whether it will become a force for good or ill depends on man, and only if the United States occupies a position of pre-eminence can we help decide whether this new ocean will be a sea of peace or a new terrifying theater of war. I do not say that we should or will go unprotected against the hostile misuse of space any more than we go unprotected against the hostile use of land or sea, but I do say that space can be explored and mastered without feeding the fires of war, without repeating the mistakes that man has made in extending his writ around this globe of ours. There is no strife, no prejudice, no national conflict in outer space as yet. Its hazards are hostile to us all. Its conquest deserves the best of all mankind, and its opportunity for peaceful cooperation may never come again. But why, some say, the Moon? Why choose this as our goal? And they may well ask, why [[1953 Mount Everest expedition|climb the highest mountain]]? Why, 35 years ago, [[Spirit of St. Louis|fly the Atlantic]]? Why does [[Rice–Texas football rivalry|Rice play Texas]]? '''We choose to go to the Moon.''' We choose to go to the Moon...We choose to go to the Moon in this decade and do the other things, not because they are easy, but because they are hard; because that goal will serve to organize and measure the best of our energies and skills, because that challenge is one that we are willing to accept, one we are unwilling to postpone, and one we intend to win, and the others, too.<ref name="transcript">{{cite web|title=John F. Kennedy Moon Speech – Rice Stadium |publisher=NASA |access-date=March 19, 2018| url=https://er.jsc.nasa.gov/seh/ricetalk.htm}}</ref>}} പ്രസംഗ വാക്യത്തിലെ [[Rice–Texas football rivalry|റൈസ്-ടെക്സസ് ഫുട്ബോൾ റിവാൽറിയെ]] പരാമർശിക്കുന്ന തമാശയായ വാക്യം കെന്നഡി സ്വന്തം കൈപ്പടയിൽ എഴുതി.<ref name="Rice">{{cite web |url=http://news.rice.edu/2012/08/30/jfks-1962-moon-speech-still-appeals-50-years-later/ |title=JFK’s 1962 Moon Speech Still Appeals 50 Years Later |first=Jade |last=Boyd |date=August 30, 2012 |publisher=Rice University |access-date=March 20, 2018 |archive-date=2018-02-02 |archive-url=https://web.archive.org/web/20180202012645/http://news.rice.edu/2012/08/30/jfks-1962-moon-speech-still-appeals-50-years-later/ |url-status=dead }}</ref> അത് കായിക പ്രേമികൾ ഓർമ്മിക്കുന്ന പ്രസംഗത്തിന്റെ ഭാഗമാണ്.<ref>{{cite news |newspaper=Austin American-Statesman |url=https://www.hookem.com/2015/09/08/now-53-years-later-jfk-asks-why-does-rice-play-texas/ |title=Now 53 years later, JFK asks, 'Why does Rice play Texas?' |date=September 8, 2015 |first=Brian |last=Davis |access-date=March 20, 2018 }}</ref> കെന്നഡിയുടെ പ്രസംഗസമയത്ത് റൈസ്-ടെക്സസ് മത്സരം ശ്രദ്ധേയമായമായിരുന്നുവെങ്കിലും, 1930 മുതൽ 1966 വരെ ടെക്‌സാസിനു മുകളിൽ റൈസ് ഉണ്ടായിരുന്നു.<ref>{{Cite web|url=https://www.espn.com/college-football/story/_/id/27581541/why-does-rice-play-texas-how-jfk-speech-defined-rivalry|title='Why does Rice play Texas?': How JFK's speech defined a rivalry|last=Khan|first=Sam Jr.|date=September 11, 2019|website=ESPN|language=en|url-status=live|access-date=October 13, 2019}}</ref> കെന്നഡിയുടെ പ്രസംഗത്തിന് ശേഷം 1965ലും 1994ലും മാത്രമാണ് റൈസ് ടെക്സസിനെ തോൽപ്പിച്ചത്.<ref>{{cite new |url=https://www.houstonchronicle.com/sports/rice/article/When-Rice-beat-Texas-Oct-16-1994-6497488.php |access-date=March 20, 2018 |title=When Rice beat Texas: October 16, 1994 |first=Jonathan |last=Feigen |newspaper=Houston Chronicle |date=September 10, 2015 }}</ref> പിന്നീട് പ്രസംഗത്തിൽ കെന്നഡിയും വലിയ ആവേശത്തോടെ ഒരു തമാശ പറഞ്ഞു. ഈ തമാശകൾ ബഹിരാകാശ മത്സരത്തിൽ ടെക്‌സാസ് കളിച്ച ഭാഗത്തിന്റെ ഓർമ്മപ്പെടുത്തലായി നിലകൊള്ളുന്നു.<ref>{{cite news |newspaper=Medium |url=https://medium.com/@BrantleyWorks/why-does-rice-play-texas-fede9ee5d762 |first=Brantley |last=Hightower |date=April 20, 2016 |title=Why Does Rice Play Texas? |access-date=March 20, 2018 |archive-date=2020-12-26 |archive-url=https://web.archive.org/web/20201226004254/https://medium.com/@BrantleyWorks/why-does-rice-play-texas-fede9ee5d762 |url-status=dead }}</ref> == ഉള്ളടക്കം == [[File:JFKWHP-KN-C23687 Address at Rice University.jpg|thumb|left|[[റൈസ് യൂണിവേഴ്സിറ്റി]] സ്റ്റേഡിയത്തിൽ കെന്നഡിയുടെ പ്രഭാഷണം ശ്രവിക്കുന്ന ജനക്കൂട്ടം. ]] ചന്ദ്രനിലേക്ക് പോകുന്നതിലൂടെ കെന്നഡിയുടെ പ്രസംഗം മൂന്ന് സമരതന്ത്രങ്ങൾ ഉപയോഗിച്ചു: "ബഹിരാകാശത്തെ ഒരു അതിർത്തിയായി അടയാളപ്പെടുത്തി ചിത്രീകരിക്കുക; അടിയന്തിരതയുടെയും വിശ്വസനീയതയുടെയും ചരിത്രപരമായ നിമിഷത്തിനുള്ളിൽ പരിശ്രമം കണ്ടെത്തുന്ന സമയത്തിന്റെ ഒരു വിശദീകരണം; ചന്ദ്രനിലേക്ക് പോകുന്നതിലൂടെ അവരുടെ പൈതൃകത്തിന് വഴിയൊരുക്കുന്നതിനനുസൃതമായി ജീവിക്കാൻ ശ്രോതാക്കളെ ക്ഷണിക്കുന്ന അന്തിമവും സഞ്ചിതവുമായ തന്ത്രം."{{sfn|Jordan|2003|p=214}} [[റൈസ് യൂണിവേഴ്സിറ്റി|റൈസ് യൂണിവേഴ്സിറ്റിയിലെ]] ജനക്കൂട്ടത്തെ അഭിസംബോധന ചെയ്യുമ്പോൾ രാജ്യത്തിന്റെ അടിത്തറ മുതൽ [[Folklore of the United States|അമേരിക്കൻ നാടോടിക്കഥകളിൽ]] ആധിപത്യം പുലർത്തിയിരുന്ന മാർഗ്ഗം തെളിയ്ക്കുന്ന ആവേശമായി ബഹിരാകാശ പര്യവേക്ഷണം നടത്താനുള്ള ആഗ്രഹത്തെ വരെ അദ്ദേഹം താരതമ്യം ചെയ്തു. {{sfn|Jordan|2003|p=214}} "നമുക്ക് ഒരുമിച്ച് നക്ഷത്രങ്ങൾ പര്യവേക്ഷണം ചെയ്യാം" എന്ന് ലോകത്തോട് പ്രഖ്യാപിച്ചു. 1961 ജൂണിൽ സോവിയറ്റ് യൂണിയന്റെ പ്രധാനമന്ത്രിയായ [[Nikita Khrushchev|നികിത ക്രൂഷ്ചേവുമായി]] കൂടിക്കാഴ്ച നടത്തിയപ്പോൾ കെന്നഡി ചന്ദ്രനിലെ ലാൻഡിംഗ് ഒരു സംയുക്ത പദ്ധതിയാക്കാൻ നിർദ്ദേശിച്ചുവെങ്കിലും ക്രൂഷ്ചേവ് ഈ വാഗ്ദാനം സ്വീകരിച്ചില്ല.{{sfn|Logsdon|2011|p=32}} [[Militarisation of space|ബഹിരാകാശ സൈനികവൽക്കരണം]] വ്യാപിപ്പിക്കുന്നതിന് പ്രസംഗത്തിൽ എതിർപ്പുണ്ടായിരുന്നു. ==അവലംബം== {{reflist}} *{{cite journal |last=Jordan |first=John W. |title=Kennedy's Romantic Moon and Its Rhetorical Legacy for Space Exploration |journal=Rhetoric and Public Affairs |issn=1094-8392 |volume=6 |issue=2 |date=Summer 2003 |pp=209–231 |jstor=41940312 |ref=harv }} *{{cite journal |last=Logsdon |first=John M. |title=John F. Kennedy's Space Legacy and Its Lessons for Today |url=https://archive.org/details/sim_issues-in-science-and-technology_spring-2011_27_3/page/29 |journal=Issues in Science and Technology |issn=0748-5492 |volume=27 |issue=3 |date=Spring 2011 |pp=29–34 |jstor=43315485 |ref=harv}} *{{cite book |last=Young |first=Hugo |last2=Silcock |first2=Bryan |last3=Dunn |first3=Peter M. |title=Journey to Tranquility |publisher=Jonathon Cape |location=London |year=1969 |ref=harv}} ==കൂടുതൽ വായനയ്ക്ക്== *{{cite book |last=DeGroot |first=Gerard |title=The Dark Side Of The Moon: the Magnificent Madness of the American Lunar Quest |url=https://archive.org/details/darksideofmoonma0000degr_v7p9 |location=London |publisher=Vintage Books |year=2008 |isbn=978-1-84413-831-9 |oclc=438328453 }} *{{cite book |last=Launius |first=Roger D. |title=After Apollo: The Legacy of the American Moon Landings |url=https://archive.org/details/johnfkennedyrace0000logs |location=New York |publisher=Oxford University Press |year=2011 |isbn=978-0-230-11010-6 |oclc=707157323 }} *{{cite book |last=Logsdon |first=John M. |title=John F. Kennedy and the Race to the Moon |url=https://archive.org/details/johnfkennedyrace0000logs |location=Basingstoke |publisher=Palgrave Macmillan |year=2011 |isbn= 978-0-230-11010-6 |oclc=707157323 }} ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{Commons category|Address at Rice University on the Nation's Space Effort}} *{{cite web |url=http://er.jsc.nasa.gov/seh/ricetalk.htm |title=John F. Kennedy Moon Speech – Rice Stadium |publisher=[[Johnson Space Center]] |access-date=March 19, 2018 |archive-date=2015-07-06 |archive-url=https://web.archive.org/web/20150706061817/http://er.jsc.nasa.gov/seh/ricetalk.htm |url-status=dead }} Transcript and video of the speech. *{{cite web |url=https://www.jfklibrary.org/Asset-Viewer/Archives/JFKPOF-040-001.aspx |title=Address at Rice University, Houston, Texas, 12 September 1962 |publisher= [[John F. Kennedy Presidential Library and Museum]] |access-date=March 19, 2018 }} Drafts of the speech, with hand-written additions by Kennedy. {{John F. Kennedy}} {{portal bar|Spaceflight}} [[വർഗ്ഗം:അപ്പോളോ പദ്ധതി]] [[വർഗ്ഗം:പ്രസംഗങ്ങൾ]] dyx4d9trymf1hym67cqrjou8u7j30nw എക്കോസിയ 0 485870 4622118 4619100 2026-05-23T05:29:40Z CommonsDelinker 756 "Ecosia_product_images.jpg" നീക്കം ചെയ്യുന്നു, [[c:User:Krd|Krd]] എന്ന കാര്യനിർവ്വാഹകൻ അത് കോമൺസിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. കാരണം: No permission since 15 May 2026. 4622118 wikitext text/x-wiki {{PU|Ecosia}} {{short description|Web search engine}} {{Use dmy dates|date=July 2018}} {{Infobox website | name = Ecosia | logo = | logo_size = 250px | logo_caption = | logo_alt = Ecosia logo | screenshot = | screenshot_size = | caption = Screenshot of Ecosia [[home page]] as of 2019 | screenshot_alt = Screenshot of Ecosia [[home page]] as of 2019 | collapsible = | collapsetext = | url = {{URL|https://ecosia.org}}<br> {{URL|https://info.ecosia.org}} | commercial = Yes | type = [[Web search engine]] | registration = | language = [[English language|ഇംഗ്ളീഷ്]]ഉം 26 മറ്റ് ഭാഷകളും. | num_users = 8,000,000+<ref name="what">{{cite web|url = https://info.ecosia.org/what |website=info.ecosia.org |title=What is Ecosia?}}</ref> | content_license = | owner = Christian Kroll via Ecosia GmbH | author = ക്രിസ്റ്റ്യൻ ക്രോൾ | CEO = Christian Kroll | editor = | launch_date = {{start date and age|2009|12|07|df=yes}} | revenue = €9.1M (2019)<ref>{{cite web|url=http://ecosia.dropmark.com/369415|title=Ecosia business reports/Financial Reports & Tree Planting Receipts|access-date=4 January 2018|work=Dropmark|archive-date=2018-01-02|archive-url=https://web.archive.org/web/20180102230849/http://ecosia.dropmark.com/369415|url-status=dead}}</ref> | alexa = {{increase}} 462 <small>({{as of|2019|09|03|alt=September 2019}})</small><ref name="alexa">{{cite web |url= http://www.alexa.com/siteinfo/ecosia.org |title= Ecosia Site Info |work= [[Alexa Internet]] |accessdate= 1 July 2019 |archive-date= 2020-01-02 |archive-url= https://web.archive.org/web/20200102185742/https://www.alexa.com/siteinfo/ecosia.org |url-status= dead }}</ref> | ip = | current_status = Active | footnotes = | background = | programming_language = }} [[ജർമ്മനി]] ആസ്ഥാനമായ ഒരു ഇന്റർനെറ്റ് [[വെബ് സെർച്ച് എഞ്ചിൻ|സെർച്ച് എഞ്ചിൻ]] ആണ് '''എക്കോസിയ'''. ഇതിന്റെ 80 ശതമാനം ലാഭവും വനവൽക്കരണവുമായി ബന്ധപ്പെട്ട് പ്രവർത്തിക്കുന്ന സംഘടനകൾക്ക് സംഭാവനയായി നൽകുന്നു.<ref name=TC>{{cite web|url=https://ecosia.zendesk.com/hc/en-us/articles/201531072-How-does-Ecosia-neutralize-a-search-s-CO2-emissions- |title=How does Ecosia neutralize a search's CO2 emissions?|accessdate=3 March 2019 |work=Zendesk |language=en-US}}</ref> <ref>{{cite web|url=https://documents.ecosia.org/467540/12095458|title=Financial Reports, Ecosia|website=Ecosia|archive-url=https://web.archive.org/web/20171022081331/https://documents.ecosia.org/467540/12095458|archive-date=11 October 2017|url-status=dead|accessdate=5 September 2019}}</ref><ref>{{cite news |title=Search Engines Won't Support Google's Auction |url=https://www.pymnts.com/google/2019/alternative-search-engines-decry-googles-auction-anticompetitive/ |accessdate=5 September 2019 |work=PYMNTS.com |publisher=What's Next Media and Analytics |date=12 August 2019 |language=en}}</ref> <ref name="Register">{{cite news |last1=Oates |first1=John |title=Green search engine Ecosia thinks Google's Android auction stinks, gives bid a hard pass |url=https://www.theregister.co.uk/2019/08/12/green_search_engine_rejects_googles_android_auction_offer/ |accessdate=5 September 2019 |work=The Register |publisher=Situation Publishing |date=12 August 2019 |language=en}}</ref><ref>{{cite news |last=Anderson |first=Mae |title=Eco Search Engine Sees Surge in Downloads as Amazon Burns |url=https://phys.org/news/2019-08-eco-surge-downloads-amazon.html |accessdate=5 September 2019 |work=Phys.org |agency=AP |publisher=Science X Network |date=28 August 2019 |location=New York |language=en}}</ref><ref name="BLabs">{{cite web |url=http://www.bcorporation.net/community/ecosia-gmbh |title=Ecosia GmbH, B Corporation |work=B-labs |accessdate=20 January 2015 |archive-date=2015-01-20 |archive-url=https://web.archive.org/web/20150120184737/http://www.bcorporation.net/community/ecosia-gmbh |url-status=dead }}</ref> ഇതിനു കീഴിൽ നട്ട മരങ്ങളുടെ സ്ഥിതി വിവരക്കണക്ക് ഈ വെബ്സൈറ്റിൽ സൂക്ഷിക്കുന്നു.<ref name="EW">{{cite web|url=https://www.ecosia.org/ |title=Ecosia - the search engine that plants trees|website=www.ecosia.org |access-date=19 May 2019}}</ref> വെബ്സൈറ്റിലുള്ള കണക്കനുസരിച്ച് 2019, സെപ്തംബർ വരെ 68 മില്യൺ മരങ്ങൾ ഈ വെബ്സൈിന്റെ സാമ്പത്തിക സഹായത്തോടെ നടത്തപ്പെട്ടിട്ടുണ്ട്. == സെർച്ച് എഞ്ചിൻ പ്രവർത്തനം == ഉപയോക്താവ് തിരയുന്ന വിവരങ്ങൾ യാഹൂ, വിക്കിപീഡിയ തുടങ്ങിയ വെബ്‌സൈറ്റുകളുടെ സഹായത്തോടെയാണ് നല്കുന്നത്. ഈ എഞ്ചിനുമായുള്ള കരാറിന്റെ അടിസ്ഥാനത്തിൽ യാഹു വെബ്സൈറ്റ് ഇതിൽ പരസ്യങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.<ref>{{cite web |url=https://www.sueddeutsche.de/digital/alternative-suchmaschinen-googeln-fuer-den-regenwald-statt-fuer-google-1.2116129-2 |title=Ecosia: Eine Suchmaschine möchte den Regenwald retten |author=jlo |date=12 September 2014 |language=de |publisher= |website=Sueddeutsche.de}}</ref> മൈക്രോസോഫ്റ്റിന്റെ സാങ്കേതിക സഹായവും ഈ സെർച്ച് എഞ്ചിന് ലഭ്യമാകുന്നു.<ref name="Register" /><ref>{{cite web|url=https://ecosia.zendesk.com/hc/en-us/articles/206153381-Where-do-Ecosia-s-search-results-come-from-|title=Where do Ecosia's search results come from?|website=Ecosia Knowledge Base|access-date=19 November 2018}}</ref> ഇത് വെബ് ബ്രൗസറായും ആണ്ട്രോയ്ഡ്, ഐ ഓ എസ്‌ അപ്ലിക്കേഷൻ ആയും ലഭ്യമാണ്<ref>{{cite web|url=https://info.ecosia.org/what?ref=fb-share|title=Ecosia is the search engine that plants trees|website=info.ecosia.org}}</ref>.2018ൽ സ്വീകാര്യത കാത്തു സൂക്ഷിക്കുന്ന ഒരു സെർച്ച് എഞ്ചിൻ എന്ന ഖ്യാതി ഈ എഞ്ചിൻ നേടി. വ്യക്തികളുടെ തിരയലുകളുടെ അടിസ്ഥാനപ്പെടുത്തി, [[ഗൂഗിൾ അനലെറ്റിക്സ്]] പോലുള്ള സംവിധാനം ഉപയോഗപ്പെടുത്തി സ്വകാര്യ മനോഭാവ പ്രൊഫൈലുകൾ സൃഷ്ടിക്കപ്പെടുന്നില്ലെന്ന് കമ്പനി അവകാശപ്പെടുന്നു.<ref>{{cite web|url=https://info.ecosia.org/privacy?ref=fb-share|title=We protect your privacy|website=info.ecosia.org}}</ref>പരസ്യങ്ങളാണ് ഇതിന്റെ വരുമാനം. ഉപയോക്താവ് പരസ്യത്തിൽ ക്ലിക്ക് ചെയ്യുമ്പോൾ, ഓരോ ക്ലിക്കിനും അര [[സെന്റ്]] [[യൂറോ]] ആണ് ഇക്കോസിയയുടെ വരുമാനം<ref name="money">{{cite web|url=http://ecosia.zendesk.com/hc/en-us/articles/206019452-How-does-Ecosia-make-money-|title=How does Ecosia make money?|website=Ecosia's FAQ}}</ref> taking 0.22 euro (€)<ref name="money" /> and 0.8 seconds to plant a tree.<ref name="what" /> == ബിസിനസ് രീതി == [[File:Re publica 19 - Day 3 (46886393095) (cropped).jpg|thumb|Christian Kroll (2019), founder of Ecosia|alt=Christian Kroll]] കമ്പനിയുടെ 80 ശതമാനം ലാഭവും വന വൽക്കരണത്തിനാണ് നീക്കി വെക്കുന്നത്. ബാക്കി 20 ശതമാനം മറ്റ് ആവശ്യങ്ങൾക്കും. ഈ 20 ശതമാനം ഉപയോഗിക്കപ്പെടാത്ത സാഹചര്യത്തിൽ, അതും വൽക്കരണത്തിനായി മാറ്റി വെക്കുന്നു <ref name="ecosia.org">{{cite web|url=https://blog.ecosia.org/december-ecosia-financial-report/|title=In December, we spent €533,080 on trees|date=18 February 2019|website=The Ecosia Blog}}</ref> .2018 ഒക്ടോബറിൽ, ഇതിന്റെ സ്ഥാപകനായ [[ക്രിസ്റ്റ്യൻ ക്രോൾ]] അദ്ദേഹത്തിന്റെ ഷെയർ ഈ ലക്ഷ്യത്തിനായി നീക്കി വെക്കുന്നതായി പ്രഖ്യാപിച്ചു.<ref>{{cite web |url=https://www.zeit.de/2018/44/gruendungspolitik-start-ups-jungunternehmer-umweltschutz-angela-merkel-gruene |title=Good bye, Frau Merkel |last=Tönnesmann |first=Jens |date=24 October 2018 |website=[[Zeit.de]] |language=de |access-date=24 October 2018}}</ref>.ഇതേ പാത പിൻ തുടർന്ന് കമ്പനിയുടെ സഹ സ്ഥാാപകനായ, [[ടിം ഷുമാക്കറും]] കമ്പനിയുടെ ലാഭം മറ്റ് ആവശ്യങ്ങൾക്ക് ഉപയോഗിക്കില്ലെന്ന് തീരുമാനിച്ചു <ref>{{cite web |url=https://berlinvalley.com/ecosia-christian-kroll-ueberzeugungstaeter/ |title=Ecosia-Gründer Christian Kroll ist ein Überzeugungstäter |last1=Köhn-Haskins |first1=Josefine |last2=Thomas |first2=Jan |date=9 October 2018 |website=Berlin Valley |language=de |access-date=24 October 2018 |archive-date=2019-04-02 |archive-url=https://web.archive.org/web/20190402221421/https://berlinvalley.com/ecosia-christian-kroll-ueberzeugungstaeter/ |url-status=dead }}</ref> ==അവലംബം== {{RL}} [[വർഗ്ഗം:സെർച്ച് എഞ്ചിനുകൾ]] 0dbh1k75bbw0230yutsi26k5rklukry വില്യം കെയ്‌ലിൻ ജൂനിയർ 0 487817 4622161 4591446 2026-05-23T07:33:12Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622161 wikitext text/x-wiki {{prettyurl|William Kaelin Jr.}} {{Infobox scientist |name = വില്യം കെയ്‌ലിൻ ജൂനിയർ. |image = William_G._Kaelin_Jr._UNIST_CGI_2019.jpg |birth_date = {{birth date and age |1957|11|23}} |birth_place = [[New York City|ന്യൂയോർക്ക് സിറ്റി]], [[New York (state)|ന്യൂയോർക്ക്]], U.S. |education = [[Duke University]] {{small|([[Bachelor of Science|BS]], [[Doctor of Medicine|MD]])}} |spouse = [[Carolyn Kaelin|കരോലിൻ സ്കെർബോ]] |awards = [[ലാസ്കർ അവാർഡ്]] {{small|(2016)}}<br>[[Nobel Prize in Physiology or Medicine|വൈദ്യശാസ്ത്രത്തിനുള്ള നോബൽ സമ്മാനം]] {{small|(2019)}} |fields = [[അർബുദ ചികിൽസ]] |workplaces = [[Dana–Farber Cancer Institute|ഡാന-ഫാർബർ കാൻസർ ഇൻസ്റ്റിറ്റ്യൂട്ട്]]<br>[[ഹാർവാർഡ് സർവകലാശാല]]<br>[[HHMI]]<ref name="hhmi.org">{{cite web |url=http://www.hhmi.org/scientists/william-g-kaelin-jr |title=William G. Kaelin, Jr., MD - HHMI.org |work=hhmi.org |accessdate=April 16, 2017}}</ref> }} [[അമേരിക്ക]]ൻ നൊബേൽ സമ്മാന ജേതാവായ '''വില്യം ജി. കെയ്‌ലിൻ ജൂനിയർ''' (ജനനം: 1957), [[ഹാർവാർഡ് സർവകലാശാല|ഹാർവാർഡ് സർവകലാശാലയിലും]] [[Dana–Farber Cancer Institute|ഡാന-ഫാർബർ കാൻസർ ഇൻസ്റ്റിറ്റ്യൂട്ടിലും]] വൈദ്യശാസ്ത്ര പ്രൊഫസറാണ്. [[Tumor suppressor|ട്യൂമർ സപ്രസ്സർ]] പ്രോട്ടീനുകളെ കുറിച്ച് അദ്ദേഹത്തിന്റെ ലബോറട്ടറിയിൽ പഠനം നടത്തിവരുന്നു. അടിസ്ഥാന മെഡിക്കൽ ഗവേഷണത്തിനുള്ള [[Lasker Award|ലാസ്കർ അവാർഡിന്]] 2016-ലെ സ്വീകർത്താവായ കെയ്‌ലിൻ 2016-ലെ അസ്കോ സയൻസ് ഓഫ് ഓങ്കോളജി അവാർഡും 2016 എഎസിആർ പ്രിൻസസ് തകമാത്സു അവാർഡും നേടിയിട്ടുണ്ട്.<ref>{{cite web|url=http://am.asco.org/daily-news/dr-william-g-kaelin-jr-receive-2016-science-oncology-award|title=Dr. William G. Kaelin, Jr., to Receive 2016 Science of Oncology Award|date=May 26, 2016|work=asco.org|accessdate=April 16, 2017}}</ref><ref name="harvard.edu">{{cite web|url=http://kaelin.dfci.harvard.edu/Kaelin_Lab_website/About_William_Kaelin.html|title=About William Kaelin|work=harvard.edu|accessdate=April 16, 2017|archive-date=2017-04-07|archive-url=https://web.archive.org/web/20170407090206/http://kaelin.dfci.harvard.edu/Kaelin_Lab_website/About_William_Kaelin.html|url-status=dead}}</ref> [[പീറ്റർ ജെ. റാറ്റ്ക്ലിഫ്|പീറ്റർ ജെ. റാറ്റ്ക്ലിഫ്]], [[ഗ്രെഗ് എൽ. സെമെൻസ|ഗ്രെഗ് എൽ. സെമെൻസ]] എന്നിവരോടൊപ്പം 2019-ലെ ഫിസിയോളജി അല്ലെങ്കിൽ [[വൈദ്യശാസ്ത്രത്തിനുള്ള നോബൽ സമ്മാനം|വൈദ്യശാസ്ത്രത്തിനുള്ള നോബൽ സമ്മാന]] ജേതാവാണ്.<ref name=Nobel>{{cite web|url=https://www.nobelprize.org/prizes/medicine/2019/summary/|title=The Nobel Prize in Physiology or Medicine 2019|website=NobelPrize.org|language=en-US|access-date=October 7, 2019}}</ref><ref name="NYT=20191007">{{cite news |last1=Kolata |first1=Gina |last2=Specia |first2=Megan |title=Nobel Prize in Medicine Awarded for Research on How Cells Manage Oxygen - The prize was awarded to William G. Kaelin Jr., Peter J. Ratcliffe and Gregg L. Semenza for discoveries about how cells sense and adapt to oxygen availability. |url=https://www.nytimes.com/2019/10/07/health/nobel-prize-medicine.html |date=October 7, 2019 |work=[[The New York Times]] |accessdate=October 8, 2019 }}</ref> == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == 1982-ൽ കെയ്‌ലിൻ [[ഡ്യൂക്ക് യൂണിവേഴ്സിറ്റി|ഡ്യൂക്ക് യൂണിവേഴ്‌സിറ്റിയിൽ]] കണക്ക്, രസതന്ത്രം എന്നിവയിൽ ബിരുദം നേടി എംഡി തുടർന്നു. [[ജോൺസ് ഹോപ്കിൻസ് സർവകലാശാല|ജോൺസ് ഹോപ്കിൻസ് സർവകലാശാലയിൽ]] ഇന്റേണൽ മെഡിസിനിൽ റെസിഡൻസിയും ഡാന-ഫാർബർ കാൻസർ ഇൻസ്റ്റിറ്റ്യൂട്ടിൽ ഓങ്കോളജി ഫെലോഷിപ്പും നേടി. ബിരുദധാരിയായിരുന്നപ്പോൾ ഡി‌എഫ്‌സി‌ഐയിയിലെ ഗവേഷണം പോരായെന്നു തോന്നിയതിനാൽ [[David M. Livingston|ഡേവിഡ് ലിവിംഗ്സ്റ്റണിന്റെ]] ലാബിൽ ഗവേഷണം നടത്തി. അവിടെ [[Retinoblastoma|റെറ്റിനോബ്ലാസ്റ്റോമ]] പഠനത്തിൽ വിജയം കണ്ടെത്തി.<ref name="hhmi.org"/> 1992-ൽ ലിവിംഗ്സ്റ്റണിന്റെ ലാബിൽ നിന്ന് മാറി ഡി.എഫ്.സി.ഐയിൽ അദ്ദേഹം സ്വന്തമായി ഒരു ലാബ് സ്ഥാപിച്ചു. അവിടെ [[Von Hippel–Lindau disease|വോൺ ഹിപ്പൽ-ലിൻഡൗ രോഗം]] പോലുള്ള ക്യാൻസറിന്റെ പാരമ്പര്യരൂപങ്ങളെക്കുറിച്ച് ഗവേഷണം നടത്തി. 2002-ൽ ഹാർവാർഡ് മെഡിക്കൽ സ്കൂളിൽ പ്രൊഫസറായി.<ref name="lilly.com">{{cite web|url=https://www.lilly.com/william-g-kaelin|title=William G. Kaelin, Jr., M.D.|work=lilly.com|accessdate=April 16, 2017|archive-date=2017-01-06|archive-url=https://web.archive.org/web/20170106013559/https://www.lilly.com/william-g-kaelin|url-status=dead}}</ref> == കരിയർ == 2008-ൽ ഡാന-ഫാർബർ / ഹാർവാർഡ് കാൻസർ സെന്ററിൽ ബേസിക് സയൻസ് അസിസ്റ്റന്റ് ഡയറക്ടറായി. ഡാന-ഫാർബറിലെ അദ്ദേഹത്തിന്റെ ഗവേഷണം ക്യാൻസർ വികസനത്തിൽ ട്യൂമർ സപ്രസ്സർ ജീനുകളിലെ മ്യൂട്ടേഷനുകളുടെ പങ്ക് മനസ്സിലാക്കുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു. [[Retinoblastoma|റെറ്റിനോബ്ലാസ്റ്റോമ]], വോൺ ഹിപ്പൽ-ലിൻഡൗ, [[p53|പി 53]] ട്യൂമർ സപ്രസ്സർ ജീൻസ് എന്നിവലായിയിരുന്നു അദ്ദേഹത്തിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ. [[National Institutes of Health|നാഷണൽ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഹെൽത്ത്]], [[American Cancer Society|അമേരിക്കൻ കാൻസർ സൊസൈറ്റി]], [[Doris Duke|ഡോറിസ് ഡ്യൂക്ക് ചാരിറ്റബിൾ ഫൗണ്ടേഷൻ]] എന്നിവയും അദ്ദേഹത്തിന്റെ പ്രവർത്തനങ്ങൾക്ക് ധനസഹായം നൽകി.<ref>{{cite web|url=http://kaelin.dfci.harvard.edu/Kaelin_Lab_website/Home_page_kaelin_lab.html|title=Home page kaelin lab|work=harvard.edu|accessdate=April 16, 2017|archive-date=2017-04-20|archive-url=https://web.archive.org/web/20170420230502/http://kaelin.dfci.harvard.edu/Kaelin_Lab_website/Home_page_kaelin_lab.html|url-status=dead}}</ref> [[എലി ലില്ലി|എലി ലില്ലി]]<ref name="lilly.com"/>, [[Stand Up to Cancer|സ്റ്റാൻഡ് അപ്പ് ടു കാൻസർ]] ശാസ്ത്ര ഉപദേശക സമിതി എന്നിവയിലെ ഡയറക്ടർ ബോർഡ് അംഗവുമാണ്. == ഗവേഷണം == [[File:HIF Nobel Prize Physiology Medicine 2019 Hegasy ENG.png|thumb|Illustration of how cells sense and adapt to oxygen availability]] ട്യൂമർ ഇല്ലാതാക്കുന്നതിനെക്കുറിച്ചുള്ള ഗവേഷണം തുടരുന്നതിനായി 1993-ൽ കെയ്‌ലിൻ ഡാന-ഫാർബറിൽ ഒരു ലബോറട്ടറി സ്ഥാപിച്ചു. [[Von Hippel–Lindau disease|വോൺ ഹിപ്പൽ-ലിൻഡൗ]] രോഗത്തിൽ (വിഎച്ച്എൽ) അദ്ദേഹത്തിന് താൽപ്പര്യമുണ്ടായിരുന്നു. ജീൻ മ്യൂട്ടേഷൻ മൂലമുണ്ടായ വിഎച്ച്എൽ ട്യൂമറുകൾ രക്തക്കുഴലുകളിൽ [[എറിത്രോപോയറ്റിൻ|എറിത്രോപോയിറ്റിൻ]] (ഇപിഒ) സൃഷ്ടിക്കുന്ന [[Angiogenesis|ആൻജിയോജനിക്]] ആണെന്ന് അറിയപ്പെട്ടിരുന്നു. ഈ ഹോർമോൺ ഹൈപ്പോക്സിയയോ അല്ലെങ്കിൽ രക്തത്തിലെ ഓക്സിജന്റെ അളവ് കുറയുകയോ ചെയ്യുമ്പോൾ പ്രവർത്തിക്കുന്ന ശരീരത്തിലെ മെക്കാനിക്കിന്റെ ഒരു ഭാഗമാണെന്ന് അറിയപ്പെടുന്നു. വിഎച്ച്എൽ ട്യൂമറുകളുടെ രൂപവത്കരണവും ഓക്സിജൻ കണ്ടെത്തുന്നതിനുള്ള ശരീരത്തിന്റെ കുറവും തമ്മിൽ ബന്ധമുണ്ടെന്ന് കെയ്‌ലിൻ അനുമാനിച്ചു.<ref name=":0">{{Cite journal|last=Hurst|first=Jillian H.|date=September 13, 2016|title=William Kaelin, Peter Ratcliffe, and Gregg Semenza receive the 2016 Albert Lasker Basic Medical Research Award|url=https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5096796/|journal=The Journal of Clinical Investigation|volume=126|issue=10|pages=3628–3638|doi=10.1172/JCI90055|issn=0021-9738|pmc=5096796|pmid=27620538}}</ref> വി‌എച്ച്‌എൽ വിഷയങ്ങളിൽ, ഇപി‌ഒ പ്രക്രിയയിൽ നിർണായകമായ ഒരു പ്രോട്ടീന്റെ രൂപീകരണം ജീനുകൾ പ്രകടിപ്പിച്ചതായി കെയ്‌ലിന്റെ ഗവേഷണം കണ്ടെത്തി. പക്ഷേ ഇത് മ്യൂട്ടേഷൻ അടിച്ചമർത്തപ്പെട്ടു. കെയ്‌ലിൻെറ പ്രവർത്തനങ്ങൾ [[പീറ്റർ ജെ. റാറ്റ്ക്ലിഫ്]], [[ഗ്രെഗ് എൽ. സെമെൻസ]] എന്നിവരുമായി ചേർന്ന് രണ്ട് ഭാഗങ്ങളുള്ള പ്രോട്ടീൻ, [[Hypoxia-inducible factors|ഹൈപ്പോക്സിയ-ഇൻഡ്യൂസിബിൾ ഘടകങ്ങൾ]] (എച്ച്ഐഎഫ്) പ്രത്യേകം തിരിച്ചറിഞ്ഞിട്ടുണ്ട്. അത് ഇപി‌ഒ ഉൽ‌പാദനത്തിന് അത്യന്താപേക്ഷിതവും രക്തത്തിലെ ഓക്സിജന്റെ അളവ് മൂലം പ്രവർത്തനക്ഷമവുമാകുന്നു. വി‌എച്ച്‌എൽ‌ പ്രോട്ടീൻ‌ എച്ച്‌ഐ‌എഫിനെ നിയന്ത്രിക്കാൻ‌ സഹായിക്കുമെന്ന് കെയ്‌ലിൻ‌ കണ്ടെത്തി. വി‌എച്ച്‌എൽ‌ പ്രോട്ടീനുകൾ‌ ഇല്ലാത്ത വിഷയങ്ങളിൽ‌ എച്ച്‌ഐ‌എഫ് ഇ‌പി‌ഒയെ അമിതമായി ഉൽ‌പാദിപ്പിക്കുകയും കാൻസറിലേക്ക് നയിക്കുകയും ചെയ്യുന്നു.<ref name="nature">{{cite web | url = https://www.nature.com/articles/d41586-019-02963-0 | title = Biologists who decoded how cells sense oxygen win medicine Nobel | first1 = Heidi | last1 = Ledford | first2 = Ewen | last2 = Callaway |date = October 7, 2019 | accessdate = October 9, 2019 | work = [[Nature (journal)|Nature]] }}</ref> കെയ്‌ലിൻ, റാറ്റ്ക്ലിഫ്, സെമെൻസ എന്നിവരുടെ സംയോജിത പ്രവർത്തനങ്ങൾ രക്തത്തിലെ ഓക്സിജന്റെ അളവ് കോശങ്ങൾ എങ്ങനെ കണ്ടെത്തുകയും പ്രതികരിക്കുകയും ചെയ്യുന്നു എന്നതിന്റെ വഴി തിരിച്ചറിഞ്ഞു. കൂടാതെ വിളർച്ച, [[വൃക്ക]]യുടെ പ്രവർത്തനം നിലയ്ക്കൽ എന്നിവയുള്ള രോഗികളെ സഹായിക്കുന്നതിനു വേണ്ടിയുള്ള മരുന്നുകളുടെ വികസനത്തിന് കാരണമായി. == സ്വകാര്യ ജീവിതം == 1988-ൽ സ്തനാർബുദ ശസ്ത്രക്രിയാ വിദഗ്ദ്ധയായ [[Carolyn Kaelin|ഡോ. കരോലിൻ കെയ്‌ലിനുമായി]] (സ്കെർബോ) അദ്ദേഹം വിവാഹിതനായി. 2015-ൽ ക്യാൻസർ ബാധിച്ച് അവർ മരിക്കുകയുണ്ടായി. അവർക്ക് രണ്ട് കുട്ടികളെ ലഭിച്ചിരുന്നു.<ref>{{cite news|url=https://www.nytimes.com/2015/08/10/us/carolyn-kaelin-breast-cancer-surgeon-dies-at-54.html|title=Carolyn Kaelin, Breast Cancer Surgeon, Patient Advocate and Patient, Dies at 54|first=Denise|last=Grady|date=August 9, 2015|publisher=|accessdate=April 16, 2017|via=NYTimes.com}}</ref> == തിരഞ്ഞെടുത്ത അവാർഡുകൾ == {{columns-list|colwidth=35em| * എൻ‌എ‌എച്ച് ഫിസിഷ്യൻ-സയന്റിസ്റ്റ് അവാർഡ് (1990)<ref name="harvard.edu"/> * റിച്ചാർഡ് ആൻഡ് ഹിന്ദ റോസെന്തൽ ഫൗണ്ടേഷൻ അവാർഡ്, AACR (2006)<ref>{{cite web |url=https://www.aacr.org/Research/Awards/PAGES/ROSENTHAL-AWARD___8470D6.ASPX |title=AACR Richard and Hinda Rosenthal Memorial Award Recipients |author= |4= |publisher=American Association for Cancer Research |date= |accessdate=October 8, 2019 |archive-date=2019-10-09 |archive-url=https://web.archive.org/web/20191009160501/https://www.aacr.org/Research/Awards/PAGES/ROSENTHAL-AWARD___8470D6.ASPX |url-status=dead }}</ref> * ഡോറിസ് ഡ്യൂക്ക് ഡിസ്റ്റിംഗ്വിഷ്ഡ് ക്ലിനിക്കൽ ഇൻവെസ്റ്റിഗേറ്റർ അവാർഡ് (2006)<ref>{{cite web |url=https://www.ddcf.org/grants/Grant-Recipients/2006-Distinguished-Clinical-Scientist-Awards/ |title=2006 Distinguished Clinical Scientist Awards |author= |4= |publisher=Doris Duke Charitable Foundation |date=January 1, 2006 |accessdate=October 8, 2019 |archive-date=2019-10-09 |archive-url=https://web.archive.org/web/20191009160504/https://www.ddcf.org/grants/Grant-Recipients/2006-Distinguished-Clinical-Scientist-Awards/ |url-status=dead }}</ref> * ഡ്യൂക്ക് യൂണിവേഴ്സിറ്റി സ്കൂൾ ഓഫ് മെഡിസിൻ ഡിസ്റ്റിംഗ്വിഷ്ഡ് അലുമ്‌നി അവാർഡ് (2007)<ref>{{cite web |url=https://medschool.duke.edu/about-us/alumni/alumni-news-and-awards/alumni-awards |title=Alumni Awards |author= |4= |publisher=Duke University School of Medicine |date= |accessdate=October 8, 2019 |archive-date=2019-10-09 |archive-url=https://web.archive.org/web/20191009160509/https://medschool.duke.edu/about-us/alumni/alumni-news-and-awards/alumni-awards |url-status=dead }}</ref> * [[Institute of Medicine|ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിസിൻ]] (2007) ലെ തിരഞ്ഞെടുക്കപ്പെട്ട അംഗം(2007)<ref>{{cite web|url=https://nam.edu/two-nam-members-receive-albert-lasker-basic-medical-research-award//|title=Two NAM Members Receive Albert Lasker Basic Medical Research Award|accessdate=October 7, 2019}}</ref> * [[Canada Gairdner International Award|കാനഡ ഗെയ്‌ഡ്‌നർ ഇന്റർനാഷണൽ അവാർഡ്]] (2010)<ref>{{cite web|url=https://gairdner.org/award_winners/william-g-jr-kaelin/|title=William G. Kaelin Jr.|accessdate=October 7, 2019}}</ref> * [[National Academy of Sciences|നാഷണൽ അക്കാദമി ഓഫ് സയൻസസിലെ]] (2010) തിരഞ്ഞെടുക്കപ്പെട്ട അംഗം (2010)<ref>{{cite web|url=http://www.nasonline.org/member-directory/members/20003143.html/|title=William G. Kaelin Jr.|accessdate=October 7, 2019}}</ref> * [[Stanley J. Korsmeyer Award|സ്റ്റാൻലി ജെ. കോർസ്മെയർ അവാർഡ്]] (2012)<ref>{{cite web |url=https://www.jci.org/articles/view/63264 |title= |author= |4= |publisher=The Journal of Clinical Investigation |date= |accessdate=October 8, 2019 |archive-date=2019-10-09 |archive-url=https://web.archive.org/web/20191009160327/https://www.jci.org/articles/view/63264 |url-status=dead }}</ref> * [[Grand Prix scientifique de la Fondation Lefoulon-Delalande|ലെഫൗലോൺ-ഡെലാലാൻഡ് ഫൗണ്ടേഷന്റെ ശാസ്ത്രീയ ഗ്രാൻഡ് പ്രൈസ്]] (2012)<ref>{{Cite news|url=http://www.grands-prix-institut-de-france.fr/william-g-kaelin|title=William G. Kaelin|date=April 21, 2015|work=Institut de France. Grands Prix des Fondations|access-date=December 12, 2017|archive-date=2023-06-14|archive-url=https://web.archive.org/web/20230614121254/http://www.grands-prix-institut-de-france.fr/william-g-kaelin|url-status=dead}}</ref> * സ്റ്റീവൻ സി. ബിയറിംഗ് അവാർഡ് (2014)<ref>{{cite web|url=https://faculty.medicine.iu.edu/advance-your-career/awards/steven-c-beering-award/|title=Steven C. Beering Award| author= | |publisher=Indiana University School of Medicine |date=|accessdate=October 9, 2019}}</ref> * [[Wiley Prize in Biomedical Sciences|ബയോമെഡിക്കൽ സയൻസസിലെ വൈലി പ്രൈസ്]] (2014)<ref>{{cite web|url=https://www.ludwigcancerresearch.org/wp-content/uploads/2018/09/2014-Wiley-Prize-Press-Release-FINAL.pdf |title=The 13th Annual Wiley Prize in Biomedical Sciences Awarded for Advancements in Oxygen Sensing Systems| author= | |publisher=Ludwig Cancer Research |date=February 14, 2014 |accessdate=October 8, 2019}}</ref> * [[AACR Academy|AACR അക്കാദമിയുടെ]] തിരഞ്ഞെടുക്കപ്പെട്ട ഫെലോ (2014)<ref>{{cite web|url=https://www.aacr.org/Membership/Pages/FellowDetailsNoModal.aspx?ItemID=130|title=William G. Kaelin Jr., MD Class of 2014|author=|4=|publisher=American Association for Cancer Research|date=|accessdate=October 8, 2019|archive-date=2019-10-08|archive-url=https://web.archive.org/web/20191008192857/https://www.aacr.org/Membership/Pages/FellowDetailsNoModal.aspx%3FItemID%3D130|url-status=dead}}</ref> * Science of Oncology Award, ASCO (2016)<ref>{{cite web|url= https://www.bcrf.org/blog/bcrf-investigators-honored-american-society-clinical-oncology |title=BCRF Investigators Honored by the American Society for Clinical Oncology | author= | |publisher=Breast Cancer Research Foundation |date=June 16, 2016 |accessdate=October 8, 2019}}</ref> * [[Princess Takamatsu Award|പ്രിൻസെസ് തകമാത്സു അവാർഡ്]], AACR (2016)<ref>{{cite web|url=https://www.dana-farber.org/newsroom/news-releases/2016/william-g--kaelin--jr---md--receives-princess-takamatsu-award-from-aacr/ |title=William G. Kaelin, Jr., MD, receives Princess Takamatsu award from AACR | author= | |publisher=Dana-Farber Cancer Institute |date=April 21, 2016|accessdate=October 8, 2019}}</ref> * [[Peter J. Ratcliffe|പീറ്റർ ജെ. റാറ്റ്ക്ലിഫ്]], [[Gregg Semenza|ഗ്രെഗ് സെമെൻസ]] (2016) എന്നിവരോടൊപ്പം അടിസ്ഥാന മെഡിക്കൽ ഗവേഷണത്തിനുള്ള [[Albert Lasker Award for Basic Medical Research|ആൽബർട്ട് ലാസ്കർ അവാർഡ്]] (2016)<ref>{{cite web |url=http://www.laskerfoundation.org/awards/#name=&award=&year=2016 |title=2016 Award Winners |publisher=Albert And Mary Lasker Foundation |accessdate=October 7, 2019 }}</ref> * [[Massry Prize|മാസ്ട്രി പ്രൈസ്|]] (2018)<ref>{{cite web |url=https://keck.usc.edu/massry-prize/current-laureates |title=2018 Massry Prize Laureates |publisher=Keck School of Medicine of USC |accessdate=October 7, 2019 |archive-date=2021-12-01 |archive-url=https://web.archive.org/web/20211201115606/https://keck.usc.edu/massry-prize/current-laureates |url-status=dead }}</ref> * [[Nobel Prize in Physiology or Medicine|ഫിസിയോളജി അല്ലെങ്കിൽ മെഡിസിൻ നോബൽ സമ്മാനം]] [[Peter J. Ratcliffe|പീറ്റർ ജെ. റാറ്റ്ക്ലിഫും]] [[Gregg Semenza|ഗ്രെഗ് സെമെൻസയും]] (2019), "കോശങ്ങൾ എങ്ങനെ ഓക്സിജൻ ലഭ്യതയുമായി പൊരുത്തപ്പെടുന്നുവെന്നതിനെക്കുറിച്ചുള്ള കണ്ടെത്തലുകൾക്ക്" നൊബേൽ സമ്മാന സമിതി സമ്മാനിച്ചു."<ref name=Nobel/> }} == അവലംബം== {{reflist}} {{Scholia}} {{Nobel Prize in Physiology or Medicine}} {{2019 Nobel Prize winners}} {{Authority control}} [[വർഗ്ഗം:1957-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:വൈദ്യശാസ്ത്രത്തിനുള്ള നോബൽ സമ്മാന ജേതാക്കൾ]] [[വർഗ്ഗം:കാൻസർ ഗവേഷകർ]] 0rosk088poe1wvkz5kocwnwt7gguu4e ഡാനി കർവഹാൾ 0 505899 4622090 4099802 2026-05-23T01:24:11Z ~2026-30761-74 218198 4622090 wikitext text/x-wiki {{വൃത്തിയാക്കേണ്ടവ}} {{Infobox football biography | name = ഡാനി കർവഹാൾ | nationalgoals1 = 0 | years3 = 2013–2026 | clubs3 = [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റിയൽ മാഡ്രിഡ്]] | caps3 = 177 | goals3 = 4 | nationalyears1 = 2010–2011 | nationalteam1 = [[Spain national under-19 football team|Spain U19]] | nationalcaps1 = 11 | nationalyears2 = 2012–2014 | caps2 = 32 | nationalteam2 = [[Spain national under-21 football team|Spain U21]] | nationalcaps2 = 10 | nationalgoals2 = 1 | nationalyears3 = 2014– | nationalteam3 = [[Spain national football team|Spain]] | nationalcaps3 = 24 | nationalgoals3 = 0 | club-update = 21:54, 1 March 2020 (UTC) | goals2 = 1 | clubs2 = [[Bayer 04 Leverkusen|Bayer Leverkusen]] | image = FC RB Salzburg v.Real Madrid (Testspiel, 7. August 2019) 29.jpg | currentclub = [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റിയൽ മാഡ്രിഡ്]] | image_size = 200 | caption = Carvajal playing for [[Real Madrid]] in 2019 | fullname = ഡാനി കർവഹാൾ റാമോസ്<ref>{{cite web |url=http://actas.rfef.es/actas/RFEF_CmpActa1?cod_primaria=1000144&CodActa=57351 |title=Acta del Partido celebrado el 19 de mayo de 2019, en Madrid |trans-title=Minutes of the Match held on 19 May 2019, in Madrid |publisher=Royal Spanish Football Federation |accessdate=14 June 2019 |language=Spanish |archive-date=2020-06-15 |archive-url=https://web.archive.org/web/20200615194220/http://actas.rfef.es/actas/RFEF_CmpActa1?cod_primaria=1000144&CodActa=2782 |url-status=dead }}</ref> | birth_date = {{birth date and age|1992|1|11|df=y}}<ref name=FIFA>{{cite web|url=http://www.fifadata.com/documents/FCWC/2017/pdf/FCWC_2017_Squadlists.pdf|title=FIFA Club World Cup UAE 2017: List of players: Real Madrid CF|publisher=FIFA|page=5|format=PDF|date=16 December 2017|accessdate=23 December 2017|archive-date=2017-12-23|archive-url=https://web.archive.org/web/20171223004345/http://www.fifadata.com/documents/FCWC/2017/pdf/FCWC_2017_Squadlists.pdf|url-status=dead}}</ref> | birth_place = [[Leganés]], Spain | height = 1.73 m<ref name=FIFA/> | position = [[Defender (association football)#Full-back|Right back]] | clubnumber = 2 | years2 = 2012–2013 | youthyears1 = 1999–2002 | youthclubs1 = ADCR Leman's | youthyears2 = 2002–2010 | youthclubs2 = [[Real Madrid CF (youth)|Real Madrid]] | years1 = 2010–2012 | clubs1 = [[Real Madrid Castilla|Real Madrid B]] | caps1 = 68 | goals1 = 3 | nationalteam-update = 21:37, 18 November 2019 (UTC) }}<nowiki> </nowiki>'''ഡാനി കർവഹാൾ റാമോസ്''' [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റയൽ മാഡ്രിഡിനും]] [[സ്പെയിൻ ദേശീയ ഫുട്ബോൾ ടീം|സ്പാനിഷ് ദേശീയ ടീമിനും]] കളിക്കുന്ന ഒരു സ്പാനിഷ് പ്രൊഫഷണൽ [[ഫുട്ബോൾ]] കളിക്കാരനാണ് . [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റയൽ മാഡ്രിഡ്]] യൂത്ത് റാങ്കുകളിലൂടെ ഉയർന്ന അദ്ദേഹം 2013 ൽ ആദ്യ ടീമിലേക്ക് കടക്കുന്നതിന് മുമ്പ് ബെയർ ലെവർകുസനുമായി ഒരു സീസൺ ചെലവഴിച്ചു, നാല് [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്|ചാമ്പ്യൻസ് ലീഗ്]] ട്രോഫികൾ ഉൾപ്പെടെ വിവിധ ആഭ്യന്തര, അന്തർദേശീയ ബഹുമതികൾ നേടിയിട്ടുണ്ട് . യൂത്ത് ഇന്റർനാഷണൽ തലത്തിൽ, 2011 ലെ അണ്ടർ 19 ടീമിനൊപ്പം യൂറോപ്യൻ ചാമ്പ്യൻഷിപ്പും അണ്ടർ 21 ടീമിനൊപ്പം 2013 പതിപ്പും കർവഹാൾ. 2014 ൽ [[സ്പെയിൻ ദേശീയ ഫുട്ബോൾ ടീം|സീനിയർ]] അരങ്ങേറ്റം കുറിച്ചു. == ക്ലബ് കരിയർ == === റയൽ മാഡ്രിഡ് ബി === [[മാഡ്രിഡ്|മാഡ്രിഡിന്റെ]] പ്രാന്തപ്രദേശമായ ലെഗാനസിലാണ് കർവഹാൾ ജനിച്ചത്. 10 വയസുള്ളപ്പോൾ [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റയൽ മാഡ്രിഡിന്റെ]] യുവജന സംവിധാനത്തിൽ ചേർന്ന അദ്ദേഹം റാങ്കുകളിലൂടെ കയറി 2010 ൽ റയൽ മാഡ്രിഡ് കാസ്റ്റില്ലയിൽ എത്തി . സീനിയർ എന്ന നിലയിൽ തന്റെ ആദ്യ സീസണിൽ റിസർവ് ടീമിന്റെ ആരംഭ ഇലവനിൽ ഇടം നേടി ,ഉടൻ തന്നെ ടീമിന്റെ ക്യാപ്യി . === ബയർ ലെവർകുസെൻ === 11 ജൂലൈ 2012 ന്, ജർമ്മനിയുടെ ബയർ ലെവർകുസെനുമായി അഞ്ചുവർഷത്തെ കരാർ ഒപ്പിട്ടു. ഇതിൽ റയലിന് ആവശ്യമുള്ളപ്പോൾ തിരിച്ചു വാങ്ങാം എന്നൊരു വ്യവസ്ഥകൂടി ഉണ്ടായിരുന്നു . 2012 സെപ്റ്റംബർ 1 ന് എസ്‌സി ഫ്രീബർഗിനെതിരായ 2-0 ഹോം ജയത്തിലാണ് കർവഹാൾ [[ബുണ്ടെസ്‌ലിഗാ|ബുണ്ടസ്ലിഗയിൽ]] അരങ്ങേറ്റം കുറിച്ചത്, <ref>{{Cite web|url=http://espnfc.com/uk/en/report/346393/report.html?soccernet=true&cc=5739|title=Bayer Leverkusen 2–0 SC Freiburg|access-date=24 October 2012|date=1 September 2012|publisher=[[ESPN FC]]}}</ref> പിന്നീട് ടീം ഓഫ് ദ വീക്കിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. <ref>{{Cite web|url=http://www.kicker.de/news/fussball/bundesliga/spieltag/1-bundesliga/2012-13/2/elf-des-tages-am-spieltag.html|title=1. Bundesliga&nbsp;– Elf des Tages|access-date=3 September 2012|publisher=[[Kicker (sports magazine)|kicker]]|language=German|trans-title=1. Bundesliga&nbsp;– Team of the Week}}</ref> നവംബർ 25 ന്‌ തന്റെ പുതിയ ക്ലബിനായി അദ്ദേഹം ആദ്യ ഗോൾ നേടി, <ref>{{Cite web|url=http://espnfc.com/uk/en/report/346287/report.html?soccernet=true&cc=5739|title=TSG Hoffenheim 1–2 Bayer Leverkusen|access-date=26 November 2012|date=25 November 2012|publisher=ESPN FC}}</ref> തന്റെ ആദ്യത്തേയും ഏക സീസണിന്റെയും അവസാനത്തിൽ മികച്ച മൂന്ന് റൈറ്റ് ബാക്കുകളിലൊന്നായി കർവഹാളിനെ &nbsp; തിരഞ്ഞെടുത്തു, [[എഫ്. സി. ബയേൺ മ്യൂണിക്ക്|എഫ്‌സി ബയേൺ മ്യൂണിക്കിന്റെ]] [[ഫിലിപ്പ് ലാം|ഫിലിപ്പ്]] ലാമിനും എഫ്‌സി ഷാൽക്കെ 04 ന്റെ അറ്റ്‌സുട്ടോ ഉചിഡയ്ക്കും പിന്നിൽ . മൊത്തം വോട്ടുകളുടെ 16% ആരാധകരിൽ നിന്ന് അദ്ദേഹത്തിന് ലഭിച്ചു. <ref>{{Cite web|url=http://www.bundesliga.com/en/fanzone/team-of-the-season/|title=Team of the season 2012/13|access-date=1 June 2013|date=25 May 2013|publisher=[[Bundesliga]]|archive-url=https://web.archive.org/web/20140412230941/http://www.bundesliga.com/en/fanzone/team-of-the-season/|archive-date=12 April 2014}}</ref> === റിയൽ മാഡ്രിഡ് === 2013 ജൂൺ 3 ന്, റയൽ മാഡ്രിഡ് അതിന്റെ തിരിച്ചു വാങ്ങൽ ഓപ്ഷൻ കർവഹാളിനായി ഉപയോഗിച്ചു. &nbsp; ദ <ref>{{Cite web|url=http://www.bayer04.de/B04-ENG/en/_site_index.aspx|title=Real Madrid recall Carvajal|access-date=3 June 2013|date=3 June 2013|publisher=Bayer Leverkusen}}</ref> ഈ നീക്കത്തിന് തൊട്ടുപിന്നാലെ, മടങ്ങിവരുന്നതിന്റെ സന്തോഷത്തെക്കുറിച്ച് അദ്ദേഹം സംസാരിച്ചു, പത്രസമ്മേളനത്തിൽ പ്രസിഡന്റിനും ആരാധകർക്കും ക്ലബിനും നന്ദി പറഞ്ഞു. <ref>{{Cite web|url=http://www.goal.com/en-gb/news/2892/transfer-zone/2013/07/05/4096427/carvajal-revels-in-real-madrid-return?ICID=OP|title=Carvajal revels in Real Madrid return|access-date=13 July 2013|date=5 July 2013|publisher=[[Goal (website)|Goal]]}}</ref> 2013 ഓഗസ്റ്റ് 18 ന് റയൽ ബെറ്റിസിനെതിരായ 2–1 ഹോം ജയത്തിലാണ് കർവഹാൾ [[ലാ ലിഗാ|ലാ ലിഗയിൽ]] അരങ്ങേറ്റം കുറിച്ചത്. <ref>{{Cite web|url=http://espnfc.com/uk/en/report/373215/report.html?soccernet=true&cc=5739|title=Isco an instant hero|access-date=29 November 2013|date=18 August 2013|publisher=ESPN FC}}</ref> ഒരു മാസത്തിനു ശേഷം തന്റെ ആദ്യ [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്]] മത്സരം കളിച്ചു. <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/season=2014/matches/round=2000479/match=2011769/index.html|title=Six-goal Madrid overwhelm Galatasaray|access-date=29 November 2013|date=17 September 2013|publisher=UEFA}}</ref> ആദ്യ സീസണിൽ 45 മത്സരങ്ങളിൽ കളിച്ച കർവഹാൾ രണ്ട് തവണ സ്കോർ ചെയ്തു ചാമ്പ്യൻസ് ലീഗ് ഫൈനലിൽ അദ്ദേഹം 120 മിനിറ്റ് കളിച്ചു. <ref>{{Cite web|url=https://www.bbc.com/sport/0/football/27383593|title=Real Madrid 4–1 Atlético Madrid|access-date=25 May 2014|date=24 May 2014|publisher=[[BBC Sport]]}}</ref> [[പ്രമാണം:Daniel_Carvajal_entrenando.JPG|ഇടത്ത്‌|ലഘുചിത്രം| 2016 ൽ റയൽ മാഡ്രിഡിനൊപ്പം കർവഹാൾ ]] 17 സെപ്റ്റംബർ 2017 ന് കാർവാജലിന്റെ കരാർ 2022 വരെ നീട്ടി. <ref>{{Cite web|url=http://www.realmadrid.com/en/news/2017/09/ceremony-to-mark-carvajals-contract-renewal|title=Ceremony to mark Carvajal's contract renewal|access-date=18 September 2017|date=17 September 2017|publisher=Real Madrid CF}}</ref> അടുത്ത മാസത്തിന്റെ തുടക്കത്തിൽ, അദ്ദേഹത്തെ ഹൃദയാഘാതം മൂലം മാറ്റി നിർത്തി; <ref>{{Cite web|url=http://www.espnfc.com/real-madrid/story/3218312/real-madrid-defender-dani-carvajal-ruled-out-with-heart-problem|title=Real Madrid defender Dani Carvajal ruled out with heart problem|access-date=6 October 2017|date=2 October 2017|publisher=ESPN FC}}</ref> ആ വർഷത്തെ ചാമ്പ്യൻസ് ലീഗിൽ അദ്ദേഹം എട്ട് മത്സരങ്ങൾ കളിച്ചു, <ref>{{Cite web|url=https://www.rcnradio.com/deportes/asi-llegan-las-plantillas-de-real-madrid-y-liverpool-la-final-de-la-champions|title=Así llegan Real Madrid y Liverpool a la final de la Champions|access-date=29 May 2018|date=25 May 2018|publisher=[[RCN Radio]]|language=Spanish|trans-title=That is how Real Madrid and Liverpool arrive to the Champions final}}</ref> മാഡ്രിഡ് തുടർച്ചയായ മൂന്നാമത്തെയും മൊത്തത്തിൽ പതിമൂന്നാമത്തെയും കിരീടം നേടി. <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/season=2018/matches/round=2000885/match=2021711/postmatch/report/index.html|title=Madrid beat Liverpool to complete hat-trick|access-date=28 May 2018|date=26 May 2018|publisher=UEFA}}</ref> 2018 ഓഗസ്റ്റ് 19 ന് [[ഗെറ്റാഫെ സി എഫ്|ഗെറ്റാഫെ സിഎഫിനെതിരായ]] 2–0 ഹോം വിജയത്തിൽ കർവഹാൾ പുതിയ സീസണിലെ റയൽ മാഡ്രിഡിന്റെ ആദ്യ ലീഗ് ഗോൾ നേടി. <ref>{{Cite web|url=https://www.bbc.com/sport/football/45242415|title=Real Madrid 2–0 Getafe|access-date=31 December 2018|date=19 August 2018|publisher=BBC Sport}}</ref> == അന്താരാഷ്ട്ര കരിയർ == [[പ്രമാണം:UEFA_EURO_qualifiers_Sweden_vs_Spain_20191015_Dani_Carvajal_10.jpg|ലഘുചിത്രം| കർവഹാൾ 2019 ൽ സ്പെയിനിനായി കളിക്കുന്നു ]] 2014 ഓഗസ്റ്റ് 29 ന് [[ഫ്രാൻസ് ദേശീയ ഫുട്ബോൾ ടീം|ഫ്രാൻസിനും]] മാസിഡോണിയയ്ക്കുമെതിരായ മത്സരങ്ങൾക്കായി കർവഹാളിനെ ആദ്യമായി ടീമിലേക്ക് വിളിപ്പിച്ചു. <ref>{{Cite web|url=http://www.sefutbol.com/en/these-are-players-called-matches-against-france-and-macedonia|title=Vicente del Bosque has announced the 23-man squad for the matches against France (September 4th) and Macedonia (September 8th)|access-date=29 August 2014|date=29 August 2014|publisher=[[Royal Spanish Football Federation]]|archive-url=https://web.archive.org/web/20140831194953/http://www.sefutbol.com/en/these-are-players-called-matches-against-france-and-macedonia|archive-date=31 August 2014}}</ref> സെപ്റ്റംബർ 4 ന് അദ്ദേഹം അരങ്ങേറ്റം കുറിച്ചു, 90 മിനിറ്റ് മുഴുവൻ കളിച്ചു; <ref>{{Cite web|url=https://www.bbc.com/sport/0/football/29047046|title=France 1–0 Spain|access-date=6 September 2014|date=4 September 2014|publisher=BBC Sport}}</ref> യുവേഫ യൂറോ 2016 ടൂർണമെന്റിലേക്കും അദ്ദേഹം തിരഞ്ഞെടുക്കപ്പെട്ടു, <ref>{{Cite web|url=https://www.bbc.co.uk/sport/football/36312769|title=Euro 2016: Diego Costa, Juan Mata & Fernando Torres not in Spain squad|access-date=17 May 2016|date=17 May 2016|publisher=BBC Sport}}</ref> [[ഫുട്ബോൾ ലോകകപ്പ് 2018|2018 ഫിഫ ലോകകപ്പിനുള്ള]] സ്‌പെയിനിന്റെ അവസാന ടീമിൽ കർവഹാളിനെ ഉൾപ്പെടുത്തി . <ref>{{Cite web|url=http://www.goal.com/en/news/morata-misses-out-on-spain-world-cup-squad/1ub1qz7jod09i1lfvdcy84ea2l|title=Morata misses out on Spain's 23-man World Cup squad|access-date=21 May 2018|date=21 May 2018|publisher=Goal}}</ref> ജൂൺ 20 ന് [[ലോകകപ്പ്‌ ഫുട്ബോൾ|നടന്ന മത്സരത്തിൽ]] അദ്ദേഹം ആദ്യമായി പ്രത്യക്ഷപ്പെടുകയും ഇറാനെതിരെ 1-0 ന് ജയിക്കുകയും ചെയ്തു. == കരിയർ സ്ഥിതിവിവരക്കണക്കുകൾ == === ക്ലബ് === {{updated|1 March 2020}}<ref>{{cite web|url=https://int.soccerway.com/players/daniel-carvajal-ramos/145430/|title=Daniel Carvajal|publisher=Soccerway|accessdate=20 April 2014}}</ref><ref>{{ESPN FC|168531}}</ref> {| class="wikitable" style="text-align:center" ! rowspan="2" |Club ! rowspan="2" |Season ! colspan="3" |League ! colspan="2" |Cup ! colspan="2" |Europe ! colspan="2" |Other<sup>1</sup> ! colspan="2" |Total |- !Division !Apps !Goals !Apps !Goals !Apps !Goals !Apps !Goals !Apps !Goals |- | rowspan="3" |Real Madrid B |2010–11 | rowspan="2" |Segunda División |30 |1 | colspan="2" |— | colspan="2" |— |0 |0 |30 |1 |- |2011–12 |38 |2 | colspan="2" |— | colspan="2" |— |0 |0 |38 |2 |- ! colspan="2" |Total !68 !3 ! colspan="2" |— ! colspan="2" |— !0 !0 !68 !3 |- |Bayer Leverkusen |2012–13 |[[ബുണ്ടെസ്‌ലിഗാ|Bundesliga]] |32 |1 |2 |0 |2 |0 |0 |0 |36 |1 |- | rowspan="8" |[[റിയൽ മാഡ്രിഡ് സി.എഫ്|Real Madrid]] |2013–14 |[[ലാ ലിഗാ|La Liga]] |31 |2 |4 |0 |10 |0 |0 |0 |45 |2 |- |2014–15 |La Liga |30 |0 |3 |0 |5 |0 |5 |0 |43 |0 |- |2015–16 |La Liga |22 |0 |0 |0 |8 |1 | colspan="2" |— |30 |1 |- |2016–17 |La Liga |23 |0 |4 |0 |11 |0 |3 |1 |41 |1 |- |2017–18 |La Liga |25 |0 |4 |0 |8 |0 |4 |0 |41 |0 |- |2018–19 |La Liga |24 |1 |4 |0 |6 |0 |3 |0 |37 |1 |- |2019–20 |La Liga |22 |1 |2 |0 |6 |0 |2 |0 |32 |1 |- ! colspan="2" |Total !177 !4 !21 !0 !54 !1 !17 !1 !269 !6 |- ! colspan="3" |Career total !277 !8 !23 !0 !56 !1 !17 !1 !373 !10 |} <small><sup>1 ൽ</sup> [[സ്പാനിഷ് സൂപ്പർ കപ്പ്|സൂപ്പർകോപ്പ ഡി എസ്പാന]], [[യുവേഫ സൂപ്പർ കപ്പ്]], [[ഫിഫ ക്ലബ്ബ് ലോകകപ്പ്|ഫിഫ ക്ലബ് ലോകകപ്പ് എന്നിവ ഉൾപ്പെടുന്നു]] .</small> === അന്താരാഷ്ട്രകരിയർ === [[പ്രമാണം:Iran_and_Spain_match_at_the_FIFA_World_Cup_(2018-06-20)_08.jpg|വലത്ത്‌|ലഘുചിത്രം|300x300ബിന്ദു| [[ഫുട്ബോൾ ലോകകപ്പ് 2018|2018 ഫിഫ ലോകകപ്പിൽ]] ഇറാന്റെ വാഹിദ് അമീരി കാർവാജലിനെ കബളിപ്പിച്ചു ]] {{updated|match played 18 November 2019}}<ref>{{cite web|url=https://eu-football.info/_player.php?id=28787|title=Dani Carvajal|website=EU-Football.info|date=20 June 2018}}</ref> {| class="wikitable" style="text-align:center" ! colspan="3" | [[സ്പെയിൻ ദേശീയ ഫുട്ബോൾ ടീം|സ്പെയിൻ]] |- ! വർഷം ! അപ്ലിക്കേഷനുകൾ ! ലക്ഷ്യങ്ങൾ |- | 2014 | 2 | 0 |- | 2015 | 3 | 0 |- | 2016 | 4 | 0 |- | 2017 | 4 | 0 |- | 2018 | 7 | 0 |- | 2019 | 4 | 0 |- ! ആകെ ! 24 ! 0 |} == ബഹുമതികൾ == === ക്ലബ് === '''റയൽ മാഡ്രിഡ് കാസ്റ്റില്ല''' <ref name="Soccerway">{{Cite web|url=https://int.soccerway.com/players/daniel-carvajal-ramos/145430/|title=Daniel Carvajal – Trophies|access-date=10 August 2016|publisher=Soccerway}}</ref> * സെഗുണ്ട ഡിവിഷൻ ബി : 2011–12 '''റയൽ മാഡ്രിഡ്''' <ref name="Soccerway"/> * [[ലാ ലിഗാ|ലാ ലിഗ]] : 2016–17 * [[കോപ ഡെൽ റേ]] : 2013–14 * [[സ്പാനിഷ് സൂപ്പർ കപ്പ്|സൂപ്പർകോപ്പ ഡി എസ്പാന]] : 2017, 2019–20 <ref>{{Cite web|url=https://www.marca.com/en/football/real-madrid/cronica/2020/01/12/5e1b882ce2704e6d7a8b4598.html|title=Real Madrid win the Supercopa from the spot|access-date=12 January 2020|date=12 January 2020|website=marca.com}}</ref> * [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്]] : 2013–14, 2015–16, 2016–17, 2017–18 * [[യുവേഫ സൂപ്പർ കപ്പ്]] : 2014, 2016, 2017 * [[ഫിഫ ക്ലബ്ബ് ലോകകപ്പ്|ഫിഫ ക്ലബ് ലോകകപ്പ്]] : 2014, 2016, 2017, 2018 === അന്താരാഷ്ട്രകരിയർ === '''സ്പെയിൻ U21''' <ref name="Soccerway"/> * യുവേഫ യൂറോപ്യൻ അണ്ടർ -21 ചാമ്പ്യൻഷിപ്പ് : 2013 '''സ്പെയിൻ U19''' <ref name="Soccerway"/> * യുവേഫ യൂറോപ്യൻ അണ്ടർ -19 ചാമ്പ്യൻഷിപ്പ് : 2011 === വ്യക്തി === * [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്]] സ്ക്വാഡ് ഓഫ് സീസൺ: 2013–14, 2016–17 <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/news/newsid=2111959.html|title=UEFA Champions League squad of the season|access-date=10 August 2016|date=2 June 2014|publisher=UEFA}}</ref> <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/news/newsid=2476068.html|title=UEFA Champions League squad of the season|access-date=6 June 2017|date=5 June 2017|publisher=UEFA}}</ref> * ഫിഫ ഫിഫ്പ്രോ വേൾഡ് 11 : രണ്ടാമത്തെ ടീം 2017, 2018; <ref>{{Cite web|url=https://www.fifpro.org/news/2016-2017-world-11-the-reserve-teams/en/|title=2016–2017 World 11: the reserve teams|access-date=23 October 2017|date=23 October 2017|publisher=FIFPro|archive-url=https://web.archive.org/web/20190406020741/https://fifpro.org/news/2016-2017-world-11-the-reserve-teams/en/|archive-date=6 April 2019}}</ref> <ref>{{Cite web|url=https://www.fifpro.org/news/world-11-the-reserve-teams-for-2017-18/en/|title=World 11: The Reserve Team for 2017–18|access-date=25 September 2018|date=24 September 2018|publisher=FIFPro|archive-url=https://web.archive.org/web/20190626220246/https://fifpro.org/news/world-11-the-reserve-teams-for-2017-18/en/|archive-date=26 June 2019}}</ref> മൂന്നാം ടീം 2016; <ref>{{Cite web|url=https://www.fifpro.org/news/2016-world-11-the-reserve-teams/en/|title=2016 World 11: the reserve teams|access-date=1 October 2017|date=9 January 2017|publisher=FIFPro|archive-url=https://web.archive.org/web/20190409090134/https://fifpro.org/news/2016-world-11-the-reserve-teams/en/|archive-date=9 April 2019}}</ref> അഞ്ചാമത്തെ ടീം 2014, 2015; <ref>{{Cite web|url=https://www.fifpro.org/news/fifa-fifpro-world-xi-the-reserve-teams/en/|title=FIFA FIFPro World XI: the reserve teams|access-date=1 October 2017|date=15 January 2015|publisher=FIFPro|archive-date=2019-04-14|archive-url=https://web.archive.org/web/20190414193942/https://fifpro.org/news/fifa-fifpro-world-xi-the-reserve-teams/en/|url-status=dead}}</ref> <ref>{{Cite web|url=https://www.fifpro.org/news/2015-world-xi-the-reserve-teams-2/en/|title=2015 World XI: the reserve teams|access-date=1 October 2017|date=11 January 2016|publisher=FIFPro|archive-date=2019-04-09|archive-url=https://web.archive.org/web/20190409090125/https://fifpro.org/news/2015-world-xi-the-reserve-teams-2/en/|url-status=dead}}</ref> നോമിനി 2019 (16 മത് ഡിഫെൻഡർ) <ref>{{Cite web|url=https://fifpro.org/news/rankings-how-all-55-male-players-finished/en/|title=Rankings: How All 55 Male Players Finished|date=23 September 2019|website=FIFPro World Players' Union|access-date=2020-04-13|archive-date=2019-09-24|archive-url=https://web.archive.org/web/20190924000415/https://fifpro.org/news/rankings-how-all-55-male-players-finished/en/|url-status=dead}}</ref> * [[യുവേഫ]] ലാ ലിഗ ടീം ഓഫ് സീസൺ: 2016–17 == പരാമർശങ്ങൾ == <references responsive="1"></references> [[വർഗ്ഗം:സ്പാനിഷ് ഫുട്ബോൾ കളിക്കാർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1992-ൽ ജനിച്ചവർ]] a2ekxdp0pefzwgbl5y7hcnp3yb6apmy 4622095 4622090 2026-05-23T01:45:09Z ~2026-30808-41 218201 4622095 wikitext text/x-wiki {{വൃത്തിയാക്കേണ്ടവ}} {{Infobox football biography | name = ഡാനി കർവഹാൾ | nationalgoals1 = 0 | years3 = 2013–2026 | clubs3 = [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റിയൽ മാഡ്രിഡ്]] | caps3 = 177 | goals3 = 4 | nationalyears1 = 2010–2011 | nationalteam1 = [[Spain national under-19 football team|Spain U19]] | nationalcaps1 = 11 | nationalyears2 = 2012–2014 | caps2 = 32 | nationalteam2 = [[Spain national under-21 football team|Spain U21]] | nationalcaps2 = 10 | nationalgoals2 = 1 | nationalyears3 = 2014– | nationalteam3 = [[Spain national football team|Spain]] | nationalcaps3 = 24 | nationalgoals3 = 0 | club-update = 21:54, 1 March 2020 (UTC) | goals2 = 1 | clubs2 = [[Bayer 04 Leverkusen|Bayer Leverkusen]] | image = | currentclub = [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റിയൽ മാഡ്രിഡ്]] | image_size = | caption = | fullname = ഡാനി കർവഹാൾ റാമോസ്<ref>{{cite web |url=http://actas.rfef.es/actas/RFEF_CmpActa1?cod_primaria=1000144&CodActa=57351 |title=Acta del Partido celebrado el 19 de mayo de 2019, en Madrid |trans-title=Minutes of the Match held on 19 May 2019, in Madrid |publisher=Royal Spanish Football Federation |accessdate=14 June 2019 |language=Spanish |archive-date=2020-06-15 |archive-url=https://web.archive.org/web/20200615194220/http://actas.rfef.es/actas/RFEF_CmpActa1?cod_primaria=1000144&CodActa=2782 |url-status=dead }}</ref> | birth_date = {{birth date and age|1992|1|11|df=y}}<ref name=FIFA>{{cite web|url=http://www.fifadata.com/documents/FCWC/2017/pdf/FCWC_2017_Squadlists.pdf|title=FIFA Club World Cup UAE 2017: List of players: Real Madrid CF|publisher=FIFA|page=5|format=PDF|date=16 December 2017|accessdate=23 December 2017|archive-date=2017-12-23|archive-url=https://web.archive.org/web/20171223004345/http://www.fifadata.com/documents/FCWC/2017/pdf/FCWC_2017_Squadlists.pdf|url-status=dead}}</ref> | birth_place = [[Leganés]], Spain | height = 1.73 m<ref name=FIFA/> | position = [[Defender (association football)#Full-back|Right back]] | clubnumber = 2 | years2 = 2012–2013 | youthyears1 = 1999–2002 | youthclubs1 = ADCR Leman's | youthyears2 = 2002–2010 | youthclubs2 = [[Real Madrid CF (youth)|Real Madrid]] | years1 = 2010–2012 | clubs1 = [[Real Madrid Castilla|Real Madrid B]] | caps1 = 68 | goals1 = 3 | nationalteam-update = 21:37, 18 November 2019 (UTC) }} <nowiki> </nowiki>'''ഡാനി കർവഹാൾ റാമോസ്''' [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റയൽ മാഡ്രിഡിനും]] [[സ്പെയിൻ ദേശീയ ഫുട്ബോൾ ടീം|സ്പാനിഷ് ദേശീയ ടീമിനും]] കളിക്കുന്ന ഒരു സ്പാനിഷ് പ്രൊഫഷണൽ [[ഫുട്ബോൾ]] കളിക്കാരനാണ് . [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റയൽ മാഡ്രിഡ്]] യൂത്ത് റാങ്കുകളിലൂടെ ഉയർന്ന അദ്ദേഹം 2013 ൽ ആദ്യ ടീമിലേക്ക് കടക്കുന്നതിന് മുമ്പ് ബെയർ ലെവർകുസനുമായി ഒരു സീസൺ ചെലവഴിച്ചു, നാല് [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്|ചാമ്പ്യൻസ് ലീഗ്]] ട്രോഫികൾ ഉൾപ്പെടെ വിവിധ ആഭ്യന്തര, അന്തർദേശീയ ബഹുമതികൾ നേടിയിട്ടുണ്ട് . യൂത്ത് ഇന്റർനാഷണൽ തലത്തിൽ, 2011 ലെ അണ്ടർ 19 ടീമിനൊപ്പം യൂറോപ്യൻ ചാമ്പ്യൻഷിപ്പും അണ്ടർ 21 ടീമിനൊപ്പം 2013 പതിപ്പും കർവഹാൾ. 2014 ൽ [[സ്പെയിൻ ദേശീയ ഫുട്ബോൾ ടീം|സീനിയർ]] അരങ്ങേറ്റം കുറിച്ചു. == ക്ലബ് കരിയർ == === റയൽ മാഡ്രിഡ് ബി === [[മാഡ്രിഡ്|മാഡ്രിഡിന്റെ]] പ്രാന്തപ്രദേശമായ ലെഗാനസിലാണ് കർവഹാൾ ജനിച്ചത്. 10 വയസുള്ളപ്പോൾ [[റിയൽ മാഡ്രിഡ് സി.എഫ്|റയൽ മാഡ്രിഡിന്റെ]] യുവജന സംവിധാനത്തിൽ ചേർന്ന അദ്ദേഹം റാങ്കുകളിലൂടെ കയറി 2010 ൽ റയൽ മാഡ്രിഡ് കാസ്റ്റില്ലയിൽ എത്തി . സീനിയർ എന്ന നിലയിൽ തന്റെ ആദ്യ സീസണിൽ റിസർവ് ടീമിന്റെ ആരംഭ ഇലവനിൽ ഇടം നേടി ,ഉടൻ തന്നെ ടീമിന്റെ ക്യാപ്യി . === ബയർ ലെവർകുസെൻ === 11 ജൂലൈ 2012 ന്, ജർമ്മനിയുടെ ബയർ ലെവർകുസെനുമായി അഞ്ചുവർഷത്തെ കരാർ ഒപ്പിട്ടു. ഇതിൽ റയലിന് ആവശ്യമുള്ളപ്പോൾ തിരിച്ചു വാങ്ങാം എന്നൊരു വ്യവസ്ഥകൂടി ഉണ്ടായിരുന്നു . 2012 സെപ്റ്റംബർ 1 ന് എസ്‌സി ഫ്രീബർഗിനെതിരായ 2-0 ഹോം ജയത്തിലാണ് കർവഹാൾ [[ബുണ്ടെസ്‌ലിഗാ|ബുണ്ടസ്ലിഗയിൽ]] അരങ്ങേറ്റം കുറിച്ചത്, <ref>{{Cite web|url=http://espnfc.com/uk/en/report/346393/report.html?soccernet=true&cc=5739|title=Bayer Leverkusen 2–0 SC Freiburg|access-date=24 October 2012|date=1 September 2012|publisher=[[ESPN FC]]}}</ref> പിന്നീട് ടീം ഓഫ് ദ വീക്കിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടു. <ref>{{Cite web|url=http://www.kicker.de/news/fussball/bundesliga/spieltag/1-bundesliga/2012-13/2/elf-des-tages-am-spieltag.html|title=1. Bundesliga&nbsp;– Elf des Tages|access-date=3 September 2012|publisher=[[Kicker (sports magazine)|kicker]]|language=German|trans-title=1. Bundesliga&nbsp;– Team of the Week}}</ref> നവംബർ 25 ന്‌ തന്റെ പുതിയ ക്ലബിനായി അദ്ദേഹം ആദ്യ ഗോൾ നേടി, <ref>{{Cite web|url=http://espnfc.com/uk/en/report/346287/report.html?soccernet=true&cc=5739|title=TSG Hoffenheim 1–2 Bayer Leverkusen|access-date=26 November 2012|date=25 November 2012|publisher=ESPN FC}}</ref> തന്റെ ആദ്യത്തേയും ഏക സീസണിന്റെയും അവസാനത്തിൽ മികച്ച മൂന്ന് റൈറ്റ് ബാക്കുകളിലൊന്നായി കർവഹാളിനെ &nbsp; തിരഞ്ഞെടുത്തു, [[എഫ്. സി. ബയേൺ മ്യൂണിക്ക്|എഫ്‌സി ബയേൺ മ്യൂണിക്കിന്റെ]] [[ഫിലിപ്പ് ലാം|ഫിലിപ്പ്]] ലാമിനും എഫ്‌സി ഷാൽക്കെ 04 ന്റെ അറ്റ്‌സുട്ടോ ഉചിഡയ്ക്കും പിന്നിൽ . മൊത്തം വോട്ടുകളുടെ 16% ആരാധകരിൽ നിന്ന് അദ്ദേഹത്തിന് ലഭിച്ചു. <ref>{{Cite web|url=http://www.bundesliga.com/en/fanzone/team-of-the-season/|title=Team of the season 2012/13|access-date=1 June 2013|date=25 May 2013|publisher=[[Bundesliga]]|archive-url=https://web.archive.org/web/20140412230941/http://www.bundesliga.com/en/fanzone/team-of-the-season/|archive-date=12 April 2014}}</ref> === റിയൽ മാഡ്രിഡ് === 2013 ജൂൺ 3 ന്, റയൽ മാഡ്രിഡ് അതിന്റെ തിരിച്ചു വാങ്ങൽ ഓപ്ഷൻ കർവഹാളിനായി ഉപയോഗിച്ചു. &nbsp; ദ <ref>{{Cite web|url=http://www.bayer04.de/B04-ENG/en/_site_index.aspx|title=Real Madrid recall Carvajal|access-date=3 June 2013|date=3 June 2013|publisher=Bayer Leverkusen}}</ref> ഈ നീക്കത്തിന് തൊട്ടുപിന്നാലെ, മടങ്ങിവരുന്നതിന്റെ സന്തോഷത്തെക്കുറിച്ച് അദ്ദേഹം സംസാരിച്ചു, പത്രസമ്മേളനത്തിൽ പ്രസിഡന്റിനും ആരാധകർക്കും ക്ലബിനും നന്ദി പറഞ്ഞു. <ref>{{Cite web|url=http://www.goal.com/en-gb/news/2892/transfer-zone/2013/07/05/4096427/carvajal-revels-in-real-madrid-return?ICID=OP|title=Carvajal revels in Real Madrid return|access-date=13 July 2013|date=5 July 2013|publisher=[[Goal (website)|Goal]]}}</ref> 2013 ഓഗസ്റ്റ് 18 ന് റയൽ ബെറ്റിസിനെതിരായ 2–1 ഹോം ജയത്തിലാണ് കർവഹാൾ [[ലാ ലിഗാ|ലാ ലിഗയിൽ]] അരങ്ങേറ്റം കുറിച്ചത്. <ref>{{Cite web|url=http://espnfc.com/uk/en/report/373215/report.html?soccernet=true&cc=5739|title=Isco an instant hero|access-date=29 November 2013|date=18 August 2013|publisher=ESPN FC}}</ref> ഒരു മാസത്തിനു ശേഷം തന്റെ ആദ്യ [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്]] മത്സരം കളിച്ചു. <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/season=2014/matches/round=2000479/match=2011769/index.html|title=Six-goal Madrid overwhelm Galatasaray|access-date=29 November 2013|date=17 September 2013|publisher=UEFA}}</ref> ആദ്യ സീസണിൽ 45 മത്സരങ്ങളിൽ കളിച്ച കർവഹാൾ രണ്ട് തവണ സ്കോർ ചെയ്തു ചാമ്പ്യൻസ് ലീഗ് ഫൈനലിൽ അദ്ദേഹം 120 മിനിറ്റ് കളിച്ചു. <ref>{{Cite web|url=https://www.bbc.com/sport/0/football/27383593|title=Real Madrid 4–1 Atlético Madrid|access-date=25 May 2014|date=24 May 2014|publisher=[[BBC Sport]]}}</ref> [[പ്രമാണം:Daniel_Carvajal_entrenando.JPG|ഇടത്ത്‌|ലഘുചിത്രം| 2016 ൽ റയൽ മാഡ്രിഡിനൊപ്പം കർവഹാൾ ]] 17 സെപ്റ്റംബർ 2017 ന് കാർവാജലിന്റെ കരാർ 2022 വരെ നീട്ടി. <ref>{{Cite web|url=http://www.realmadrid.com/en/news/2017/09/ceremony-to-mark-carvajals-contract-renewal|title=Ceremony to mark Carvajal's contract renewal|access-date=18 September 2017|date=17 September 2017|publisher=Real Madrid CF}}</ref> അടുത്ത മാസത്തിന്റെ തുടക്കത്തിൽ, അദ്ദേഹത്തെ ഹൃദയാഘാതം മൂലം മാറ്റി നിർത്തി; <ref>{{Cite web|url=http://www.espnfc.com/real-madrid/story/3218312/real-madrid-defender-dani-carvajal-ruled-out-with-heart-problem|title=Real Madrid defender Dani Carvajal ruled out with heart problem|access-date=6 October 2017|date=2 October 2017|publisher=ESPN FC}}</ref> ആ വർഷത്തെ ചാമ്പ്യൻസ് ലീഗിൽ അദ്ദേഹം എട്ട് മത്സരങ്ങൾ കളിച്ചു, <ref>{{Cite web|url=https://www.rcnradio.com/deportes/asi-llegan-las-plantillas-de-real-madrid-y-liverpool-la-final-de-la-champions|title=Así llegan Real Madrid y Liverpool a la final de la Champions|access-date=29 May 2018|date=25 May 2018|publisher=[[RCN Radio]]|language=Spanish|trans-title=That is how Real Madrid and Liverpool arrive to the Champions final}}</ref> മാഡ്രിഡ് തുടർച്ചയായ മൂന്നാമത്തെയും മൊത്തത്തിൽ പതിമൂന്നാമത്തെയും കിരീടം നേടി. <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/season=2018/matches/round=2000885/match=2021711/postmatch/report/index.html|title=Madrid beat Liverpool to complete hat-trick|access-date=28 May 2018|date=26 May 2018|publisher=UEFA}}</ref> 2018 ഓഗസ്റ്റ് 19 ന് [[ഗെറ്റാഫെ സി എഫ്|ഗെറ്റാഫെ സിഎഫിനെതിരായ]] 2–0 ഹോം വിജയത്തിൽ കർവഹാൾ പുതിയ സീസണിലെ റയൽ മാഡ്രിഡിന്റെ ആദ്യ ലീഗ് ഗോൾ നേടി. <ref>{{Cite web|url=https://www.bbc.com/sport/football/45242415|title=Real Madrid 2–0 Getafe|access-date=31 December 2018|date=19 August 2018|publisher=BBC Sport}}</ref> == അന്താരാഷ്ട്ര കരിയർ == [[പ്രമാണം:UEFA_EURO_qualifiers_Sweden_vs_Spain_20191015_Dani_Carvajal_10.jpg|ലഘുചിത്രം| കർവഹാൾ 2019 ൽ സ്പെയിനിനായി കളിക്കുന്നു ]] 2014 ഓഗസ്റ്റ് 29 ന് [[ഫ്രാൻസ് ദേശീയ ഫുട്ബോൾ ടീം|ഫ്രാൻസിനും]] മാസിഡോണിയയ്ക്കുമെതിരായ മത്സരങ്ങൾക്കായി കർവഹാളിനെ ആദ്യമായി ടീമിലേക്ക് വിളിപ്പിച്ചു. <ref>{{Cite web|url=http://www.sefutbol.com/en/these-are-players-called-matches-against-france-and-macedonia|title=Vicente del Bosque has announced the 23-man squad for the matches against France (September 4th) and Macedonia (September 8th)|access-date=29 August 2014|date=29 August 2014|publisher=[[Royal Spanish Football Federation]]|archive-url=https://web.archive.org/web/20140831194953/http://www.sefutbol.com/en/these-are-players-called-matches-against-france-and-macedonia|archive-date=31 August 2014}}</ref> സെപ്റ്റംബർ 4 ന് അദ്ദേഹം അരങ്ങേറ്റം കുറിച്ചു, 90 മിനിറ്റ് മുഴുവൻ കളിച്ചു; <ref>{{Cite web|url=https://www.bbc.com/sport/0/football/29047046|title=France 1–0 Spain|access-date=6 September 2014|date=4 September 2014|publisher=BBC Sport}}</ref> യുവേഫ യൂറോ 2016 ടൂർണമെന്റിലേക്കും അദ്ദേഹം തിരഞ്ഞെടുക്കപ്പെട്ടു, <ref>{{Cite web|url=https://www.bbc.co.uk/sport/football/36312769|title=Euro 2016: Diego Costa, Juan Mata & Fernando Torres not in Spain squad|access-date=17 May 2016|date=17 May 2016|publisher=BBC Sport}}</ref> [[ഫുട്ബോൾ ലോകകപ്പ് 2018|2018 ഫിഫ ലോകകപ്പിനുള്ള]] സ്‌പെയിനിന്റെ അവസാന ടീമിൽ കർവഹാളിനെ ഉൾപ്പെടുത്തി . <ref>{{Cite web|url=http://www.goal.com/en/news/morata-misses-out-on-spain-world-cup-squad/1ub1qz7jod09i1lfvdcy84ea2l|title=Morata misses out on Spain's 23-man World Cup squad|access-date=21 May 2018|date=21 May 2018|publisher=Goal}}</ref> ജൂൺ 20 ന് [[ലോകകപ്പ്‌ ഫുട്ബോൾ|നടന്ന മത്സരത്തിൽ]] അദ്ദേഹം ആദ്യമായി പ്രത്യക്ഷപ്പെടുകയും ഇറാനെതിരെ 1-0 ന് ജയിക്കുകയും ചെയ്തു. == കരിയർ സ്ഥിതിവിവരക്കണക്കുകൾ == === ക്ലബ് === {{updated|1 March 2020}}<ref>{{cite web|url=https://int.soccerway.com/players/daniel-carvajal-ramos/145430/|title=Daniel Carvajal|publisher=Soccerway|accessdate=20 April 2014}}</ref><ref>{{ESPN FC|168531}}</ref> {| class="wikitable" style="text-align:center" ! rowspan="2" |Club ! rowspan="2" |Season ! colspan="3" |League ! colspan="2" |Cup ! colspan="2" |Europe ! colspan="2" |Other<sup>1</sup> ! colspan="2" |Total |- !Division !Apps !Goals !Apps !Goals !Apps !Goals !Apps !Goals !Apps !Goals |- | rowspan="3" |Real Madrid B |2010–11 | rowspan="2" |Segunda División |30 |1 | colspan="2" |— | colspan="2" |— |0 |0 |30 |1 |- |2011–12 |38 |2 | colspan="2" |— | colspan="2" |— |0 |0 |38 |2 |- ! colspan="2" |Total !68 !3 ! colspan="2" |— ! colspan="2" |— !0 !0 !68 !3 |- |Bayer Leverkusen |2012–13 |[[ബുണ്ടെസ്‌ലിഗാ|Bundesliga]] |32 |1 |2 |0 |2 |0 |0 |0 |36 |1 |- | rowspan="8" |[[റിയൽ മാഡ്രിഡ് സി.എഫ്|Real Madrid]] |2013–14 |[[ലാ ലിഗാ|La Liga]] |31 |2 |4 |0 |10 |0 |0 |0 |45 |2 |- |2014–15 |La Liga |30 |0 |3 |0 |5 |0 |5 |0 |43 |0 |- |2015–16 |La Liga |22 |0 |0 |0 |8 |1 | colspan="2" |— |30 |1 |- |2016–17 |La Liga |23 |0 |4 |0 |11 |0 |3 |1 |41 |1 |- |2017–18 |La Liga |25 |0 |4 |0 |8 |0 |4 |0 |41 |0 |- |2018–19 |La Liga |24 |1 |4 |0 |6 |0 |3 |0 |37 |1 |- |2019–20 |La Liga |22 |1 |2 |0 |6 |0 |2 |0 |32 |1 |- ! colspan="2" |Total !177 !4 !21 !0 !54 !1 !17 !1 !269 !6 |- ! colspan="3" |Career total !277 !8 !23 !0 !56 !1 !17 !1 !373 !10 |} <small><sup>1 ൽ</sup> [[സ്പാനിഷ് സൂപ്പർ കപ്പ്|സൂപ്പർകോപ്പ ഡി എസ്പാന]], [[യുവേഫ സൂപ്പർ കപ്പ്]], [[ഫിഫ ക്ലബ്ബ് ലോകകപ്പ്|ഫിഫ ക്ലബ് ലോകകപ്പ് എന്നിവ ഉൾപ്പെടുന്നു]] .</small> === അന്താരാഷ്ട്രകരിയർ === [[പ്രമാണം:Iran_and_Spain_match_at_the_FIFA_World_Cup_(2018-06-20)_08.jpg|വലത്ത്‌|ലഘുചിത്രം|300x300ബിന്ദു| [[ഫുട്ബോൾ ലോകകപ്പ് 2018|2018 ഫിഫ ലോകകപ്പിൽ]] ഇറാന്റെ വാഹിദ് അമീരി കാർവാജലിനെ കബളിപ്പിച്ചു ]] {{updated|match played 18 November 2019}}<ref>{{cite web|url=https://eu-football.info/_player.php?id=28787|title=Dani Carvajal|website=EU-Football.info|date=20 June 2018}}</ref> {| class="wikitable" style="text-align:center" ! colspan="3" | [[സ്പെയിൻ ദേശീയ ഫുട്ബോൾ ടീം|സ്പെയിൻ]] |- ! വർഷം ! അപ്ലിക്കേഷനുകൾ ! ലക്ഷ്യങ്ങൾ |- | 2014 | 2 | 0 |- | 2015 | 3 | 0 |- | 2016 | 4 | 0 |- | 2017 | 4 | 0 |- | 2018 | 7 | 0 |- | 2019 | 4 | 0 |- ! ആകെ ! 24 ! 0 |} == ബഹുമതികൾ == === ക്ലബ് === '''റയൽ മാഡ്രിഡ് കാസ്റ്റില്ല''' <ref name="Soccerway">{{Cite web|url=https://int.soccerway.com/players/daniel-carvajal-ramos/145430/|title=Daniel Carvajal – Trophies|access-date=10 August 2016|publisher=Soccerway}}</ref> * സെഗുണ്ട ഡിവിഷൻ ബി : 2011–12 '''റയൽ മാഡ്രിഡ്''' <ref name="Soccerway"/> * [[ലാ ലിഗാ|ലാ ലിഗ]] : 2016–17 * [[കോപ ഡെൽ റേ]] : 2013–14 * [[സ്പാനിഷ് സൂപ്പർ കപ്പ്|സൂപ്പർകോപ്പ ഡി എസ്പാന]] : 2017, 2019–20 <ref>{{Cite web|url=https://www.marca.com/en/football/real-madrid/cronica/2020/01/12/5e1b882ce2704e6d7a8b4598.html|title=Real Madrid win the Supercopa from the spot|access-date=12 January 2020|date=12 January 2020|website=marca.com}}</ref> * [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്]] : 2013–14, 2015–16, 2016–17, 2017–18 * [[യുവേഫ സൂപ്പർ കപ്പ്]] : 2014, 2016, 2017 * [[ഫിഫ ക്ലബ്ബ് ലോകകപ്പ്|ഫിഫ ക്ലബ് ലോകകപ്പ്]] : 2014, 2016, 2017, 2018 === അന്താരാഷ്ട്രകരിയർ === '''സ്പെയിൻ U21''' <ref name="Soccerway"/> * യുവേഫ യൂറോപ്യൻ അണ്ടർ -21 ചാമ്പ്യൻഷിപ്പ് : 2013 '''സ്പെയിൻ U19''' <ref name="Soccerway"/> * യുവേഫ യൂറോപ്യൻ അണ്ടർ -19 ചാമ്പ്യൻഷിപ്പ് : 2011 === വ്യക്തി === * [[യുവേഫ ചാമ്പ്യൻസ് ലീഗ്]] സ്ക്വാഡ് ഓഫ് സീസൺ: 2013–14, 2016–17 <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/news/newsid=2111959.html|title=UEFA Champions League squad of the season|access-date=10 August 2016|date=2 June 2014|publisher=UEFA}}</ref> <ref>{{Cite web|url=http://www.uefa.com/uefachampionsleague/news/newsid=2476068.html|title=UEFA Champions League squad of the season|access-date=6 June 2017|date=5 June 2017|publisher=UEFA}}</ref> * ഫിഫ ഫിഫ്പ്രോ വേൾഡ് 11 : രണ്ടാമത്തെ ടീം 2017, 2018; <ref>{{Cite web|url=https://www.fifpro.org/news/2016-2017-world-11-the-reserve-teams/en/|title=2016–2017 World 11: the reserve teams|access-date=23 October 2017|date=23 October 2017|publisher=FIFPro|archive-url=https://web.archive.org/web/20190406020741/https://fifpro.org/news/2016-2017-world-11-the-reserve-teams/en/|archive-date=6 April 2019}}</ref> <ref>{{Cite web|url=https://www.fifpro.org/news/world-11-the-reserve-teams-for-2017-18/en/|title=World 11: The Reserve Team for 2017–18|access-date=25 September 2018|date=24 September 2018|publisher=FIFPro|archive-url=https://web.archive.org/web/20190626220246/https://fifpro.org/news/world-11-the-reserve-teams-for-2017-18/en/|archive-date=26 June 2019}}</ref> മൂന്നാം ടീം 2016; <ref>{{Cite web|url=https://www.fifpro.org/news/2016-world-11-the-reserve-teams/en/|title=2016 World 11: the reserve teams|access-date=1 October 2017|date=9 January 2017|publisher=FIFPro|archive-url=https://web.archive.org/web/20190409090134/https://fifpro.org/news/2016-world-11-the-reserve-teams/en/|archive-date=9 April 2019}}</ref> അഞ്ചാമത്തെ ടീം 2014, 2015; <ref>{{Cite web|url=https://www.fifpro.org/news/fifa-fifpro-world-xi-the-reserve-teams/en/|title=FIFA FIFPro World XI: the reserve teams|access-date=1 October 2017|date=15 January 2015|publisher=FIFPro|archive-date=2019-04-14|archive-url=https://web.archive.org/web/20190414193942/https://fifpro.org/news/fifa-fifpro-world-xi-the-reserve-teams/en/|url-status=dead}}</ref> <ref>{{Cite web|url=https://www.fifpro.org/news/2015-world-xi-the-reserve-teams-2/en/|title=2015 World XI: the reserve teams|access-date=1 October 2017|date=11 January 2016|publisher=FIFPro|archive-date=2019-04-09|archive-url=https://web.archive.org/web/20190409090125/https://fifpro.org/news/2015-world-xi-the-reserve-teams-2/en/|url-status=dead}}</ref> നോമിനി 2019 (16 മത് ഡിഫെൻഡർ) <ref>{{Cite web|url=https://fifpro.org/news/rankings-how-all-55-male-players-finished/en/|title=Rankings: How All 55 Male Players Finished|date=23 September 2019|website=FIFPro World Players' Union|access-date=2020-04-13|archive-date=2019-09-24|archive-url=https://web.archive.org/web/20190924000415/https://fifpro.org/news/rankings-how-all-55-male-players-finished/en/|url-status=dead}}</ref> * [[യുവേഫ]] ലാ ലിഗ ടീം ഓഫ് സീസൺ: 2016–17 == പരാമർശങ്ങൾ == <references responsive="1"></references> [[വർഗ്ഗം:സ്പാനിഷ് ഫുട്ബോൾ കളിക്കാർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1992-ൽ ജനിച്ചവർ]] sl00ow5v5l77ohx7i9a48ysft54o02d വിൻഡോസ് 8.1 0 508152 4622184 4009083 2026-05-23T08:22:27Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622184 wikitext text/x-wiki {{prettyurl|Windows 8.1}} {{Infobox OS version | name = വിൻഡോസ് 8.1 | version of = [[Windows NT]] | logo = Windows 8 logo and wordmark.svg<!--There is NO AUTHENTIC OFFICIAL LOGO of Windows 8.1!--> | developer = [[Microsoft]] | family = [[Microsoft Windows]] | source_model = {{ubl | [[Proprietary software|Closed-source]] | [[Source-available software|Source-available]] (through [[Shared Source Initiative]]) }} | license = [[Trialware]], [[Microsoft Software Assurance]], [[msdn subscription|MSDN subscription]], [[Microsoft Imagine]] | website = {{URL|https://www.microsoft.com/windows}} | supported_platforms = [[IA-32]], [[x64]] | kernel_type = [[Hybrid kernel|Hybrid]] | updatemodel = [[Windows Update]], [[Windows Store]], [[Windows Server Update Services]] | RTM_date = {{Start date and age|2013|8|27}}<ref>{{cite web |last1=Bott |first1=Ed |title=Why is Microsoft keeping the final release of Windows 8.1 secret? |url=http://www.zdnet.com/article/why-is-microsoft-keeping-the-final-release-of-windows-8-1-secret/ |website=[[ZDNet]] |publisher=[[CBS Interactive]] |date=28 August 2013}}</ref> | GA_date = {{Start date and age|2013|10|17}}<ref>{{cite web |last1=LeBlanc |first1=Brandon |title=Windows 8.1 now available! |url=https://blogs.windows.com/windowsexperience/2013/10/17/windows-8-1-now-available/ |website=Windows Experience Blog |publisher=Microsoft |date=17 October 2013}}</ref> | release_version = 6.3.9600 | release_date = {{Start date and age|2014|4|8}}<ref>{{cite web |url=https://blogs.windows.com/windowsexperience/2014/04/08/why-i-love-todays-windows-8-1-update/ |title=Why I love today’s Windows 8.1 Update |work=Windows Experience Blog |date=April 8, 2014}}</ref> | preview_version = | preceded_by = [[Windows 8]] (2012) | succeeded_by = [[Windows 10]] (2015) | support_status = {{Plainlist| * Mainstream support ended on January 9, 2018 * Extended support until January 10, 2023 * Upgrading to Windows 8.1 is required for [[Windows 8]] users to receive updates and support after January 12, 2016<ref name=maximumpc-81support>{{cite web |title=Microsoft Support Lifecycle, Windows 8 |url=https://support.microsoft.com/lifecycle/?c2=16796 |work=Microsoft |accessdate=January 8, 2014}}</ref> }} }} [[മൈക്രോസോഫ്റ്റ്]] നിർമ്മിച്ചതും [[Windows NT|വിൻഡോസ് എൻ‌ടി]] ഫാമിലി ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെ ഭാഗമായി പുറത്തിറക്കിയതുമായ ഒരു [[operating system|ഓപ്പറേറ്റിംഗ് സിസ്റ്റമാണ്]] '''വിൻഡോസ് 8.1''' ("ബ്ലൂ" എന്ന രഹസ്യനാമത്തിൽ അറിയപ്പെടുന്നു). ഇത് 2013 ഓഗസ്റ്റ് 27 ന് പുറത്തിറക്കി, അതിന്റെ മുൻഗാമിയുടെ റീട്ടെയിൽ റിലീസിന് ഏകദേശം ഒരു വർഷത്തിനുശേഷം 2013 ഒക്ടോബർ 17 ന് പൊതു വിപണിയിൽ ലഭ്യമായി. [[വിൻഡോസ് 8]], വിൻഡോസ് ആർടി ഉപയോക്താക്കളുടെ റീട്ടെയിൽ പകർപ്പുകൾക്കായി വിൻഡോസ് സ്റ്റോർ വഴി വിൻഡോസ് 8.1 സൗജന്യ അപ്‌ഗ്രേഡ് ചെയ്യുവാനുള്ള സൗകര്യം ലഭ്യമാക്കി. മൈക്രോസോഫ്റ്റ് വിൻഡോസ് 8.1 നുള്ള മുഖ്യധാരാ പിന്തുണ 2018 ജനുവരി 9 ന് അവസാനിപ്പിച്ചെങ്കിലും വിപുലീകരിച്ച പിന്തുണ 2023 ജനുവരി 10 വരെ അവസാനിക്കില്ല. വിൻ‌ഡോസ് 8.1 വിൻ‌ഡോസ് 8 ഉപയോക്താക്കളുടെയും അവലോകനക്കാരുടെയും പരാതികൾ‌ പരിഹരിക്കുന്നതിന് ലക്ഷ്യമിടുന്നു. മെച്ചപ്പെട്ട ആരംഭ സ്‌ക്രീൻ, അധിക സ്‌നാപ്പ് കാഴ്‌ചകൾ, അധിക ബണ്ടിൽ ചെയ്‌ത അപ്ലിക്കേഷനുകൾ, കടുപ്പമേറിയ വൺഡ്രൈവ് (മുമ്പത്തെ സ്കൈഡ്രൈവ്) സംയോജനം, ഇന്റർനെറ്റ് എക്‌സ്‌പ്ലോറർ 11, ഒരു ബിംഗ്-പവർഡ് ഏകീകൃത തിരയൽ സംവിധാനം, ടാസ്‌ക്ബാറിൽ ദൃശ്യമാകുന്ന ആരംഭ ബട്ടൺ പുന:സ്ഥാപിക്കൽ, ആരംഭ സ്‌ക്രീനിന് പകരം ലോഗിൻ ചെയ്യുമ്പോൾ ഉപയോക്താവിന്റെ ഡെസ്‌ക്‌ടോപ്പ് തുറക്കുന്നതിനുള്ള മുൻ സ്വഭാവം പുന:സ്ഥാപിക്കുക മുതലയാവ ഉൾപ്പെടുന്നു. ഉയർന്ന റെസല്യൂഷൻ ഡിസ്പ്ലേകൾ, 3 ഡി പ്രിന്റിംഗ്, വൈ-ഫൈ ഡയറക്റ്റ്, മിറകാസ്റ്റ് സ്ട്രീമിംഗ്, അതുപോലെ തന്നെ റെഎഫ്എസ് ഫയൽ സിസ്റ്റം തുടങ്ങിയ വളർന്നുവരുന്ന സാങ്കേതികവിദ്യകൾക്കും വിൻഡോസ് 8.1 പിന്തുണ നൽകി.<ref>{{cite web |url=https://technet.microsoft.com/en-us/library/hh831724.aspx |title=Resilient File System Overview |website=technet.microsoft.com}}</ref>തുടർച്ചയായ പിന്തുണയ്ക്കായി [[windows 8|വിൻഡോസ് 8]] ഉപയോക്താക്കൾ വിൻഡോസ് 8.1 അല്ലെങ്കിൽ [[windows 10|വിൻഡോസ് 10]] ലേക്ക് അപ്‌ഗ്രേഡുചെയ്യേണ്ടതുണ്ടെന്ന് 2016 ജനുവരി 12 ന് ശേഷം മൈക്രോസോഫ്റ്റ് പ്രഖ്യാപിച്ചു. വിൻഡോസ് 8 നെ അപേക്ഷിച്ച് വിൻഡോസിന് 8.1 ന് കൂടുതൽ നല്ല സ്വീകരണം ലഭിച്ചു, വിൻഡോസ് 8 നെ അപേക്ഷിച്ച് ആപ്ലിക്കേഷനുകൾക്ക് ലഭ്യമായ വിപുലീകൃത പ്രവർത്തനങ്ങളെ വിമർശകർ പ്രശംസിച്ചു, അതിന്റെ വൺഡ്രൈവ് ഇന്റഗ്രേഷൻ, യൂസർ ഇന്റർഫേസ് ട്വീക്കുകൾ, വിൻഡോസ് 8 ഇന്റർഫേസ് പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള വിപുലീകരിച്ച ട്യൂട്ടോറിയലുകൾ എന്നിവ. ഈ മെച്ചപ്പെടുത്തലുകൾ ഉണ്ടായിരുന്നിട്ടും, വിൻഡോസ് 8 ന്റെ എല്ലാ വ്യതിചലനങ്ങളെയും (മെട്രോ-സ്റ്റൈൽ ആപ്ലിക്കേഷനുകളും ഡെസ്ക്ടോപ്പ് ഇന്റർഫേസും തമ്മിലുള്ള സംയോജനത്തിന്റെ മോശം നിലവാരം പോലുള്ളവ) അഡ്രസ്സ് ചെയ്യാത്തതിനാലും ഓൺലൈൻ സേവനങ്ങളുടെ വിപുലീകൃത ഉപയോഗം മൂലം സ്വകാര്യതയെ ബാധിച്ചതിനാലും വിൻഡോസ് 8.1 വിമർശിക്കപ്പെട്ടു.2020 ഒക്ടോബർ വരെ, വിൻഡോസ് പ്രവർത്തിക്കുന്ന പരമ്പരാഗത പിസികളിൽ 4.16% വിൻഡോസ് 8.1 പ്രവർത്തിക്കുന്നു. ==ചരിത്രം== [[File:Moscone Center, San Francisco (2013).JPG|thumb|right|സാൻ ഫ്രാൻസിസ്കോയിലെ മോസ്കോൺ സെന്ററിൽ നടന്ന ബിൽഡ് 2013 ലാണ് വിൻഡോസ് 8.1 അവതരിപ്പിച്ചത്.]] [[windows 8|വിൻഡോസ് 8]], [[windows phone 8|വിൻഡോസ് ഫോൺ 8]], ഔട്ട്‌ലുക്ക്.കോം, സ്കൈഡ്രൈവ് എന്നിവയുൾപ്പെടെ നിരവധി മൈക്രോസോഫ്റ്റ് ഉൽ‌പ്പന്നങ്ങളിലും സേവനങ്ങളിലും ഉടനീളം ആസൂത്രിതമായ അപ്‌ഡേറ്റുകളുടെ ഒരു രഹസ്യനാമമായ "ബ്ലൂ" നെക്കുറിച്ചുള്ള സാധ്യതയുള്ള അഭ്യൂഹങ്ങൾ 2013 ഫെബ്രുവരിയിൽ ഇസഡ്ഡിനെറ്റ്(ZDNet) എഴുത്തുകാരി മേരി ജോ ഫോളി വെളിപ്പെടുത്തി. പ്രത്യേകിച്ചും, മൈക്രോസോഫ്റ്റ് കൂടുതൽ “തുടർച്ചയായ” വികസന മോഡലിലേക്ക് മാറാൻ പദ്ധതിയിടുന്നതായി റിപ്പോർട്ട് വിശദീകരിക്കുന്നു, ഇത് വിപണിയിലെ സ്ഥിരമായ ആവശ്യങ്ങൾ നിറവേറ്റുന്നതിനായി ഓരോ വർഷവും പുറത്തിറക്കുന്ന പ്രധാന സോഫ്റ്റ്വെയർ പ്ലാറ്റ്ഫോമുകളിൽ പ്രധാന പരിഷ്കാരങ്ങൾ കാണാം. ഒരു മൈക്രോസോഫ്റ്റ് സ്റ്റാഫ് അംഗം തന്റെ [[ലിങ്ക്ഡ്ഇൻ]] പ്രൊഫൈലിൽ "വിൻഡോസ് ബ്ലൂ" ഉപയോഗിച്ച അനുഭവം ലിസ്റ്റുചെയ്തിട്ടുണ്ടെന്നും അത് വിൻഡോസ് 8 ൽ നിന്ന് ഒരു പ്രത്യേക ഓപ്പറേറ്റിംഗ് സിസ്റ്റമായി പട്ടികപ്പെടുത്തിയെന്നുമുള്ള റിപ്പോർട്ടുകൾക്ക് വിശ്വാസ്യത നൽകി.<ref name="pcw-whatisblue">{{cite web | url=http://www.pcworld.com/article/2027618/is-windows-blue-a-set-of-coordinated-updates-for-all-microsoft-products-.html | title=Is 'Windows Blue' a set of coordinated updates for all Microsoft products? | publisher=[[International Data Group|IDG]] | work=[[PC World]] | date=February 8, 2013 | accessdate=October 19, 2013}}</ref><ref name="zdnet-bluerumor">{{cite web | url=http://www.zdnet.com/microsofts-blue-wave-is-coming-to-more-than-just-windows-7000010998/ | title=Microsoft's 'Blue' wave is coming to more than just Windows | publisher=[[CBS Interactive]] | work=[[ZDNet]] | date=February 7, 2013 | accessdate=December 19, 2013 | last=Foley | first=Mary Jo}}</ref> വിൻഡോസ് 8 ന്റെ ബിൽഡ് 9364 ന്റെ പോസ്റ്റ്-ആർ‌ടി‌എം 2013 മാർച്ചിൽ ചോർന്നു. "വിൻഡോസ് ബ്ലൂ" ആണെന്ന് വിശ്വസിക്കപ്പെട്ടിരുന്ന ഈ ബിൽഡ് വിൻഡോസ് 8 ന്റെ ഇന്റർഫേസിൽ ഉടനീളം നിരവധി മെച്ചപ്പെടുത്തലുകൾ വെളിപ്പെടുത്തി, ടൈലുകൾക്കുള്ള അധിക വലുപ്പ ഓപ്ഷനുകൾ ഉൾപ്പെടെ വിപുലീകരിച്ചു ആരംഭ സ്‌ക്രീനിലെ കളർ ഓപ്‌ഷനുകൾ, ഡെസ്‌ക്‌ടോപ്പ് നിയന്ത്രണ പാനലിൽ മുമ്പ് എക്‌സ്‌ക്ലൂസീവ് ആയിരുന്ന കൂടുതൽ ഓപ്ഷനുകൾ ഉൾപ്പെടുത്തുന്നതിനുള്ള പിസി ക്രമീകരണങ്ങളുടെ വിപുലീകരണം, സ്‌ക്രീനിന്റെ പകുതിയിലേയ്‌ക്ക് സ്‌നാപ്പ് ചെയ്യാനുള്ള അപ്ലിക്കേഷനുകളുടെ കഴിവ്, ഷെയർ ചാമിൽ നിന്ന് സ്‌ക്രീൻഷോട്ടുകൾ എടുക്കുന്നതിനുള്ള കഴിവ്, അധിക സ്റ്റോക്ക് അപ്ലിക്കേഷനുകൾ, വർദ്ധിപ്പിച്ച സ്കൈഡ്രൈവ് സംയോജനം (യാന്ത്രിക ഉപകരണ ബാക്കപ്പുകൾ പോലുള്ളവ), ഇന്റർനെറ്റ് എക്‌സ്‌പ്ലോറർ 11 എന്നിവ ഉൾക്കൊള്ളിച്ചിരിക്കുന്നു.<ref name="infoworld-bluedesktop">{{cite web |url=http://www.informationweek.com/software/operating-systems/windows-blue-demise-of-the-desktop/240151656 |title=Windows Blue: Demise Of The Desktop? |last=Endler |first=Michael |date=24 March 2013 |publisher=[[UBM plc|UBM]] |archive-url=https://web.archive.org/web/20131024202043/http://www.informationweek.com/software/operating-systems/windows-blue-demise-of-the-desktop/240151656 |archive-date=24 October 2013 |work=[[InformationWeek]]}}</ref><ref name="verge-blueleak">{{cite web | url=https://www.theverge.com/2013/3/25/4144618/windows-blue-video-preview-screenshots | title=Windows Blue: a video preview of what's next for Windows 8 | publisher=[[Vox Media]] | work=[[The Verge]] | date=March 25, 2013 | accessdate=March 26, 2013 | first=Tom | last=Warren}}</ref>2013 മാർച്ച് 26 ന് കോർപ്പറേറ്റ് കമ്മ്യൂണിക്കേഷൻസിന്റെ കോർപ്പറേറ്റ് വൈസ് പ്രസിഡന്റ് ഫ്രാങ്ക് എക്സ്. ഷാ "ബ്ലൂ" പദ്ധതിയെ ഔദ്യോഗികമായി അംഗീകരിച്ചു, തുടർച്ചയായ വികസനം മൈക്രോസോഫ്റ്റിൽ "ദ ന്യൂ നോർമൽ" ആയിരിക്കുമെന്നും "ഞങ്ങളുടെ ഉൽ‌പ്പന്ന ഗ്രൂപ്പുകൾ ഒരു ഏകീകൃത ആസൂത്രണ സമീപനം സ്വീകരിക്കുന്നതിലൂടെ ആളുകൾ‌ക്ക് ആവശ്യമുള്ളത് ലഭിക്കും-അവരുടെ ഉപകരണങ്ങളും അപ്ലിക്കേഷനുകളും സേവനങ്ങളും അവർ എവിടെയായിരുന്നാലും അവർ ചെയ്യുന്നതെന്തും ഒരുമിച്ച് പ്രവർത്തിക്കുന്നു."<ref name="pcw-bluerevealed">{{cite web | url=http://www.pcworld.com/article/2032104/microsoft-officially-acknowledges-windows-blue.html | title=Microsoft officially acknowledges Windows Blue | publisher=[[International Data Group|IDG]] | work=[[PC World]] | date=March 26, 2013 | accessdate=March 29, 2013 | first=Brad | last=Chacos}}</ref> മെയ് മാസത്തിന്റെ തുടക്കത്തിൽ, ഫിനാൻഷ്യൽ ടൈംസിലെയും ദ ഇക്കണോമിസ്റ്റിലെയും വരാനിരിക്കുന്ന പതിപ്പ് പ്രഖ്യാപിക്കുന്ന പത്ര റിപ്പോർട്ടുകൾ വിൻഡോസ് 8 നെ ന്യൂ കോക്കുമായി താരതമ്യപ്പെടുത്തി. <ref>{{cite web | url=http://www.ft.com/intl/cms/s/2/330c8b8e-b66b-11e2-93ba-00144feabdc0.html | title=Microsoft prepares rethink on Windows 8 flagship software | publisher=[[Financial Times]] | work=[[FT.com]] | date=May 7, 2013 | accessdate=January 5, 2014 | last=Waters | first=Richard}}</ref><ref>{{cite news | url=https://www.economist.com/news/business/21577371-windows-8-only-beginning-microsofts-problems-microsoft-blues | title=Schumpeter: Microsoft blues | publisher=The Economist Newspaper Limited | work=[[The Economist]] | date=May 11, 2013 | accessdate=January 5, 2014 | first=Joseph | last=Schumpeter}}</ref>അതിന്റെ തീം പിന്നീട് കമ്പ്യൂട്ടർ പ്രസ്സിൽ പ്രതിധ്വനിക്കുകയും ചർച്ച ചെയ്യുകയും ചെയ്തു.<ref>{{cite web | url=http://www.infoworld.com/t/cringely/windows-8-new-coke-thats-insult-new-coke-218441 | title=Windows 8 as New Coke? That's an insult to New Coke | publisher=[[International Data Group|IDG]] | work=[[InfoWorld]] | date=May 13, 2013 | accessdate=January 5, 2014 | last=Cringely | first=Robert X.}}</ref><ref>{{cite web | url=http://www.pcworld.com/article/2038560/microsoft-isnt-planning-windows-eight-wake-amid-new-coke-comparisons.html | title=Microsoft douses comparisons of Windows 8 to 'New Coke' | publisher=[[International Data Group|IDG]] | work=[[PC World]] | date=May 11, 2013 | accessdate=January 5, 2014 | last=DesMarais | first=Christina}}</ref><ref>{{cite web | url=https://www.theregister.co.uk/Print/2013/05/08/microsoft_coke_moment_windows_8/ | title=Coke? Windows 8 is Microsoft's 'Vista moment' | work=[[The Register]] | date=May 8, 2013 | accessdate=January 12, 2014 | first=Gavin | last=Clarke | archive-date=2014-01-06 | archive-url=https://web.archive.org/web/20140106032220/http://www.theregister.co.uk/Print/2013/05/08/microsoft_coke_moment_windows_8/ | url-status=dead }}</ref> ഈ വിമർശനത്തെ "പരിധിക്കപ്പുറമുള്ളതാണ്" എന്ന് പറഞ്ഞ് ഷാ നിരസിച്ചു,<ref>{{cite web | url=http://news.cnet.com/8301-10805_3-57584029-75/microsoft-responds-to-extreme-windows-8-criticism/ | title=Microsoft responds to 'extreme' Windows 8 criticism | publisher=[[CBS Interactive]] | work=[[CNET]] | date=May 11, 2013 | accessdate=January 12, 2014 | last=Crothers | first=Brooke}}</ref> ഡയറ്റ് കോക്കുമായി താരതമ്യപ്പെടുത്തുന്നത് കൂടുതൽ ഉചിതമാണെന്ന് അദ്ദേഹം പറഞ്ഞു.<ref>{{cite web | url=http://www.computerworld.com/s/article/9239233/Windows_8_isn_t_New_Coke_says_top_Microsoft_exec_it_s_Diet_Coke | title=Windows 8 isn't New Coke, says top Microsoft exec; it's Diet Coke | publisher=[[International Data Group|IDG]] | work=[[Computerworld]] | date=May 15, 2013 | accessdate=January 12, 2014 | last=Keizer | first=Gregg | archive-date=2014-08-21 | archive-url=https://web.archive.org/web/20140821042759/http://www.computerworld.com/s/article/9239233/Windows_8_isn_t_New_Coke_says_top_Microsoft_exec_it_s_Diet_Coke | url-status=dead }}</ref> ==അവലംബം== <references/> ==പുറം കണ്ണികൾ== {{Commons category|Microsoft Windows 8.1}} * [https://support.microsoft.com/en-my/help/15356/windows-8-install-update-kb-2919355 Windows 8.1 Update (KB 2919355)] * [https://support.microsoft.com/en-my/help/4009470/windows-8-1-windows-server-2012-r2-update-history Windows 8.1 update history] {{Microsoft Windows family}} {{Windows tablets}} [[വർഗ്ഗം:2013 സോഫ്റ്റ്വെയർ]] ioog4v7k46fzbp1m708vt831luok0pk ലില്ലി കിംഗ് 0 517813 4622087 4097691 2026-05-23T00:41:05Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622087 wikitext text/x-wiki {{prettyurl|Lilly King}} {{Infobox swimmer | name = Lilly King | image = Lilly King after winning (27900745057).jpg | image_size = <!-- Only for images narrower than 220 pixels --> | alt = | caption = King in 2018 | fullname = | nicknames = King | national_team = United States | strokes = [[Breaststroke swimming|Breaststroke]] | club = [[Cali Condors]]<ref>{{cite web |url=https://swimswam.com/cali-condors-unveil-roster-for-2019-international-swimming-league-finale/ |title=cali-condors-unveil-roster-for-2019-international-swimming-league-finale |first1=Braden |last1=Keith |date=December 9, 2019 |publisher=[[SwimSwam]] }} </ref> <br/> Indiana Swim Club | collegeteam = [[Indiana Hoosiers#Women's swimming & diving|Indiana University]] | birth_date = {{Birth date and age|1997|2|10|mf=y}}<ref name=bio>{{cite web |url=http://www.usaswimming.org/DesktopDefault.aspx?TabId=1453&Alias=Rainbow&Lang=en&biosid=4720fbfb-fada-4c41-97cf-3037e649cd24 |title=National Team Bios – Lilly King |publisher=[[USA Swimming]] |access-date=June 28, 2016 |archive-date=2016-11-12 |archive-url=https://web.archive.org/web/20161112160457/http://www.usaswimming.org/DesktopDefault.aspx?TabId=1453&Alias=Rainbow&Lang=en&biosid=4720fbfb-fada-4c41-97cf-3037e649cd24 |url-status=dead }}</ref> | birth_place = [[Evansville, Indiana]]<ref name=bio /> | death_date = | death_place = | height = 5 ft 8.5 in<ref name="SR">{{cite web |title=Lilly King Bios, Stats, and Results |url=https://www.sports-reference.com/olympics/athletes/ki/lilly-king-1.html |archive-url=https://web.archive.org/web/20200417165557/https://www.sports-reference.com/olympics/athletes/ki/lilly-king-1.html |url-status=dead |archive-date=17 April 2020 |publisher=Sports Reference |accessdate=23 July 2019}}</ref> | weight = 154 lb<ref name="SR" /> | medaltemplates = {{MedalSport | Women's swimming}} {{MedalCountry | {{USA}}}} {{MedalCompetition | [[Swimming at the Summer Olympics|Summer Olympics]]}} {{MedalGold | [[Swimming at the 2016 Summer Olympics|2016 Rio de Janeiro]] | [[Swimming at the 2016 Summer Olympics – Women's 100 metre breaststroke|100 m breaststroke]]}} {{MedalGold | 2016 Rio de Janeiro | [[Swimming at the 2016 Summer Olympics – Women's 4 × 100 metre medley relay|4×100 m medley]]}} {{MedalCompetition|[[FINA World Aquatics Championships|World Championships (LC)]]}} {{MedalGold|[[2017 World Aquatics Championships|2017 Budapest]]|[[Swimming at the 2017 World Aquatics Championships – Women's 50 metre breaststroke|50 m breaststroke]]}} {{MedalGold|2017 Budapest|[[Swimming at the 2017 World Aquatics Championships – Women's 100 metre breaststroke|100 m breaststroke]]}} {{MedalGold|2017 Budapest|[[Swimming at the 2017 World Aquatics Championships – Women's 4 × 100 metre medley relay|4×100 m medley]]}} {{MedalGold|2017 Budapest|[[Swimming at the 2017 World Aquatics Championships – 4 × 100 metre mixed medley relay|4×100 m mixed medley]]}} {{MedalGold|[[2019 World Aquatics Championships|2019 Gwangju]]|[[Swimming at the 2019 World Aquatics Championships – Women's 50 metre breaststroke|50 m breaststroke]]}} {{MedalGold|2019 Gwangju|[[Swimming at the 2019 World Aquatics Championships – Women's 100 metre breaststroke|100 m breaststroke]]}} {{MedalGold|2019 Gwangju|[[Swimming at the 2019 World Aquatics Championships – Women's 4 × 100 metre medley relay|4×100 m medley]]}} {{MedalSilver|2019 Gwangju|[[Swimming at the 2019 World Aquatics Championships – 4 × 100 metre mixed medley relay|4×100 m mixed medley]]}} {{MedalCompetition | [[FINA World Swimming Championships (25 m)|World Championships (SC)]]}} {{MedalGold | [[2016 FINA World Swimming Championships (25 m)|2016 Windsor]] | [[2016 FINA World Swimming Championships (25 m) – Women's 50 metre breaststroke|50 m breaststroke]]}} {{MedalGold | 2016 Windsor | [[2016 FINA World Swimming Championships (25 m) – Women's 4 × 50 metre medley relay|4×50 m medley]]}} {{MedalGold | 2016 Windsor |[[2016 FINA World Swimming Championships (25 m) – Women's 4 × 100 metre medley relay|4×100 m medley]]}} {{MedalGold | 2016 Windsor | [[2016 FINA World Swimming Championships (25 m) – 4 × 50 metre mixed medley relay|4×50 m mixed medley]]}} {{MedalSilver| 2016 Windsor |[[2016 FINA World Swimming Championships (25 m) – Women's 100 metre breaststroke|100 m breaststroke]]}} {{MedalCompetition|[[Pan Pacific Swimming Championships|Pan Pacific Championships]]}} {{MedalGold | [[2018 Pan Pacific Swimming Championships|2018 Tokyo]] | [[2018 Pan Pacific Swimming Championships – Women's 100 metre breaststroke|100 m breaststroke]]}} {{MedalSilver | 2018 Tokyo | [[2018 Pan Pacific Swimming Championships – Women's 200 metre breaststroke|200 m breaststroke]]}} {{MedalSilver | 2018 Tokyo | [[2018 Pan Pacific Swimming Championships – Women's 4 × 100 metre medley relay|4×100 m medley]]}} }} ബ്രെസ്റ്റ് സ്ട്രോക്കിൽ വിദഗ്ധയായ ഒരു [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കൻ]] നീന്തൽതാരമാണ് '''ലില്ലി കിംഗ്''' (ജനനം: ഫെബ്രുവരി 10, 1997)<ref name="IU Bio">{{cite web|title=Lilly King Bio|url=http://iuhoosiers.com/roster.aspx?rp_id=7513|website=iuhoosiers.com|publisher=Indiana Hoosiers|accessdate=June 29, 2016}}</ref> അവർ നിലവിൽ [[International Swimming League|അന്താരാഷ്ട്ര നീന്തൽ ലീഗിന്റെ]] ഭാഗമായ [[Cali Condors|കാലി കോണ്ടേഴ്സിനെ]] പ്രതിനിധീകരിക്കുന്നു. 2016-ലെ സമ്മർ ഒളിമ്പിക്സിൽ 100 മീറ്റർ ബ്രെസ്റ്റ്സ്ട്രോക്ക് മത്സരത്തിൽ സ്വർണ്ണവും ബ്രെസ്റ്റ്സ്ട്രോക്ക് ലെഗ് നീന്തി വനിതകളുടെ 4 × 100 മീറ്റർ മെഡ്‌ലി റിലേയിൽ സ്വർണ്ണം നേടുകയും ചെയ്തു. 100 മീറ്റർ, 50 മീറ്റർ ബ്രെസ്റ്റ്‌ട്രോക്കിൽ (ലോംഗ് കോഴ്‌സ്) നിലവിലെ ലോക റെക്കോർഡ് ഉടമയാണ് അവർ. == മുൻകാലജീവിതം == മാർക്കിന്റെയും ജിന്നി കിങ്ങിന്റെയും മകളായ [[ഇന്ത്യാന|ഇന്ത്യാനയിലെ]] ഇവാൻസ്‌വില്ലിലാണ് കിംഗ് ജനിച്ച് വളർന്നത്. മാർക്ക് [[Indiana State University|ഇന്ത്യാന സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയ്ക്കുവേണ്ടി]] track and cross-country ഓടുകയും കിഴക്കൻ കെന്റക്കി യൂണിവേഴ്സിറ്റി, ഇല്ലിനോയിസ് സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി എന്നിവയ്ക്കായി ജിന്നി നീന്തുകയും ചെയ്തു. കിങ്ങിന്റെ ഇളയ സഹോദരൻ അലക്സ് മിഷിഗൺ സർവകലാശാലയിലെ വാക്ക്-ഓൺ നീന്തൽക്കാരനാണ്.<ref name="Forde 2016">{{cite news|last1=Forde|first1=Pat|title=Lilly King's improbable journey to the finger-wagging frontline of swimming's Cold War|url=https://sports.yahoo.com/news/lilly-kings-improbable-journey-to-the-finger-wagging-frontline-of-swimmings-cold-war-184109212.html|accessdate=August 9, 2016|work=Yahoo Sports|date=August 8, 2016|archive-date=2016-08-08|archive-url=https://web.archive.org/web/20160808204910/http://sports.yahoo.com/news/lilly-kings-improbable-journey-to-the-finger-wagging-frontline-of-swimmings-cold-war-184109212.html|url-status=dead}}</ref> കിംഗ് [[FJ Reitz High School|എഫ്ജെ റീറ്റ്സ്]] ഹൈസ്കൂളിൽ ചേരുകയും അവിടെ സ്കൂളിന്റെ നീന്തൽ ടീം മറ്റ് അഞ്ച് ടീമുകളുമായി ലോയ്ഡ് പൂൾ പങ്കിട്ടു.<ref name="Forde 2016" /> ലോയ്ഡ് പൂളിലെ മത്സരപാതകളിൽ പലപ്പോഴും കിങ്ങിന്റെ കഴിവിനേക്കാൾ താഴെയുള്ള നീന്തൽക്കാർ ഉണ്ടായിരുന്നു. അതിനാൽ കിംഗ് പ്രാദേശിക മാസ്റ്റേഴ്സ് ടീമുമായി ആഴ്ചയിൽ നിരവധി പ്രഭാത പരിശീലനങ്ങൾ ചേർക്കുകയും ന്യൂബർഗ് സീ ക്രീച്ചേഴ്സ് എന്ന മത്സരാധിഷ്ഠിത നീന്തൽ ടീമിൽ ചേരുകയും ചെയ്തു.<ref name="Forde 2016" /> ==കരിയർ== ===കോളേജ്=== കിംഗ് ഇന്ത്യാന യൂണിവേഴ്സിറ്റി ബ്ലൂമിംഗ്ടണിൽ ചേർന്നു. അവിടെ ഇന്ത്യാന ഹൂസിയേഴ്സ് നീന്തൽ, ഡൈവിംഗ് ടീമിനായി മത്സരിച്ചു.<ref name="IU Bio" />പുതുവർഷത്തിൽ എൻ‌സി‌എ‌എ വിമൻസ് ഡിവിഷൻ I നീന്തൽ, ഡൈവിംഗ് ചാമ്പ്യൻ‌ഷിപ്പിൽ 100 യാർഡ് ബ്രെസ്റ്റ്‌ട്രോക്കിലും (56.85) 200 യാർഡ് ബ്രെസ്റ്റ്‌ട്രോക്കിലും (2: 03.59) എൻ‌സി‌എ‌എ ചാമ്പ്യനായി. ഈ പ്രകടനം ചരിത്രത്തിലെ ഏറ്റവും മികച്ച ഷോർട്ട് കോഴ്‌സ് യാർഡ് ബ്രെസ്റ്റ്സ്ട്രോക്ക് നീന്തൽതാരമായി കിംഗിനെ സ്ഥാപിക്കുകയും അമേരിക്കൻ, എൻ‌സി‌എ‌എ, എൻ‌സി‌എ‌എ മീറ്റ്, യു‌എസ് ഓപ്പൺ, ഇന്ത്യാന സ്കൂൾ, ബിഗ് ടെൻ, ജോർജിയ ടെക് പൂൾ എന്നിവ എൻ‌സി‌എ‌എ കിരീടങ്ങൾ നേടിയതിൽ റെക്കോർഡുകൾ സ്ഥാപിക്കുകയും ചെയ്തു.<ref name="IU Bio" /><ref>{{cite web |url=https://swimswam.com/lilly-king-rips-100-breast-american-record/ |title=Lilly King smashes 57 second barrier to set 100 breast American record |first1=Lauren |last1=Neidigh |date=March 18, 2016 |publisher=Swimswam |access-date=June 29, 2016 }}</ref>അതേ പുതുവർഷത്തിൽ തന്നെ ബിഗ് ടെൻ സ്വിമ്മർ ഓഫ് ദ ഇയർ ആയി അവരെ തിരഞ്ഞെടുക്കപ്പെട്ടു. നാല് ഓൾ-അമേരിക്ക ബഹുമതികൾ, ഫസ്റ്റ്-ടീം ഓൾ-ബിഗ് ടെൻ, ബിഗ് ടെൻ ഫ്രെഷ്മാൻ ഓഫ് ദ ഇയർ എന്നിവ നേടി.<ref name="IU Bio" />തന്റെ കൊളീജിയറ്റ് കരിയറിൽ ഉടനീളം 100 യാർഡ് ബ്രെസ്റ്റ്സ്ട്രോക്ക്, 200 യാർഡ് ബ്രെസ്റ്റ്സ്ട്രോക്ക് കിരീടങ്ങൾ അവകാശപ്പെട്ടുകൊണ്ട് കിംഗ് തന്റെ വിജയം തുടർന്നു. സീനിയർ എന്ന നിലയിൽ രാജ്യത്തെ മികച്ച വനിതാ നീന്തൽ താരമെന്ന നിലയിൽ ഹോണ്ട സ്പോർട്സ് അവാർഡ് നേടി.<ref>{{Cite web|url=https://swimswam.com/lilly-king-named-2019-honda-sports-award-winner-for-swimming-diving/|title=Lilly King Named 2019 Honda Sports Award Winner For Swimming & Diving|date=2019-04-30|website=SwimSwam|language=en-US|access-date=2020-03-23}}</ref><ref name=":0">{{Cite web|url=https://www.collegiatewomensportsawards.com/releases/2018-19/04302019king|title=Lilly King of Indiana Named Honda Sport Award Winner for Swimming & Diving|date=2019-04-30|website=CWSA|language=en|access-date=2020-03-23}}</ref> ===2016-ലെ സമ്മർ ഒളിമ്പിക്സ്=== {{see also|Swimming at the 2016 Summer Olympics}} [[ഒമാഹ, നെബ്രാസ്ക|ഒമാഹ]]യിൽ നടന്ന [[2016 United States Olympic Trials (swimming)|2016-ലെ യുഎസ് ഒളിമ്പിക് ട്രയൽസിൽ]] കിംഗ് 100 മീറ്റർ ബ്രെസ്റ്റ്സ്ട്രോക്കും 200 മീറ്റർ ബ്രെസ്റ്റ്സ്ട്രോക്കും നേടുകയും [[റിയോ ഡി ജനീറോ]]യിൽ നടന്ന [[2016 Summer Olympics|2016-ലെ സമ്മർ ഒളിമ്പിക്സിന്]] യോഗ്യത നേടുകയും ചെയ്തു. [[Swimming at the 2016 Summer Olympics – Women's 100 metre breaststroke|100 മീറ്റർ ബ്രെസ്റ്റ്‌സ്ട്രോക്കിൽ]] കിംഗ് 1: 05.78 സമയം കൊണ്ട് ഒന്നാം സ്ഥാനത്തെത്തി സെമിഫൈനലിന് യോഗ്യത നേടി. അവിടെ 1: 05.70 സമയം കൊണ്ട് അവർ വീണ്ടും ഒന്നാമതെത്തി. അടുത്ത അതിവേഗ നീന്തൽക്കാരി 2013-ലെ മയക്കുമരുന്ന് പരിശോധനയിൽ പരാജയപ്പെട്ടതിന് മുമ്പ് 16 മാസത്തെ ഡോപ്പിംഗ് സസ്പെൻഷൻ നൽകിയിരുന്ന ലോക ചാമ്പ്യൻ റഷ്യയിൽ നിന്നുള്ള [[Yuliya Yefimova|യൂലിയ യെഫിമോവ]]യായിരുന്നു. 2016-ലെ മയക്കുമരുന്ന് പരിശോധനയിലും യെഫിമോവ പരാജയപ്പെട്ടു, പക്ഷേ ഒരു വ്യക്തിയുടെ സിസ്റ്റത്തിൽ മരുന്ന് എത്രനേരം തുടരുന്നു എന്നതിനെക്കുറിച്ച് ഒരു ഗവേഷണവും നടത്താത്തതിനാൽ അവരെ വിലക്കുകയോ സസ്പെൻഷൻ നൽകുകയോ ചെയ്തില്ല.<ref>{{cite web |last1=Rogers |first1=Martin |title=U.S. swimmer Lilly King calls out Russian drug cheat with strong words, finger wag |url=https://www.usatoday.com/story/sports/2016/08/07/finger-pointing-sets-up-us-russian-womens-swim-showdown/88381764/|work=USA Today |accessdate=August 9, 2016 |date=August 8, 2016}}</ref>മത്സരത്തിനുമുമ്പ് നീന്തുന്നവർ ഒത്തുചേരുന്ന റെഡി റൂമിൽ നിന്ന് കിംഗ് നോക്കിക്കൊണ്ടിരിക്കുമ്പോൾ, സെമിഫൈനലിൽ വിജയിച്ച യെഫിമോവ അവരുടെ ചൂണ്ടുവിരൽ ചൂണ്ടി. 100 മീറ്റർ ബ്രെസ്റ്റ്സ്ട്രോക്ക് സെമിഫൈനലിൽ ഏറ്റവും വേഗതയേറിയ സമയം പോസ്റ്റുചെയ്ത ശേഷം കിംഗ് അസ്വസ്ഥത പ്രകടിപ്പിച്ചു. എൻ‌ബി‌സിയുമായുള്ള ഒരു മത്സരത്തിനുശേഷമുള്ള അഭിമുഖത്തിൽ‌, കിംഗ് പറഞ്ഞു, "You wave your finger No. 1 and you’ve been caught drug cheating? I’m not a fan." <ref name="NYT 2016">{{cite news |last1=Crouse |first1=Karen |title=American Lilly King Makes Statement With Olympic Record in 100-Meter Breaststroke |url=https://www.nytimes.com/2016/08/09/sports/olympics/lilly-king-yulia-efimova-swimming-breaststroke.html |accessdate=August 9, 2016 |work=The New York Times |date=August 8, 2016}}</ref>100 മീറ്റർ ബ്രെസ്റ്റ്‌ട്രോക്കിൽ കിംഗ് ഒളിമ്പിക് സ്വർണം നേടി. ഈ മത്സരത്തിൽ അവർ 1: 04.93 എന്ന ഒളിമ്പിക് റെക്കോർഡ് സ്ഥാപിച്ചു.<ref>{{cite web|last1=Woods|first1=David|title=Lilly King sets Olympic record in winning 100 breaststroke, Russian nemesis|url=http://www.indystar.com/story/sports/college/indiana/2016/08/08/lilly-king-sets-olympic-record-winning-100-breaststroke-russian-nemesis/88377188/|website=IndyStar.com|publisher=Indianapolis Star|date=August 8, 2016}}</ref> 200 മീറ്റർ ബ്രെസ്റ്റ്‌സ്ട്രോക്ക് ഹീറ്റിൽ കിംഗ് 2: 25.89 സമയം 15 ആം സ്ഥാനത്തെത്തി സെമിഫൈനലിന് യോഗ്യത നേടി. സെമിഫൈനലിൽ 2: 24.59 സമയം അവർ ഏഴാം സ്ഥാനത്തെത്തി. ഫൈനലിന് അവർ യോഗ്യത നേടിയില്ല.<ref>{{cite news |title=Lilly King, Molly Hannis do not advance to 200m breaststroke final |url=http://www.nbcolympics.com/news/lilly-king-molly-hannis-do-not-advance-200m-breaststroke-final |publisher=nbcolympics.com |date=August 11, 2016 |access-date=2020-08-08 |archive-date=2017-10-08 |archive-url=https://web.archive.org/web/20171008131814/http://www.nbcolympics.com/news/lilly-king-molly-hannis-do-not-advance-200m-breaststroke-final |url-status=dead }}</ref> ബാക്ക്‌സ്റ്റോറി, അന്തർ‌ദ്ദേശീയ വൈരാഗ്യം, ഒരു അന്തിമ ഇവന്റിലെ പന്തയം എന്നിവയാണ് കിംഗിന്റെയും യെഫിമോവയുടെയും വൈരാഗ്യം ഉയർത്തിയതെന്ന് യു‌എസ്‌എ ടുഡേ പറഞ്ഞു.<ref>{{cite news|last1=Wilder|first1=Charlotte|title=Lilly King's feisty rivalry with Yulia Efimova is the Olympics at its very best|url=http://ftw.usatoday.com/2016/08/lilly-king-yulia-efimova-rivalry-breaststroke-olympics-very-best|accessdate=August 9, 2016|work=USA Today|date=August 9, 2016}}</ref>കായിക ചരിത്രത്തിലെ ഏറ്റവും ചൂടേറിയ യു‌എസ്-സോവിയറ്റ് / റഷ്യൻ ഹെഡ്-ടു-ഹെഡുകളുടെ പട്ടികയിൽ ഇരുവരും ചേർന്നതായി സ്‌പോർട്ടിംഗ് ന്യൂസ് കുറിച്ചു.<ref>{{cite magazine|title=U.S. vs. Russia: Lilly King-Yulia Efimova adds to history of heated rivalries|url=http://www.sportingnews.com/athletics/list/usa-russia-sports-rivalries-soviet-union-king-efimova-serena-sharapova-miracle-on-ice/1poxv6xsznjzq1eyovdr2f6wpp|accessdate=August 9, 2016|magazine=Sporting News|archive-date=2017-05-10|archive-url=https://web.archive.org/web/20170510202538/http://www.sportingnews.com/athletics/list/usa-russia-sports-rivalries-soviet-union-king-efimova-serena-sharapova-miracle-on-ice/1poxv6xsznjzq1eyovdr2f6wpp|url-status=dead}}</ref> 2016 സമ്മർ ഒളിമ്പിക്‌സിനോടുള്ള അവരുടെ സമീപനത്തിന്റെയും യെഫിമോവയുമായുള്ള ശത്രുതയുടെയും ഫലമായി, കിംഗ് "friendly but fiery, with no filter and no apologies." എന്ന ഖ്യാതി നേടി.<ref name="Forde 2016" />ചില പത്രപ്രവർത്തകർ യെഫിമോവയോട് പെരുമാറിയതിനെ വിമർശിച്ചു.<ref>[https://www.washingtonpost.com/sports/olympics/in-villifying-russian-swimmer-yulia-efimova-americans-are-splashing-murky-waters/2016/08/10/0ccdba8a-5eef-11e6-8e45-477372e89d78_story.html "In vilifying Russian swimmer Yulia Efimova, Americans are splashing murky waters"]. The Washington Post. August 10, 2016. Retrieved August 31, 2016.</ref><ref>[http://bigstory.ap.org/article/438ecfc1f0ac47598a77ac8e384854c7/column-efimova-poor-poster-child-russian-scandal "Efimova is a poor poster child for Russian scandal"] {{Webarchive|url=https://web.archive.org/web/20161016024938/http://bigstory.ap.org/article/438ecfc1f0ac47598a77ac8e384854c7/column-efimova-poor-poster-child-russian-scandal |date=2016-10-16 }}. Associated Press. August 10, 2016. Retrieved August 31, 2016.</ref> === 2017-ലെ ലോക ചാമ്പ്യൻഷിപ്പ് === [[File:Budapest2017_fina_world_championships_100breaststroke_final_lilly_king_usa.jpg|thumbnail|ബുഡാപെസ്റ്റിൽ നടന്ന 2017 ലോക ചാമ്പ്യൻഷിപ്പിൽ കിംഗ്.]] 2017 യു‌എസ് നാഷണൽ‌സ്, ബുഡാപെസ്റ്റിൽ നടന്ന ലോക അക്വാട്ടിക്സ് ചാമ്പ്യൻ‌ഷിപ്പിനുള്ള യോഗ്യതാ മീറ്റിൽ കിംഗ് ബ്രെസ്റ്റ്‌സ്ട്രോക്ക് ഇവന്റുകൾ നേടി. 29.66 സമയമുള്ള 50 മീറ്റർ ബ്രെസ്റ്റ്സ്ട്രോക്ക്, 1: 04.95 സമയം 100 മീറ്റർ ബ്രെസ്റ്റ്സ്ട്രോക്ക്, 2: 21.83 സമയം 200 മീറ്റർ ബ്രെസ്റ്റ്സ്ട്രോക്ക് അവർ ജയിച്ചു. ആദ്യ മത്സരത്തിൽ, കിംഗ് 100 മീറ്റർ ബ്രെസ്റ്റ്‌ട്രോക്ക് നേടി 1: 04.13 ലോക റെക്കോർഡ് സമയം.<ref>{{Cite news|url=https://swimswam.com/lilly-king-surges-104-1-take-100-breast-world-record/|title=Lilly King Surges to 1:04.1 to Take Down 100 Breast World Record|date=2017-07-25|work=SwimSwam|access-date=2017-07-26}}</ref>കിംഗ്സിന്റെ അമേരിക്കൻ സഹതാരം [[കാറ്റി മെയിലി|കാറ്റി മെയ്‌ലി]] രണ്ടാം സ്ഥാനത്തും യൂലിയ എഫിമോവ മൂന്നാം സ്ഥാനത്തും എത്തി. സെമിഫൈനലിൽ എഫിമോവ മുൻ ലോക റെക്കോർഡ് ഏതാണ്ട് തകർക്കുകയും പരിഹാസ്യമായി വിരൽ ചൂണ്ടി കാണിക്കുകയും ചെയ്തതിനാൽ മത്സരം ഏറെ പ്രതീക്ഷിച്ചിരുന്നു.<ref>{{Cite news|url=https://swimswam.com/king-gets-last-laugh-efimova-now/|title=King Gets The Last Laugh Over Efimova... For Now|date=2017-07-25|work=SwimSwam|access-date=2017-07-26}}</ref> === 2019 === === 2019-ലെ ലോക ചാമ്പ്യൻഷിപ്പ് === ഗ്വാങ്‌ജുവിൽ നടന്ന ലോക അക്വാട്ടിക്സ് ചാമ്പ്യൻഷിപ്പിനുള്ള യോഗ്യതാ മീറ്റായ 2018 ലെ യു‌എസ് നാഷണൽ‌സിൽ കിംഗ് വീണ്ടും ബ്രെസ്റ്റ്‌സ്ട്രോക്ക് ഇവന്റുകൾ നേടി. 50 മീറ്റർ ബ്രെസ്റ്റ്‌ട്രോക്കിൽ 29.82, 100 മീറ്റർ ബ്രെസ്‌ട്രോക്ക് 1: 05.36. 200 മീറ്റർ ബ്രെസ്റ്റ്‌ട്രോക്കിൽ കിംഗ് അഞ്ചാം സ്ഥാനത്തെത്തി (2: 25.31). ആദ്യ മത്സരത്തിൽ 1: 04.93 സമയത്ത് കിംഗ് 100 മീറ്റർ ബ്രെസ്റ്റ് സ്ട്രോക്ക് നേടി. 29.84 ഉപയോഗിച്ച് 50 ബ്രെസ്റ്റ്സ്ട്രോക്കും അവർ നേടി. അവസാനമായി, 3: 50.40 കാലഘട്ടത്തിൽ [[Regan Smith (swimmer)|റീഗൻ സ്മിത്ത്]], [[കെൽസി ഡാലിയ]], [[Simone Manuel|സിമോൺ മാനുവൽ]] എന്നിവരുമൊത്തുള്ള 400 മീറ്റർ മെഡലി റിലേയുടെ റെക്കോർഡാണ് കിംഗ്. === ഇന്റർനാഷണൽ നീന്തൽ ലീഗ് === 2019-ൽ നെവാഡയിലെ ലാസ് വെഗാസിൽ നടന്ന അവസാന മത്സരത്തിൽ മൂന്നാം സ്ഥാനം നേടിയ കാലി കോണ്ടേഴ്സിനെ പ്രതിനിധീകരിച്ച് ഉദ്ഘാടന ഇന്റർനാഷണൽ നീന്തൽ ലീഗിൽ അംഗമായിരുന്നു. സീസണിലുടനീളം പങ്കെടുത്ത 16 മത്സരങ്ങളിലും വിജയിച്ച കിംഗ് നിരവധി മത്സരങ്ങളിൽ തോൽവിയറിയാത്ത ഏക നീന്തൽ താരമായിരുന്നു.<ref>{{cite web |url=https://swimswam.com/lilly-king-awarded-15000-bonus-for-undefeated-2019-isl-season/ |title=lilly-king-awarded-15000-bonus-for-undefeated-2019-isl-season |first1=Braden |last1=Keith |date=December 25, 2019 |publisher=[[SwimSwam]] }} </ref> == ബഹുമതികൾ == ലോയ്ഡ് പൂളിന് പകരമായി പുതിയ ഡീകോണസ് അക്വാട്ടിക് സെന്ററിന് 2018 സെപ്റ്റംബർ 11 ന് ഇവാൻസ്വില്ലെ നഗരം അംഗീകാരം നൽകി. ഈ പദ്ധതിക്കായി വ്യക്തിപരമായി മുന്നോട്ട് പോയ കിങ്ങിന്റെ ബഹുമാനാർത്ഥം ഫെസിലിറ്റിയുടെ മത്സര കുളം നാമകരണം ചെയ്തു.<ref>https://swimswam.com/city-of-evansville-approves-new-aquatic-center-with-pool-named-for-lilly-king/</ref> * 2019—[[Honda Sports Award|ഹോണ്ട സ്പോർട്സ് അവാർഡ്]] - Swimming &Diving<ref name=":0" /> ==Personal best times== {| class="wikitable" !Event !Time !Location !Date !Notes |- |50 m breaststroke (long course) |29.40 |[[Budapest]] |July 30, 2017 |[[List of World records in swimming|WR]] |- |100 m breaststroke (long course) |1:04.13 |Budapest |July 25, 2017 |WR |- |200 m breaststroke (long course) |2:21.83 |[[Indianapolis]] |June 28, 2017 |- |50 yd breaststroke (short course) |25.98 |[[Austin, TX]] |March 22, 2019 |- |100 yd breaststroke (short course) |55.73 |[[Austin, TX]] |March 22, 2019 |WR |- |200 yd breaststroke (short course) |2:02.60 |[[Columbus, Ohio]] |March 17, 2018 |WR |} ==World records== {| class="wikitable sortable" |- " !Type !Distance !Event !Time !Meet !Location !Date !Age !Ref |- |[[List of world records in swimming|WR]] |100 m (long course) |[[World record progression 100 metres breaststroke#Long course 2|Breaststroke]] |1:04.13 |[[Swimming at the 2017 World Aquatics Championships – Women's 100 metre breaststroke|2017 World Aquatics Championships]] | [[Budapest]], Hungary |{{dts|2017|July|25}} |20 |<ref name=2017worldrecord>{{cite web|title=17th FINA World Championships Women's 100m Breaststroke Final Results|url=http://omegatiming.com/File/Download?id=000111010A0203EC04FFFFFFFFFFFF01|publisher=omegatiming.com|date=July 25, 2017|accessdate=July 25, 2017|archive-url=https://web.archive.org/web/20181009163106/http://www.omegatiming.com/File/Download?id=000111010A0203EC04FFFFFFFFFFFF01|archive-date=October 9, 2018|url-status=dead}}</ref> |- |[[List of world records in swimming|WR]] |50 m (long course) |[[World record progression 50 metres breaststroke#Long course 2|Breaststroke]] |29.40 |[[Swimming at the 2017 World Aquatics Championships – Women's 50 metre breaststroke|2017 World Aquatics Championships]] | [[Budapest]], Hungary |{{dts|2017|July|30}} |20 |<ref name=2017worldrecord50meters>{{cite web|title=17th FINA World Championships Women's 50m Breaststroke Final Results|url=http://omegatiming.com/File/Download?id=000111010A0203EB04FFFFFFFFFFFF01|publisher=omegatiming.com|date=July 30, 2017|accessdate=July 30, 2017|archive-url=https://web.archive.org/web/20170730233625/http://www.omegatiming.com/File/Download?id=000111010A0203EB04FFFFFFFFFFFF01|archive-date=July 30, 2017|url-status=dead}}</ref> |- |[[List of world records in swimming|WR]] |400 m (long course) |[[World record progression 4 x 100 metres medley relay#Long course 2|Medley Relay]] |3:50.40 |[[Swimming at the 2019 World Aquatics Championships - Women's 4 x 100 metre medley relay|2019 World Aquatics Championships]] | [[Gwangju]], South Korea |{{dts|2019|July|28}} |22 |} ==അവലംബം== {{Reflist}} ==ബാഹ്യ ലിങ്കുകൾ== * {{USA Swimming|4720fbfb-fada-4c41-97cf-3037e649cd24}} * {{USOPC}} * {{IOC profile}} * {{OC}} * {{SR/Olympics}} {{s-start}} {{s-ach|rec}} {{succession box | before = <br />[[Rūta Meilutytė]] | title = [[World record progression 50 metres breaststroke#Long course 2|Women's 50-meter breaststroke<br />world record-holder (long course)]] | years = July 30, 2017 – present | after = <br />Incumbent }} {{succession box | before = <br />[[Rūta Meilutytė]] | title = [[World record progression 100 metres breaststroke#Long course|Women's 100-meter breaststroke<br />world record-holder (long course)]] | years = July 25, 2017 – present | after = <br />Incumbent }} {{s-end}} {{Navboxes|list= {{Footer Olympic Champions 100 m Breaststroke Women}} {{Footer Olympic Champions 4x100 m Medley Relay Women}} {{Footer World LC Champions 50m Breaststroke Women}} {{Footer World LC Champions 100m Breaststroke Women}} {{Footer World LC Champions 4x100m Medley Women}} {{Footer World LC Champions 4x100m Medley Mixed}} {{Footer World SC Champions 50m Breaststroke Women}} {{Footer World SC Champions 4x50m Medley Women}} {{Footer World SC Champions 4x100m Medley Women}} {{Footer World SC Champions 4x50m Medley Mixed}} {{Footer Pan Pacific Champions 100m Breaststroke Women}} {{Footer USA Swimming 2016 Summer Olympics}} }} {{Honda Sports Award}} [[വർഗ്ഗം:1997-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:2016 റിയോ ഒളിമ്പിക്സിലെ മെഡൽ ജേതാക്കൾ]] [[വർഗ്ഗം:2016-ലെ സമ്മർ ഒളിമ്പിക്സിലെ നീന്തൽ താരങ്ങൾ]] ekkxwyqabzj3or6aqth54cn3ws042kq റെജീന ഡാനിയൽസ് 0 525415 4621626 3799606 2026-05-22T21:13:07Z InternetArchiveBot 146798 Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621626 wikitext text/x-wiki {{prettyurl|Regina Daniels}} {{Infobox person | name = റെജീന ഡാനിയൽസ് | image = Regina Daniels Traditional War Part 1 in 2016.png | caption = Daniels in "Tradition War Part 1" in 2016 | birth_date = {{birth date and age|df=yes|2000|10|10}} | spouse = [[നെഡ് ന്വോക്കോ]] (m. 2019) | parents = | mother = റിത ഡാനിയൽസ് | relatives = | birth_place = നൈജീരിയ | education = [[ഇഗ്ബിനെഡിയൻ യൂണിവേഴ്സിറ്റി]] | nationality = നൈജീരിയൻ | other_names = | occupation = [[Actress]]/[[Film producer|producer]] | known_for = | home_town = }} ഒരു [[നൈജീരിയ]]ൻ നടിയും ചലച്ചിത്ര നിർമ്മാതാവുമാണ്<ref>{{Cite news|url=http://stargist.com/nigerian_celebrity/about-regina-daniels-regina-daniels-biography-regina-daniels-profile-regina-daniels-wikipedia/|title=10 Things You Need To Know About 21-Year-Old Nollywood Actress, Regina Daniels|date=2016-12-29|newspaper=Nigerian Celebrity News + Latest Entertainment News|language=en-US|access-date=2016-12-30|archive-date=2017-06-18|archive-url=https://web.archive.org/web/20170618032211/http://stargist.com/nigerian_celebrity/about-regina-daniels-regina-daniels-biography-regina-daniels-profile-regina-daniels-wikipedia|url-status=dead}}</ref><ref name="thisday">{{Cite web |url=http://www.thisdaylive.com/index.php/2016/07/23/regina-daniels-as-a-17-year-old-actress-i-earned-n500000-for-a-role/ |title=Regina Daniels: As a 17-year-old Actress, I Earned N500,000 for a Role |last=admin |date=July 23, 2016 |access-date=2020-10-31 |archive-date=2019-04-30 |archive-url=https://web.archive.org/web/20190430032220/http://www.thisdaylive.com/index.php/2016/07/23/regina-daniels-as-a-17-year-old-actress-i-earned-n500000-for-a-role/ |url-status=dead }}</ref><ref>{{Cite web|url=https://www.informationng.com/2016/07/regina-daniels-as-a-14-year-old-actress-i-earned-n500000-for-a-role.html|title=Regina Daniels: As A 14 Year-Old Actress, I Earned N500,000 For A Role|last=Deolu|date=2016-07-23|website=INFORMATION NIGERIA|language=en-US|access-date=2019-05-07}}</ref><ref>{{Cite web|url=https://www.withinnigeria.com/2019/02/24/teen-actress-regina-daniels-flaunts-hot-body-on-election-day-after-being-disqualified-by-age/|title=Teen Actress, Regina Daniels flaunts hot body on election day after being disqualified by age|date=2019-02-24|website=Within Nigeria|language=en-US|access-date=2019-05-07}}</ref> '''റെജീന ഡാനിയൽസ്''' (ജനനം: ഒക്ടോബർ 10, 2000) <ref>{{Cite web|url=https://www.nationalmirroronline.net/actress-regina-daniels-celebrates-17th-birthday-lovely-photos/|title=Actress Regina Daniels Celebrates 17th Birthday With Lovely Photos|last=Techbuddie|date=2017-10-10|website=National Mirror Online|language=en-US|access-date=2019-05-07|archive-date=2019-05-08|archive-url=https://web.archive.org/web/20190508003308/https://www.nationalmirroronline.net/actress-regina-daniels-celebrates-17th-birthday-lovely-photos/|url-status=dead}}</ref> == ആദ്യകാലജീവിതവും വിദ്യാഭ്യാസവും == ഒരു നോളിവുഡ് ചലച്ചിത്ര നടിയും മോഡലുമായ റെജീന ഡാനിയൽസ് 2000 ഒക്ടോബർ 10 ന് നൈജീരിയയിലെ ലാഗോസിലാണ് ജനിച്ചത്. അവരുടെ അമ്മ നടിയും ചലച്ചിത്ര നിർമ്മാതാവും, നൈജീരിയയിലെ ഡെൽറ്റ സ്റ്റേറ്റിലെ ആക്ടേഴ്സ് ഗിൽഡ് ഓഫ് നൈജീരിയ (എജിഎൻ) ചെയർമാൻ കൂടിയായ റിത ഡാനിയേലാണ്. ഡെൽറ്റ സ്റ്റേറ്റ് ഓഫ് നൈജീരിയയിലെ അസബയിലാണ് റെജീന വളർന്നത്. മൂന്ന് സഹോദരന്മാരും രണ്ട് സഹോദരിമാരും ആയി അവർക്ക് അഞ്ച് സഹോദരങ്ങളുണ്ട്. അവരുടെ റോൾ മോഡലുകളിലൊന്നാണ് അക്കാദമി അവാർഡ് നേടിയ നടി ആഞ്ചലീന ജോളി.<ref>https://www.withinnigeria.com/2019/05/01/biography-profile-and-annual-controversy-of-regina-daniels-the-most-talked-about-nollywood-actress-so-far-in-2019/</ref>ഹോളിവുഡ് ഇന്റർനാഷണൽ സ്കൂളിൽ ചേർന്ന് പഠിച്ച <ref name=":0">{{Cite news|url=https://www.naija.ng/1100121-regina-daniels-nigerian-actress-biography.html#1100121|title=Top 5 facts from ☀ Regina Daniels' biography you should know|last=Ibenegbu|first=George|date=2018-02-22|work=Naija.ng – Nigeria news.|access-date=2018-09-18|language=en-US}}</ref>, അവർ 2018-ൽ ഡാനിയൽസ് [[Igbinedion University|ഇഗ്ബിഡിയൻ സർവകലാശാലയിൽ]]<ref>{{Cite web |url=https://theeagleonline.com.ng/teen-actress-regina-daniels-bags-igbinedion-university-award/ |title=Teen Actress Regina Daniels Bags Igbinedion University Award |website=Eagle Online |access-date=2018-08-01}}</ref><ref>{{Cite web |url=https://www.36ng.ng/2017/11/08/regina-daniels-igbinedion-university/ |title=Regina Daniels Attends Igbinedion University, Shocking Revelations About Her Education Life |access-date=2018-08-01 |archive-date=2020-11-06 |archive-url=https://web.archive.org/web/20201106122258/https://www.36ng.ng/2017/11/08/regina-daniels-igbinedion-university/ |url-status=dead }}</ref> നിന്ന് [[Mass communication|മാസ് കമ്മ്യൂണിക്കേഷനിൽ]]<ref>{{Cite web|url=https://www.36ng.ng/2017/11/08/regina-daniels-igbinedion-university/|title=Regina Daniels Attends Igbinedion University, Shocking Revelations About Her Education Life {{!}} 36NG|last=Oladimeji|date=2017-11-08|language=en-US|access-date=2019-04-30|archive-date=2020-11-06|archive-url=https://web.archive.org/web/20201106122258/https://www.36ng.ng/2017/11/08/regina-daniels-igbinedion-university/|url-status=dead}}</ref> ബിരുദം നേടി. == കരിയർ == അമ്മ (റിറ്റ ഡാനിയൽസ്) ഒരു നടിയായായതിനാൽ അവർ ഏഴാമത്തെ വയസ്സിൽ ചലച്ചിത്ര നിർമ്മാണം ആരംഭിച്ചു.<ref>{{Cite web|url=https://www.informationng.com/2017/09/nurtured-daughter-become-nollywood-superstar-actress-rita-daniels-photos.html|title=How I nurtured my daughter to become a Nollywood superstar – Actress Rita Daniels (Photos)|last=OGA|date=2017-09-14|website=INFORMATION NIGERIA|language=en-US|access-date=2019-05-07}}</ref>അവർക്ക് അമ്മയിൽ നിന്നും സഹോദരങ്ങളിൽ നിന്നും പിന്തുണ ലഭിച്ചിരുന്നു. 10,000 നൈജീരിയൻ നൈറ സമ്പാദിച്ച മാര്യേജ് ഓഫ് സോറോ ആയിരുന്നു അവരുടെ ആദ്യ സിനിമ. <ref name=":0" />2010-ൽ "മിറക്കിൾ ചൈൽഡ്" എന്ന പേരിൽ ഒരു നോളിവുഡ് സിനിമയിലും അവർ അഭിനയിച്ചു. <ref>{{Cite web|url=https://www.sunnewsonline.com/mum-suffered-to-ensure-i-became-movie-star-regina-daniels/|title=Mum suffered to ensure I became movie star –Regina Daniels|date=2018-02-03|website=The Sun Nigeria|language=en-US|access-date=2019-05-07}}</ref><ref>{{Cite web|url=http://www.ghafla.com/ng/regina-daniels-nollywoods-teen-star/|title=Regina Daniels, Nollywood's Teen Star|last=Omaku|first=Josephine|date=2017-09-08|website=Ghafla! Nigeria|language=en-US|access-date=2019-05-07|archive-date=2020-11-06|archive-url=https://web.archive.org/web/20201106152219/http://www.ghafla.com/ng/regina-daniels-nollywoods-teen-star/|url-status=dead}}</ref> 2019 ജനുവരിയിൽ ഡാനിയേലിനെ ആറ്റികു അബുബക്കറിന്റെ യൂത്ത് കാമ്പെയ്ൻ കോർഡിനേറ്ററായി നിയമിച്ചു.<ref>{{Cite web|url=https://dailypost.ng/2019/01/21/2019-presidency-regina-daniels-gets-appointment-atiku/|title=2019 presidency: Regina Daniels gets appointment from Atiku|last=Imenger|first=Senater|date=2019-01-21|website=Daily Post Nigeria|language=en-US|access-date=2019-05-07}}</ref><ref>{{Cite web|url=https://www.premiumtimesng.com/entertainment/nollywood/307038-election-atiku-gives-actress-regina-daniels-appointment.html|title=Election: Atiku gives actress Regina Daniels appointment|last=Augoye|first=Jayne|date=2019-01-21|website=Premium Times Nigeria|language=en-GB|access-date=2019-05-07}}</ref><ref>{{Cite web|url=https://lifestyle.thecable.ng/regina-daniels-atiku-campaign/|title=Regina Daniels, Nollywood starlet, appointed Atiku campaign youth coordinator|date=2019-01-21|website=TheCable Lifestyle|language=en-US|access-date=2019-05-07}}</ref> 2020 ഫെബ്രുവരിയിൽ അബുജയിലെ ഒരു ഹോട്ടലിൽ അവരുടെ പേരിൽ ഒരു മാസിക ആരംഭിച്ചു.<ref>{{Cite web|url=https://www.msn.com/en-xl/africa/nigeria/regina-daniels-and-59-year-old-husband-love-up-as-she-holds-star-studded-magazine-launch/ar-BB10jJCv?li=BBKhQr3|title=Regina Daniels and 59-year-old husband love up as she holds star-studded magazine launch|website=www.msn.com|access-date=2020-02-24}}</ref> == ഫിലിമോഗ്രാഫി == {{columns-list| *''[[Dumebi (film)|ഡുമെബി ഇൻ സ്കൂൾ]]'' *''പൈത്തൺ ഗേൾ'' *''ദി ബാറ്റ്മാൻ'' *''ദി ജെറിക്കോ'' *''പ്ലാൻറെയിൻ ഗേൾ'' *''ജജാ ദി ഗ്രേറ്റ്'' *എനിമി വിത്തിൻ// Directed by മേയർ ഒഫോഗ്ബു *''ദി ജെറിക്കോ'' (as producer) *''ട്വിൻസ് എപാർട്ട്'' (as producer) *''റ്റീയേഴ്സ് ഓഫ് ഒജിയുഗോ'' *അമര ക്വീൻ ഓഫ് ദി ജംഗിൾ *റെസിഡന്റ് ഈവിൾ// Directed by മേയർ ഒഫോഗ്ബു *''വൈപ് യുവർ സോറോസ്'' *''റോയൽ കൺവെനന്റ്'' *''ട്രഡിഷണൽ വാർ (Part 1)'' * ''സ്ട്രോങർ ദാൻ ദി ഗോഡ്സ്'' *''ദി കിങ് ആന്റ് ദി പൈത്തൺ'' *''ഹാങിംഗ് കോഫിൻ' * ''ഈവിൾ മെസ്സെഞ്ചെർ'' 1 and 2 * ''ക്വീൻ റെബേക്ക'' * ''ഷെകിറ: ദി സെൽഫി ക്വീൻ '' * ''എസിയാമ: ലാൻഡ് ഓഫ് ബ്ലഡ്'' * ''റോയൽ ഡ്രീംസ്'' * ''പെയിൻസ് ഓഫ് റോയൽറ്റി'' * ''ലാൻഡ് ഓഫ് സ്ലേവ്സ്'' * ''സ്ലേവ് ഗേൾ'' * ''ദി സ്റ്റോളൻ ബീഡ്സ്'' *''നേക്കെഡ് സാക്രിഫൈസ്'' }} == അവലംബം == {{reflist}} ==പുറംകണ്ണികൾ== *{{IMDb name|5931805}} {{Authority control}} [[വർഗ്ഗം:നൈജീരിയൻ ചലച്ചിത്രനടികൾ]] [[വർഗ്ഗം:2001-ൽ ജനിച്ചവർ]] rff5oz1gyqghewrvtzv95qbfqfrw7br മേഴ്‌സി ഐഗ്ബി 0 525988 4621571 4588834 2026-05-22T14:21:28Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621571 wikitext text/x-wiki {{prettyurl|Mercy Aigbe}} {{Infobox person | name = മേഴ്‌സി ഐഗ്ബി | image = | imagesize = | alt = | caption = | birth_name = മേഴ്‌സി ഐഗ്ബി | birth_date = {{Birth date and age|1978|01|01|df=yes}} | birth_place = [[എഡോ സംസ്ഥാനം, നൈജീരിയ]] | othername = | nationality = [[നൈജീരിയൻ]] | citizenship = [[നൈജീരിയൻ]] | ethnicity = | occupation = {{flatlist| *നടി *മോഡൽ *സിനിമാ നിർമ്മാതാവ് *നിർമ്മാതാവ് *സംവിധായകൻ }} | parents = പാ ഐഗ്ബെ (father)<br>അബിസോള ഗ്രേസ് ഓവുഡുന്നി (mother) | relatives = | spouse = ലാൻറെ ജെൻട്രി (sep. 2017) | children = 2 | yearsactive = 2001&ndash;present | known for = | awards = | website = {{URL|mercyaigbegentry.com}} }} [[നൈജീരിയ]]ൻ നടിയും സംവിധായികയും ബിസിനസുകാരിയുമാണ് '''മേഴ്‌സി ഐഗ്ബി''' (ജനനം: 1 ജനുവരി 1978). യൊറുബ തദ്ദേശീയ സിനിമകളിലൂടെയാണ് അവർ കൂടുതൽ അറിയപ്പെടുന്നത്. <ref name=pulse>{{cite web|url=http://pulse.ng/celebrities/womancrushwednesday-mercy-aigbe-gentry-pretty-passionate-actress-id3824320.html|title=Mercy Aigbe-Gentry, pretty passionate actress|date=June 3, 2015|author=Ayomide O. Tayo|accessdate=August 9, 2015|archive-date=2016-06-25|archive-url=https://web.archive.org/web/20160625023508/http://pulse.ng/celebrities/womancrushwednesday-mercy-aigbe-gentry-pretty-passionate-actress-id3824320.html|url-status=dead}}</ref><ref>{{cite news|url=http://www.naij.com/463296-6-hottest-asoebi-styles-of-mercy-aigbe.html|title=6 Hottest Asoebi Styles Of Mercy Aigbe|author=Ajomole Helen|publisher=Naij|accessdate=August 9, 2015}}</ref> ==ആദ്യകാലജീവിതം== 1978 ജനുവരി 1 ന് എഡോ സ്റ്റേറ്റിലാണ് അവർ ജനിച്ചത്.<ref>{{Cite web|url=https://www.nigeriafilms.com/style/122-beauty/50709-mercy-aigbe-looks-more-beautiful-without-makeup-photos|title=Mercy Aigbe looks more beautiful without makeup|access-date=2020-11-08|archive-date=2022-11-22|archive-url=https://web.archive.org/web/20221122125509/https://www.nigeriafilms.com/style/122-beauty/50709-mercy-aigbe-looks-more-beautiful-without-makeup-photos|url-status=dead}}</ref> എഡോ സ്റ്റേറ്റിന്റെ തലസ്ഥാനമായ ബെനിൻ നഗരത്തിലാണ് അവർ താമസിക്കുന്നത്. ലാഗോസിലെ ഇകെജയിൽ മേരിലാൻഡ് കോംപ്രിഹെൻസീവ് സെക്കൻഡറി സ്കൂളിൽ നിന്ന് വിദ്യാഭ്യാസം നേടി. ഓയോ സ്റ്റേറ്റിലെ ഇബാദാനിലെ ദി പോളിടെക്നിക്കിലെ പൂർവ്വ വിദ്യാർത്ഥിനിയാണ്. അവിടെ ഫിനാൻഷ്യൽ സ്റ്റഡീസിലും തുടർന്ന് ലാഗോസ് യൂണിവേഴ്സിറ്റിയിലും തിയേറ്റർ ആർട്‌സിൽ ബിരുദം നേടി.<ref>{{Cite web |url=https://www.naija.ng/1163683-mercy-aigbe-children.html#1163683 |title=Mercy Aigbe children |website=naija.ng}}</ref> == കരിയർ == 2001-ൽ ലാഗോസ് സർവകലാശാലയിൽ നിന്ന് തിയേറ്റർ ആർട്‌സിൽ അവർ ബിരുദം നേടി. 2016-ൽ "മേഴ്‌സി ഐഗ്ബി ജെൻട്രി സ്‌കൂൾ ഓഫ് ഡ്രാമ" സ്ഥാപിച്ചു.<ref>{{Cite web |url=https://www.tvcontinental.tv/2016/08/04/mercy-aigbes-drama-school-graduates-first-set-trained-students/ |title=Mercy Aigbe’s drama school graduates first set of trained students |date=August 4, 2016 |website=Television Continental |access-date=2018-10-18 |archive-date=2019-10-18 |archive-url=https://web.archive.org/web/20191018155132/https://www.tvcontinental.tv/2016/08/04/mercy-aigbes-drama-school-graduates-first-set-trained-students/ |url-status=dead }}</ref><ref>{{Cite web |url=https://www.36ng.ng/2016/07/17/mercy-aigbe-starts-film-school/ |title=Mercy Aigbe Starts Her Own Film School |last=Braimoh |first=Tobi |date=July 17, 2016 |access-date=2018-10-18 |archive-date=2022-11-22 |archive-url=https://web.archive.org/web/20221122124929/https://www.36ng.ng/2016/07/17/mercy-aigbe-starts-film-school/ |url-status=dead }}</ref> == ഫിലിമോഗ്രാഫി == *''സാത്താനിക്'' *''അഫെഫെ ഐഫ്'' (2008) *''ഒകാൻജുവ'' (2008) *''അതുനിഡ ലെയ്'' (2009) *''ഇഗ്ബെരാഗ'' (2009) *''ഇഹാമോ'' (2009) *''ഐപെ̀സെ̀'' (2009) *''ഐറോ ഫൺ ഫൺ'' (2009) *''മാഫിസെരെ'' (2009) *''ഒജു ഐഫ്'' (2009) *''ഒമോഗ് ഒസാസ്'' (2012) *''ഇലെ ഒകൊ മീ'' (2014) *''വിക്റ്റിംസ്'' (2015) *''ദി സ്ക്രീൻപ്ലേ'' (2017) *''ലിറ്റിൽ ഡ്രോപ്സ് ഓഫ് ഹാപ്പി'' (2017) *''200 മില്ല്യൻ'' (2018) *''സെക്കൻഡ് ആക്ട്സ്'' (2018) *''[[Lagos Real Fake Life (2018)|ലാഗോസ് റിയൽ ഫേക് ലൈഫ്]]'' (2018) ===അവാർഡുകളും ബഹുമതികളും=== *[[Bayelsa State|ബെയ്‌ൽസ സ്റ്റേറ്റിലെ]] യെനാഗോവയിൽ നടന്ന സിറ്റി പീപ്പിൾ അവാർഡിൽ മികച്ച നടിക്കുള്ള പുരസ്കാരം ആയ യൊറൂബ അവാർഡ് നേടി. *ബെസ്റ്റ് ഇൻഡിജിനിയസ് ലാഗ്വേജ് (യൊറുബ) (2014) *ബെസ്റ്റ് ആക്ട്രെസ് ഇൻ എ സപ്പോർട്ടിങ് റോൾ (Yoruba) (2010) *ബെസ്റ്റ് ആക്ട്രെസ് ഇൻ ആൻ ഇൻഡിജിനിയസ് മൂവി നോമിനേഷൻ (non-English speaking language) (2012) *സിറ്റി പീപ്പിൾ എന്റർടൈൻമെന്റ് യൊറുബ മൂവി പേഴ്‌സണാലിറ്റി ഓഫ് ദ ഇയർ(2015) *Fashion Entrepreneur of The Year Awarded by Links and Glitz World Awards (2015) ==അവലംബം== {{Reflist}} == പുറംകണ്ണികൾ == * {{IMDb name|id=3443150|name=Mercy Aigbe}} [[വർഗ്ഗം:1978-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:നൈജീരിയൻ ചലച്ചിത്രനടികൾ]] i3sxosq0j11edt6quhtan424ss7rns7 യുറാൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി 0 527683 4621593 3957805 2026-05-22T16:43:40Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621593 wikitext text/x-wiki {{prettyurl|Ural State University}} {{Infobox university|name=എ.എം. ഗോർക്കി യൂറാൾ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി|postgrad=|address=51, ലെനിന സട്രീറ്റ്, 620083, യെകടെറിൻബർഗ്ഗ്, റഷ്യ|website=[http://www.usu.ru www.usu.ru]|footnotes=|affiliations=|nickname=|mascot=|campus=Urban|country=[[റഷ്യ]]|state=[[സ്വെർഡ്ലോവ്സ്ക് ഒബ്ലാസ്റ്റ്]]|city=[[യെകടെറിൻബർഗ്ഗ്]]|faculty=500|coordinates=|doctoral=|undergrad=|native_name=Уральский государственный университет<br />им. А. М. Горького|students=8,000+ Full Time<br />10,000+ part-time and distance-education students|rector=[[ഡിമിത്രി ബഗ്രോവ്]]|principal=|provost=|president=[[വ്ലാദിമീർ ട്രെറ്റ്യാക്കോവ്]]|staff=|endowment=|type=University/Liberal Arts|founder=[[മാക്സിം ഗോർക്കി]]|established=19 ഒക്ടോബർ 1920|mottoeng=''Beware the man of one book'' ([[Thomas Aquinas]])|motto=''Hominem ūnīus librī timeō''|image_size=270px|image=|logo={{Infobox building | embed = yes | name = | native_name = | native_name_lang = | image = E-burg asv2019-05 img24 UrFU Lenina51.jpg | image_size = 250px | caption = Main campus building | start_date = | completion_date = | location = | coordinates = | map_type = | architectural = | status = | antenna_spire = | top_floor = | floor_count = | elevator_count = | floor_area = | developer = | owner = }}}} [[റഷ്യ|റഷ്യൻ ഫെഡറേഷനിലെ]] സ്വെർഡ്ലോവ്സ്ക് ഒബ്ലാസ്റ്റിലെ യെകടെറിൻബർഗ്ഗ് നഗത്തിൽ സ്ഥിതിചെയ്യുന്ന ഒരു സർവ്വകലാശാലയാണ് '''യുറൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി''' ( {{Lang-ru|Урáльский госудáрственный университéт и́мени А.М. Гóрького}} <span lang="ru">.</span> <span lang="ru">Гഒ́рького</span> , {{Lang|ru-Latn|Urál'skiy gosudárstvennyy universitét ímeni A. M. Gór'kogo}} , ചുരുക്കി '''യുഎസ്‍യു''' എന്നുപറയുന്നു''',''' '''УрГУ)'''. 1920 ൽ സ്ഥാപിതമായ ഈ സർവ്വകലാശാല വിവിധ ശാഖകളിൽ (വിദ്യാഭ്യാസ, ശാസ്ത്രീയ വിഭാഗങ്ങൾ) സ്ഥാപിച്ച പ്രത്യേക വിദ്യാഭ്യാസ സ്ഥാപനമായിരുന്നു, പിന്നീട് ഇവയെല്ലാം സ്വതന്ത്ര [[സർവ്വകലാശാല|സർവകലാശാലകളും]] സ്കൂളുകളും ആയി മാറി. 1936 ൽ സ്ഥാപിതമായ ഈ സർവകലാശാലയുടെ സ്ഥാപകരിലൊരാളായ റഷ്യൻ എഴുത്തുകാരൻ [[മാക്സിം ഗോർക്കി|മാക്സിം ഗോർകിയുടെ]] പേരാണ് സർവ്വകലാശാലക്ക് ലഭിച്ചത്. മദ്ധ്യ യുറാലിലെ ഏറ്റവും പഴക്കം ചെന്ന രണ്ടാമത്തെ സർവ്വകലാശാലയാണിത് (ഏറ്റവും പഴയത് യുറൽസ് സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി ഓഫ് മൈൻസ് ആണ് ). അക്കാദമിക് പ്രക്രിയയുടെയും ശാസ്ത്രീയ ഗവേഷണത്തിന്റെയും സമന്വയത്തിന്റെ അടിസ്ഥാനത്തിൽ നടത്തുന്ന ഗവേഷണം, വിദ്യാഭ്യാസ മാനേജ്മെന്റ് എന്നിവയിൽ റഷ്യയിലെ ഏറ്റവും പ്രശസ്തമായ സർവകലാശാലകളിൽ ഒന്നാണിത്. 53 ബിരുദ പ്രോഗ്രാമുകൾ ഉൾപ്പെടെ ഡസൻ കണക്കിന് ശാസ്ത്ര-വിദ്യാഭ്യാസ മേഖലകളിൽ ഇവിടെ കോഴ്സുകൾ വാഗ്ദാനം ചെയ്യുന്നു. 2007-ൽ ദിമിത്രി ബുഗ്രോവ് പുതിയ റെക്ടറായി തിരഞ്ഞെടുക്കപ്പെട്ടു, <ref>[http://www.usu.ru/usu/opencms/today/rector/rector-main.html Dmitiy Bugrov] {{Webarchive|url=https://web.archive.org/web/20090125214344/http://www.usu.ru/usu/opencms/today/rector/rector-main.html|date=2009-01-25}} is elected rector (in Russian)</ref> നിലവിൽ വ്‌ളാഡിമിർ ട്രെത്യാക്കോവ് അന്താരാഷ്ട്ര കാര്യങ്ങളിൽ സർവകലാശാലയെ പ്രതിനിധീകരിക്കുന്നു. [[Category:Articles containing Russian-language text]] 95 ചെയറുകളായും 14 വകുപ്പുകളായും യുഎസ്‌യു വിഭജിച്ചിക്കപ്പെട്ടിരിക്കുന്നു. [[ജീവശാസ്ത്രം]], [[പത്രപ്രവർത്തനം|ജേണലിസം]], കൾച്ചറോളജി & ആർട്സ്, ഹിസ്റ്ററി, മാത്തമാറ്റിക്സ് ആൻഡ് മെക്കാനിക്സ്, പൊളിറ്റോളജി ആൻഡ് സോഷ്യോളജി, [[മനഃശാസ്ത്രം|സൈക്കോളജി]], [[ഭൗതികശാസ്ത്രം|ഫിസിക്സ്]], ഫിലോളജി, [[തത്ത്വശാസ്ത്രം|ഫിലോസഫി]], പബ്ലിക് റിലേഷൻസ്, കെമിസ്ട്രി, ഫോറിൻ അഫയേഴ്സ്, ഇക്കണോമിക്സ് എന്നിവയാണ് ഇവിടെയുള്ള വകുപ്പുകൾ. റഷ്യൻ അക്കാദമി ഓഫ് സയൻസസിലെ 18 അക്കാദമിഷ്യന്മാർ ഇവിടെ അദ്ധ്യാപനം നടത്തുന്നു. യൂണിവേഴ്സിറ്റിയിൽ ഒരു ലൈസിയം സ്ഥിതിചെയ്യുന്നു. ലിയോനാർഡോ ഇറ്റാലിയൻ കോളേജ്, ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഫിസിക്സ് ആൻഡ് അപ്ലൈഡ് മാത്തമാറ്റിക്സ്, ഒരു ഇന്റർനാഷണൽ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് സോഷ്യൽ സയൻസസ്, റഷ്യൻ-അമേരിക്കൻ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഇക്കണോമി ആൻഡ് ബിസിനസ്, ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മാനേജ്മെന്റ് ആൻഡ് എന്റർപ്രണർഷിപ്പ്, വിദൂര വിദ്യാഭ്യാസ കേന്ദ്രം, റഷ്യൻ കൾച്ചർ ഇൻസ്റ്റിറ്റ്യൂട്ട്, ഒരു നിരീക്ഷണാലയം, ഒരു ബൊട്ടാണിക്കൽ ഗാർഡൻ, 1,200,000 വാല്യങ്ങളുള്ള ഒരു ശാസ്ത്രീയ ലൈബ്രറി, ഒരു പബ്ലിഷിംഗ് ഹൗസ്, നിരവധി മ്യൂസിയങ്ങൾ, റഷ്യൻ ഭാഷയെ പ്രത്യേക വിദേശ ഭാഷയായി പഠിക്കുന്നതിനുള്ള കേന്ദ്രം , വിദേശ ഭാഷകൾ [[വിദ്യാഭ്യാസ സാങ്കേതികവിദ്യ|പഠിക്കുന്നതിനുള്ള]] ഒരു ലബോറട്ടറി, കൂടാതെ പുതുക്കിയ കോഴ്സുകളും തുടർ വിദ്യാഭ്യാസത്തിനും പരിശീലനത്തിനുമുള്ള സ്ഥാപനങ്ങൾ എന്നിവ ഈ സർവ്വകലാശാലയിൽ സ്ഥിതിചെയ്യുന്നു. എല്ലാ വർഷവും യുറൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി ഡെമിഡോവ് പ്രഭാഷണങ്ങൾക്ക് ആതിഥേയത്വം വഹിക്കുന്നു. ഡെമിഡോവ് സമ്മാന ജേതാക്കൾ നൽകുന്ന പ്രഭാഷണങ്ങളുടെ പരമ്പരയാണ് ഇത്. [[ബോറിസ് യെൽത്സിൻ|ബോറിസ് യെൽ‌റ്റ്സിനുശേഷം]] 2010 മുതൽ യൂണിവേഴ്സിറ്റി യുറൽ ഫെഡറൽ സർവ്വകലാശാലയാണ് . 21.10.2010 മുതൽ റഷ്യൻ ഫെഡറേഷന്റെ പ്രസിഡന്റിന്റെ ഉത്തരവ് # 1172 ആണ് ഇത് സംഭവിച്ചത്. യൂണിവേഴ്സിറ്റി ഇപ്പോൾ ദി യുറൽ സ്റ്റേറ്റ് ടെക്നിക്കൽ യൂണിവേഴ്സിറ്റിയുമായി സംയോജിച്ച് പ്രവർത്തിക്കുന്നു. == ശാസ്ത്ര വിദ്യാലയങ്ങൾ == യുറൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയിൽ ആരംഭിച്ച ഏറ്റവും പ്രധാനപ്പെട്ട ശാസ്ത്ര വിദ്യാലയങ്ങൾ: * പ്രൊഫസർ എസ്‌വി കാർപച്ചിയോവ് സ്ഥാപിച്ച യുറൽ സയന്റിഫിക് സ്‌കൂൾ ഇൻ ഇലക്ട്രോകെമിസ്ട്രി * അക്കാദമിഷ്യൻ സെ‍ർഗി വോൻസോവ്സ്കി സ്ഥാപിച്ച യുറാൽ സയന്റിഫിക് സ്ക്കൂൾ ഇൻ ഫെറോമാഗ്നറ്റിസം * അക്കാദമിഷ്യൻ സ്റ്റാനിസ്ലാവ് ഷ്വാർട്ട്സ് സ്ഥാപിച്ച യുറൽ സയന്റിഫിക് സ്കൂൾ ഇൻ പോപ്പുലേഷൻ ഇക്കോളജി * പ്രൊഫസർ എൽ എൻ കോഗൻ സ്ഥാപിച്ച യുറൽ സയന്റിഫിക് സ്കൂൾ ഇൻ [[സമൂഹശാസ്ത്രം|സോഷ്യോളജി]] * പ്രൊഫസർ എം. സ്യൂസിയുമോവ് സ്ഥാപിച്ച യുറൽ സയന്റിഫിക് സ്‌കൂൾ ഇൻ ബൈസന്റൈൻ സ്റ്റഡീസ് * പ്രൊഫസർ പി.ജി.കോണ്ടോറോവിച്ച് സ്ഥാപിച്ച യുറൽ സയന്റിഫിക് സ്‌കൂൾ ഇൻ [[ബീജഗണിതം|ആൾജിബ്ര]] * പ്രൊഫസർ [http://www.ras.ru/win/db/show_per.asp?P=.id-50543.ln-en വി.കെ. ഇവാനോവ്] സ്ഥാപിച്ച യുറൽ സയന്റിഫിക് സ്ക്കൂൾ ഇൻ ജനറലൈസ്ഡ് ഫങ്ഷൻസ് തിയറി * റഷ്യൻ അക്കാദമി ഓഫ് സയൻസസിലെ ലോമോനോസോവ് ഗോൾഡ് മെഡൽ ജേതാവും അക്കാദമിഷ്യനുമായ നിക്കോളായ് നിക്കോളാവിച്ച് ക്രാസോവ്സ്കി സ്ഥാപിച്ച യൂറൽ സയന്റിഫിക് സ്കൂൾ ഇൻ മാത്തമാറ്റിക്സ് * പ്രൊഫസർ അലക്സാണ്ടർ മാറ്റ്വെയേവ് സ്ഥാപിച്ച യൂറൽ സയന്റിഫിക് സ്കൂൾ ഇൻ [[സ്ഥലനാമപഠനം|ടോപ്പൊണമി]] * അക്കാദമിഷ്യൻ [http://www.ras.ru/win/db/show_per.asp?P=.id-1492.ln-en എടി മോക്രോനോസോവ്] സ്ഥാപിച്ച യൂറൽ സയന്റിഫിക് സ്‌കൂൾ ഇൻ [[പ്രകാശസംശ്ലേഷണം|ഫോട്ടോസിന്തസിസ്]] == വെബ് റാങ്കിംഗ് == 2004 ൽ റഷ്യൻ വിദ്യാഭ്യാസ മന്ത്രാലയത്തിലെ മികച്ച സർവകലാശാലകളിൽ യു‌എസ്‌യു 25-ആം സ്ഥാനത്തായിരുന്നു. <ref>The official university [http://www.abituru.ru/?razdel=rating&document=all&view=38 ranking] {{Webarchive|url=https://web.archive.org/web/20160604204708/http://www.abituru.ru/?razdel=rating&document=all&view=38 |date=2016-06-04 }} of the Russian Ministry for Education, 2004</ref> വെബ് സാന്നിധ്യത്തിന്റെ അളവും വെബിൽ ലഭ്യമായ പ്രസിദ്ധീകരണങ്ങളുടെ അളവും അടിസ്ഥാനമാക്കിയുള്ള വെബ്‌മെട്രിക്സ് റാങ്കിംഗ് അനുസരിച്ച്, യുഎസ്‌യു റഷ്യയിൽ ഏഴാം സ്ഥാനത്താണ്. <ref>USU on the top 100 [http://www.webometrics.info/top100_europe.asp?country=ru Webometrics] {{Webarchive|url=https://web.archive.org/web/20110612000345/http://www.webometrics.info/top100_europe.asp?country=ru |date=2011-06-12 }}'s list of universities in Russia</ref> == ശ്രദ്ധേയമായ പൂർവ്വ വിദ്യാർത്ഥികൾ == * അലക്സാണ്ടർ ബഷ്ലാചേവ് - പ്രശസ്ത കവി, റോക്ക് സംഗീതജ്ഞൻ, ഗാനരചയിതാവ് * വിറ്റാലി ബുഗ്രോവ് - സോവിയറ്റ് സാഹിത്യ നിരൂപകൻ, സയൻസ് ഫിക്ഷന്റെ ചരിത്രകാരൻ * ജെന്നഡി ബർ‌ബുലിസ് - ആർ‌എസ്‌എഫ്‌എസ്ആറിന്റെ സംസ്ഥാന സെക്രട്ടറി * ചെർനിക്കോവ്, സെർജി - ഗണിതശാസ്ത്രജ്ഞൻ, അക്കാദമിഷ്യൻ * എർന ഡൗഗാവിയറ്റ് (1906 - 1991), രസതന്ത്രജ്ഞൻ * അലക്സി ഇവാനോവ് - എഴുത്തുകാരൻ * ഷോൾബാൻ കാരാ-ഊൽ - രാഷ്ട്രതന്ത്രജ്ഞൻ, തുവ റിപ്പബ്ലിക്കിന്റെ പ്രധാനമന്ത്രി * മിഖായേൽ കാറ്റ്‌സ്‌നെൽസൺ - റാഡ്‌ബൗഡ് സർവകലാശാലയിലെ സൈദ്ധാന്തിക ഭൗതികശാസ്ത്ര പ്രൊഫസർ * ഫൈന മിഹാജ്‌ലോവ്ന കിറിലോവ - ഗണിതശാസ്ത്രജ്ഞനും നിയന്ത്രണ സൈദ്ധാന്തികനുമാണ് * വിക്ടർ കോക്ഷറോവ് - സ്വെർഡ്ലോവ്സ്ക് ഒബ്ലാസ്റ്റിന്റെ സർക്കാർ തലവൻ * ഇല്യ കോർ‌മിൽ‌സെവ് - കവി, വ്യാഖ്യാതാവ്, റോക്ക് സംഗീതജ്ഞൻ * നടേഷ്ദ കൊഴുഷനയ - എഴുത്തുകാരൻ, തിരക്കഥാകൃത്ത്, "ദി മിറർ ഫോർ എ ഹീറോ" (1987), "ഫുട്ട്" (1991) എന്നീ ചിത്രങ്ങളുടെ തിരക്കഥയുടെ രചയിതാവ്. * വ്‌ലാഡിസ്ലാവ് ക്രാപിവിൻ - കുട്ടികളുടെ പുസ്തകങ്ങളുടെ രചയിതാവ് * അനസ്താസിയ ലാപ്‌സുയി (ജനനം: 1944) - നെനെറ്റ്സ് ചലച്ചിത്ര സംവിധായകൻ, തിരക്കഥാകൃത്ത്, റേഡിയോ ജേണലിസ്റ്റ് * വ്‌ളാഡിമിർ മോട്ടിൽ - ചലച്ചിത്ര സംവിധായകൻ * അനറ്റോലി വി. ഒലെനിക് - രസതന്ത്രജ്ഞനും പ്രൊഫസറും * യൂറി ഒസിപോവ് - റഷ്യൻ അക്കാദമി ഓഫ് സയൻസസ് പ്രസിഡന്റ്, റഷ്യൻ സർക്കാർ അംഗം * ബോറിസ് പ്ലോട്ട്നിക്കോവ് - നടൻ, റഷ്യയിലെ പീപ്പിൾസ് ആർട്ടിസ്റ്റ് * പ്രസ്ന്യാക്കോവ് സഹോദരന്മാർ - നാടകകൃത്തുക്കൾ * യെവ്ജെനി റോയിസ്മാൻ - റഷ്യൻ രാഷ്ട്രീയക്കാരൻ. 2013 മുതൽ 2018 വരെ [[യെകാർതെറിൻബർഗ്ഗ്|യെക്കാറ്റെറിൻബർഗ്]] [[മേയർ|മേയറായി]] സേവനമനുഷ്ഠിച്ചു * റിഷി, ബോറിസ് - കവി * സെർജി ഷ്മത്കോ - രാഷ്ട്രതന്ത്രജ്ഞൻ, ഊർജ്ജ മന്ത്രി (മെയ് 12, 2008) * കോൺസ്റ്റാന്റിൻ സയോമിൻ - പത്രപ്രവർത്തകൻ, ടിവി അവതാരകൻ * വ്‌ളാഡിമിർ ട്രെത്യാകോവ് - മുൻ റെക്ടർ, യു‌എസ്‌യുവിന്റെ ഇന്നത്തെ പ്രസിഡന്റ് * ജെന്നഡി സഡാനോവിച്ച് - പുരാവസ്തു ഗവേഷകർ, പുരാവസ്തു വിദ്യാലയത്തിന്റെ സ്രഷ്ടാവ് == ചിഹ്നം == യുറൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയുടെ എംബ്ലത്തിലെ ചിഹ്നങ്ങളുടെ സ്ഥാനവും സെറ്റും 2008 ഏപ്രിൽ 24 ന് ഔദ്യോഗികമായി അംഗീകരിച്ചു. യെക്കാറ്റെറിൻബർഗിന്റെ രക്ഷാധികാരിയായ [[കാതറീൻ ഓഫ് അലക്സാണ്ട്രിയ|അലക്സാണ്ട്രിയയിലെ സെന്റ് കാതറിൻെറ]] കുരിശാണ് ചിഹ്ന കേന്ദ്രം പ്രതിനിധീകരിക്കുന്നത്. ഇതാണ് കോൺകീവ്-സ്പൈക്ക്ഡ് നാല് ഭാഗങ്ങളുള്ള ക്രോസ്. കുരിശായി മാറുന്ന സ്പൈക്കുകൾ ഒരു ചിഹ്നത്തെ കൂടി പരാമർശിക്കുന്നു - ഈജിപ്ഷ്യൻ പുരോഹിതരുടെ സ്റ്റാഫ്, പവിത്രമായ അറിവിന്റെ സൂക്ഷിപ്പുകാർ. ഈ സ്റ്റാഫിനെ [[ഈജിപ്തിലെ അന്തോനീസ്|ആന്റണി ദി ഗ്രേറ്റ്]] എന്ന സ്റ്റാഫ് എന്നും വിളിക്കുന്നു. ഇത് സത്യാന്വേഷണത്തെയും നേട്ടത്തെയും പ്രതീകപ്പെടുത്തുന്നു. ഒരു സൗര ചിഹ്നം - ഒരു കോഗ്‌വീൽ, സൂര്യനെയും അറിവിന്റെ പ്രകാശത്തെയും പ്രതീകപ്പെടുത്തുന്നു. അതേസമയം ചക്രവും കുരിശും സെന്റ് കാതറിന്റെ പ്രതീകമാണ്. ഇതിഹാസമനുസരിച്ച്, കാതറിൻ [[ബ്രേക്കിംഗ് വീൽ (വധശിക്ഷാരീതി)|ചക്രത്തിൽ വധിക്കപ്പെട്ടതായി]] അപലപിക്കപ്പെട്ടു. മൂന്ന് പുസ്തകങ്ങളും [[പ്രാകൃതികശാസ്ത്രം|പ്രകൃതിശാസ്ത്രത്തിന്റെയും]] ഔപചാരിക ശാസ്ത്രത്തിന്റെയും മാനവികതയുടെയും ഐക്യത്തെ പ്രതീകപ്പെടുത്തുകയും ചെയ്യുന്ന “ഒരു പുസ്തകത്തിലെ മനുഷ്യനെ സൂക്ഷിക്കുക”. ( [[തോമസ് അക്വീനാസ്|തോമസ് അക്വിനാസ്]] )എന്ന ചിഹ്നത്തിന്റെ മുദ്രാവാക്യത്തെ പരാമർശിക്കുകയും ചെയ്യുന്നു. == ഇതും കാണുക == * യുറൽ സ്റ്റേറ്റ് ലോ അക്കാദമി * യുറൽ സ്റ്റേറ്റ് ടെക്നിക്കൽ യൂണിവേഴ്സിറ്റി * യൂറോപ്പിലെ ആധുനിക സർവകലാശാലകളുടെ പട്ടിക (1801–1945) == അവലംബങ്ങൾ == {{Reflist|2}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * [http://www.usu.ru യുറൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയുടെ ഔദ്യോഗിക സൈറ്റ്] * [http://proceedings.usu.ru/proceedings യുറൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയുടെ നടപടിക്രമങ്ങൾ - സൗജന്യ ഓൺ‌ലൈൻ പതിപ്പ്] {{Webarchive|url=https://web.archive.org/web/20130101004204/http://proceedings.usu.ru/proceedings |date=2013-01-01 }} [[വർഗ്ഗം:Pages which use embedded infobox templates with the title parameter]] [[വർഗ്ഗം:Coordinates on Wikidata]] [[വർഗ്ഗം:യുറാൽ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി]] hijjx4m50s85imwekqvv58ig3tftr5k കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021) 0 529777 4622123 4617656 2026-05-23T05:39:39Z CommonsDelinker 756 "AIADMK_OfficialFlag_Vector.svg" നീക്കം ചെയ്യുന്നു, [[c:User:Krd|Krd]] എന്ന കാര്യനിർവ്വാഹകൻ അത് കോമൺസിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. കാരണം: No permission since 15 May 2026. 4622123 wikitext text/x-wiki {{Infobox election | election_name = 2021ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് | country = ഇന്ത്യ | type = parliamentary | ongoing = no | previous_election = കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2016) | previous_year = 2016 | outgoing_members = പതിനാലാം കേരളനിയമസഭ | election_date = {{start date|2021|04|06|df=yes}} | elected_members = പതിനഞ്ചാം കേരളനിയമസഭ | next_election = കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026) | next_year = 2026 | seats_for_election = [[കേരള നിയമസഭ|കേരളാ നിയമസഭയിലെ]] എല്ലാ ([[കേരളത്തിലെ നിയമസഭാമണ്ഡലങ്ങളുടെ പട്ടിക|140]]) സീറ്റുകളിലും | majority_seats = 71 | opinion_polls = #അഭിപ്രായ സർവേകൾ | turnout = 76.00% ({{decrease}} 1.53 [[percentage point|pp]]) <!-- Left Democratic Front -->| image1 = {{CSS image crop|Image=Chief Minister Pinarayi Vijayan 2023.tif|bSize=110|cWidth=100|cHeight=120|oLeft=5|oTop=10}} | leader1 = [[പിണറായി വിജയൻ]] | party1 = കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്) | alliance1 = ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി | leader_since1 = 2016 | leaders_seat1 = [[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | last_election1 = 43.48%, 91 സീറ്റുകൾ | seats1 = '''99''' | seat_change1 = {{increase}} 8 | popular_vote1 = '''10,555,616''' | percentage1 = '''45.43%''' | swing1 = {{increase}} 1.95 [[percentage point|pp]] <!-- United Democratic Front -->| image2 = {{CSS image crop|Image=Ramesh-chennithala-3453.jpg|bSize=110|cWidth=100|cHeight=120|oLeft=5|oTop=0}} | leader2 = [[രമേശ് ചെന്നിത്തല]] | party2 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | alliance2 = ഐക്യ ജനാധിപത്യ മുന്നണി | leader_since2 = 2016 | leaders_seat2 = [[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] | last_election2 = 38.81%, 47 സീറ്റുകൾ | seats2 = 41 | seat_change2 = {{decrease}} 6 | popular_vote2 = 8,196,813 | percentage2 = 39.47% | swing2 = {{increase}} 0.66 [[percentage point|pp]] <!-- map -->| map_image = {{Switcher|[[File:2021 Kerala Legislative Assembly election results by constituency.svg|300px]]|Results by constituency (shaded)|[[File:2021 Kerala election result.svg|300px]]|Results by constituency (winners)}} | map2_image = [[File:Niyamasabha 2021.svg|300px]] | map2_caption = Composition of the [[Kerala Legislative Assembly]] after the election <!-- bottom -->| title = [[List of chief ministers of Kerala|Chief Minister]] | before_election = [[പിണറായി വിജയൻ]] | before_party = Communist Party of India (Marxist) | after_election = [[പിണറായി വിജയൻ]] | after_party = Communist Party of India (Marxist) }} [[പതിനഞ്ചാം കേരളനിയമസഭ|പതിനഞ്ചാം]] [[കേരള നിയമസഭ|കേരള നിയമസഭയിലേക്കുള്ള]] 140 സാമാജികരെ തിരഞ്ഞെടുക്കുന്നതിനായുള്ള നിയമസഭാ തെരഞ്ഞെടുപ്പ് 2021 ഏപ്രിൽ 6ന് നടന്നു. മേയ് 2ന് വോട്ടെണ്ണലും ഫല പ്രഖ്യാപനവും നടന്നു.<ref>https://indianexpress.com/article/opinion/columns/bjp-cms-assembly-elections-narendra-modi-amit-shah-6189263/</ref><ref>{{cite news|url=https://www.thehindu.com/elections/assembly-election-dates-announcement-live-updates/article33941087.ece|title=Kerala, TN, Puducherry to go to polls on April 6; 3 phase polling for Assam, 8-phase elections for Bengal|newspaper=The Hindu|date=26 February 2021|access-date=28 February 2021}}</ref> തെരഞ്ഞെടുപ്പിൽ നിലവിൽ ഭരണത്തിലുള്ള [[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി]] (എൽഡിഎഫ്) മുൻ തിരഞ്ഞെടുപ്പിനേക്കാൾ 8 സീറ്റുകൾ കൂടുതൽ കരസ്ഥമാക്കി 99 സീറ്റുകളുമായി അധികാരം നിലനിർത്തി. 1982 ലെ തിരഞ്ഞെടുപ്പിന് ശേഷം ഒരു സഖ്യം സംസ്ഥാനത്ത് തുടർച്ചയായി വിജയിക്കുന്നത് ഇതാദ്യമാണ്. 2016 നെ അപേക്ഷിച്ച് 6 കുറവോടെ ബാക്കിയുള്ള 41 സീറ്റുകൾ [[ഐക്യ ജനാധിപത്യ മുന്നണി]] (യുഡിഎഫ്) നേടി. [[ദേശീയ ജനാധിപത്യ സഖ്യം|ദേശീയ ജനാധിപത്യ സഖ്യത്തിന്]] (എൻ‌ഡി‌എ) നിയമസഭയിൽ നിലവിലുണ്ടായിരുന്ന ഏക സീറ്റും നഷ്ടപ്പെട്ടു.<ref>{{Cite web|url=https://www.mathrubhumi.com/result/kerala-assembly-election-2021/|title=Kerala Assembly Election Results 2021|access-date=2021-05-02|website=Mathrubhumi|language=en|archive-date=2021-05-02|archive-url=https://web.archive.org/web/20210502134449/https://www.mathrubhumi.com/result/kerala-assembly-election-2021/|url-status=dead}}</ref> ==പശ്ചാത്തലം== സംസ്ഥാനത്തെ [[പതിനാലാം കേരളനിയമസഭ|പതിനാലാം നിയമസഭയിലെ]] അംഗങ്ങളുടെ കാലാവധി 2021 ജൂൺ 1ന് അവസാനിക്കും<ref name="el1">{{cite web|url=https://eci.gov.in/elections/term-of-houses/|title=Term of houses in Indian legislatures |accessdate=23 September 2020}}</ref>. [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2016)|2016-ൽ നടന്ന കഴിഞ്ഞ തിരഞ്ഞെടുപ്പിൽ]], [[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി]] (എൽഡിഎഫ്) നിയമസഭയിലേക്കുള്ള മൊത്തം സീറ്റുകളുടെ മൂന്നിൽ രണ്ട് ഭാഗവും നേടി, [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിന്റെ]] (ഐ‌എൻ‌സി) നേതൃത്വത്തിലുള്ള നിലവിലുള്ള [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണിയെ]] (യുഡിഎഫ്) പരാജയപ്പെടുത്തി. യുഡിഎഫ് 47 സീറ്റുകളും, [[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] ഒരു സീറ്റും, ബാക്കി സീറ്റ് ഒരു സ്വതന്ത്രനും നേടി. സ്വതന്ത്രനായി വിജയിച്ച [[പി.സി. ജോർജ്|പി.സി. ജോർജ്ജ്]] പിന്നീട് [[കേരള ജനപക്ഷം (സെക്കുലർ)]] എന്ന പാർട്ടി രൂപീകരിച്ചു<ref>{{cite news|url=https://www.hindustantimes.com/assembly-elections/live-assembly-poll-results-counting-of-votes-in-tamil-nadu-kerala-assam-west-bengal-puducherry/story-nmYc0zJVdyQ25jUFRZsGrN.html|title=As it happened: TMC, AIADMK retain power; BJP takes Assam, Left Kerala|date=19 May 2016|newspaper=Hindustan Times|accessdate=11 August 2019}}</ref>. [[കേരള കോൺഗ്രസ് (എം)|കേരള കോൺഗ്രസ്(എം)-ൽ]] വളർന്നുവന്ന ജോസ് വിഭാഗത്തെ 2020-ൽ ആഭ്യന്തര ഗ്രൂപ്പിസത്തിന്റെ ഭാഗമായി യുഡിഎഫിൽ നിന്ന് സസ്പെൻഡ് ചെയ്യുകയും ജോസ് പക്ഷം പിന്നീട് എൽഡിഎഫിൽ ചേരുകയും ചെയ്തു<ref>{{Cite news|title=UDF suspends Jose Mani faction of Kerala Congress (M), leaves door open for LDF to make a move|url=https://theprint.in/politics/udf-suspends-jose-mani-faction-of-kerala-congress-m-leaves-door-open-for-return-to-ldf/451855/|last=Vinod Mathew|date=30 June 2020|access-date=22 September 2020|work=The print}}</ref><ref>{{Cite news|title=Led by Jose K Mani, Kerala Congress (M) faction switches to LDF|url=https://indianexpress.com/article/india/kerala/kerala-congress-m-to-join-ldf-jose-k-mani-to-quit-rajya-sabha-6724564/|last=Philip|first=Shaju|date=15 October 2020|access-date=15 October 2020|work=The Indian Express}}</ref>. 2016ന് ശേഷം ഉണ്ടായ മറ്റൊരു പ്രധാന മാറ്റം [[ലോക് താന്ത്രിക് ജനതാദൾ|ലോക് ‌താന്ത്രിക് ജനതാദളും]] [[ഇന്ത്യൻ നാഷണൽ ലീഗ്|ഇന്ത്യൻ നാഷണൽ ലീഗും]] എൽഡിഎഫിലേക്ക് പ്രവേശിച്ചതാണ്<ref>{{Cite news|title=Kerala: Four new parties find berths in LDF|url=https://timesofindia.indiatimes.com/city/thiruvananthapuram/four-new-parties-find-berths-in-ldf/articleshow/67263056.cms|last=TNN|date=27 December 2018|access-date=22 September 2020|work=Times of India}}</ref>. [[പാലാ നിയമസഭാമണ്ഡലം|പാലാ നിയോജകമണ്ഡലത്തിലെ]] സിറ്റിംഗ് എം‌എൽ‌എ ആയിരുന്ന [[മാണി സി. കാപ്പൻ]] പാലാ സീറ്റ് [[കേരള കോൺഗ്രസ് (എം)|കേരളാകോൺഗ്രസ്(എം)നു]] നൽകുന്നതിനേത്തുടർന്നുണ്ടായ അഭിപ്രായ വ്യത്യാസത്തെ തുടർന്ന് യു‌ഡി‌എഫിലേക്ക് മാറി. ഇതേത്തുടർന്ന് [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻ‌സി‌പി]] അദ്ദേഹത്തെ പാർട്ടിയിൽ നിന്ന് പുറത്താക്കുകയും [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് കേരളം]] (എൻ‌സി‌കെ) എന്ന പേരിൽ ഒരു പുതിയ രാഷ്ട്രീയ പാർട്ടി മാണി സി. കാപ്പൻ രൂപീകരിക്കുകയും ചെയ്തു. 2021 മാർച്ച് 17 ന് [[പി.സി. തോമസ്]] തന്റെ പാർട്ടിയായ [[കേരള കോൺഗ്രസ്]], [[കേരള കോൺഗ്രസ് (ജോസഫ്)|ജോസഫ്]] വിഭാഗവുമായി ലയിച്ച് ഒരു പുതിയ പാർട്ടി രൂപീകരിക്കുന്നതായി പ്രഖ്യാപിച്ചു. പി. സി. തോമസിന്റെ പാർട്ടിക്ക് നിലവിൽ അതിന്റെ പേരിനൊപ്പം ഒരു ബ്രാക്കറ്റും ഇല്ലാത്തതിനാൽ, പുതിയ പാർട്ടിക്ക് കേരള കോൺഗ്രസ്<ref name="auto1"/> എന്ന് പേരു സ്വീകരിച്ചു. [[പി.ജെ. ജോസഫ്]] ചെയർമാനും, [[പി.സി. തോമസ്]] വൈസ് ചെയർമാനുമായി.<ref name="auto1">{{Cite web|title=P C Thomas to quit NDA; to merge with P J Joseph|url=https://english.mathrubhumi.com/news/kerala/p-c-thomas-to-quit-nda-to-merge-with-p-j-joseph-1.5522785|access-date=2021-03-17|website=Mathrubhumi|language=en}}</ref> ==സമയക്രമം== {|border="2" cellpadding="6" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%;" |- bgcolor="#CCCCCC" align="center" ! scope="col" | തിരഞ്ഞെടുപ്പ് വിഷയം ! scope="col" | തീയതി ! scope="col" | ദിവസം |---- | ഗസറ്റ് വിജ്ഞാപനം || 12/03/2021 || വെള്ളി |- | പത്രികാ സമർപ്പണം അവസാന ദിനം || 19/03/2021 || വെള്ളി |- | പത്രികകളുടെ സൂക്ഷ്മപരിശോധന || 20/03/2021 || ശനി |- | പത്രിക പിൻവലിക്കാനുള്ള അവസാന തീയതി || 22/03/2021 || തിങ്കൾ |- | വോട്ടെടുപ്പ് ദിനം || 06/04/2021 || ചൊവ്വ |- | വോട്ടെണ്ണൽ ദിനം || 02/05/2021 || ഞായർ |} ==പാർട്ടികളും സഖ്യങ്ങളും== [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിന്റെ]] നേതൃത്വത്തിലുള്ള മധ്യ-ഇടതുപക്ഷ രാഷ്ട്രീയ പാർട്ടികളുടെ സഖ്യമാണ് [[ഐക്യ ജനാധിപത്യ മുന്നണി]] (യുഡിഎഫ്). [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] നയിക്കുന്ന ഇടതുപക്ഷ രാഷ്ട്രീയ പാർട്ടികളുടെ സഖ്യമാണ് ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി (എൽഡിഎഫ്). [[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപിയുടെ]] നേതൃത്വത്തിലുള്ള വലതുപക്ഷ പാർട്ടികളുടെ സഖ്യമാണ് [[ദേശീയ ജനാധിപത്യ സഖ്യം]] (എൻ‌ഡി‌എ). === {{legend2|{{Left Democratic Front (Kerala)/meta/color}}|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി]]|border=solid 1px #AAAAAA}} === നിലവിൽ അധികാരത്തിലുളള ഇവർ സംസ്ഥാനത്തെ ഇടതുപക്ഷ രാഷ്ട്രീയ പാർട്ടികളുടെ സഖ്യമാണിത്. [[കേരളം|കേരളത്തിലെ]] രണ്ട് പ്രധാന രാഷ്ട്രീയ സഖ്യങ്ങളിൽ ഒന്നാണിത്, മറ്റൊന്ന് യുഡിഎഫ്. എൽഡിഎഫ് സഖ്യത്തിൽ [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ (എം)]], [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]], മറ്റ് പല ചെറിയ പ്രാദേശിക പാർട്ടികളും ഉൾപ്പെടുന്നു. {| style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid;" width="40%" cellspacing="0" cellpadding="6" border="2" |- ! style="background-color:#666666; color:white" | ക്രമം ! style="background-color:#666666; color:white" |പാർട്ടി !! style="background-color:#666666; color:white" |കൊടി ! style="background-color:#666666; color:white" |ചിഹ്നം!! style="background-color:#666666; color:white" |ചിത്രം!! style="background-color:#666666; color:white" |നേതാവ് ! style="background-color:#666666; color:white" |മത്സരിയ്ക്കുന്ന സീറ്റുകൾ ! style="background-color:#666666; color:white" |പുരുഷൻ ! style="background-color:#666666; color:white" |സ്ത്രീ |- | style="text-align:center; background:{{Communist Party of India (Marxist)/meta/color}};color:white" ! |'''1.''' | [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] | [[File:South Asian Communist Banner.svg|50x50px]] | [[File:CPI(M) election symbol - Hammer Sickle and Star.svg|50x50px]] | [[പ്രമാണം:A.vijayaraghavan4.jpg|പകരം=|നടുവിൽ|ചട്ടരഹിതം|49x49ബിന്ദു]]||[[എ. വിജയരാഘവൻ]] |77 |65 |12 |- | style="text-align:center; background:{{Communist Party of India/meta/color}};color:white" ! |'''2.''' | [[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]] | [[File:South Asian Communist Banner.svg|50x50px]] | [[File:CPI symbol.svg|50x50px]] |[[File:KANAM_RAJENDRAN_DSC_0121.A.JPG|alt=|center|frameless|50x50px]] | [[കാനം രാജേന്ദ്രൻ]] |24 |22 |2 |- | style="text-align:center; background:{{Kerala Congress (Mani)/meta/color}};color:white" ! |'''3.''' | [[കേരള കോൺഗ്രസ് (എം)]] | [[File:Kerala-Congress-flag.svg|50x50px]] | [[File:Indian election symbol two leaves.svg|50x50px]] | [[പ്രമാണം:Jose K. Mani, MP.jpg|നടുവിൽ|55x55ബിന്ദു]] | [[ജോസ് കെ. മാണി]] |12 |11 |1 |- | style="text-align:center; background:{{Janata Dal (Secular)/meta/color}};color:white" ! |'''4.''' | [[ജനതാദൾ (സെക്കുലർ)]] | | [[File:Indian election symbol female farmer.svg|Janata Dal Election Symbol|50x50px]] | [[File:Mathew-T-Thomas.jpg|center|50x50px]] |[[മാത്യു ടി. തോമസ്]] |4 |4 |0 |- | style="text-align:center; background:{{Loktantrik Janata Dal/meta/color}};color:white" |'''5.''' | [[ലോക് താന്ത്രിക് ജനതാദൾ]] |[[File:Loktantrik Janata Dal Flag.png|50px]] | | | [[എം.വി. ശ്രേയാംസ് കുമാർ]] |3 |3 |0 |- | style="text-align:center; background:{{Nationalist Congress Party/meta/color}};color:white" ! |'''6.''' | [[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി]] | [[File:NCP-flag.svg|50x50px]] | [[File:Nationalist Congress Party Election Symbol.png|50x50px]] | | [[ടി.പി. പീതാംബരൻ]] |3 |3 |0 |- | style="text-align:center; background:{{Indian National League/meta/color}};color:white" ! |'''7.''' | [[ഇന്ത്യൻ നാഷണൽ ലീഗ്]] | [[File:INL FLAG.png|50x50px]] | | | എ.പി. അബ്ദുൾ വഹാബ് |3 |3 |0 |- | style="text-align:center; background:{{Congress (Secular)/meta/color}};color:white" ! |'''8.''' | [[കോൺഗ്രസ് (എസ്)]] |[[File:Congress (Secular) Flag.png|50px]] | |[[File:Kadannappally_Ramachandran.jpg|alt=|center|frameless|50x50px]] | [[രാമചന്ദ്രൻ കടന്നപ്പള്ളി]] |1 |1 |0 |- | style="text-align:center; background:{{Kerala Congress (B)/meta/color}};color:white" ! |'''9.''' | [[കേരള കോൺഗ്രസ് (ബി)]] | [[File:Kerala-Congress-flag.svg|50x50px|border]] | |[[File:R_Balakrishna_Pillai.jpg|alt=|center|50x50px]] | [[ആർ. ബാലകൃഷ്ണപിള്ള]] |1 |1 |0 |- | style="text-align:center; background:{{Revolutionary Socialist Party (Leninist)/meta/color}};color:white" ! |'''10.''' |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ലെനിനിസ്റ്റ്)]] |[[File:RSP-flag.svg|50x50px]] |[[പ്രമാണം:Indian_Election_Symbol_Battery-Torch.png|40x40ബിന്ദു|ഇടത്ത്‌]] |[[File:Kovoor Kunjumon.jpg|alt=|center|frameless|46x46px]] |[[കോവൂർ കുഞ്ഞുമോൻ]] |1 |1 |0 |- | style="text-align:center; background:{{Janadhipathya Kerala Congress/meta/color}};color:white" ! |'''11.''' | [[ജനാധിപത്യ കേരള കോൺഗ്രസ്]] | [[File:Kerala-Congress-flag.svg|50x50px|border]] | |[[File:Dr_K_C_Joseph.jpg|alt=|center|50x50px]] | [[കെ.സി.ജോസഫ് (കുട്ടനാട്)|കെ.സി.ജോസഫ്]] |1 |1 |0 |- | '''12.''' |സ്വതന്ത്രൻ | | | | |11 |11 |0 |- | | colspan="5" |'''ആകെ''' |140 |125 |15 |- |} === {{legend2|{{United Democratic Front (Kerala)/meta/color}}|[[ഐക്യ ജനാധിപത്യ മുന്നണി]]|border=solid 1px #AAAAAA}} === 1970 കളിൽ പ്രമുഖ കോൺഗ്രസ് പാർട്ടി നേതാവ് [[കെ. കരുണാകരൻ]] സ്ഥാപിച്ച സംസ്ഥാനത്തെ മധ്യ-ഇടതുപക്ഷ രാഷ്ട്രീയ പാർട്ടികളുടെ സഖ്യമാണിത്. {| style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid;" width="40%" cellspacing="0" cellpadding="6" border="2" |- ! style="background-color:#666666; color:white" | ക്രമം ! style="background-color:#666666; color:white" |പാർട്ടി !! style="background-color:#666666; color:white" |കൊടി !style="background-color:#666666; color:white" |ചിഹ്നം!! style="background-color:#666666; color:white" |ചിത്രം!! style="background-color:#666666; color:white" |നേതാവ് !style="background-color:#666666; color:white" |മത്സരിയ്ക്കുന്ന സീറ്റുകൾ !style="background-color:#666666; color:white" |പുരുഷൻ !style="background-color:#666666; color:white" |സ്ത്രീ |- | style="text-align:center; background:{{Indian National Congress/meta/color}};color:white"|'''1.''' | [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] | [[File:Indian National Congress Flag.svg|50x50px]] | [[File:Hand INC.svg|50x50px|alt=|center|frameless]] |[[File:Shri_Mullappally_Ramachandran_taking_over_the_charge_of_the_Minister_of_State_for_Home_Affairs,_in_New_Delhi_on_May_30,_2009.jpg|alt=|center|frameless|50x50px]] | [[മുല്ലപ്പള്ളി രാമചന്ദ്രൻ]] |93 |83 |10 |- | style="text-align:center; background:{{Indian Union Muslim League/meta/color}};color:white" ! |'''2.''' |[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[File:Flag of the Indian Union Muslim League.svg|50x50px]] |[[പ്രമാണം:Indian_Election_Symbol_Lader.svg|നടുവിൽ|50x50ബിന്ദു]] |[[File:Sayed_Hyderali_Shihab_Thangal_BNC.jpg|alt=|center|frameless|50x50px]] |[[ഹൈദരലി ശിഹാബ് തങ്ങൾ]] |25 |24 |1 |- | style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|'''3.''' |[[കേരള കോൺഗ്രസ് ]] |[[File:Kerala-Congress-flag.svg|50x50px]] | |[[File:P.J Joseph.jpg|alt=|center|frameless|50x50px]] |[[പി.ജെ. ജോസഫ്]] |10 |10 |0 |- | style="text-align:center; background:{{Revolutionary Socialist Party (India)/meta/color}};color:white" ! |'''4.''' |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി]] |[[File:RSP-flag.svg|50x50px]] |[[പ്രമാണം:Indian_Election_Symbol_Spade_and_Stoker.png|നടുവിൽ|50x50ബിന്ദു]] |[[File:A_A_Azeez.JPG|alt=|center|frameless|50x50px]] |[[എ.എ. അസീസ്]] |5 |5 |0 |- | style="text-align:center; background:#008080;color:white" ! |'''5.''' |[[മാണി സി. കാപ്പൻ|നാഷണലിസ്റ്റ് കോൺഗ്രസ് കേരള]]<ref>https://english.mathrubhumi.com/mobile/news/kerala/mani-c-kappan-announces-new-party-nck--1.5461082{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ജൂലൈ 2025 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |[[പ്രമാണം:NCP-flag.svg|ഇടത്ത്‌|45x45ബിന്ദു]] | |[[പ്രമാണം:Mani_C.Kappan.JPG|നടുവിൽ|67x67ബിന്ദു]] |[[മാണി സി. കാപ്പൻ]] |2 |2 |0 |- | style="text-align:center; background:{{Kerala Congress (Jacob)/meta/color}};color:white" ! |'''6.''' |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)]] |[[File:Kerala-Congress-flag.svg|50x50px]] |[[പ്രമാണം:Indian_Election_Symbol_Battery-Torch.png|നടുവിൽ|40x40ബിന്ദു]] |[[File:Anoop jacob.JPG|alt=|center|frameless|50x50px]] |[[അനൂപ് ജേക്കബ്]] |1 |1 |0 |- | style="text-align:center; background:{{Communist Marxist Party (John)/meta/color}};color:white" ! |'''7.''' |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി ]] |[[File:CMP-banner.svg|50x50px]] | | |[[സി.പി. ജോൺ]] |1 |1 |0 |- |! style="text-align:center; background:{{Revolutionary Marxist Party of India/meta/color}};color:white"|'''8.''' | [[റവല്യൂഷണറി മാർക്സിസ്റ്റ് പാർട്ടി]] ||[[File:RMPI flag.jpg|50x50px]] | | | എൻ. വേണു |1 |0 |1 |- | '''9.''' |സ്വതന്ത്രൻ | | | | |2 |2 | |- | | colspan="5" |'''ആകെ''' |140 |128 |12 |- |} === {{legend2|{{National Democratic Alliance/meta/color}}|[[ദേശീയ ജനാധിപത്യ സഖ്യം]]|border=solid 1px #AAAAAA}} === [[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] നേതൃത്തം നൽകുന്ന സംസ്ഥാനത്തെ വലതുപക്ഷ രാഷ്ട്രീയ പാർട്ടികളുടെ കൂട്ടായ്മയായാണ് എൻ‌ഡി‌എ, ഇതിന്റെ കേരള ഘടകം 2016ലാണ് രൂപീകരിച്ചത്<ref>{{Cite news|title=NDA constitutes its unit in Kerala|url=https://www.thehindu.com/news/national/NDA-constitutes-its-unit-in-Kerala/article15000965.ece|last=Special Currespondent|date=27 September 2016|access-date=22 September 2020|work=The Hindu}}</ref>. {| style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid;" width="40%" cellspacing="0" cellpadding="6" border="2" |- ! style="background-color:#666666; color:white" | ക്രമം ! style="background-color:#666666; color:white" |പാർട്ടി !! style="background-color:#666666; color:white" |കൊടി !style="background-color:#666666; color:white" |ചിഹ്നം!! style="background-color:#666666; color:white" |ചിത്രം!! style="background-color:#666666; color:white" |നേതാവ് !style="background-color:#666666; color:white" |മത്സരിയ്ക്കുന്ന സീറ്റുകൾ !style="background-color:#666666; color:white" |പുരുഷൻ !style="background-color:#666666; color:white" |സ്ത്രീ |- |! style="text-align:center; background:{{Bharatiya Janata Party/meta/color}};color:white"|'''1.''' | [[ഭാരതീയ ജനതാ പാർട്ടി]] | |[[File:Lotos flower symbol.svg|50x50px]] | | [[കെ. സുരേന്ദ്രൻ (രാഷ്ട്രീയ പ്രവർത്തകൻ)|കെ. സുരേന്ദ്രൻ]] |113 |98 |15 |- | style="text-align:center; background:{{Bharath Dharma Jana Sena/meta/color}};color:white" ! |'''2.''' | [[ഭാരത് ധർമ്മ ജന സേന]] | |[[File:Helmet BDJS.jpg|50px]] | [[File:Thushar Vellapally.png| center|50x50px]] | [[തുഷാർ വെള്ളാപ്പള്ളി]] |21 |17 |4 |- | style="text-align:center; background:{{All India Anna Dravida Munnetra Kazhagam/meta/color}};color:white" ! |'''3.''' |[[ഓൾ ഇന്ത്യ അണ്ണാ ദ്രാവിഡ മുന്നേറ്റ കഴകം|എ.ഐ.ഡി.എം.കെ.]] | | [[File:Indian election symbol two leaves.svg|50px]] | |ശോഭകുമാർ<ref>[https://www.thehindu.com/news/national/kerala/aiadmk-plans-tn-model-alliance-in-state/article33955761.ece "AIADMK plans T.N. model alliance in State"]. ''The Hindu''. 28 February 2021. Retrieved 28 February 2021.</ref> |2 |0 |2 |- | style="text-align:center; background:{{Kerala Kamaraj Congress/meta/color}};color:white" ! |'''4.''' |[[കേരള കാമരാജ് കോൺഗ്രസ്]] |[[File:Kerala Kamaraj Congress Flag.png|50px]] |[[File:Lotos flower symbol.svg|50x50px]] |[[File:Vishnupuram Chandrasekharan.jpg| center|50x50px]] |വിഷ്ണുപുരം ചന്ദ്രശേഖരൻ |1 |1 |0 |- | style="text-align:center; background:{{Bharatiya Janata Party/meta/color}};color:white" ! |'''5.''' | [[ജനാധിപത്യ രാഷ്ട്രീയ സഭ]] |[[പ്രമാണം:JRS color.jpg|ഇടത്ത്‌|48x48ബിന്ദു]] |[[File:Lotos flower symbol.svg|50x50px]] | [[പ്രമാണം:CK_janu.jpg|നടുവിൽ|54x54ബിന്ദു]] | [[സി.കെ. ജാനു]] |1 |0 |1 |- | '''6.''' |ഡേമോക്രാറ്റിക് സോഷ്യൽ ജസ്റ്റിസ് പാർട്ടി |[[പ്രമാണം:DSJP flag.jpg|50x50ബിന്ദു]] | |[[പ്രമാണം:Manjery Bhaskara Pillai.jpg|നടുവിൽ|50x50ബിന്ദു]] |മഞ്ചേരി ഭാസ്കരൻ പിള്ള |1 |1 |0 |- | | colspan="5" |'''ആകെ''' |139 |118 |21 |- |} === പ്രധാന സഖ്യങ്ങളിൽ നിന്നുള്ള മത്സരാർത്ഥികളുടെ പട്ടിക === {| class="wikitable sortable" style="line-height:20px;text-align:center;" |- !Colspan=2|നിയമസഭാമണ്ഡലം<ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/03/14/complete-list-of-ldf-udf-nda-candidates-in-kerala.html|title=കേരളത്തിന്റെ അങ്കത്തട്ടിൽ ഇവർ പോരാടും; സമ്പൂർണ സ്ഥാനാർഥിചിത്രം- ഗ്രാഫിക്സ്|access-date=2021-03-15|language=ml}}</ref> | colspan="2" bgcolor="{{Left Democratic Front (Kerala)/meta/color}}" |<span style="color:white;">'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''</span><span style="color:white;">'''<ref>{{Cite web|last=Desk|first=India com News|date=2021-03-10|title=Kerala Election 2021: CPI-M Releases List of 83 Candidates, Pinarayi Vijayan to Contest From Dharmadam {{!}} Check Full List|url=https://www.india.com/news/india/kerala-election-2021-cpi-m-candidate-list-released-83-candidates-names-announced-pinarayi-vijayan-to-contest-from-dharmadam-check-full-list-seat-details-4480964/|access-date=2021-03-12|website=India News, Breaking News {{!}} India.com|language=en}}</ref><ref>{{Cite web|title=Kerala Election 2021: Get latest updates on Kerala Assembly Election 2021 news, polling schedule and result dates|url=https://www.hindustantimes.com/|access-date=2021-03-12|website=Hindustan Times|language=en}}</ref>'''</span> | colspan="2" bgcolor="{{United Democratic Front (Kerala)/meta/color}}" |<span style="color:white;">'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''</span><ref>{{Cite web|title=Kerala election 2021: UDF constituent IUML to contest on 27 seats, announces candidates for 25 constituencies|url=https://www.timesnownews.com/india/kerala/article/kerala-election-2021-udf-constituent-iuml-to-contest-on-27-seats-announces-candidates-for-25-constituencies/731688|access-date=2021-03-13|website=www.timesnownews.com|language=en}}</ref><ref>{{Cite web|title=RSP declares first list of candidates for Kerala polls|url=https://www.daijiworld.com/news/newsDisplay?newsID=806417|access-date=2021-03-13|website=www.daijiworld.com|language=en}}</ref> | colspan="2" bgcolor= orange "{{Bharatiya Janata Party/meta/color}}" " |<span style="color:white;">'''[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]'''</span><ref>{{Cite web|last=Daily|first=Keralakaumudi|title=BDJS announces third list of candidates; candidates for Kodungallur and Kuttanad seats not announced|url=https://keralakaumudi.com/en/news/news.php?id=508982&u=bdjs-announces-third-list-of-candidates-candidates-for-kodungallur-and-kuttanad-seats-not-announced|access-date=2021-03-13|website=Keralakaumudi Daily|language=en}}</ref> |- !# !പേര് !colspan=1|പാർട്ടി !സ്ഥാനാർത്ഥി !colspan=1|പാർട്ടി !സ്ഥാനാർത്ഥി !colspan=1|പാർട്ടി !സ്ഥാനാർത്ഥി |- | colspan="8" align="center" style="background-color: grey;" |[[കാസർഗോഡ് ജില്ല|<span style="color:white;">'''കാസർഗോഡ് ജില്ല'''</span>]] |- | 1 | [[മഞ്ചേശ്വരം നിയമസഭാമണ്ഡലം|മഞ്ചേശ്വരം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |വി.വി. രമേശൻ |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[എ.കെ.എം. അഷ്റഫ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[കെ. സുരേന്ദ്രൻ (രാഷ്ട്രീയ പ്രവർത്തകൻ)|കെ. സുരേന്ദ്രൻ]] |- |2 |[[കാസർഗോഡ് നിയമസഭാമണ്ഡലം|കാസർഗോഡ്]] |bgcolor=green|[[ഇന്ത്യൻ നാഷണൽ ലീഗ്|<span style="color:white;">ഐഎൻഎൽ</span>]] |എം.എ. ലത്തീഫ് |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[എൻ.എ. നെല്ലിക്കുന്ന്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ. ശ്രീകാന്ത് |- | 3 |[[ഉദുമ നിയമസഭാമണ്ഡലം|ഉദുമ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[സി.എച്ച്. കുഞ്ഞമ്പു]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |പെരിയ ബാലകൃഷ്ണൻ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എ. വേലായുധൻ |- | 4 | [[കാഞ്ഞങ്ങാട് നിയമസഭാമണ്ഡലം|കാഞ്ഞങ്ങാട്]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ഇ. ചന്ദ്രശേഖരൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |പി.വി. സുരേഷ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം. ബൽരാജ് |- | 5 |[[തൃക്കരിപ്പൂർ നിയമസഭാമണ്ഡലം|തൃക്കരിപ്പൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം. രാജഗോപാലൻ]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |എം.പി. ജോസഫ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി.വി. ഷിബിൻ |- | colspan="8" align="center" style="background-color: grey;" |[[കണ്ണൂർ ജില്ല|<span style="color:white;">'''കണ്ണൂർ ജില്ല'''</span>]] |- | 6 |[[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം|പയ്യന്നൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ടി.ഐ. മധുസൂദനൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എം. പ്രദീപ് കുമാർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.കെ. ശ്രീധരൻ |- | 7 |[[കല്ല്യാശ്ശേരി നിയമസഭാമണ്ഡലം|കല്ല്യാശ്ശേരി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം. വിജിൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |കെ. ബ്രിജേഷ് കുമാർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |അരുൺ കൈതപ്രം |- | 8 |[[തളിപ്പറമ്പ് നിയമസഭാമണ്ഡലം|തളിപ്പറമ്പ്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം.വി. ഗോവിന്ദൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |അബ്ദുൾ റഷീദ് വി.പി. |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എ.പി. ഗംഗാധരൻ |- | 9 |[[ഇരിക്കൂർ നിയമസഭാമണ്ഡലം|ഇരിക്കൂർ]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |സജി കുറ്റ്യാനിമറ്റം |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] | [[സജീവ് ജോസഫ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ആനിയമ്മ രാജേന്ദ്രൻ |- | 10 |[[അഴീക്കോട് നിയമസഭാമണ്ഡലം|അഴീക്കോട്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.വി. സുമേഷ്]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[കെ.എം. ഷാജി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ. രഞ്ജിത്ത് |- | 11 |[[കണ്ണൂർ നിയമസഭാമണ്ഡലം|കണ്ണൂർ]] |bgcolor=pink|<span style="color:black;">[[കോൺഗ്രസ് (എസ്)]]</span> |[[രാമചന്ദ്രൻ കടന്നപ്പള്ളി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[സതീശൻ പാച്ചേനി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |അർച്ചന വണ്ടിച്ചാൽ |- | 12 |[[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പിണറായി വിജയൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |സി. രഘുനാഥ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[സി.കെ. പത്മനാഭൻ]] |- | 13 |[[തലശ്ശേരി നിയമസഭാമണ്ഡലം|തലശ്ശേരി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എ.എൻ. ഷംസീർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[എം.പി. അരവിന്ദാക്ഷൻ]] |bgcolor=orange| |സ്ഥാനാർത്ഥി പത്രിക തള്ളി |- | 14 |[[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] |bgcolor=#00FF7F|[[ലോക് താന്ത്രിക് ജനതാദൾ|എൽജെഡി]] |[[കെ.പി. മോഹനൻ]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |പൊറ്റങ്കണ്ടി അബ്ദുള്ള |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സി. സദാനന്ദൻ |- | 15 |[[മട്ടന്നൂർ നിയമസഭാമണ്ഡലം|മട്ടന്നൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.കെ. ശൈലജ]] |bgcolor=#FF4A4A|[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|<span style="color:white;">ആർഎസ്‌പി</span>]] |ഇല്ലിക്കൽ അഗസ്തി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ബിജു ഏളക്കുഴി |- | 16 |[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |കെ.വി. സക്കീർ ഹുസൈൻ |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[സണ്ണി ജോസഫ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എൻ. സ്മിത |- | colspan="8" align="center" style="background-color: grey;" |[[വയനാട് ജില്ല|<span style="color:white;">'''വയനാട് ജില്ല'''</span>]] |- | 17 |[[മാനന്തവാടി നിയമസഭാമണ്ഡലം|മാനന്തവാടി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ഒ.ആർ. കേളു]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] | [[പി.കെ. ജയലക്ഷ്മി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പള്ളിയറ മണിക്കുട്ടൻ |- | 18 |[[സുൽത്താൻ ബത്തേരി നിയമസഭാമണ്ഡലം|സുൽത്താൻ ബത്തേരി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |എം.എസ്. വിശ്വനാഥൻ |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ഐ.സി. ബാലകൃഷ്ണൻ]] |bgcolor=green|[[ജനാധിപത്യ രാഷ്ട്രീയ സഭ|<span style="color:white;">ജെആർഎസ്</span>]] | [[സി.കെ. ജാനു]] |- | 19 |[[കല്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |bgcolor=#00FF7F|[[ലോക് താന്ത്രിക് ജനതാദൾ|എൽജെഡി]] |[[എം.വി. ശ്രേയാംസ് കുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ടി. സിദ്ദിഖ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി.എം. സുബീഷ് |- | colspan="8" align="center" style="background-color: grey;" |[[കോഴിക്കോട് ജില്ല|<span style="color:white;">'''കോഴിക്കോട് ജില്ല'''</span>]] |- | 20 |[[വടകര നിയമസഭാമണ്ഡലം|വടകര]] |bgcolor=#00FF7F|[[ലോക് താന്ത്രിക് ജനതാദൾ|എൽജെഡി]] |മനയത്ത് ചന്ദ്രൻ |bgcolor=red|[[റവല്യൂഷണറി മാർക്സിസ്റ്റ് പാർട്ടി|<span style="color:white;">ആർഎംപി</span>]] |[[കെ.കെ. രമ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം. രാജേഷ് കുമാർ |- | 21 |[[കുറ്റ്യാടി നിയമസഭാമണ്ഡലം|കുറ്റ്യാടി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.പി. കുഞ്ഞമ്മദ് കുട്ടി]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[പാറക്കൽ അബ്ദുള്ള]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പി.പി. മുരളി |- | 22 |[[നാദാപുരം നിയമസഭാമണ്ഡലം|നാദാപുരം]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ഇ.കെ. വിജയൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |കെ. പ്രവീൺ കുമാർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം.പി. രാജൻ |- | 23 |[[കൊയിലാണ്ടി നിയമസഭാമണ്ഡലം|കൊയിലാണ്ടി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കാനത്തിൽ ജമീല]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എൻ. സുബ്രഹ്മണ്യൻ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എൻ.പി. രാധാകൃഷ്ണൻ |- | 24 |[[പേരാമ്പ്ര നിയമസഭാമണ്ഡലം|പേരാമ്പ്ര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ടി.പി. രാമകൃഷ്ണൻ]] |bgcolor=green|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |സി.എച്ച്. ഇബ്രാഹിം കുട്ടി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.വി. സുധീർ |- | 25 |[[ബാലുശ്ശേരി നിയമസഭാമണ്ഡലം|ബാലുശ്ശേരി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.എം. സച്ചിൻ ദേവ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ധർമ്മജൻ ബോൾഗാട്ടി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ലിബിൻ ഭാസ്കർ |- | 26 |[[എലത്തൂർ നിയമസഭാമണ്ഡലം|എലത്തൂർ]] |bgcolor=#00B2B2|[[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|<span style="color:white;">എൻസിപി</span>]] |[[എ.കെ. ശശീന്ദ്രൻ]] |bgcolor=#008080|<span style="color:white;">[[നാഷണലിസ്റ്റ് കോൺഗ്രസ് കേരള|<span style="color:white;">എൻസികെ</span>]] |സുൾഫിക്കർ മയൂരി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി.പി. ജയചന്ദ്രൻ |- | 27 | [[കോഴിക്കോട് നോർത്ത് നിയമസഭാമണ്ഡലം|കോഴിക്കോട് നോർത്ത്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[തോട്ടത്തിൽ രവീന്ദ്രൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |കെ.എം. അഭിജിത്ത് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[എം.ടി. രമേഷ്|എം.ടി. രമേശ്]] |- | 28 |[[കോഴിക്കോട് സൗത്ത് നിയമസഭാമണ്ഡലം|കോഴിക്കോട് സൗത്ത്]] |bgcolor=green|[[ഇന്ത്യൻ നാഷണൽ ലീഗ്|<span style="color:white;">ഐഎൻഎൽ</span>]] |[[അഹമ്മദ് ദേവർകോവിൽ]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |നൂർബിന റഷീദ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |നവ്യ ഹരിദാസ് |- | 29 |[[ബേപ്പൂർ നിയമസഭാമണ്ഡലം|ബേപ്പൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പി.എ. മുഹമ്മദ് റിയാസ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |പി.എം. നിയാസ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.പി. പ്രകാശ് ബാബു |- | 30 |[[കുന്ദമംഗലം നിയമസഭാമണ്ഡലം|കുന്ദമംഗലം]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |[[പി.ടി.എ. റഹീം]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |ദിനേശ് പെരുമണ്ണ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |വി.കെ. സജീവൻ |- | 31 |[[കൊടുവള്ളി നിയമസഭാമണ്ഡലം|കൊടുവള്ളി]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |[[കാരാട്ട് റസാക്ക്]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[എം.കെ. മുനീർ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി. ബാലസോമൻ |- | 32 |[[തിരുവമ്പാടി നിയമസഭാമണ്ഡലം|തിരുവമ്പാടി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ലിന്റോ ജോസഫ്]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |സി.പി. ചെറിയ മുഹമ്മദ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ബേബി അംബാട്ട് |- | colspan="8" align="center" style="background-color: grey;" |[[മലപ്പുറം ജില്ല|<span style="color:white;">'''മലപ്പുറം ജില്ല'''</span>]] |- | 33 |[[കൊണ്ടോട്ടി നിയമസഭാമണ്ഡലം|കൊണ്ടോട്ടി]] | bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |കെ.പി. സുലൈമാൻ ഹാജി |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[ടി.വി. ഇബ്രാഹിം]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ഷീബാ ഉണ്ണികൃഷ്ണൻ |- | 34 |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |bgcolor=#FF4A4A|[[Communist Party of India |<span style="color:white;">സിപിഐ</span>]] |കെ ടി അബ്ദുറഹിമാൻ |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[പി.കെ. ബഷീർ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സി. ദിനേശ് |- | 35 |[[നിലമ്പൂർ നിയമസഭാമണ്ഡലം|നിലമ്പൂർ]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |[[പി.വി. അൻവർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |വി.വി. പ്രകാശ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി.കെ. അശോക് കുമാർ |- | 36 |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |പി. മിഥുന |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[എ.പി. അനിൽകുമാർ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പി.സി. വിജയൻ |- | 37 | [[മഞ്ചേരി നിയമസഭാമണ്ഡലം|മഞ്ചേരി]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |ഡിബോണ നാസർ |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[യു.എ. ലത്തീഫ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പി.ആർ. രശ്മിനാഥ് |- | 38 |[[പെരിന്തൽമണ്ണ നിയമസഭാമണ്ഡലം|പെരിന്തൽമണ്ണ]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |[[കെ.പി.എം. മുസ്തഫ]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[നജീബ് കാന്തപുരം]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സുചിത്ര മാട്ടട |- | 39 |[[മങ്കട നിയമസഭാമണ്ഡലം|മങ്കട]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |ടി.കെ. റഷീദ് അലി |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[മഞ്ഞളാംകുഴി അലി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സജേഷ് ഏലായിൽ |- | 40 |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |പാലൊളി അബ്ദുൾ റഹ്മാൻ |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[പി. ഉബൈദുല്ല]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എ. സേതുമാധവൻ |- | 41 | [[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |പി. ജിജി |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം. പ്രേമൻ |- | 42 |[[വള്ളിക്കുന്ന് നിയമസഭാമണ്ഡലം|വള്ളിക്കുന്ന്]] |bgcolor=green|[[ഇന്ത്യൻ നാഷണൽ ലീഗ്|<span style="color:white;">ഐഎൻഎൽ</span>]] |എ.പി. അബ്ദുൽ വഹാബ് |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[അബ്ദുൽ ഹമീദ് പി.]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പീതാംബരൻ പാലാട്ട് |- | 43 |[[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |നിയാസ് പുളിക്കലകത്ത് |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[കെ.പി.എ. മജീദ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കള്ളിയകത്ത് സത്താർ ഹാജി |- | 44 |[[താനൂർ നിയമസഭാമണ്ഡലം|താനൂർ]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |[[വി. അബ്ദുൽറഹ്മാൻ]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |പി.കെ. ഫിറോസ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ. നാരായണൻ |- | 45 |[[തിരൂർ നിയമസഭാമണ്ഡലം|തിരൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |ഗഫൂർ പി. ലില്ലീസ് |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[കുറുക്കോളി മൊയ്തീൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം. അബ്ദുൾ സലാം |- | 46 |[[കോട്ടക്കൽ നിയമസഭാമണ്ഡലം|കോട്ടക്കൽ]] |bgcolor=#00B2B2|[[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|<span style="color:white;">എൻസിപി</span>]] |എൻ.എ. മുഹമ്മദ് കുട്ടി |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[കെ.കെ. ആബിദ് ഹുസൈൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പി.പി. ഗണേശൻ |- | 47 |[[തവനൂർ നിയമസഭാമണ്ഡലം|തവനൂർ]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |[[കെ.ടി. ജലീൽ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ഫിറോസ് കുന്നുംപറമ്പിൽ |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |രമേശ് കോട്ടായിപ്പുറത്ത് |- | 48 |[[പൊന്നാനി നിയമസഭാമണ്ഡലം|പൊന്നാന്നി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പി. നന്ദകുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എ.എം. രോഹിത് |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |സുബ്രഹ്മണ്യൻ ചുങ്കപ്പള്ളി |- | colspan="8" align="center" style="background-color: grey;" |[[പാലക്കാട് ജില്ല|<span style="color:white;">'''പാലക്കാട് ജില്ല'''</span>]] |- | 49 |[[തൃത്താല നിയമസഭാമണ്ഡലം|തൃത്താല]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം.ബി. രാജേഷ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[വി.ടി. ബൽറാം]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ശങ്കു ടി. ദാസ് |- | 50 | [[പട്ടാമ്പി നിയമസഭാമണ്ഡലം|പട്ടാമ്പി]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[മുഹമ്മദ്‌ മുഹ്സിൻ പി.]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |റിയാസ് മുക്കോളി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.എം. ഹരിദാസ് |- | 51 | [[ഷൊർണ്ണൂർ നിയമസഭാമണ്ഡലം|ഷൊർണ്ണൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പി. മമ്മിക്കുട്ടി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ടി.എച്ച്. ഫിറോസ് ബാബു |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ജി. സന്ദീപ് വാര്യർ |- | 52 |[[ഒറ്റപ്പാലം നിയമസഭാമണ്ഡലം|ഒറ്റപ്പാലം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ. പ്രേംകുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |പി. സരിൻ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പി. വേണുഗോപാൽ |- | 53 | [[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കോങ്ങാട്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ. ശാന്തകുമാരി]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[യു.സി. രാമൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം. സുരേഷ് ബാബു |- | 54 |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |കെ.പി. സുരേഷ് രാജ് |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[എൻ. ഷംസുദ്ദീൻ]] |bgcolor=orange|[[ഓൾ ഇന്ത്യ അണ്ണാ ദ്രാവിഡ മുന്നേറ്റ കഴകം|<span style="color:white;">എഐഡിഎംകെ </span>]] |പി. നസീമ |- | 55 |[[മലമ്പുഴ നിയമസഭാമണ്ഡലം|മലമ്പുഴ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എ. പ്രഭാകരൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എസ്.കെ. അനന്തകൃഷ്ണൻ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സി. കൃഷ്ണകുമാർ |- | 56 | [[പാലക്കാട് നിയമസഭാമണ്ഡലം|പാലക്കാട്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |സി.പി. പ്രമോദ് |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ഷാഫി പറമ്പിൽ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[ഇ. ശ്രീധരൻ]] |- | 57 |[[തരൂർ നിയമസഭാമണ്ഡലം|തരൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പി.പി. സുമോദ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |കെ.എ. ഷീബ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.പി. ജയപ്രകാശ് |- | 58 |[[ചിറ്റൂർ നിയമസഭാമണ്ഡലം|ചിറ്റൂർ]] |bgcolor=#138808|<span style="color:white;">[[ജനതാദൾ (സെക്കുലർ)|<span style="color:white;">ജെഡി(എസ്)</span>]] |[[കെ. കൃഷ്ണൻകുട്ടി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |സുമേഷ് അച്യുതൻ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |വി. നടേശൻ |- | 59 | [[നെന്മാറ നിയമസഭാമണ്ഡലം|നെന്മാറ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ. ബാബു (സി.പി.ഐ.എം.)|കെ. ബാബു]] |bgcolor=#EE0000|[[Communist Marxist Party (John)|<span style="color:white;">CMP(J)</span>]] |സി.എൻ. വിജയകൃഷ്ണൻ |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |എ.എൻ. അനുരാഗ് |- | 60 |[[ആലത്തൂർ നിയമസഭാമണ്ഡലം|ആലത്തൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.ഡി. പ്രസേനൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |പാളയം പ്രദീപ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പ്രശാന്ത് ശിവൻ |- | colspan="8" align="center" style="background-color: grey;" |[[തൃശ്ശൂർ ജില്ല|<span style="color:white;">'''തൃശ്ശൂർ ജില്ല'''</span>]] |- | 61 |[[ചേലക്കര നിയമസഭാമണ്ഡലം|ചേലക്കര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |സി.സി. ശ്രീകുമാർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ഷാജുമോൻ വട്ടേക്കാട് |- | 62 |[[കുന്നംകുളം നിയമസഭാമണ്ഡലം|കുന്ദംകുളം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എ.സി. മൊയ്തീൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |കെ. ജയശങ്കർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.കെ. അനീഷ്കുമാർ |- | 63 |[[ഗുരുവായൂർ നിയമസഭാമണ്ഡലം|ഗുരുവായൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എൻ.കെ. അക്ബർ]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[കെ.എൻ.എ. ഖാദർ]] |bgcolor=orange| |ദിലീപ് നായർ* |- | 64 | [[മണലൂർ നിയമസഭാമണ്ഡലം|മണലൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[മുരളി പെരുന്നെല്ലി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |വിജയ് ഹരി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എ.എൻ. രാധാകൃഷ്ണൻ |- | 65 |[[വടക്കാഞ്ചേരി നിയമസഭാമണ്ഡലം|വടക്കാഞ്ചേരി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[സേവ്യർ ചിറ്റിലപ്പള്ളി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[അനിൽ അക്കര]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി.എസ്. ഉല്ലാസ് ബാബു |- | 66 |[[ഒല്ലൂർ നിയമസഭാമണ്ഡലം|ഒല്ലൂർ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[കെ. രാജൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ജോസ് വള്ളൂർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ബി. ഗോപാലകൃഷ്ണൻ |- | 67 |[[തൃശ്ശൂർ നിയമസഭാമണ്ഡലം|തൃശ്ശൂർ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[പി. ബാലചന്ദ്രൻ (പൊതുപ്രവർത്തകൻ)|പി. ബാലചന്ദ്രൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[പത്മജ വേണുഗോപാൽ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[സുരേഷ് ഗോപി]] |- | 68 |[[നാട്ടിക നിയമസഭാമണ്ഡലം|നാട്ടിക]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[സി.സി. മുകുന്ദൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |സുനിൽ ലാലൂർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ലോജനൻ അമ്പാട്ട് |- | 69 | [[കയ്പമംഗലം നിയമസഭാമണ്ഡലം|കയ്പമംഗലം]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ഇ.ടി. ടൈസൺ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ശോഭ സുബിൻ |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] | സി.ഡി. ശ്രീലാൽ |- | 70 |[[ഇരിങ്ങാലക്കുട നിയമസഭാമണ്ഡലം|ഇരിങ്ങാലക്കുട]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ആർ. ബിന്ദു]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |[[തോമസ് ഉണ്ണിയാടൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[ജേക്കബ് തോമസ്]] |- | 71 | [[പുതുക്കാട് നിയമസഭാമണ്ഡലം|പുതുക്കാട്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.കെ. രാമചന്ദ്രൻ (സിപിഐഎം)|കെ.കെ. രാമചന്ദ്രൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |സുനിൽ അന്തിക്കാട് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എ. നാഗേഷ് |- | 72 | [[ചാലക്കുടി നിയമസഭാമണ്ഡലം|ചാലക്കുടി]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |ഡെന്നീസ് കെ. ആന്റണി |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[സനീഷ് കുമാർ ജോസഫ്]] |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |കെ.എ. ഉണ്ണികൃഷ്ണൻ |- | 73 | [[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[വി.ആർ. സുനിൽ കുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എം.പി. ജാക്സൺ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സന്തോഷ് ചെറാക്കുളം |- | colspan="8" align="center" style="background-color: grey;" |[[എറണാകുളം ജില്ല|<span style="color:white;">'''എറണാകുളം ജില്ല'''</span>]] |- | 74 |[[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |ബാബു ജോസഫ് പെരുമ്പാവൂർ |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[എൽദോസ് പി. കുന്നപ്പിള്ളി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി.പി. സിന്ധുമോൾ |- | 75 |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |bgcolor=#138808|<span style="color:white;">[[ജനതാദൾ (സെക്കുലർ)|<span style="color:white;">ജെഡി(എസ്)</span>]] |[[ജോസ് തെറ്റയിൽ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[റോജി എം. ജോൺ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.വി. സാബു |- | 76 |[[ആലുവ നിയമസഭാമണ്ഡലം|ആലുവ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |ഷെൽന നിഷാദ് |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[അൻവർ സാദത്ത് (നിയമസഭാംഗം)|അൻവർ സാദത്ത്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം.എൻ. ഗോപി |- | 77 |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പി. രാജീവ്]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |വി.ഇ. അബ്ദുൾ ഗഫൂർ |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |പി.എസ്. ജയരാജൻ |- | 78 |[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |എം.ടി. നിക്സൺ |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[വി.ഡി. സതീശൻ]] |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |എ.ബി. ജയപ്രകാശ് |- | 79 |[[വൈപ്പിൻ നിയമസഭാമണ്ഡലം|വൈപ്പിൻ]] |bgcolor=red|<span style="color:white;">സിപിഐ(എം)</span> |[[കെ.എൻ. ഉണ്ണികൃഷ്ണൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ദീപക് ജോയ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.എസ്. ഷൈജു |- | 80 |[[കൊച്ചി നിയമസഭാമണ്ഡലം|കൊച്ചി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.ജെ. മാക്സി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ടോണി ചമ്മിണി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സി.ജി. രാജഗോപാൽ |- | 81 | [[തൃപ്പൂണിത്തുറ നിയമസഭാമണ്ഡലം|തൃപ്പൂണിത്തുറ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം. സ്വരാജ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[കെ. ബാബു]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ.എസ്. രാധാകൃഷ്ണൻ |- | 82 |[[എറണാകുളം നിയമസഭാമണ്ഡലം|എറണാാകുളം]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |ഷാജി ജോർജ്ജ് പ്രണത |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ടി.ജെ. വിനോദ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പത്മജ എസ്. മേനോൻ |- | 83 |[[തൃക്കാക്കര നിയമസഭാമണ്ഡലം|തൃക്കാക്കര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |ജെ. ജേക്കബ് |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[പി.ടി. തോമസ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എസ്. സജി |- | 84 | [[കുന്നത്തുനാട് നിയമസഭാമണ്ഡലം|കുന്നത്തുനാട്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പി.വി. ശ്രീനിജിൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[വി.പി. സജീന്ദ്രൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |രേണു സുരേഷ് |- | 85 |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |സിന്ധുമോൾ ജേക്കബ് |! style="text-align:center; background:{{Kerala Congress (Jacob)/meta/color}};color:white"|[[Kerala Congress (Jacob)|<span style="color:white;">KC(J)</span>]] |[[അനൂപ് ജേക്കബ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം.എ. ആശിഷ് |- | 86 |[[മൂവാറ്റുപുഴ നിയമസഭാമണ്ഡലം|മൂവാറ്റുപുഴ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[എൽദോ എബ്രഹാം]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[മാത്യു കുഴൽനാടൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ജിജി ജോസഫ് |- | 87 |[[കോതമംഗലം നിയമസഭാമണ്ഡലം|കോതമംഗലം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ആന്റണി ജോൺ]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |ഷിബു തെക്കുംപുറം |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |ഷൈൻ കെ. കൃഷ്ണൻ |- | colspan="8" align="center" style="background-color: grey;" |[[ഇടുക്കി ജില്ല|<span style="color:white;">'''ഇടുക്കി ജില്ല'''</span>]] |- | 88 |[[ദേവികുളം നിയമസഭാമണ്ഡലം|ദേവികുളം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എ. രാജ (സിപിഐഎം)|എ. രാജ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ഡി. കുമാർ |bgcolor=green|[[ഓൾ ഇന്ത്യ അണ്ണാ ദ്രാവിഡ മുന്നേറ്റ കഴകം|<span style="color:white;">എഐഡിഎംകെ </span>]] |സ്ഥാനാർത്ഥി പത്രിക തള്ളി |- | 89 |[[ഉടുമ്പഞ്ചോല നിയമസഭാമണ്ഡലം|ഉടുമ്പൻചോല]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം.എം. മണി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ഇ.എം. അഗസ്തി]] |bgcolor=Orange|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |സന്തോഷ് മാധവൻ |- | 90 | [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |കെ.ഐ. ആന്റണി |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |[[പി.ജെ. ജോസഫ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ശ്യാം രാജ് പി. |- | 91 |[[ഇടുക്കി നിയമസഭാമണ്ഡലം|ഇടുക്കി]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |[[റോഷി അഗസ്റ്റിൻ]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |[[ഫ്രാൻസിസ് ജോർജ്ജ്]] |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |സംഗീത വിശ്വനാഥൻ |- | 92 |[[പീരുമേട് നിയമസഭാമണ്ഡലം|പീരുമേട്]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[വാഴൂർ സോമൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[സിറിയക് തോമസ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ശ്രീനഗരി രാജൻ |- | colspan="8" align="center" style="background-color: grey;" |[[കോട്ടയം ജില്ല|<span style="color:white;">'''കോട്ടയം ജില്ല'''</span>]] |- | 93 |[[പാലാ നിയമസഭാമണ്ഡലം|പാലാ]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |[[ജോസ് കെ. മാണി]] |bgcolor=#008080|[[Nationalist Congress Kerala|<span style="color:white;">എൻസികെ</span>]] |[[മാണി സി. കാപ്പൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പ്രമീളദേവി ജെ. |- | 94 |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |സ്റ്റീഫൻ ജോർജ്ജ് |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |[[മോൻസ് ജോസഫ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ലിജിൻ ലാൽ |- | 95 |[[വൈക്കം നിയമസഭാമണ്ഡലം|വൈക്കം]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[സി.കെ. ആശ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |പി.ആർ. സോന |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |അജിതാ സാബു |- | 96 |[[ഏറ്റുമാനൂർ നിയമസഭാമണ്ഡലം|ഏറ്റുമാനൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[വി.എൻ. വാസവൻ]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |പ്രിൻസ് ലൂക്കോസ് |bgcolor=maroon|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ടി.എൻ. ഹരികുമാർ |- | 97 |[[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |കെ. അനിൽ കുമാർ |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |മിനർവ മോഹൻ |- |98 |[[പുതുപ്പള്ളി നിയമസഭാമണ്ഡലം|പുതുപ്പള്ളി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ജെയ്ക് സി. തോമസ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ഉമ്മൻ ചാണ്ടി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എൻ. ഹരി |- | 99 | [[ചങ്ങനാശ്ശേരി നിയമസഭാമണ്ഡലം|ചങ്ങനാശ്ശേരി]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |[[ജോബ് മൈക്കിൾ]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |വി.ജെ. ലാലി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[ജി. രാമൻ നായർ]] |- | 100 |[[കാഞ്ഞിരപ്പള്ളി നിയമസഭാമണ്ഡലം|കാഞ്ഞിരപ്പള്ളി]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |[[എൻ. ജയരാജ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ജോസഫ് വാഴയ്ക്കൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[അൽഫോൻസ് കണ്ണന്താനം]] |- | 101 |[[പൂഞ്ഞാർ നിയമസഭാമണ്ഡലം|പൂഞ്ഞാർ]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |[[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ടോമി കല്ലാനി |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |എം.പി. സെൻ |- | colspan="8" align="center" style="background-color: grey;" |[[ആലപ്പുഴ ജില്ല|<span style="color:white;">'''ആലപ്പുഴ ജില്ല'''</span>]] |- | 102 |[[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ദലീമ ജോജോ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ഷാനിമോൾ ഉസ്മാൻ]] |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |അനിയപ്പൻ |- | 103 |[[ചേർത്തല നിയമസഭാമണ്ഡലം|ചേർത്തല]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[പി. പ്രസാദ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എസ്. ശരത് |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |പി.എസ്. ജ്യോതിസ് |- | 104 |[[ആലപ്പുഴ നിയമസഭാമണ്ഡലം|ആലപ്പുഴ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[പി.പി. ചിത്തരഞ്ജൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[കെ.എസ്. മനോജ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ആർ. സന്ദീപ് വാചസ്പതി |- | 105 |[[അമ്പലപ്പുഴ നിയമസഭാമണ്ഡലം|അമ്പലപ്പുഴ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എച്ച്. സലാം]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എം. ലിജു |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |അനൂപ് ആന്റണി ജോസഫ് |- | 106 |[[കുട്ടനാട് നിയമസഭാമണ്ഡലം|കുട്ടനാട്]] |bgcolor=#00B2B2|[[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|<span style="color:white;">എൻസിപി</span>]] |[[തോമസ് കെ. തോമസ്]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |ജേക്കബ് എബ്രഹാം |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |തമ്പി മേട്ടുത്തറ |- | 107 |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |ആർ. സജിലാൽ |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[രമേശ് ചെന്നിത്തല]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ. സോമൻ |- | 108 |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] | [[യു. പ്രതിഭ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ആരിതാ ബാബു |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |പ്രദീപ് ലാൽ |- | 109 |[[മാവേലിക്കര നിയമസഭാമണ്ഡലം|മാവേലിക്കര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം.എസ്. അരുൺ കുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |കെ.കെ. ഷാജു |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കെ. സഞ്ജു |- | 110 |[[ചെങ്ങന്നൂർ നിയമസഭാമണ്ഡലം|ചെങ്ങന്നൂർ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[സജി ചെറിയാൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എം. മുരളി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം.വി. ഗോപകുമാർ |- | colspan="8" align="center" style="background-color: grey;" |[[പത്തനംതിട്ട ജില്ല|<span style="color:white;">'''പത്തനംതിട്ട ജില്ല'''</span>]] |- | 111 |[[തിരുവല്ല നിയമസഭാമണ്ഡലം|തിരുവല്ല]] |bgcolor=#138808|<span style="color:white;">[[ജനതാദൾ (സെക്കുലർ)|<span style="color:white;">ജെഡി(എസ്)</span>]] |[[മാത്യു ടി. തോമസ്]] |! style="text-align:center; background:{{Kerala Congress (Joseph)/meta/color}};color:white"|[[കേരള കോൺഗ്രസ്|<span style="color:white;">കെസി</span>]] |കുഞ്ഞ്കോശി പോൾ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |അശോകൻ കുളനട |- | 112 |[[റാന്നി നിയമസഭാമണ്ഡലം|റാന്നി]] |bgcolor=#CC9900|[[കേരള കോൺഗ്രസ് (എം)|<span style="color:white;">കെസി(എം)</span>]] |[[പ്രമോദ് നാരായൺ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |റിങ്കു ചെറിയാൻ |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |പദ്മകുമാർ കെ. |- | 113 | [[ആറന്മുള നിയമസഭാമണ്ഡലം|ആറന്മുള]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[വീണാ ജോർജ്ജ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[കെ. ശിവദാസൻ നായർ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ബിജു മാത്യൂ |- | 114 |[[കോന്നി നിയമസഭാമണ്ഡലം|കോന്നി]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.യു. ജനീഷ് കുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |റോബിൻ പീറ്റർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[കെ. സുരേന്ദ്രൻ (രാഷ്ട്രീയ പ്രവർത്തകൻ)|കെ. സുരേന്ദ്രൻ]] |- | 115 |[[അടൂർ നിയമസഭാമണ്ഡലം|അടൂർ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ചിറ്റയം ഗോപകുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എം.ജി. കണ്ണൻ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പന്തളം പ്രതാപൻ |- | colspan="8" align="center" style="background-color: grey;" |[[കൊല്ലം ജില്ല|<span style="color:white;">'''കൊല്ലം ജില്ല'''</span>]] |- | 116 |[[കരുനാഗപ്പള്ളി നിയമസഭാമണ്ഡലം|കരുനാഗപ്പള്ളി]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ആർ. രാമചന്ദ്രൻ (രാഷ്ട്രീയപ്രവർത്തകൻ)|ആർ. രാമചന്ദ്രൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[സി.ആർ. മഹേഷ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ബിറ്റി സുധീർ |- | 117 |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |bgcolor=gray|[[Independent politician|<span style="color:white;">സ്വതന്ത്രൻ</span>]] |[[സുജിത്ത് വിജയൻപിള്ള]] |bgcolor=#FF4A4A|[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|<span style="color:white;">ആർഎസ്‌പി</span>]] |[[ഷിബു ബേബി ജോൺ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |വിവേക് ഗോപൻ ജി. |- | 118 |[[കുന്നത്തൂർ നിയമസഭാമണ്ഡലം|കുന്നത്തൂർ]] |bgcolor=#FF4A4A|[[Revolutionary Socialist Party (Leninist)|<span style="color:white;">ആർഎസ്പി(എൽ)</span>]] |[[കോവൂർ കുഞ്ഞുമോൻ]] |bgcolor=#FF4A4A|[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|<span style="color:white;">ആർഎസ്‌പി</span>]] |ഉല്ലാസ് കോവൂർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |രാജി പ്രസാദ് |- | 119 |[[കൊട്ടാരക്കര നിയമസഭാമണ്ഡലം|കൊട്ടാരക്കര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ.എൻ. ബാലഗോപാൽ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ആർ. രശ്മി |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |വയക്കൽ സോമൻ |- | 120 |[[പത്തനാപുരം നിയമസഭാമണ്ഡലം|പത്തനാപുരം]] |bgcolor=chocolate|[[Kerala Congress (B)|<span style="color:white;">കെസി(ബി)</span>]] |[[കെ.ബി. ഗണേഷ് കുമാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ജ്യോതികുമാർ ചാമക്കാല |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |വി.എസ്. ജിതിൻ ദേവ് |- | 121 | [[പുനലൂർ നിയമസഭാമണ്ഡലം|പുനലൂർ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[പി.എസ്. സുപാൽ]] |bgcolor=green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|<span style="color:white;">മുസ്‌ലീംലീഗ്</span>]] |[[അബ്ദുറഹ്മാൻ രണ്ടത്താണി]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ആയൂർ മുരളി |- | 122 |[[ചടയമംഗലം നിയമസഭാമണ്ഡലം|ചടയമംഗലം]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ജെ. ചിഞ്ചു റാണി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എം.എം. നസീർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |വിഷ്ണു പട്ടത്താനം |- | 123 |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ജെ. മെഴ്സിക്കുട്ടി അമ്മ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[പി.സി. വിഷ്ണുനാഥ്]] |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |വനജ വിദ്യാധരൻ |- | 124 |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[മുകേഷ് (നടൻ)|മുകേഷ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ബിന്ദു കൃഷ്ണ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |എം. സുനിൽ |- | 125 |[[ഇരവിപുരം നിയമസഭാമണ്ഡലം|ഇരവിപുരം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[എം. നൗഷാദ്]] |bgcolor=#FF4A4A|[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|<span style="color:white;">ആർഎസ്‌പി</span>]] |[[ബാബു ദിവാകരൻ]] |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |രഞ്ജിത് രവീന്ദ്രൻ |- | 126 | [[ചാത്തന്നൂർ നിയമസഭാമണ്ഡലം|ചാത്തന്നൂർ]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ജി.എസ്. ജയലാൽ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[എൻ. പീതാംബരക്കുറുപ്പ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ബി.ബി. ഗോപകുമാർ |- | colspan="8" align="center" style="background-color: grey;" |[[തിരുവനന്തപുരം ജില്ല|<span style="color:white;">'''തിരുവനന്തപുരം ജില്ല'''</span>]] |- | 127 |[[വർക്കല നിയമസഭാമണ്ഡലം|വർക്കല]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[വി. ജോയ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ബി.ആർ.എം. ഷെഫീർ |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |അജി എസ്. |- | 128 |[[ആറ്റിങ്ങൽ നിയമസഭാമണ്ഡലം|ആറ്റിങ്ങൽ]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ഒ.എസ്. അംബിക]] |bgcolor=#FF4A4A|[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|<span style="color:white;">ആർഎസ്‌പി</span>]] |എ. ശ്രീധരൻ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |പി. സുധീർ |- | 129 |[[ചിറയിൻകീഴ് നിയമസഭാമണ്ഡലം|ചിറയിൻകീഴ്]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[വി. ശശി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ബി.എസ്. അനൂപ് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ആശാനാഥ് ജി. എസ് |- | 130 |[[നെടുമങ്ങാട് നിയമസഭാമണ്ഡലം|നെടുമങ്ങാട്]] |bgcolor=#FF4A4A|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|<span style="color:white;">സിപിഐ</span>]] |[[ജി.ആർ. അനിൽ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |പി.എസ്. പ്രശാന്ത് |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |ജെ.ആർ. പത്മകുമാർ |- | 131 | [[വാമനപുരം നിയമസഭാമണ്ഡലം|വാമനപുരം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ഡി.കെ. മുരളി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |ആനാട് ജയൻ |bgcolor=maroon|[[ഭാരത് ധർമ്മ ജന സേന|<span style="color:white;">ബിഡിജെഎസ്</span>]] |തഴവ സഹദേവൻ |- | 132 |[[കഴക്കൂട്ടം നിയമസഭാമണ്ഡലം|കഴക്കൂട്ടം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കടകംപള്ളി സുരേന്ദ്രൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |എസ്.എസ്. ലാൽ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[ശോഭ സുരേന്ദ്രൻ]] |- | 133 |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[വി.കെ. പ്രശാന്ത്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |വീണ എസ് നായർ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[വി.വി. രാജേഷ്]] |- | 134 |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം]] |bgcolor=pink|[[ജനാധിപത്യ കേരള കോൺഗ്രസ്|ജെ‌കെസി]] |[[ആന്റണി രാജു]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"| |[[വി.എസ്. ശിവകുമാർ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കൃഷ്ണകുമാർ ജി. |- | 135 |[[നേമം നിയമസഭാമണ്ഡലം|നേമം]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[വി. ശിവൻകുട്ടി]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[കെ. മുരളീധരൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[കുമ്മനം രാജശേഖരൻ]] |- | 136 |[[അരുവിക്കര നിയമസഭാമണ്ഡലം|അരുവിക്കര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ജി. സ്റ്റീഫൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[കെ.എസ്. ശബരീനാഥൻ]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |സി. ശിവൻകുട്ടി |- | 137 |[[പാറശ്ശാല നിയമസഭാമണ്ഡലം|പാറശ്ശാല]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[സി.കെ. ഹരീന്ദ്രൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |അൻസജിത റസൽ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |കരമന ജയൻ |- | 138 | [[കാട്ടാക്കട നിയമസഭാമണ്ഡലം|കാട്ടാക്കട]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[ഐ.ബി. സതീഷ്]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |മലയിൻകീഴ് വേണുഗോപാൽ |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |[[പി.കെ. കൃഷ്ണദാസ്]] |- | 139 |[[കോവളം നിയമസഭാമണ്ഡലം|കോവളം]] |bgcolor=#138808|<span style="color:white;">[[ജനതാദൾ (സെക്കുലർ)|<span style="color:white;">ജെഡി(എസ്)</span>]] |[[എ. നീലലോഹിതദാസൻ നാടാർ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[എം. വിൻസെന്റ്]] |bgcolor=#000000|[[കേരള കാമരാജ് കോൺഗ്രസ്സ്|<span style="color:white;">കെ.കെ.സി.</span>]] |വിഷ്ണുപുരം ചന്ദ്രശേഖരൻ |- | 140 |[[നെയ്യാറ്റിൻകര നിയമസഭാമണ്ഡലം|നെയ്യാറ്റിൻകര]] |bgcolor=red|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|<span style="color:white;">സിപിഐ(എം)</span>]] |[[കെ. ആൻസലൻ]] |style="background-color:{{Indian National Congress/meta/color}}; color:white;"|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] |[[ആർ. സെൽവരാജ്]] |bgcolor=orange|[[ഭാരതീയ ജനതാ പാർട്ടി|<span style="color:white;">ബിജെപി</span>]] |രാജശേഖരൻ എസ്. നായർ |} <nowiki>*</nowiki> പിന്തുണ നൽകി == അഭിപ്രായ സർവേകൾ == {| class="wikitable sortable" style="text-align:center;font-size:95%;line-height:20px" |- |- |- |} {| class="wikitable" style="text-align:center;font-size:95%;line-height:20px" ! rowspan="2" width="150px" |പ്രസിദ്ധീകരിച്ച തീയതി ! rowspan="2" width="250px" |പോളിംഗ് ഏജൻസി ! style="background:{{Left Democratic Front (Kerala)/meta/color}}" | ! style="background:{{United Democratic Front (Kerala)/meta/color}}" | ! style="background:{{National Democratic Alliance (India)/meta/color}}" | ! rowspan="2" width="75px" |ലീഡ് ! rowspan="2" |അവലംബം |- ! style="width:75px;"|എൽഡിഫ് ! style="width:75px;"|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]] ! style="width:75px;"|എൻഡിഎ |- |2 ഏപ്രിൽ 2021 |ട്രൂകോപ്പി തിങ്ക് |style="background:#FF7676;"|'''85–95''' |45–55 |0–2 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|14–24 |<ref>{{Cite web|title=കേരളത്തിൽ തുടർഭരണം പ്രവചിച്ച് ട്രൂ കോപ്പി തിങ്ക് സർവേ|url=https://truecopythink.media/truecopythink-pre-poll-survey-result|access-date=2021-04-03|website=Truecopy Think|language=ml}}</ref> |- |29 മാർച്ച് 2021 |ഏഷ്യാനെറ്റ് ന്യൂസ്- സി-ഫോർ സർവേ |style="background:#FF7676;"|'''82–91''' |46–54 |3–7 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|11–20 |<ref>{{Cite web|title=82 മുതൽ 91 സീറ്റുകൾ വരെ; എൽഡിഎഫിന് വൻജയം പ്രവചിച്ച് ഏഷ്യാനെറ്റ് ന്യൂസ് - സീഫോർ സർവേ|url=https://www.asianetnews.com/analysis-election/asianet-news-c-fore-election-pre-poll-survey-predicts-victory-for-ldf-qqqooy|access-date=2021-03-29|website=Asianet News Network Pvt Ltd|language=ml}}</ref> |- |rowspan="3"|24 മാർച്ച് 2021 |മാതൃഭൂമി- സീവോട്ടർ |style="background:#FF7676;"|'''73-83''' |56-66 |0 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|2–12 |<ref>{{cite web|title=എൽ.ഡി.എഫിന് ഭരണത്തുടർച്ച, ലഭിക്കുക 73-83 സീറ്റ് ; മാതൃഭൂമി ന്യൂസ്-സീ വോട്ടർ രണ്ടാംഘട്ട സർവേ|url=https://www.mathrubhumi.com/election/2021/kerala-assembly-election/mathrubhumi-c-voter-second-phase-opinion-poll-1.5541350|access-date=2021-03-24|website=Mathrubhumi|language=ml|archive-date=2021-04-30|archive-url=https://web.archive.org/web/20210430204933/https://www.mathrubhumi.com/election/2021/kerala-assembly-election/mathrubhumi-c-voter-second-phase-opinion-poll-1.5541350|url-status=dead}}</ref> |- |മനോരമ ന്യൂസ്–വിഎംആർ |style="background:#FF7676;"|'''77–82''' |54–59 |0–3 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|6–11 |<ref>{{cite web|title=77 മുതൽ 82 വരെ സീറ്റുകളിൽ എൽഡിഎഫ്; ഭരണത്തുടർച്ച പ്രവചിച്ച് സർവേ|url=https://www.manoramanews.com/news/breaking-news/2021/03/24/manoramanews-pre-poll-survey-final-result-24.html|access-date=2021-03-24|website=Manorama News|language=ml|archive-date=2021-04-30|archive-url=https://web.archive.org/web/20210430162535/https://www.manoramanews.com/news/breaking-news/2021/03/24/manoramanews-pre-poll-survey-final-result-24.html|url-status=dead}}</ref> |- |ടൈംസ് നൗ സി-വോട്ടർ |style="background:#FF7676;"|'''77''' |62 |1 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|6 |<ref>{{cite web|title=Times Now's Kerala Opinion Poll 2021 projects win for LDF in upcoming Assembly Elections 2021|url=https://www.timesnownews.com/india/kerala/article/kerala-election-opinion-poll/736689|access-date=2021-03-24|website=Times Now}}</ref> |- |19 മാർച്ച് 2021 |മാതൃഭൂമി- സീവോട്ടർ |style="background:#FF7676;"|'''75-83 (79)''' |55–60 (57) |0–2 (1) |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|4–12 (8) |<ref>{{cite web|title=ഭരണത്തുടർച്ച പ്രവചിച്ച് മാതൃഭൂമി-സിവോട്ടർ അഭിപ്രായ സർവേ: ഇടതുപക്ഷം 75-83 സീറ്റുകൾ നേടും|url=https://www.mathrubhumi.com/mobile/election/2021/kerala-assembly-election/mathrubhumi-news-c-voter-opinion-poll-2021-1.5528351|access-date=2021-03-19|website=Mathrubhumi|language=ml}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |- |rowspan="2"|15 മാർച്ച് 2021 |എബിപി ന്യൂസ് സി-വോട്ടർ |style="background:#FF7676;" |'''77–85''' |54–62 |0–2 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|6–14 |<ref>{{cite web|title=ABP CVoter Opinion Poll 2021: Pinarayi Vijayan-Led LDF Likely To Return To Power, BJP Fails To Impress|url=https://news.abplive.com/news/india/abp-news-cvoter-opinion-poll-2021-results-kerala-opinion-poll-results-2021-congress-bjp-cpim-vote-share-seat-wise-details-1448595|access-date=2021-03-15|website=ABP Live}}</ref> |- |മീഡിയ വൺ-പിaമാർക്ക് |style="background:#FF7676;"|'''74–80''' |58–64 |0–2 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|3–9 |<ref>{{cite web|title=കേരളം ഇടതുപക്ഷത്തിനൊപ്പമെന്ന് മീഡിയവൺ പൊളിറ്റിക്യു സർവേ ഫലം|url=https://www.madhyamam.com/kerala/media-one-politique-survey-result-announced-777188|access-date=2021-03-15|website=Madhyamam|language=ml}}</ref> |- |8 മാർച്ച് 2021 |ടൈംസ് നൗ സി-വോട്ടർ |style="background:#FF7676;"|'''82''' |56 |1 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|11 |<ref>{{cite web|title=LDF to retain power in Kerala, no gains for BJP: Times Now-CVoter opinion poll|url=https://timesofindia.indiatimes.com/elections/assembly-elections/kerala/ldf-to-retain-power-in-kerala-no-gains-for-bjp-times-now-cvoter-opinion-poll/articleshow/81395663.cms|access-date=2021-03-08|website=The Times of India}}</ref> |- |28 ഫെബ്രുവരി 2021 |24 ന്യൂസ് |style="background:#FF7676;"|'''72–78''' |63–69 |1–2 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|1–7 |<ref>{{cite news|title=24 കേരള പോൾ ട്രാക്കർ സർവേ; കേരളത്തിൽ എൽഡിഎഫിന് തുടർഭരണമെന്ന് ഭൂരിപക്ഷം|url=https://www.twentyfournews.com/2021/02/28/24-kerala-poll-tracker-survey-21.html|access-date=2021-02-28|website=24 News|language=ml}}</ref> |- |27 ഫെബ്രുവരി 2021 26 ഫെബ്രുവരി 2021 |എബിപി ന്യൂസ് സി-വോട്ടർ ട്രൂ ലൈൻ ന്യൂസ് |style="background:#FF7676;"|'''83–91''' 99 - 106 |47–55 30 - 40 |0–2 1- 3 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|12–20 |<ref>{{cite news|url=https://news.abplive.com/news/abp-news-c-voter-opinion-poll-kerala-elections-2021-opinion-poll-results-kaun-banega-kerala-cm-congress-bjp-cpim-1446197|title=ABP Kerala Opinion Poll: Pinarayi Vijayan-Led LDF Likely To Sweep Kerala Elections, BJP Fails To Make Impact|publisher=ABP News|date=27 February 2021|access-date=28 February 2021}}</ref> |- |25 ഫെബ്രുവരി 2021 |ലോക് പോൾ |style="background:#FF7676;"|'''75–80''' |60–65 |0–1 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|4–9 |<ref>https://twitter.com/LokPoll/status/1364886094546837506?s=08</ref> |- |rowspan="3"|21 ഫെബ്രുവരി 2021 |സ്പിക് മീഡിയ സർവേ |style="background:#FF7676;"|'''85''' |53 |2 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|14 |<ref>{{cite tweet |author=Spick Media Network |user=Spick_Media |number=1363521364963983360 |date=21 February 2021 |title=Spick &amp; MCV Network Opinion Poll - Kerala LDF: 85 Seats (42.23%) UDF: 53 Seats (35.27) NDA: 02 Seats (17.05%) - Detailed Report Part 1: https://t.co/2YjXGWYJ9N Part 2: https://t.co/2mCAWniJq3 Part 3: https://t.co/G3wBSRZiGv PDF: https://t.co/mkdQoMR3yI #KeralaElection2021 #FOKL https://t.co/45jaEFg47t |language=en |access-date=3 March 2021}}</ref> |- |24 ന്യൂസ് |'''68–78''' |62–72 |1–2 |style="background:gray; color:white" |തൂക്ക് സഭ |<ref>{{Cite web|date=23 February 2021|title=Pre-poll surveys predict return of LDF|url=https://timesofindia.indiatimes.com/city/thiruvananthapuram/pre-poll-surveys-predict-return-of-ldf/articleshow/81158920.cms|access-date=2021-02-23|newspaper=The Times of India|language=en}}</ref> |- |ഏഷ്യാനെറ്റ് ന്യൂസ്- സി-ഫോർ സർവേ |style="background:#FF7676;"|'''72–78''' |59–65 |3–7 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white"|1–7 |<ref>{{Cite web|title=പിണറായി ചരിത്രം തിരുത്തും; ഭരണത്തുടർച്ച പ്രവചിച്ച് ഏഷ്യാനെറ്റ് ന്യൂസ് സീ ഫോർ സർവേ ഫലം|url=https://www.asianetnews.com/election-news/pinarayi-lead-ldf-to-retain-kerala-assembly-election-2021-asianetnews-c-fore-pre-poll-survey-result-qovykd|access-date=2021-02-23|website=Asianet News Network Pvt Ltd|language=ml}}</ref> |- |18 ഫെബ്രുവരി 2021 |എബിപി ന്യൂസ് സി-വോട്ടർ |style="background:#FF7676;"|'''81–89''' |41–47 |0–2 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |10–18 |<ref>{{Cite web|last=Bureau|first=ABP News|date=2021-01-18|title=ABP-CVoter Election 2021 Opinion Poll LIVE: People In Bengal Satisfied With Mamata, TMC To Regain Power|url=https://news.abplive.com/news/india/abp-news-c-voter-2021-opinion-poll-live-updates-kaun-banega-mukhyamantri-assembly-election-5-states-wb-election-opinion-poll-kerala-election-opinion-poll-puducherry-tamil-nadu-manipur-opinion-poll-results-stats-1439900|access-date=2021-01-18|website=ABP Live|language=en}}</ref> |- |6 ജനുവരി 2021 |ലോക് പോൾ |style="background:#FF7676;" |'''73–78''' |62–67 |0–1 |style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |2–7 |<ref>{{cite tweet |author=Lok Poll |user=LokPoll |number=1346781327148761089 |date=6 January 2021 |title=Our assessment for Kerala Legislative Assembly Elections 2021. We are projecting a LDF win in a close contest. #KeralaElections2021 #Kerala #Elections2021 #ElectionsWithLokPoll #LokPoll #AssemblyElections2021 #KeralaPolls2021 #OpinionPoll https://t.co/sc3Yn3IDPl |language=en |access-date=3 March 2021 |archive-url=https://web.archive.org/web/20210106113123/https://twitter.com/LokPoll/status/1346781327148761089 |archive-date=6 January 2021 |url-status=live}}</ref> |- |4 ജൂലൈ 2020 |ഏഷ്യാനെറ്റ് ന്യൂസ്- സി-ഫോർ സർവേ |style="background:#FF7676;" |'''77–83''' |54–60 |3–7 | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |6–12 |<ref>{{Cite web|title=നിയമസഭയിൽ ട്വിസ്റ്റ്: ചരിത്രത്തിലാദ്യമായി വീണ്ടും എൽഡിഎഫ് കേരളം പിടിക്കുമെന്ന് സർവേ|url=https://www.asianetnews.com/kerala-news/asianet-news-c-fore-survey-2020-who-will-get-majority-in-next-assembly-elections-qcyd22|access-date=2020-08-31|website=Asianet News Network Pvt Ltd|language=ml}}</ref> |} == എക്സിറ്റ് പോളുകൾ == ഇലക്ഷൻ കമ്മീഷന്റെ ഉത്തരവ് പ്രകാരം 2021 ഏപ്രിൽ 29 7.30ന് ([[ഔദ്യോഗിക ഇന്ത്യൻ സമയം|ഇന്ത്യൻ സമയം]]) എക്സിറ്റ് പോളുകൾ പ്രസിദ്ധീകരിച്ചു.<ref>{{Cite web|title=No Conducting Exit Polls, Publishing Results Between March 27 And April 29: ECI|url=https://www.moneycontrol.com/news/trends/current-affairs-trends/no-conducting-exit-polls-publishing-results-between-march-27-and-april-29-eci-6699771.html|access-date=2021-04-16|website=Moneycontrol}}</ref> {| class="wikitable" style="text-align:center;font-size:95%;line-height:20px" ! rowspan="2" width="150px" |പ്രസിദ്ധീകരിച്ച തീയ്യതി ! rowspan="2" width="250px" |സർവ്വേനടത്തിയ സ്ഥാപനം ! style="background:{{Left Democratic Front (Kerala)/meta/color}}" | ! style="background:{{United Democratic Front (Kerala)/meta/color}}" | ! style="background:{{National Democratic Alliance (India)/meta/color}}" | ! style="background:{{Others/meta/color}}" | ! rowspan="2" width="75px" |ലീഡ് ! rowspan="2" |അവലംബം |- ! style="width:75px;"|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]] ! style="width:75px;"|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]] ! style="width:75px;"|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]] ! style="width:75px;"|മറ്റുള്ളവർ |- |01 മേയ് 2021 |''ക്രൈം ഓൺലൈൻ'' |57 | style="background:#6db5f8;" |'''79''' |2 |2 | style="background:{{United Democratic Front (Kerala)/meta/color}}; color:white" |18 |<ref>{{Citation|title=ക്രൈം പ്രവചനം, UDF - 79, LDF - 57, BJP - 2, OTHERS - 2 {{!}}Crime Online Exit poll 2021|url=https://www.youtube.com/watch?v=yJm6D7Oq9Uo|language=en|access-date=2021-05-01}}</ref> |- |- |30 ഏപ്രിൽ 2021 |''മറുനാടൻ മലയാളി'' |59 | style="background:#6db5f8;" |'''77''' |2 |2 | style="background:{{United Democratic Front (Kerala)/meta/color}}; color:white" |16 |<ref>{{Citation|title=മറുനാടൻ എക്സിറ്റ് പോൾ ഫലം {{!}} Marunadan Exit poll 2021|url=https://www.youtube.com/watch?v=a58AK4EuXvY|language=en|access-date=2021-05-01}}</ref> |- | rowspan="10" | 29 ഏപ്രിൽ 2021 | ''ഇന്ത്യ ന്യൂസ് ഐ‌ ടിവി - കൻ കി ബാത്'' |'''64 - 76''' | 61 - 71 | 2 - 4 | - | style="background:gray; color:white;" |തൂക്ക് സഭ | <ref>https://twitter.com/jankibaat1/status/1387834050333736962</ref> |- | ''ഇന്ത്യ ടുഡെ - ആക്സിസ് മൈ ഇന്ത്യ'' | style="background:#FF7676;" |'''104 - 120''' | 20 - 36 | 0 - 2 | 0 - 2 | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |33 - 49 | <ref>{{Cite web|title=Kerala exit poll: LDF likely to win 104-120, Congress-led UDF 20-36, NDA 0-2, predicts India Today-Axis My India|url=https://www.msn.com/en-in/news/other/kerala-exit-poll-ldf-likely-to-win-104-120-congress-led-udf-20-36-nda-0-2-predicts-india-today-axis-my-india/ar-BB1gbrVn|access-date=2021-04-29|website=MSN|language=en}}</ref> |- | ''മനോരമ ന്യൂസ് - വിഎംആർ'' |'''68 - 78''' | 59 - 70 | 0 - 2 | 0 - 1 | style="background:gray; color:white;" |''തൂക്ക് സഭ'' | <ref>{{Cite web |url=https://www.manoramanewsonline.com/2021/04/29/399715.html |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-05-02 |archive-date=2021-05-01 |archive-url=https://web.archive.org/web/20210501062852/https://www.manoramanewsonline.com/2021/04/29/399715.html |url-status=dead }}</ref> |- | ''ന്യൂസ്24 - ടുഡേയ്സ് ചാണക്യ'' | style="background:#FF7676;" |'''93 - 111''' | 26 - 44 | 0 - 6 | 0 - 2 | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |22 - 40 | <ref name="TQ" /> |- |''ഡിബി ലൈവ്'' | style="background:#FF7676;" |'''80 - 74''' |59 - 65 |2 - 7 | - | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |3 - 10 |<ref>{{Cite web|url=https://www.youtube.com/watch?v=CuEiTtUmZzo|title=Exit poll 2021 : west bengal, assam, kerala, tamilnadu, puducheri election &#124; #DBLIVE exit poll|via=www.youtube.com}}</ref> |- | ''റിപ്പോർട്ടർ ടിവി - പി-മാർക്'' | style="background:#FF7676;" |'''72 - 79''' | 60 - 66 | 0 - 3 | 0 - 1 | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |2 - 8 | <ref>{{Cite web|url=https://www.reporterlive.com/pinarayi-vijayan-led-ldf-will-get-second-term-says-reporter-tv-survey/99314/|title=ഭരണ തുടർച്ച പ്രവചിച്ച് റിപ്പോർട്ടർ -പി മാർക്ക് പോസ്റ്റ് പോൾ സർവ്വേ; എൽഡിഎഫിന് 79 സീറ്റുകൾ വരെ, യുഡിഎഫ് 60-66|date=29 April 2021|website=Reporter Live|access-date=2021-04-30|archive-date=2021-04-30|archive-url=https://web.archive.org/web/20210430040636/https://www.reporterlive.com/pinarayi-vijayan-led-ldf-will-get-second-term-says-reporter-tv-survey/99314/|url-status=dead}}</ref> |- | ''റിപബ്ലിക് - സിഎൻഎക്സ്'' | style="background:#FF7676;" |'''72 - 80''' | 58 - 64 | 1 - 5 | - | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |2 - 9 | <ref name="TQ" /> |- | ''സുദർശൻ ന്യൂസ്'' | style="background:#FF7676;" |'''70 - 80''' | 59 - 65 | 2 - 6 | 1- 3 | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |1 - 9 | <ref>{{Cite web|url=https://www.sudarshannews.in/news-detail.aspx?id=20887|title=#SudarshanExitPoll केरल में सलामत रहा लाल सलाम.. यहां वामपंथी किला अभेद्य|website=www.sudarshannews.in}}</ref> |- | ''ടൈംസ് നൗ/ എബിപി - സി-വോട്ടർ'' | style="background:#FF7676;" |'''71 - 77''' | 62 - 68 | 0 - 2 | - | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |1 - 6 | <ref name="TQ">{{Cite web|title=Kerala: 4 Major Exit Polls Predict Left Return, Big Defeat For UDF|url=https://www.thequint.com/kerala-elections/kerala-assembly-election-exit-poll-results-2021-live-updates|access-date=2021-04-29|website=The Quint|language=en}}</ref> |- | ''ടിവി9 ഭാരത് വർഷ് - പോൾ സ്റ്റാർട്ട്'' | style="background:#FF7676;" |'''70 - 80''' | 59 - 69 | 0 - 2 | - | style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white" |1 - 9 | <ref>{{Cite web|url=https://www.tv9hindi.com/elections/kerala-elections-2021/kerala-exit-poll-result-2021-leftist-government-can-be-formed-again-in-kerala-in-leadership-of-pinarayi-vijayan-636349.html|title=Kerala Exit poll 2021: देश से नहीं होगा लेफ्ट का सूपड़ा साफ, केरल में फिर बन सकती है वामपंथी सरकार|first=TV9|last=Hindi|date=29 April 2021|website=TV9 Hindi}}</ref> |} == തിരഞ്ഞെടുപ്പ് == ===വോട്ടിംഗ്=== {| class="wikitable" |+ ! ജില്ലകൾ ! colspan="2" |വോട്ടർ കണക്ക് |- ! {{nowrap|ജില്ല അടിസ്ഥാനമാക്കിയുള്ള കേരള ഭൂപടം}} !ജില്ല !% |- | rowspan ="14"| [[File:Political map of Kerala.svg|300px]] |തിരുവനന്തപുരം |70.01 |- |കൊല്ലം |73.16 |- |പത്തനംതിട്ട |68.09 |- |ആലപ്പുഴ |74.75 |- |ഇടുക്കി |72.12 |- |കോട്ടയം |74.15 |- |എറണാകുളം |70.37 |- |തൃശ്ശൂർ |73.89 |- |പാലക്കാട് |76.2 |- |വയനാട് |74.5 |- |മലപ്പുറം |78.41 |- |കോഴിക്കോട് |74.98 |- |കണ്ണൂർ |77.78 |- |കാസർഗോഡ് |74.91 |- ! colspan="2" |കേരളം !74.57 |} ==ഫലം== നിലവിൽ അധികാരത്തിലിരിയ്ക്കുന്ന ഇടത് മുന്നണി കഴിഞ്ഞ തിരഞ്ഞെടുപ്പിനേക്കാൾ 8 സീറ്റുകൾ അധികം നേടി 99 സീറ്റുകളുമായി അധികാരം നിലനിർത്തി. 1982 ന് ശേഷം ആദ്യമായാണ് സംസ്ഥാനത്ത് ഒരു സഖ്യം തുടർച്ചയായി വിജയിക്കുന്നത്.<ref name = "TH34223850"/> കഴിഞ്ഞ തവണത്തേക്കൾ 6 സീറ്റ് കുറവോടെ ഐക്യജനാധിപത്യ മുന്നണി (യുഡിഎഫ്) 41 സീറ്റുകൾ നേടി. [[നേമം നിയമസഭാമണ്ഡലം|നേമത്തുണ്ടായിരുന്ന]] ഏക സീറ്റ് നഷ്ടപ്പെട്ടങ്കിലും നിരവധി മണ്ഡലങ്ങളിൽ എൻ‌ഡി‌എ രണ്ടാം സ്ഥാനത്തെത്തി. കഴിഞ്ഞ തവണ [[പൂഞ്ഞാർ നിയമസഭാമണ്ഡലം|പൂഞ്ഞാറിൽ]] വിജയിച്ച കേരള ജനപക്ഷം (സെക്കുലർ) സ്ഥാനാർത്ഥി [[പി.സി. ജോർജ്ജ്|പി.സി. ജോർജ്ജും]] ഇത്തവണ പരാജയപ്പെട്ടു, നേമവും, പൂഞ്ഞാറും എൽഡിഎഫി പിടിച്ചെടുത്തു. [[കുന്നത്തുനാട് നിയമസഭാമണ്ഡലം|കുന്നത്തുനാട്]], [[കൊച്ചി നിയമസഭാമണ്ഡലം|കൊച്ചി]] സീറ്റുകളിൽ ട്വന്റി20 കിഴക്കമ്പലം മൂന്നാം സ്ഥാനത്തെത്തി. [[കോവിഡ്-19 ആഗോള മഹാമാരി|കോവിഡ് -19 മഹാമാരി]] കൈകാര്യം ചെയ്തതിന് ആരോഗ്യമന്ത്രിയെന്ന നിലയിൽ പ്രശംസ നേടിയ [[കെ. കെ. ശൈലജ]] 67,013 വോട്ടുകളോടെ കേരളനിയമസഭയുടെ ചരിത്രത്തിലെ ഏറ്റവും വലിയ<ref>https://english.mathrubhumi.com/news/kerala/9-ministers-including-kk-shailaja-kadakampally-join-pinarayi-s-victory-parade-kerala-1.5637266</ref> ഭൂരിപക്ഷത്തോടെ [[മട്ടന്നൂർ നിയമസഭാമണ്ഡലം|മട്ടന്നൂരിൽ]] നിന്നും തിരഞ്ഞെടുക്കപ്പെട്ടു. കോവിഡ് മൂലമുള്ള മരണങ്ങൾ കുറയ്ക്കാനായതും ലോക്ക് ഡൗൺ മൂലം ആളുകൾക്ക് സംഭവിച്ച സാമ്പത്തിക ഞെരുക്കം കുറയ്ക്കുന്നതിലും എൽ‌ഡി‌എഫ് ഗവൺമെന്റ് വിജയകരമായി ഇടപെട്ടത് അവർ വീണ്ടും തിരഞ്ഞെടുക്കപ്പെടാനുള്ള പ്രധാന കാരണമായി ''ഡൗൺ ടു എർത്തിലെ'' കെ.എ. ഷാജി ചൂണ്ടിക്കാട്ടുന്നു.<ref>https://www.downtoearth.org.in/news/governance/ldf-s-handling-of-covid-19-in-kerala-helped-it-retain-power-76778</ref> === സഖ്യമനുസരിച്ച് === ഓരോ സഖ്യകക്ഷികൾക്കും ലഭിച്ച സീറ്റുകളുടെ എണ്ണം, മത്സരിച്ച സീറ്റുകൾ വലയത്തിൽ.<ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/02/kerala-assembly-election-2021-results-winners-statistics-in-graphics.html|title=സെഞ്ചുറിക്കരികിൽ എൽഡിഎഫ്; ഇതാണ് നമ്മുടെ 140 എംഎൽഎമാർ {{!}} ഗ്രാഫിക്‌സ്|access-date=2021-05-03|language=ml}}</ref> {| class="wikitable collapsible" border="1" cellspacing="0" cellpadding="2" width="35%" style="text-align:center; border-collapse: collapse; border: 2px #000000 solid; font-size: x-big" ! colspan="2" style="background:{{Left Democratic Front (Kerala)/meta/color}} ; color:white;" |LDF ! style="background:{{Left Democratic Front (Kerala)/meta/color}} ; color:white;" |SEATS ! colspan="2" style="background:{{United Democratic Front (Kerala)/meta/color}}; color:white;" |UDF ! style="background:{{United Democratic Front (Kerala)/meta/color}}; color:white;" |SEATS ! colspan="2" style="background:#FF9933; color:white;" |NDA ! style="background:#FF9933; color:white;" |SEATS |- |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]] | width="3px" style="background-color: {{Communist Party of India (Marxist)/meta/color}}" | |''61 (77)'' |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]] | width="3px" style="background-color: {{Indian National Congress/meta/color}}" | |''21 (93)'' |[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] | width="3px" style="background-color: {{Bharatiya Janata Party/meta/color}}" | |''0 (113)'' |- |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]] | width="3px" style="background-color: {{Communist Party of India/meta/color}}" | |''17 (25)'' |[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]] | width="3px" style="background-color: {{Indian Union Muslim League/meta/color}}" | |''15 (27)'' |[[ഭാരത് ധർമ്മ ജന സേന|ബിഡിജെഎസ്]] | width="3px" style="background-color: {{Bharath Dharma Jana Sena/meta/color}}" | |''0 (21)'' |- |[[കേരള കോൺഗ്രസ് (എം)|കെസി (എം)]] | width="3px" style="background-color: {{Kerala Congress (M)/meta/color}}" | |''5 (12)'' |[[കേരള കോൺഗ്രസ്|കെസി]] | width="3px" style="background-color: {{Kerala Congress (Joseph)/meta/color}}" | |''2 (10)'' |എഐഡിഎംകെ | width="3px" style="background-color: {{All India Anna Dravida Munnetra Kazhagam/meta/color}}" | |''0 (1)'' |- |[[ജനതാദൾ (സെക്കുലർ)|ജനതദൾ (എസ്)]] | width="3px" style="background-color: {{Janata Dal (Secular)/meta/color}}" | |''2 (4)'' |[[റവല്യൂഷണറി മാർക്സിസ്റ്റ് പാർട്ടി|ആർഎംപി]] | width="3px" style="background-color: {{Revolutionary Marxist Party of India/meta/color}}" | |''1 (1)'' |[[കേരള കാമരാജ് കോൺഗ്രസ്|കെകെസി]] | width="3px" style="background-color: {{Kerala Kamaraj Congress/meta/color}}" | |''0 (1)'' |- |[[നാഷണലിസ്റ്റ് കോൺഗ്രസ് പാർട്ടി|എൻസിപി]] | width="3px" style="background-color: {{Kerala Congress (M)/meta/color}}" | |''2 (3)'' |[[Nationalist Congress Kerala|എൻസി‌കെ]] | width="3px" style="background-color: {{Communist Marxist Party (John)/meta/color}}" | |''1 (2)'' |[[ജനാധിപത്യ രാഷ്ട്രീയ സഭ|ജെആർഎസ്]] | width="3px" style="background-color: {{Bharatiya Janata Party/meta/color}}" | |''0 (1)'' |- |[[കേരള കോൺഗ്രസ് (ബി)|കെസി (ബി)]] | width="3px" style="background-color: {{Kerala Congress (B)/meta/color}}" | |''1 (1)'' |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കെസി (ജെ)]] | width="3px" style="background-color: {{Kerala Congress (Jacob)/meta/color}}" | |''1 (1)'' |[[Democratic Social Justice Party|ഡിഎസ്ജെപി]] | width="3px" style="background-color: {{Bharatiya Janata Party/meta/color}}" | |''0 (1)'' |- |[[ഇന്ത്യൻ നാഷണൽ ലീഗ്|ഐഎൻഎൽ]] | width="3px" style="background-color: {{Indian National League/meta/color}}" | |''1 (3)'' |[[Communist Marxist Party (John)|സിഎംപി (ജെ)]] | width="3px" style="background-color:#008080" | |''0 (1)'' | | | |- |[[ജനാധിപത്യ കേരള കോൺഗ്രസ്|ജെ‌കെ‌സി]] | width="3px" style="background-color: {{Loktantrik Janata Dal/meta/color}}" | |''1 (1)'' |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|അർഎസ്‌പി]] | width="3px" style="background-color: {{Revolutionary Socialist Party (India)/meta/color}}" | |''0 (5)'' | | | |- |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ലെനിനിസ്റ്റ്)|ആർഎസ്‌പി (എൽ)]] | width="3px" style="background-color: {{Indian National League/meta/color}}" | |''1 (1)'' ||സ്വതന്ത്രൻ | width="3px" style="background-color:#FF3D00" | | | | | |- |[[കോൺഗ്രസ് (എസ്)]] | width="3px" style="background-color: {{Congress (Secular)/meta/color}}" | |''1 (1)'' | | | | | | |- |[[ലോക് താന്ത്രിക് ജനതാദൾ|എൽജെ‌ഡി]] | width="3px" style="background-color:#FF3D00" | |''1 (3)'' | | | | | | |- |സ്വതന്ത്രൻ | width="3px" style="background-color:#FF3D00" | |6 (9) | | | | | | |- | colspan="2" style="background:#ffe6e6;" |ആകെ | style="background:{{Left Democratic Front (Kerala)/meta/color}} ; color:white;" |99 | colspan="2" style="background:#ADD8E6" |ആകെ | style="background:{{United Democratic Front (Kerala)/meta/color}}; color:white;" |41 | colspan="2" style="background:#FAD6A5" |ആകെ | style="background:#FF9933; color:white;" |0 |- | colspan="2" style="background:#ffe6e6;" |മാറ്റം | style="background:{{Left Democratic Front (Kerala)/meta/color}} ; color:white;" | +8 | colspan="2" style="background:#ADD8E6" |മാറ്റം | style="background:{{United Democratic Front (Kerala)/meta/color}}; color:white;" | -6 | colspan="2" style="background:#FAD6A5" |മാറ്റം | style="background:#FF9933; color:white;" | -1 |} === ജില്ല അനുസരിച്ച് === {| class="wikitable sortable" style="text-align:centre;" |- ! ജില്ല തിരിച്ചുള്ള കേരളത്തിന്റെ ഭൂപടം ! ജില്ല ! ആകെ സീറ്റുകൾ ! style="background:{{Left Democratic Front (Kerala)/meta/color}}; color:white;" |എൽഡിഎഫ് ! style="background:{{United Democratic Front (Kerala)/meta/color}}; color:white;" |യുഡിഎഫ് ! style="background:#FF9933; color:white;" |എൻഡിഎ ! style="background:grey; color:white;" |മറ്റുള്ളവർ |- | rowspan ="14"| [[File:Political map of Kerala.svg|300px]] |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] | 5 |3 |2 |0 |0 |- |[[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | 11 |9 |2 |0 |0 |- |[[വയനാട് ജില്ല|വയനാട്]] | 3 |1 |2 |0 |0 |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] | 13 |11 |2 |0 |0 |- |[[മലപ്പുറം ജില്ല|മലപ്പുറം]] | 16 |4 |12 |0 |0 |- |[[പാലക്കാട് ജില്ല|പാലക്കാട്]] | 12 |10 |2 |0 |0 |- |[[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | 13 |12 |1 |0 |0 |- |[[എറണാകുളം ജില്ല|എറണാകുളം]] | 14 |5 |9 |0 |0 |- |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] | 5 |4 |1 |0 |0 |- |[[കോട്ടയം ജില്ല|കോട്ടയം]] | 9 |5 |4 |0 |0 |- |[[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | 9 |8 |1 |0 |0 |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] | 5 |5 |0 |0 |0 |- |[[കൊല്ലം ജില്ല|കൊല്ലം]] | 11 |9 |2 |0 |0 |- |[[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | 14 |13 |1 |0 |0 |} === മണ്ഡലം അനുസരിച്ച് === {| class="wikitable sortable" ! colspan="2" |മണ്ഡലം ! rowspan="2" |Valid votes (%) ! colspan="5" |വിജയി ! colspan="5" |രണ്ടാം സ്ഥാനം ! rowspan="2" |Margin |- !# !പേര് !സ്ഥാനാർത്ഥി !പാർട്ടി !സഖ്യം !വോട്ടുകൾ !% !സ്ഥാനാർതഥി !പാർട്ടി !സഖ്യം !'''വോട്ടുകൾ''' !% |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''കാസർകോട് ജില്ല'''</span> |- |1 |[[മഞ്ചേശ്വരം നിയമസഭാമണ്ഡലം|മഞ്ചേശ്വരം]] | |[[എ.കെ.എം. അഷ്റഫ്]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,758 |38.14 |[[കെ. സുരേന്ദ്രൻ (രാഷ്ട്രീയ പ്രവർത്തകൻ)|കെ. സുരേന്ദ്രൻ]] |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |65,013 |37.70 |745 |- |2 |[[കാസർഗോഡ് നിയമസഭാമണ്ഡലം|കാസർഗോഡ്]] | |[[എൻ.എ. നെല്ലിക്കുന്ന്]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,296 |43.80 |കെ. ശ്രീകാന്ത് |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |50,395 |34.88 |12,901 |- |3 |[[ഉദുമ നിയമസഭാമണ്ഡലം|ഉദുമ]] | |[[സി.എച്ച്. കുഞ്ഞമ്പു]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |78,664 |47.58 |പെരിയ ബാലകൃഷ്ണൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,342 |39.52 |13,322 |- |4 |[[കാഞ്ഞങ്ങാട് നിയമസഭാമണ്ഡലം|കാഞ്ഞങ്ങാട്]] | |[[ഇ. ചന്ദ്രശേഖരൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |84,615 |50.72 |പി.വി. സുരേഷ് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,476 |34.45 |27,139 |- |5 |[[തൃക്കരിപ്പൂർ നിയമസഭാമണ്ഡലം|തൃക്കരിപ്പൂർ]] | |[[എം. രാജഗോപാലൻ|എം. രാജഗോപാൽ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |86,151 |53.71 |എം.പി. ജോസഫ് |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |60,014 |37.41 |26,137 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''കണ്ണൂർ ജില്ല'''</span> |- |6 |[[പയ്യന്നൂർ നിയമസഭാമണ്ഡലം|പയ്യന്നൂർ]] | |[[ടി.ഐ. മധുസൂദനൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |93,695 |62.49 |എം. പ്രദീപ് കുമാർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,915 |29.29 |49,780 |- |7 |[[കല്ല്യാശ്ശേരി നിയമസഭാമണ്ഡലം|കല്ല്യാശ്ശേരി]] | |[[എം. വിജിൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |88,252 |60.62 |ബ്രിജേഷ് കുമാർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,859 |30.13 |44,393 |- |8 |[[തളിപ്പറമ്പ് നിയമസഭാമണ്ഡലം|തളിപ്പറമ്പ്]] | |[[എം.വി. ഗോവിന്ദൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |92,870 |52.14 |അബ്ദുൽ റഷീദ് വി.പി. |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |70,181 |39.4 |22,689 |- |9 |[[ഇരിക്കൂർ നിയമസഭാമണ്ഡലം|ഇരിക്കൂർ]] | |[[സജീവ് ജോസഫ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |76764 |50.33 |സജി കുറ്റ്യാനിമറ്റം |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |66754 |43.77 |10,010 <ref name="ECIResult2021">{{Cite web|url=https://results.eci.gov.in/Result2021/statewiseS1112.htm|title=Election Commission of India}}</ref> |- |10 |[[അഴീക്കോട് നിയമസഭാമണ്ഡലം|അഴീക്കോട്]] | |[[കെ.വി. സുമേഷ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65794 |45.41 |[[കെ.എം. ഷാജി]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59653 |41.17 |6,141 <ref name="ECIResult2021" /> |- |11 |[[കണ്ണൂർ നിയമസഭാമണ്ഡലം|കണ്ണൂർ]] | |[[രാമചന്ദ്രൻ കടന്നപ്പള്ളി|കടന്നപ്പള്ളി രാമചന്ദ്രൻ]] |{{legend2|#FF7F7F|[[Congress (Secular)|Con(S)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |60313 |44.98 |[[സതീശൻ പാച്ചേനി]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |58568 |43.68 |1,745 <ref name="ECIResult2021" /> |- |12 |[[ധർമ്മടം നിയമസഭാമണ്ഡലം|ധർമ്മടം]] | |[[പിണറായി വിജയൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |95,522 |59.61 |സി. രഘുനാഥ് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |45399 |28.33 |50,123 <ref name="ECIResult2021" /> |- |13 |[[തലശ്ശേരി നിയമസഭാമണ്ഡലം|തലശ്ശേരി]] | |[[എ.എൻ. ഷംസീർ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |81810 |61.52 |[[എം.പി. അരവിന്ദാക്ഷൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |45009 |33.84 |36,801 <ref name="ECIResult2021" /> |- |14 |[[കൂത്തുപറമ്പ് നിയമസഭാമണ്ഡലം|കൂത്തുപറമ്പ്]] | |[[കെ.പി. മോഹനൻ]] |{{legend2|#2E8B57|[[Loktantrik Janata Dal|LJD]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |70626 |45.36 |പൊറ്റങ്കണ്ടി അബ്ദുള്ള |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |61085 |39.23 |9,541 <ref name="ECIResult2021" /> |- |15 |[[മട്ടന്നൂർ നിയമസഭാമണ്ഡലം|മട്ടന്നൂർ]] | |[[കെ.കെ. ശൈലജ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |96,129 |61.97 |ഇല്ലിക്കൽ അഗസ്തി |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |35166 |22.67 |60,963 <ref name="ECIResult2021" /> |- |16 |[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]] | |[[സണ്ണി ജോസഫ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |66,706 |46.93 |കെ.വി. സക്കീർ ഹുസൈൻ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,534 |44.7 |3,172 <ref name="ECIResult2021" /> |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''വയനാട് ജില്ല'''</span> |- |17 |[[മാനന്തവാടി നിയമസഭാമണ്ഡലം|മാനന്തവാടി]] | |[[ഒ.ആർ. കേളു]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |72,536 |47.54 |[[പി.കെ. ജയലക്ഷ്മി]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,254 |41.46 |9,282 |- |18 |[[സുൽത്താൻ ബത്തേരി നിയമസഭാമണ്ഡലം|സുൽത്താൻ ബത്തേരി]] | |[[ഐ.സി. ബാലകൃഷ്ണൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |81,077 |48.42 |എം.എസ്. വിശ്വനാഥൻ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |69,255 |41.36 |11,822 |- |19 |[[കല്പറ്റ നിയമസഭാമണ്ഡലം|കല്പറ്റ]] | |[[ടി. സിദ്ദിഖ്|ടി. സിദ്ദീഖ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |70,252 |46.15 |[[എം.വി. ശ്രേയാംസ് കുമാർ]] |{{legend2|#2E8B57|[[Loktantrik Janata Dal|LJD]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |64,782 |42.56 |5,470 |- | colspan="14" bgcolor="grey" align="center |<span style="color:white;">'''കോഴിക്കോട് ജില്ല'''</span> |- |20 |[[വടകര നിയമസഭാമണ്ഡലം|വടകര]] | |[[കെ.കെ. രമ]] |{{legend2|#00BFFF|[[Revolutionary Marxist Party of India|RMPI]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,093 |47.63 |മനയത്ത് ചന്ദ്രൻ |{{legend2|#2E8B57|[[Loktantrik Janata Dal|LJD]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,602 |42.15 |7,491 |- |21 |[[കുറ്റ്യാടി നിയമസഭാമണ്ഡലം|കുറ്റ്യാടി]] | |[[കെ.പി. കുഞ്ഞമ്മദ് കുട്ടി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |80143 |47.2 |[[പാറക്കൽ അബ്ദുള്ള]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |79810 |47.01 |333 |- |22 |[[നാദാപുരം നിയമസഭാമണ്ഡലം|നാദാപുരം]] | |[[ഇ.കെ. വിജയൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |83293 |47.46 |കെ. പ്രവീൺ‌ കുമാർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |79258 |45.16 |4,035 |- |23 |[[കൊയിലാണ്ടി നിയമസഭാമണ്ഡലം|കൊയിലാണ്ടി]] | |[[കാനത്തിൽ ജമീല]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |75628 |46.66 |എൻ. സുബ്രഹ്മണ്യൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67156 |41.43 |8,472 |- |24 |[[പേരാമ്പ്ര നിയമസഭാമണ്ഡലം|പേരാമ്പ്ര]] | |[[ടി.പി. രാമകൃഷ്ണൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |86023 |52.54 |സി.എച്ച്. ഇബ്രാഹിംകുട്ടി |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63431 |38.74 |22,592 |- |25 |[[ബാലുശ്ശേരി നിയമസഭാമണ്ഡലം|ബാലുശ്ശേരി]] | |[[കെ.എം. സച്ചിൻ ദേവ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |91839 |50.47 |[[ധർമ്മജൻ ബോൾഗാട്ടി]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71467 |39.28 |18,000 |- |26 |[[എലത്തൂർ നിയമസഭാമണ്ഡലം|എലത്തൂർ]] | |[[എ.കെ. ശശീന്ദ്രൻ|എ. കെ. ശശീന്ദ്രൻ]] |{{legend2|#00B2B2|[[Nationalist Congress Party|NCP]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |83639 |50.89 |സുൾഫിക്കർ മയൂരി |{{legend2|#00B2B2|[[Nationalist Congress Kerala|NCK]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |45137 |27.46 |38,502 |- |27 |[[കോഴിക്കോട് നോർത്ത് നിയമസഭാമണ്ഡലം|കോഴിക്കോട് നോർത്ത്]] | |[[തോട്ടത്തിൽ രവീന്ദ്രൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59124 |42.98 |കെ.എം. അഭിജിത് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |46196 |33.58 |12,928 |- |28 |[[കോഴിക്കോട് സൗത്ത് നിയമസഭാമണ്ഡലം|കോഴിക്കോട് സൗത്ത്]] | |[[അഹമ്മദ് ദേവർകോവിൽ]] |{{legend2|#008000|[[Indian National League|INL]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |52557 |44.15 |പി.കെ. നൂർബീന റഷീദ് |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |40098 |33.68 |12,459 |- |29 |[[ബേപ്പൂർ നിയമസഭാമണ്ഡലം|ബേപ്പൂർ]] | |[[പി.എ. മുഹമ്മദ് റിയാസ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |82165 |49.73 |പി.എം. നിയാസ് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |53418 |32.33 |28,747 |- |30 |[[കുന്ദമംഗലം നിയമസഭാമണ്ഡലം|കുന്ദമംഗലം]] | |[[പി.ടി.എ. റഹീം]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |85138 |43.93 |ദിനേശ് പെരുമണ്ണ |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |74862 |38.62 |10,276 |- |31 |[[കൊടുവള്ളി നിയമസഭാമണ്ഡലം|കൊടുവള്ളി]] | |[[എം.കെ. മുനീർ]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |72336 |47.86 |[[കാരാട്ട് റസാക്ക്]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65992 |43.66 |6,344 |- |32 |[[തിരുവമ്പാടി നിയമസഭാമണ്ഡലം|തിരുവമ്പാടി]] | |[[ലിന്റോ ജോസഫ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67867 |47.46 |സി.പി. ചെറിയ മുഹമ്മദ് |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63224 |44.21 |5,596 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''മലപ്പുറം ജില്ല'''</span> |- |33 |[[കൊണ്ടോട്ടി നിയമസഭാമണ്ഡലം|കൊണ്ടോട്ടി]] | |[[ടി.വി. ഇബ്രാഹിം]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |82,759 |50.42 |സുലൈമാൻ ഹാജി |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,093 |39.66 |17,666 |- |34 |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] | |[[പി.കെ. ബഷീർ]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |78,076 |54.49 |കെ.ടി. അബ്ദുറഹ്മാൻ |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |55,530 |38.76 |22,546 |- |35 |[[നിലമ്പൂർ നിയമസഭാമണ്ഡലം|നിലമ്പൂർ]] | |[[പി.വി. അൻവർ]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |81,227 |46.9 |വി.വി. പ്രകാശ് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |78,527 |45.34 |2,700 |- |36 |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] | |[[എ.പി. അനിൽകുമാർ|എ.പി. അനിൽ കുമാർ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |87,415 |51.44 |പി. മിഥുന |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,852 |42.28 |15,563 |- |37 |[[മഞ്ചേരി നിയമസഭാമണ്ഡലം|മഞ്ചേരി]] | |[[യു.എ. ലത്തീഫ്]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |78,836 |50.22 |പി. ഡിബോണ നാസർ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |64,263 |40.93 |14,573 |- |38 |[[പെരിന്തൽമണ്ണ നിയമസഭാമണ്ഡലം|പെരിന്തൽമണ്ണ]] | |[[നജീബ് കാന്തപുരം]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |76,530 |46.21 |കെ.പി. മുസ്തഫ |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |76,492 |46.19 |38 |- |39 |[[മങ്കട നിയമസഭാമണ്ഡലം|മങ്കട]] | |[[മഞ്ഞളാംകുഴി അലി]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |83,231 |49.46 |ടി.കെ. റഷീദ് അലി |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |76,985 |45.75 |6,246 |- |40 |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] | |[[പി. ഉബൈദുല്ല]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |93,166 |57.57 |പി. അബ്ദുറഹ്മാൻ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,958 |35.82 |35,208 |- |41 |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] | |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |70,381 |53.5 |പി. ജിജി |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |39,785 |30.24 |30,596 |- |42 |[[വള്ളിക്കുന്ന് നിയമസഭാമണ്ഡലം|വള്ളിക്കുന്ന്]] | |[[അബ്ദുൽ ഹമീദ് പി.]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,823 |47.43 |എ.പി. അബ്ദുൽ വഹാബ് |{{legend2|#008000|[[Indian National League|INL]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,707 |38.11 |14,116 |- |43 |[[തിരൂരങ്ങാടി നിയമസഭാമണ്ഡലം|തിരൂരങ്ങാടി]] | |[[കെ.പി.എ. മജീദ്]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |73,499 |49.74 |നിയാസ് പുളിക്കലകത്ത് |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,921 |43.26 |9,578 |- |44 |[[താനൂർ നിയമസഭാമണ്ഡലം|താനൂർ]] | |[[വി. അബ്ദുൽറഹ്മാൻ]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |70,704 |46.34 |[[പി.കെ. ഫിറോസ്]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |69,719 |45.7 |985 |- |45 |[[തിരൂർ നിയമസഭാമണ്ഡലം|തിരൂർ]] | |[[കുറുക്കോളി മൊയ്തീൻ]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |82,314 |48.21 |ഗഫൂർ പി. ലില്ലീസ് |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |75,100 |43.98 |7,214 |- |46 |[[കോട്ടക്കൽ നിയമസഭാമണ്ഡലം|കോട്ടക്കൽ]] | |[[കെ.കെ. ആബിദ് ഹുസൈൻ]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |81,700 |51.08 |എൻ.എ. മുഹമ്മദ് കുട്ടി |{{legend2|#00B2B2|[[Nationalist Congress Party|NCP]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,112 |40.71 |16,588 |- |47 |[[തവനൂർ നിയമസഭാമണ്ഡലം|തവനൂർ]] | |[[കെ.ടി. ജലീൽ]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |70,358 |46.46 |[[ഫിറോസ് കുന്നുംപറമ്പിൽ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67,794 |44.77 |2,564 |- |48 |[[പൊന്നാനി നിയമസഭാമണ്ഡലം|പൊന്നാനി]] | |[[പി. നന്ദകുമാർ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |74,668 |51.35 |എ.എം. രോഹിത് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,625 |39.63 |17,043 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''പാലക്കാട് ജില്ല'''</span> |- |49 |[[തൃത്താല നിയമസഭാമണ്ഡലം|തൃത്താല]] | |[[എം.ബി. രാജേഷ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |69,814 |45.84 |[[വി.ടി. ബൽറാം|വി.ടി. ബൽറാം]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |66798 |43.86 |3,016 |- |50 |[[പട്ടാമ്പി നിയമസഭാമണ്ഡലം|പട്ടാമ്പി]] | |[[മുഹമ്മദ്‌ മുഹ്സിൻ പി.]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |75,311 |49.58 |റിയാസ് മുക്കോളി |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57337 |37.74 |17,974 |- |51 |[[ഷൊർണ്ണൂർ നിയമസഭാമണ്ഡലം|ഷൊർണ്ണൂർ]] | |[[പി. മമ്മിക്കുട്ടി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |74,400 |48.98 |ടി.എച്ച്. ഫിറോസ് ബാബു |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |37,726 |24.83 |36,674 |- |52 |[[ഒറ്റപ്പാലം നിയമസഭാമണ്ഡലം|ഒറ്റപ്പാലം]] | |[[കെ. പ്രേംകുമാർ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |74,859 |46.45 |പി. സരിൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59,707 |37.05 |15,152 |- |53 |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കോങ്ങാട്]] | |[[കെ. ശാന്തകുമാരി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67,881 |49.01 |[[യു.സി. രാമൻ]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |40,662 |29.36 |27,219 |- |54 |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] | |[[എൻ. ഷംസുദ്ദീൻ]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,657 |47.11 |കെ.പി. സുരേഷ് രാജ് |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,787 |43.25 |5,870 |- |55 |[[മലമ്പുഴ നിയമസഭാമണ്ഡലം|മലമ്പുഴ]] | |[[എ. പ്രഭാകരൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |75,934 |46.41 |സി. കൃഷ്ണകുമാർ |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |50,200 |30.68 |25,734 |- |56 |[[പാലക്കാട് നിയമസഭാമണ്ഡലം|പാലക്കാട്]] | |[[ഷാഫി പറമ്പിൽ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |54,079 |38.06 |[[ഇ. ശ്രീധരൻ]] |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |50,220 |35.34 |3,859 |- |57 |[[തരൂർ നിയമസഭാമണ്ഡലം|തരൂർ]] | |[[പി.പി. സുമോദ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67,744 |51.58 |കെ.എ. ഷീബ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,213 |32.90 |24,531 |- |58 |[[ചിറ്റൂർ നിയമസഭാമണ്ഡലം|ചിറ്റൂർ]] | |[[കെ. കൃഷ്ണൻകുട്ടി]] |{{legend2|green|[[ജനതാദൾ (സെക്കുലർ)|ജനതാദൾ എസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |84,672 |55.38 |സുമേഷ് അച്ചുതൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |50794 |33.22 |33,878 |- |59 |[[നെന്മാറ നിയമസഭാമണ്ഡലം|നെന്മാറ]] | |[[കെ. ബാബു (സി.പി.ഐ.എം.)|കെ. ബാബു]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |80,145 |52.89 |സി.എൻ. വിജയകൃഷ്ണൻ |{{legend2|#FF0000|[[Communist Marxist Party|CMP]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |51441 |33.95 |28,704 |- |60 |[[ആലത്തൂർ നിയമസഭാമണ്ഡലം|ആലത്തൂർ]] | |[[കെ.ഡി. പ്രസേനൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |74,653 |55.15 |പാളയം പ്രദീപ് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |40,535 |29.94 |34,118 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''തൃശൂർ ജില്ല'''</span> |- |61 |[[ചേലക്കര നിയമസഭാമണ്ഡലം|ചേലക്കര]] | |[[കെ. രാധാകൃഷ്ണൻ (പൊതുപ്രവർത്തകൻ)|കെ. രാധാകൃഷ്ണൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |83,415 |54.41 |സി.സി. ശ്രീകുമാർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |44,015 |28.71 |39,400 |- |62 |[[കുന്നംകുളം നിയമസഭാമണ്ഡലം|കുന്ദംകുളം]] | |[[എ.സി. മൊയ്തീൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |75,532 |48.78 |കെ. ജയശങ്കർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |48,901 |31.58 |26,631 |- |63 |[[ഗുരുവായൂർ നിയമസഭാമണ്ഡലം|ഗുരുവായൂർ]] | |[[എൻ.കെ. അക്ബർ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |77,072 |52.52 |കെ.എൻ.എ. ഖാദർ |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |58,804 |40.07 |18,268 |- |64 |[[മണലൂർ നിയമസഭാമണ്ഡലം|മണലൂർ]] | |[[മുരളി പെരുന്നെല്ലി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |78,337 |46.77 |വിജയ് ഹരി |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |48,461 |28.93 |29,876 |- |65 |[[വടക്കാഞ്ചേരി നിയമസഭാമണ്ഡലം|വടക്കാഞ്ചേരി]] | |[[സേവ്യർ ചിറ്റിലപ്പള്ളി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |81,026 |47.7 |[[അനിൽ അക്കര]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,858 |38.77 |15,168 |- |66 |[[ഒല്ലൂർ നിയമസഭാമണ്ഡലം|ഒല്ലൂർ]] | |[[കെ. രാജൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |76,657 |49.09 |ജോസ് വള്ളൂർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |55,151 |35.31 |21,506 |- |67 |[[തൃശ്ശൂർ നിയമസഭാമണ്ഡലം|തൃശ്ശൂർ]] | |പി. ബാലചന്ദ്രൻ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |44,263 |34.25 |[[പത്മജ വേണുഗോപാൽ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,317 |33.52 |946 |- |68 |[[നാട്ടിക നിയമസഭാമണ്ഡലം|നാട്ടിക]] | |[[സി.സി. മുകുന്ദൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |72,930 |47.49 |സുനിൽ ലാലൂർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |44,499 |28.98 |28,431 |- |69 |[[കയ്പമംഗലം നിയമസഭാമണ്ഡലം|കയ്പമംഗലം]] | |[[ഇ.ടി. ടൈസൺ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |73,161 |53.76 |ശോഭ സുബിൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |50,463 |37.08 |22,698 |- |70 |[[ഇരിങ്ങാലക്കുട നിയമസഭാമണ്ഡലം|ഇരിങ്ങാലക്കുട]] | |[[ആർ. ബിന്ദു]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |62,493 |40.27 |[[തോമസ് ഉണ്ണിയാടൻ]] |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |56,544 |36.44 |5,949 |- |71 |[[പുതുക്കാട് നിയമസഭാമണ്ഡലം|പുതുക്കാട്]] | |[[കെ.കെ. രാമചന്ദ്രൻ (സിപിഐഎം)|കെ.കെ. രാമചന്ദ്രൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |73,365 |46.94 |സുനിൽ അന്തിക്കാട് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |46,012 |29.44 |27,353 |- |72 |[[ചാലക്കുടി നിയമസഭാമണ്ഡലം|ചാലക്കുടി]] | |[[സനീഷ് കുമാർ ജോസഫ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |61,888 |43.23 |ഡെന്നിസ് ആന്റണി |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |60,831 |42.49 |1,057 |- |73 |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] | |[[വി.ആർ. സുനിൽ കുമാർ]] |{{legend2|#CC3333|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,457 |47.99 |എം.പി. ജാക്സൺ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |47,564 |31.94 |23,893 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''എറണാകുളം ജില്ല'''</span> |- |74 |[[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] | |[[എൽദോസ് പി. കുന്നപ്പിള്ളി]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |53,484 |37.1 |ബാബു ജോസഫ് |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |50,585 |35.09 |2,899 |- |75 |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] | |[[റോജി എം. ജോൺ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,562 |51.86 |[[ജോസ് തെറ്റയിൽ]] |{{legend2|#138808|[[Janata Dal (Secular)|JD(S)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |55,633 |40.31 |15,929 |- |76 |[[ആലുവ നിയമസഭാമണ്ഡലം|ആലുവ]] | |[[അൻവർ സാദത്ത് (നിയമസഭാംഗം)|അൻവർ സാദത്ത്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |73,703 |49.00 |ഷെൽന നിഷാദ് |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |54,817 |36.44 |18,886 |- |77 |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] | |[[പി. രാജീവ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |77,141 |49.49 |വി.ഇ. അബ്ദുൾ ഗഫൂർ |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |61,805 |39.65 |15,336 |- |78 |[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]] | |[[വി.ഡി. സതീശൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |82,264 |51.87 |എം.ടി. നിക്സൺ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |60,963 |38.44 |21,301 |- |79 |[[വൈപ്പിൻ നിയമസഭാമണ്ഡലം|വൈപ്പിൻ]] | |[[കെ.എൻ. ഉണ്ണികൃഷ്ണൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |53,858 |41.24 |ദീപക് ജോയി |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |45,657 |34.96 |8,201 |- |80 |[[കൊച്ചി നിയമസഭാമണ്ഡലം|കൊച്ചി]] | |[[കെ.ജെ. മാക്സി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |54,632 |42.45 |[[ടോണി ചമ്മിണി]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |40,553 |31.51 |14,079 |- |81 |[[തൃപ്പൂണിത്തുറ നിയമസഭാമണ്ഡലം|തൃപ്പൂണിത്തുറ]] | |[[കെ. ബാബു]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,875 |42.14 |[[എം. സ്വരാജ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |64,883 |41.51 |992 |- |82 |[[എറണാകുളം നിയമസഭാമണ്ഡലം|എറണാകുളം]] | |[[ടി.ജെ. വിനോദ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |45,930 |41.72 |ഷാജി ജോർജ്ജ് |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |34,960 |31.75 |10,970 |- |83 |[[തൃക്കാക്കര നിയമസഭാമണ്ഡലം|തൃക്കാക്കര]] | |[[പി.ടി. തോമസ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59,839 |43.82 |ജെ. ജേക്കബ് |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |45,510 |33.32 |14,329 |- |84 |[[കുന്നത്തുനാട് നിയമസഭാമണ്ഡലം|കുന്നത്തുനാട്]] | |[[പി.വി. ശ്രീനിജിൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |52,351 |33.79 |[[വി.പി. സജീന്ദ്രൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |49,636 |32.04 |2,715 |- |85 |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] | |[[അനൂപ് ജേക്കബ്]] |{{legend2|#CC6600|[[Kerala Congress (Jacob)|KC(J)]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |85,056 |53.8 |സിന്ധുമോൾ ജേക്കബ് |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59,692 |37.76 |25,364 |- |86 |[[മൂവാറ്റുപുഴ നിയമസഭാമണ്ഡലം|മൂവാറ്റുപുഴ]] | |[[മാത്യു കുഴൽനാടൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |64,425 |44.63 |[[എൽദോ എബ്രഹാം]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |58,264 |40.36 |6,161 |- |87 |[[കോതമംഗലം നിയമസഭാമണ്ഡലം|കോതമംഗലം]] | |[[ആന്റണി ജോൺ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |64,234 |46.99 |ഷിബു തെക്കുംപുറം |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,629 |42.16 |6,605 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''ഇടുക്കി ജില്ല'''</span> |- |88 |[[ദേവികുളം നിയമസഭാമണ്ഡലം|ദേവികുളം]] | |[[എ. രാജ (സിപിഐഎം)|എ. രാജ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59,049 |51.00 |ഡി. കുമാർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |51,201 |44.22 |7,848 |- |89 |[[ഉടുമ്പഞ്ചോല നിയമസഭാമണ്ഡലം|ഉടുമ്പഞ്ചോല]] | |[[എം.എം. മണി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |77,381 |61.80 |[[ഇ.എം. അഗസ്തി]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |39,076 |31.21 |38,305 |- |90 |[[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] | |[[പി.ജെ. ജോസഫ്]] |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67,495 |48.63 |കെ.ഐ. ആന്റണി |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |47,236 |34.03 |20,259 |- |91 |[[ഇടുക്കി നിയമസഭാമണ്ഡലം|ഇടുക്കി]] | |[[റോഷി അഗസ്റ്റിൻ]] |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |62,368 |47.48 |[[ഫ്രാൻസിസ് ജോർജ്ജ്|ഫ്രാൻസിസ് ജോർജ്ജ്]] |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |56,795 |43.24 |5,573 |- |92 |[[പീരുമേട് നിയമസഭാമണ്ഡലം|പീരുമേട്]] | |[[വാഴൂർ സോമൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |60,141 |47.25 |[[സിറിയക് തോമസ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |58,306 |45.81 |1,835 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''കോട്ടയം ജില്ല'''</span> |- |93 |[[പാലാ നിയമസഭാമണ്ഡലം|പാലാ]] | |[[മാണി സി. കാപ്പൻ]] |{{legend2|#00B2B2|[[Nationalist Congress Kerala|NCK]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |69,804 |50.43 |[[ജോസ് കെ. മാണി]] |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |54,426 |39.32 |15,378 |- |94 |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] | |[[മോൻസ് ജോസഫ്]] |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59,666 |45.4 |[[സ്റ്റീഫൻ ജോർജ്ജ്]] |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |55,410 |42.17 |4,256 |- |95 |[[വൈക്കം നിയമസഭാമണ്ഡലം|വൈക്കം]] | |[[സി.കെ. ആശ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,388 |55.96 |പി.ആർ. സോന |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |42,266 |33.13 |29,122 |- |96 |[[ഏറ്റുമാനൂർ നിയമസഭാമണ്ഡലം|ഏറ്റുമാനൂർ]] | |[[വി.എൻ. വാസവൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |58,289 |46.2 |പ്രിൻസ് ലൂക്കോസ് |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,986 |34.86 |14,303 |- |97 |[[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] | |[[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,401 |53.72 |കെ. അനിൽകുമാർ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |46,658 |38.33 |18,743 |- |98 |[[പുതുപ്പള്ളി നിയമസഭാമണ്ഡലം|പുതുപ്പള്ളി]] | |[[ഉമ്മൻ ചാണ്ടി]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,372 |48.08 |[[ജെയ്ക് സി. തോമസ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |54,328 |41.22 |9,044 |- |99 |[[ചങ്ങനാശ്ശേരി നിയമസഭാമണ്ഡലം|ചങ്ങനാശ്ശേരി]] | |[[ജോബ് മൈക്കിൾ]] |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |55,425 |44.85 |വി.ജെ. ലാലി |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |49,366 |39.94 |6,059 |- |100 |[[കാഞ്ഞിരപ്പള്ളി നിയമസഭാമണ്ഡലം|കാഞ്ഞിരപ്പള്ളി]] | |[[എൻ. ജയരാജ്]] |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |60,299 |43.79 |[[ജോസഫ് വാഴയ്ക്കൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |46,596 |33.84 |13,703 |- |101 |[[പൂഞ്ഞാർ നിയമസഭാമണ്ഡലം|പൂഞ്ഞാർ]] | |[[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |58,668 |41.94 |[[പി.സി. ജോർജ്ജ്]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |''N/A'' |41,851 |29.92 |16,817 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''ആലപ്പുഴ ജില്ല'''</span> |- |102 |[[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] | |[[ദലീമ ജോജോ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |75,617 |45.97 |[[ഷാനിമോൾ ഉസ്മാൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |68,604 |41.71 |7,013 |- |103 |[[ചേർത്തല നിയമസഭാമണ്ഡലം|ചേർത്തല]] | |[[പി. പ്രസാദ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |83,702 |47.00 |എസ്. ശരത് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |77,554 |43.55 |6,148 |- |104 |[[ആലപ്പുഴ നിയമസഭാമണ്ഡലം|ആലപ്പുഴ]] | |[[പി.പി. ചിത്തരഞ്ജൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |73,412 |46.33 |[[കെ.എസ്. മനോജ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |61,768 |38.98 |11,644 |- |105 |[[അമ്പലപ്പുഴ നിയമസഭാമണ്ഡലം|അമ്പലപ്പുഴ]] | |[[എച്ച്. സലാം]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |61,365 |44.79 |എം. ലിജു |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |50,240 |36.67 |11,125 |- |106 |[[കുട്ടനാട് നിയമസഭാമണ്ഡലം|കുട്ടനാട്]] | |[[തോമസ് കെ. തോമസ്]] |{{legend2|#00B2B2|[[Nationalist Congress Party|NCP]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,379 |45.67 |ജേക്കബ് അബ്രഹാം |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |51,863 |41.28 |5,516 |- |107 |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] | |[[രമേശ് ചെന്നിത്തല]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |72,768 |48.31 |ആർ. സജിലാൽ |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59,102 |39.24 |13,666 |- |108 |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] | |[[യു. പ്രതിഭ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |77,348 |47.97 |അരിതാ ബാബു |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,050 |44.06 |6,298 |- |109 |[[മാവേലിക്കര നിയമസഭാമണ്ഡലം|മാവേലിക്കര]] | |[[എം.എസ്. അരുൺ കുമാർ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,743 |47.61 |കെ.കെ. ഷാജു |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |47,026 |31.21 |24,717 |- |110 |[[ചെങ്ങന്നൂർ നിയമസഭാമണ്ഡലം|ചെങ്ങന്നൂർ]] | |[[സജി ചെറിയാൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,502 |48.58 |എം. മുരളി |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |39,409 |26.78 |32,093 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''പത്തനംതിട്ട ജില്ല'''</span> |- |111 |[[തിരുവല്ല നിയമസഭാമണ്ഡലം|തിരുവല്ല]] | |[[മാത്യു ടി. തോമസ്]] |{{legend2|#138808|[[Janata Dal (Secular)|JD(S)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |62,178 |44.56 |കുഞ്ഞു കോശി പോൾ |{{legend2|#CC6600|[[Kerala Congress|KC]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |50,757 |36.37 |11,421 |- |112 |[[റാന്നി നിയമസഭാമണ്ഡലം|റാന്നി]] | |[[പ്രമോദ് നാരായൺ]] |{{legend2|#CC9900|[[Kerala Congress (M)|KC(M)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |52,669 |41.22 |റിങ്കു ചെറിയാൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |51,384 |40.21 |1,285 |- |113 |[[ആറന്മുള നിയമസഭാമണ്ഡലം|ആറന്മുള]] | |[[വീണാ ജോർജ്ജ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |74,950 |46.3 |[[കെ. ശിവദാസൻ നായർ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |55,947 |34.56 |19,003 |- |114 |[[കോന്നി നിയമസഭാമണ്ഡലം|കോന്നി]] | |[[കെ.യു. ജനീഷ് കുമാർ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |62,318 |41.62 |റോബിൻ പീറ്റർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |53,810 |35.94 |8,508 |- |115 |[[അടൂർ നിയമസഭാമണ്ഡലം|അടൂർ]] | |[[ചിറ്റയം ഗോപകുമാർ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |66,569 |42.83 |എം.ജി. കണ്ണൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,650 |40.96 |2,919 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''കൊല്ലം ജില്ല'''</span> |- |116 |[[കരുനാഗപ്പള്ളി നിയമസഭാമണ്ഡലം|കരുനാഗപ്പള്ളി]] | |[[സി.ആർ. മഹേഷ്|സി.ആർ മഹേഷ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |94,225 |54.38 |[[ആർ. രാമചന്ദ്രൻ (രാഷ്ട്രീയപ്രവർത്തകൻ)|ആർ. രാമചന്ദ്രൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,017 |37.52 |29,208 |- |117 |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] | |[[സുജിത്ത് വിജയൻപിള്ള]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,282 |44.29 |[[ഷിബു ബേബി ജോൺ]] |{{legend2|#FF4A4A|[[Revolutionary Socialist Party (India)|RSP]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |62,186 |43.52 |1,096 |- |118 |[[കുന്നത്തൂർ നിയമസഭാമണ്ഡലം|കുന്നത്തൂർ]] | |[[കോവൂർ കുഞ്ഞുമോൻ]] |{{legend2|#DDDDDD|സ്വതന്ത്രൻ|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |69,436 |43.13 |ഉല്ലാസ് കോവൂർ |{{legend2|#FF4A4A|[[Revolutionary Socialist Party (India)|RSP]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |66,646 |41.4 |2,790 |- |119 |[[കൊട്ടാരക്കര നിയമസഭാമണ്ഡലം|കൊട്ടാരക്കര]] | |[[കെ.എൻ. ബാലഗോപാൽ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |68,770 |45.98 |ആർ. രശ്മി |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |57,956 |38.75 |10,814 |- |120 |[[പത്തനാപുരം നിയമസഭാമണ്ഡലം|പത്തനാപുരം]] | |[[കെ.ബി. ഗണേഷ് കുമാർ]] |{{legend2|#CC6600|[[Kerala Congress (B)|KC(B)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67,276 |49.09 |[[ജ്യോതികുമാർ ചാമക്കാല]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |52,940 |38.63 |14,336 |- |121 |[[പുനലൂർ നിയമസഭാമണ്ഡലം|പുനലൂർ]] | |[[പി.എസ്. സുപാൽ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |80,428 |54.99 |[[അബ്ദുറഹ്മാൻ രണ്ടത്താണി|അബ്ദുൽ റഹ്മാൻ രണ്ടത്താണി]] |{{legend2|green|[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|ലീഗ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,371 |29.66 |37,057 |- |122 |[[ചടയമംഗലം നിയമസഭാമണ്ഡലം|ചടയമംഗലം]] | |[[ജെ. ചിഞ്ചു റാണി]] |{{legend2|#CC3333|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |67,252 |45.69 |എം.എം. നസീർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |53,574 |36.4 |13,678 |- |123 |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] | |[[പി.സി. വിഷ്ണുനാഥ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |76,405 |48.85 |[[ജെ. മെഴ്സിക്കുട്ടി അമ്മ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,882 |45.96 |4,523 |- |124 |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] | |[[മുകേഷ് (നടൻ)|മുകേഷ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |58,524 |44.86 |[[ബിന്ദു കൃഷ്ണ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |56,452 |43.27 |2,072 |- |125 |[[ഇരവിപുരം നിയമസഭാമണ്ഡലം|ഇരവിപുരം]] | |[[എം. നൗഷാദ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |71,573 |56.25 |[[ബാബു ദിവാകരൻ|ബാബു ദിവാകരൻ]] |{{legend2|#FF4A4A|[[Revolutionary Socialist Party (India)|RSP]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,452 |34.15 |28,121 |- |126 |[[ചാത്തന്നൂർ നിയമസഭാമണ്ഡലം|ചാത്തന്നൂർ]] | |[[ജി.എസ്. ജയലാൽ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |59,296 |43.12 |ബി.ബി. ഗോപകുമാർ |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |42,090 |30.61 |17,206 |- | colspan="14" bgcolor="grey" align="center" |<span style="color:white;">'''തിരുവനന്തപുരം ജില്ല'''</span> |- |127 |[[വർക്കല നിയമസഭാമണ്ഡലം|വർക്കല]] | |[[വി. ജോയ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |68,816 |50.89 |ബി.ആർ.എം. ഷെഫീർ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |50,995 |37.71 |17,821 |- |128 |[[ആറ്റിങ്ങൽ നിയമസഭാമണ്ഡലം|ആറ്റിങ്ങൽ]] | |[[ഒ.എസ്. അംബിക]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |69,898 |47.35 |പി. സുധീർ |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |38,262 |25.92 |31,636 |- |129 |[[ചിറയിൻകീഴ് നിയമസഭാമണ്ഡലം|ചിറയിൻകീഴ്]] | |[[വി. ശശി]] |{{legend2|#CC3333|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |62,634 |43.17 |ബി.എസ്. അനൂപ് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |48,617 |33.51 |14,017 |- |130 |[[നെടുമങ്ങാട് നിയമസഭാമണ്ഡലം|നെടുമങ്ങാട്]] | |[[ജി.ആർ. അനിൽ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ|സിപിഐ]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |72,742 |47.54 |പി.എസ്. പ്രശാന്ത് |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |49,433 |32.31 |23,309 |- |131 |[[വാമനപുരം നിയമസഭാമണ്ഡലം|വാമനപുരം]] | |[[ഡി.കെ. മുരളി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |73,137 |49.91 |ആനാട് ജയൻ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |62,895 |42.92 |10,242 |- |132 |[[കഴക്കൂട്ടം നിയമസഭാമണ്ഡലം|കഴക്കൂട്ടം]] | |[[കടകംപള്ളി സുരേന്ദ്രൻ|കടകമ്പള്ളി സുരേന്ദ്രൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,690 |46.04 |[[ശോഭ സുരേന്ദ്രൻ]] |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |40,193 |29.06 |23,497 |- |133 |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] | |[[വി.കെ. പ്രശാന്ത്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |61,111 |41.44 |[[വി.വി. രാജേഷ്]] |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |39,596 |28.77 |21,515 |- |134 |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം]] | |[[ആന്റണി രാജു]] |{{legend2|#FF0000|[[Janadhipathya Kerala Congress|JKC]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |48,748 |38.01 |[[വി.എസ്. ശിവകുമാർ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |41,659 |32.49 |7,089 |- |135 |[[നേമം നിയമസഭാമണ്ഡലം|നേമം]] | |[[വി. ശിവൻകുട്ടി]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |55,837 |38.24 |[[കുമ്മനം രാജശേഖരൻ]] |{{legend2|#FF9933|[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]]|border=solid 1px #AAAAAA}} |{{legend2|#F98C1F|[[ദേശീയ ജനാധിപത്യ സഖ്യം|എൻഡിഎ]]|border=solid 1px #AAAAAA}} |51,888 |35.54 |3,949 |- |136 |[[അരുവിക്കര നിയമസഭാമണ്ഡലം|അരുവിക്കര]] | |[[ജി. സ്റ്റീഫൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |66,776 |45.83 |[[കെ.എസ്. ശബരീനാഥൻ]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |61,730 |42.37 |5,046 |- |137 |[[പാറശ്ശാല നിയമസഭാമണ്ഡലം|പാറശ്ശാല]] | |[[സി.കെ. ഹരീന്ദ്രൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |78,548 |48.16 |അൻസജിത റസൽ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |52,720 |32.23 |25,828 |- |138 |[[കാട്ടാക്കട നിയമസഭാമണ്ഡലം|കാട്ടാക്കട]] | |[[ഐ.ബി. സതീഷ്]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |66,293 |45.52 |മലയിൻകീഴ് വേണുഗോപാൽ |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |43,062 |29.57 |23,231 |- |139 |[[കോവളം നിയമസഭാമണ്ഡലം|കോവളം]] | |[[എം. വിൻസെന്റ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |74,868 |47.06 |[[എ. നീലലോഹിതദാസൻ നാടാർ]] |{{legend2|#138808|[[Janata Dal (Secular)|JD(S)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |63,306 |39.79 |11,562 |- |140 |[[നെയ്യാറ്റിൻകര നിയമസഭാമണ്ഡലം|നെയ്യാറ്റിൻകര]] | |[[കെ. ആൻസലൻ]] |{{legend2|#FF0000|[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)|സിപിഐ(എം)]]|border=solid 1px #AAAAAA}} |{{legend2|#ED1C24|[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]|border=solid 1px #AAAAAA}} |65,497 |47.02 |[[ആർ. സെൽവരാജ്|ആർ സെൽവരാജ്]] |{{legend2|#00BFFF|[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|കോൺഗ്രസ്]]|border=solid 1px #AAAAAA}} |{{legend2|#0078FF|[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]|border=solid 1px #AAAAAA}} |51,235 |36.78 |14,262 |} == സർക്കാർ രൂപീകരണം == ==ഇതും കാണുക== *[[2019 കേരള നിയമസഭാ ഉപതിരഞ്ഞെടുപ്പുകൾ]] *[[2019ലെ ലോക്‌സഭാ തെരഞ്ഞെടുപ്പ് (കേരളം)]] *[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2016)]] *[[കേരളത്തിലെ തദ്ദേശ സ്വയംഭരണ തിരഞ്ഞെടുപ്പ് 2020]] == അവലംബം == {{Reflist}} {{Kerala elections}} [[വർഗ്ഗം:കേരളത്തിലെ നിയമസഭാതിരഞ്ഞെടുപ്പുകൾ]] 2tx49x3v8rsqwdrnkai88f8bm4fl9rf രാജു ലാമ 0 532710 4621603 4546589 2026-05-22T18:41:12Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621603 wikitext text/x-wiki {{Use dmy dates|date=July 2020}} {{Infobox musical artist | name = രാജു ലാമ | image = Raju Lama on stage.jpg | background = സോളോ_സിംഗർ | birth_date = {{birth date and age|df=yes|1978|3|16}} | birth_place = ബറുവ, നേപ്പാൾ | instrument = വോക്കൽ, ഗിത്താർ | genre = പോപ്പ് | occupation = ഗായകൻ-ഗാനരചയിതാവ് | years_active = 1993–തുടരുന്നു | label = മ്യൂസിക് നേപ്പാൾ, റിയാസ് മ്യൂസിക്, ക്രിസ് ക്രിയേഷൻസ് | associated_acts = മംഗോളിയൻ ഹാർട്ട് }} നേപ്പാളിലെ പ്രശസ്ത ഗായകനും ഗാനരചയിതാവുമാണ് രാജു ലാമ (നേപ്പാളി: राजु लामा; ജനനം: 16 മാർച്ച് 1978).മംഗോളിയൻ ഹാർട്ട് എന്ന സംഗീത ഗ്രൂപ്പിലെ പ്രധാന ഗായകനാണ്. നേപ്പാളി, ടിബറ്റൻ, തമാങ് ഭാഷകളിൽ നിരവധി ഗാനങ്ങൾ ആലപിച്ചിട്ടുണ്ട്.<ref>{{cite web|url=https://itunes.apple.com/us/album/mongolian-heart-vol.-3/id324271519 |title=Mongolian Heart, Vol. 3 by Raju Lama on iTunes |website=Itunes.apple.com |date=29 January 2003 |access-date=3 April 2016}}</ref><ref>{{cite web|url=https://www.youtube.com/watch?v=NxzqLgcdcsQ |title=Raju Lama Live Concert in Barcelona 2013 |publisher=YouTube |date=6 April 2013 |access-date=3 April 2016}}</ref><ref>{{cite web|url=https://www.youtube.com/watch?v=4bdufgXIobw |title=Raju Lama Live Concert In Japan |publisher=YouTube |access-date=3 April 2016}}</ref><ref>{{cite news|url=http://thehimalayantimes.com/entertainment/raju-lama-back-to-woo-nepali-crowd/ |title=Raju Lama back to woo Nepali crowd |newspaper=The Himalayan Times |date=4 December 2008 |access-date=3 April 2016}}</ref><ref>{{cite web |author=Rajita Dhungana |url=http://kathmandupost.ekantipur.com/news/2012-10-13/out-to-win-hearts-seventh-time-in-a-row.html |title=The Kathmandu Post :: Out to win hearts, seventh time in a row |website=Kathmandupost.ekantipur.com |access-date=3 April 2016 |archive-date=2017-11-12 |archive-url=https://web.archive.org/web/20171112185253/http://kathmandupost.ekantipur.com/news/2012-10-13/out-to-win-hearts-seventh-time-in-a-row.html |url-status=dead }}</ref><ref>{{cite news |url=http://thehimalayantimes.com/news-archives/latest/raju-narenaes-new-albums/ |title=Raju, Naren’s new albums |newspaper=The Himalayan Times |access-date=3 April 2016 |archive-date=2017-11-13 |archive-url=https://web.archive.org/web/20171113003231/https://thehimalayantimes.com/news-archives/latest/raju-narenaes-new-albums/ |url-status=dead }}</ref><ref>{{cite web|url=http://www.outsideonline.com/1909536/give-me-your-tired-your-poor-your-hale-hearty-tough-nails-acclimatized-birth-mountain-people |title=Give Me Your Tired, Your Poor, Your Hale, Hearty, Tough-As-Nails, Acclimatized-At-Birth Mountain People... |publisher=Outside Online |date=25 October 2007 |access-date=3 April 2016}}</ref><ref>{{cite news|author=Tsering Choden |url=http://nepalitimes.com/news.php?id=9637#.VqHJSPl9670 |title=And the winner is... Nepali Music |newspaper=[[Nepali Times]] |access-date=3 April 2016}}</ref>തന്റെ ഗാനങ്ങൾ അവതരിപ്പിക്കാൻ രാജു ലാമ ലോകമെമ്പാടും സഞ്ചരിക്കുന്നു.ഇപ്പോൾ യുഎസിലും നേപ്പാളിലുമാണ്.ദി വോയ്‌സ് ഓഫ് നേപ്പാൾ സീസൺ 2 (2019) ലെ പരിശീലകരിൽ ഒരാളാണ് രാജു ലാമ.<ref>{{cite web |url=http://www.moviemandu.com/television-raju-lama-and-astha-raut-joins-the-voice-of-nepal-as-judges/ |title=Raju Lama And Astha Raut Joins ‘The Voice of Nepal’ As Judges |website=Moviemandu |date=17 June 2019 |access-date=14 September 2019 |archive-date=2019-06-18 |archive-url=https://web.archive.org/web/20190618142131/http://www.moviemandu.com/television-raju-lama-and-astha-raut-joins-the-voice-of-nepal-as-judges/ |url-status=dead }}</ref> == ആൽബങ്ങൾ == * സോൾട്ടിനി - 1995 * മംഗോളിയൻ ഹാർട്ട് - 1996 * മംഗോളിയൻ ഹാർട്ട് വാല്യം 2 - 1999 * മംഗോളിയൻ ഹാർട്ട് വാല്യം 3 - 2002 * മംഗോളിയൻ ഹാർട്ട് സോളിഡ് ഗോൾഡ് - 2004 * ഡോൺബോ തമാങ് ആൽബം - 2004 * മംഗോളിയൻ ഹാർട്ട് വാല്യം 4 - 2006 * മംഗോളിയൻ ഹാർട്ട് വാല്യം 5 - 2009 * മംഗോളിയൻ ഹാർട്ട് വാല്യം 6 - 2012 * മംഗോളിയൻ ഹാർട്ട് വാല്യം 7 - 2018 സാംലിംഗ് ഗോമ്പ - 2016: ടിബറ്റിനകത്തും പുറത്തും ഉള്ള എല്ലാ ടിബറ്റുകാർക്കും, എല്ലാ ഹിമാലയൻ ജനതയ്ക്കും ലോകമെമ്പാടുമുള്ള അദ്ദേഹത്തിന്റെ എല്ലാ അഭ്യുദയകാംക്ഷികൾക്കുമായി ഈ ഗാനം സമർപ്പിച്ചിരിക്കുന്നു. == അവാർഡുകൾ == * സഞ്ജൻ സ്മൃതി പോപ്പ് ഗാന മത്സരം വിന്നർ ബാൻഡ് (നേപ്പാൾ) - 1996 * മികച്ച വോക്കൽ (നേപ്പാൾ) - 1996 * മികച്ച രചന (നേപ്പാൾ) - 1996 * മ്യൂസിക് നേപ്പാൾ സ്വർണ്ണ മെഡൽ (നേപ്പാൾ) - 1999 * ഈ വർഷത്തെ ഏറ്റവും കൂടുതൽ വിറ്റുപോയ ആൽബം (നേപ്പാൾ): ഹിറ്റ്സ് എഫ്എം അവാർഡ് 2002 * വോക്കൽ (നേപ്പാൾ) ഉള്ള ഗ്രൂപ്പ് അല്ലെങ്കിൽ ഇരുവരുടെയും മികച്ച പ്രകടനം: ആഹ പോപ്പ് മ്യൂസിക് അവാർഡ് 2002 * ഗ്രൂപ്പ് അല്ലെങ്കിൽ ഇരുവരുടെയും മികച്ച പ്രകടനം (നേപ്പാൾ): മ്യൂസിക് നേപ്പാൾ അവാർഡ് 2002–2003 * ഈ വർഷത്തെ ഏറ്റവും കൂടുതൽ വിറ്റഴിക്കപ്പെട്ട ആൽബം (നേപ്പാൾ): കാന്തിപൂർ എഫ്എം വാർഷിക അവാർഡ് 2002, 2003, 2004 * ഏറ്റവും കൂടുതൽ സംപ്രേഷണം ചെയ്ത ഗാനം (നേപ്പാൾ): ഇമേജ് അവാർഡ് 2007 ==സാമൂഹ്യസേവനം== നേപ്പാളിലെ ഗ്രാമീണ സമൂഹങ്ങളിൽ വിദ്യാഭ്യാസം പ്രോത്സാഹിപ്പിക്കുന്നതിനായി രാജു ലാമ ഫൗണ്ടേഷൻ പ്രവർത്തിക്കുന്നു. സ്കൂളുകൾ പണിയുന്നതിലും വിദ്യാർത്ഥികൾക്ക് വിദ്യാഭ്യാസം നേടുന്നതിനുള്ള പഠന സാമഗ്രികൾ നൽകുന്നതിലും ഇത് പ്രത്യേകത ശ്രദ്ധ പുലർത്തുന്നു.<ref>{{cite web|url=http://www.rajulamafoundation.org/ |title=Raju Lama Foundation |publisher=Raju Lama Foundation |access-date=3 April 2016}}</ref> ==അനുബന്ധം== {{Reflist}} {{Nepal topics}} {{authority control}} {{DEFAULTSORT:Lama, Raju}} [[വർഗ്ഗം:നേപ്പാളിലെ നാടോടി ഗായകർ]] inxlt9q3afd4c7p9s0tz1eeinqckqc8 വിക്കിപീഡിയ:വാക്സിൻ തിരുത്തൽ യജ്ഞം 2021/In English 4 537664 4622100 4620244 2026-05-23T03:09:57Z ListeriaBot 105900 Wikidata list updated [V2] 4622100 wikitext text/x-wiki __NOTOC__ <div style="width: 99%; color: ##FFE5B4; {{box-shadow|0|0|6px|rgba(0, 0, 0, 0.40)}} {{border-radius|2px}}"> {| width="100%" cellpadding="5" cellspacing="10" style="background:#ffffff; border-style:solid; border-width:4px; border-color:#F99273" | width="55%" style="vertical-align:top;padding: 0; margin:0;" | <div style="clear:both; width:100%"> {{Vaccination header}} Welcome to the event page of the vaccination edit-a-thon! The Vaccination edit-a-thon is a month long event to create content related to vaccination on Wikipedia. The event spans from 8 to 31 May, 2021. The World Health Organization has named vaccine hesitancy, or anti-vaccination, as one of the top ten threats to global health in 2019. At the same time, the spread of health-related misinformation has fuelled concerns about the potential dangers or inefficacy of vaccines. Wikipedia is an important resource for up-to-date, accurate vaccine information, and it is currently one of the most frequently visited sites for healthcare information worldwide. Malayalam Wikimedians are now conducting a month-long edit-a-thon to expand Malayalam Wikipedia’s vaccine-related content. The partners in this initiative are [https://newsq.net/2020/09/30/newsq-know-science-addressing-vaccine-hesitancy/ NewsQ’s KNoW Science initiative], WHO’s [https://www.vaccinesafetynet.org/ Vaccine Safety Net], [https://wikimediadc.org/wiki/Home Wikimedia DC], [https://infoclinic.in/ Infoclinic] and [https://cis-india.org/ Centre for Internet and Society]. The event will be open to anyone interested in promoting accurate vaccine information online. Training will be provided in Malayalam and English- so no experience is necessary to join the event! ==Inaugural event== <span style="font-size:120%;">When</span> :'''8 May 2021''' 18:00 to 21:00 IST <span style="font-size:150%;">Register</span> :'''''<span style="font-size:120%;">[https://www.eventbrite.com/e/malayalam-vaccine-safety-wikipedia-edit-a-thon-tickets-150765306089 Register via Eventbrite]</span>''''' <span style="font-size:120%;">Agenda</span> : * Welcome * KNoW Science Overview : Andrea Bras (2 min) * Wikimedia DC Introduction (2 min) * CIS-A2K Introduction: Tito Dutta (2 min) * Infoclinic Introduction: Dr. Arun M.A (2 min) * Inauguration event ** The event will be inaugurated by Dr. Ajay Balachandran, Professor, Amrita Institute of Medical Sciences, Kerala by making the first edit. (4 min) * Introduction to event page and editing training ** Introduction in English : [https://wikimediadc.org/wiki/Ariel_Cetrone Ariel Cetrone], Wikimedia DC ** Introduction in Malayalam : Ranjith Siji, Administrator, Malayalam Wikipedia * Editing time {{-}} </div> </div> * * ==Participants== If you are participating in the edit-a-thon in English, please add your name below:Ashtamoorthy T S * --[[User:Netha Hussain|<font color="navy">നത</font>]] [[User talk:Netha Hussain|<font color="purple">(സംവാദം)</font>]] 18:32, 4 ഏപ്രിൽ 2021 (UTC) * [[ഉപയോക്താവ്:Econterms|Econterms]] ([[ഉപയോക്താവിന്റെ സംവാദം:Econterms|സംവാദം]]) 16:17, 7 മേയ് 2021 (UTC) * == Wikimedia policies, quick tips and related resources== {{columns-list|colwidth=20em| '''Policies''' * [https://wikimediadc.org/wiki/Safe_space_policy Wikimedia DC's Safe Space Policy] * [[w:en:Wikipedia:Five pillars]] * [[w:en:Wikipedia:Core content policies]] * [[w:en:Wikipedia:General notability guideline]] * [[w:en:Wikipedia:Notability (organizations and companies)]] * [[w:en:Wikipedia:Verifiability]] * [[w:en:Wikipedia:Conflict of interest]] * [[w:en:Wikipedia:Identifying reliable sources]] * [[w:en:Wikipedia:No original research]] [[w:en:Wikipedia:No original research/Examples|(Examples of Original Research)]] * [[w:en:Wikipedia:Citing sources]] * [[w:en:Wikipedia:Identifying and using primary sources]] * [[w:en:Wikipedia: Quality control]] * [[w:en:Wikipedia: Patrols]] * [[w:en:Wikipedia:Admin]] '''Your first article''' * [[w:en:Help:Getting started]] * [[w:en:Wikipedia:Your first article]] * [[w:en:Help:Referencing for beginners]] '''Tips''' * [https://en.wikipedia.org/wiki/Wikipedia:Redirect#Using_VisualEditor Creating Redirects with Visual Editor] * [https://en.wikipedia.org/wiki/Wikipedia:Redirect#Editing_the_source_directly Creating Redirector with Source Editor] * [[w:en:Help:Category| Using categories]] * [[w:en:Help:Cheatsheet|Cheatsheet for Wiki markup]] * [https://dashboard.wikiedu.org/training/students Wiki Ed Foundation's online training modules] * [https://commons.wikimedia.org/wiki/Main_Page Wikicommons] * [[w:en:Wikipedia:Manual of Style]] '''Wikimedia and other related projects''' * [https://www.wikidata.org/wiki/Wikidata:Main_Page Wikidata] * [https://wikiedu.org Wiki Education Foundation] * [[w:en:Wikipedia:Meetup/NYC/SureWeCan3|Covid-oriented ediathon on Sept 6]] '''Tools, Resources''' * [https://tools.wmflabs.org/pageviews Track Wikipedia Page Views] * [https://stats.wikimedia.org Wikimedia Statistics] * [https://archive.org/ Internet Archive Wayback Machine] '''Medicine, health, and Wikimedia''' * [[m:Wiki Project Med]] * [[w:en:Wikipedia:WikiProject Medicine]] }} ==Task list== If you are interested in a task list curated specifically for beginner, intermediate and advanced editors, please go to the Vaccine Safety portal's [[w:en:Wikipedia:Vaccine_safety/Task_list|task list]] here. If you are interested in writing India-specific articles in English, some suggestions are as follows: ===Articles for cleanup and expansion=== * [[w:en:Pulse Polio]] * [[w:en:Universal Immunisation Programme]] * [[w:en:Accredited Social Health Activist]] * [[w:en:Green card scheme in Odisha]] * [[w:en:Deen Dayal Antyoday Upchar Yojna]] * [[w:en:District Programme Manager]] * [[w:en:National TB Elimination Program (India)]] * [[w:en:Tobacco cessation clinics in India]] * [[w:en:District AIDS Prevention and Control Unit]] * [[w:en:Swasth Jeevan Sewa Guarantee Yojana]] ===Articles for creation=== '''Select a blue link below to start your article''' ====Public health programs in India==== {{colbegin}} * [[w:en:National Leprosy Eradication Program]] * [[w:en:National Vector Borne Disease Control Program]] * [[w:en:Revised National Tuberculosis Control Program]] * [[w:en:National AIDS Control Program]] * [[w:en:Universal Immunization Program]] * [[w:en:Yaws Control Program]] * [[w:en:Integrated Disease Surveillance Program]] * [[w:en:National Guinea Worm Eradication Program]] * [[w:en:National Cancer Control Program]] * [[w:en:National Mental Health Program]] * [[w:en:National Diabetes Control Program]] * [[w:en:National Program for Control and Treatment of Occupational Diseases]] * [[w:en:National Program for Control of Blindness]] * [[w:en:National Program for Control of Diabetes, Cardiovascular diseases and Stroke]] * [[w:en:National Program for Prevention and Control of Deafness]] * [[w:en:Integrated Child Development Services Scheme]] * [[w:en:Midday Meal Scheme]] * [[w:en:Special Nutrition Program]] * [[w:en:National Nutritional Anemia Prophylaxis Program]] * [[w:en:National Iodine Deficiency Disorders Control Program]] * [[w:en:20 Points Program]] * [[w:en:National Water Supply and Sanitation Program]] * [[w:en:National Rural Health Mission]] * [[w:en:Reproductive and Child Health Program]] * [[w:en:National Health Policy 2002]] * [[w:en:National Population Policy 2000]] * [[w:en:National Blood Policy]] * [[w:en:National AIDS Control and Prevention Policy]] * [[w:en:National Policy for Empowerment of Women 2001]] * [[w:en:National Charter for Children]] * [[w:en:National Youth Policy]] * [[w:en:National Nutrition Policy]] * [[w:en:Balwadi Nutrition Programme]] * [[w:en:Family planning in India]] * [[w:en:Health campaigns in Kerala]] ([https://kerala.gov.in/health-campaigns Link]) {{colend}} ====Institutes in India==== {{Wikidata list |sparql=SELECT ?item WHERE { ?item wdt:P31 wd:Q494230. ?item wdt:P17 wd:Q668. } |section= |columns=label:Article |thumb=128 |min_section=2 }} {| class='wikitable sortable' ! Article |- | [[കിംഗ് എഡ്വേർഡ് മെമ്മോറിയൽ ഹോസ്പിറ്റൽ ആന്റ് സേത്ത് ഗോർഡന്ദാസ് സുന്ദർദാസ് മെഡിക്കൽ കോളേജ്]] |- | [[ഡോ. വി.എം. ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്]] |- | [[ഗവൺമെൻ്റ് മെഡിക്കൽ കോളേജ്, അകോല|സർക്കാർ മെഡിക്കൽ കോളേജ് (അകോല)]] |- | [[ജിപ്മെർ]] |- | [[ക്രിസ്ത്യൻ മെഡിക്കൽ കോളേജ് & ഹോസ്പിറ്റൽ]] |- | [[ആംഡ് ഫോഴ്സസ് മെഡിക്കൽ കോളേജ്]] |- | [[ഇന്ദിരാഗാന്ധി മെഡിക്കൽ കോളേജ്]] |- | [[ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, ബനാറസ് ഹിന്ദു യൂണിവേഴ്സിറ്റി]] |- | [[ജവഹർലാൽ നെഹ്റു മെഡിക്കൽ കോളേജ്, ഭഗൽപൂർ]] |- | [[കെ.എസ്. ഹെഗ്ഡെ മെഡിക്കൽ അക്കാദമി]] |- | ''[[:d:Q6374846|Kasturba Medical College, Mangalore]]'' |- | [[കസ്തൂർബ മെഡിക്കൽ കോളേജ്|കസ്തൂർബ മെഡിക്കൽ കോളേജ്, മണിപ്പാൽ]] |- | [[കെമ്പഗൗഡ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[ലാല ലജ്പത് റായ് മെമ്മോറിയൽ മെഡിക്കൽ കോളേജ്]] |- | [[മഹർഷി മാർക്കണ്ഡേശ്വർ സർവകലാശാല, മുല്ലാന]] |- | [[മാൾഡ മെഡിക്കൽ കോളേജ് ആൻഡ് ഹോസ്പിറ്റൽ]] |- | [[എൻആർഐ അക്കാദമി ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[പട്‌ന മെഡിക്കൽ കോളജ് ആന്റ് ഹോസ്പിറ്റൽ]] |- | ''[[:d:Q7165491|People's College of Medical Sciences and Research]]'' |- | [[പോസ്റ്റ് ഗ്രാജുവേറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ എഡ്യൂക്കേഷൻ ആൻഡ് റിസർച്ച് ചണ്ഡീഗഡ്|പോസ്റ്റ്ഗ്രാജുവേറ്റ്ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ എഡ്യൂക്കേഷൻ ആൻഡ് റിസർച്ച്]] |- | [[പണ്ഡിറ്റ് ഭഗവത് ദയാൽ ശർമ്മ പോസ്റ്റ് ഗ്രാജുവേറ്റ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[ആർ.സി.എസ്.എം. ഗവൺമെന്റ് കോളജ് ആന്റ് സി.പി.ആർ ഹോസ്പിറ്റൽ, കോലാപ്പൂർ]] |- | [[രാജേന്ദ്ര ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്, ശ്രീകാകുളം|ഗവൺമെൻ്റ് മെഡിക്കൽ കോളേജ്, ശ്രീകാകുളം]] |- | ''[[:d:Q7387852|S. S. Institute of Medical Sciences]]'' |- | ''[[:d:Q7392844|SRM Institute of Science and Technology]]'' |- | ''[[:d:Q7395054|SUT Academy of Medical Sciences]]'' |- | [[ഷേർ-ഇ-കശ്മീർ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[ശ്രീ വസന്തറാവു നായിക് ഗവണ്മെന്റ് മെഡിക്കൽ കോളേജ്]] |- | ''[[:d:Q4671517|അക്കാദമി ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്]]'' |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഹൈജീൻ ആൻഡ് പബ്ലിക് ഹെൽത്ത്]] |- | [[അമൃത ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[കൊൽക്കത്ത സ്കൂൾ ഓഫ് ട്രോപ്പിക്കൽ മെഡിസിൻ]] |- | ''[[:d:Q5146788|കോളേജ് ഓഫ് നഴ്സിങ്, തിരുവനന്തപുരം]]'' |- | [[ഡോ. സമ്പൂർണാനന്ദ് മെഡിക്കൽ കോളേജ്]] |- | [[ഡോ. സോമർവെൽ മെമ്മോറിയൽ സിഎസ്ഐ മെഡിക്കൽ കോളേജ്]] |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്, ഹൽദ്വാനി]] |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജു് & ഹോസ്പിറ്റൽ, നാഗ്പൂർ]] |- | [[ഗ്രാന്റ് ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്]] |- | [[ഐപിജിഎംഇആർ ആൻഡ് എസ്എസ്കെഎം ഹോസ്പിറ്റൽ]] |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്, രജൗരി|ഗവൺമെൻ്റ് മെഡിക്കൽ കോളേജ്, രജൗരി]] |- | [[ഓട്ടോണമസ് സ്റ്റേറ്റ് മെഡിക്കൽ കോളേജ്, ബസ്തി]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, രാജ്കോട്ട്]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, വിജയ്പൂർ]] |- | ''[[:d:Q109561766|Santiniketan Medical College]]'' |- | ''[[:d:Q115152073|Soban Singh Jeena Government Institute of Medical Science and Research, Almora]]'' |- | ''[[:d:Q115631919|Himalayan Institute of Medical Sciences, Dehradun]]'' |- | ''[[:d:Q115801984|Government Medical College, Alibag]]'' |- | ''[[:d:Q115802202|Government Medical College, Sindhudurg]]'' |- | ''[[:d:Q118383178|Nalbari Medical College and Hospital]]'' |- | ''[[:d:Q118899885|Nagaon Medical College and Hospital]]'' |- | ''[[:d:Q119285956|Amrita Schools of Medicine]]'' |- | ''[[:d:Q127393424|All India Institute of Medical Sciences, Darbhanga]]'' |- | ''[[:d:Q136384237|United Institute of Medical Sciences]]'' |- | ''[[:d:Q136452426|KMC Medical College & Hospital]]'' |- | ''[[:d:Q136721736|IQ City Institute of Nursing Sciences]]'' |- | ''[[:d:Q7917918|Vedanta University]]'' |- | [[വൈദേഹി ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ് ആൻഡ് റിസർച്ച് സെന്റർ]] |- | ''[[:d:Q14957044|Saveetha Institute of Medical And Technical Sciences]]'' |- | ''[[:d:Q14957046|Smt. NHL Municipal Medical College, Ahmedabad]]'' |- | [[ഇഎസ്ഐസി മെഡിക്കൽ കോളേജ്, കൊൽക്കത്ത]] |- | [[കോളേജ് ഓഫ് മെഡിസിൻ & സാഗോർ ദത്ത ഹോസ്പിറ്റൽ]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, ന്യൂഡൽഹി]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, ഭോപ്പാൽ]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസ്, ജോധ്പൂർ]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, ഋഷികേശ്]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസ്, ഭുവനേശ്വർ]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ് പട്‌ന]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, റായ്പൂർ]] |- | [[ബാബ രാഘവ് ദാസ് മെഡിക്കൽ കോളേജ്]] |- | [[ഭഗത് ഫൂൽ സിങ് മെഡിക്കൽ കോളേജ്]] |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്, ശ്രീനഗർ]] |- | [[മമത മെഡിക്കൽ കോളേജ്]] |- | [[മഹാരാജാ അഗ്രസെൻ മെഡിക്കൽ കോളേജ്, അഗ്രോഹ]] |- | [[ഗവണ്മെന്റ് ടി ഡി മെഡിക്കൽ കോളേജ്, ആലപ്പുഴ|ഗവണ്മെന്റ് ടി ഡി മെഡിക്കൽ കോളേജ്]] |- | [[സോറാം മെഡിക്കൽ കോളേജ്]] |- | [[ഗവണ്മെന്റ് മെഡിക്കൽ കോളേജ്, കൊല്ലം]] |- | [[കൽപന ചൗള ഗവൺമെൻ്റ് മെഡിക്കൽ കോളേജ്]] |- | [[രുക്ഷ്മണിബെൻ ദീപ്ചന്ദ് ഗാർഡി മെഡിക്കൽ കോളേജ്]] |- | ''[[:d:Q22080288|All India Institute of Medical Sciences Delhi Extension, Jhajjar]]'' |- | [[ഉത്തർപ്രദേശ് യൂണിവേഴ്സിറ്റി ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[എം.എസ് രാമയ്യ മെഡിക്കൽ കോളേജ്]] |- | ''[[:d:Q28173184|Dr. D. Y. Patil Medical College, Hospital & Research Centre]]'' |- | [[ഡോ. പഞ്ചബ്രാവു ദേശ്മുഖ് മെമ്മോറിയൽ മെഡിക്കൽ കോളേജ്]] |- | ''[[:d:Q28173195|Swami Ramanand Teerth Rural Medical College]]'' |- | ''[[:d:Q30260701|Smt. Kashibai Navale Medical College and General hospital]]'' |- | ''[[:d:Q30261219|മഹാത്മാഗാന്ധി മിഷൻ മെഡിക്കൽ കോളേജ് ആൻഡ് ഹോസ്പിറ്റൽ]]'' |- | ''[[:d:Q30280709|Sinhgad Dental College and Hospital]]'' |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, കല്ല്യാണി]] |- | ''[[:d:Q39046585|The Calcutta Homoeopathic Medical College & Hospital]]'' |- | [[ശ്രീ വെങ്കടേശ്വര മെഡിക്കൽ കോളേജ്]] |- | [[മാണ്ഡ്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്]] |- | [[സിസിഎം മെഡിക്കൽ കോളേജ്, ദുർഗ്]] |- | [[ഡോ. ബി.സി. റോയ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ് & റിസർച്ച്|ഡോ ബിസി റോയ് ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ് & റിസർച്ച്]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, മംഗളഗിരി]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, നാഗ്പൂർ]] |- | ''[[:d:Q61800918|അഹല്യാ സ്കൂൾ ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61800921|അൽ ഷിഫ കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61800944|അമൃത സ്കൂൾ ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801020|കെമിസ്റ്റ്സ് കോള‍ജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ് ആന്റ് റിസർച്ച്]]'' |- | ''[[:d:Q61801158|കോളേജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്]]'' |- | ''[[:d:Q61801160|കോളേജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്]]'' |- | ''[[:d:Q61801161|കോളേജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്, ഗവൺമെന്റ് ടി.ഡി.മെഡിക്കൽ കോളേജ്]]'' |- | ''[[:d:Q61801162|കോളജ് ഓഫ് ഫാർമസി - കണ്ണൂർ മെഡിക്കൽ കോളജ്]]'' |- | ''[[:d:Q61801166|ക്രസന്റ് കോളജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്, കണ്ണൂർ]]'' |- | ''[[:d:Q61801183|ഡിപ്പാർട്ട്മെന്റ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്, മഹാത്മാ ഗാന്ധി യൂനിവേഴ്സിറ്റി, ചെറുവണ്ണൂ‍ ക്യാമ്പസ്]]'' |- | ''[[:d:Q61801185|ഡിപ്പാർട്ട്മെന്റ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്, റീജിയണൽ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ് ആൻഡ് റിസർച്ച്]]'' |- | ''[[:d:Q61801195|ദേവകി അമ്മ മെമ്മോറിയൽ കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801197|ഡി.എം വിംസ് കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801200|ഡോ. ജോസഫ് മാർ തോമ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ് ആൻഡ് റിസർച്ച്]]'' |- | ''[[:d:Q61801204|എലിംസ് കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801330|ഗവൺമെന്റ് കോളേജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്]]'' |- | ''[[:d:Q61801355|ഗ്രേസ് കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801411|ജാമിയ സലഫിയ ഫാർമസി കോളേജ്]]'' |- | ''[[:d:Q61801414|ജെഡിടി ഇസ്ലാം കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801427|കെ.ടി.എൻ കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801428|കെ.വി.എം. കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801430|കരുണ കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801455|കെഎംസിടി കോളേജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ്]]'' |- | ''[[:d:Q61801537|മാലിക് ദീനാർ കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801609|മാർ ഡയോസ്‌കോറസ് കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801731|മൂകാമ്പിക കോളജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ് ആൻഡ് റിസർച്ച്]]'' |- | ''[[:d:Q61801734|മൗലാന കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801743|മൌണ്ട് സിയോൺ കോളേജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ് & റിസർച്ച്]]'' |- | ''[[:d:Q61801772|നാഷണൽ കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801781|നസ്രെത്ത് കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801791|നെഹ്രു കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801809|നിർമ്മല കോളജ് ഓഫ് ഫാർമസി, മൂവാറ്റുപുഴ]]'' |- | ''[[:d:Q61801846|പ്രൈം കോളജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801870|പുഷ്പഗിരി കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801894|രാജീവ് ഗാന്ധി ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61801935|സാൻജോ കോളജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സ്റ്റഡീസ്]]'' |- | ''[[:d:Q61802076|സെന്റ.ജെയിംസ് കോളജ് ഓഫ് ഫ്ർമസ്യൂട്ടിക്കൽ സയൻസ്]]'' |- | ''[[:d:Q61802087|സെന്റ് ജോസഫ്സ് കോളേജ് ഓഫ് ഫാർമസി]]'' |- | ''[[:d:Q61802096|സെന്റ് ജോൺസ് കോളേജ് ഓഫ് ഫാർമസ്യൂട്ടിക്കൽ സയൻസസ് & റിസർച്ച്]]'' |- | ''[[:d:Q61802125|ദി ഡേൽ വ്യൂ കോളേജ് ഓഫ് ഫാർമസി & റിസർച്ച് സെന്റർ]]'' |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, ഗോരഖ്പൂർ]] |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, റായ്ബറേലി]] |- | ''[[:d:Q65284623|All India Institute of Medical Sciences, Madurai]]'' |- | ''[[:d:Q77977463|ഈസ്റ്റ് പോയിന്റ് കോളേജ് ഓഫ് മെഡിക്കൽ സയൻസസ്]]'' |- | ''[[:d:Q84013922|Aditya College of Nursing]]'' |- | ''[[:d:Q84014322|Sapthagiri College of Nursing]]'' |- | ''[[:d:Q84014484|Vivekananda College of Pharmacy]]'' |- | ''[[:d:Q84014490|Vydehi Institute of Medical Sciences]]'' |- | ''[[:d:Q84014820|SS Institute of Nursing Sciences]]'' |- | [[മധുബനി മെഡിക്കൽ കോളേജ് ആൻഡ് ഹോസ്പിറ്റൽ]] |- | ''[[:d:Q91774495|Aditya College of Nursing, Kakinada]]'' |- | ''[[:d:Q91774872|Guntur Medical College, Guntur]]'' |- | ''[[:d:Q91775902|Andhra Medical College, Visakhapatnam]]'' |- | [[ബി.കെ.എൽ. വലവൽക്കർ റൂറൽ മെഡിക്കൽ കോളേജ്]] |- | [[ബുന്ദേൽഖണ്ഡ് മെഡിക്കൽ കോളേജ്]] |- | ''[[:d:Q96376588|Dr. D Y Patil Medical College, Kolhapur]]'' |- | ''[[:d:Q96376589|Dr. D Y Patil Medical College, Navi Mumbai]]'' |- | [[ഡോ. വസന്തറാവു പവാർ മെഡിക്കൽ കോളേജ് ഹോസ്പിറ്റൽ ആൻഡ് റിസർച്ച് സെന്റർ]] |- | ''[[:d:Q96378970|GMERS Medical College and Hospital, Sola]]'' |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്, അനന്ത്നാഗ്|ഗവൺമെൻ്റ് മെഡിക്കൽ കോളേജ്, അനന്ത്നാഗ്]] |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്, ഗോണ്ടിയ]] |- | [[ഗവൺമെന്റ് മെഡിക്കൽ കോളേജ്, ഷാഹ്ദോൾ]] |- | ''[[:d:Q96384042|Jagannath Gupta Institute of Medical Sciences and Hospital]]'' |- | ''[[:d:Q96384259|ജവഹർലാൽ നെഹ്‌റു മെമ്മോറിയൽ കോളേജ്, വാർദ്ധ]]'' |- | ''[[:d:Q96398475|Parul Institute of Medical Science and Research]]'' |- | ''[[:d:Q97256936|Maharajah Institute of Medical Sciences]]'' |- | ''[[:d:Q99298695|Aligarh Muslim University Faculty of Medicine]]'' |- | ''[[:d:Q99298698|Aligarh Muslim University Faculty of Unani Medicine]]'' |- | ''[[:d:Q99298699|Annamalai University Faculty of Medicine]]'' |- | ''[[:d:Q99298700|Annamalai University Rajah Muthaiah Medical College]]'' |- | ''[[:d:Q99298701|KLE University's Shri B M Kankanawadi Ayurveda Mahavidyalaya]]'' |- | ''[[:d:Q99298703|Siksha O Anusandhan University Institute of Medical Sciences and SUM Hospital]]'' |- | ''[[:d:Q99298704|Saveetha University Saveetha Medical College and Hospital]]'' |- | ''[[:d:Q99298706|Baba Farid University of Health Sciences Guru Gobind Singh Medical College and Hospital]]'' |- | ''[[:d:Q99298707|Galgotias University School of Medical and Allied Sciences]]'' |- | ''[[:d:Q99298708|Sharda University School of Medical Sciences and Research]]'' |- | ''[[:d:Q99298710|SRM University College of Medicine and Health Sciences]]'' |- | ''[[:d:Q99298711|Aliah University Faculty of Medical Sciences]]'' |- | ''[[:d:Q99298713|Mahatma Gandhi University School of Medical Education]]'' |- | ''[[:d:Q99298714|Desh Bhagat University School of Ayurveda]]'' |- | ''[[:d:Q99298715|University of Delhi Faculty of Ayurvedic and Unami Medicine]]'' |- | ''[[:d:Q99298716|University of Delhi Faculty of Homeopathic Medicine]]'' |- | ''[[:d:Q99298718|University of Delhi Faculty of Medical Sciences]]'' |- | ''[[:d:Q99298720|Punjabi University Faculty of Medicine]]'' |- | ''[[:d:Q99298721|Vinayaka Missions University Faculty of Homoeopathy]]'' |- | ''[[:d:Q99298723|Vinayaka Missions University Faculty of Medicine]]'' |- | ''[[:d:Q99298724|Assam University Susruta School of Medical and Paramedical Sciences]]'' |- | ''[[:d:Q99518028|All India Institute of Medical Sciences, Bilaspur]]'' |- | [[ഓൾ ഇന്ത്യ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് മെഡിക്കൽ സയൻസസ്, ഗുവാഹത്തി]] |- | ''[[:d:Q100993109|SRM University - Ramapuram Campus]]'' |- | ''[[:d:Q101003387|പഞ്ചാബ് യൂണിവേഴ്സിറ്റി ഫാക്കൽട്ടി ഓഫ് മെഡിക്കൽ സയൻസെസ്]]'' |- | ''[[:d:Q101003456|HIHT University]]'' |- | ''[[:d:Q101003565|Amity University Haryana Medical Program]]'' |- | ''[[:d:Q101003572|Shree Guru Gobind Singh Tricentenary University Faculty of Medicine and Health Sciences]]'' |- | ''[[:d:Q101003679|University of Jammu Faculty of Medicine]]'' |- | ''[[:d:Q101003709|Rama University Faculty of Medical Sciences]]'' |- | ''[[:d:Q101003925|Central University of Haryana School of Medical Sciences]]'' |- | ''[[:d:Q101003976|ഭാരതി വിദ്യാപീഠ് യൂണിവേഴ്സിറ്റി ഡെൻ്റൽ കോളേജ് ആൻഡ് ഹോസ്പിറ്റൽ]]'' |} {{Wikidata list end}} You are welcome to write about topics that are not included in this list. For more vaccine related articles needing creation, please visit the [[w:en:Wikipedia:Vaccine_safety/Task_list|task list]] on the [[w:en:Wikipedia:Vaccine_safety|Vaccine Safety Project]]. {{-}} </div> 35z10vwdgtrpbightclny5hvzyazi3f വഞ്ജിറ മാതായ് 0 539466 4622099 4611401 2026-05-23T03:02:08Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622099 wikitext text/x-wiki {{prettyurl|Wanjira Mathai}} {{Infobox person | name = വഞ്ജിറ മാതായ് | image = Wanjira Mathai at Global Scholars Symposium 2013.jpg | caption = Mathai speaks at the [[Global Scholars Symposium]] in 2013 | birth_name = | birth_date = 1971 | birth_place = [[കെനിയ]] | death_date = | death_place = | alma_mater = [[Hobart and William Smith Colleges|ഹൊബാർട്ട് & വില്യം സ്മിത്ത്]] <br> [[Emory University|എമോറി സർവകലാശാല]] | occupation = | employer = [[Carter Center|കാർട്ടർ സെന്റർ]] <br> [[World Resources Institute|വേൾഡ് റിസോഴ്സസ് ഇൻസ്റ്റിറ്റ്യൂട്ട്]] <br> [[ഗ്രീൻ ബെൽറ്റ് പ്രസ്ഥാനം]] | parents = [[വങ്കാരി മാതായ്]] }} കെനിയൻ പരിസ്ഥിതി പ്രവർത്തകയും ആക്ടിവിസ്റ്റുമാണ് '''വഞ്ജിറ മാതായ് ''' (ജനനം: ഡിസംബർ 1971). [[കെനിയ]]യിലെ [[നെയ്‌റോബി]] ആസ്ഥാനമായുള്ള ആഫ്രിക്കയുടെ വേൾഡ് റിസോഴ്‌സസ് ഇൻസ്റ്റിറ്റ്യൂട്ടിന്റെ വൈസ് പ്രസിഡന്റും റീജിയണൽ ഡയറക്ടറുമാണ്.<ref name=":7">{{Cite web|url=https://www.wri.org/profile/wanjira-mathai|title=Wanjira Mathai|date=2017-01-26|website=World Resources Institute|language=en|access-date=2019-12-27}}</ref> വനനശീകരണം, ഊർജ്ജ ലഭ്യത എന്നിവയുൾപ്പെടെയുള്ള ആഗോള പ്രശ്‌നങ്ങൾ അവർ ഏറ്റെടുക്കുന്നു. വേൾഡ് റിസോഴ്‌സസ് ഇൻസ്റ്റിറ്റ്യൂട്ടിലെ മുതിർന്ന ഉപദേഷ്ടാവായി പ്രവർത്തിച്ചതിനും [[ഗ്രീൻ ബെൽറ്റ് പ്രസ്ഥാനം|ഗ്രീൻ ബെൽറ്റ്പ്രസ്ഥാനത്തിലെ]] തന്റെ പ്രവർത്തനത്തിലൂടെ 30 ദശലക്ഷത്തിലധികം വൃക്ഷത്തൈകൾ നട്ടുപിടിപ്പിക്കാനുള്ള സമീപകാല പ്രചാരണത്തിനും 2018 ൽ വഞ്ജിറയെ ന്യൂ ആഫ്രിക്കൻ മാഗസിൻ 100 സ്വാധീനമുള്ള ആഫ്രിക്കക്കാരിൽ ഒരാളായി തിരഞ്ഞെടുക്കപ്പെട്ടു. <ref name=":8">{{Cite web|url=https://www.alueducation.com/our-list-of-top-influential-african-women-in-2018/|title=Our List of Top Influential African Women in 2018|date=2019-03-12|website=ALU|language=en-US|access-date=2019-12-27|archive-date=2021-06-22|archive-url=https://web.archive.org/web/20210622235021/https://www.alueducation.com/our-list-of-top-influential-african-women-in-2018/|url-status=dead}}</ref> == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == മാതായ് കെനിയയിൽ ജനിച്ചു വളർന്നു. <ref>{{Cite web|url=http://womensactivism.nyc/stories/2279|title=Women's Activism NYC|website=womensactivism.nyc|access-date=2019-12-27}}</ref><ref>{{Cite web|url=https://events.stanford.edu/events/309/30943|title=Trees for Africa and Beyond: The Vision Continues|last=Calendar|first=Stanford Event|website=events.stanford.edu|language=en|access-date=2019-12-27|archive-date=2021-10-26|archive-url=https://web.archive.org/web/20211026205443/https://events.stanford.edu/events/309/30943/|url-status=dead}}</ref> അമ്മ, [[വങ്കാരി മാതായ്]] ഒരു സാമൂഹിക, പരിസ്ഥിതി, രാഷ്ട്രീയ പ്രവർത്തകയും 2004 ൽ സമാധാനത്തിനുള്ള നോബൽ സമ്മാനം നേടിയ ആദ്യത്തെ ആഫ്രിക്കൻ വനിതയുമായിരുന്നു. <ref>{{Cite web|url=https://www.nobelprize.org/prizes/peace/2004/maathai/cv/|title=The Nobel Peace Prize 2004|website=NobelPrize.org|language=en-US|access-date=2019-12-27}}</ref><ref>{{Cite web|url=https://www.bbc.com/news/av/magazine-38222562/my-mother-the-nobel-peace-prize-pioneer|title=My mother, the Nobel Peace Prize pioneer|website=BBC News|language=en-GB|access-date=2019-12-29}}</ref> നെയ്‌റോബിയിലെ സ്റ്റേറ്റ് ഹൗസ് ഗേൾസ് ഹൈസ്‌കൂളിലെ വിദ്യാർത്ഥിനിയായിരുന്നു മാതായ്. ഹൈസ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയ ശേഷം ഹോബാർട്ട്, വില്യം സ്മിത്ത് കോളേജുകളിൽ പഠിക്കാനായി [[ന്യൂയോർക്ക് സിറ്റി]]യിലേക്ക് പോയി. 1994 ൽ അവിടെ ബയോളജിയിൽ ബിരുദം നേടി.<ref name=":4">{{Cite web|url=https://www.nation.co.ke/lifestyle/mynetwork/3141096-3507380-uoiab2z/index.html|title=Personality of the week: Wanjira Mathai, Green Belt Movement|website=Daily Nation|language=en|access-date=2019-12-27}}</ref><ref>{{Cite book|last1=Chesler|first1=Ellen|url=https://books.google.com/books?id=ZJrwCQAAQBAJ&pg=PR23|title=Women and Girls Rising: Progress and resistance around the world|last2=McGovern|first2=Terry|date=2015-06-19|publisher=Routledge|isbn=978-1-317-48266-6|language=en}}</ref><ref>{{Cite web|url=https://www2.hws.edu/wanjira-mathai-94-named-personality-of-the-week/|title=Wanjira Mathai '94 Named Personality of the Week|website=www2.hws.edu|language=en|access-date=2019-12-27|archive-date=2022-04-16|archive-url=https://web.archive.org/web/20220416121016/https://www2.hws.edu/wanjira-mathai-94-named-personality-of-the-week/|url-status=dead}}</ref>എമോറി സർവകലാശാലയിൽ നിന്ന് പബ്ലിക് ഹെൽത്ത്, ബിസിനസ് അഡ്മിനിസ്ട്രേഷൻ എന്നിവയിൽ ബിരുദാനന്തര ബിരുദം നേടി.<ref name=":10">{{Cite web|url=https://www.metisfund.org/2019-fellows/wanjira-mathai|title=Wanjira Mathai|website=Metis Fund|language=en-US|access-date=2019-12-27|archive-date=2019-12-27|archive-url=https://web.archive.org/web/20191227185332/https://www.metisfund.org/2019-fellows/wanjira-mathai|url-status=dead}}</ref><ref name=":5">{{Cite web|url=https://archive.globallandscapesforum.org/glf-2015/speaker/wanjira-mathai/|title=Wanjira Mathai|website=Global Landscapes Forum Paris 5-6 Dec|language=en-US|access-date=2019-12-30|archive-date=2021-10-27|archive-url=https://web.archive.org/web/20211027070542/https://archive.globallandscapesforum.org/glf-2015/speaker/wanjira-mathai/|url-status=dead}}</ref><ref name=":4" />ബിരുദാനന്തരം മാതായ് കാർട്ടർ സെന്ററിൽ ചേർന്നു. അവിടെ രോഗ നിയന്ത്രണത്തിനായി പ്രവർത്തിച്ചു.<ref>{{Cite web|url=http://www.fao.org/about/meetings/world-forestry-congress/speakers/wanjira-mathai/en/|title=Wanjira Mathai{{!}} World Forestry Congress |work=Food and Agriculture Organization of the United Nations|access-date=2019-12-27}}</ref>ആഫ്രിക്കൻ സമൂഹങ്ങളിൽ ബാധിക്കുന്ന ഡ്രാക്കുൻകുലിയാസിസ്, ഓങ്കോസെർസിയാസിസ്, ലിംഫറ്റിക് ഫിലറിയാസിസ് എന്നീ രോഗങ്ങളെക്കുറിച്ച് അവർ ഇവിടെ പഠിച്ചു. <ref name=":2">{{Cite web|url=https://nairobigarage.com/we-zoomin-on-wpowers-director-wanjira-mathai/|title=We #Zoomin: on WPower's Director Wanjira Mathai|date=2017-03-16|website=Nairobi Garage|language=en-US|access-date=2019-12-27}}</ref> == ഗവേഷണവും കരിയറും == === ഗ്രീൻ ബെൽറ്റ് പ്രസ്ഥാനം === മാതായ് വേൾഡ് ഫ്യൂച്ചർ കൗൺസിലിലും ഗ്രീൻ ബെൽറ്റ് പ്രസ്ഥാനത്തിന്റെ ബോർഡിലും സേവനമനുഷ്ഠിക്കുന്നു. <ref name=":0">{{Cite web|url=https://www.worldfuturecouncil.org/p/wanjira-mathai/|title=Wanjira Mathai|website=World Future Council|language=en-US|access-date=2019-12-27|archive-date=2022-04-19|archive-url=https://web.archive.org/web/20220419144711/https://www.worldfuturecouncil.org/p/wanjira-mathai/|url-status=dead}}</ref>ഗ്രീൻ ബെൽറ്റ് പ്രസ്ഥാനം 1977 ൽ സ്ഥാപിച്ചത് വഞ്ജിറയുടെ അമ്മ വംഗാരിയാണ്. 2002 മുതൽ മാതായ് ഗ്രീൻ ബെൽറ്റ് പ്രസ്ഥാനത്തിന്റെ ഇന്റർനാഷണൽ ഡയറക്ടറായി സേവനമനുഷ്ഠിച്ചു. പിന്നീട് സംഘടനയുടെ എക്സിക്യൂട്ടീവ് ഡയറക്ടറായി.<ref name=":5" /><ref>{{Cite web|url=https://www.synergos.org/news-and-insights/2009/seeking-synergy-funding-climate-change-mitigation-and-adaptation|title=Seeking synergy: Funding Climate Change Mitigation and Adaptation {{!}} Synergos|website=www.synergos.org|access-date=2019-12-30}}</ref> ഈ ഓർഗനൈസേഷനിൽ അവർ ധനസമാഹരണ പരിപാടികൾക്കും വിഭവ സമാഹരണത്തിനും നേതൃത്വം നൽകി. ഒപ്പം അന്താരാഷ്ട്ര വ്യാപനത്തിനും സൗകര്യമൊരുക്കി. <ref name=":3">{{Cite web|url=https://news.globallandscapesforum.org/28956/values-based-youth-leadership-education-key-to-environmental-sustainability-wangari-maathai-foundation-chair/|title=Values-based youth leadership education key to environmental sustainability: Wangari Maathai Foundation chair|date=2018-08-17|website=Landscape News|language=en-US|access-date=2019-12-27}}</ref> മരങ്ങൾ നട്ടുപിടിപ്പിക്കാൻ സഹായിക്കാൻ ഗ്രീൻ ബെൽറ്റ് പ്രസ്ഥാനം ആളുകളെ വിളിച്ചപ്പോൾ കൂടുതൽ സ്ത്രീകൾ പ്രതികരിക്കുന്നതായി അവർ മനസ്സിലാക്കി. <ref name=":3" /> വൃക്ഷത്തൈകൾ നട്ടുപിടിപ്പിക്കുന്ന ജോലി അഗ്രോഫോർസ്റ്റ്രി എന്നും വിളിക്കപ്പെടുന്നു. ഇത് അമ്മയുടെ പാരിസ്ഥിതിക പ്രവർത്തനങ്ങളിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ടതാണെന്ന് അവർ പറഞ്ഞു. <ref name=":6">{{Cite web|url=https://www.nationalgeographic.com/culture/food/the-plate/2016/october/in-kenya--the-answer-to-climate-change-may-be-in-the-trees/|title=Climate Change Resilience May Mean Planting More Trees|date=2016-10-28|website=National Geographic|language=en|access-date=2020-01-03}}</ref> സമാധാനത്തിനുള്ള നോബൽ സമ്മാനം അമ്മ നേടിയതിനുശേഷം മാതായ് അവർക്കൊപ്പം ഒരു ലോക പര്യടനത്തിൽ പങ്കെടുത്തു. <ref name=":2" /> 2011 ൽ അമ്മ അന്തരിച്ചപ്പോൾ ക്ലബ്ബിനെ നയിക്കാൻ അവർ സഹായിച്ചു. <ref name=":10" /> == മറ്റ് ഓർഗനൈസേഷനുകളും ഫൌണ്ടേഷനുകളും == [[File:Wanjira Mathai, The Green Belt Movement, Kenya Board Chair and Director of Wangari Maathai Institute address the audience.jpg|thumb|Wanjira Mathai talking as Director of the Wangari Maathai Institute]] പാർട്ട്ണർഷിപ് ഫോർ വുമൺ ആൻറ്റ്റപ്രനർസ് ഇൻ റിനെവ്ബിൾസ് (wPOWER) ന്റെ മുതിർന്ന ഉപദേശകയായി മാതായ് പ്രവർത്തിക്കുന്നു. <ref>{{Cite web|url=http://www.worldagroforestry.org/board-member/wanjira-mathai|title=Wanjira Mathai|website=World Agroforestry {{!}} Transforming Lives and Landscapes with Trees|language=en|access-date=2019-12-27|archive-date=2019-12-27|archive-url=https://web.archive.org/web/20191227185343/http://www.worldagroforestry.org/board-member/wanjira-mathai|url-status=dead}}</ref><ref>{{Citation|title=An Evening with Wanjira Mathai, Director - wPOWER Hub|url=https://www.youtube.com/watch?v=muPSF5_8S7w|language=en|access-date=2019-12-27}}</ref> കിഴക്കൻ ആഫ്രിക്കയിലെ ഏകദേശം നാല് ദശലക്ഷം സ്ത്രീകൾക്ക് പുനരുപയോഗ ഊർജ്ജം എത്തിക്കുന്നതിനുള്ള ശ്രമത്തിൽ wPOWER പുനരുപയോഗ ഊർജ്ജ നേതൃത്വത്തിലുള്ള സ്ത്രീകളെ പ്രോത്സാഹിപ്പിക്കുന്നു. <ref name=":1">{{Cite web|url=https://skoll.org/contributor/wanjira-mathai/|title=Skoll {{!}} Wanjira Mathai|access-date=2019-12-27}}</ref>മാതായ്യെ സംബന്ധിച്ചിടത്തോളം, സുസ്ഥിര വികസന ലക്ഷ്യങ്ങളിൽ പലതും നിറവേറ്റുന്ന സാമ്പത്തിക ശാക്തീകരണമാണ് പുനരുപയോഗ ഊർജ്ജവുമായി സ്ത്രീകളുടെ ഇടപെടൽ. <ref name=":1" /> കെനിയയിൽ ആധുനികവത്കരണം നടക്കുന്നുണ്ടെങ്കിലും സ്ത്രീകൾ ഇപ്പോഴും വിറക് ശേഖരിക്കുന്നതിന് ദിവസത്തിൽ മണിക്കൂറുകളോളം ചെലവഴിക്കുന്നു. കൂടാതെ 5 വയസ്സിന് താഴെയുള്ള കുട്ടികളിൽ സംഭവിക്കുന്ന മരണങ്ങളിൽ പകുതിയും സംഭവിക്കുന്നത് ഗാർഹിക വായു മലിനീകരണം മൂലമാണ്. <ref>{{Cite web|url=https://cynthiauntamed.com/2017/02/21/wanjira-mathai-women-and-energy/|title=WANJIRA MATHAI; WOMEN AND ENERGY|date=2017-02-21|website=Cynthia {{!}} UNTAMED|language=en-GB|access-date=2019-12-27}}</ref> മാതായ് ക്ലീൻ പാചക അലയൻസ് ഉപദേശക സമിതിയിൽ സേവനമനുഷ്ഠിക്കുന്നു. കൂടാതെ എർത്ത് ചാപ്റ്റർ ഇന്റർനാഷണൽ കൗൺസിൽ അംഗവുമാണ്. <ref>{{Cite web|url=http://cleancookingalliance.org/about/our-team/9.html|title=Clean Cooking Alliance|website=Clean Cooking Alliance|language=en|access-date=2019-12-27|archive-date=2021-05-14|archive-url=https://web.archive.org/web/20210514230234/https://www.cleancookingalliance.org/about/our-team/9.html|url-status=dead}}</ref><ref name=":9">{{Cite web|title=The Green Belt Movement|url=http://www.greenbeltmovement.org/|last=http://www.cstraight.com|first=Cstraight Media-|website=www.greenbeltmovement.org|language=en|access-date=2020-04-07|archive-date=2019-09-22|archive-url=https://web.archive.org/web/20190922064433/http://www.greenbeltmovement.org/|url-status=dead}}</ref> സെന്റർ ഫോർ ഇന്റർനാഷണൽ ഫോറസ്ട്രി റിസർച്ചിന്റെ (സിഫോർ) ബോർഡ് ഓഫ് ട്രസ്റ്റികളിലും അവർ സേവനമനുഷ്ഠിക്കുന്നു. <ref>{{Cite web|url=https://www.cifor.org/bot/wanjira-mathai/|title=Wanjira Mathai|website=Center for International Forestry Research|language=en-US|access-date=2019-12-27}}</ref> ആറ് സെക്കൻഡ് ഇക്യു പ്രാക്ടീഷണർമാരിൽ ഒരാളാണ് അവർ. <ref name=":10" />ഈ പരിശീലകർ വൈകാരിക ബുദ്ധി പ്രോത്സാഹിപ്പിക്കാനും പോസിറ്റിവിറ്റി സംസ്കാരം സൃഷ്ടിക്കാൻ മറ്റുള്ളവരെ പിന്തുണയ്ക്കാനും ശ്രമിക്കുന്നു.<ref>{{Cite web|url=https://www.6seconds.org/about/|title=A Billion People Practicing Emotional Intelligence: The EQ Network Vision|website=Six Seconds|language=en-US|access-date=2020-04-08}}</ref> 2016 മുതൽ, മാതായ് വംഗാരി മാതായ് ഫൗണ്ടേഷന്റെ ചെയർ പേഴ്‌സണായി സേവനമനുഷ്ഠിച്ചിട്ടുണ്ട്.<ref name=":4" /><ref>{{Cite web|url=https://peaceboat.org/english/news/video-wanjira-mathai|title=Video: Wanjira Mathai|website=Peace Boat|language=en|access-date=2019-12-27}}</ref><ref>{{Cite web|url=http://www.wangarimaathai.org/about-us/|title=About Us – Wangari Maathai|language=en-GB|access-date=2019-12-27|archive-date=2020-02-18|archive-url=https://web.archive.org/web/20200218152724/http://www.wangarimaathai.org/about-us/|url-status=dead}}</ref> യുവാക്കൾ നേതാക്കളായി സേവനമനുഷ്ഠിക്കുന്ന ഒരു ലക്ഷ്യ സംസ്കാരം പ്രോത്സാഹിപ്പിക്കുന്നതിലൂടെ വംഗരി മാതായ്യുടെ പാരമ്പര്യം മുന്നോട്ട് കൊണ്ടുപോകാൻ ഫൗണ്ടേഷൻ നോക്കുന്നു. ഫൗണ്ടേഷനുമായുള്ള അവരുടെ പ്രവർത്തനത്തെക്കുറിച്ച് ചോദിച്ചപ്പോൾ, "ഞാൻ എന്റെ അമ്മയുടെ നിഴലിലല്ല ജീവിക്കുന്നത്. ഞാൻ അവരുടെ വെളിച്ചത്തിലാണ് ജീവിക്കുന്നത്..." എന്ന് മാതായ് പ്രതികരിച്ചു.<ref>{{Cite web|url=https://www.huffpost.com/entry/beyond-cop21-my-stroll-wi_b_9067150|title=Beyond COP21: My Stroll With Wanjira Mathai, Director, wPOWER Hub, Wangari Maathai Institute & Chair, the Green Belt Movement|last1=Wikina|first1=Ebenezar|last2=Journalist|first2=ContributorDigital|date=2016-01-27|website=HuffPost|language=en|access-date=2019-12-27|last3=Shaper|first3=World Economic Forum Global}}</ref> ഫൗണ്ടേഷന് മൂന്ന് മുൻ‌ഗണനകളുണ്ട്: വാങ്കരി മുത മാതായ് വീട് പരിപാലിക്കുക, ചെറുപ്പത്തിൽ തന്നെ സർഗ്ഗാത്മകതയും ധൈര്യവും പ്രോത്സാഹിപ്പിക്കുന്നതിന് യുവാക്കളിൽ നേതൃത്വപരമായ കഴിവുകൾ വളർത്തിയെടുക്കുക (വാനകേശോ), യുവാക്കൾക്കുള്ള ഒരു കൂട്ടായ്മ.<ref name=":3" /> യുവാക്കളെ പഠിപ്പിക്കേണ്ടതിന്റെ പ്രാധാന്യത്തിലുള്ള അവരുടെ വിശ്വാസത്തിന്റെ ഉദാഹരണമായി, നെയ്‌റോബി സർവകലാശാലയിലെ (ഡബ്ല്യുഎംഐ) വംഗാരി മാത്തായി ഇൻസ്റ്റിറ്റ്യൂട്ട് ഫോർ പീസ് ആൻഡ് എൻവയോൺമെന്റൽ സ്റ്റഡീസിന്റെ പ്രോജക്ട് ഡയറക്ടറായിരുന്നു അവർ. പോസിറ്റീവ് നൈതികതയും സുസ്ഥിര വികസനവും പ്രോത്സാഹിപ്പിക്കുന്നതിൽ ഈ സ്ഥാപനം ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു.<ref name=":9" /><ref>{{Cite web|url=https://wmi.uonbi.ac.ke/index.php/basic-page/our-vision|title=Our Vision {{!}} Wangari Maathai Institute for Peace and Environmental Studies|website=wmi.uonbi.ac.ke|access-date=2020-04-07}}</ref> യുവാക്കളെ പഠിപ്പിക്കുക എന്നത് എല്ലായ്‌പ്പോഴും മാതായ്യുടെ ലക്ഷ്യങ്ങളിലൊന്നാണ്. കൂടാതെ അവർ പറയുന്നു, "മനുഷ്യർ അഴിമതിക്കാരായി ജനിക്കുന്നില്ല. ചില ഘട്ടങ്ങളിൽ ഈ സ്വഭാവങ്ങൾ കൂട്ടായ പുരോഗതിയെക്കാൾ വ്യക്തിഗത നേട്ടം പ്രോത്സാഹിപ്പിക്കുന്ന ഒരു സംസ്കാരത്താൽ വളർത്തിയെടുക്കപ്പെടുന്നു." യുവാക്കളെ ബോധവൽക്കരിക്കുന്നത് കെനിയയിൽ സമാധാനം കെട്ടിപ്പടുക്കുന്നതിനും അഴിമതി കുറയ്ക്കുന്നതിനും സഹായിക്കുമെന്ന് അവർ വിശ്വസിക്കുന്നു. യുവാക്കൾ ഭാവിയിലെ നേതാക്കളായി വളരും.<ref>{{Cite web|url=https://blog.ted.com/we-the-future-2019-talks-from-ted-skoll-foundation-and-united-nations-foundation/|title=We the Future 2019: Talks from TED, the Skoll Foundation and the United Nations Foundation|date=2019-09-25|website=TED Blog|language=en|access-date=2020-04-07}}</ref> യുവാക്കളുടെ നേതൃത്വം, പരിസ്ഥിതി, കാലാവസ്ഥാ വ്യതിയാനം എന്നീ വിഷയങ്ങളിൽ ഒരു പ്രചോദനാത്മക സ്പീക്കറായതിനാൽ അവർ ഈ വിഷയങ്ങളിൽ പലപ്പോഴും സംസാരിക്കാറുണ്ട്.<ref name=":10" /> കൂടാതെ, കെനിയയിലെ വേൾഡ് അഗ്രോഫോറസ്ട്രി സെന്ററിന്റെ (ICRAF) ബോർഡിൽ മാതായ് ഇരിക്കുന്നു.<ref name=":0" /> 2018-ൽ ന്യൂ ആഫ്രിക്കൻ മാഗസിൻ ഏറ്റവും സ്വാധീനമുള്ള 100 ആഫ്രിക്കക്കാരിൽ ഒരാളായും ആഫ്രിക്കൻ ലീഡർഷിപ്പ് യൂണിവേഴ്‌സിറ്റിയിലെ ഏറ്റവും സ്വാധീനമുള്ള ആഫ്രിക്കൻ വനിതയായും മാതായ്യെ തിരഞ്ഞെടുത്തു.<ref>{{Cite web|url=https://kiss100.co.ke/11-kenyans100-influential-africans/|title=Hurray! 11 Kenyans make it to the list of 100 most influential Africans|last=Lily|first=Mwangi|date=2018-12-02|website=Kiss FM|language=en-US|access-date=2019-12-27|archive-date=2019-12-27|archive-url=https://web.archive.org/web/20191227223040/https://kiss100.co.ke/11-kenyans100-influential-africans/|url-status=dead}}</ref><ref name=":8"/> 2019 ഡിസംബർ വരെ വേൾഡ് റിസോഴ്‌സ് ഇൻസ്റ്റിറ്റ്യൂട്ടിൽ ആഫ്രിക്കയുടെ വൈസ് പ്രസിഡന്റും റീജിയണൽ ഡയറക്ടറുമായി മാതായ് സേവനമനുഷ്ഠിച്ചിട്ടുണ്ട്.<ref name=":0" /><ref name=":7"/> ഈ ശേഷിയിൽ മാതായ് കെനിയൻ പരിസ്ഥിതി മന്ത്രി ജൂഡി വഖുംഗുവിനെ 2030-ഓടെ കെനിയയിൽ വനനശിപ്പിച്ച 12.6 ദശലക്ഷം ഏക്കർ ഭൂമി പുനഃസ്ഥാപിക്കുന്നതിന് പ്രതിജ്ഞാബദ്ധത അറിയിച്ചു.<ref name=":6"/> ആഫ്രിക്കൻ ഫോറസ്റ്റ് ലാൻഡ്‌സ്‌കേപ്പ് റെസ്റ്റോറേഷൻ ഇനീഷ്യേറ്റീവിന്റെ (AFR100) ഭാഗമാണിത്. 2030-ഓടെ ആഫ്രിക്കയിലെ 100 ദശലക്ഷം ഹെക്ടറിലധികം വനനശീകരണ ഭൂമി പുനഃസ്ഥാപിക്കാനുള്ള ഒരു സംരംഭത്തിന് മാതായ് മേൽനോട്ടം വഹിക്കുന്നു.<ref>{{Cite web|url=https://africabusinesscommunities.com/agribusiness/news/world-resources-institute-appoints-wanjira-mathai-as-regional-director-for-africa/|title=World Resources Institute appoints Wanjira Mathai as Regional Director for Africa|last=Communities|first=Africa Business|website=Africa Business Communities|language=en|access-date=2019-12-27|archive-date=2021-10-24|archive-url=https://web.archive.org/web/20211024171110/https://africabusinesscommunities.com/agribusiness/news/world-resources-institute-appoints-wanjira-mathai-as-regional-director-for-africa/|url-status=dead}}</ref><ref>{{Cite web|url=http://rekordeast.co.za/afp/127051/at-cop21-africans-aim-to-restore-100-million-hectares-of-forest/|title=At COP21, Africans aim to restore 100 million hectares of forest {{!}} AFP|date=2014-07-24|website=Rekord East|access-date=2019-12-27|archive-date=2019-12-27|archive-url=https://web.archive.org/web/20191227223050/https://rekordeast.co.za/afp/127051/at-cop21-africans-aim-to-restore-100-million-hectares-of-forest/|url-status=dead}}</ref> == അവലംബം== {{reflist}} {{Authority control}} [[വർഗ്ഗം:കെനിയൻ പരിസ്ഥിതി പ്രവർത്തകർ]] [[വർഗ്ഗം:1971-ൽ ജനിച്ചവർ]] 0bu283t3tpous1xdn0gguk2fg2jugbn ജെ. ചിഞ്ചു റാണി 0 539547 4621547 4595648 2026-05-22T13:07:49Z GV2010 217548 /* */ 4621547 wikitext text/x-wiki {{Infobox Indian politician | name = J. Chinchu Rani | native_name = | image = J Chinjurani.jpg | image_size = 210px | office = സംസ്ഥാന മൃഗസംരക്ഷണ - ക്ഷീരവികസന വകുപ്പ് മന്ത്രി | term_start = {{Start date|2021|05|20|df=yes}} | term_end = 17 മേയ് 2026 | predecessor = [[കെ. രാജു]] | successor = [[ബിന്ദു കൃഷ്ണ]] | office1 = [[Member of the Legislative Assembly (India)|Member]] of the [[Kerala Legislative Assembly]] | constituency1 = [[Chadayamangalam (State Assembly constituency)|Chadayamangalam]] | term_start1 = {{Start date|2021|05|20|df=yes}} | term_end1 = 06 മെയ് 2026 | predecessor1 = [[മുല്ലക്കര രത്നാകരൻ]] | successor1 = | birth_date = | birth_place = [[Kollam district|Kollam]], [[Kerala]], India | nationality = [[Indian people|Indian]] | party = [[Communist Party of India]] | spouse = | children = | alma_mater = | website = | footnotes = | source = }} സി.പി.ഐ. ദേശീയ കൗൺസിൽ അംഗവും [[പതിനഞ്ചാം കേരളനിയമസഭ|പതിനഞ്ചാം കേരള നിയമസഭയിൽ]] [[ചടയമംഗലം നിയമസഭാമണ്ഡലം|ചടയമംഗലം മണ്ഡലത്തിനെ]] പ്രതിനിധീകരിച്ച<ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/02/kerala-assembly-election-2021-results-winners-statistics-in-graphics.html|title=സെഞ്ചുറിക്കരികിൽ എൽഡിഎഫ്; ഇതാണ് നമ്മുടെ 140 എംഎൽഎമാർ {{!}} ഗ്രാഫിക്‌സ്|access-date=2021-05-03|language=ml}}</ref> ഒരു രാഷ്ട്രീയ പ്രവർത്തകയുമാണ് '''ജെ. ചിഞ്ചു റാണി '''. [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021-ലെ തിരഞ്ഞെടുപ്പിൽ]] കെപിസിസി സെക്രട്ടറിയായ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിലെ]] എം.എം. നസീറിനെ 13128 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിൽ പരാജയപ്പെടുത്തിയാണ് ചിഞ്ചു റാണി നിയമസഭയിലേക്ക് എത്തിയത്.<ref>{{Cite web|url=https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-chadayamangalam-election-result.html|title=ചടയമംഗലത്ത് യുഡിഎഫിന് വീണ്ടും കനത്ത ആഘാതം; എൽഡിഎഫ് കേന്ദ്രങ്ങളിൽ ആഹ്ലാദം|access-date=4 May 2021|date=3 May 2021|publisher=മനോരമ|archive-date=2021-05-04|archive-url=https://archive.today/20210504003609/https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-chadayamangalam-election-result.html|url-status=bot: unknown}}</ref> അവിഭക്ത കമ്യൂണിസ്റ്റ് പാർട്ടി സി.പി.ഐയും സി.പി.ഐ (എം) ഉം ആയി പിരിഞ്ഞ ശേഷം കേരള നിയമസഭയിൽ സി.പി.ഐ പ്രതിനിധിയായി എത്തുന്ന ആദ്യ വനിതാ മന്ത്രിയാണ് ചിഞ്ചു റാണി. ==ജീവിത രേഖ== ആ​ദ്യ​കാ​ല കമ്മ്യൂണിസ്റ്റ് പ്രവർത്തകനും ക​ശു​വ​ണ്ടി തൊ​ഴി​ലാ​ളി യൂ​ണിയ​ൻ പ്രവ​ർത്ത​ക​നു​മാ​യി​രു​ന്ന മു​ണ്ട​യ്ക്ക​ൽ ഭ​ര​ണി​ക്കാ​വ് തെ​ക്കേ​വി​​ള​യി​ൽ വെ​ളി​യി​ൽ വ​ട​ക്കേതിൽ എ​ൻ. ശ്രീ​ധരന്റെയും ജ​ഗ​ദ​മ്മ​യുടെയും മ​ക​ളാ​യി ജനനനം.<ref name="madhyamam"/> ഭ​ർ​ത്താ​വ് ഡി. ​സു​കേ​ശ​ൻ സി.​പി.​ഐ അ​ഞ്ചാ​ലും​മൂ​ട് മണ്ഡ​ലം സെ​ക്ര​ട്ട​റി​യും ലൈ​ബ്ര​റി കൗ​ൺ​സി​ൽ ജി​ല്ല സെ​ക്ര​ട്ട​റി​യു​​മാ​ണ്. ന​ന്ദു സു​കേ​ശ​ൻ, ന​ന്ദ​നാ റാ​ണി എന്നിവർ മക്കളാണ്.<ref name="madhyamam"/> [[File:J Chinjurani and Banu Mushtaq.jpg|thumb|ചിഞ്ചു റാണിയും ബാനു മുഷ്താഖും കൊല്ലത്തു നടന്ന പട്ടത്തുവിള കരുണാകരൻ ശതാബ്ദി ആഘോഷവേളയിൽ ]] == രാഷ്ട്രീയ ജീവിതം == സി.പി.ഐ നാഷണൽ കൗൺസിൽ അംഗവും സി.പി.ഐ സ്റ്റേറ്റ് എക്സിക്യൂട്ടീവ് അംഗവുമായ ചിഞ്ചുറാണി, അവിഭക്ത കമ്യൂണിസ്റ്റ് പാർട്ടി സി.പി.ഐയും സി.പി.ഐ (എം) ഉം ആയി പിരിഞ്ഞ ശേഷം കേരള നിയമസഭയിൽ സി.പി.ഐ പ്രതിനിധിയായി എത്തുന്ന ആദ്യ മന്ത്രി കൂടിയാണ്.<ref name="madhyamam">{{cite news |last1=ലേഖകൻ |first1=മാധ്യമം |title=ജെ. ചി​ഞ്ചു​റാ​ണി; സി.​പി.​െ​എ​യു​ടെ ആ​ദ്യ വ​നി​താ മ​ന്ത്രി​ {{!}} Madhyamam |url=https://www.madhyamam.com/opinion/articles/j-chinju-rani-cpis-first-woman-minister-799479 |work=www.madhyamam.com |date=19 മേയ് 2021 |language=en}}</ref> കൂടാതെ, കേ​ര​ള മ​ഹി​ളാ​സം​ഘം സം​സ്ഥാ​ന പ്ര​സി​ഡ​ൻ​റ്​, പൗ​ൾട്രി കോ​ർപ​റേ​ഷ​ൻ ചെ​യ​ർപേ​ഴ്സ​ൺ, സി. ​അ​ച്യു​ത​മേ​നോ​ൻ സ​ഹ​ക​ര​ണ ആ​ശു​പ​ത്രി പ്ര​സി​ഡ​ൻ​റ്​ എ​ന്നീ സ്ഥാ​ന​ങ്ങ​ളും​ വ​ഹി​ക്കു​ന്നു.<ref name="madhyamam"/> == അവലംബം == {{Reflist}} {{DEFAULTSORT:ചിഞ്ചു റാണി}} [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ. പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] [[വർഗ്ഗം:സി.പി.ഐ. വനിതാ നേതാക്കൾ]] [[വർഗ്ഗം:കൊല്ലം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗശാല വകുപ്പ് മന്ത്രിമാർ]] dw5jjeztnqvovgm30faexsnxmn4kdii 4621548 4621547 2026-05-22T13:10:09Z GV2010 217548 /* */ 4621548 wikitext text/x-wiki {{Infobox Indian politician | name = J. Chinchu Rani | native_name = | image = J Chinjurani.jpg | image_size = 210px | office = സംസ്ഥാന മൃഗസംരക്ഷണ - ക്ഷീരവികസന വകുപ്പ് മന്ത്രി | 1blankname = മന്ത്രിസഭ | 1namedata = [[രണ്ടാം പിണറായി മന്ത്രിസഭ]] | term_start = {{Start date|2021|05|20|df=yes}} | term_end = 17 മേയ് 2026 | predecessor = [[കെ. രാജു]] | successor = [[ബിന്ദു കൃഷ്ണ]] | office1 = [[Member of the Legislative Assembly (India)|Member]] of the [[Kerala Legislative Assembly]] | constituency1 = [[Chadayamangalam (State Assembly constituency)|Chadayamangalam]] | term_start1 = {{Start date|2021|05|20|df=yes}} | term_end1 = 06 മെയ് 2026 | predecessor1 = [[മുല്ലക്കര രത്നാകരൻ]] | successor1 = | birth_date = | birth_place = [[Kollam district|Kollam]], [[Kerala]], India | nationality = [[Indian people|Indian]] | party = [[Communist Party of India]] | spouse = | children = | alma_mater = | website = | footnotes = | source = }} സി.പി.ഐ. ദേശീയ കൗൺസിൽ അംഗവും [[പതിനഞ്ചാം കേരളനിയമസഭ|പതിനഞ്ചാം കേരള നിയമസഭയിൽ]] [[ചടയമംഗലം നിയമസഭാമണ്ഡലം|ചടയമംഗലം മണ്ഡലത്തിനെ]] പ്രതിനിധീകരിച്ച<ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/02/kerala-assembly-election-2021-results-winners-statistics-in-graphics.html|title=സെഞ്ചുറിക്കരികിൽ എൽഡിഎഫ്; ഇതാണ് നമ്മുടെ 140 എംഎൽഎമാർ {{!}} ഗ്രാഫിക്‌സ്|access-date=2021-05-03|language=ml}}</ref> ഒരു രാഷ്ട്രീയ പ്രവർത്തകയുമാണ് '''ജെ. ചിഞ്ചു റാണി '''. [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021-ലെ തിരഞ്ഞെടുപ്പിൽ]] കെപിസിസി സെക്രട്ടറിയായ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിലെ]] എം.എം. നസീറിനെ 13128 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിൽ പരാജയപ്പെടുത്തിയാണ് ചിഞ്ചു റാണി നിയമസഭയിലേക്ക് എത്തിയത്.<ref>{{Cite web|url=https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-chadayamangalam-election-result.html|title=ചടയമംഗലത്ത് യുഡിഎഫിന് വീണ്ടും കനത്ത ആഘാതം; എൽഡിഎഫ് കേന്ദ്രങ്ങളിൽ ആഹ്ലാദം|access-date=4 May 2021|date=3 May 2021|publisher=മനോരമ|archive-date=2021-05-04|archive-url=https://archive.today/20210504003609/https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-chadayamangalam-election-result.html|url-status=bot: unknown}}</ref> അവിഭക്ത കമ്യൂണിസ്റ്റ് പാർട്ടി സി.പി.ഐയും സി.പി.ഐ (എം) ഉം ആയി പിരിഞ്ഞ ശേഷം കേരള നിയമസഭയിൽ സി.പി.ഐ പ്രതിനിധിയായി എത്തുന്ന ആദ്യ വനിതാ മന്ത്രിയാണ് ചിഞ്ചു റാണി. ==ജീവിത രേഖ== ആ​ദ്യ​കാ​ല കമ്മ്യൂണിസ്റ്റ് പ്രവർത്തകനും ക​ശു​വ​ണ്ടി തൊ​ഴി​ലാ​ളി യൂ​ണിയ​ൻ പ്രവ​ർത്ത​ക​നു​മാ​യി​രു​ന്ന മു​ണ്ട​യ്ക്ക​ൽ ഭ​ര​ണി​ക്കാ​വ് തെ​ക്കേ​വി​​ള​യി​ൽ വെ​ളി​യി​ൽ വ​ട​ക്കേതിൽ എ​ൻ. ശ്രീ​ധരന്റെയും ജ​ഗ​ദ​മ്മ​യുടെയും മ​ക​ളാ​യി ജനനനം.<ref name="madhyamam"/> ഭ​ർ​ത്താ​വ് ഡി. ​സു​കേ​ശ​ൻ സി.​പി.​ഐ അ​ഞ്ചാ​ലും​മൂ​ട് മണ്ഡ​ലം സെ​ക്ര​ട്ട​റി​യും ലൈ​ബ്ര​റി കൗ​ൺ​സി​ൽ ജി​ല്ല സെ​ക്ര​ട്ട​റി​യു​​മാ​ണ്. ന​ന്ദു സു​കേ​ശ​ൻ, ന​ന്ദ​നാ റാ​ണി എന്നിവർ മക്കളാണ്.<ref name="madhyamam"/> [[File:J Chinjurani and Banu Mushtaq.jpg|thumb|ചിഞ്ചു റാണിയും ബാനു മുഷ്താഖും കൊല്ലത്തു നടന്ന പട്ടത്തുവിള കരുണാകരൻ ശതാബ്ദി ആഘോഷവേളയിൽ ]] == രാഷ്ട്രീയ ജീവിതം == സി.പി.ഐ നാഷണൽ കൗൺസിൽ അംഗവും സി.പി.ഐ സ്റ്റേറ്റ് എക്സിക്യൂട്ടീവ് അംഗവുമായ ചിഞ്ചുറാണി, അവിഭക്ത കമ്യൂണിസ്റ്റ് പാർട്ടി സി.പി.ഐയും സി.പി.ഐ (എം) ഉം ആയി പിരിഞ്ഞ ശേഷം കേരള നിയമസഭയിൽ സി.പി.ഐ പ്രതിനിധിയായി എത്തുന്ന ആദ്യ മന്ത്രി കൂടിയാണ്.<ref name="madhyamam">{{cite news |last1=ലേഖകൻ |first1=മാധ്യമം |title=ജെ. ചി​ഞ്ചു​റാ​ണി; സി.​പി.​െ​എ​യു​ടെ ആ​ദ്യ വ​നി​താ മ​ന്ത്രി​ {{!}} Madhyamam |url=https://www.madhyamam.com/opinion/articles/j-chinju-rani-cpis-first-woman-minister-799479 |work=www.madhyamam.com |date=19 മേയ് 2021 |language=en}}</ref> കൂടാതെ, കേ​ര​ള മ​ഹി​ളാ​സം​ഘം സം​സ്ഥാ​ന പ്ര​സി​ഡ​ൻ​റ്​, പൗ​ൾട്രി കോ​ർപ​റേ​ഷ​ൻ ചെ​യ​ർപേ​ഴ്സ​ൺ, സി. ​അ​ച്യു​ത​മേ​നോ​ൻ സ​ഹ​ക​ര​ണ ആ​ശു​പ​ത്രി പ്ര​സി​ഡ​ൻ​റ്​ എ​ന്നീ സ്ഥാ​ന​ങ്ങ​ളും​ വ​ഹി​ക്കു​ന്നു.<ref name="madhyamam"/> == അവലംബം == {{Reflist}} {{DEFAULTSORT:ചിഞ്ചു റാണി}} [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ. പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] [[വർഗ്ഗം:സി.പി.ഐ. വനിതാ നേതാക്കൾ]] [[വർഗ്ഗം:കൊല്ലം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗശാല വകുപ്പ് മന്ത്രിമാർ]] ji5ugw2zvool5f6us2u39jmyxzuc18j 4621549 4621548 2026-05-22T13:10:39Z GV2010 217548 /* */ 4621549 wikitext text/x-wiki {{Infobox Indian politician | name = J. Chinchu Rani | native_name = | image = J Chinjurani.jpg | image_size = 210px | office = സംസ്ഥാന മൃഗസംരക്ഷണ - ക്ഷീരവികസന വകുപ്പ് മന്ത്രി | 1blankname = മന്ത്രിസഭ | 1namedata = [[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ]] | term_start = {{Start date|2021|05|20|df=yes}} | term_end = 17 മേയ് 2026 | predecessor = [[കെ. രാജു]] | successor = [[ബിന്ദു കൃഷ്ണ]] | office1 = [[Member of the Legislative Assembly (India)|Member]] of the [[Kerala Legislative Assembly]] | constituency1 = [[Chadayamangalam (State Assembly constituency)|Chadayamangalam]] | term_start1 = {{Start date|2021|05|20|df=yes}} | term_end1 = 06 മെയ് 2026 | predecessor1 = [[മുല്ലക്കര രത്നാകരൻ]] | successor1 = | birth_date = | birth_place = [[Kollam district|Kollam]], [[Kerala]], India | nationality = [[Indian people|Indian]] | party = [[Communist Party of India]] | spouse = | children = | alma_mater = | website = | footnotes = | source = }} സി.പി.ഐ. ദേശീയ കൗൺസിൽ അംഗവും [[പതിനഞ്ചാം കേരളനിയമസഭ|പതിനഞ്ചാം കേരള നിയമസഭയിൽ]] [[ചടയമംഗലം നിയമസഭാമണ്ഡലം|ചടയമംഗലം മണ്ഡലത്തിനെ]] പ്രതിനിധീകരിച്ച<ref>{{Cite web|url=https://www.manoramaonline.com/news/latest-news/2021/05/02/kerala-assembly-election-2021-results-winners-statistics-in-graphics.html|title=സെഞ്ചുറിക്കരികിൽ എൽഡിഎഫ്; ഇതാണ് നമ്മുടെ 140 എംഎൽഎമാർ {{!}} ഗ്രാഫിക്‌സ്|access-date=2021-05-03|language=ml}}</ref> ഒരു രാഷ്ട്രീയ പ്രവർത്തകയുമാണ് '''ജെ. ചിഞ്ചു റാണി '''. [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021-ലെ തിരഞ്ഞെടുപ്പിൽ]] കെപിസിസി സെക്രട്ടറിയായ [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിലെ]] എം.എം. നസീറിനെ 13128 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിൽ പരാജയപ്പെടുത്തിയാണ് ചിഞ്ചു റാണി നിയമസഭയിലേക്ക് എത്തിയത്.<ref>{{Cite web|url=https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-chadayamangalam-election-result.html|title=ചടയമംഗലത്ത് യുഡിഎഫിന് വീണ്ടും കനത്ത ആഘാതം; എൽഡിഎഫ് കേന്ദ്രങ്ങളിൽ ആഹ്ലാദം|access-date=4 May 2021|date=3 May 2021|publisher=മനോരമ|archive-date=2021-05-04|archive-url=https://archive.today/20210504003609/https://www.manoramaonline.com/district-news/kollam/2021/05/03/kollam-chadayamangalam-election-result.html|url-status=bot: unknown}}</ref> അവിഭക്ത കമ്യൂണിസ്റ്റ് പാർട്ടി സി.പി.ഐയും സി.പി.ഐ (എം) ഉം ആയി പിരിഞ്ഞ ശേഷം കേരള നിയമസഭയിൽ സി.പി.ഐ പ്രതിനിധിയായി എത്തുന്ന ആദ്യ വനിതാ മന്ത്രിയാണ് ചിഞ്ചു റാണി. ==ജീവിത രേഖ== ആ​ദ്യ​കാ​ല കമ്മ്യൂണിസ്റ്റ് പ്രവർത്തകനും ക​ശു​വ​ണ്ടി തൊ​ഴി​ലാ​ളി യൂ​ണിയ​ൻ പ്രവ​ർത്ത​ക​നു​മാ​യി​രു​ന്ന മു​ണ്ട​യ്ക്ക​ൽ ഭ​ര​ണി​ക്കാ​വ് തെ​ക്കേ​വി​​ള​യി​ൽ വെ​ളി​യി​ൽ വ​ട​ക്കേതിൽ എ​ൻ. ശ്രീ​ധരന്റെയും ജ​ഗ​ദ​മ്മ​യുടെയും മ​ക​ളാ​യി ജനനനം.<ref name="madhyamam"/> ഭ​ർ​ത്താ​വ് ഡി. ​സു​കേ​ശ​ൻ സി.​പി.​ഐ അ​ഞ്ചാ​ലും​മൂ​ട് മണ്ഡ​ലം സെ​ക്ര​ട്ട​റി​യും ലൈ​ബ്ര​റി കൗ​ൺ​സി​ൽ ജി​ല്ല സെ​ക്ര​ട്ട​റി​യു​​മാ​ണ്. ന​ന്ദു സു​കേ​ശ​ൻ, ന​ന്ദ​നാ റാ​ണി എന്നിവർ മക്കളാണ്.<ref name="madhyamam"/> [[File:J Chinjurani and Banu Mushtaq.jpg|thumb|ചിഞ്ചു റാണിയും ബാനു മുഷ്താഖും കൊല്ലത്തു നടന്ന പട്ടത്തുവിള കരുണാകരൻ ശതാബ്ദി ആഘോഷവേളയിൽ ]] == രാഷ്ട്രീയ ജീവിതം == സി.പി.ഐ നാഷണൽ കൗൺസിൽ അംഗവും സി.പി.ഐ സ്റ്റേറ്റ് എക്സിക്യൂട്ടീവ് അംഗവുമായ ചിഞ്ചുറാണി, അവിഭക്ത കമ്യൂണിസ്റ്റ് പാർട്ടി സി.പി.ഐയും സി.പി.ഐ (എം) ഉം ആയി പിരിഞ്ഞ ശേഷം കേരള നിയമസഭയിൽ സി.പി.ഐ പ്രതിനിധിയായി എത്തുന്ന ആദ്യ മന്ത്രി കൂടിയാണ്.<ref name="madhyamam">{{cite news |last1=ലേഖകൻ |first1=മാധ്യമം |title=ജെ. ചി​ഞ്ചു​റാ​ണി; സി.​പി.​െ​എ​യു​ടെ ആ​ദ്യ വ​നി​താ മ​ന്ത്രി​ {{!}} Madhyamam |url=https://www.madhyamam.com/opinion/articles/j-chinju-rani-cpis-first-woman-minister-799479 |work=www.madhyamam.com |date=19 മേയ് 2021 |language=en}}</ref> കൂടാതെ, കേ​ര​ള മ​ഹി​ളാ​സം​ഘം സം​സ്ഥാ​ന പ്ര​സി​ഡ​ൻ​റ്​, പൗ​ൾട്രി കോ​ർപ​റേ​ഷ​ൻ ചെ​യ​ർപേ​ഴ്സ​ൺ, സി. ​അ​ച്യു​ത​മേ​നോ​ൻ സ​ഹ​ക​ര​ണ ആ​ശു​പ​ത്രി പ്ര​സി​ഡ​ൻ​റ്​ എ​ന്നീ സ്ഥാ​ന​ങ്ങ​ളും​ വ​ഹി​ക്കു​ന്നു.<ref name="madhyamam"/> == അവലംബം == {{Reflist}} {{DEFAULTSORT:ചിഞ്ചു റാണി}} [[വർഗ്ഗം:കേരളത്തിലെ സി.പി.ഐ. പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനഞ്ചാം കേരളനിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരള നിയമസഭയിലെ വനിതാ മന്ത്രിമാർ]] [[വർഗ്ഗം:സി.പി.ഐ. വനിതാ നേതാക്കൾ]] [[വർഗ്ഗം:കൊല്ലം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗസംരക്ഷണ വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ മൃഗശാല വകുപ്പ് മന്ത്രിമാർ]] 4z9k9xczodjfmgzvb6on3nuwi5mijy5 വൈദ്യ സുരേഷ് ചതുർവേദി 0 543837 4622196 4491215 2026-05-23T10:09:53Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622196 wikitext text/x-wiki {{Infobox person | name = വൈദ്യ സുരേഷ് ചതുർവേദി<br>Suresh Chaturvedi | image = Vaidya Suresh Chaturvedi.jpg | birth_date = {{Birth date |1928|5|14|df=y}} | birth_place = [[Bharatpur, Rajasthan|Bharatpur]], [[Rajasthan]] | death_date = {{Death date and age|2017|12|25|1928|5|14}} <!--(DEATH date then BIRTH date) --> | death_place = Bharatpur | nationality = [[India]]n | education = S.D. Ayurvedic College - [[Lahore]], 1947 *L.A.M.S. (Vaidya Kaviraj), <br /> Ashtanga Ayurvedic College - [[Calcutta]], 1948 M.A.M.S. <br /> Board of Indian Medicine - [[Lucknow]], 1950 B.I.M.S. ([[Ayurvedacharya]]) | occupation = [[Ayurveda]] practitioner | known_for = [[Ayurveda]] | spouse = Smt. (Late) Sudha Chaturvedi | children = Pinki, Mahendra, Guddi, Chetan, Vinod, Piyush | parents = Smt. (Late) Nanhidevi Chaturvedi <br /> Shri. (Late) Gendalalji Chaturvedi | website = {{URL|http://www.drchaturvedi.com|}} }} [[ഇന്ത്യ|ഇന്ത്യയിലെ]] [[രാജസ്ഥാൻ|രാജസ്ഥാനിൽ]] നിന്നുള്ള [[ആയുർവേദം|ഒരു ആയുർവേദ]] ഡോക്ടറാണ് '''വൈദ്യ സുരേഷ് ചതുർവേദി''' (1928-2017). [[മുംബൈ സർവകലാശാല|മുമ്പ് ബോംബെ സർവകലാശാലയിൽ]] പ്രൊഫസറായിരുന്ന അദ്ദേഹം ആയുർവേദത്തെക്കുറിച്ച് ധാരാളം പുസ്തകങ്ങൾ എഴുതിയിട്ടുണ്ട്. 2000 ൽ ഇന്ത്യയിലെ ഏറ്റവും ഉയർന്ന സിവിലിയൻ അവാർഡായ [[പത്മശ്രീ]] അദ്ദേഹത്തിന് ലഭിച്ചു. [[ആയുർവേദം|പുരാതന ആയുർവേദ]] ശാസ്ത്രത്തിന്റെ (രോഗശാന്തി) സജീവ പരിശീലകൻ എന്ന നിലയിൽ, ഇതര മരുന്നുകളുടെ ദേശീയ അന്തർദേശീയ മേഖലകളിൽ അറിയപ്പെടുന്ന അദ്ദേഹം നിരവധി പ്രബന്ധങ്ങൾ അവതരിപ്പിച്ചിട്ടുണ്ട്. അദ്ദേഹം ഇന്ത്യയിൽ നിരവധി സമ്മേളനങ്ങൾ നടത്തിയിട്ടുണ്ട്. [[മുംബൈ സർവകലാശാല|മുംബൈ സർവകലാശാലയിൽ]] പിഎച്ച്ഡി ഗൈഡായിരുന്നു. ആഗോള പശ്ചാത്തലത്തിൽ വേപ്പിലെ സ്വീകാര്യത കൈവരിക്കുന്നതിൽ വേപ്പിന്റെ അസാധാരണമായ കഴിവ് പുറത്തുകൊണ്ടുവന്നതിൽ അദ്ദേഹത്തിന്റെ പങ്ക് നിർണായകമാണ്. <ref>http://www.neemfoundation.org/padmashri-vaidya-suresh-chaturvedi/</ref><ref>{{Cite web|url=http://mha.nic.in/sites/upload_files/mha/files/LST-PDAWD-2013.pdf|title=Padma Awards Directory (1954-2013)|access-date=30 October 2014|date=14 August 2013|publisher=Ministry of Home Affairs, Government of India|page=110|type=PDF|archive-date=2017-10-19|archive-url=https://web.archive.org/web/20171019215108/http://mha.nic.in/sites/upload_files/mha/files/LST-PDAWD-2013.pdf|url-status=dead}}</ref> == ആദ്യകാലജീവിതം == [[ഭരത്പൂർ, രാജസ്ഥാൻ|ഭരത്പൂർ]] സംസ്ഥാന പോലീസിൽ പോലീസ് ഇൻസ്പെക്ടറായിരുന്ന ശ്രീ ഗെൻഡലാലിന്റെ നാലാമത്തെ മകനായി സുരേഷ് ജനിച്ചു. സനാതൻ ധർമ്മ സ്കൂളിൽ നിന്ന് അഞ്ചാം ക്ലാസ് വരെ പ്രാഥമിക വിദ്യാഭ്യാസം പൂർത്തിയാക്കി. 1938 ൽ [[മുംബൈ|മുംബൈയിലെത്തിയ]] അദ്ദേഹം ഗുലാൽവാടിയിലെ [[സംസ്കൃതം|ഒരു സംസ്കൃത സ്കൂളിൽ ചേർന്നു.]] മെട്രിക്കുലേഷൻ പൂർത്തിയാക്കിയ ശേഷം ഗോകുൽദാസ് തേജ്പാൽ സംസ്‌കൃത കോളേജിൽ ചേർന്നു. പതിനാലാമത്തെ വയസ്സിൽ ഗ്വാളിയ ടാങ്ക് ഗ്രാൻഡിൽ നിന്ന് [[ക്വിറ്റ് ഇന്ത്യ പ്രസ്ഥാനം|ഇന്ത്യ വിടുക എന്ന മുദ്രാവാക്യങ്ങൾക്ക് സാക്ഷ്യം വഹിച്ചു.]] 25-ാം വയസ്സിൽ സുധയെ വിവാഹം കഴിച്ചു. == വിദ്യാഭ്യാസം == ഔഷധപഠനത്തോടുള്ള താൽപര്യം കണ്ടെത്തിയ ശേഷം 1943 ൽ ജയ്പൂരിലെ ആയുർവേദ കോളേജിൽ ആയുർവേദം പഠിക്കാൻ തുടങ്ങി. എന്നാൽ വിവിധ സാഹചര്യങ്ങളാൽ അത് പൂർത്തിയാക്കാൻ കഴിഞ്ഞില്ല. 1944 ൽ [[ലാഹോർ|ലാഹോറിലെ]] (1948 ൽ അംബാലയിൽ എസ്ഡി കോളേജായി പുനഃസ്ഥാപിച്ച) സനാതൻ ധർമ്മ ആയുർവേദ കോളേജ് പ്രവേശനം നേടി മൂന്നാം വർഷ പരീക്ഷയ്ക്ക് ഹാജരായ ശേഷം 1947 ൽ ലാഹോറിൽ നിന്ന് പുറത്തുപോകേണ്ടി വന്നതിനാൽ അദ്ദേഹത്തിന്റെ പഠനം വീണ്ടും മുടങ്ങി. "വൈദ്യ കവിരാജ്" ഡിഗ്രിനൽകി ആദരിച്ചതിനുശേഷം കൽക്കട്ടയിലെ അഷ്ടാംഗആയുർവേദ കോളേജിൽ പ്രവേശനം എടുത്തു. വിദ്യാഭ്യാസം പൂർത്തിയാക്കിയ ശേഷം വൈദ്യ നന്ദ്കിഷോർ ശർമ്മയുടെയും പിന്നീട് വൈദ്യ രംഗോപാൽ ശർമയുടെയും കീഴിൽ ശിഷ്യനായി പരിശീലനം നേടി. പിന്നീട് മുംബൈയിലെ വൈൽ-പാർലെ (കിഴക്ക്), ബി എൽ റുയ ഹൈസ്കൂൾ പരിസരത്ത് സ്വന്തമായി വൈദ്യശാസ്ത്ര പരിശീലനം ആരംഭിച്ചു. == അവാർഡുകളും അംഗീകാരങ്ങളും == * ഇന്ത്യൻ റിപ്പബ്ലിക്കിന്റെ സുവർണ്ണ ജൂബിലി ദിനത്തിൽ [[പത്മശ്രീ|പദ്മശ്രീ.]] * പണ്ഡി രാംനാരായൺ ശർമ്മ അവാർഡ് (2008) * ആയുർവേദ അവാർഡ് * ശ്രീ വസന്ത് നായിക് പ്രതിഷ്ഠൻ സമൻ * ഭീഷാക്ഷ്രി (2014) * ചരക് സൻമാൻ റെഡ് സ്വസ്തിക് സൊസൈറ്റി (2015) <ref>{{Cite web |url=http://www.redswastik.com/awards/awards-given/charak-award/ |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-05-30 |archive-date=2018-08-24 |archive-url=https://web.archive.org/web/20180824045111/http://www.redswastik.com/awards/awards-given/charak-award/ |url-status=dead }}</ref> * ഓണററി ഫിസിഷ്യൻ: മഹാരാഷ്ട്ര ഗവർണർ * ചിക്കത്‌സക് ഗുരു: രാഷ്ട്രീയ ആയുർവേദ വിദ്യീത്, ന്യൂഡൽഹി * കൺസൾട്ടിംഗ് ഫിസിഷ്യൻ: ബോംബെ ഹോസ്പിറ്റൽ (മുംബൈ) <ref>{{Cite web |url=http://www.bombayhospital.com/panel-consultants/index.aspx |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-05-30 |archive-date=2018-08-03 |archive-url=https://web.archive.org/web/20180803150422/http://www.bombayhospital.com/panel-consultants/index.aspx |url-status=dead }}</ref> * ഓണററി ഡയറക്ടർ ശ്രീ ശ്രീ രവിശങ്കർ ആയുർവേദ കോളേജ് * മാനേജിംഗ് ട്രസ്റ്റി: ആരോഗ്യ സൺസ്ഥാൻ ട്രസ്റ്റ് * രക്ഷാധികാരി: അഖിലേന്ത്യാ ആയുർവേദ കോൺഗ്രസ് * 1996 ലെ ഭാരത് നിർമ്മൻ അവാർഡ് ബഹു. ശ്രീ കരുണാകരൻ - പാർലമെന്റ് അംഗം, ഗവ. ഇന്ത്യയുടെ. * 1995 ലെ ഇന്റർനാഷണൽ കോൺഗ്രസ് ഓഫ് ആൾട്ടർനേറ്റീവ് മെഡിസിൻ അവാർഡ് ശ്രീ എസ്എൻ റെഡ്ഡി - ഒറീസ ഗവർണർ. * 1994 ലെ ഭാരത് നിർമ്മൻ അവാർഡ് ബഹു. ശ്രീമതി. നജാമ ഹെപ്തുള്ള - ഡെപ്യൂട്ടി സ്പീക്കർ (രാജ്യസഭ), ഗവ. ഇന്ത്യയുടെ. * 1993 ലെ ഭാരത് നിർമ്മൻ പ്രാചാര്യ അവാർഡ്. ശ്രീ സിദ്ധേശ്വർ പ്രസാദ് - ത്രിപുര ഗവർണർ. == ഗ്രന്ഥസൂചിക == [[ഹിന്ദി|ആയുർവേദത്തെക്കുറിച്ച് ഹിന്ദി]], [[ഇംഗ്ലീഷ് ഭാഷ|ഇംഗ്ലീഷ്]], [[ഗുജറാത്തി ഭാഷ|ഗുജറാത്തി]], [[മറാഠി ഭാഷ|മറാത്തി]] എന്നീ ഭാഷകളിൽ മുപ്പത്തിയൊന്ന് പുസ്തകങ്ങൾ ഡോ. ചതുർവേദി എഴുതിയിട്ടുണ്ട്. മുൻ പ്രധാനമന്ത്രി ശ്രീ [[മൊറാർജി ദേശായി]] അദ്ദേഹത്തിന്റെ ഒരു പുസ്തകം പുറത്തിറക്കി. ഗീത മെയിൻ അരോഗ്യ, ഇംഗ്ലീഷ് പതിപ്പ് "ഗീതയുടെ അവതാരിക എഴുതിഒയിരിക്കുന്നത് മുൻ ഇന്ത്യൻ ആരോഗ്യമന്ത്രി ഡോ. [[കരൺ സിംഗ്|കരൺ സിംഗ് ആണ് ആരോഗ്യം.]] [[പ്രമേഹം|കൂടാതെ പ്രമേഹം]], [[പൊണ്ണത്തടി|അമിതവണ്ണം]], [[അർബുദം]], ഹൃദ്രോഗം, [[വെള്ളപ്പാണ്ട്|ല്യൂക്കോഡെർമ]], [[എയ്‌ഡ്‌സ്‌|എയ്ഡ്സ്]] തുടങ്ങിയ വിവിധ രോഗങ്ങളെക്കുറിച്ചുള്ള വിവിധ ശാസ്ത്ര ഗവേഷണ പ്രബന്ധങ്ങളും അദ്ദേഹം പ്രസിദ്ധീകരിച്ചു. '''പുസ്തകങ്ങൾ''' * ആരോഗ്യ പാത * അഹാർ ചിക്കിത്സ * ആയുർവേദ കെ രഹസ്യ * നിങ്ങൾക്കായി ആയുർവേദം * ആരോഗ്യ സുമൻ * ബാല സ്വസ്ഥ * കാൻസർ * വിട്ടുമാറാത്ത രോഗങ്ങൾ * ദമ്പത്യ ജീവൻ കെ സോപാൻ * ആയുർവേദത്തിലൂടെ ഭക്ഷണവും ആരോഗ്യവും * ആരോഗ്യത്തിന് അനുയോജ്യമാണ് * ഗരേലു ആയുർവേദ ഇലാജ് * ഗരേലു ദവായിയാൻ * ഗീതയും ആരോഗ്യവും * ഗീത മെൻ ആരോഗ്യ * ആരോഗ്യ പരിരക്ഷ * മഹാരോഗ് ചിക്കിത്സ * നാരി ജീവൻ കി ചിന്തയെയ്ൻ * കയാ കൽപ് * റോഗ് വിജ്ഞാൻ * സരാൽ ആയുർവേദ ചിക്കിത്സ * സൗ വർഷ് കൈസെ ജിയാൻ * സൗന്ദര്യ ഔർ സ്വസ്ത്യ * സ്‌ട്രിയോൺ കാ സ്വസ്ത്യ റോഗ് * സുബോദ് ആയുർവേദ ചിക്കിത്സ * ആയുർവേദത്തിൽ വേപ്പ് * വേപ്പ് ഔർ സ്വസ്ത്യ * ഘർഗത്തു ദാവാവോ (ഗുജറാത്തി) * സൗന്ദര്യവും ആരോഗ്യവും * ആരോഗ്യ പരിരക്ഷ * കടു നിംബ (മറാത്തി) * ആരോഗ്യ സംരക്ഷണത്തിനുള്ള ടിപ്പുകൾ '''ഗവേഷണ പ്രബന്ധങ്ങൾ''' * ആരോഗ്യത്തിലും പരിസ്ഥിതിയിലും [[ആര്യവേപ്പ്|വേപ്പിന്റെ]] പങ്ക്. <ref>{{Cite web |url=http://www.drchaturvedi.com/paper/Role_of_Neem_in_Health_and_Environment.htm |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-05-30 |archive-date=2024-12-26 |archive-url=https://web.archive.org/web/20241226094958/http://www.drchaturvedi.com/paper/Role_of_Neem_in_Health_and_Environment.htm |url-status=dead }}</ref> * ക്യാൻസറിൽ ആയുർവേദത്തിന്റെ പങ്ക്. <ref>{{Cite web |url=http://www.drchaturvedi.com/paper/Research%20Paper%20on%20Cancer%20for%20ICAC%20Pune%202012%20Final.pdf |title=ആർക്കൈവ് പകർപ്പ് |access-date=2021-05-30 |archive-date=2021-12-23 |archive-url=https://web.archive.org/web/20211223105459/http://drchaturvedi.com/paper/Research%20Paper%20on%20Cancer%20for%20ICAC%20Pune%202012%20Final.pdf |url-status=dead }}</ref> == മുമ്പത്തെ സ്ഥാനങ്ങൾ == * ഇമാമി ലിമിറ്റഡ് ഡയറക്ടർ * [[ലൂപിൻ ലിമിറ്റഡ്|ലുപിൻ ലിമിറ്റഡിന്റെ]] ഉപദേഷ്ടാവ് * ധന്വന്തരി മെഡിക്കൽ ഫൗണ്ടേഷൻ വൈസ് പ്രസിഡന്റ് * കെജിഎംപി ആയുർവേദ കോളേജ് പ്രിൻസിപ്പൽ * ചെയർമാൻ നാഷണൽ കൺസൾട്ടേറ്റീവ് കമ്മിറ്റി- വേപ്പ് ഫ .ണ്ടേഷൻ * പിഎച്ച്ഡി ഗൈഡും മുംബൈ സർവകലാശാലയിലെ ഫാക്കൽറ്റി അംഗവും * കർണാടകയിലെ രാജീവ് ഗാന്ധി യൂണിവേഴ്സിറ്റി ഓഫ് ഹെൽത്ത് സയൻസ് സെനറ്റ് അംഗം * രാഷ്ട്രീയ ആയുർവേദ ന്യൂഡൽഹി, നാഷണൽ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ആയുർവേദ ജയ്പൂർ എന്നിവയുടെ ഗവേണിംഗ് കൗൺസിൽ അംഗവും ധനകാര്യ സമിതിയും == അവലംബം == {{reflist}} ==പുറത്തേക്കുള്ള കണ്ണികൾ== *http://www.drchaturvedi.com/ {{Webarchive|url=https://web.archive.org/web/20190819174002/http://drchaturvedi.com/ |date=2019-08-19 }} {{Padma Shri Award Recipients in Medicine}} [[വർഗ്ഗം:1928-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:2017-ൽ മരിച്ചവർ]] [[വർഗ്ഗം:ആയുർവേദാചാര്യന്മാർ]] hswnc863j2zyojlm41h9sahn47yakjs യായിർ ലാപിഡ് 0 546601 4621591 4558305 2026-05-22T16:23:31Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621591 wikitext text/x-wiki {{pp-30-500|small=yes}} {{Use dmy dates|date=May 2021}}{{short description|Alternate Prime Minister of Israel}}{{Infobox officeholder | name = യായിർ ലാപിഡ് | successor1 = | suboffice7 = [[Leader of the Opposition (Israel)|Leader of the Opposition]] | office7 = Other roles | subterm6 = 2020– | suboffice6 = [[യെഷ് ആറ്റിഡ്]] | subterm5 = 2019–2020 | suboffice5 = [[Blue and White (political alliance)|Blue and White]] | subterm4 = 2013–2019 | suboffice4 = [[യെഷ് ആറ്റിഡ്]] | office4 = Faction represented in the [[Knesset]] | subterm3 = 2021– | suboffice3 = [[Ministry of Foreign Affairs (Israel)|Minister of Foreign Affairs]] | subterm2 = 2013–2014 | suboffice2 = [[Ministry of Finance (Israel)|Minister of Finance]] | office2 = Ministerial roles | predecessor1 = [[ബെന്നി ഗാന്റ്സ്]] | native_name = יאיר לפיד | primeminister1 = [[നഫ്താലി ബെന്നെറ്റ്]] | term_end1 = | term_start1 = {{Start date|2021|6|13|df=yes}} | office1 = 2nd [[Alternate Prime Minister of Israel]] | party = [[യെഷ് ആറ്റിഡ്]] | occupation = {{hlist|രാഷ്ട്രീയപ്രവർത്തകൻ|പത്രപ്രവർത്തകൻ}} | children = 3 | spouse = ലിഹി ലാപിഡ് | parents = [[ടോമി ലാപിഡ്]]<br>[[ഷുലാമിറ്റ് ലാപിഡ്]] | birth_place = [[ടെൽ അവീവ്]], [[ഇസ്രായേൽ]] | birth_date = {{birth date and age|1963|11|5|df=y}} | caption = ലാപിഡ് 2022ൽ | image = Yair Lapid (D1237-011).jpg | native_name_lang = he | subterm7 = 2020–2021 }} 2021 മുതൽ ഇസ്രായേലിന്റെ ഇതര പ്രധാനമന്ത്രിയും വിദേശകാര്യ മന്ത്രിയുമായി സേവനമനുഷ്ഠിക്കുന്ന ഒരു ഇസ്രായേലി രാഷ്ട്രീയക്കാരനും മുൻ പത്രപ്രവർത്തകനുമാണ് '''യായിർ ലാപിഡ്'''. ഹീബ്രു: יָאִיר לַפִּיד, ജനനം: നവംബർ 5 [[1963]]. 2020 മുതൽ 2021 വരെ പ്രതിപക്ഷ നേതാവായും 2013 മുതൽ 2014 വരെ ധനമന്ത്രിയായും പ്രവർത്തിച്ചിട്ടുണ്ട്. <ref>{{Cite web|url=https://www.france24.com/en/middle-east/20210601-dreams-of-the-father-guide-lapid-as-he-eyes-israel-s-premiership|title=Dreams of the father guide Yair Lapid as he eyes Israel’s premiership|access-date=2021-06-03|date=2021-06-01|work=France 24|language=en}}</ref> 2012 ൽ രാഷ്ട്രീയത്തിൽ പ്രവേശിക്കുന്നതിനുമുമ്പ്, എഴുത്തുകാരനും ടിവി അവതാരകനും വാർത്താ അവതാരകനുമായിരുന്നു ലാപിഡ്. 2013 ൽ നടന്ന ആദ്യ നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ 19 സീറ്റുകൾ നേടി നെസെറ്റിലെ രണ്ടാമത്തെ വലിയ പാർട്ടിയായി അദ്ദേഹം സ്ഥാപിച്ച സെൻട്രിസ്റ്റ് യെഷ് ആറ്റിഡ് പാർട്ടി. പ്രതീക്ഷിച്ചതിലും വലിയ ഫലങ്ങൾ ഒരു പ്രമുഖ സെൻട്രിസ്റ്റ് എന്ന നിലയിൽ ലാപിഡിന്റെ പ്രശസ്തിക്ക് കാരണമായി. 2013 മുതൽ 2014 വരെ ലികുഡുമായുള്ള സഖ്യ കരാറിനെത്തുടർന്ന് ലാപിഡ് പ്രധാനമന്ത്രി ബെഞ്ചമിൻ നെതന്യാഹുവിന്റെ കീഴിൽ ധനമന്ത്രിയായി സേവനമനുഷ്ഠിച്ചു. 2013 ൽ, ജറുസലേം പോസ്റ്റ് എഴുതിയ "ലോകത്തിലെ ഏറ്റവും സ്വാധീനമുള്ള ജൂതന്മാരുടെ" പട്ടികയിൽ ലാപിഡ് ഒന്നാം സ്ഥാനത്തെത്തി. <ref name="JERUSALEM POST STAFF">{{cite web|url=http://www.jpost.com/Jewish-World/Jewish-Features/Top-50-most-influential-Jews-2013-Places-1-10-313129|title=Top 50 most influential Jews 2013: Places 1–10|access-date=5 August 2013|date=4 May 2013|work=The Jerusalem Post|author=JERUSALEM POST STAFF}}</ref> 2013 ൽ പ്രമുഖ വിദേശനയ ആഗോള ചിന്തകരിൽ ഒരാളായി അദ്ദേഹം അംഗീകരിക്കപ്പെട്ടു,<ref name="2013-global-thinkers.foreignpolicy.com">{{Cite web|url=http://2013-global-thinkers.foreignpolicy.com/lapid|title=Yair Lapid – For appealing to Israel's political center.|access-date=24 June 2018|work=Foreign Policy}}</ref> ടൈം മാസികയുടെ 100 "ലോകത്തിലെ ഏറ്റവും സ്വാധീനമുള്ള വ്യക്തികളിൽ" ഒരാളായി അദ്ദേഹം സ്ഥാനം നേടി.<ref>{{Cite news|url=http://time100.time.com/2013/04/18/time-100/slide/yair-lapid/|title=The 2013 TIME 100|last=Vick|first=Karl|work=Time|access-date=24 June 2018|language=en-US|issn=0040-781X|archive-date=2018-07-03|archive-url=https://web.archive.org/web/20180703095327/http://time100.time.com/2013/04/18/time-100/slide/yair-lapid/|url-status=dead}}</ref> അദ്ദേഹം നെസെറ്റ് ഫോറിൻ അഫയേഴ്‌സ് ആൻഡ് ഡിഫൻസ് കമ്മിറ്റി, ഇന്റലിജൻസ്, സെക്യൂരിറ്റി സർവീസസ് എന്നിവയ്ക്കുള്ള ഉപസമിതിയിൽ സേവനമനുഷ്ഠിക്കുന്നു. <ref>{{Cite news|url=https://cyberweek.tau.ac.il/2017/about/speakers/item/177-yair-lapid|title=Yair Lapid|last=roni|access-date=24 June 2018|language=en-gb|archive-date=2018-06-24|archive-url=https://web.archive.org/web/20180624150601/https://cyberweek.tau.ac.il/2017/about/speakers/item/177-yair-lapid|url-status=dead}}</ref> ഇസ്രായേലിന്റെ മുപ്പത്തിയഞ്ചാം സർക്കാർ സത്യപ്രതിജ്ഞ ചെയ്തതിനുശേഷം 2020 മെയ് 17 ന് ലാപിഡ് പ്രതിപക്ഷ നേതാവായി. <ref>{{Cite news|url=https://www.timesofisrael.com/lapid-predicts-crooked-new-government-will-fall-quickly/|title=Opposition Lapid|first=Jacob|last=Magid|access-date=17 May 2020|language=en-gb}}</ref> 2021 മെയ് 5 ന് അദ്ദേഹം മറ്റ് കക്ഷികളുമായി സഖ്യ സർക്കാർ രൂപീകരിക്കാനുള്ള സംസാരങ്ങൾ തുടങ്ങി.<ref>{{cite news|url=https://www.jpost.com/israel-news/rivlin-to-meet-lapid-bennett-as-consultations-begin-667245|title=Lapid, Bennett hope to form government within a week|first=Gil|last=Hoffman|publisher=The Jerusalem Post|date=5 May 2021|access-date=5 May 2021}}</ref> 2021 ജൂൺ 2-ന് ഇസ്രായേൽ പ്രസിഡന്റ് റുവെൻ റിവ്ലിനെ ലാപിഡ് അറിയിച്ചിരുന്നു, താൻ നഫ്താലി ബെന്നറ്റുമായി ഒരു ഭ്രമണ സർക്കാരിനെ അംഗീകരിച്ചിട്ടുണ്ടെന്നും നിലവിലെ പ്രധാനമന്ത്രി ബെഞ്ചമിൻ നെതന്യാഹുവിനെ പകരക്കാരനാക്കാൻ തയ്യാറാണെന്നും അറിയിച്ചു.<ref>{{Cite web|url=https://www.jpost.com/israel-news/politics-and-diplomacy/lapid-tells-rivlin-new-government-ready-669937|title=Lapid tells Rivlin: I have succeeded in forming coalition with Bennett|access-date=2021-06-02|website=The Jerusalem Post {{!}} JPost.com|language=en-US}}</ref> പുതിയ സർക്കാർ 2021 ജൂൺ 13 ന് സത്യപ്രതിജ്ഞ ചെയ്തു.<ref>{{cite web|url=https://www.wsj.com/articles/israel-could-see-new-government-if-netanyahus-opponents-pass-confidence-vote-11623576602|title=Israel Gets New Government to End Netanyahu’s 12-Year Rule|access-date=15 June 2021|last1=Lieber|first1=Dov|date=2021-06-13|website=Wall Street Journal}}</ref> == ജീവിതരേഖ == [[പ്രമാണം:Yair_Lapid,_Bamahane_issue_12.jpg|ലഘുചിത്രം|200x200ബിന്ദു|1980 കളുടെ തുടക്കത്തിൽ ഐ‌ഡി‌എഫിന്റെ പ്രതിവാര പത്രത്തിന്റെ സൈനിക ലേഖകനായി സേവനമനുഷ്ഠിക്കുമ്പോൾ ]] നീതിന്യായ മന്ത്രിയും നോവലിസ്റ്റും നാടകകൃത്തുമായ യോസെഫ് "ടോമി" ലാപിഡിന്റെ മകനാണ് യായിർ. ടെൽ അവീവിലാണ് യയിർ ജനിച്ചത്. അദ്ദേഹത്തിന്റെ പിതാവ് യൂഗോസ്ലാവിയയിലെ (ഇപ്പോൾ സെർബിയ) നോവി സാഡിൽ ഹംഗേറിയൻ-ജൂത മാതാപിതാക്കൾക്ക് ജനിച്ചു,<ref>{{Cite web|url=https://www.smh.com.au/world/israels-archie-bunker-took-on-sacred-cows-20080627-2y3v.html|title=Israel's Archie Bunker took on sacred cows|access-date=2021-06-24|date=2008-06-27|website=The Sydney Morning Herald|language=en}}</ref> അദ്ദേഹത്തിന്റെ മുത്തച്ഛൻ റൊമാനിയയിലെ ട്രാൻസിൽവാനിയയിൽ നിന്നുള്ള ഒരു അഷ്‌കെനാസി ജൂതനായിരുന്നു. <ref>{{cite web|url=http://www.jta.org/news/article/2012/01/17/3091222/in-entering-israeli-politics-yair-lapid-eyes-force-of-socioeconomic-protests|title=In entering Israeli politics, Yair Lapid eyes force of socioeconomic protests &#124; Jewish Telegraphic Agency|access-date=31 March 2016|last=Gradstein|first=Linda|date=17 January 2012|website=Jta.org|archive-date=2013-04-03|archive-url=https://web.archive.org/web/20130403035142/http://www.jta.org/news/article/2012/01/17/3091222/in-entering-israeli-politics-yair-lapid-eyes-force-of-socioeconomic-protests|url-status=dead}}</ref><ref>{{cite web|url=http://jwa.org/encyclopedia/article/lapid-shulamit|title=Shulamit Lapid &#124; Jewish Women's Archive|access-date=31 March 2016|date=1 March 2009|website=Jwa.org}}</ref> അദ്ദേഹത്തിന് ക്ലിനിക്കൽ സൈക്കോളജിസ്റ്റായ മെറാവ് എന്ന സഹോദരിയുണ്ട്. മറ്റൊരു സഹോദരി മിഖാൽ 1984 ൽ ഒരു വാഹനാപകടത്തിൽ മരിച്ചു.<ref name="haaretz">{{cite web|url=http://www.haaretz.com/news/features/who-is-yair-lapid.premium-1.483284|title=Who Is Yair Lapid?|access-date=31 March 2016|last=Schechter|first=Asher|date=23 January 2012|work=Haaretz}}</ref> മാതാപിതാക്കൾ ഇസ്രായേലിലേക്ക് മാറിയപ്പോൾ മുത്തശ്ശിമാർ രണ്ടുപേരും ജീവിച്ചിരുന്നു.<ref>{{cite interview|url=http://www.spiegel.de/international/world/israel-s-60th-anniversary-a-jew-from-morning-to-night-a-552281.html|title=Israel's 60th Anniversary: 'A Jew from Morning to Night'|date=8 May 2008|publisher=Spiegel Online|access-date=30 January 2018}}</ref> അദ്ദേഹത്തിന്റെ മുത്തശ്ശി ഹെർമിയോൺ ലാംപലിനെ സെർബിയയിൽ അറസ്റ്റുചെയ്ത് ഓഷ്വിറ്റ്സിലേക്ക് അയച്ചു, അവിടെ വച്ച് ഗ്യാസ് ചേമ്പറിൽ വെച്ച് കൊലപ്പെടുത്തി.<ref>{{cite web|url=https://blogs.timesofisrael.com/the-city-of-the-dead/|title=The truth about Poland and the Holocaust|year=2018|publisher=The Times of Israel}}</ref><ref>{{cite web|url=https://twitter.com/yairlapid/status/964090139545952256|title=Yair Lapid on Twitter|year=2018}}</ref> ടെൽ അവീവിലും ലണ്ടനിലുമായി യയിർ വളർന്നു. ടെൽ അവീവിലെ അദ്ദേഹത്തിന്റെ ബാല്യകാല വസതി യാഡ് എലിയാഹു പരിസരത്ത്, ജേണലിസ്റ്റ് റെസിഡൻസ് എന്നറിയപ്പെടുന്ന ഒരു റെസിഡൻഷ്യൽ കെട്ടിടത്തിലായിരുന്നു, അവിടെ നിരവധി പ്രമുഖ പത്രപ്രവർത്തകർ താമസിച്ചിരുന്നു. അദ്ദേഹം ഹെർസ്‌ലിയ എബ്രായ ജിംനേഷ്യത്തിലെ ഹൈസ്‌കൂളിൽ ചേർന്നു, പക്ഷേ പഠന വൈകല്യങ്ങളോട് മല്ലിട്ട് ഒരു ബാഗ്‌റൂട്ട് സർട്ടിഫിക്കറ്റ് നേടാതെ പഠനം ഉപേക്ഷിച്ചു. <ref name="haaretz" /><ref>{{cite web|url=http://www.ynet.co.il/articles/0,7340,L-4181978,00.html|title=יאיר לפיד: 'לא מצאו עליי כלום, אז המציאו סיפור'|date=5 January 2018|language=he|trans-title=Yair Lapid: 'They did not find anything about me, so they invented a story'|via=Ynet|author=אטילה שומפלבי}}</ref> പിന്നീട് അദ്ദേഹം ഇസ്രായേൽ പ്രതിരോധ സേനയിൽ കവചിത സേനയുടെ 500-ാമത്തെ ബ്രിഗേഡിൽ അദ്ദേഹം നിർബന്ധിത സൈനിക സേവനം ആരംഭിച്ചു. 1982 ലെ ലെബനൻ യുദ്ധത്തിൽ, ഹെലികോപ്റ്റർ ഉപയോഗിച്ച് പൊടിപടലങ്ങൾ ശ്വസിച്ചതിന് ശേഷം യായിറിന് ആസ്ത്മയുടെ ആക്രമണം നേരിടേണ്ടി വന്നു. തുടർന്ന് അദ്ദേഹം ഐ.ഡി.എഫിന്റെ പ്രതിവാര പത്രമായ ബമാഹാനെ ("ബേസ് ക്യാമ്പിൽ") ഒരു സൈനിക ലേഖകനായി സേവനമനുഷ്ഠിച്ചു.<ref>{{Cite web|url=https://www.cnsnews.com/news/article/popular-israeli-anchorman-quits-tv-joins-politics|title=Popular Israeli anchorman quits TV, joins politics {{!}} CNSNews.com|archive-url=https://web.archive.org/web/20120401182433/https://www.cnsnews.com/news/article/popular-israeli-anchorman-quits-tv-joins-politics|archive-date=1 April 2012|url-status=dead}}</ref> സൈനിക സേവനം പൂർത്തിയാക്കിയ ശേഷം മാരിവിന്റെ റിപ്പോർട്ടറായി പ്രവർത്തിക്കാൻ തുടങ്ങിയ അദ്ദേഹം സാഹിത്യ ജേണലുകളിൽ കവിതകൾ പ്രസിദ്ധീകരിച്ചു. ഒരു അമേച്വർ ബോക്സർ എന്ന നിലയിലും അദ്ദേഹത്തിന് കരിയർ ഉണ്ടായിരുന്നു. <ref>{{cite web|url=http://www.mako.co.il/men-magazine/machismo/Article-2666c4e4d61c431006.htm|title=לא קצין, אבל ג'נטלמן|date=9 January 2012|website=mako.co.il|language=he|trans-title=Not an officer, but a gentleman}}</ref> 1980 കളുടെ മധ്യത്തിൽ ലാപിഡ് തമർ ഫ്രീഡ്‌മാനെ വിവാഹം കഴിച്ചു. അവർ പിന്നീട് വിവാഹമോചനം നേടി. അദ്ദേഹം ലോസ് ഏഞ്ചൽസിലേക്ക് മാറുകയും അവിടെ അദ്ദേഹം ടെലിവിഷൻ വ്യവസായത്തിൽ ജോലി ചെയ്യുകയും ചെയ്തു. പിന്നീട് ഇസ്രായേലിലേക്ക് മടങ്ങിയ അദ്ദേഹം അവിടെ പത്രപ്രവർത്തന ജീവിതം പുനരാരംഭിച്ചു. പത്രപ്രവർത്തകയായ ലിഹി ലാപിഡിനെ വിവാഹം കഴിച്ച അദ്ദേഹം <ref>{{cite web|url=http://www.jpost.com/DiplomacyAndPolitics/Article.aspx?id=300270|title=Labor targets undecided female voters via kids – Diplomacy & Politics – Jerusalem Post|access-date=31 March 2016|last=Harkov|first=Lahav|date=21 January 2013|website=Jpost.com}}</ref> ടെൽ അവീവിലെ റമാത് അവീവ് ജിമെൽ പരിസരത്താണ് താമസിക്കുന്നത്.<ref>{{cite web|url=http://www.jPost.com/VideoArticles/Video/Article.aspx?id=299671|title=Who is Yair Lapid? – Video Articles – Jerusalem Post|access-date=31 March 2016|last=Danan|first=Deborah|date=15 January 2013|website=Jpost.com}}</ref> അദ്ദേഹത്തിനും ഭാര്യക്കും രണ്ട് മക്കളുണ്ട്, ആദ്യ വിവാഹത്തിൽ നിന്ന് അദ്ദേഹത്തിന് മറ്റൊരു മകൻ യോവ് (ജനനം 1987) ഉണ്ട്.<ref name="NYT">{{cite web|url=https://www.nytimes.com/2013/01/23/world/middleeast/yair-lapid-guides-yesh-atid-party-to-success-in-israeli-elections.html?_r=0|title=Charismatic Leader Helps Israel Turn Toward the Center|last=Kershner|first=Isabel|date=23 January 2013|work=[[The New York Times]]}}</ref> ടെൽ അവീവിലെ ഒരു പരിഷ്കരണ സിനഗോഗായ ഡാനിയൽസ് സെന്റർ ഫോർ പ്രോഗ്രസീവ് ജൂഡായിസത്തിൽ അദ്ദേഹം പങ്കെടുക്കുന്നു.<ref>{{cite web|url=https://www.haaretz.com/jewish/.premium-lapid-s-jewish-home-a-reform-shul-1.5226204|title=Yair Lapid's 'Jewish Home' Is a Reform Synagogue in Tel Aviv|accessdate=16 March 2021|publisher=Haaretz}}</ref> == പത്രപ്രവർത്തന രംഗത്ത് == 1988-ൽ, 25-ാം വയസ്സിൽ, യെഡിയോത്ത് ടെൽ അവീവ് എന്ന പ്രാദേശിക പത്രത്തിന്റെ പത്രാധിപരായി യായിറിനെ നിയമിച്ചു. 1991-ൽ അദ്ദേഹം രാജ്യവ്യാപകമായി ഒരു പത്രത്തിന്റെ വാരാന്ത്യ സപ്ലിമെന്റിൽ പ്രതിവാര കോളം എഴുതാൻ തുടങ്ങി - ആദ്യം മാരിവിനും പിന്നീട് അതിന്റെ എതിരാളിയായ യെഡിയോത്ത് അഹ്‌റോനോത്തിനും. അദ്ദേഹത്തിന്റെ കോളത്തിന്റെ പേര്, "പണം എവിടെ?" എന്നായിരുന്നു. ഇത് പതിറ്റാണ്ടുകൾക്ക് ശേഷം അദ്ദേഹത്തിന്റെ രാഷ്ട്രീയ മുദ്രാവാക്യമായി.<ref name="NYT" /> 1994 ൽ, യായിർ ടെലിവിഷൻ രംഗത്ത് പ്രവർത്തിക്കാൻ ആരംഭിച്ചു, ഇസ്രായേൽ ടിവിയുടെ ചാനൽ 1 ൽ വെള്ളിയാഴ്ച വൈകുന്നേരം ടോക്ക് ഷോ അവതരിപ്പിച്ചു. അതേ വർഷം തന്നെ ട്രിപ്പ് ടു സുഡാൻ എന്ന ഇസ്രായേലി സിനിമയിൽ അഭിനയരംഗത്തുണ്ടായിരുന്നു. അടുത്തതായി ടിവിയുടെ ചാനൽ 3 ൽ അദ്ദേഹം ഒരു ടോക്ക് ഷോ നടത്തി. 1999 മുതൽ 2012 വരെ ചാനൽ 2 ൽ യായിർ കറന്റ് അഫയേഴ്സ് ടോക്ക് ഷോ നടത്തി. 1989 മുതൽ 2010 വരെ ലാപിഡ് നിരവധി പുസ്തകങ്ങൾ എഴുതി പ്രസിദ്ധീകരിച്ചു. ആദ്യത്തേത് ഒരു ത്രില്ലർ ആയിരുന്നു, പിന്നീട് മൂന്ന് എണ്ണം കൂടി പ്രസിദ്ധീകരിച്ചു; മറ്റുള്ളവയിൽ രണ്ട് കുട്ടികളുടെ പുസ്തകങ്ങൾ, രണ്ട് നോവലുകൾ, അദ്ദേഹത്തിന്റെ പത്ര നിരകളുടെ ശേഖരം എന്നിവ ഉൾപ്പെടുന്നു. കൂടാതെ, 2004 ൽ ചാനൽ 2 ൽ സംപ്രേഷണം ചെയ്ത വാർ റൂം എന്ന നാടക പരമ്പരയും അദ്ദേഹം എഴുതി. 2012 ജനുവരിയിൽ ബാർ-ഇലൻ യൂണിവേഴ്‌സിറ്റി ഡോക്ടറേറ്റ് പ്രോഗ്രാമിലേക്ക് യായിറിനെ പ്രവേശിപ്പിച്ചതിനുശേഷം ഹെർമെന്യൂട്ടിക്‌സിൽ പിഎച്ച്ഡി പഠിച്ചതിനെ തുടർന്ന് വിവാദമുണ്ടായി. എല്ലാ ഡോക്ടറൽ സ്ഥാനാർത്ഥികളും കുറഞ്ഞത് ഒരു ബിരുദം നേടിയിരിക്കണം എന്ന് വ്യക്തമാക്കുന്ന നിയമങ്ങളുടെ ലംഘനമാണിത്. ഹൈസ്കൂൾ വിദ്യാഭ്യാസം പൂർത്തിയാക്കുന്നതിൽ പരാജയപ്പെട്ട ലാപിഡിനെ അക്കാദമികേതര യോഗ്യതാപത്രങ്ങളും പത്രപ്രവർത്തനത്തിലും എഴുത്തിലും ഔദ്യോഗിക ജീവിതത്തിന്റെ അടിസ്ഥാനത്തിൽ സർവകലാശാലയിൽ പ്രവേശിപ്പിച്ചു. നെസെറ്റ് വിദ്യാഭ്യാസ സമിതി അന്വേഷണം ആരംഭിച്ചതിനുശേഷം, ലാപ്പിഡിനെ പ്രവേശിപ്പിച്ച നടപടി കൗൺസിൽ ഫോർ ഹയർ എഡ്യൂക്കേഷൻ റദ്ദാക്കി. ബിഎ ഇല്ലാത്ത വിദ്യാർത്ഥികൾക്ക് ഡോക്ടറേറ്റിലേക്ക് പഠിക്കാൻ അനുവാദം നൽകുന്ന സ്കീം ആയിരുന്നു ഇത്. <ref>{{cite web|url=http://www.timesofisrael.com/no-ba-means-no-phd-for-yair-lapid/|title=No BA means no PhD for Yair Lapid|accessdate=6 March 2021|date=23 February 2012|work=The Times of Israel}}</ref><ref>{{cite web|url=http://www.jpost.com/Diplomacy-and-Politics/Knesset-Ctee-to-probe-Lapid-doctorate-affair|title=Knesset C'tee to probe Lapid doctorate affair|accessdate=6 March 2021|last=Harkov|first=Lahav|date=29 January 2012|work=The Jerusalem Post}}</ref> 2013 സെപ്റ്റംബറിൽ, ഫോബ്‌സ് മാസികയുടെ ഇസ്രായേലി പതിപ്പ് ലാപിഡിന്റെ ആസ്തി 22 ദശലക്ഷം ശേക്കെൽ ആയി കണക്കാക്കി. <ref>{{cite web|url=http://www.forbes.co.il/news/new.aspx?0r9VQ=KLHF|title=Israel's wealthiest politicians|access-date=6 October 2013|date=5 September 2013|work=Forbes|author=Galit Edot|archive-date=2013-10-01|archive-url=https://web.archive.org/web/20131001202821/http://www.forbes.co.il/news/new.aspx?0r9VQ=KLHF|url-status=dead}}</ref> == രാഷ്ട്രീയ രംഗത്ത് == രാഷ്ട്രീയത്തിൽ പ്രവേശിക്കുന്നതിനായി താൻ പത്രപ്രവർത്തനം ഉപേക്ഷിക്കുമെന്ന് 2012 ജനുവരി 8 ന് ലാപിഡ് പ്രഖ്യാപിച്ചു.<ref>{{cite news|url=http://www.haaretz.com/news/national/veteran-israeli-anchor-yair-lapid-leaves-channel-2-to-enter-politics-1.406168|title=Veteran Israeli anchor Yair Lapid leaves Channel 2 to enter politics|work=[[Haaretz]]|date=8 January 2012|access-date=8 January 2012}}</ref> ഏപ്രിൽ 30 ന് അദ്ദേഹം തന്റെ പാർട്ടിയായ "[[യെഷ് ആറ്റിഡ്]]" ഔദ്യോഗികമായി രജിസ്റ്റർ ചെയ്തു (ഹീബ്രു: יש lit, ലിറ്റ്, " ഭാവി ഉണ്ട്").<ref>{{cite news|url=http://www.jpost.com/Headlines/Article.aspx?id=267906&R=R101|title=Lapid registers new party, 'Yesh Atid'|work=[[The Jerusalem Post]]|date=29 April 2012|access-date=29 April 2012}}</ref> 2012 ന്റെ തുടക്കത്തിൽ തെരഞ്ഞെടുപ്പ് നടക്കുമെന്ന ഇസ്രായേലിലെ പൊതു പ്രതീക്ഷയ്‌ക്കൊപ്പമായിരുന്നു ഈ നീക്കം. യെഷ് ആതിഡിന്റെ രജിസ്ട്രേഷന് ഏതാനും ദിവസങ്ങൾക്ക് ശേഷം, അതിശയകരമായ ഒരു നീക്കത്തിലൂടെ ബെഞ്ചമിൻ നെതന്യാഹു ഒരു ദേശീയ ഐക്യ സർക്കാർ രൂപീകരിച്ചു. ദേശീയ തിരഞ്ഞെടുപ്പിൽ പങ്കെടുക്കുന്നതിന് മുമ്പ് യായിറിന്റെ പാർട്ടിക്ക് [[2013]] അവസാനം വരെ കാത്തിരിക്കേണ്ടി വരുമെന്ന് കരുതിയിരുന്നു. തീവ്ര ഓർത്തഡോൿസിനുള്ള സൈനിക കരടിൽ നിന്ന് ഒഴിവാക്കുന്നത് അവസാനിപ്പിച്ച് സുപ്രീംകോടതി തീരുമാനം എങ്ങനെ നടപ്പാക്കാമെന്നതിനെക്കുറിച്ചുള്ള നെതന്യാഹുവിന്റെ സഖ്യത്തിൽ നിന്ന് കദിമ പോയതിനെത്തുടർന്ന് 2012 ഒക്ടോബറിൽ നെതന്യാഹു 2013 ജനുവരി അവസാനത്തോടെ തിരഞ്ഞെടുപ്പ് നടക്കുമെന്ന് പ്രഖ്യാപിച്ചു. പ്രവർത്തിപ്പിക്കാനുള്ള ആദ്യ അവസരം. 2012 നവംബറിൽ 120 സീറ്റുകളുള്ള നെസെറ്റിൽ ശരാശരി 11.6 ശതമാനം അഥവാ 13-14 സീറ്റുകളാണ് യെഷ് ആറ്റിഡ് പോളിംഗ് നടത്തിയത്. ജനുവരിയിലെ തെരഞ്ഞെടുപ്പ് ഫലം പാർട്ടിക്ക് അപ്രതീക്ഷിതമായി 19 സീറ്റുകൾ നേടിക്കൊടുത്തു, 19 ആം നെസെറ്റിലെ രണ്ടാമത്തെ വലിയ പാർട്ടിയായി യെഷ് ആതിഡ് മാറി.<ref>{{cite news|url=http://www.ynetnews.com/articles/0,7340,L-4335946,00.html|title=19th Knesset to see Right, Left virtually tied|work=[[ynet]]|date=22 January 2013|access-date=22 January 2013}}</ref> 2013 മാർച്ച് 15 ന് ഇസ്രായേലിന്റെ ധനമന്ത്രിയായി ലാപിഡിനെ തിരഞ്ഞെടുത്തു.<ref>{{cite news|title=Ex-TV anchor Yair Lapid named as Israeli finance minister|url=https://www.reuters.com/article/2013/03/15/us-israel-finmin-lapid-idUSBRE92E0MN20130315|newspaper=Reuters|access-date=15 March 2013|date=15 March 2013|archive-date=2013-03-15|archive-url=https://web.archive.org/web/20130315213142/http://www.reuters.com/article/2013/03/15/us-israel-finmin-lapid-idUSBRE92E0MN20130315|url-status=dead}}</ref> ഒൻപത് മാസത്തിനുശേഷം, ജനപ്രീതി കുറയുന്നതിന്റെ തുടർച്ചയായ പ്രവണത കാണിക്കുന്ന ഒരു സർവേ പ്രസിദ്ധീകരിക്കുകയുണ്ടായി. പോൾ ചെയ്തവരിൽ 75% പേരും അദ്ദേഹത്തിന്റെ പ്രകടനത്തിൽ നിരാശരാണെന്ന് അവകാശപ്പെട്ടു, ഒപ്പം അദ്ദേഹത്തിന്റെ പാർട്ടിക്ക് നെസെറ്റിൽ 10 സീറ്റുകൾ മാത്രമേ നേടാനായുള്ളൂ. വർഷത്തിന്റെ ആരംഭത്തിൽ ലഭിച്ച 19 സീറ്റിനെ അപേക്ഷിച്ച് ഇത് തുലോം കുറവായിരുന്നു. <ref>{{cite web|url=http://www.globes.co.il/serveen/globes/docview.asp?did=1000904942&fid=1725|title=75% dissatisfied with Lapid's performance|access-date=26 December 2013|date=26 December 2013|publisher=Globes}}</ref> 2014 ഡിസംബർ 2 ന് നെതന്യാഹു ലാപിഡിനെ ധനമന്ത്രി സ്ഥാനത്തു നിന്നും പുറത്താക്കി. <ref>Ilan Ben Zion, (2 December 2014). [http://www.timesofisrael.com/netanyahu-fires-lapid-livni-from-ministerial-posts/ Netanyahu fires Lapid, Livni from ministerial posts]. The Times of Israel.</ref> ===യെഷ് അറ്റിഡ്=== [[പ്രമാണം:יאיר_לפיד_-_כנס_שדרות_לחברה_במכללה_האקדמית_ספיר-2.JPG|ലഘുചിത്രം| 2015 നവംബറീൽ സപിർ കലാലയത്തിൽ സംസാരിക്കുന്ന യായിർ]] [[പ്രമാണം:Blue_and_White1.jpg|thumb|2019 ൽ ബെന്നി ഗാൻ്റ്സുമൊത്ത്]] 2016 ൽ യായിർ, "ഇസ്രായേലിനായുള്ള സെവൻ പോയിന്റ് പ്ലാൻ" എന്ന അടിസ്ഥാന തത്വം അവതരിപ്പിച്ചു, അതിൽ ശക്തമായ സുരക്ഷാ സിദ്ധാന്തം, ഫലസ്തീനികളിൽ നിന്ന് വേർപെടുത്തേണ്ടതിന്റെ ആവശ്യകതയെ അടിസ്ഥാനമാക്കി അറബ് രാജ്യങ്ങളുമായുള്ള പ്രാദേശിക സമ്മേളനം, അഴിമതി വൃത്തിയാക്കാനുള്ള രാഷ്ട്രീയ വ്യവസ്ഥയുടെ പരിഷ്കാരങ്ങൾ, ഇസ്രായേൽ രാഷ്ട്രം അതിന്റെ ജൂത-ജനാധിപത്യ സ്വഭാവം, ഒരു ശക്തമായ നിയമ നിർവ്വഹണ സംവിധാനം, നവീകരണത്തിലൂടെ മുന്നോട്ട് കൊണ്ടുപോകുന്ന സമ്പദ്‌വ്യവസ്ഥ, വിദ്യാഭ്യാസത്തിനും ശാസ്ത്രത്തിനും കൂടുതൽ ഊന്നൽ നൽകുന്ന ഒരു സമതുലിതാവസ്ഥ എന്നിവയെല്ലാമുണ്ടായിരുന്നു. <ref>{{Cite web|url=https://www.yeshatid.org.il/seven_points?languagecode=en|title=Yesh Atid Headed by Yair Lapid {{!}} Yesh Atid|access-date=24 June 2018|website=www.yeshatid.org.il|language=en|archive-date=2018-06-24|archive-url=https://web.archive.org/web/20180624152520/https://www.yeshatid.org.il/seven_points?languagecode=en|url-status=dead}}</ref><ref>{{Cite web|url=https://www.israelhayom.co.il/article/414067|title="תוכנית 7 הנקודות" של לפיד|access-date=2021-05-22|website=www.israelhayom.co.il|language=he|url-status=live}}</ref> ഇസ്രായേലിലെ അഴിമതിക്കെതിരായ പോരാട്ടത്തിന് നേതൃത്വം നൽകുമെന്ന് യായിരിനു കീഴിൽ യെഷ് ആതിഡ് അവകാശപ്പെടുന്നു. അഴിമതിക്കേസിൽ കുറ്റക്കാരനാണെന്ന് കണ്ടെത്തിയ ഏതൊരു വ്യക്തിയെയും പൊതു ഓഫീസിൽ നിന്ന് വിലക്കുമെന്ന് 2017 ൽ പുറത്തിറക്കിയ "നാച്ച്ഷോൺ പ്ലാൻ" വ്യവസ്ഥ ചെയ്യുന്നു. രാഷ്ട്രീയ കൈക്കൂലി തടയുന്നതിന്, അത് "സഖ്യ ഫണ്ടുകളും" നിർത്തലാക്കുന്നു.<ref>{{Cite news|url=https://israelseen.com/2017/08/23/yesh-atid-israel-centrist-party-this-is-how-we-will-combat-corruption/|title=Yesh Atid Israel Centrist Party – This is How We Will Combat Corruption|access-date=24 June 2018|language=en-US|archive-date=2020-11-11|archive-url=https://web.archive.org/web/20201111225659/https://israelseen.com/2017/08/23/yesh-atid-israel-centrist-party-this-is-how-we-will-combat-corruption/|url-status=dead}}</ref> ==റഫറൻസുകൾ== {{Reflist}} ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{Sister project links |wikt=no |b=no |v=no |author=yes}} * {{Official website|https://web.archive.org/web/20120510034705/http://www.yairlapid.org.il:80/}} * {{MKlink|id=878}} * {{IMDb name|0487503}} {{s-start}} {{s-ppo}} {{s-new|office }} {{s-ttl | title = {{nowrap|Leader of [[Yesh Atid]]}} | years = 2012–present }} {{s-inc }} |- {{s-off }} {{s-bef | before = [[Yuval Steinitz]] }} {{s-ttl | title = [[Ministry of Finance (Israel)|Minister of Finance]] | years = 2013–2014 }} {{s-aft | after = {{nowrap|[[Benjamin Netanyahu]]}}<br>{{small|Acting}} }} |- {{s-vac|last=[[Shelly Yachimovich]]}} {{s-ttl | title = [[Leader of the Opposition (Israel)|Leader of the Opposition]] | years = 2020–2021 }} {{s-aft | after = {{nowrap|[[Benjamin Netanyahu]]}} }} {{s-end}} {{Current government of Israel}} {{Opposition leaders (Israel)}} {{IsraelForeignMin}} {{IsraelFinanceMin}} {{Current MKs}} {{Authority control}} dv4v126h3ywv0yfulwr23bijb7hc719 റോയൽ എൻഫീൽഡ് 0 548875 4621632 4071319 2026-05-22T22:24:37Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621632 wikitext text/x-wiki {{PU|Royal Enfield}} {{Infobox company | name = The Enfield Cycle Company Limited | logo = | type = Public Listed Company | industry = [[Motorcycle]]s, [[Guns]], [[Bicycles]] | fate = Defunct | successor = | founded = 1901 | founder = Albert Eadie and Robert Walker Smith | defunct = 1971 | hq_location_city = [[Redditch]], [[Worcestershire]] | hq_location_country = UK | area_served = | key_people = | products = Royal Enfield Clipper, Crusader, Bullet, Interceptor, WD/RE, Super Meteor }}വോർസെസ്റ്റർഷയറിലെ റെഡ്ഡിച്ചിലെ '''എൻഫീൽഡ് സൈക്കിൾ കമ്പനി ലിമിറ്റഡ്''' <ref>Royal Enfield. ''The Times'', Wednesday, 2 Oct 1912; pg. 27; Issue 40019</ref> [[മോട്ടോർ സൈക്കിൾ|മോട്ടോർ സൈക്കിളുകൾ]], [[സൈക്കിൾ|സൈക്കിളുകൾ]], പുൽത്തകിടി നിർമ്മാതാക്കൾ, സ്റ്റേഷനറി എഞ്ചിനുകൾ എന്നിവ വിറ്റ [[ബ്രാൻഡ്|ബ്രാൻഡ് നാമമായിരുന്നു]] '''റോയൽ എൻഫീൽഡ്.''' റോയൽ ഇല്ലാതെ എൻ‌ഫീൽഡ് എന്ന ബ്രാൻഡ് നാമം മാത്രമായും എൻ‌ഫീൽഡ് സൈക്കിൾ കമ്പനി ഉപയോഗിച്ചു. ആദ്യത്തെ റോയൽ എൻഫീൽഡ് മോട്ടോർസൈക്കിൾ 1901 ലാണ് നിർമ്മിച്ചത്. ചരിത്രത്തിലെ ഏറ്റവും ദൈർഘ്യമേറിയ മോട്ടോർ സൈക്കിൾ രൂപകൽപ്പനയായ [[റോയൽ എൻഫീൽഡ് ബുള്ളറ്റ്|റോയൽ എൻഫീൽഡ് ബുള്ളറ്റിന്റെ]] രൂപകൽപ്പനയ്ക്കും യഥാർത്ഥ നിർമ്മാണത്തിനും എൻഫീൽഡ് സൈക്കിൾ കമ്പനിയാണ് ഉത്തരവാദി. റോയൽ എൻഫീൽഡിന്റെ സ്‌പെയർ പാർട്‌സ് പ്രവർത്തനം 1967 ൽ വെലോസെറ്റിന് വിറ്റു, ഇത് 1971 ന്റെ തുടക്കത്തിൽ അടച്ചു. എൻ‌ഫീൽഡിന്റെ ശേഷിക്കുന്ന മോട്ടോർ സൈക്കിൾ ബിസിനസ്സ് 1967 ൽ നോർട്ടൺ വില്ലിയേഴ്സിന്റെ ഭാഗമായി. 1978 ൽ ബിസിനസ്സ് അവസാനിച്ചു. == ചരിത്രം == ജോർജ്ജ് ടൌൺസെന്റ് 1851 ൽ റെഡ്ഡിച്ചിൽ തയ്യൽ സൂചികൾ നിർമ്മിക്കുന്ന ഒരു ബിസിനസ്സ് ആരംഭിച്ചു. 1882-ൽ അദ്ദേഹത്തിന്റെ മകൻ ജോർജ്ജ് സൈക്കിൾ നിർമ്മാതാക്കൾക്കായി സാഡലുകളും ഫോർക്കുകളും ഉൾപ്പെടെയുള്ള ഘടകങ്ങൾ നിർമ്മിക്കാൻ തുടങ്ങി. 1886 ആയപ്പോഴേക്കും ടൌൺസെന്റ്, ഇക്കോസെയ്സ് എന്നീ പേരുകളിൽ പൂർണ്ണ സൈക്കിളുകൾ വിറ്റഴിക്കപ്പെട്ടു. ഈ ബിസിനസ്സിന് 1891 ൽ സാമ്പത്തിക തകർച്ചയുണ്ടായി. <ref>{{Cite web|url=http://www.motorcyclealliance.com.au/2017-royal-enfield-himalayan-taking-easy/|title=2017 Royal Enfield Himalayan – Taking It Easy|publisher=Motorcycle alliance|access-date=2021-07-16|archive-date=2021-09-17|archive-url=https://web.archive.org/web/20210917213653/https://www.motorcyclealliance.com.au/2017-royal-enfield-himalayan-taking-easy/|url-status=dead}}</ref> <ref>{{Cite web|url=http://naturfreundejugend.info/gallery/r/royal-enfield-backgrounds-and.html|title=Royal Enfield Background|website=Natur Freundejugend|archive-url=https://web.archive.org/web/20170921192534/http://naturfreundejugend.info/gallery/r/royal-enfield-backgrounds-and.html|archive-date=21 September 2017}}</ref> ബർമിംഗ്ഹാമിലെ പെറി ആന്റ് കോ ലിമിറ്റഡിന്റെ സെയിൽസ് മാനേജർ ആൽബർട്ട് ഈഡി, സൈക്കിളുകൾക്കായി ഘടകങ്ങൾ വിതരണം ചെയ്യാൻ തുടങ്ങിയ പെൻ നിർമ്മാതാക്കൾ, ഡി. റൂഡ്ജ് ആൻഡ് കോയിൽ നിന്നുള്ള എഞ്ചിനീയർ റോബർട്ട് വാക്കർ സ്മിത്ത്, <ref>W.F. Grew. ''The cycle industry, its origin, history and latest developments''. Sir Isaac Pitman, London, 1921</ref> എന്നിവരെ ബിസിനസ്സ് നടത്തുന്നതിന് ടൌൺസെന്റിന്റെ ബാങ്കർമാർ തിരഞ്ഞെടുത്തു. 1892-ൽ ഈ സ്ഥാപനത്തെ വീണ്ടും സംയോജിപ്പിച്ച് ഈഡി മാനുഫാക്ചറിംഗ് കമ്പനി ലിമിറ്റഡ് എന്ന് നാമകരണം ചെയ്തു. ബർമിംഗ്ഹാമിലെ സ്നോ ഹില്ലിലാണ് ഇത് പ്രവർത്തിച്ചിരുന്നത്. <ref>''The Irish Times'' 17 July 1897: 11</ref> <ref name="automobile_mag">{{Cite journal|last=Worthington-Williams|first=Michael|title=The Enfield-Allday story|journal=The Automobile|volume=7|pages=10–13|date=September 1989}}</ref> പിന്നീട്, 1907-ൽ, എൻ‌ഫീൽഡ് ഓട്ടോകാർ ബിസിനസിൽ നിന്നുള്ള ഗുരുതരമായ നഷ്ടത്തിന് ശേഷം, ഈഡി മാനുഫാക്ചറിംഗും അതിന്റെ പെഡൽ-സൈക്കിൾ ഘടക ബിസിനസും ബർമിംഗ്ഹാം സ്മോൾ ആർമ്സ് കമ്പനി (ബി‌എസ്‌എ) ഏറ്റേടുത്തു. <ref>The Motor Industry. ''The Times'', Friday, 2 Sep 1910; pg. 8; Issue 39367</ref> വർഷങ്ങൾക്കുശേഷം, ഏറ്റെടുക്കൽ സൈക്കിൾ ഡിപ്പാർട്ട്‌മെന്റിന് അത്ഭുതങ്ങൾ സൃഷ്ടിച്ചുവെന്ന് ബിഎസ്എ ചെയർമാൻ ഓഹരി ഉടമകളോട് പറഞ്ഞു. <ref>Birmingham Small Arms. ''The Times'', Tuesday, 30 Sep 1913; pg. 16; Issue 40330</ref> 1957 ൽ ബി‌എസ്‌എയുടെ സൈക്കിൾ ബിസിനസ് റാലി വാങ്ങിയപ്പോഴും ഈഡിക്ക് ഒരു പ്രത്യേക ഐഡന്റിറ്റി നിലനിർത്തി. <ref>Business Changes. ''The Times'', Friday, 12 Jul 1957; pg. 16; Issue 53891</ref> == എൻ‌ഫീൽഡ് == [[പ്രമാണം:Enfield_Cycle_Company_1897.jpg|ലഘുചിത്രം| "ദി ന്യൂ എൻ‌ഫീൽഡ് സൈക്കിൾ കമ്പനി" യുടെ 11 ജനുവരി 1897 ന് ഇഷ്യു ചെയ്ത ഷെയർ]] മിഡിൽസെക്സിലെ എൻ‌ഫീൽഡിലെ ഗവൺമെന്റിന്റെ റോയൽ സ്മോൾ ആർമ്സ് ഫാക്ടറിയിലേക്ക് തോക്കുകളുടെ കൃത്യമായ ഭാഗങ്ങൾ വിതരണം ചെയ്യുന്നതിനുള്ള കരാറുകൾ ഈഡി നേടിയിരുന്നു, റോയൽ എൻഫീൽഡ് എന്ന ബ്രാൻഡ് നാമം സ്വീകരിച്ചത് അങ്ങനെയാണ്. സൈക്കിൾ ജോലികൾ കൈകാര്യം ചെയ്യുന്നതിനായി 1896-ൽ അവർ ഒരു പുതിയ അനുബന്ധ കമ്പനിയായ ദി ന്യൂ എൻ‌ഫീൽഡ് സൈക്കിൾ കമ്പനി ലിമിറ്റഡ് <ref group="note">From 1896 to 1897 known as "The New Enfield Cycle Company Limited"</ref> ആരംഭിച്ചു. എൻ‌ഫീൽഡ് മോട്ടോർ സൈക്കിളുകളും (1901) മോട്ടോർ കാറുകളുമായി (1902) വൈവിധ്യവൽക്കരിച്ചു. മോട്ടോർ ഡിപ്പാർട്ട്‌മെന്റിനെ 1906-ൽ സംയോജിപ്പിച്ച് എൻ‌ഫീൽഡ് ഓട്ടോകാർ കമ്പനി ലിമിറ്റഡിനെ ഒരു പ്രത്യേക അനുബന്ധ സ്ഥാപനമാക്കി മാറ്റി റെഡ്ഡിച്ചിലെ ഹണ്ട് എന്റിൽ പുതിയ ജോലികൾ ആരംഭിച്ചു. <ref>Prospectus. ''The Times'', Wednesday, 7 Mar 1906; pg. 15; Issue 37961</ref> എന്നിരുന്നാലും വെറും 19 മാസത്തിനുശേഷം എൻ‌ഫീൽഡ് ഓട്ടോകാർ ഗണ്യമായ നഷ്ടം റിപ്പോർട്ട് ചെയ്തു, അതിനാൽ 1907 ന്റെ തുടക്കത്തിൽ ഈഡി ഈഡി മാനുഫാക്ചറിംഗിന്റെ നിയന്ത്രണം ബി‌എസ്‌എയ്ക്ക് വിറ്റു. ഓഹരി ഉടമകൾക്ക് നിർദ്ദിഷ്ട വിൽപ്പന നടത്തുന്നതിന് മുമ്പ് ആൽബർട്ട് ഈഡിയെയും റോബർട്ട് വാക്കർ സ്മിത്തിനെയും ബി‌എസ്‌എയുടെ ഡയറക്ടർമാരായി നിയമിച്ചിരുന്നു. പുതിയ സംയോജിത ബി‌എസ്‌എ, ഈഡി ബിസിനസ്സ് "മിലിട്ടറി, സ്‌പോർട്ടിംഗ് റൈഫിളുകൾ, (പെഡൽ) സൈക്കിൾ, സൈക്കിൾ ഘടകങ്ങൾ, മോട്ടോർ കാറുകൾ തുടങ്ങിയവ" നിർമ്മിച്ചു. <ref>Important Cycle Trade Amalgamation. ''The Times'', Wednesday, 13 Feb 1907; pg. 12; Issue 38255</ref> എൻ‌ഫീൽഡ് ഓട്ടോകാറിന്റെ ബിസിനസ്സ്, അതായത് പ്ലാന്റും സ്റ്റോക്കും, ബർമിംഗ്ഹാമിലെ ആൽ‌ഡേസ് &amp;amp; ജൂനിയർ ന്യൂമാറ്റിക് എഞ്ചിനീയറിംഗിന് വിറ്റു. <ref>Enfield Autocar Limited. ''The Manchester Guardian'' 18 January 1908: 11</ref> എൻ‌ഫീൽഡ് സൈക്കിൾ കമ്പനി ഹണ്ട് എൻഡ് പ്രെമിസെസ് ഏറ്റെടുത്തു. 1955 ൽ എൻ‌ഫീൽഡ് സൈക്കിൾ കമ്പനി മദ്രാസ് മോട്ടോഴ്‌സുമായി ചേർന്ന് [[ചെന്നൈ]] ആസ്ഥാനമായി എൻ‌ഫീൽഡ് ഓഫ് ഇന്ത്യ രൂപീകരിച്ച് 350 സിസി റോയൽ എൻ‌ഫീൽഡ് ബുള്ളറ്റ് മോട്ടോർസൈക്കിൾ [[ചെന്നൈ|മദ്രാസിൽ]] നിർമ്മിക്കാൻ തുടങ്ങി. ആദ്യത്തെ മെഷീനുകൾ ഇംഗ്ലണ്ടിൽ നിന്ന് ഇറക്കുമതി ചെയ്ത ഘടകങ്ങളിൽ നിന്ന് കൂട്ടിച്ചേർത്തു. 1957 മുതൽ എൻ‌ഫീൽഡ് ഓഫ് ഇന്ത്യ ഇന്ത്യയിൽ ഘടകങ്ങൾ നിർമ്മിക്കുന്നതിന് ആവശ്യമായ യന്ത്രങ്ങൾ സ്വന്തമാക്കി, 1962 ആയപ്പോഴേക്കും എല്ലാ ഘടകങ്ങളും ഇന്ത്യയിൽ നിർമ്മിക്കപ്പെട്ടു. 1967 ന്റെ തുടക്കത്തിൽ കമ്പനി അടയ്ക്കുന്നതുവരെ റോയൽ എൻഫീൽഡ് അതിന്റെ റെഡ്ഡിച്ച് ഫാക്ടറിയിൽ സൈക്കിളുകൾ നിർമ്മിച്ചു. 1970 ൽ മോട്ടോർസൈക്കിളുകളുടെ ഉത്പാദനം നിർത്തലാക്കുകയും വോർസെസ്റ്റർഷെയർ ആസ്ഥാനമായുള്ള കമ്പനിയായ റെഡ്ഡിച്ച് 1971 ൽ ഇല്ലാതാകുകയും ചെയ്തു. <ref>Millers's Classic Motorcycles Price Guide 1995 Volume II, p.&nbsp;78. Judith and Martin Miller, general Editor Valerie Lewis.</ref> റോയൽ എൻഫീൽഡിന്റെ സ്‌പെയർ പാർട്‌സ് ബിസിനസ് 1967 ൽ വെലോസെറ്റിന് വിറ്റു. 1971 ൽ കമ്പനി പ്രവർത്തനം അവസാനിപ്പിച്ചു. വെസ്റ്റ് ബ്രോംവിച്ച് ലോഹ വ്യാപാരിയായ സിസി കൂപ്പർ ഒരു ചെറിയ സംഘം എഞ്ചിനീയർമാർക്കൊപ്പം ചില സ്പെയർ പാർട്സ് ഉത്പാദിപ്പിക്കുന്നത് കുറച്ചുകാലത്തേക്ക് കൂടി തുടർന്നു. <ref name="Classic June 1996">Goodman on Velocette, Part 2. Interview with works director Peter Goodman, by Dennis Frost. ''[[The Classic Motor Cycle]]'', June 1996 pp.&nbsp;47–51. Accessed 13 January 2020</ref> എൻ‌ഫീൽഡ് ഓഫ് ഇന്ത്യ 'ബുള്ളറ്റ്' നിർമ്മാണം തുടർന്നു, അവർ 1999 ൽ 'റോയൽ എൻഫീൽഡ്' എന്ന പേരിൽ തന്നെ മോട്ടോർ സൈക്കിളുകൾ ബ്രാൻഡുചെയ്യാൻ തുടങ്ങി. ഡേവിഡ് ഹോൾഡറുടെ വ്യാപാരമുദ്ര 'റോയൽ' ഉപയോഗിക്കുന്നതിനെതിരായ ഒരു കേസിൽ എൻ‌ഫീൽഡ് ഓഫ് ഇന്ത്യയ്ക്ക് അനുകൂലമായി വിധിയുണ്ടായി. <ref name="Trade mark decision">[https://www.ipo.gov.uk/t-challenge-decision-results/t-challenge-decision-results-bl?BL_Number=O/251/00 Trade mark decision], Patent Office, UK Government. Retrieved 12 March 2016</ref> കഫെ റേസറുകൾ, ക്രൂയിസറുകൾ, റെട്രോസ്, അഡ്വഞ്ചർ ടൂററുകൾ എന്നിവ എൻ‌ഫീൽഡ് ഓഫ് ഇന്ത്യ ഇന്ത്യയിൽ നിർമ്മിച്ച് വിപണനം ചെയ്യുന്ന മോഡലുകളിൽ ഉൾപ്പെടുന്നു. == ഉൽപ്പന്നങ്ങൾ == [[പ്രമാണം:MHV Royal Enfield Quad 1900 (FFT filter).jpg|ലഘുചിത്രം| റോയൽ എൻ‌ഫീൽഡ് ക്വാഡ്രൈസൈക്കിൾ]] 1899 ആയപ്പോഴേക്കും റോയൽ എൻ‌ഫീൽഡ് ക്വാഡ്രൈസൈക്കിൾ നിർമ്മിച്ചുതുടങ്ങി. ഇത് ഒരു ബൈസൈക്കിൾ പരിഷ്‌ക്കരിച്ച് നാല് ചക്രങ്ങളുള്ള ഒരു ഫ്രെയിം ചേർത്ത്, റിയർ റൈഡർ-സഡിൽ ഹാൻഡിൽബാറുകൾ നിലനിർത്തി - മുൻ പാസഞ്ചർ സീറ്റ്, പിന്നിൽ ഘടിപ്പിച്ച ഡി ഡിയോൺ എഞ്ചിൻ എന്നിവ ഉൾക്കൊള്ളിച്ച് നിർമ്മിച്ചതായിരുന്നു. <ref>[http://www.gracesguide.co.uk/File:Im19000707AC-Enfield.jpg] Grace's Industrial Guide 1900 advertisement Retrieved 2013-12-31</ref> കനമുള്ള സൈക്കിൾ‌ ഫ്രെയിമിൽ‌ ഫ്രണ്ട് ഡൌൺ‌ട്യൂബിൽ മിനർ‌വ എഞ്ചിൻ‌ ഘടിപ്പിച്ച പരീക്ഷണങ്ങൾക്ക് ശേഷം 1901 ൽ 239 സിസി എഞ്ചിൻ ഉപയോഗിച്ച് [[മോട്ടോർ സൈക്കിൾ|എൻ‌ഫീൽ‌ഡ് അവരുടെ ആദ്യത്തെ മോട്ടോർ‌സൈക്കിൾ‌]] പുറത്തിറക്കി. [[പ്രമാണം:1907_Enfield_15_(8069957607)_(cropped).jpg|ലഘുചിത്രം| 1907 എൻ‌ഫീൽഡ് 15]] 1903 ൽ ഫ്രഞ്ച് അഡെർ വി-ട്വിൻ അല്ലെങ്കിൽ ഡി ഡിയോൺ സിംഗിൾ സിലിണ്ടർ എഞ്ചിൻ ഉപയോഗിച്ച് ഒരു ലൈറ്റ് കാർ അവതരിപ്പിച്ചു. 1906-ൽ കാർ ഉൽ‌പാദനം റെഡ്ഫിച്ചിലെ ഹണ്ട് എന്റിലെ എൻ‌ഫീൽഡ് ഓട്ടോകാർ കോ ലിമിറ്റഡിലേക്ക് മാറ്റി. സ്വതന്ത്ര കമ്പനി 1908 വരെ മാത്രമേ നീണ്ടുനിന്നുള്ളൂ. <ref name="automobile_mag"/> 1907-ൽ എൻ‌ഫീൽഡ് ബർമിംഗ്ഹാമിലെ ''ആൽ‌ഡേസ് & ഒനിയൻസ് ജൂനിയർ ന്യൂമാറ്റിക് എഞ്ചിനീയറിംഗ് കമ്പനി''യുമായി ലയിച്ച് എൻ‌ഫീൽഡ്-ആൽ‌ഡേ ഓട്ടോമൊബൈൽ നിർമ്മാണം ആരംഭിച്ചു. 1910 ആയപ്പോഴേക്കും റോയൽ എൻഫീൽഡ് നേരിട്ടുള്ള ബെൽറ്റ് ഡ്രൈവ് 297 സിസി സ്വിസ് മോട്ടോസാക്കോച്ച് വി-ട്വിൻ എഞ്ചിനുകൾ ഉപയോഗിച്ചിരുന്നു. ചെയിൻ ഡ്രൈവ്, എൻഫീൽഡ് 2 സ്പീഡ് ഗിയർ എന്നിവയുടെ വരവോടെ 1911 ൽ അത് 344 സിസിയിലേക്ക് ഉയർത്തി. [[പ്രമാണം:Royal_Enfield_3,5_pk_425_cc_1913.jpg|ലഘുചിത്രം| 1913 എൻ‌ഫീൽഡ് 425 സിസി]] 1912 ൽ 770 സിസി വി-ട്വിൻ ജെ‌എപി എഞ്ചിൻ ഉപയോഗിച്ച് റോയൽ എൻഫീൽഡ് മോഡൽ 180 സൈഡ്‌കാർ കോമ്പിനേഷൻ അവതരിപ്പിച്ചു. === ഒന്നാം ലോക മഹായുദ്ധം (1914-1918) === 1914-ൽ എൻ‌ഫീൽഡ് ബ്രിട്ടീഷ് യുദ്ധവകുപ്പിന് ധാരാളം മോട്ടോർ സൈക്കിളുകൾ വിതരണം ചെയ്യുകയും ഇംപീരിയൽ റഷ്യൻ സർക്കാരിനായി ഒരു മോട്ടോർ സൈക്കിൾ കരാർ നേടുകയും ചെയ്തു. എൻ‌ഫീൽഡ് സ്വന്തം 225 സിസി ടു-സ്ട്രോക്ക് സിംഗിൾ, 425 സിസി വി-ട്വിൻ എഞ്ചിനുകൾ ഉപയോഗിച്ചു. <ref name="History">{{Cite web|url=http://www.oxfordshireroyalenfield.co.uk/history.htm|title=The History of the Marque|access-date=2009-04-04|archive-url=https://web.archive.org/web/20090613034805/http://www.oxfordshireroyalenfield.co.uk/history.htm|archive-date=13 June 2009}}</ref> അവർ വിക്കേഴ്‌സ് മെഷീൻ ഗൺ ഘടിപ്പിച്ച 8 എച്ച്പി മോട്ടോർസൈക്കിൾ സൈഡ്‌കാറും നിർമ്മിച്ചിരുന്നു. === ലോകയുദ്ധങ്ങൾക്കിടയിലെ വർഷങ്ങൾ (1921-1939) === [[പ്രമാണം:Royal_Enfield_RE_201_225_cc_1923.jpg|ഇടത്ത്‌|ലഘുചിത്രം| 1923 റോയൽ എൻഫീൽഡ് 225 സിസി]] 1921 ൽ എൻ‌ഫീൽഡ് ഒരു പുതിയ 976 സിസി ട്വിൻ വികസിപ്പിച്ചു. 1924 ൽ അവർ പ്രെസ്റ്റ്വിച്ച് ഇൻഡസ്ട്രീസ് എഞ്ചിൻ ഉപയോഗിക്കുന്ന ആദ്യത്തെ എൻ‌ഫീൽഡ് ഫോർ-സ്ട്രോക്ക് 350 സിസി സിംഗിൾ പുറത്തിറക്കി. 1928-ൽ റോയൽ എൻഫീൽഡ് ബൾബസ് 'സാഡിൽ' ടാങ്കുകളും സെന്റർ-സ്പ്രിംഗ് ഗിർഡർ ഫ്രണ്ട് ഫോർക്കുകളും ഉപയോഗിക്കാൻ തുടങ്ങി, ഇത് ആദ്യമായി ചെയ്ത കമ്പനികളിലൊന്നാണ് അവർ. 1930 കളിൽ ബിസിനസ് നഷ്ടത്തിലായിരുന്നുവെങ്കിലും, കരുതൽ ധനത്തെ ആശ്രയിച്ച് തുടരുന്നതിന് കമ്പനിക്ക് കഴിഞ്ഞു. 1931 ൽ കമ്പനിയുടെ സ്ഥാപകരിലൊരാളായ ആൽബർട്ട് ഈഡി മരിച്ചു, അദ്ദേഹത്തിന്റെ പങ്കാളിയായ ആർ‌ഡബ്ല്യു സ്മിത്ത് 1933 ൽ മരിച്ചു. === രണ്ടാം ലോക മഹായുദ്ധം (1939-1945) === [[പ്രമാണം:Thinktank_Birmingham_-_object_1982S03575(2).jpg|ലഘുചിത്രം| റോയൽ എൻഫീൽഡ് 250 സിസി, ടൈപ്പ് 11 എഫ്]] രണ്ടാം ലോകമഹായുദ്ധസമയത്ത് സൈനിക മോട്ടോർസൈക്കിളുകൾ വികസിപ്പിക്കാനും നിർമ്മിക്കാനും ബ്രിട്ടീഷ് അധികാരികൾ എൻ‌ഫീൽഡ് സൈക്കിൾ കമ്പനിയെ വിളിച്ചിരുന്നു. സൈന്യത്തിന് വേണ്ടി നിർമ്മിച്ച മോഡലുകൾ ഡബ്യുഡി / സിഒ 350 സിസി സൈഡ്‌വാൽവ്, ഡബ്യുഡി / സിഒ 350 സിസി ഒഎച്ച്‍വി, ഡബ്യുഡി / ഡി 250 സിസി എസ്വ്വി, ഡബ്യുഡി / ജി 350 സിസി ഒഎച്ച്‍വി, ഡബ്യുഡി / എൽ 570 സിസി എസ്‌വി എന്നിവ ആയിരുന്നു. പാരച്യൂട്ട് വഴി ഇറക്കാൻ രൂപകൽപ്പന ചെയ്തത 125 സിസി 2-സ്ട്രോക്ക് റോയൽ എൻ‌ഫീൽഡ് ഡബ്ല്യുഡി / ആർ‌ഇ ഏറ്റവും അറിയപ്പെടുന്ന എൻ‌ഫീൽ‌ഡുകളിലൊന്നാണ്. == യുദ്ധാനന്തര മോഡൽ ജി, മോഡൽ ജെ, എക്സ് മിലിട്ടറി സി, സി‌ഒ (1946–1954) == യുദ്ധാനന്തരം, റോയൽ എൻ‌ഫീൽഡ് സിംഗിൾ സിലിണ്ടർ ഒഎച്ച്‍വി 350 സിസി മോഡൽ ജി, 500 സിസി മോഡൽ ജെ എന്നിവയുടെ ഉത്പാദനം പുനരാരംഭിച്ചു. റീകണ്ടീഷന് ചെയ്ത മുൻ മിലിട്ടറി എസ്‌വി മോഡൽ സി, ഒ‌വി മോഡൽ സി‌ഒ സിംഗിൾ‌സ് എന്നിവയും വിൽ‌പനയ്ക്ക് വന്നു. <ref name="autogenerated1">"Royal Enfield By Miles the Best" book by Gordon May</ref> == 500 ട്വിൻസ്, മെറ്റീരിയർസ്, സൂപ്പർ മെറ്റീരിയർസ്, കോൺസ്റ്റലേഷൻസ് 1949-1963 == 1949 ൽ, ഇപ്പോൾ പ്രചാരത്തിലുള്ള ട്വിൻപാരലലുകളുടെ റോയൽ എൻഫീൽഡ്സ് പതിപ്പ് പ്രത്യക്ഷപ്പെട്ടു. മെറ്റീരിയർസ്, സൂപ്പർ മെറ്റീരിയർസ്, കോൺസ്റ്റലേഷൻസ് എന്നിവയുടെ മുന്നോടിയായിരുന്നു ഈ 500 സിസി പതിപ്പ്. മിതമായ നിരക്കിൽ മികച്ച പ്രകടനം വാഗ്ദാനം ചെയ്യുന്ന ഇവ വ്യാപകമായി വിറ്റു. 700 സിസി റോയൽ എൻഫീൽഡ് കോൺസ്റ്റെലേഷൻ ട്വിൻ ആദ്യത്തെ സൂപ്പർ ബൈക്ക് എന്നാണ് വിശേഷിപ്പിച്ചത്. <ref>"Royal Enfield By Miles the Best", Gordon May</ref> == 250 സിസി മോഡലുകൾ == ഡ്രൈവിങ്ങ് ടെസ്റ്റ് വിജയിക്കാതെ ഒരു 'പഠിതാവിന്' ഓടിക്കാൻ കഴിയുന്ന ഏറ്റവും വലിയ എഞ്ചിനായതിനാൽ 250 സിസി ക്ലാസ് യുകെയിൽ പ്രധാനമായിരുന്നു. 1950 കളുടെ അവസാനത്തിലും 1960 കളുടെ തുടക്കത്തിലും റോയൽ എൻ‌ഫീൽഡ് 250 സിസി മെഷീനുകൾ നിർമ്മിച്ചു, അതിൽ ഒരു റേസർ, 'ജിപി' <ref name="65 Show">[[The Motor Cycle|Motor Cycle]], 9 September 1965. p.371 ''SLIM and LOW'' by David Dixon. ''Track test at Oulton Park of RE GP with Racing Manager Geoff Duke''. Accessed 2013-08-18</ref>, സ്‌ക്രാംബ്ലർ, 'മോട്ടോ-എക്സ്' എന്നിവ ഉൾപ്പെടുന്നു, ഇത് പരിഷ്കരിച്ച ക്രൂസേഡർ ഫ്രെയിം, പ്രധാന ലിങ്ക് ഫോർക്കുകൾ ഒപ്പം വില്ലിയേഴ്സ് സ്റ്റാർമേക്കർ എഞ്ചിൻ എന്നിവ ഉപയോഗിച്ചു. <ref name="64 Show">[[The Motor Cycle|Motor Cycle]], 19 November 1964. '[[Earls Court Exhibition Centre|Earls Court Show]] Guide'. p.847 "''Geoff Duke demonstrates the riding position of the new Royal Enfield racer...''" and p.&nbsp;860. [images]:caption:"'' Britain's newest racing two-fifties, the Scorpion and...Royal Enfield''". [Royal Enfield stand] "''The preliminary range announcement brought an interesting newcomer in the leading-link fork Olympic sportster....a highly potent super-sports (the Continental GT) and a very tough looking Starmaker scrambler....off came the dust sheets and there stood a two-fifty production racer with a Redditch-built power unit!''". Accessed 2013-08-18</ref> <ref>[[The Motor Cycle|Motor Cycle]], 5 November 1964, pp.&nbsp;770–771. ''A flourish for the GT. About the bike—and a Moto–crosser''". Accessed and added 2014-12-23</ref> ക്ലിപ്പർ ഒരു ബേസ്-മോഡൽ ടൂററായിരുന്നു, ഏറ്റവും കൂടുതൽ വിറ്റഴിക്കപ്പെട്ട മോഡൽ 248 സിസി പുഷ്റോഡ് ഒഎച്ച്‍വി സിംഗിൾ ക്രൂസേഡറാണ്. [[പ്രമാണം:Royal_Enfield_Continental_GT_250cc_1966_-_Flickr_-_mick_-_Lumix.jpg|ഇടത്ത്‌|ലഘുചിത്രം|160x160ബിന്ദു| ഫ്ലൈസ്‌ക്രീനിനൊപ്പം ആർഇ ജിടി]] [[പ്രമാണം:Royal_Enfield_Continental_GT_1966_cropped_edges.jpg|ലഘുചിത്രം|145x145ബിന്ദു| അവോൺ സ്പീഡ്ഫ്ലോ നോസെകോൺ ഫെയറിംഗിനൊപ്പം ആർഇ ജിടി]] 1965 ൽ ചുവന്ന ജിആർപി ടാങ്ക്, അഞ്ച് സ്പീഡ് ഗിയർബോക്സ് (ഇത് ക്രൂസേഡറിലെ ഒരു ഓപ്ഷൻ കൂടിയായിരുന്നു), ക്ലിപ്പ്-ഓൺ ഹാൻഡിൽബാറുകൾ, റിയർസെറ്റ് ഫുട്‌റെസ്റ്റുകൾ, സ്വീപ്പ് പൈപ്പ്, ഹമ്പ്-ബാക്കഡ് സീറ്റ് എന്നിവയുള്ള കോണ്ടിനെന്റൽ ജിടി എന്ന് വിളിക്കുന്ന ഒരു 16കി.വാ. വേരിയൻ്റ് പുറത്തിറക്കി. റേസ്-സ്റ്റൈലിംഗ് ഉള്ള ഇത് ധാരാളം വിറ്റഴിക്കപ്പെട്ടു. <ref>[[The Motor Cycle|Motor Cycle]], 19 November 1964. 'Brighton Show Guide'. p.&nbsp;17. Royal Enfield "''The new Continental GT''" full-page factory advertisement. Accessed 2013-08-18</ref> [[പ്രമാണം:Royal_Enfield_Turbo_Twin_Cropped.jpg|ഇടത്ത്‌|ലഘുചിത്രം|160x160ബിന്ദു| ആർഇ ടർബോ ട്വിൻ]] അവോൺ 'സ്പീഡ്ഫ്ലോ' ഫുൾ സ്പോർട്സ് ഫെയറിംഗ് ചുവപ്പ്, വെള്ള നിറങ്ങളിലുള്ള ഫാക്ടറി നിറങ്ങളിൽ അധികമായി ലഭ്യമായിരുന്നു. <ref>[[Motorcycle Mechanics (magazine)|Motorcycle Mechanics]], August 1966 p.48 'Fancy a Fairing?' [image]caption: "''This is the new 'Speedflow' shell from Mitchenall Bros.; it is finished in red and white. Produced for the Royal Enfield GT, it retails complete at £26''".</ref> ഒളിംപിക് <ref name="64 Show">[[The Motor Cycle|Motor Cycle]], 19 November 1964. '[[Earls Court Exhibition Centre|Earls Court Show]] Guide'. p.847 "''Geoff Duke demonstrates the riding position of the new Royal Enfield racer...''" and p.&nbsp;860. [images]:caption:"'' Britain's newest racing two-fifties, the Scorpion and...Royal Enfield''". [Royal Enfield stand] "''The preliminary range announcement brought an interesting newcomer in the leading-link fork Olympic sportster....a highly potent super-sports (the Continental GT) and a very tough looking Starmaker scrambler....off came the dust sheets and there stood a two-fifty production racer with a Redditch-built power unit!''". Accessed 2013-08-18</ref>, 250 സൂപ്പർ 5 എന്നിവയാണ് മറ്റ് വകഭേദങ്ങൾ. == എൻ‌ഫീൽഡ് ഇന്ത്യൻ == 1955 മുതൽ 1959 വരെ ഇന്ത്യൻ സെയിൽസ് കോർപ്പറേഷന്റെ നിയന്ത്രണമുള്ള ബ്രോക്ക്ഹൌസ് കോർപ്പറേഷൻ, റോയൽ എൻഫീൽഡുകൾ ചുവന്ന ചായം പൂശി ഇൻഡ്യൻ എന്ന പേരിൽ യുഎസിൽ വിപണനം ചെയ്തു. 1953 ൽ സ്പ്രിംഗ്ഫീൽഡ് ഫാക്ടറിയിൽ ഇൻഡ്യൻ നിർമ്മിക്കുന്നത് നിർത്തി. ബാഡ്ജ് എഞ്ചിനീയറിംഗിൽ അമേരിക്കക്കാർക്ക് മതിപ്പുണ്ടായിരുന്നില്ല, അതിനാൽ മാർക്കറ്റിംഗ് കരാർ 1960 ൽ അവസാനിച്ചതിനെത്തുടർന്ന് 1961 മുതൽ റോയൽ എൻഫീൽഡുകൾ യുഎസിൽ സ്വന്തം പേരിൽ ലഭ്യമായിത്തുടങ്ങി. ഏറ്റവും വലിയ എൻ‌ഫീൽഡ് 'ഇന്ത്യൻ' 700 സിസി ട്വിൻ ആയിരുന്നു. <ref>[http://www.cycletownusa.com/post1953.html Post 1953 Indian Motorcycle History - The Floyd Clymer Indian] {{Webarchive|url=https://web.archive.org/web/20070704104051/http://www.cycletownusa.com/post1953.html|date=4 July 2007}} Retrieved 2014-09-10</ref> == ഇതും കാണുക == * റോയൽ എൻഫീൽഡ് മോട്ടോർസൈക്കിളുകളുടെ പട്ടിക == കുറിപ്പുകൾ == {{reflist|group=note}} == അവലംബം == {{reflist}} == പുറം കണ്ണികൾ == * {{Dmoz|/Recreation/Motorcycles/Classic/Royal_Enfield/|Royal Enfield}} [[വർഗ്ഗം:അന്താരാഷ്ട്ര കമ്പനികൾ]] [[വർഗ്ഗം:ഓട്ടോമോട്ടീവ് വ്യവസായം]] p8xvye3pbkyq493tq0mombpt9tt35lg ഘടകം:Hatnote/styles.css 828 550191 4621777 4584800 2026-05-11T21:35:05Z en>Izno 0 [[phab:T378906]] / [[phab:T425364]] 4621777 sanitized-css text/css /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles causes an 'empty' span between hatnotes */ .hatnote + span.mw-empty-elt + .hatnote { margin-top: -0.5em; } @media print { body.ns-0 .hatnote { display: none !important; } } 6gskmzdtizand5u7pzecbsqp8m24jjd 4621778 4621777 2026-05-11T21:43:33Z en>Izno 0 and readd 4621778 sanitized-css text/css /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles causes an 'empty' span between hatnotes */ .hatnote + span.mw-empty-elt + .hatnote, /* remove this version when Parsoid is the only parser */ .hatnote + link + .hatnote { margin-top: -0.5em; } @media print { body.ns-0 .hatnote { display: none !important; } } s3trgjofrxwudkwkkdld4cjd5maicyl 4621779 4621778 2026-05-11T21:45:33Z en>Izno 0 and a link to T200206 4621779 sanitized-css text/css /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles causes an 'empty' span between hatnotes */ .hatnote + span.mw-empty-elt + .hatnote, /* remove this version when Parsoid is the only parser, see also [[phab:T200206]] */ .hatnote + link + .hatnote { margin-top: -0.5em; } @media print { body.ns-0 .hatnote { display: none !important; } } kodf3qg9mssfec1mtmjsyettudfade7 4621780 4621779 2026-05-11T21:45:51Z en>Izno 0 selector 4621780 sanitized-css text/css /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles causes an 'empty' span between hatnotes */ .hatnote + span.mw-empty-elt + .hatnote, /* remove this selector when Parsoid is the only parser, see also [[phab:T200206]] */ .hatnote + link + .hatnote { margin-top: -0.5em; } @media print { body.ns-0 .hatnote { display: none !important; } } 8oift3eve95te8chs4adr5fpl4pmpmd 4621781 4621780 2026-05-22T22:49:28Z Jacob.jose 1784 [[:en:Module:Hatnote/styles.css]] എന്നതിൽ നിന്ന് 4 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621780 sanitized-css text/css /* {{pp|small=y}} */ .hatnote { font-style: italic; } /* Limit structure CSS to divs because of [[Module:Hatnote inline]] */ div.hatnote { /* @noflip */ padding-left: 1.6em; margin-bottom: 0.5em; } .hatnote i { font-style: normal; } /* The templatestyles causes an 'empty' span between hatnotes */ .hatnote + span.mw-empty-elt + .hatnote, /* remove this selector when Parsoid is the only parser, see also [[phab:T200206]] */ .hatnote + link + .hatnote { margin-top: -0.5em; } @media print { body.ns-0 .hatnote { display: none !important; } } 8oift3eve95te8chs4adr5fpl4pmpmd മേഴ്സി ഈക് 0 557324 4621570 4518966 2026-05-22T14:21:07Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621570 wikitext text/x-wiki {{prettyurl|Mercy Eke}} {{Infobox person | name = Mercy Eke | image = Mercy Eke.png | caption = Eke speaking with Wazobia Max TV in 2019 | birth_place = [[ഇമോ സ്റ്റേറ്റ്]], [[നൈജീരിയ]] | education = [[ഇമോ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റി]] | occupation = {{hlist|Media personality|actress|video vixen|businesswoman}} | years_active = 2019–ഇതുവരെ | television = ''[[Big Brother Naija]]'' | children = | website = }} ഇമോ സ്റ്റേറ്റിൽ നിന്നുള്ള ഒരു [[നൈജീരിയ]]ൻ മാധ്യമ വ്യക്തിത്വവും നടിയും വീഡിയോ വിക്സനും സംരംഭകയുമാണ് '''മേഴ്സി ഈക് '''. 2019 ഒക്ടോബറിൽ ബിഗ് ബ്രദർ നൈജയുടെ സീസൺ 4 റിയാലിറ്റി ഷോയിൽ വിജയിക്കുന്ന ആദ്യ വനിതയായി.<ref>{{Cite web|url=https://punchng.com/breaking-mercy-breaks-the-jinx-wins-bbnaija-grand-finale/|title=Mercy breaks the jinx, wins BBNaija grand finale|date=2019-09-19|website=Punch Newspapers|language=en-US|access-date=2019-10-07}}</ref><ref>{{Cite web|url=https://bbn.ng/entertainment/mercy-eke-biography/7680/|title=Mercy Eke Bbnaija Biography|date=2019-09-19|website=BBN|language=en-US|access-date=2019-10-07|archive-date=2019-10-07|archive-url=https://web.archive.org/web/20191007050614/https://bbn.ng/entertainment/mercy-eke-biography/7680/|url-status=dead}}</ref> 2020 മാർച്ച് 14-ന്, മികച്ച വസ്ത്രം ധരിച്ച സ്ത്രീക്കുള്ള ആഫ്രിക്ക മാജിക് വ്യൂവേഴ്‌സ് ചോയ്‌സ് അവാർഡ് ഈക് ന് ലഭിച്ചു.<ref>https://tribuneonlineng.com/bbnaija-pepper-dem-stars-mercy-eke-and-mike-edwards-win-best-dressed-award-at-7th-amvcas/</ref> == മുൻകാലജീവിതം == നൈജീരിയയിലെ ഇമോ സ്റ്റേറ്റിൽ നിന്നുള്ള ഈക് ഒവേരിയിലെ എഗ്ബു ഗേൾസ് സെക്കൻഡറി സ്കൂളിൽ പഠിക്കുകയും 2014-ൽ ഇമോ സ്റ്റേറ്റ് യൂണിവേഴ്സിറ്റിയിൽ നിന്ന് ബിരുദം നേടുകയും ചെയ്തു. ഡേവിഡോയുടെയും ഇച്ചാബയുടെയും സിംഗിൾ "ബേബി മാമ" എന്ന മ്യൂസിക് വീഡിയോയിൽ ഈക് ഒരു വിക്സനായി പ്രത്യക്ഷപ്പെട്ടു.<ref>{{Cite web|url=https://www.legit.ng/1252745-bbnaijas-mercy-spotted-in-music-video-with-davido-and-ichaba.html|title=BBNaija's Mercy sighted as a video vixen alongside Davido and Ichaba|first=Adeyinka|last=Odutuyo|date=5 August 2019|website=Legit.ng - Nigeria news.}}</ref> എയർബോയിയുടെ "നവോ നവോ" എന്ന ഗാനത്തിന്റെ മ്യൂസിക് വീഡിയോയിലും അവർ പ്രത്യക്ഷപ്പെട്ടു.<ref>{{Cite web | url=https://www.pulse.ng/entertainment/music/airboy-nawo-nawo-video/g6js147 |title = 'Nawo nawo' &#91;Video&#93;|date = 6 April 2017}}</ref> മത്സരാർത്ഥിയാകുന്നതിന് മുമ്പ് ബിഗ് ബ്രദർ നൈജയ്‌ക്കായി ഈക് നാല് തവണ ഓഡീഷൻ നടത്തി.<ref>{{Cite web|url=https://leadership.ng/2019/10/20/i-auditioned-four-times-mercy-eke/|title=StackPath|website=leadership.ng|date=20 October 2019|access-date=2021-10-28|archive-date=2020-08-11|archive-url=https://web.archive.org/web/20200811121341/https://leadership.ng/2019/10/20/i-auditioned-four-times-mercy-eke/|url-status=dead}}</ref> == കരിയർ == 2019 ജൂൺ 30-ന് ഏകെ ബിഗ് ബ്രദർ നൈജയുടെ സദസിൽ പ്രവേശിച്ചു. 2019 ഒക്ടോബറിൽ അവളെ വിജയിയായി പ്രഖ്യാപിച്ചു. ഷോയിൽ വിജയിക്കുന്ന ആദ്യ വനിതയായി.<ref>{{Cite web | url=https://www.thisdaylive.com/index.php/2019/10/06/mercy-makes-history-emerges-first-female-to-win-big-brother-naija/ |title = Mercy Eke Makes History, Emerges First Female to Win Big Brother Naija|date = 6 October 2019}}</ref> ബിഗ് ബ്രദർ നൈജയുടെ സീസൺ 4 വിജയിച്ചതിന് ശേഷം, എകെ വിവിധ സംഘടനകളുടെ അംബാസഡറും സ്വാധീനവും ആയി. 2020-ൽ, നോളിവുഡ് ചിത്രമായ ഫേറ്റ് ഓഫ് അലകഡ എന്ന ചിത്രത്തിലൂടെ അവർ അഭിനയരംഗത്തേക്ക് കടന്നു.<ref>{{Cite web|url=https://www.pmnewsnigeria.com/2020/01/24/mercy-eke-makes-nollywood-debut-in-fate-of-alakada/amp/|title=Mercy Eke makes Nollywood debut in "Fate Of Alakada" - P.M. News|website=www.pmnewsnigeria.com|access-date=2020-03-20}}</ref> ഏതാനും നൈജീരിയൻ ഹാസ്യനടന്മാർക്കൊപ്പം ഹ്രസ്വ കോമഡി സ്കിറ്റുകളിലും ഏകെ പ്രത്യക്ഷപ്പെട്ടിട്ടുണ്ട്.<ref name=":0">{{Cite web|url=https://www.bellanaija.com/2020/01/broda-shaggi-mercy-eke/|title=Find Out Why #BBNaija's Mercy Slapped Broda Shaggi in this Hilarious Video &#124; Watch|date=15 January 2020}}</ref><ref name=":1">{{Cite web|url=https://www.newtelegraphng.com/bbnaijas-mercy-eke-slapped-broda-shaggi-in-silent-war/|title=BBNaija's Mercy Eke slapped Broda Shaggi in 'silent war'|date=18 January 2020|access-date=2021-10-28|archive-date=2021-10-28|archive-url=https://web.archive.org/web/20211028050559/https://www.newtelegraphng.com/bbnaijas-mercy-eke-slapped-broda-shaggi-in-silent-war/|url-status=dead}}</ref> == എൻഡോഴ്‌സ്‌മെന്റ് ഡീലുകൾ == ഈക് എൻഡോഴ്‌സ്‌മെന്റ് ഡീലുകളിൽ ഒപ്പുവെക്കുകയും സിറോക്ക്, മിസ്റ്റർ ടാക്‌സി എന്നിവയുൾപ്പെടെ നിരവധി ബ്രാൻഡുകളുടെ ബ്രാൻഡ് അംബാസഡറായി മാറുകയും ചെയ്തു.<ref>{{Cite web|url=https://www.36ng.ng/2019/11/01/bbnaija-mercy-signs-new-endorsement-deal-with-mr-taxi/|title=BBNaija: Mercy signs new endorsement deal with Mr Taxi {{!}} 36NG|last=Oladimeji|date=2019-11-01|language=en-US|access-date=2020-03-20|archive-date=2020-03-20|archive-url=https://web.archive.org/web/20200320112921/https://www.36ng.ng/2019/11/01/bbnaija-mercy-signs-new-endorsement-deal-with-mr-taxi/|url-status=dead}}</ref><ref>{{Cite web|url=https://www.legit.ng/1278169-mercy-eke-signs-partnership-ciroc-shortly-tacha.html|title=Just like Tacha, Mercy signs partnership deal with same popular liquor brand|last=Yaakugh|first=Caroline|date=2019-11-22|website=www.legit.ng|language=en|access-date=2020-03-20}}</ref> == അവാർഡുകളും നാമനിർദ്ദേശങ്ങളും == {| class="wikitable sortable" !Year !Event !Category !Result !Ref |- |2019 |[[Scream Awards]] |Celebrity Sensation of the year |{{won}} |<ref>{{Cite web|date=2019-11-15|title=Scream Awards: Mercy Bags 'Celebrity Sensation of the year' Award|url=https://womenafrica.com/scream-awards-mercy-bags-celebrity-sensation-of-the-year-award/|access-date=2020-10-05|website=Women Africa|language=en-US}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ജനുവരി 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> |- | rowspan="2" |2020 |[[AMVCA]] |Best Dressed female |{{won}} |<ref>{{Cite web|date=2020-03-14|title=#2020 AMVCA: Funke Akindele, Ramsey Nouah win big (FULL LIST OF WINNERS) {{!}} Premium Times Nigeria|url=https://www.premiumtimesng.com/entertainment/nollywood/381900-2020-amvca-funke-akindele-ramsey-nouah-win-big-full-list-of-winners.html|access-date=2020-10-05|language=en-GB}}</ref> |- | rowspan="2" |[[Net Honours]] |Most Popular Couple |{{won}} |<ref>{{Cite web|last=Correspondent|first=Local|date=2020-08-03|title=BBNaija 2020: Mercy and Ike win Most Popular Couple in the NET 2020 Award|url=https://ab-tc.com/bbnaija-2020-mercy-and-ike-win-most-popular-couple-in-the-net-2020-award/|access-date=2020-10-05|website=ABTC|language=en-GB|archive-date=2020-11-27|archive-url=https://web.archive.org/web/20201127175103/https://ab-tc.com/bbnaija-2020-mercy-and-ike-win-most-popular-couple-in-the-net-2020-award/|url-status=dead}}</ref> |- |2021 |Most Popular Person |{{nom}} |<ref>{{Cite web|title=Net Honours - The Class of 2021|url=https://thenet.ng/net-honours-class-of-2021/|url-status=live|access-date=2021-07-21|website=[[Nigerian Entertainment Today]]|language=en-US}}</ref> |} == അവലംബം== {{Reflist}} {{DEFAULTSORT:Eke, Mercy}} == പുറംകണ്ണികൾ == *[https://twitter.com/Mercy+Eke Mercy Eke Twitter page] [[വർഗ്ഗം:1993-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:നൈജീരിയൻ ചലച്ചിത്രനടികൾ]] l4as3c7wjvq6eur1m3ha85b5hogpduw ഉപയോക്താവിന്റെ സംവാദം:Mamkor 3 562824 4621526 3705156 2026-05-22T12:05:33Z QueerEcofeminist 90504 QueerEcofeminist എന്ന ഉപയോക്താവ് [[ഉപയോക്താവിന്റെ സംവാദം:Rishu Shukla]] എന്ന താൾ [[ഉപയോക്താവിന്റെ സംവാദം:Mamkor]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു: "[[Special:CentralAuth/Rishu Shukla|Rishu Shukla]]" എന്ന ഉപയോക്താവിനെ "[[Special:CentralAuth/Mamkor|Mamkor]]" എന്നു പേരുമാറ്റിയപ്പോൾ താൾ കൂടെ സ്വയം മാറിയിട്ടുണ്ട്. 3705156 wikitext text/x-wiki '''നമസ്കാരം {{#if: Rishu Shukla | Rishu Shukla | {{BASEPAGENAME}} }} !''', [[മലയാളം വിക്കിപീഡിയ|മലയാളം വിക്കിപീഡിയയിലേക്ക്‌]] [[വിക്കിപീഡിയ:ആമുഖം|സ്വാഗതം]]. താങ്കളുടെ അംഗത്വത്തിന് നന്ദി. താങ്കൾക്ക്‌ ഈ സ്ഥലം ഇഷ്ടമായെന്നും ഇവിടെ അൽപസമയം ചെലവഴിക്കുമെന്നും പ്രതീക്ഷിക്കുന്നു. താങ്കൾക്ക് ഉപയോഗപ്പെടാവുന്ന ചില താളുകൾ താഴെ കൊടുക്കുന്നു. [[File:Lipi ml.png|thumb|350px|right|[[സഹായം:എഴുത്ത്|ലിപിമാറ്റ രീതിയിൽ മലയാളം ടൈപ്പ് ചെയ്യുവാൻ]] ഉപയോഗിക്കാവുന്ന മൊഴി സ്കീമിന്റെ ചിത്രം]] * [[സഹായം:Tutorial|വീഡിയോ പരിശീലനം]] * [[സഹായം:ടൈപ്പിംഗ്‌|മലയാളത്തിലെഴുതാൻ]] * [[സഹായം:തിരുത്തൽ വഴികാട്ടി|ഒരു താൾ തിരുത്തിയെഴുതുന്നത് എങ്ങനെ?]] * [[സഹായം:ഉള്ളടക്കം|സഹായ താളുകൾ]] * [[സഹായം:ചിത്ര സഹായി|ചിത്ര സഹായി]] * [[സഹായം:കീഴ്‌വഴക്കം|കീഴ്‌വഴക്കങ്ങൾ]] * [[വിക്കിപീഡിയ:എഴുത്തുകളരി|എഴുത്തുകളരി]] * [[വിക്കിപീഡിയ:പഞ്ചസ്തംഭങ്ങൾ‎|വിക്കിപീഡിയയുടെ പഞ്ചസ്തംഭങ്ങൾ]] * [[വിക്കിപീഡിയ:നയങ്ങളും മാർഗ്ഗരേഖകളും|വിക്കിപീഡിയിലെ നയങ്ങളും മാർഗ്ഗരേഖകളും.]] താങ്കൾ [[വിക്കിപീഡിയ:പുതുമുഖം|പുതുമുഖങ്ങൾക്കായുള്ള താൾ]] പരിശോധിച്ചിട്ടില്ലെങ്കിൽ ദയവായി അപ്രകാരം ചെയ്യാൻ താത്പര്യപ്പെടുന്നു. [[വിക്കിപീഡിയ:വിക്കിപീഡിയർ|വിക്കിപീഡിയരിൽ]] ഒരാളായി ഇവിടെ തിരുത്തലുകൾ നടത്തുന്നത് താങ്കൾ ആസ്വദിക്കുമെന്ന് ഞാൻ കരുതുന്നു. താങ്കളെപ്പറ്റിയുള്ള വിവരങ്ങൾ‍ [[പ്രത്യേകം:Mypage|ഉപയോക്താവിനുള്ള താളിൽ]] നൽകാവുന്നതാണ്‌. സംവാദ താളുകളിൽ ഒപ്പ് വെക്കുവാനായി നാല് "ടിൽഡ" (<nowiki>~~~~</nowiki>) ഉപയോഗിക്കുകയോ, ടൂൾബാറിലെ [[File:Insert-signature.png]] ബട്ടൻ ഉപയോഗിക്കുകയോ ചെയ്യുക. സ്വന്തം പേരും തീയതിയും സമയവും താനേ വന്നുകൊള്ളും. എന്നാൽ ലേഖനങ്ങളിൽ അപ്രകാരം ഒപ്പുവെക്കാതിരിക്കാൻ ശ്രദ്ധിക്കുക. മറ്റ് ഉപയോക്താക്കളോട് സം‌വദിക്കാൻ അവരുടെ സം‌വാദത്താളിൽ താങ്കളുടെ സന്ദേശം എഴുതാവുന്നതാണ്. വിക്കിപീഡിയയിൽ എന്തെങ്കിലും സഹായം ആവശ്യമുണ്ടെങ്കിൽ എന്റെ സംവാദ താളിൽ ഒരു കുറിപ്പ് ഇടൂ, അല്ലെങ്കിൽ താങ്കളുടെ സംവാദ താളിൽ '''<nowiki>{{helpme}}</nowiki>''' എന്ന് ചേർക്കൂ, ആരെങ്കിലും ഉടനെ തന്നെ താങ്കളെ സഹായിക്കാൻ ശ്രമിക്കും. ഒരു നല്ല വിക്കിപീഡിയ അനുഭവം ആശംസിക്കുന്നു. വിക്കിമീഡിയയുടെ മലയാളം പദ്ധതികൾക്കായി ഒരു [https://lists.wikimedia.org/mailman/listinfo/wikiml-l മെയിലിങ് ലിസ്റ്റ് നിലവിലുണ്ട്]. ആ ലിസ്റ്റിൽ അംഗത്വം എടുത്ത് താങ്കൾക്ക് വിക്കിപീഡിയയെക്കുറിച്ചുള്ള അഭിപ്രായങ്ങളും, സംശയങ്ങളും, വിക്കിപീഡിയ മെച്ചപ്പെടുത്താനുള്ള വഴികളും ഒക്കെ അവിടെ ഉന്നയിക്കാവുന്നതാണ്‌. മെയിലിങ്ങ് ലിസ്റ്റിൽ അംഗത്വമെടുക്കാൻ ഇവിടെ ഞെക്കുക https://lists.wikimedia.org/mailman/listinfo/wikiml-l. ലിസ്റ്റിൽ അംഗത്വമെടുത്തതിനു ശേഷം''' wikiml-l@lists.wikimedia.org''' എന്ന ഇമെയിൽ വിലാസത്തിലേക്കു ഇമെയിൽ അയച്ചാൽ മറ്റുള്ള വിക്കിപീഡിയർ നിങ്ങളെ സഹായിക്കും. ഇനിയും ബുദ്ധിമുട്ട് തോന്നുന്നുവെങ്കിൽ വിക്കിപീഡിയരോട് നേരിട്ട് സംശയം ചോദിക്കാൻ [[സഹായം:ഐ.ആർ.സി.|ചാറ്റ് ചെയ്യാം]]. ഇതിനായി [http://webchat.freenode.net/?channels=wikipedia-ml ഇവിടെ ഞെക്കുക]. ആരെങ്കിലും ചാറ്റ്റൂമിലുണ്ടെങ്കിൽ അവർ തീർച്ചയായും താങ്കളെ സഹായിക്കുന്നതാണ്. -- [[ഉപയോക്താവ്:സ്വാഗതസംഘം|സ്വാഗതസംഘം]] ([[ഉപയോക്താവിന്റെ സംവാദം:സ്വാഗതസംഘം|സംവാദം]]) 14:03, 12 ജനുവരി 2022 (UTC) bot6iju5inuj6qe90uixzbttovn7i8j റിക്കി കെജ് 0 568296 4621621 4617041 2026-05-22T20:19:56Z InternetArchiveBot 146798 Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621621 wikitext text/x-wiki {{PU|Ricky Kej}} {{Infobox musical artist | name = റിക്കി കെജ് | image = Rickey Kej 01.jpg | caption = | image_upright = | landscape = | size = | nickname = | birth_name = റിക്കി കെജ് | birth_date = {{birth date and age|df=yes|1981|08|05}} | birth_place = [[വടക്കൻ കരോലിന]], [[യു.എസ്.]] | death_place = | years_active = 2000–ഇതുവരെ | website = {{url|rickykej.com}} | background = }} നിരവധി [[ഗ്രാമി പുരസ്കാരം|ഗ്രാമി]] അവാർഡുകൾ നേടിയിട്ടുള്ള ഇന്ത്യൻ സംഗീത സംവിധായകനും പരിസ്ഥിതി പ്രവർത്തകനുമാണ് '''റിക്കി കെജ്''' (ജനനം 5 ഓഗസ്റ്റ് 1981). <ref>{{Cite web|url=https://www.grammy.com/grammys/artists/ricky-kej/18527|title=Ricky Kej|access-date=2021-05-17|date=2020-11-23|website=GRAMMY.com|language=en}}</ref> [[ന്യൂയോർക്ക് നഗരം|ന്യൂയോർക്കിലെയും]] [[ജനീവ|ജനീവയിലെയും]] [[ഐക്യരാഷ്ട്രസഭ|ഐക്യരാഷ്ട്രസഭയുടെ]] ആസ്ഥാനം ഉൾപ്പെടെ 30-ലധികം രാജ്യങ്ങളിലെ വേദികളിൽ അദ്ദേഹം പരിപാടികൾ അവതരിപ്പിച്ചിട്ടുണ്ട്. <ref>{{Cite web|url=http://www.who.int/airpollution/events/conference/en/|title=WHO {{!}} First WHO Global Conference on Air Pollution and Health, 30 October – 1 November 2018|access-date=2020-11-16|website=WHO|archive-url=https://web.archive.org/web/20180314210049/http://www.who.int/airpollution/events/conference/en/|archive-date=14 March 2018}}</ref> ഭൂമി നശീകരണം, [[മരുഭൂമീകരണം|മരുഭൂകരണം]], [[വരൾച്ച]] എന്നിവയുടെ വെല്ലുവിളികളെ കുറിച്ച് പൊതുജന അവബോധം വളർത്തുന്നതിനായി COP14-ൽ കെജിനെ UNCCD ലാൻഡ് അംബാസഡറായി <ref>{{Cite web|url=https://www.unccd.int/actions/unccd-land-ambassadors|title=UNCCD Land Ambassadors {{!}} UNCCD|access-date=2020-04-06|website=www.unccd.int|archive-date=2020-05-03|archive-url=https://web.archive.org/web/20200503083922/https://www.unccd.int/actions/unccd-land-ambassadors|url-status=dead}}</ref> തിരഞ്ഞെടുത്തു. യുനെസ്കോ - എംജിഐഇപി "ഗ്ലോബൽ അംബാസഡർ ഫോർ കൈൻഡ്നസ്", <ref>{{Cite web|url=http://mgiep.unesco.org/|title=Grammy Award winning musician and SDG champion Ricky Kej lends voice to #KindnessMatters|access-date=2020-04-06|website=UNESCO MGIEP}}</ref> [[യൂനിസെഫ്|യുണിസെഫ്]] സെലിബ്രിറ്റി സപ്പോർട്ടർ, <ref>{{Cite web|url=https://www.thenewsminute.com/article/grammy-winner-ricky-kej-appointed-unicef-supporter-telugu-states-93756|title=Grammy winner Ricky Kej appointed UNICEF supporter for Telugu states|access-date=2020-04-06|date=21 December 2018|website=thenewsminute.com}}</ref> [[ലോകഭൗമദിനം|എർത്ത് ഡേ നെറ്റ്‌വർക്കിന്റെ]] അംബാസഡർ എന്നിവയായും കെജ് പ്രവർത്തിക്കുന്നു. <ref>{{Cite web|url=https://www.earthday.org/renowned-conservationist-grammy-award-winner-ricky-kej-becomes-ambassador-of-earth-day-network-india/|title=RENOWNED CONSERVATIONIST & GRAMMY ® AWARD WINNER RICKY KEJ BECOMES "AMBASSADOR OF EARTH DAY NETWORK, INDIA"|access-date=2020-04-06|date=2018-03-13|website=Earth Day|language=en}}</ref> 2020-ൽ, ജിക്യു മാഗസിൻ കെജിനെ GQ ഹീറോ 2020 ആയി തിരഞ്ഞെടുത്തു. <ref name="auto1">{{Cite web|url=https://www.gqindia.com/get-smart/content/gq-heroes-ricky-kej|title=GQ Heroes: Ricky Kej|access-date=2020-11-16|date=19 October 2020|website=GQ India|language=en-IN}}</ref> 2015-ൽ, 57-ാമത് വാർഷിക ഗ്രാമി അവാർഡുകളിൽ ''വിൻഡ്സ് ഓഫ് സംസാര'' എന്ന ആൽബത്തിന് അദ്ദേഹം ഗ്രാമി നേടി. <ref name="Grammy_WOS">{{Cite web|url=http://www.grammy.com/nominees|title=57th Annual Grammy Award Nominees|access-date=6 December 2014|date=December 2014|publisher=National Academy of Recording Arts and Sciences|archive-url=https://web.archive.org/web/20120503164723/http://www.grammy.com/nominees|archive-date=3 May 2012}}</ref> അദ്ദേഹത്തിന്റെ 14-ാമത്തെ സ്റ്റുഡിയോ ആൽബം പ്രൊജക്റ്റ്, 2014 ഓഗസ്റ്റിൽ യു.എസ്. ''[[ബിൽബോർഡ് (മാഗസിൻ)|ബിൽബോർഡ്]]'' ന്യൂ ഏജ് ആൽബങ്ങളുടെ ചാർട്ടിൽ ഒന്നാം സ്ഥാനത്തെത്തി, <ref name="Billboard_WOS">{{Cite web|url=http://www.billboard.com/charts/2014-08-02/new-age-albums|title=New Age Albums Charts|access-date=27 November 2014|date=August 2014|website=Billboard}}</ref> ഇന്ത്യൻ വംശജനായ ഒരാൾക്ക് ഈ നേട്ടം കരസ്ഥമാക്കുന്നത് ആദ്യമാണ്. <ref name="Kej_NRIPulse">{{Cite web|url=http://www.nripulse.com/topping-charts-the-kej-way/|title=Topping Charts the Kej Way|access-date=27 November 2014|last=D G|first=Supriya|date=18 August 2014|publisher=NRI Pulse}}</ref> 2014 ജൂലൈ മാസത്തിൽ സോൺ മ്യൂസിക് റിപ്പോർട്ടർ ടോപ്പ് 100 റേഡിയോ എയർപ്ലേ ചാർട്ടിൽ ഈ ആൽബം ഒന്നാം സ്ഥാനത്തെത്തി <ref name="Radio_July2014">{{Cite web|url=http://www.zonemusicreporter.com/charts/top100.asp?m=7&y=2014|title=Top 100 Radio Airplay Chart|access-date=27 November 2014|date=July 2014|publisher=ZoneMusicReporter|archive-date=2014-11-29|archive-url=https://web.archive.org/web/20141129021014/http://www.zonemusicreporter.com/charts/top100.asp?m=7&y=2014|url-status=dead}}</ref> . 2016-ൽ ഗ്രാമി അവാർഡ് നേടിയ ''ഗ്രേസ്'' എന്ന ആൽബത്തിൽ കെജ് കീബോർഡുകൾ വായിച്ചു, 2016 ഗ്രാമി നോമിനേറ്റഡ് ആൽബമായ ''ലവ് ലാംഗ്വേജിൽ'' അദ്ദേഹം ഒരു ഗാനം ക്രമീകരിക്കുകയും രചിക്കുകയും ചെയ്തു, കൂടാതെ 2015 ഗ്രാമി നോമിനേറ്റഡ് ആൽബമായ ''അയഹുവാസ്ക ഡ്രീംസിൽ'' കീബോർഡുകൾ ക്രമീകരിക്കുകയും അവതരിപ്പിക്കുകയും ചെയ്തു. അദ്ദേഹത്തിന്റെ ആൽബമായ ''ശാന്തി സംസാര വേൾഡ് മ്യൂസിക് ഫോർ എൻവയോൺമെന്റൽ കോൺഷ്യസ്നെസ്'' 2015 നവംബർ 30 ന് ഇന്ത്യൻ പ്രധാനമന്ത്രി [[നരേന്ദ്ര മോദി|നരേന്ദ്ര മോദിയും]] ഫ്രഞ്ച് പ്രസിഡന്റ് [[ഫ്രാൻസ്വ ഒലാദ്|ഫ്രാങ്കോയിസ് ഹോളണ്ടും]] ചേർന്ന് [[യു.എൻ. കാലാവസ്ഥ ഉച്ചകോടി 2015|2015 ഐക്യരാഷ്ട്ര കാലാവസ്ഥാ വ്യതിയാന സമ്മേളനത്തിൽ]] പുറത്തിറക്കി. <ref name="EconomicTimes_Launch">{{Cite web|url=http://articles.economictimes.indiatimes.com/2015-12-01/news/68688381_1_music-album-ricky-kej-wouter-kellerman|title=Narendra Modi & Francois Hollande launch Ricky Kej's music album in Paris|access-date=3 March 2016|date=1 December 2015|website=The Economic Times|archive-date=2016-03-06|archive-url=https://web.archive.org/web/20160306052428/http://articles.economictimes.indiatimes.com/2015-12-01/news/68688381_1_music-album-ricky-kej-wouter-kellerman|url-status=dead}}</ref> ആരംഭിച്ചതിന് ശേഷമുള്ള മാസങ്ങളിൽ, റിപ്പബ്ലിക് ഓഫ് [[കിരീബാസ്|കിരിബത്തിയിൽ]] ഉൾപ്പെടെ, പരിസ്ഥിതിയെക്കുറിച്ചും പരിസ്ഥിതി സംരക്ഷണത്തെക്കുറിച്ചും കെജ് വ്യാപകമായി സംസാരിച്ചു, അവിടെ അദ്ദേഹം മൂന്ന് തവണ മുൻ പ്രസിഡന്റ് അനോട്ട് ടോങ്ങുമായി അഭിമുഖം നടത്തുകയും സംഗീതം സൃഷ്ടിക്കുകയും ചെയ്തു. <ref name="Kirabati">{{Cite web|url=http://timesofindia.indiatimes.com/city/bengaluru/Grammy-Awardee-Ricky-Kej-Visits-Kiribati-Archipelago/articleshow/52605413.cmss|title=Grammy Awardee Ricky Kej Visits Kiribati Archipelago|access-date=12 June 2016|date=5 June 2016|website=The Times of India}}</ref> റേഡിയോ, ടെലിവിഷൻ ജിംഗിളുകൾക്കായി 3,500-ലധികം പ്ലെയ്‌സ്‌മെന്റുകൾ കെജിന് ലഭിച്ചു. <ref name="3000_Jingles_BetterIndia">{{Cite web|url=http://www.thebetterindia.com/19287/bangaluru-based-musician-ricky-kej-brings-home-grammy/|title=Bangaluru Based Musician Ricky Kej Brings Home A Grammy|access-date=26 February 2016|last=Pareek|first=Pareek|date=10 February 2015|publisher=TheBetterIndia}}</ref> 2011 ഫെബ്രുവരി 17<ref name="Parsons_Profile">{{Cite web|url=http://www.mainlypiano.com/Artist_Pages/Ricky_Kej.html|title=Ricky Kej|access-date=27 November 2014|last=Parsons|first=Kathy|publisher=MainlyPiano}}</ref> ന് [[ധാക്ക|ധാക്കയിൽ]] നടന്ന 2011 ക്രിക്കറ്റ് ലോകകപ്പ് ഉദ്ഘാടന ചടങ്ങിന് അദ്ദേഹം സംഗീതം നൽകി. 2016 ഏപ്രിൽ 26-ന്, കെജ് ഇന്ത്യയിലെ [[ജയ്‌പൂർ|ജയ്പൂരിലേക്ക്]] പോയി, അവിടെ സേവ് ദി ചിൽഡ്രന്റെ പുതിയ ആഗോള കാമ്പെയ്‌നായ എവരി ലാസ്റ്റ് ചൈൽഡിന്റെ ഗുഡ്‌വിൽ അംബാസഡറായി അദ്ദേഹത്തെ തിരഞ്ഞെടുത്തു. <ref name="Save the Children">{{Cite web|url=http://www.savethechildren.org/site/c.8rKLIXMGIpI4E/b.9387359/k.9F03/Every_Last_Child.htm?msource=weklpelc0416|title=Every Last Child Deserves a Future|access-date=12 June 2016|year=2016|publisher=Save the Children|archive-date=2016-08-07|archive-url=https://web.archive.org/web/20160807041621/http://www.savethechildren.org/site/c.8rKLIXMGIpI4E/b.9387359/k.9F03/Every_Last_Child.htm?msource=weklpelc0416|url-status=dead}}</ref> 2016 ജൂലൈ 18-ന്, ന്യൂയോർക്കിലെ യുഎൻ ആസ്ഥാനത്ത്, ആഗോള മാനുഷിക കലാകാരൻ എന്ന നിലയിൽ അദ്ദേഹത്തിന് എക്‌സലൻസ് ആൻഡ് ലീഡർഷിപ്പ് അവാർഡ് ലഭിച്ചു, കൂടാതെ ഐക്യരാഷ്ട്രസഭയുടെ ജനറൽ അസംബ്ലി ഹാളിൽ ''ശാന്തി സംസാരത്തിന്റെ'' ഭാഗങ്ങൾ തത്സമയം അവതരിപ്പിച്ചു. ഐക്യരാഷ്ട്ര പൊതുസഭയിലെ തന്റെ പ്രകടനം കെജ് ഇങ്ങനെ ഉപസംഹരിച്ചു, "കാലാവസ്ഥാ വ്യതിയാനം യഥാർത്ഥമാണ്.. കാലാവസ്ഥാ വ്യതിയാനം മനുഷ്യ പ്രേരിതമാണ്. കാലാവസ്ഥാ വ്യതിയാനം നമ്മെയെല്ലാം ബാധിക്കുന്നു.. നമ്മുടെ പ്രവർത്തനങ്ങൾ ലോകത്തിന്റെ മറുവശത്തുള്ള രാജ്യങ്ങളെ ബാധിക്കുന്നു." <ref name="Performs_at_UN">{{Cite web|url=http://timesofindia.indiatimes.com/city/bengaluru/Ricky-Kej-performs-at-UN-bags-excellence-and-leadership-award/articleshow/53265056.cms|title=Ricky Kej performs at UN, bags excellence and leadership award|access-date=28 December 2016|date=18 July 2016|website=The Times of India}}</ref> <ref name="Novus_Summit">{{Cite web|url=http://www.novussummit.org/|title=Novus Summit- United Nations|access-date=28 December 2016|year=2016|website=The Times of India|archive-date=2016-08-01|archive-url=https://web.archive.org/web/20160801140319/http://www.novussummit.org/|url-status=dead}}</ref> 2018-ൽ, "റിയൽ ലീഡേഴ്‌സ് 100 ലിസ്റ്റിൽ" കെജ് ഇടംപിടിച്ചു. 'ഭാവിയെ പ്രചോദിപ്പിക്കുന്ന' നേതാക്കളുടെ ഈ ലിസ്റ്റ് ക്യൂറേറ്റ് ചെയ്യുന്നത് റിയൽ ലീഡേഴ്സ് (ഐക്യരാഷ്ട്രസഭയിൽ ഒപ്പിട്ടത്) ആണ്. <ref>{{Cite web|url=https://www.deccanchronicle.com/sunday-chronicle/headliners/250218/samsaras-real-leader.html|title=Samsara's real leader|access-date=2020-11-16|last=gomes|first=suruchi kapur|date=2018-02-25|website=Deccan Chronicle|language=en}}</ref> ഇതിൽ ഇന്ത്യയിൽ നിന്നുള്ള ഏക പ്രതിനിധിയായിരുന്നു അദ്ദേഹം. 2018 മെയ് മാസത്തിൽ, "മികച്ച സംഗീതവും മാനുഷികവുമായ നേട്ടങ്ങൾക്ക്" ഹൗസ് ഓഫ് കോമൺസ് ഓഫ് കാനഡ കെജിനെ ആദരിച്ചു. [[സുസ്ഥിര വികസന ലക്ഷ്യങ്ങൾ|സുസ്ഥിര വികസന ലക്ഷ്യങ്ങളുമായി]] (SDGs) കുട്ടികളെ പരിചയപ്പെടുത്താനുള്ള തന്റെ ശ്രമത്തിൽ, 17 SDG-കളെ അടിസ്ഥാനമാക്കി ''മൈ എർത്ത് സോങ്ങ്സ്'' - 27 കുട്ടികളുടെ റൈമുകൾ അദ്ദേഹം സൃഷ്ടിച്ചു. [[യൂനിസെഫ്|യുണിസെഫ്]] പുറത്തിറക്കിയ ഈ ഗാനങ്ങൾ അഞ്ച് ദശലക്ഷത്തിലധികം പാഠപുസ്തകങ്ങളിൽ (ഇംഗ്ലീഷ്, [[ഹിന്ദി]], [[കന്നഡ]] ഭാഷകൾ) പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. <ref>{{Cite web|url=https://www.edexlive.com/people/2018/aug/19/why-rickynbspkej39s-earth-songs-are-going-to-be-in-1-million-textbooks-in-2019-3694.html|title=Why Ricky Kej's Earth Songs are going to be in 1 million textbooks in 2019|access-date=2020-11-16|website=The New Indian Express|language=en}}</ref> 2020-ൽ, കെജ് തന്റെ സംഗീതം, ജീവിതശൈലി, പ്രവർത്തനം എന്നിവയിലൂടെ നമ്മുടെ ഗ്രഹത്തെ മെച്ചപ്പെടുത്താൻ തന്റെ കഴിവ് ഉപയോഗിച്ചതിന്റെ പേരിൽ GQ ഹീറോസിൽ ഫീച്ചർ ചെയ്യപ്പെട്ടു. <ref name="auto1"/> ഒരു സംഗീതജ്ഞനെന്ന നിലയിലുള്ള അദ്ദേഹത്തിന്റെ ജീവിതവും യാത്രയും ഇപ്പോൾ ഐസിഎസ്ഇ സിലബസ് ഇംഗ്ലീഷ് പാഠപുസ്തകങ്ങളുടെ ഭാഗമായി ഇന്ത്യയിലെ ഏഴാം ക്ലാസ് കുട്ടികളെ പഠിപ്പിക്കുന്നു. <ref>{{Cite web|url=http://www.macmillanindia.com/node/31387|title=Launch of New CISCE Series by Macmillan Education India {{!}} Macmillan Education India|access-date=2018-03-19|website=www.macmillanindia.com|language=en|archive-date=2018-03-19|archive-url=https://web.archive.org/web/20180319213624/http://www.macmillanindia.com/node/31387|url-status=dead}}</ref> നാഷണൽ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് അഡ്വാൻസ്ഡ് സ്റ്റഡീസിലെ (ഇന്ത്യൻ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് സയൻസിൽ) പ്രൊഫസർ കൂടിയാണ് കെജ്. <ref>{{Cite web|url=http://www.nias.res.in/content/people|title=20|website=NIAS.RES.IN|access-date=2022-04-07|archive-date=2022-04-26|archive-url=https://web.archive.org/web/20220426020644/https://www.nias.res.in/content/people|url-status=dead}}</ref> == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == 1981 ഓഗസ്റ്റ് 5 ന് [[വടക്കൻ കരോലിന|നോർത്ത് കരോലിനയിലാണ്]] റിക്കി കെജ് ജനിച്ചത്. പകുതി പഞ്ചാബി, പകുതി മാർവാരി <ref name="Kej_Mid-Day">{{Cite web|url=http://www.mid-day.com/articles/bangalore-to-mumbai/64710|title=Bangalore to Mumbai|access-date=28 November 2014|last=Ghose|first=Priyanjali|date=November 2009|publisher=Mid-Day|archive-date=2014-12-05|archive-url=https://web.archive.org/web/20141205172546/http://www.mid-day.com/articles/bangalore-to-mumbai/64710|url-status=dead}}</ref> ആയ കെജ് എട്ട് വയസ്സുള്ളപ്പോൾ [[ഇന്ത്യ|ഇന്ത്യയിലെ]] [[ബെംഗളൂരു|ബാംഗ്ലൂരിലേക്ക്]] താമസം മാറ്റി. <ref name="Kej_NRIPulse"/> ബാംഗ്ലൂരിലെ ബിഷപ്പ് കോട്ടൺ ബോയ്സ് സ്കൂളിൽ സ്കൂൾ വിദ്യാഭ്യാസവും തുടർന്ന് ബാംഗ്ലൂരിലെ ഓക്സ്ഫോർഡ് ഡെന്റൽ കോളേജിൽ നിന്ന് ദന്തചികിത്സ ബിരുദവും പൂർത്തിയാക്കി. ദന്തചികിത്സയാണ് പഠിച്ചതെങ്കിലും അദ്ദേഹംആ രംഗത്ത് തുടരുന്നതിന് പകരം സംഗീതത്തിൽ ഒരു കരിയർ തിരഞ്ഞെടുത്തു. <ref name="Kej_TNIE">{{Cite web|url=http://www.newindianexpress.com/cities/bangalore/article89117.ece|title=Tuned to Pefection|access-date=27 November 2014|last=Choudhury|first=Prerna|date=December 2009|website=The New Indian Express}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഫെബ്രുവരി 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> യൂണിവേഴ്സിറ്റിയിൽ പഠിക്കുമ്പോൾ അദ്ദേഹം ഒരു പുരോഗമന റോക്ക് ബാൻഡിൽ ചേർന്നു. അത് തനിക്ക് സംഗീതത്തോട് നല്ല അടിത്തറയും എക്സ്പോഷറും നൽകിയെന്ന് അദ്ദേഹം പറയുന്നു. <ref name="Kej_Mid-Day"/> തന്റെ മകന്റെ കലാപരമായ ജീനുകൾ അഭിനേതാവും ഒളിമ്പിക് സൈക്ലിസ്റ്റും സ്വാതന്ത്ര്യ സമര സേനാനിയുമായ ജാനകി ദാസിൽ നിന്ന് പാരമ്പര്യമായി ലഭിച്ചതാണെന്ന് കെജിന്റെ അമ്മ പമ്മി കെജ് നേരത്തെ ഒരു അഭിമുഖത്തിൽ അഭിപ്രായപ്പെട്ടിരുന്നു. <ref name="YoungOnTheConsole_Hindu">{{Cite web|url=http://www.thehindu.com/mp/2004/08/03/stories/2004080301040300.htm|title=Young on the console|access-date=27 November 2014|last=Rodgers|first=Debbie|date=August 2004|website=[[The Hindu]]|archive-url=https://archive.today/20141130052851/http://www.thehindu.com/mp/2004/08/03/stories/2004080301040300.htm|archive-date=2014-11-30}}</ref> കെജ് തന്റെ ദന്തചികിത്സാ ബിരുദത്തെ ഒരു ഇതര തൊഴിൽ ഓപ്ഷനായി കാണുന്നില്ല. എല്ലാ തൊഴിലിലും ഉയർച്ച താഴ്ചകൾ ഉണ്ടെന്നും ഒരു ബാക്കപ്പ് കരിയറിന്റെ യഥാർത്ഥ ആവശ്യമില്ലെന്നും അദ്ദേഹം കുറിക്കുന്നു. <ref name="Kej_TNIE"/> സംഗീത ജീവിതം പിന്തുടരാനുള്ള തന്റെ തീരുമാനം മാതാപിതാക്കൾക്ക് അംഗീകരിക്കാൻ എളുപ്പമല്ലെന്ന് അദ്ദേഹം വെളിപ്പെടുത്തി. <ref name="Kej_NRIPulse"/> == സംഗീത ജീവിതം == === തുടക്കം === ബെംഗളൂരു ആസ്ഥാനമായുള്ള പുരോഗമന റോക്ക് ബാൻഡായ ഏഞ്ചൽ ഡസ്റ്റിലെ കീബോർഡിസ്റ്റായിട്ടാണ് കെജ് തന്റെ കരിയർ ആരംഭിച്ചത്.<ref name="RollingStoneIndia_Feb2015">{{Cite web|url=http://rollingstoneindia.com/ricky-kej/|title=Who is Ricky Kej?|access-date=19 February 2015|last=Deshpande|first=Disha|date=February 2015|website=Rolling Stone}}</ref> ബാൻഡിൽ രണ്ട് വർഷത്തോളം അദ്ദേഹം ഒരു മുഴുവൻ സമയ സംഗീതസംവിധായകനായി മാറുകയും 2003-ൽ സ്വന്തം സ്റ്റുഡിയോയായ റാവോലൂഷൻ സ്ഥാപിക്കുകയും ചെയ്തു. മൂവായിരത്തിലധികം പരസ്യ ജിംഗിളുകൾക്കും [[കന്നഡ]] സിനിമകൾക്കും അദ്ദേഹം സംഗീതം നൽകി. കെജ് ഒരു സ്വയം പഠിച്ച സംഗീതജ്ഞനാണ്, എന്നാൽ ശാസ്ത്രീയ സംഗീതം അറിയാത്തത് ഒരു വൈകല്യമായി സ്വയം കരുതിയതിനാൽ അദ്ദേഹം 24-ാം വയസ്സിൽ ശാസ്ത്രീയ സംഗീതം പഠിച്ചു.<ref name="BusinessStandard_Feb2015">{{cite news |title=India doesn't produce more Grammy winners because of Bollywood |last=Aravind |first=Indulekha |date=February 2015 |url=http://www.business-standard.com/article/beyond-business/india-doesn-t-produce-more-grammy-winners-because-of-bollywood-ricky-kej-115021400663_1.html |work=Business Standard |accessdate=19 February 2015 |archive-date=20 February 2015 |archive-url=https://web.archive.org/web/20150220011128/http://www.business-standard.com/article/beyond-business/india-doesn-t-produce-more-grammy-winners-because-of-bollywood-ricky-kej-115021400663_1.html |url-status=live }}</ref> === ''ശാന്തി ഓർക്കസ്ട്ര'' === കെജ് 17 സ്റ്റുഡിയോ ആൽബങ്ങൾ പുറത്തിറക്കിയിട്ടുണ്ട്, അവയിൽ ഭൂരിഭാഗവും മാതൃരാജ്യമായ ഇന്ത്യയിൽ അല്ല, യുഎസിൽ പുറത്തിറക്കിയവയാണ്. ഇന്ത്യയിലെ മോശം സംഗീതസംസ്കാരവും രാജ്യത്തെ ഹിന്ദി ചലച്ചിത്ര സംഗീത വ്യവസായത്തിന്റെ പ്രബലമായ സാന്നിധ്യവുമാണ് ഇതിന് കാരണമെന്ന് അദ്ദേഹം അഭിപ്രായപ്പെടുന്നു.<ref name="RollingStoneIndia_Feb2015"/> കെജിന്റെ 13-ാമത്തെ സ്റ്റുഡിയോ ആൽബമായ ''ശാന്തി ഓർക്കസ്ട്ര'' 2013 ജൂലൈ 9<ref name="SO_AMG">{{Cite web|url=http://www.allmusic.com/album/shanti-orchestra-mw0002583668|title=Ricky Kej – Shanti Orchestra|access-date=20 February 2015|publisher=AllMusic}}</ref> -ന് പുറത്തിറങ്ങി. ഈ ആൽബം 2013 നവംബറിൽ സോൺ മ്യൂസിക് റിപ്പോർട്ടർ ടോപ്പ് 100 റേഡിയോ എയർപ്ലേ ചാർട്ടിൽ 3-ആം സ്ഥാനത്തെത്തി,<ref name="Radio_Nov2013">{{Cite web|url=http://www.zonemusicreporter.com/charts/top100.asp?m=11&y=2013|title=ZMR Top 100 Radio Airplay Chart|access-date=20 February 2015|date=November 2013|publisher=ZoneMusicReporter|archive-date=2015-02-14|archive-url=https://web.archive.org/web/20150214151937/http://www.zonemusicreporter.com/charts/top100.asp?m=11&y=2013|url-status=dead}}</ref><ref name="Radio_2013">{{Cite web|url=http://www.zonemusicreporter.com/charts/Top1002013.asp|title=ZMR Top 100 Airplay Chart for 2013|access-date=20 February 2015|publisher=ZoneMusicReporter|archive-date=2015-02-01|archive-url=https://web.archive.org/web/20150201214853/http://www.zonemusicreporter.com/charts/Top1002013.asp|url-status=dead}}</ref> 2013-ലെ സോൺ മ്യൂസിക് റിപ്പോർട്ടർ ടോപ്പ് 100 എയർപ്ലേ ചാർട്ടിൽ 37-ആം സ്ഥാനവും ലഭിച്ചു. ഈ ആൽബം 2013-ലെ സോൺ മ്യൂസിക് റിപ്പോർട്ടർ മ്യൂസിക് അവാർഡിന് നാമനിർദ്ദേശം ചെയ്യപ്പെട്ടു<ref name="Telegraph_Feb2015">{{Cite web|url=http://www.telegraphindia.com/1150212/jsp/t2/story_2798.jsp#.VObPN_mUdyw|title=India's new age Grammy|access-date=20 February 2015|last=Paul|first=Mathures|date=February 2015|website=The Telegraph}}</ref> കൂടാതെ ആൽബത്തിലെ "ഫോർഎവർ" എന്ന ട്രാക്ക് അതേ വർഷം തന്നെ ഹോളിവുഡ് മ്യൂസിക് ഇൻ മീഡിയ (HMMA) അവാർഡിനും നാമനിർദ്ദേശം ചെയ്യപ്പെട്ടു.<ref name="HMMA_2013">{{Cite web|url=http://www.hmmawards.com/2013-music-genre-nominees/|title=2013 Music Genre Nominees|access-date=20 February 2015|publisher=HMMA|archive-date=2015-04-04|archive-url=https://web.archive.org/web/20150404055316/http://www.hmmawards.com/2013-music-genre-nominees/|url-status=dead}}</ref> === ''2 യുണൈറ്റ് ആൾ'' === ഗാസയിലെ ഫലസ്തീനികൾക്കുള്ള അടിയന്തര മാനുഷിക സഹായം ലക്ഷ്യമിട്ട് പീറ്റർ ഗബ്രിയേലിനൊപ്പം<ref name="2UniteAll">{{Cite web|url=http://www.2uniteall.com/about.html|title=Grammy-Winning Artists, Rock Stars and Composers Join Forces in First US-Produced Benefit Album for Gaza Relief|access-date=28 February 2016|publisher=2uniteall.com}}</ref><ref name="2UniteAll2">{{Cite web|url=http://mondoweiss.net/2014/11/musicians-together-support/|title=All-star musicians come together to support Gaza with new album 2 Unite All|access-date=28 February 2016|last=Robbins|first=Annie|date=7 November 2014|publisher=mondoweiss}}</ref> കെജ് ''2 യുണൈറ്റ് ഓൾ'' എന്ന ആൽബം നിർമ്മിച്ചു. ഇംഗ്ലീഷ് റോക്ക് ബാൻഡ് പോലീസിൽ നിന്നുള്ള ഡ്രമ്മർ സ്റ്റുവർട്ട് കോപ്‌ലാൻഡ്, ഇംഗ്ലീഷ് റോക്ക് ബാൻഡ് ഡെഫ് ലെപ്പാർഡിന്റെ ഡ്രമ്മർ റിക്ക് അലൻ, അമേരിക്കൻ റോക്ക് ബാൻഡ് സിസ്റ്റം ഓഫ് എ ഡൗൺ ഫ്രണ്ട്മാൻ സെർജ് ടാങ്കിയൻ, ഗ്രാമി അവാർഡ് നേടിയ ഓപ്പറ ഗായിക സാഷാ കുക്ക് എന്നിവരും ആൽബത്തിൽ സഹകരിച്ചു.<ref name="RollingStoneIndia_Feb2015"/> <ref name="NDTV_Feb2015">{{Cite web|url=http://movies.ndtv.com/music/grammy-winner-ricky-kej-says-india-is-not-the-primary-market-for-his-music-740181|title=Grammy Winner Ricky Kej Says India is Not the Primary Market For His Music|access-date=19 February 2015|date=February 2015|publisher=NDTV}}</ref> === ''ശാന്തി സംസാര'' === 2015 നവംബർ 30-ന് അദ്ദേഹത്തിന്റെ ആൽബം ''ശാന്തി സംസാര - വേൾഡ് മ്യൂസിക് ഫോർഎൻവയോൺമെന്റൽ കോൺഷ്യസ്നസ്,'' COP 21, 2015 ലെ ഐക്യരാഷ്ട്ര കാലാവസ്ഥാ വ്യതിയാന സമ്മേളനത്തിൽ ഇന്ത്യൻ പ്രധാനമന്ത്രി [[നരേന്ദ്ര മോദി]] പുറത്തിറക്കി.<ref name="EconomicTimes_Launch"/> സിഡിയുടെ പകർപ്പ് പ്രധാനമന്ത്രി നേരിട്ട് ഫ്രഞ്ച് പ്രസിഡന്റ് [[ഫ്രാൻസ്വ ഒലാദ്|ഫ്രാൻസ്വാ ഒലാന്ദിന്]] സമ്മാനിച്ചു. യുഎൻ സെക്രട്ടറി ജനറൽ [[ബൻ കി മൂൺ|ബാൻ കി മൂണിനും]] ലോക നേതാക്കളുടെ സമ്മേളനത്തിനുമായി ആൽബത്തിലെ സംഗീതം ഉൾക്കൊള്ളുന്ന ഒരു വീഡിയോയും പ്ലേ ചെയ്തു.<ref name="KollyStar_Launch">{{Cite web|url=https://kollystar.com/bollywood/bollywood-cinema-news/ricky-kejs-new-music-album-shanti-samsara-world-music-for-environmental-consciousness-launched-at-united-nations-cop21-8789|title=Ricky Kej's New Music Album "Shanti Samsara – World Music for Environmental Consciousness" Launched at United Nations COP21|access-date=3 March 2016|date=11 December 2015|website=Kolly Star}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ഗ്രാമി പുരസ്കാരത്തിന് ശേഷം പ്രധാനമന്ത്രി മോദി കെജുമായി നടത്തിയ കൂടിക്കാഴ്ചയിൽ ചർച്ച ചെയ്ത നിരവധി പ്രോജക്ടുകളിൽ ഒന്നായിരുന്നു ഈ ആൽബം.<ref name="IndianExpress_Inspiration">{{Cite web|url=http://indianexpress.com/article/entertainment/music/grammy-winner-ricky-kej-meets-pm-narendra-modi/l|title=Grammy winner Ricky Kej meets PM Narendra Modi|access-date=3 March 2016|last=PTI|date=7 September 2015|website=The Indian Express}}</ref> പരിസ്ഥിതിയോടുള്ള മോദിയുടെ ഉത്കണ്ഠയിൽ പ്രചോദനം ഉൾക്കൊണ്ട കെജ്, പരിസ്ഥിതി ബോധത്തിന്റെ സന്ദേശം പ്രകടിപ്പിക്കുന്നതിനായി പ്രത്യേകമായി ഒരു പദ്ധതി വികസിപ്പിക്കാൻ തീരുമാനിച്ചു. പൂർത്തിയായപ്പോൾ, ലോകമെമ്പാടുമുള്ള 300-ലധികം അഭിനേതാക്കളും കലാകാരന്മാരും സംഗീതജ്ഞരും ആൽബത്തിന്റെ 24 ട്രാക്കുകളും നാല് മ്യൂസിക് വീഡിയോകളും നിർമ്മിക്കുന്നതിന് സംഭാവന നൽകിയിട്ടുണ്ട്. ഇതിൽ ഉൾപ്പെടുന്നവ: * ഇന്ത്യൻ സംഗീതജ്ഞരായ [[വിശ്വ മോഹൻ ഭട്ട്|വിശ്വ മോഹൻ ഭട്ടും]] പ്രശസ്ത ബോളിവുഡ് നടൻ [[അമിതാഭ് ബച്ചൻ|അമിതാഭ് ബച്ചനും]]<ref name="Bachchan">{{Cite web|url=http://indianexpress.com/article/entertainment/music/grammy-winner-ricky-kej-teams-up-with-amitabh-bachchan-for-epic-project|title=Grammy winner Ricky Kej teams up with Amitabh Bachchan for 'epic' project/|access-date=3 March 2016|last=PTI|date=19 November 2015|website=The Indian Express}}</ref> * അമേരിക്കൻ ഗായകനും ഗാനരചയിതാവുമായ ഗാരി നിക്കോൾസൺ * സ്റ്റുവർട്ട് കോപ്ലാൻഡ് * പാറ്റി ഓസ്റ്റിൻ * ബ്രൂണോ മാർസിൽ നിന്നുള്ള ഫിലിപ്പ് ലോറൻസ് * സ്ഥിരം സഹകാരി വൗട്ടർ കെല്ലർമാൻ * റോയൽ ഫിൽഹാർമോണിക് ഓർക്കസ്ട്ര * ക്രിസ്റ്റഫർ ടിൻ * ഡാർലിൻ കോൾഡൻഹോവൻ * പീറ്റർ യാരോ * ലേഡിസ്മിത്ത് ബ്ലാക്ക് മാംബാസോ * സോവെറ്റോ ഗോസ്പൽ ഗായകസംഘം * ഷെറാബ് ലിംഗിലെ സന്യാസിമാർ * കനേഡിയൻ ഗായകൻ ജെന്നിഫർ ഗസോയ് * "സിംഗിംഗ് നൺ ഓഫ് നേപ്പാൾ" [[അനി ചോയിങ് ദ്രോൽമ]] * ചൈനീസ് സിതർ വിർച്യുസോ മെയ് ഹാൻ * തായ്‌വാനീസ് എർഹു കളിക്കാരൻ ലാൻ തുങ് * അസെറി ഗായിക ഇൽഹാമ ഗാസിമോവ * വിയറ്റ്നാം, കൊറിയ, സെനഗൽ എന്നിവിടങ്ങളിൽ നിന്നുള്ള കലാകാരന്മാരും സോളോയിസ്റ്റുകളും * ഫ്രാൻസെസ് ഫിഷർ, റോസന്ന ആർക്വെറ്റ്, ലിൻഡ്സെ വാഗ്നർ എന്നിവരുടെ ശബ്ദവും ജാപ്പനീസ് പ്രധാനമന്ത്രി [[ഷിൻസോ ആബേ|ഷിൻസോ അബെയുടെ]] ഒരു പ്രത്യേക സന്ദേശവും<ref name="KollyStar_Launch"/> 2015 ഡിസംബർ 23-ന്, ഇന്ത്യയുടെ രാഷ്ട്രപതി [[പ്രണബ് മുഖർജി]] പുല്ലാങ്കുഴൽ വിദഗ്ധൻ വൂട്ടർ കെല്ലർമാനും ബിഷപ്പ് കോട്ടൺ ബോയ്സ് സ്കൂളിലെ നൂറിലധികം വിദ്യാർത്ഥികളും ഉൾപ്പെടുന്ന പ്രത്യേക ക്രമീകരണത്തിൽ ''ശാന്തി സംസാരത്തിലെ'' ഒരു ഗാനം അവതരിപ്പിക്കാൻ കെജിനെ ക്ഷണിച്ചു. അവിടെ അവരെക്കൂടാതെ നിരവധി സംസ്ഥാന-ദേശീയ ഉദ്യോഗസ്ഥരും 13,000-ത്തോളം ആളുകളും സന്നിഹിതരായിരുന്നു.<ref name="BishopCotton">{{Cite web|url=http://www.cottonboys.com/presidents-visit-2015/|title=President's Visit – 2015|access-date=3 March 2016|date=23 December 2015|publisher=Bishop Cotton Boys' School|archive-date=2016-09-08|archive-url=https://web.archive.org/web/20160908130521/http://www.cottonboys.com/presidents-visit-2015/|url-status=dead}}</ref> 2016-ൽ ''ശാന്തി സംസാരത്തിൽ'' നിന്നുള്ള "സംസാര" 2015 ഡിസംബറിലെ ലോക സംഗീതത്തിനുള്ള ഗ്ലോബൽ മ്യൂസിക് അവാർഡ് ഗോൾഡ് മെഡൽ - ഇന്ത്യ,<ref name="Global_Music_Awards_January_2016">{{Cite web|url=http://www.globalmusicawards.com/|title=Global Music Awards January_2016 Gold Medal Winner: World Music – India|access-date=28 February 2015}}</ref> കൂടാതെ മികച്ച ഓപ്പൺ/അക്കൗസ്റ്റിക് ഓപ്പൺ വിഭാഗത്തിനുള്ള ഇന്റർനാഷണൽ അക്കോസ്റ്റിക് മ്യൂസിക് അവാർഡുകളും<ref name="International_Acoustic_Music_Awards">{{Cite web|url=http://www.inacoustic.com/winners.html|title=International Acoustic Music Awards Best Open/Acoustic Open Genre|access-date=28 February 2015|archive-date=2006-11-28|archive-url=https://web.archive.org/web/20061128182839/http://www.inacoustic.com/winners.html|url-status=dead}}</ref> നേടി. കൂടാതെ 2016 മാർച്ച് 1 ന് അദ്ദേഹം ജോൺ ലെനൻ ഗാനരചനാ മത്സരത്തിന്റെ വേൾഡ് മ്യൂസിക് വിഭാഗത്തിൽ 2015-ലെ ഫൈനലിസ്റ്റായി തിരഞ്ഞെടുക്കപ്പെട്ടു. === സഹകരണം === ഭാവിയിൽ [[ഫാരൽ വില്യംസ്]], [[ഹാൻസ് സിമ്മർ]] എന്നിവരോടൊപ്പം പ്രവർത്തിക്കാൻ കെജ് താൽപ്പര്യം പ്രകടിപ്പിച്ചു.<ref name="IBNLive_Feb2015">{{Cite web|url=http://ibnlive.in.com/news/grammywinning-indian-musician-ricky-kej-wants-to-work-with-pharrell-williams-and-hans-zimmer-next/528672-45-75.html|title=Grammy-winning Indian musician Ricky Kej wants to work with Pharrell Williams and Hans Zimmer next|access-date=19 February 2015|date=February 2015|publisher=IBN Live|archive-url=https://web.archive.org/web/20150218182502/http://ibnlive.in.com/news/grammywinning-indian-musician-ricky-kej-wants-to-work-with-pharrell-williams-and-hans-zimmer-next/528672-45-75.html|archive-date=2015-02-18}}</ref><ref name="HindustanTimes_Feb2015">{{Cite web|url=http://www.hindustantimes.com/music/ricky-kej-wants-to-work-with-pharrell-williams-hans-zimmer/article1-1317406.aspx|title=Ricky Kej wants to work with Pharrell Williams, Hans Zimmer|access-date=19 February 2015|date=February 2015|website=Hindustan Times|archive-url=https://web.archive.org/web/20150216140548/http://www.hindustantimes.com/music/ricky-kej-wants-to-work-with-pharrell-williams-hans-zimmer/article1-1317406.aspx|archive-date=16 February 2015}}</ref> ഫാരെൽ വളരെ വൈവിധ്യമാർന്ന കലാകാരനാണെന്ന് അദ്ദേഹം കുറിച്ചു, അദ്ദേഹത്തോടൊപ്പം പ്രവർത്തിക്കുന്നത് വളരെ രസകരമാക്കും എന്നും കുറിച്ചു, കൂടാതെ ഹാൻസ് സിമ്മറിന്റെ സിനിമാ രചനകളിൽ ഇന്ത്യൻ ഘടകങ്ങൾ ഉൾപ്പെടുത്താനും അദ്ദേഹം ആഗ്രഹിക്കുന്നു. ഭാവിയിൽ ഇന്ത്യൻ ചലച്ചിത്ര സംഗീത സ്‌കോറിംഗുമായി പ്രവർത്തിക്കാൻ താൽപ്പര്യമില്ലെന്നും അദ്ദേഹം സമ്മതിച്ചിട്ടുണ്ട്, എന്നിരുന്നാലും ബോളിവുഡ് സിനിമകളിൽ തന്റെ നിലവിലുള്ള സംഗീത കാറ്റലോഗ് ഉപയോഗിക്കാൻ അദ്ദേഹം തയ്യാറാണ്,<ref name="IBNLive_Feb2015" /> കൂടാതെ സ്‌ക്രിപ്റ്റ് വൈകാരികമായി സ്വാധീനിച്ചാൽ മാത്രമേ ഒരു ബോളിവുഡ് സിനിമയ്‌ക്ക് സംഗീതം നൽകൂ എന്നും പറയുന്നു.<ref name="NDTV_Feb2015"/> അവസരം ലഭിച്ചാൽ കന്നഡ ചലച്ചിത്ര നിർമ്മാതാവ് [[ഗിരീഷ് കാസറവള്ളി|ഗിരീഷ് കാസറവള്ളിക്കൊപ്പം]] പ്രവർത്തിക്കാനുള്ള ശക്തമായ താൽപ്പര്യവും കെജ് പ്രകടിപ്പിച്ചു. രാജ്യത്ത് ഗ്രാമി ജേതാക്കൾ ഇല്ലാത്തതിന് ബോളിവുഡിന്റെയും സിനിമാ സംഗീതത്തിന്റെയും ആധിപത്യമാണ് കാരണമെന്ന് റിക്കി പറയുന്നു.<ref name="BusinessStandard_Feb2015"/> === ''മൈ എർത്ത് സോങ്സ്'' === 2018-ൽ, കെജ്, പരിസ്ഥിതിയെയും സുസ്ഥിരതയെയും കുറിച്ചുള്ള കുട്ടികൾക്കുള്ള സംഗീതം, ''മൈ എർത്ത് സോംഗ്സ്'' പുറത്തിറക്കി. ഇത് 27 ഗാനങ്ങളുടെ ഒരു കൂട്ടമാണ്, ഓരോ ഗാനവും ഐക്യരാഷ്ട്രസഭയുടെ [[സുസ്ഥിര വികസന ലക്ഷ്യങ്ങൾ|സുസ്ഥിര വികസന ലക്ഷ്യത്തെ]] അടിസ്ഥാനമാക്കിയുള്ളതാണ്. പരിസ്ഥിതി അവബോധം സൃഷ്ടിക്കാനും യുവതലമുറയെ അവരുടെ ജീവിതത്തിലും ചുറ്റുമുള്ള ആളുകളുടെ ജീവിതത്തിലും വ്യക്തമായ പോസിറ്റീവ് സ്വാധീനം ചെലുത്താൻ പ്രചോദിപ്പിക്കാനും ലക്ഷ്യമിടുന്നു. തികച്ചും വാണിജ്യേതര ആവശ്യങ്ങൾക്കായി കെജ് ഈ ഗാനങ്ങൾ പൊതുസഞ്ചയത്തിൽ പുറത്തിറക്കിയത് ശ്രദ്ധേയമാണ്.<ref name="auto">{{Cite news|url=http://www.edexlive.com/people/2018/aug/19/why-rickynbspkej39s-earth-songs-are-going-to-be-in-1-million-textbooks-in-2019-3694.html|title=Why Ricky&nbsp;Kej's Earth Songs are going to be in 1 million textbooks in 2019|work=The New Indian Express|access-date=2018-11-05}}</ref> 2019 മുതൽ ഇംഗ്ലീഷ് ഭാഷാ സ്കൂൾ പാഠപുസ്തകങ്ങളിൽ ഈ ഗാനങ്ങൾ അവതരിപ്പിക്കാൻ കെജ് [[മക്മില്ലൻ പ്രസാധകർ|മാക്മില്ലൻ പബ്ലിഷേഴ്സുമായി]] ചേർന്നു. ലോകമെമ്പാടുമുള്ള കുട്ടികളിലേക്ക് ഈ ഗാനങ്ങൾ പ്രചരിപ്പിക്കുന്നതിനായി അദ്ദേഹം യുനിസെഫുമായി സഹകരിച്ചു, കൂടാതെ വിവിധ ഇന്ത്യൻ, ആഗോള ഭാഷകളിലേക്ക് അവ വിവർത്തനം ചെയ്യുന്നതിൽ പ്രവർത്തിക്കുന്നു.<ref name="auto" /> 2019 മെയ് 2-ന് ജർമ്മനിയിലെ ബോണിൽ നടന്ന യുഎൻ എസ്‌ഡിജി ആക്ഷൻ അവാർഡിൽ ''മൈ എർത്ത് സോങ്സ്'' അതിന്റെ വ്യാപനത്തിനും സ്വാധീനത്തിനും ആദരിക്കപ്പെട്ടു.<ref>{{Cite web|url=https://sdgactionawards.org/|title=Home – UN SDG Action Awards|access-date=2019-04-16|website=SDG Action Awards|language=en-US}}</ref> യുഎൻ എസ്‌ഡിജി ആക്ഷൻ അവാർഡുകൾ മികച്ച നേട്ടങ്ങളും സുസ്ഥിര വികസന ലക്ഷ്യങ്ങളിലെ പ്രവർത്തനം പ്രോത്സാഹിപ്പിക്കുന്നതിനുള്ള നൂതന ശ്രമങ്ങളും അംഗീകരിക്കുന്നു. === പൈറസി വിരുദ്ധ പ്രവർത്തനം === ഇന്ത്യയിൽ ശക്തമായ പൈറസി വിരുദ്ധ നിയമങ്ങൾക്കുവേണ്ടി വാദിക്കുന്ന ആളാണ് കെജ്.<ref name="NDTV_Feb2015"/> ബൗദ്ധിക സ്വത്തവകാശത്തിന്റെ സംരക്ഷണത്തിനായി വളരെ കുറച്ച് മാത്രമേ ചെയ്യുന്നുള്ളൂവെന്നും സംഗീതത്തിന്റെയും സിനിമകളുടെയും നിയമവിരുദ്ധമായ ഡൗൺലോഡ് വ്യാപകമായതോടെ മികച്ച പ്രൊജക്റ്റ് ആർട്ടിസ്റ്റുകളുടെ ആവശ്യം ശക്തമാണെന്നും അദ്ദേഹം പ്രസ്താവിച്ചു.<ref name="BusinessStandard_Feb2015" /> == ''വിൻഡ്സ് ഓഫ് സംസാര'' == അദ്ദേഹത്തിന്റെ 14-ാമത്തെ സ്റ്റുഡിയോ ആൽബം ദക്ഷിണാഫ്രിക്കൻ ഫ്ലൂട്ടിസ്റ്റ് വൂട്ടർ കെല്ലർമാനുമായി സഹകരിച്ച് നിർമ്മിച്ചതും ആയ ''വിൻഡ്‌സ് ഓഫ് സംസാര'' ആണ്. <ref name="WOS_AMG">{{cite web|title=Ricky Kej & Wouter Kellerman – Winds of Samsara |url=http://www.allmusic.com/album/winds-of-samsara-mw0002700397|publisher=AllMusic| accessdate=19 February 2015}}</ref> ഇതിനായി കെജും വൂട്ടർ കെല്ലർമാനും [[മഹാത്മാ ഗാന്ധി|മഹാത്മാഗാന്ധിയെയും]] [[നെൽ‌സൺ മണ്ടേല|നെൽസൺ മണ്ടേലയെയും]] കൂടുതൽ അറിഞ്ഞു. ''[[റോളിങ് സ്റ്റോൺ|റോളിംഗ് സ്റ്റോൺ]]'' മാസികയ്ക്ക് നൽകിയ അഭിമുഖത്തിൽ, മണ്ടേലയ്ക്ക് ഗാന്ധിജിയോടുള്ള ആരാധനയും ഗാന്ധിജിയുടെ ദക്ഷിണാഫ്രിക്കയിലെ വർഷങ്ങളും കണക്കിലെടുക്കുമ്പോൾ, അത് രസകരമായ ഒരു സാംസ്കാരിക സഹകരണത്തിന് കാരണമാകുമെന്ന് ഇരുവരും വിശ്വസിച്ചിരുന്നുവെന്ന് കെജ് കുറിച്ചു. തുടക്കത്തിൽ റെക്കോർഡുചെയ്‌ത രണ്ട് ഭാഗങ്ങൾ പിന്നീട് നിരവധി റെക്കോർഡിംഗുകളായി പരിണമിച്ചു, ഒടുവിൽ അത് പൂർണ്ണ ആൽബമായി. ആൽബത്തിൽ 50-ഓളം വാദ്യോപകരണങ്ങളും 120 വാദ്യ കലാകരന്മാരും ഉണ്ടായിരുന്നു. ആൽബത്തിന്റെ പേരിലുള്ള 'സംസാരം' എന്നതിന് നമുക്ക് ചുറ്റുമുള്ള ലോകം, നമ്മുടെ ഉള്ളിലെ ലോകം, കുടുംബം, ആദർശങ്ങൾ മുതലായ നിരവധി അർത്ഥങ്ങളുണ്ട്. ആൽബത്തിന്റെ ഓടക്കുഴൽ അടിസ്ഥാനമാക്കിയുള്ള ശൈലി കാരണം ''വിൻഡ്‌സ്'' തിരഞ്ഞെടുത്തു. <ref name="TOI_Feb2015">{{Cite web|url=http://timesofindia.indiatimes.com/entertainment/kannada/music/Grammy-Award-winner-Ricky-Kej-returns-home/articleshow/46228656.cms|title=Grammy winner Ricky Kej returns home|access-date=19 February 2015|last=Christopher|first=Kavya|date=February 2015|website=The Times of India}}</ref> 2014 ഓഗസ്റ്റിൽ യു.എസ്. ബിൽബോർഡ് ന്യൂ ഏജ് ആൽബങ്ങളുടെ ചാർട്ടിൽ ഒന്നാം സ്ഥാനത്തെത്തിയ ആൽബം, <ref name="Billboard_WOS"/> ഇന്ത്യൻ വംശജനായ ഒരാളുടെ ആദ്യത്തേതാണ് <ref name="Kej_NRIPulse"/>> കൂടാതെ ഇത് 12 ആഴ്ചകൾ തുടർച്ചയായി ആദ്യ 10-ൽ തുടർന്നു. 2014 ജൂലൈ മാസത്തിൽ സോൺ മ്യൂസിക് റിപ്പോർട്ടർ ടോപ്പ് 100 റേഡിയോ എയർപ്ലേ ചാർട്ടിൽ ഈ ആൽബം ഒന്നാം സ്ഥാനത്തെത്തി, <ref name="Radio_July2014"/><ref name="Radio_2014">{{Cite web|url=http://www.zonemusicreporter.com/charts/Top1002014.asp|title=ZMR Top 100 Airplay Chart for 2014|access-date=20 February 2015|publisher=ZoneMusicReporter|archive-date=2015-02-20|archive-url=https://web.archive.org/web/20150220125841/http://www.zonemusicreporter.com/charts/Top1002014.asp|url-status=dead}}</ref> 2014 ലെ ZMR ടോപ്പ് 100 എയർപ്ലേ ചാർട്ടിൽ 3 ആം സ്ഥാനവും നേടി. 2014 ഡിസംബർ 5-ന് കെജിനെയും കെല്ലർമാനെയും മികച്ച ന്യൂ ഏജ് ആൽബം വിഭാഗത്തിൽ ഗ്രാമി അവാർഡിന് നോമിനികളായി പ്രഖ്യാപിച്ചു. <ref name="Grammy_WOS"/> ഗ്രാമി ജേതാവായ ജാപ്പനീസ് കലാകാരൻ കിറ്റാരോയുടെ സിംഫണി ലൈവ് ഇൻ ഇസ്താംബൂളായിരുന്നു അവാർഡിനുള്ള ഏറ്റവും ശക്തമായ മത്സരാർത്ഥി, എന്നാൽ ഇരുവരും ഒടുവിൽ 2015 ഫെബ്രുവരി <ref name="DH_Feb2015">{{Cite web|url=http://www.deccanherald.com/content/458609/winds-samsara-bengaluru-based-composer.html|title=Winds of Samsara' by Bengaluru-based composer Ricky Kej wins Grammy|access-date=19 February 2015|date=February 2015|website=Deccan Herald}}</ref> ന് അവാർഡ് നേടി. ഇന്ത്യയിലെ ചലച്ചിത്ര ഇതര സംഗീതസംവിധായകർക്ക് പുരസ്‌കാരം സമർപ്പിക്കുന്നതായി കെജ് പറഞ്ഞു. <ref name="IBNLive_Feb2015"/> == ശ്രദ്ധേയമായ തത്സമയ പ്രകടനങ്ങൾ == ന്യൂ ഓർലിയാൻസിൽ നടന്ന 11-ാമത് ZMR വാർഷിക സംഗീത അവാർഡുകളുടെയും ഗാല ആഘോഷത്തിന്റെയും ഭാഗമായി ഒരാഴ്ച നീണ്ടുനിന്ന ആഘോഷങ്ങളിൽ കെജ് ഒരു ഫീച്ചർ ചെയ്ത കലാകാരനായിരുന്നു, കൂടാതെ ZMR മ്യൂസിക് അവാർഡ് കൺസേർട്ടിന്റെ ഭാഗമായും അദ്ദേഹം പരിപാടി അവതരിപ്പിച്ചു. <ref name="ZMR_Awards">{{Cite web|url=http://www.prweb.com/releases/2015/02/prweb12542170.htm|title=ZMR Annual Music Awards and Gala Celebrates Its 11th Year with a Live Event in New Orleans This May|access-date=29 December 2016|last=Hilton|first=Beth|date=27 February 2015|publisher=ZMR via PRWeb|archive-date=2016-12-30|archive-url=https://web.archive.org/web/20161230090107/http://www.prweb.com/releases/2015/02/prweb12542170.htm|url-status=dead}}</ref> 2015-ൽ പാരീസിൽ നടന്ന [[യു.എൻ. കാലാവസ്ഥ ഉച്ചകോടി 2015|ഐക്യരാഷ്ട്രസഭയുടെ കാലാവസ്ഥാ വ്യതിയാന സമ്മേളനമായ]] COP21-ൽ ''ശാന്തി സംസാര'' അവതരിപ്പിച്ചതിന് ശേഷം, 2015 ഡിസംബർ 23-ന് ഇന്ത്യയിലെ ബാംഗ്ലൂരിൽ നടന്ന ഇന്ത്യയിലെ ബാംഗ്ലൂരിലെ ചരിത്രപ്രസിദ്ധമായ ബിഷപ്പ് കോട്ടൺ ബോയ്സ് സ്കൂളിന്റെ സെക്വിസെന്റണിയലിന്റെ ഭാഗമായി ഇന്ത്യൻ [[പ്രണബ് മുഖർജി|രാഷ്ട്രപതി പ്രണബ് മുഖർജിക്ക്]] വേണ്ടി ഒരു പ്രത്യേക പ്രകടനം നടത്താൻ കെജിനെ ക്ഷണിച്ചു. <ref name="President_of_India_performance">{{Cite web|url=http://www.allmoviesonglyrics.in/2016/01/shanti-samsara-live-exclusive-for.html|title=Shanti Samsara Live & Exclusive for President of India &#124; Ricky Kej & Wouter Kellerman|access-date=29 December 2016|date=27 February 2015|publisher=All Movie Song Lyrics|archive-date=2016-12-30|archive-url=https://web.archive.org/web/20161230090449/http://www.allmoviesonglyrics.in/2016/01/shanti-samsara-live-exclusive-for.html|url-status=dead}}</ref> 2016 ജൂലൈ 8 ന്, പ്രധാനമന്ത്രി നരേന്ദ്ര മോദിയുടെ ദക്ഷിണാഫ്രിക്കൻ സന്ദർശന വേളയിൽ, കെജ് ജോഹന്നാസ്ബർഗിലേക്ക് പോയി, അവിടെ ഇന്ത്യൻ പ്രധാനമന്ത്രിക്ക് വേണ്ടി ഗ്രാമി അവാർഡ് നേടിയ ''വിൻഡ്‌സ് ഓഫ് സംസാര'' ആൽബത്തിലെ "മഹാത്മ" വൂട്ടർ കെല്ലർമാനോടൊപ്പം ചേർന്ന് അവതരിപ്പിച്ചു. <ref name="South_Africa_perform_1">{{Cite web|url=http://timesofindia.indiatimes.com/entertainment/kannada/music/Ricky-Kej-performs-for-Modi/articleshow/53129078.cms|title=Ricky Kej performs a song dedicated to Gandhi during Modi's visit to South Africa|access-date=29 December 2016|last=Agarwall|first=Stuti|date=10 July 2016|website=The Times of India}}</ref> <ref name="South_Africa_perform_2">{{Cite web|url=http://www.hindustantimes.com/music/ricky-kej-to-perform-a-song-on-gandhi-for-narendra-modi-in-south-africa/story-0jFcU4BA20XBVpqWnZD0WM.html|title=Ricky Kej to perform a song on Gandhi for Narendra Modi in South Africa|access-date=28 December 2016|date=8 July 2016|website=Hindustan Times}}</ref> 2016 ജൂലൈ 17<ref name="Novus_Summit"/> -ന് യുഎൻ പൊതുസഭയിൽ കെജ് പരിപാടി അവതരിപ്പിച്ചു. അദ്ദേഹത്തോടൊപ്പം ഗായകൻ, പെർഫോമൻസ് ആർട്ടിസ്റ്റ്, കമ്പോസർ, മാനുഷിക പ്രവർത്തകൻ എന്നീ നിലകളിൽ അറിയപ്പെടുന്ന സൂസൻ ഡെയ്ഹിം, സംഗീതസംവിധായകൻ മൾട്ടി-ഇൻസ്ട്രുമെന്റലിസ്റ്റ് എന്നീ നിലകളിൽ പ്രസ്തനായ പ്രേമിക് റസ്സൽ ടബ്സ്, കീബോർഡിസ്റ്റ് ലോണി പാർക്ക് എന്നിവരും ഉണ്ടായിരുന്നു. <ref name="Performs_at_UN"/> 2016 ജൂലൈ 23 ന് [[ബാംഗ്ലൂർ കൊട്ടാരം|ബാംഗ്ലൂർ കൊട്ടാരത്തിൽ]] കെജ് ഗാല ''ശാന്തി സംസാര'' ലൈവ് അവതരിപ്പിച്ചു. [[വിശ്വ മോഹൻ ഭട്ട്]] ഉൾപ്പെടെ നിരവധി കലാകാരന്മാർ കച്ചേരിയിൽ പങ്കെടുത്തു. 2017 മെയ് 17 ന് അന്നത്തെ യുഎൻ ജനറൽ അസംബ്ലിയുടെ പ്രസിഡന്റായിരുന്ന പീറ്റർ തോംസണിന്റെ വ്യക്തിപരമായ ക്ഷണപ്രകാരം കെജ് രണ്ടാം തവണ യുഎൻ ജനറൽ അസംബ്ലിയിൽ ''ശാന്തി സംസാര'' ആൽബത്തിൽ നിന്ന് സംഗീതം അവതരിപ്പിച്ചു. [[യു.എൻ വിമൻ|യുഎൻ വിമനെ]] സഹായിക്കുന്നതിനായി, ബാല വധുക്കൾ ഇല്ലാതാക്കുന്നതിനായി കേജ്, തന്റെ ''ശാന്തി സംസാര'' സംഘത്തോടൊപ്പം, കാനഡയിലെ ലാംഗ്ലിയിൽ പരിപാടി അവതരിപ്പിച്ചു. 2017 ഒക്ടോബർ 6-ന്, [[ബെംഗളൂരു|ബംഗളൂരുവിലെ]] ചരിത്രപ്രസിദ്ധമായ വിധാന സൗധയിൽ എട്ട് രാജ്യങ്ങളിൽ നിന്നുള്ള 200-ലധികം സംഗീതജ്ഞരുടെ സംഘത്തോടൊപ്പം കെജ് ഒരു പ്രകടനത്തിന് നേതൃത്വം നൽകി. നിയമസഭാംഗങ്ങൾ, മന്ത്രിമാർ, ഉദ്യോഗസ്ഥർ, സമൂഹത്തിൽ മാറ്റമുണ്ടാക്കുന്നവർ എന്നിവർ പങ്കെടുത്തു. ദ്വീപ് രാഷ്ട്രമായ [[കിരീബാസ്|കിരിബത്തിയുടെ]] പ്രസിഡന്റ് അനോട്ടെ ടോംഗും അവിടെ സന്നിഹിതനായിരുന്നു. <ref>{{Cite web|url=http://www.indiannewsandtimes.com/2017/10/09/grammy-award-winner-ricky-kej-performs-200-musicians-international-concert-environmental-consciousness/|title=Grammy® Award Winner Ricky Kej performs with over 200 musicians in the international concert for Environmental Consciousness|access-date=2018-03-14|website=indiannewsandtimes.com|publisher=Indian News & Times|language=en-US}}{{പ്രവർത്തിക്കാത്ത കണ്ണി|date=ഒക്‌ടോബർ 2022 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> ലോകത്തെ വിവിധ ഭാഗങ്ങളിൽ നിന്നുള്ള സംഗീതജ്ഞരുടെ സംഘത്തോടൊപ്പം [[ന്യൂയോർക്ക് നഗരം|ന്യൂയോർക്കിലെ]] ടൈംസ് സ്ക്വയറിൽ 2018 ലെ റൗണ്ട്ഗ്ലാസ് മ്യൂസിക് അവാർഡിൽ കെജ് പ്രകടനം നടത്തി. ചടങ്ങിൽ റിംഗോ സ്റ്റാർ, ബിടി, റോണി കോക്സ് എന്നിവരെ ആദരിച്ചു. ജൂണിൽ, ആഗോള പരിസ്ഥിതി ദിനാചരണത്തിന്റെ ഭാഗമായി കെജ് ന്യൂഡൽഹിയിൽ രണ്ട് പരിപാടികൾ അവതരിപ്പിച്ചു. [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]] [[നരേന്ദ്ര മോദി]], [[വനം പരിസ്ഥിതി മന്ത്രാലയം (ഇന്ത്യ)|ഇന്ത്യൻ പരിസ്ഥിതി മന്ത്രിമാർ]], [[യുണൈറ്റഡ് നേഷൻസ് എൻവിറോണ്മെന്റ് പ്രോഗ്രാം|യുഎൻ പരിസ്ഥിതി പദ്ധതിയുടെ]] നിലവിലെ എക്‌സിക്യൂട്ടീവ് ഡയറക്ടർ എറിക് സോൾഹൈം, ലോകമെമ്പാടുമുള്ള മറ്റ് ഉന്നത വ്യക്തികൾ എന്നിവരുടെ സ്വകാര്യ സദസ്സിനു വേണ്ടിയായിരുന്നു ആദ്യ പരിപാടി. ചരിത്രപ്രസിദ്ധമായ [[ഇന്ത്യ ഗേറ്റ്|ഇന്ത്യാ ഗേറ്റിന്]] മുന്നിൽ ആയിരക്കണക്കിന് ആളുകൾക്ക് ആയി രണ്ടാമത്തെ പരിപാടി അവതരിപ്പിച്ചു. 2018 മെയ് മാസത്തിൽ ഹൗസ് ഓഫ് കോമൺസ് ഓഫ് കാനഡ ആദരിച്ച ശേഷം, സറേയിലെ സൈമൺ ഫ്രേസർ യൂണിവേഴ്സിറ്റിയിലും സറേ ഫ്യൂഷൻ ഫെസ്റ്റിവലിലും റിക്കി 2 പരിപാടികൾ അവതരിപ്പിച്ചു.<ref>{{Cite news|url=https://www.peacearchnews.com/entertainment/grammy-winner-environmental-activist-ricky-kej-plays-surrey/|title=Grammy winner, environmental activist Ricky Kej plays Surrey – Peace Arch News|date=2018-07-30|work=Peace Arch News|access-date=2018-11-05|language=en-US|archive-date=5 November 2018|archive-url=https://web.archive.org/web/20181105160616/https://www.peacearchnews.com/entertainment/grammy-winner-environmental-activist-ricky-kej-plays-surrey/|url-status=live}}</ref> 2018 ഓഗസ്റ്റിൽ, [[സ്വാതന്ത്ര്യദിനം (ഇന്ത്യ)|ഇന്ത്യൻ സ്വാതന്ത്ര്യ ദിനാഘോഷത്തോടനുബന്ധിച്ച്]] ബോണ്ടഡ് ലേബർ എന്ന ക്രൂരമായ സമ്പ്രദായം ഉയർത്തിക്കാട്ടിക്കൊണ്ട് കെജ് ഇന്റർനാഷണൽ ജസ്റ്റിസ് മിഷനുമായി സഹകരിച്ച് [[ബെംഗളൂരു|ബംഗളൂരുവിൽ]] പരിപാടി നടത്തി. ഈ പരിപാടിയിൽ അതിജീവിച്ച നിരവധി ആളുകളുമായി അദ്ദേഹം സംഗീതപരമായി സഹകരിച്ചു. 2018 ഒക്ടോബറിൽ, കെജ് [[രാഷ്ട്രപതി|ഇന്ത്യൻ രാഷ്ട്രപതിക്ക്]] വേണ്ടി പ്രകടനം നടത്തി - [[റാം നാഥ് കോവിന്ദ്|ശ്രീ രാം നാഥ് കോവിന്ദ്]], ഉത്തർപ്രദേശ് മുഖ്യമന്ത്രി - [[യോഗി ആദിത്യനാഥ്]], [[വനം പരിസ്ഥിതി മന്ത്രാലയം (ഇന്ത്യ)|ശാസ്ത്ര സാങ്കേതിക മന്ത്രാലയം, പരിസ്ഥിതി, വനം, കാലാവസ്ഥാ വ്യതിയാന മന്ത്രാലയം, ഭൗമ മന്ത്രാലയം എന്നിവയുടെ]] ചുമതലയുള്ള മന്ത്രി. - [[ഹർഷവർധൻ|ഡോ ഹർഷ് വർദ്ധൻ]], കൂടാതെ ഇന്ത്യൻ ഇന്റർനാഷണൽ സയൻസ് ഫെസ്റ്റിവലിന്റെ ഭാഗമായി ഇന്ത്യൻ ഗവൺമെന്റിന്റെ മറ്റ് നിരവധി പ്രമുഖർ സന്നിഹിതരായിരുന്നു. [[രാജസ്ഥാൻ|രാജസ്ഥാനിലെ]] [[മൗണ്ട് ആബു|മൗണ്ട്]] അബുവിലുള്ള [[ബ്രഹ്മകുമാരീസ് ഈശ്വരീയ വിശ്വവിദ്യാലയം|ബ്രഹ്മ കുമാരികളുടെ]] ആത്മീയ ആസ്ഥാനത്ത് 10,000 ത്തിലധികം ബ്രഹ്മാ കുമാറികൾക്ക് കെജ് പരിപാടി നടത്തി. <ref>{{Cite web|url=http://bk.ooo/live-01-09-2018-9-00pm-time-08-45-pm-to-10-00-pm-mr-rickey-kej-and-group-grammy-award-winner/|title=Cultural Events 01-09-2018 9.00pm :Mr. Rickey Kej and Group Grammy Award Winner {{!}} Brahma Kumaris|access-date=2018-11-05|date=October 2018|website=bk.ooo|language=en-US}}</ref> ഇതിനെത്തുടർന്ന്, ജവഹർലാൽ നെഹ്‌റു ഇൻഡോർ സ്റ്റേഡിയത്തിൽ വലിയ തോതിലുള്ള പ്രകടനത്തോടെ ചിന്മയ വിദ്യാലയ വിദ്യാഭ്യാസ സ്ഥാപനങ്ങളുടെ 50-ാം വാർഷികം അനുസ്മരിക്കാൻ അദ്ദേഹം [[ചെന്നൈ|ചെന്നൈയിലേക്ക്]] പോയി. <ref>{{Cite web|url=https://timesofindia.indiatimes.com/videos/city/chennai/chennai-grammy-singers-and-students-celebrate-50-years-of-chinmaya-educational-movement/videoshow/66292366.cms|title=Chennai: Grammy singers and students celebrate 50 years of Chinmaya educational movement {{!}} City – Times of India Videos ►|access-date=2018-11-05|website=The Times of India}}</ref> അടുത്ത ആഴ്ച, [[വൊഡയാർ രാജകുടുംബം|മൈസൂർ രാജ്ഞിക്കും]] 20,000-ത്തിലധികം ആളുകൾക്കും അവരുടെ വാർഷിക [[മൈസൂർ ദസറ|ദസറ]] ആഘോഷങ്ങളുടെ ഭാഗമായി ചരിത്രപരമായ [[മൈസൂർ കൊട്ടാരം|മൈസൂർ കൊട്ടാരത്തിൽ]] അദ്ദേഹം സംഗീതം അവതരിപ്പിച്ചു. ഒക്‌ടോബർ 31-ന്, സ്വിറ്റ്‌സർലൻഡിലെ ജനീവയിലെ ഐക്യരാഷ്ട്രസഭയുടെ ചരിത്രപ്രസിദ്ധമായ പലൈസ് ഡെസ് നേഷൻസ് ആസ്ഥാനത്ത് ആദ്യത്തെ ആഗോള വായു മലിനീകരണ സമ്മേളനത്തിനായി സംഗീതം അവതരിപ്പിക്കാൻ ലോകാരോഗ്യ [[ലോകാരോഗ്യസംഘടന|സംഘടന]] (WHO) കെജിനെ ക്ഷണിച്ചു. ഈ പ്രകടനത്തിൽ [[അന്തരീക്ഷമലിനീകരണം|വായു മലിനീകരണത്തിന്റെ]] അപകടങ്ങളെ ഉയർത്തിക്കാട്ടുന്ന നിരവധി പുതിയ കോമ്പോസിഷനുകൾ അദ്ദേഹം അവതരിപ്പിച്ചു. ലോക നേതാക്കൾ, വിവിധ യുഎൻ ഏജൻസികളുടെ തലവൻമാർ, ലോകമെമ്പാടുമുള്ള മറ്റ് നിരവധി പ്രമുഖർ എന്നിവരടങ്ങുന്നതായിരുന്നു സദസ്സ്. <ref>{{Cite web|url=https://www.who.int/airpollution/events/conference/en/|title=First WHO Global Conference on Air Pollution and Health, 30 October – 1 November 2018|access-date=2018-11-05|website=World Health Organization|language=en-GB|archive-url=https://web.archive.org/web/20180314210049/http://www.who.int/airpollution/events/conference/en/|archive-date=14 March 2018}}</ref> 2018 ഡിസംബർ 22-ന് [[ആന്ധ്രാപ്രദേശ്‌|ആന്ധ്രാപ്രദേശിലെ]] അനന്തപൂർ ജില്ലയിലെ പ്രോട്ടോ വില്ലേജിൽ അവരുടെ വാർഷിക സംസാര ഫെസ്റ്റിവലിന്റെ ഭാഗമായി കെജ് വീണ്ടും ഒരു ബെനിഫിറ്റ് സംഗീത കച്ചേരി നടത്തി. കുറച്ച് ദിവസങ്ങൾക്ക് ശേഷം ഡിസംബർ 28 ന് ആന്ധ്രാപ്രദേശിലെ വാർഷിക വിശാഖ ഉത്സവത്തിൽ 88,000-ത്തിലധികം ആളുകൾക്ക് വേണ്ടി അദ്ദേഹം പരിപാഇ അവതരിപ്പിച്ചു. ഈ വലിയ കച്ചേരിയും ഉത്സവവും ആന്ധ്രാപ്രദേശ് മുഖ്യമന്ത്രി ശ്രീ. [[എൻ. ചന്ദ്രബാബു നായിഡു]] ഉത്ഘാടനം ചെയ്തു. ശാസ്ത്രം, ആത്മീയത, വിദ്യാഭ്യാസം, പരിസ്ഥിതി, മെച്ചപ്പെട്ട ലോകം സൃഷ്ടിക്കുന്നതിൽ മനുഷ്യരുടെ പങ്ക് എന്നിവയെക്കുറിച്ചുള്ള ആഗോള ഉച്ചകോടിയുടെ ഭാഗമായി 2019 ഫെബ്രുവരി 10 ന്, ബ്രഹ്മാകുമാരികൾക്കായി കെജ് തൽക്കത്തോറ സ്റ്റേഡിയത്തിൽ പ്രകടനം നടത്തി. 6,000-ത്തിലധികം ആളുകൾ സന്നിഹിതരായിരുന്നു. ഫെബ്രുവരി 14-ന് സ്വിറ്റ്‌സർലൻഡിലെ ജനീവയിൽ ലോകാരോഗ്യ സംഘടനയുടെ ആസ്ഥാനത്ത് അവരുടെ "മേക്ക് ലിസണിംഗ് സേഫ്" എന്ന സംരംഭത്തിന്റെ സമാരംഭത്തിന്റെ ഭാഗമായി അദ്ദേഹത്തെ സംഗീതം അവതരിപ്പിക്കാൻ ക്ഷണിച്ചു. <ref>{{Cite web|url=https://www.healthpolicy-watch.org/who-rocks-to-the-sound-of-life-at-launch-of-who-itu-safe-listening-standards/|title=WHO Rocks To The 'Sound of Life' At Launch of WHO-ITU Safe Listening Standard|access-date=2019-02-20|last=Branigan|first=David|date=2019-02-14|website=Health Policy Watch|language=en-US}}</ref> <ref>{{Cite web|url=https://www.who.int/activities/making-listening-safe|title=Making listening safe|access-date=2021-07-21|website=www.who.int|language=en}}</ref> എല്ലാ പ്രായത്തിലുമുള്ള ആളുകൾക്ക് ശ്രവണ അപകടസാധ്യത സൃഷ്ടിക്കാത്ത രീതിയിൽ സംഗീതവും മറ്റ് ഓഡിയോ മീഡിയകളും ആസ്വദിക്കാൻ കഴിയുമെന്ന് ഉറപ്പാക്കുക എന്നതാണ് ഈ സംരംഭത്തിന്റെ പ്രധാന ലക്ഷ്യം. 2019 മാർച്ചിൽ, ഇന്ത്യയിലെ ആദ്യത്തെ ബ്ലൂ-ചിപ്പ് നാച്ചുറൽ ഹിസ്റ്ററി ഫിലിം - വൈൽഡ് കർണാടകയുടെ ലോഞ്ചിനായി കെജ് ഒരു വലിയ തോതിലുള്ള കച്ചേരി നടത്തി, അതിനായി യഥാർത്ഥ പശ്ചാത്തല സംഗീതവും അദ്ദേഹം രചിച്ചു, ഈ ചിത്രം നിർമ്മിച്ചത് [[ഡേവിഡ് ആറ്റൻബറോ|സർ ഡേവിഡ് ആറ്റൻബറോയാണ്]]. കർണാടകയിലെമ്പാടുമുള്ള മൂവായിരത്തോളം പ്രമുഖരും പൊതുജനങ്ങളും കച്ചേരിയിൽ പങ്കെടുത്തു. [[കാർഗിൽ യുദ്ധം|കാർഗിൽ യുദ്ധത്തിൽ]] പാക്കിസ്ഥാനെതിരെ ഇന്ത്യ നേടിയ വിജയത്തിന്റെ 20 വർഷം ആഘോഷിക്കുന്ന [[കാർഗിൽ വിജയ് ദിവസ്|കാർഗിൽ വിജയ് ദിവസിന്റെ]] വേളയിൽ, 2019 ജൂലൈയിൽ 10,000 [[ഇന്ത്യൻ കരസേന|ഇന്ത്യൻ ആർമി]] അംഗങ്ങൾക്കായി കെജ് [[ലേ|ലേയിൽ]] ഒരു കച്ചേരി നടത്തി. നിരവധി പ്രമുഖരും ഉന്നത ഉദ്യോഗസ്ഥരും സന്നിഹിതരായിരുന്നു. <ref>{{Cite web|url=https://www.indulgexpress.com/culture/music/2019/jul/26/grammy-award-winner-ricky-kej-performs-for-the-indian-army-on-the-occasion-of-kargil-vijay-diwas-16934.html|title=Grammy award winner Ricky Kej performs for the Indian army on the occasion of Kargil Vijay Diwas|access-date=2020-11-16|website=indulgexpress.com|language=en}}</ref> UNESCO-MGIEP-യുടെ വേൾഡ് യൂത്ത് കോൺഫറൻസ് ഓൻ കൈൻഡ്നസിൻ്റെ ഭാഗമായി <ref>{{Cite web|url=https://www.hindustantimes.com/education/grammy-winning-musicians-launched-a-unesco-kindness-anthem-in-iit-delhi-concert/story-52gVPRLZ0pWLj7Qzres8OP.html|title=Grammy winning musicians launched a UNESCO kindness anthem in IIT-Delhi concert|access-date=2020-11-16|date=2019-08-24|website=Hindustan Times|language=en}}</ref> 2019 ഓഗസ്റ്റിൽ ഇന്ത്യൻ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ഡൽഹിയിൽ കെജ് ഒരു കച്ചേരി അവതരിപ്പിച്ചു. 2019 സെപ്റ്റംബറിൽ ന്യൂഡൽഹിയിൽ നടന്ന ഉന്നതതല COP14 ഉച്ചകോടിയിൽ ലോക നേതാക്കളുടെയും ഉയർന്ന തലത്തിലുള്ള വിശിഷ്ട വ്യക്തികളുടെയും ഇന്ത്യൻ ഗവൺമെന്റിലെ നിരവധി പ്രമുഖരുടെയും സദസ്സിൽ അദ്ദേഹം പ്രകടനം നടത്തി. UNCCD എക്സിക്യൂട്ടീവ് സെക്രട്ടറി ഇബ്രാഹിം തിയാവ് അദ്ദേഹത്തെ UNCCD ലാൻഡ് അംബാസഡർ പദവി നൽകി ആദരിച്ചു. <ref>{{Cite web|url=https://www.unccd.int/news-events/new-unccd-land-ambassadors-announced|title=New UNCCD Land Ambassadors announced {{!}} UNCCD|access-date=2020-11-16|website=www.unccd.int|archive-date=2020-11-22|archive-url=https://web.archive.org/web/20201122071327/https://www.unccd.int/news-events/new-unccd-land-ambassadors-announced|url-status=dead}}</ref> ന്യൂയോർക്കിലും കെജ് ഒന്നിലധികം സംഗീതകച്ചേരികൾ നടത്തി, പ്രത്യേകിച്ച് ലോകാരോഗ്യ സംഘടനയുടെ വാക്ക് ദ ടോക്ക്: ദി ഹെൽത്ത് ഫോർ ഓൾ ചലഞ്ച് കാമ്പെയ്‌നിനായി സെൻട്രൽ പാർക്കിൽ. <ref>{{Cite web|url=https://www.who.int/news-room/events/detail/2019/09/22/default-calendar/walk-the-talk-new-york-the-health-for-all-challenge|title=Walk the Talk New York: The Health for All Challenge|access-date=2020-11-16|publisher=World Health Organization|language=en}}</ref> 2019 ഒക്ടോബറിൽ, ശ്രീലങ്കയിലെ കൊളംബോയിൽ സുസ്ഥിര നൈട്രജൻ മാനേജ്മെന്റിനെക്കുറിച്ചുള്ള ഐക്യരാഷ്ട്രസഭയുടെ ആഗോള കാമ്പെയ്‌നിന്റെ സമാരംഭത്തിൽ കെജ് പ്രകടനം നടത്തി. <ref>{{Cite web|url=http://www.unenvironment.org/events/symposium/launch-united-nations-global-campaign-sustainable-nitrogen-management|title=Launch of the United Nations Global Campaign on Sustainable Nitrogen Management|access-date=2020-11-16|website=UNEP - UN Environment Programme|language=en}}</ref> 2019 നവംബറിൽ ബാംഗ്ലൂർ ക്ലബിൽ നടത്തിയ പ്രകടനത്തിലൂടെ അദ്ദേഹം ഇത് വീണ്ടും അവതരിപ്പിച്ചു. <ref>{{Cite web|url=https://e.vnexpress.net/news/life/culture/grammy-winner-to-bring-saigon-music-fest-to-climax-4025238.html|title=Grammy winner to bring Saigon music fest to climax - VnExpress International|access-date=2020-11-16|last=VnExpress|website=VnExpress International – Latest news, business, travel and analysis from Vietnam|language=en}}</ref> 2019 ഡിസംബറിൽ ബാംഗ്ലൂരിലെ എംഇജി സെന്ററിൽ [[ഇന്ത്യൻ കരസേന|ഇന്ത്യൻ ആർമിയിലെ]] 7,000-ത്തിലധികം അംഗങ്ങൾക്ക് പരിപാടി അവതരിപ്പിക്കാൻ കെജിനെ ക്ഷണിച്ചു. ഇന്ത്യൻ ആർമിക്ക് വേണ്ടിയുള്ള പ്രകടനങ്ങൾ തന്റെ കരിയറിലെ ഏറ്റവും വലിയ ഹൈലൈറ്റുകളാണെന്ന് അദ്ദേഹം അഭിപ്രായപ്പെട്ടു. 2020 ജനുവരിയിൽ കെജ് ജയ്പൂർ സാഹിത്യോത്സവത്തിന്റെ തലപ്പത്ത് ഇടംനേടുകയും 2020 ലെ കദംബോത്സവത്തിനായി സിർസിയിൽ 20,000-ത്തിലധികം ആളുകൾക്ക് തത്സമയ പ്രകടനം നടത്തുകയും ചെയ്തു.<ref>{{Cite web|url=https://www.gqindia.com/personalities/content/going-to-jlf-you-must-sing-earth-songs-with-ricky-kej|title=Going to JLF? You must sing Earth songs with Ricky Kej|access-date=2020-11-16|website=GQ India|language=en-IN|archive-date=2020-10-22|archive-url=https://web.archive.org/web/20201022075428/https://www.gqindia.com/personalities/content/going-to-jlf-you-must-sing-earth-songs-with-ricky-kej|url-status=dead}}</ref> <ref>{{Cite web|url=https://www.newindianexpress.com/states/karnataka/2020/jan/31/kadambotsava-to-feature-grammy-awardee-ricky-kej-kannada-actor-rakshit-shetty-2096991.html|title=Kadambotsava to feature Grammy awardee Ricky Kej, Kannada actor Rakshit Shetty|access-date=2020-11-16|website=The New Indian Express}}</ref> [[കോവിഡ്-19]] [[മഹാമാരി]] കൊണ്ടുവന്ന ലോക്ക്ഡൗണും മറ്റ് നിയന്ത്രണങ്ങളും കാരണം തത്സമയ സംഗീത വ്യവസായം നിലച്ചതോടെ, 2020 ഏപ്രിൽ മുതൽ ജൂലൈ വരെ കെജ് മൂന്ന് വലിയ തോതിലുള്ള വെർച്വൽ കച്ചേരികൾ നടത്തി. ഈ കച്ചേരികൾ 75-ലധികം രാജ്യങ്ങളിൽ ടെലിവിഷനിൽ സംപ്രേക്ഷണം ചെയ്തു, ഏകദേശം 200 ദശലക്ഷത്തിലധികം ആളുകൾ ഇത് കണ്ടു. യുഎൻ കാലാവസ്ഥാ വ്യതിയാനം, [[യുണൈറ്റഡ് നേഷൻസ് എൻവിറോണ്മെന്റ് പ്രോഗ്രാം|യുഎൻഇപി]], [[യൂനിസെഫ്|യുണിസെഫ്]], ഡബ്ല്യുഎച്ച്ഒ, [[ലോകഭൗമദിനം|എർത്ത് ഡേ നെറ്റ്‌വർക്ക്]], [[വേൾഡ് വൈഡ് ഫണ്ട് ഫോർ നേച്ചർ|ഡബ്ല്യുഡബ്ല്യുഎഫ്]], യുഎൻസിസിഡി തുടങ്ങിയ നിരവധി ആഗോള സംഘടനകൾ ഈ കച്ചേരികൾ ഒരേസമയം സംപ്രേക്ഷണം ചെയ്യാൻ കൈകോർത്തു. യുണിസെഫുമായി ചേർന്ന് കുട്ടികൾക്കായുള്ള ലോകത്തിലെ ഏറ്റവും വലിയ കച്ചേരിയും ഇതിൽ ഉൾപ്പെടുന്നു. <ref>{{Cite web|url=https://www.newindianexpress.com/cities/bengaluru/2020/apr/22/40-musicians-6-countries-1-concert-2133443.html|title=40 musicians, 6 countries, 1 concert|access-date=2020-11-16|website=The New Indian Express}}</ref> <ref>{{Cite web|url=https://www.hindustantimes.com/music/grammy-award-winner-ricky-kej-and-lonnie-park-are-doing-an-online-concert-to-celebrate-world-music-day-today/story-Rmwpj23UYDc4LIAIBouSIO.html|title=Grammy Award winner Ricky Kej and Lonnie Park are doing an online concert to celebrate World Music Day today|access-date=2020-11-16|date=2020-06-21|website=Hindustan Times|language=en}}</ref> 2020 സെപ്റ്റംബറിൽ, ഉന്നതതല ജൈവവൈവിധ്യ സമ്മേളനത്തിന്റെ സമാപനം ഉൾപ്പെടെ യുഎൻ ജനറൽ അസംബ്ലിയിൽ കെജ് ഒന്നിലധികം വെർച്വൽ കച്ചേരികൾ നടത്തി. നിരവധി ലോകനേതാക്കളും പ്രമുഖ വ്യക്തികളും സന്നിഹിതരായിരുന്നു. <ref>{{Cite web|url=http://sdg.iisd.org/news/nature-for-life-hub-to-advocate-for-nature-based-solutions-ahead-of-un-biodiversity-summit/|title='Nature for Life Hub' to Advocate for Nature-based Solutions Ahead of UN Biodiversity Summit {{!}} News {{!}} SDG Knowledge Hub {{!}} IISD|access-date=2020-11-16|last=Hub|first=IISD's SDG Knowledge|language=en-US}}</ref> == മറ്റ് കൃതികൾ == 2008-ൽ വൺ ഷോ അവാർഡിൽ കെജിന് ഒരു പരസ്യ പുരസ്‌കാരം ലഭിച്ചു, തുടർന്ന് 2009-ലെ ആഡ്‌ഫെസ്റ്റ് ഏഷ്യ അവാർഡിൽ രണ്ടാമത്തെ പരസ്യ അവാർഡും ലഭിച്ചു. <ref name="TOI2_Feb2015">{{Cite web|url=http://timesofindia.indiatimes.com/entertainment/kannada/music/Bengaluru-at-the-Grammys/articleshow/46186099.cms|title=Bengaluru at the Grammys|access-date=20 February 2015|date=February 2015|website=The Times of India}}</ref> 2010-ൽ, നൈക്കിന്റെ ജിംഗിൾ [[കാൻ ചലച്ചിത്രോത്സവം|കാൻസ് ഫിലിം ഫെസ്റ്റിവലിൽ]] അവാർഡിന് നാമനിർദ്ദേശം ചെയ്യപ്പെട്ടു. <ref name="Kej_AMG">{{Cite web|url=http://www.allmusic.com/artist/ricky-kej-mn0002091558/biography|title=Ricky Kej – Artist Profile|access-date=20 February 2015|publisher=AllMusic}}</ref> 2013-ൽ ടിവി ചാനൽ VH1 അദ്ദേഹത്തെ "ഇന്ത്യ റൂൾസ് ആർട്ടിസ്റ്റ്" എന്ന് വിളിച്ചിരുന്നു <ref name="NewIndianExpress_Feb2015">{{Cite web|url=http://www.newindianexpress.com/cities/bengaluru/City-Boy-Ricky-Kej-Says-Grammy-Win-is-a-Dream-Come-True/2015/02/10/article2661507.ece|title=City Boy Ricky Kej Says Grammy Win is a Dream Come True|access-date=20 February 2015|date=February 2015|website=The New Indian Express|archive-date=2015-02-20|archive-url=https://web.archive.org/web/20150220122738/http://www.newindianexpress.com/cities/bengaluru/City-Boy-Ricky-Kej-Says-Grammy-Win-is-a-Dream-Come-True/2015/02/10/article2661507.ece|url-status=dead}}</ref> . ഇന്ത്യയിലെ നിരവധി ഗാന റിയാലിറ്റി ഷോകളിൽ അതിഥി ജഡ്ജിയായി കെജ് പ്രത്യക്ഷപ്പെട്ടിട്ടുണ്ട്. മജോളി മ്യൂസിക് ട്രസ്റ്റിന്റെ ട്രസ്റ്റിയും സ്ഥാപക അംഗവുമാണ് കെജ്. അവരുടെ പ്രധാന ലക്ഷ്യങ്ങൾ ഇന്ത്യയിലെ സംഗീത വിദ്യാഭ്യാസത്തിന്റെ നിലവാരം ഉയർത്തുക, സംഗീത പ്രകടനങ്ങളിൽ നിന്നും റെക്കോർഡിംഗുകളിൽ നിന്നും ഉപജീവനം നടത്താൻ കഴിയാത്ത വൃദ്ധരും അവശരുമായ സംഗീതജ്ഞർക്ക് ഒരു പെൻഷൻ ഫണ്ട് രൂപീകരിക്കുക എന്നിവയാണ്. <ref name="MajollyMusicTrust">{{Cite web|url=http://www.majollymusictrust.org/Board_of_Trustees|title=Majolly Music Trust – Board of Trustees|access-date=20 February 2015|publisher=Majolly Music Trust|archive-date=2018-11-12|archive-url=https://web.archive.org/web/20181112144627/http://www.majollymusictrust.org/Board_of_Trustees|url-status=dead}}</ref> 2020-ൽ, ഇന്ത്യ ഓസ്‌ട്രേലിയ ബിസിനസ് &amp;amp; കമ്മ്യൂണിറ്റി അവാർഡ്‌സിൽ (IABCA) രണ്ട് വിഭാഗങ്ങളിലായി ഫൈനലിസ്റ്റായി കെജ് തിരഞ്ഞെടുക്കപ്പെട്ടു. <ref>{{Cite web|url=https://www.iabca.com.au/2020-2021finalists|title=IABCA 2020-2021 Finalists|access-date=2020-11-16|website=iabca|language=en}}</ref> == സ്വകാര്യ ജീവിതം == 2014 മാർച്ചിലാണ് കെജ് വർഷ ഗൗഡയെ വിവാഹം കഴിച്ചത്. വർഷ ഒരു പ്രമുഖ കന്നഡിഗ ഗൗഡ കുടുംബത്തിൽ നിന്നാണ്, അതേസമയം കെജ് പഞ്ചാബി-മാർവാരി കുടുംബത്തിൽ നിന്നുള്ളയാളാണ്. വർഷ ഒരു സംഗീതജ്ഞ കൂടിയാണ്. <ref>{{Cite web|url=http://shantisamsara.com/|title=Shanti Samsara {{!}} Ricky Kej|access-date=2018-11-08|website=shantisamsara.com|language=en}}</ref> == അവാർഡുകൾ == {| class="wikitable" width="75%" ! align="left" |വർഷം ! style="text-align:center;" |ലഭിച്ചയാൾ ! style="text-align:center;" |നിർദ്ദേശിക്കപ്പെട്ട കൃതി ! style="text-align:center;" |പുരസ്കാരം ! style="text-align:center;" |ഫലം ! style="text-align:center;" |അവലംബം |- | style="text-align:center;" |2008 |റിക്കി കെജ് |ജിംഗിൾ - TreesforFree.org |വൺ ഷോ അഡ്വട്ടൈസിംഗ് | {{won}} |<ref name="TOI2_Feb2015"/> |- | style="text-align:center;" |2009 |റിക്കി കെജ് |ജിംഗിൾ – സെവന്റി എംഎം മൂവി റെന്റൽസ് |അഡ്ഫെസ്റ്റ് ഏഷ്യ അവാർഡ്സ് – പരസ്യം | {{won}} |<ref name="TOI2_Feb2015" /> |- | style="text-align:center;" |2010 |റിക്കി കെജ് |ജിംഗിൾ – നൈക്ക് |കാൻസ് അവാർഡ്സ് – പരസ്യം | {{Nom}} |<ref name="Kej_AMG"/> |- | rowspan="2" style="text-align:center;" |2013 | rowspan="2" |റിക്കി കെജ് |''ശാന്തി ഓർക്കസ്ട്ര'' |ZMR മ്യൂസിക്ക് അവാർഡ് | {{Nom}} |<ref name="Telegraph_Feb2015"/> |- |"ഫോർഎവർ",''ശാന്തി ഓർക്കസ്ട്ര'' |ഹോളിവുഡ് മ്യൂസിക്ക് ഇൻ മീഡിയ (HMMA) അവാർഡ് ഫോർ ബെസ്റ്റ് ന്യൂ ഏജ്/ ആംബിയന്റ് സോങ് | {{Nom}} |<ref name="HMMA_2013"/> |- | rowspan="11" style="text-align:center;" |2015 | rowspan="7" |റിക്കി കെജ് /വൗട്ടർ കെല്ലർമാൻ | rowspan="5" |''വിൻഡ്സ് ഓഫ് സംസാര'' |[[ഗ്രാമി പുരസ്കാരം]], ബെസ്റ്റ് ന്യൂ ഏജ് ആൽബം | {{won}} |<ref name="Grammy_WOS"/> |- |ZMR അവാർഡ് ഫോർ ആൽബം ഓഫ് ദ ഇയർ | {{won}} |<ref name="ZMR_2014">{{Cite web|url=http://www.zonemusicreporter.com/admin/nominees.asp|title=2014 ZMR Music Award Nominees|access-date=20 February 2015|publisher=ZoneMusicReporter|archive-date=2015-02-27|archive-url=https://web.archive.org/web/20150227055437/http://www.zonemusicreporter.com/admin/nominees.asp|url-status=dead}}</ref> |- |ZMR അവാർഡ് ഫോർ ബെസ്റ്റ് കണ്ടംപററി ഇൻസ്ട്രുമെന്റൽ ആൽബം | {{Nom}} |<ref name="ZMR_2014" /> |- |ZMR അവാർഡ് ഫോർ ബെസ്റ്റ് വേൾഡ് ആൽബം | {{won}} |<ref name="ZMR_2014" /> |- |സൗത്ത് ആഫ്രിക്കൻ മ്യൂസിക്ക് അവാർഡ് | {{won}} |<ref name="2015_SAMA_Winners">{{Cite web|url=http://www.channel24.co.za/Music/News/These-are-all-the-2015-Sama-winners-so-far-20150419|title=These are all the 2015 Sama winners|access-date=4 March 2016|date=19 April 2015|publisher=Channel 24}}</ref> |- |"മഹാത്മ", ''വിൻഡ്സ് ഓഫ് സംസാര'' |ഹോളിവുഡ് മ്യൂസിക്ക് ഇൻ മീഡിയ (HMMA) അവാർഡ് ഫോർ ബെസ്റ്റ് വേൾഡ് സോങ് | {{Nom}} |<ref name="HMMA_2014_Music">{{Cite web|url=http://www.hmmawards.com/hmma-2014-music-genre-nominees|title=2014 Music Genre Nominees|access-date=20 February 2015|publisher=HMMA|archive-date=2016-05-29|archive-url=https://web.archive.org/web/20160529174026/http://www.hmmawards.com/hmma-2014-music-genre-nominees/|url-status=dead}}</ref> |- |"ന്യൂ എർത്ത് കാളിങ്", ''വിൻഡ്സ് ഓഫ് സംസാര'' |ഹോളിവുഡ് മ്യൂസിക്ക് ഇൻ മീഡിയ (HMMA) അവാർഡ് ഫോർ ബെസ്റ്റ് ന്യൂ ഏജ്/ ആംബിയന്റ് സോങ് | {{Nom}} |<ref name="HMMA_2014_Music" /> |- | rowspan="4" |റിക്കി കെജ് |"പാനസോണിക് പി81" |ഹോളിവുഡ് മ്യൂസിക്ക് ഇൻ മീഡിയ (HMMA) അവാർഡ് ഫോർ സോങ്/സ്കോർ- കൊംഏഷ്യൻ അഡ്വട്ടൈസ്മെന്റ് | {{Nom}} |<ref name="HMMA_2014_Visual">{{Cite web|url=http://www.hmmawards.com/2014-music-in-visual-media-nominees/|title=2014 Music in Visual Media Nominees|access-date=20 February 2015|publisher=HMMA|archive-url=https://web.archive.org/web/20150118124622/http://www.hmmawards.com/2014-music-in-visual-media-nominees/|archive-date=18 January 2015}}</ref> |- |ഗ്ലൊബൽ ഇന്ത്യൻ മ്യൂസിക് അവാർഡ്സ് |ആഗോള നേട്ടത്തിന് പ്രത്യേക അംഗീകാരം | {{won}} | |- |മിർച്ചി മ്യൂസിക് അവാർഡ്സ് |മികച്ച അന്താരാഷ്ട്ര സംഗീതജ്ഞൻ | {{won}} | |- |സീ ടിവി കന്നട അവാർഡ് |ഗ്ലോബൽ മ്യുസീഷ്യൻ അവാർഡ് | {{won}} | |- | rowspan="5" style="text-align:center;" |2016 | rowspan="5" |റിക്കി കെജ് | rowspan="2" |"സംസാര", ''ശാന്തി സംസാര'' | ഗ്ലോബൽ മ്യൂസിക് അവാർഡ്സ് വേൾഡ് മ്യൂസിക്-ഇന്ത്യ | {{won}} |<ref name="Global_Music_Awards_January_2016"/> |- | ഇന്റർനാഷണൽ അക്കൗസ്റ്റിക് മ്യൂസിക് അവാർഡ്സ് ഫോർ ബെസ്റ്റ് ഓപ്പൺ/അക്കൗസ്റ്റിക് ഓപ്പൺ ജനർ | {{won}} |<ref name="International_Acoustic_Music_Awards"/> |- |"വൺ സോങ്", ''ശാന്തി സംസാര'' |ലോസ് ഏഞ്ചൽസ് സിനിഫെസ്റ്റ് |{{maybe|Semi-Finalist}} |<ref name="Welcome to">{{Cite web|url=https://www.lacinefest.org/|title=Welcome to....|access-date=2018-03-19|website=Welcome to....|language=en}}</ref> |- |"ഗംഗ", ''ശാന്തി സംസാര'' |ലോസ് ഏഞ്ചൽസ് സിനിഫെസ്റ്റ് |{{maybe|Semi-Finalist}} |<ref name="Welcome to" /> |- |റേഡിയോ വൺ അവാർഡ് |യൂത്ത് സ്റ്റാർ പുരസ്കാരം | {{won}} | |- | rowspan="3" |2017 | rowspan="3" |റിക്കി കെജ് |"ഗംഗ", ''ശാന്തി സംസാര'' |ബാഴ്സലോണ ഇന്റർനാഷണൽ എൻവയോൺമെന്റൽ ഫിലിം ഫെസ്റ്റിവൽ (FICMA) | {{won}} |<ref>{{Cite web|url=https://www.thequint.com/hotwire-text/grammy-winner-ricky-kej-honoured-in-canada|title=Grammy winner Ricky Kej honoured in Canada|access-date=2020-11-17|last=IANS|date=2018-05-01|website=TheQuint|language=en}}</ref> |- |"ഗംഗ", ''ശാന്തി സംസാര'' |സൺസൈൻ |ഫൈനലിസ്റ്റ് | |- |പ്രൊഫഷണൽ അച്ചീവ്മെന്റ് അവാർഡ് |RNRI അവാർഡ്സ് | {{won}} | |- |2018 |റിക്കി കെജ് |ഔട്ട്സ്റ്റാന്റിങ് മ്യൂസിക്കൽ ആൻഡ് ഹുമനിറ്റേറിയൻ അച്ചീവ്മെന്റ് |കാനഡ ഹൗസ് ഓഫ് കോമൺസ് | {{won}} | |- | rowspan="9" |2019 | rowspan="9" |റിക്കി കെജ് |ഇന്റർഫൈത്ത് ലീഡർഷിപ്പ് അവാർഡ് |വിശ്വ ശാന്തോ പദം | {{won}} |- |"വൺ വിത്ത് എർത്ത് സോങ്" |17 മത് ഇൻഡിപെന്റന്റ് മ്യൂസിക്ക് അവാർഡ്സ് |{{Nom}} |<ref>{{Cite web|url=https://independentmusicawards.com/17th-independent-music-awards-nominees/|title=The 17th Independent Music Awards Nominees & Winners|access-date=2022-04-07|archive-date=2020-10-20|archive-url=https://web.archive.org/web/20201020143933/https://independentmusicawards.com/17th-independent-music-awards-nominees/|url-status=dead}}</ref> |- |മൈ എർത്ത് സോങ്സ് |UN SDG ആക്ഷൻ അവാർഡ്സ് |ഫൈനലിസ്റ്റ് |<ref>{{Cite web|url=https://timesofindia.indiatimes.com/city/visakhapatnam/ricky-kej-nominated-for-un-sdg-action-awards/articleshow/69087128.cms|title=Ricky Kej nominated for UN SDG Action Awards|access-date=2020-11-17|date=29 April 2019|website=The Times of India|language=en}}</ref> |- |"വൺ വിത്ത് എർത്ത് സോങ്" |ഇൻഡീ ഷോർ ഫെസ്റ്റ് |ഫൈനലിസ്റ്റ് |<ref>{{Cite web|url=https://indieshortfest.com/2019/01/01/one-with-earth-song/|title=One With Earth Song|access-date=2020-11-17|last=Fest|first=Indie Short|date=2019-01-02|website=Indie Short Fest|language=en-US}}</ref> |- |"വൺ വിത്ത് എർത്ത് സോങ്" |ചിനീമാജിക് ഫിലിം ഫെസ്റ്റിവൽ | {{won}} | |- |"വൺ വിത്ത് എർത്ത് സോങ്" |ഷാഹു അന്താരാഷ്ട്ര ഫിലിം ഫെസ്റ്റിവൽ (SIFF) | {{won}} | |- |"വൺ വിത്ത് എർത്ത് സോങ്" |കൾട്ട് ക്രിറ്റിക് മൂവി അവാർഡ്സ് | {{won}} |<ref>{{Cite web|url=http://cinemagicfilmfestawards.homestead.com/awards-2019c.html|title=Awards-2019|access-date=2020-11-17|website=cinemagicfilmfestawards.homestead.com}}</ref> |- |ബ്രീത്ത് ലൈഫ് |ഷാഹു അന്താരാഷ്ട്ര ഫിലിം ഫെസ്റ്റിവൽ (SIFF) | {{won}} | |- |സിറ്റിസൺ എക്സ്ട്ര ഓർഡിനറി അവാർഡ് |റോട്ടറി ക്ലബ് | {{won}} | |- | rowspan="3" |2020 | rowspan="3" |റിക്കി കെജ് |GQ ഹീറൊ |GQ മാഗസിൻ | {{won}} |<ref>{{Cite web|url=https://www.gqindia.com/get-smart/content/gq-heroes-ricky-kej|title=GQ Heroes: Ricky Kej|access-date=2020-11-17|date=19 October 2020|website=GQ India|language=en-IN}}</ref> |- |കമ്മ്യൂണിറ്റി സർവ്വീസസ് ആർ ആൻഡ് കൾച്ചർ അവാർഡ് |ഇന്ത്യ ആസ്ട്രേലിയ ബിസിനസ് ആൻഡ് കമ്മ്യൂണിറ്റി അവാർഡ്സ് (IABCA) |ഫൈനലിസ്റ്റ് | |- |ഇന്ത്യ ആസ്ട്രേലിയ ഇംപാക്റ്റ് അവാർഡ്സ് |ഇന്ത്യ ആസ്ട്രേലിയ ബിസിനസ് ആൻഡ് കമ്മ്യൂണിറ്റി അവാർഡ്സ് (IABCA) |Finalist | |- |2022 |റിക്കി കെജ് / സ്റ്റിവർട്ട് കോപ്പ്ലാന്റ് |ഡിവൈൻ ടൈഡ്സ് |മികച്ച ന്യൂ എഝ് ആൽബത്തിനുള്ള [[ഗ്രാമി പുരസ്കാരം]] | {{won}} |<ref> https://www.grammy.com/news/2022-grammys-complete-winners-nominees-nominations-list </ref> |} == ഡിസ്ക്കോഗ്രാഫി == === ആൽബങ്ങൾ === {| class="wikitable" !പേര് ! വർഷം ! റെക്കോർഡ് ലേബൽ |- | ഡിവൈൻ ടൈഡ്സ് (സ്റ്റുവർട്ട് കോപ്‌ലാൻഡിനൊപ്പം) | 2021 | |- | വൈൾഡ് കർണാടക | 2020 | റിക്കി കെജ് റെക്കോർഡ്സ് |- | മാൻ മേ അമൻ | 2020 | മർച്ചന്റ് റെക്കോർഡ്സ് |- | മൈ എർത്ത് സോങ്സ് | 2020 | യൂണിവേഴ്സൽ മ്യൂസിക് |- | എക് | 2020 | BToS പ്രൊഡക്ഷൻസ് |- | ശിവ (റിക്കി കെജ് ഇന്ത്യയിൽ തത്സമയം | 2018 | സ്ട്രം എന്റർടൈൻമെന്റ് |- | എർത്ത് ലവ്: മ്യൂസിക്ക് ഫോർ റിലാക്സേഷൻ | 2017 | റവലൂഷൻ സ്റ്റുഡിയോസ് |- | എപിക് ട്രെയിലർ സംഗീതം | 2017 | റവലൂഷൻ സ്റ്റുഡിയോസ് |- | ശാന്തി സംസാര | 2015 | സീ മ്യൂസിക് |- | വിൻഡ്സ് ഓഫ് സംസാര | 2014 | ലിസൺ 2 ആഫ്രിക്ക |- | ബല്ലാഡ് ഓഫ് മായ | 2013 | റിക്കി കെജ് റെക്കോർഡ്സ് |- | ഫയറി ഡ്രംസ് വോളിയം 2 | 2013 | ഇഎംഐ-വിർജിൻ |- | ശാന്തി ഓർക്കസ്ട്ര | 2013 | റിക്കി കെജ് റെക്കോർഡ്സ് |- | കാമസൂത്ര ലോഞ്ച് - ഡീലക്സ് പതിപ്പ് | 2013 | വാരീസ് സരബന്ദേ |- | ബോളിവുഡ് ഇൻ ദ ക്ലബ് | 2012 | ഇഎംഐ-വിർജിൻ |- | പഞ്ചാബി ഇൻ ദ ക്ലബ് | 2012 | ഇഎംഐ-വിർജിൻ |- | മെസ്മെറൈസിങ് സന്തൂർ | 2012 | ഇഎംഐ-വിർജിൻ |- | ഫയറി ഡ്രംസ് വോളിയം 1 | 2011 | ഇഎംഐ-വിർജിൻ |- | അർബൻ ഗ്രോവ്സ് സൗത്ത് ഇന്ത്യ | 2011 | ഇഎംഐ-വിർജിൻ |- | മെസ്മെറൈസിങ് ഫ്ലൂട്ട് | 2011 | ഇഎംഐ-വിർജിൻ |- | കാമസൂത്ര ലോഞ്ച് 2 | 2008 | യൂണിവേഴ്സൽ മ്യൂസിക് |- | കാമസൂത്ര ലോഞ്ച് | 2007 | ഫ്രീ സ്പിരിറ്റ് റെക്കോർഡ്സ് |- | കമ്മ്യൂണിക്കേറ്റീവ് ആർട്ട് | 2004 | ഫ്രീ സ്പിരിറ്റ് റെക്കോർഡ്സ് |} === [[കന്നഡ]] സിനിമാ സൗണ്ട് ട്രാക്കുകൾ === * ''ആക്സിഡന്റ്'' – (സിനിമ OST- ആനന്ദ് ഓഡിയോ - ഇന്ത്യ) * ''വെങ്കട ഇൻ സങ്കട'' (സിനിമ OST- ആനന്ദ് ഓഡിയോ- ഇന്ത്യ) * ''ക്രേസി കുടുംബ'' (ഫിലിം OST- ടൈംസ് മ്യൂസിക്- ഇന്ത്യ) === തിരഞ്ഞെടുത്ത സമാഹാരങ്ങൾ === * ആശാ വാലി ധൂപ് (2006) * മുംബൈ സ്പിരിറ്റ് (2007) * കഫേ ഗോവ (2007) * റിലാക്സേഷൻ ഡെയിലേഴ്സ് (2007) * ദൂഷ പ്രൊജക്റ്റ് (2008) * ഹാങ്‌സോ ലേക്ക് (2008) * ഇന്ത്യൻ സെൻ (2008) * വോക്സ് ഡെൽ ടെയർ (2009) * ചില്ലൗട്ട് ബോംബെ II (2010) * ചില്ലൗട്ട് ലോഞ്ച് ക്ലാസിക്ക്സ് (2010) * ഡാൻസ് ദി ഗോൾഡൻ ഇയേഴ്സ് (2010) * ബോളിവുഡ് റീമിക്സ്ഡ് (2010) * മാസ്റ്റേഴ്സ് ഓഫ് ഫ്യൂഷൻ (2011) * ബെസ്റ്റ് ഓഫ് 2011–12 ഫ്യൂഷൻ (2012) * ചില്ലൗട്ട് ഫ്ലൂട്ട് (2012) * ബെസ്റ്റ് ഓഫ് ഫ്യൂഷൻ- ഇന്ത്യൻ സ്പിരിറ്റ് (2012) * പാർട്ടി ഡ്രംസ് (2013) * ഗ്രേസ് - പോൾ അവ്ജെറിനോസ് (2015) * അയാഹുവാസ്‌ക ഡ്രീംസ് - സിറോ ഹർത്താഡോ (2015) * ലവ് ലാംഗ്വേജ് - വൂട്ടർ കെല്ലർമാൻ (2015) * സിംഫണിക് സോവെറ്റോ - വൂട്ടർ കെല്ലർമാൻ, സോവെറ്റോ ഗോസ്പൽ ക്വയർ (2017) * ഇല - ദി എർത്ത് സിംഫണി (2020) == അവലംബം == {{Reflist}} == ഇതും കാണുക == * [[Jingle|ജിംഗിൾ]] * [[Music award|സംഗീത അവാർഡ്]] * [[New-age music|ന്യൂ ഏജ് സംഗീതം]] * [[Safe listening|സുരക്ഷിതമായ ശ്രവണം]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1981-ൽ ജനിച്ചവർ]] 4pkkz3v7vy93invc2hnljkbabsnav9b വികസ്വര രാജ്യം 0 573660 4622131 4619881 2026-05-23T05:49:14Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622131 wikitext text/x-wiki {{PU|Developing country}} [[File:IMF advanced economies and UN least developed countries.svg|thumb|450px|<!-- Map is up to date, despite the file name. --> {{legend|#00b9fa|[[Developed countries|വികസിത രാജ്യങ്ങൾ]]}} {{legend|#ffb219|വികസ്വര രാജ്യങ്ങൾ}} {{legend|#ff562f|[[Least developed countries|ഏറ്റവും വികസനം കുറഞ്ഞ രാജ്യങ്ങൾ]]}} {{legend|#b9b9b9|ഡാറ്റ ലഭ്യമല്ല}}<br/>[[ഇന്റർനാഷണൽ മോണിറ്ററി ഫണ്ട്|ഐഎംഎഫ്]], [[United Nations|യുഎൻ]] എന്നിവ പ്രകാരമുള്ള ഏറ്റവും പുതിയ വർഗ്ഗീകരണങ്ങൾ<ref name="IMF1">{{cite web |title=World Economic and Financial Surveys World Economic Outlook Database—WEO Groups and Aggregates Information |url=https://www.imf.org/external/pubs/ft/weo/2022/01/weodata/groups.htm |website=IMF.org |publisher=International Monetary Fund |access-date=2 June 2022 |url-status=live }}</ref><ref>[https://www.un.org/development/desa/dpad/wp-content/uploads/sites/45/publication/ldc_list.pdf Least Developed Countries] {{Webarchive|url=https://web.archive.org/web/20110517090756/http://www.unohrlls.org/en/ldc/related/62/ |date=17 May 2011 }} ([http://unohrlls.org/custom-content/uploads/2018/12/list-of-least-developed-countries-rev1.pdf 2018 list] {{Webarchive|url=https://web.archive.org/web/20191221185727/http://unohrlls.org/custom-content/uploads/2018/12/list-of-least-developed-countries-rev1.pdf |date=21 December 2019 }})</ref>]] [[File:2020 UN Human Development Report.svg|thumb|[[മാനവ വികസന സൂചിക]] പ്രകാരമുള്ള വിവിധ വിഭാഗങ്ങളെ പ്രതിനിധീകരിക്കുന്ന ലോക ഭൂപടം (2019 ഡാറ്റയെ അടിസ്ഥാനമാക്കി, 2020 ൽ പ്രസിദ്ധീകരിച്ചത്) {| border="0" cellspacing="0" cellpadding="0" style="width:100%; background:none;" |- |valign="top"| {{Legend|#12394b|വളരെ ഉയർന്നത് (≥ 0.800)}} {{Legend|#358993|ഉയർന്നത് (0.700–0.799)}} {{Legend|#5dc3cb|ഇടത്തരം (0.550–0.699)}} |valign="top"| {{Legend|#c1e6e6|കുറവ് (≤ 0.549)}} {{Legend|#b9b9b9|ഡാറ്റ ലഭ്യമല്ല}} |}|450px]] മറ്റ് രാജ്യങ്ങളുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ വികസനം കുറഞ്ഞ വ്യാവസായിക അടിത്തറയും കുറഞ്ഞ [[മാനവ വികസന സൂചിക|മാനവ വികസന സൂചികയും]] (എച്ച്ഡിഐ) ഉള്ള രാജ്യമാണ് '''വികസ്വര രാജ്യം''' എന്ന് നിർവ്വചനത്തിൽ വരുന്നത്. <ref>{{Cite book|url=https://archive.org/details/economicsprincip00osul|title=Economics: Principles in Action|last=O'Sullivan|first=Arthur|last2=Sheffrin|first2=Steven M.|publisher=Pearson Prentice Hall|year=2003|isbn=978-0-13-063085-8|location=Upper Saddle River, New Jersey 07458|page=[https://archive.org/details/economicsprincip00osul/page/n487 471]|author-link=Arthur O'Sullivan (economist)|url-access=limited}}</ref> എന്നിരുന്നാലും, ഈ നിർവചനം സാർവത്രികമായി അംഗീകരിക്കുന്നില്ല. ഏത് രാജ്യങ്ങളാണ് ഈ വിഭാഗത്തിന് യോജിക്കുന്നതെന്ന് വ്യക്തമാക്കുന്നതിനായുള്ള യാതൊരുവിധ കരാറും ഇതുവരെ ഇല്ല.<ref name="UN">{{Cite web|url=http://unstats.un.org/unsd/methods/m49/m49regin.htm#ftnc|title=Composition of macro geographical (continental) region|publisher=United Nation s|archive-url=https://web.archive.org/web/20100306024500/http://unstats.un.org/unsd/methods/m49/m49regin.htm|archive-date=6 March 2010}}</ref><ref name=":5">{{Cite web|url=https://blogs.worldbank.org/opendata/should-we-continue-use-term-developing-world|title=Should we continue to use the term "developing world"?|access-date=5 March 2020|date=16 November 2015|website=World Bank blogs}}</ref> വികസ്വര രാജ്യത്തെ '''താഴ്ന്നതും ഇടത്തരം വരുമാനമുള്ളതുമായ രാജ്യം''' ('''low and middle-income country''' -'''LMIC''') എന്ന പദവുമായി പരസ്പരം മാറിമാറി ഉപയോഗിക്കാറുണ്ടെങ്കിലും ഇത് രാജ്യങ്ങളുടെ സമ്പദ്‌വ്യവസ്ഥയെ മാത്രം സൂചിപ്പിക്കുന്നു. ലോക ബാങ്ക്, പ്രതിശീർഷ മൊത്ത ദേശീയ വരുമാനത്തെ അടിസ്ഥാനമാക്കി ലോക സമ്പദ്‌വ്യവസ്ഥയെ, ഉയർന്ന, ഉയർന്ന-മധ്യ, താഴ്ന്ന-ഇടത്തരം, കുറഞ്ഞ വരുമാനമുള്ള രാജ്യങ്ങൾ എന്നിങ്ങനെ നാല് ഗ്രൂപ്പുകളായി തരംതിരിക്കുന്നു. ലീസ്റ്റ് ഡെവലപ്പ്ഡ്, ലാൻഡ്ലോക്ക്ഡ് ഡവലപ്പിങ്ങ്, സ്മാൾ ഐലൻഡ് ഡവലപ്പിങ് എന്നിവയെല്ലാം വികസ്വര രാജ്യങ്ങളുടെ ഉപവിഭാഗങ്ങളാണ്. സ്പെക്ട്രത്തിന്റെ മറ്റേ അറ്റത്തുള്ള രാജ്യങ്ങളെ സാധാരണയായി ഉയർന്ന വരുമാനമുള്ള രാജ്യങ്ങൾ അല്ലെങ്കിൽ വികസിത രാജ്യങ്ങൾ എന്ന് വിളിക്കുന്നു. ഈ പദം ഉപയോഗിക്കുന്നതിനെച്ചൊല്ലി തർക്കങ്ങൾ നിലനിൽക്കുന്നുണ്ട്.<ref name="Factfulness: Ten Reasons We're Wrong About The World - And Why Things Are Better Than You Think">{{Cite book|url=https://www.gapminder.org/factfulness-book/|title=Factfulness: Ten Reasons We're Wrong About The World – And Why Things Are Better Than You Think|last=Rosling|first=Hans|last2=Rosling|first2=Ola|last3=Rosling Rönnlund|first3=Anna|publisher=Sceptre|year=2018|isbn=978-1-250-10781-7|pages=353|chapter=Chapter 1: The Gap Instinct|author-link=Hans Rosling|access-date=5 March 2020|chapter-url=https://books.google.com/books?id=N94sDwAAQBAJ&q=Factfulness+(the+book)}}</ref> “വികസ്വര / വികസിത ലോക വർഗ്ഗീകരണം” അപ്രസക്തമാവുകയാണെന്നും അവയുടെ ഉപയോഗം അവസാനിപ്പിക്കുമെന്നും 2015 ൽ [[ലോക ബാങ്ക്]] പ്രഖ്യാപിച്ചു. പകരം, അവരുടെ റിപ്പോർട്ടുകൾ പ്രദേശങ്ങൾക്കും വരുമാന ഗ്രൂപ്പുകൾക്കുമായുള്ള ഡാറ്റ സമാഹരണങ്ങൾ അവതരിപ്പിക്കും എന്ന് പറഞ്ഞു.<ref name=":5"/><ref name=":6">{{Cite web|url=https://blogs.worldbank.org/opendata/2016-edition-world-development-indicators-out-three-features-you-won-t-want-miss|title=The 2016 edition of World Development Indicators is out: three features you won't want to miss|access-date=2020-03-05|website=blogs.worldbank.org|language=en}}</ref> വികസ്വര രാജ്യങ്ങൾക്ക് പകരമായി "ഗ്ലോബൽ സൗത്ത്" എന്ന പദവും ചിലർ ഉപയോഗിക്കുന്നു. വികസ്വര രാജ്യങ്ങൾ തമ്മിൽ ചരിത്രപരമായ അല്ലെങ്കിൽ ഭൂമിശാസ്ത്രപരമായ പൊതുവായ ചില സവിശേഷതകൾ ഉണ്ട്. ഉദാഹരണത്തിന്, ഈ രാജ്യങ്ങളിൽ സാധാരണയായി സുരക്ഷിതമായ [[കുടിവെള്ളം]], [[ശുചിത്വം]] ഊർജ ലഭ്യത, എന്നിവയിലെ കുറവ് കാണാം, അതുപോലെ ഉയർന്ന അളവിലുള്ള [[മലിനീകരണം]] (ഉദാ. [[അന്തരീക്ഷമലിനീകരണം|വായു മലിനീകരണം]], വീടിനുള്ളിലെ വായു മലിനീകരണം, [[ജലമലിനീകരണം]]), പകർച്ചവ്യാധികൾ ഉള്ള ആളുകളുടെ ഉയർന്ന അനുപാതം, [[റോഡപകടം|റോഡപകടങ്ങളുടെ]] വലിയ എണ്ണം, മോശം അടിസ്ഥാന സൗകര്യങ്ങൾ എന്നിവയും ഇത്തരം രാജ്യങ്ങളിൽ കാണാം. അതേപോലെ രാജ്യങ്ങളിൽ പലപ്പോഴും, വ്യാപകമായ [[ദാരിദ്ര്യം]], ഉയർന്ന [[അപരാധം|കുറ്റകൃത്യങ്ങളുടെ]] നിരക്ക്, താഴ്ന്ന [[വിദ്യാഭ്യാസം|വിദ്യാഭ്യാസ]] നിലവാരം, [[കുടുംബാസൂത്രണം|കുടുംബാസൂത്രണ]] സേവനങ്ങളിലേക്കുള്ള അപര്യാപ്തമായ പ്രവേശനം, അനൗപചാരികമായ നിരവധി സെറ്റിൽമെന്റുകൾ, എല്ലാ സർക്കാർ തലങ്ങളിലെയും [[അഴിമതി]], രാഷ്ട്രീയ അസ്ഥിരത എന്നിവയും ഉണ്ട്. മിക്ക വികസ്വര രാജ്യങ്ങൾക്കും ഉയർന്ന "കാലാവസ്ഥാ ദുർബലത (enviormangtal vulnerability)" ഉള്ളതിനാൽ [[ആഗോളതാപനം]] സമ്പന്ന രാജ്യങ്ങളേക്കാൾ വികസ്വര രാജ്യങ്ങളെ ബാധിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നു.<ref name=":4">{{Cite journal|date=February 2016|title=Global mismatch between greenhouse gas emissions and the burden of climate change|journal=Scientific Reports|language=En|volume=6|issue=1|pages=20281|doi=10.1038/srep20281|pmc=4742864|pmid=26848052|bibcode=2016NatSR...620281A}}</ref> വികസ്വര രാജ്യങ്ങളുടെ സാമ്പത്തിക, പാരിസ്ഥിതിക, സാമൂഹിക, രാഷ്ട്രീയ വികസനത്തെ സഹായിക്കുന്നതിന് സർക്കാരുകളും മറ്റ് ഏജൻസികളും നൽകുന്ന ധനസഹായമാണ് ഡവലപ്പ്മെന്റ് എയിഡ് (വികസന സഹായം) അല്ലെങ്കിൽ ഡവലപ്പ്മെന്റ് കൊ-ഓപ്പറേഷൻ (വികസന സഹകരണം). ഈ പ്രശ്‌നങ്ങളിൽ പലതും മറികടക്കാനാണ് [[ഐക്യരാഷ്ട്രസഭ]] [[സുസ്ഥിര വികസന ലക്ഷ്യങ്ങൾ]] രൂപീകരിച്ചത്. == നിർവ്വചനങ്ങൾ == [[File:Least Developed Countries.png|thumb|upright=1.6| {{legend|#007f00|[[United Nations Economic and Social Council|ECOSOC]] അനുസരിച്ച് ഏറ്റവും വികസനം കുറഞ്ഞ സമ്പദ്‌വ്യവസ്ഥകൾ}} {{legend|#00ff00|[[United Nations Economic and Social Council|ECOSOC]] പ്രകാരമല്ലാത്ത ഏറ്റവും വികസനം കുറഞ്ഞ സമ്പദ്‌വ്യവസ്ഥകൾ}} {{legend|#ff0000|വികസ്വര സമ്പദ്‌വ്യവസ്ഥയിലേക്ക് പ്രവേശനം നേടിയവ}}<br /> ]] [[File:Hunger Map 2020 World Food Programme.svg|thumb|310px|രാജ്യം അനുസരിച്ച് പോഷകാഹാരക്കുറവുള്ള ആളുകളുടെ ശതമാനം, [[World Food Programme|വേൾഡ് ഫുഡ് പ്രോഗ്രാം]], 2020<br /> {{Legend|#29b8c7|2.5% ൽ കുറവ്}} {{Legend|#16b484|2.5%-5.0%}} {{Legend|#fec960|5.0–14.9%}} {{Legend|#f47846|15.0–24.9%}} {{Legend|#f2203a|25.0–34.9%}} {{Legend|#7f0928|35.0% ൽ കൂടുതൽ}} {{Legend|#b5aba4|ഡാറ്റാ ഇല്ല}}]] === രാജ്യങ്ങളെ തരംതിരിക്കാൻ ഉപയോഗിക്കുന്ന നിബന്ധനകൾ === വികസനത്തിന്റെ തലങ്ങളിലേക്ക് രാജ്യങ്ങളെ തരംതിരിക്കാൻ നിരവധി പദങ്ങൾ ഉപയോഗിച്ചുവരുന്നു. രാജ്യങ്ങളുടെ വർഗ്ഗീകരണം സ്രോതസ്സുകളിലുടനീളം വ്യത്യാസപ്പെട്ടിരിക്കുന്നു. ചിലപ്പോൾ ഈ വർഗ്ഗീകരണങ്ങളോ, അതിനായി ഉപയോഗിച്ച നിർദ്ദിഷ്ട പദങ്ങളോ അപമാനകരമാണെന്നും കണക്കാക്കപ്പെടുന്നു. ==== വരുമാന ഗ്രൂപ്പുകൾ പ്രകാരം ==== [[പ്രമാണം:High income economies as classified by the World Bank.png|പകരം=|വലത്ത്‌|ലഘുചിത്രം|2023-ലെ ലോകത്തിൻ്റെ ഉയർന്ന വരുമാനമുള്ള സമ്പദ്‌വ്യവസ്ഥകളെ കാണിക്കുന്ന ഒരു ഭൂപടം, (ലോകബാങ്ക്).]] പ്രതിവർഷ മൊത്ത ദേശീയ വരുമാനത്തെ അടിസ്ഥാനമാക്കി, ലോക ബാങ്ക് ലോക സമ്പദ്‌വ്യവസ്ഥയെ നാല് ഗ്രൂപ്പുകളായി തരംതിരിക്കുന്നു, ഓരോ വർഷവും ജൂലൈ 1 ന് വീണ്ടും ക്രമീകരിക്കും:<ref name=":9">{{Cite web|url=https://blogs.worldbank.org/opendata/new-country-classifications-income-level-2019-2020|title=New country classifications by income level: 2019-2020|access-date=2021-02-12|website=blogs.worldbank.org|language=en}}</ref> # കുറഞ്ഞ വരുമാനമുള്ള രാജ്യങ്ങൾ (വികസനം കുറഞ്ഞ രാജ്യങ്ങൾക്ക് സമാനമാണ്) # താഴ്ന്ന ഇടത്തരം വരുമാനമുള്ള രാജ്യങ്ങൾ # ഉയർന്ന ഇടത്തരം വരുമാനമുള്ള രാജ്യങ്ങൾ # ഉയർന്ന വരുമാനമുള്ള രാജ്യങ്ങൾ (വികസിത രാജ്യങ്ങൾക്ക് സമാനമാണ്) "ഉയർന്ന വരുമാനം" ഇല്ലാത്ത മൂന്ന് ഗ്രൂപ്പുകളെ ഒരുമിച്ച് "താഴ്ന്ന, ഇടത്തരം വരുമാനമുള്ള രാജ്യങ്ങൾ" (LMICs) എന്ന് വിളിക്കുന്നു. ഈ വർഗ്ഗീകരണം അറ്റ്ലസ് രീതി ഉപയോഗിച്ച് കണക്കാക്കിയ ആളോഹരി മൊത്ത ദേശീയ വരുമാനം (GNI) (നിലവിലെ US $) അടിസ്ഥാനമാക്കിയുള്ളതാണ്.<ref name=":9"/> എല്ലാ വർഷവും ജൂലൈ 1 -ന് വർഗ്ഗീകരണം പുതുക്കപ്പെടുന്നു.<ref name=":9" /> ഉദാഹരണത്തിന്, 2019 ജൂലൈയിൽ, ഉയർന്ന വരുമാനമുള്ള രാജ്യം, മൊത്തം ദേശീയ വരുമാനം (ജിഎൻഐ) പ്രതിശീർഷത്തിൽ 12,375 ൽ (നിലവിലെ യുഎസ് ഡോളറിൽ) കൂടുതലും; താഴ്ന്ന വരുമാനമുള്ള രാജ്യം ജിഎൻഐ പ്രതിശീർഷം 1,026 യുഎസ് ഡോളറിൽ താഴെയുമായിരുന്നു. ==== വിപണികളും സാമ്പത്തിക വളർച്ചയും അനുസരിച്ച് ==== "രാജ്യം" എന്നതിനുപകരം "മാർക്കറ്റ്" എന്ന പദം ഉപയോഗിക്കുന്നത് സമ്പദ്വ്യവസ്ഥയ്ക്ക് വിപരീതമായി രാജ്യങ്ങളുടെ മൂലധന വിപണിയുടെ സവിശേഷതകളിൽ പ്രത്യേക ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. * വികസിത രാജ്യങ്ങളും വികസിത വിപണികളും * വികസ്വര രാജ്യങ്ങളിൽ സാമ്പത്തിക വളർച്ചയോ മൂലധന വിപണിയുടെ വലിപ്പമോ കുറയുന്നത് ഉൾപ്പെടുന്നു: ** പുതുതായി വ്യവസായവൽക്കരിക്കപ്പെട്ട രാജ്യങ്ങൾ<ref name="Globalization">{{Cite book|title=Globalization and the Transformation of Foreign Economic Policy|url=https://archive.org/details/globalizationtra0000bozy|last=Bożyk|first=Paweł|publisher=Ashgate Publishing, Ltd|year=2006|isbn=978-0-7546-4638-9|chapter=Newly Industrialized Countries}}</ref><ref name="Limits">{{Cite book|title=The Limits of Convergence|last=Guillén|first=Mauro F.|publisher=Princeton University Press|year=2003|isbn=978-0-691-11633-4|chapter=Multinationals, Ideology, and Organized Labor|author-link=Mauro F. Guillén}}</ref><ref name="AIA">{{Cite book|title=Geography, An Integrated Approach|url=https://archive.org/details/geographyintegra0000waug|last=Waugh|first=David|publisher=Nelson Thornes Ltd.|year=2000|isbn=978-0-17-444706-1|edition=3rd|pages=[https://archive.org/details/geographyintegra0000waug/page/563 563], 576–579, 633, and 640|chapter=Manufacturing industries (chapter 19), World development (chapter 22)}}</ref><ref name="Principles">{{Cite book|title=Principles of Economics|last=Mankiw|first=N. Gregory|year=2007|isbn=978-0-324-22472-6|edition=4th}}</ref> ** വളർന്നു വരുന്ന വിപണികൾ ** അതിർത്തി വിപണികൾ ** വികസനം കുറഞ്ഞ രാജ്യങ്ങൾ (സാമ്പത്തികമായി വികസനം കുറഞ്ഞ രാജ്യം എന്നും അറിയപ്പെടുന്നു) മറ്റ് മാനദണ്ഡങ്ങൾ പ്രകാരം, ചില രാജ്യങ്ങൾ വികസനത്തിന്റെ ഒരു ഇന്റർമീഡിയറ്റ് ഘട്ടത്തിലാണ്. സോവിയറ്റ് യൂണിയന്റെ പതനത്തെത്തുടർന്ന്, [[അന്താരാഷ്ട്ര നാണയനിധി]] (IMF) പറയുന്ന പരിവർത്തനത്തിലുള്ള രാജ്യങ്ങലിൽ മധ്യ, കിഴക്കൻ യൂറോപ്പിലെ (ഉൾപ്പെടെ) യുഎൻ സ്ഥാപനങ്ങളിൽ ഇപ്പോഴും "കിഴക്കൻ യൂറോപ്പ് ഗ്രൂപ്പിൽ" ഉൾപ്പെട്ടിരുന്ന മധ്യ യൂറോപ്യൻ രാജ്യങ്ങൾ); മധ്യേഷ്യയിലെ മുൻ [[സോവിയറ്റ് യൂണിയൻ]] (യുഎസ്എസ്ആർ) രാജ്യങ്ങൾ ([[കസാഖ്സ്ഥാൻ]], [[ഉസ്ബെക്കിസ്ഥാൻ]], [[കിർഗ്ഗിസ്ഥാൻ]], [[താജിക്കിസ്ഥാൻ]], [[തുർക്‌മെനിസ്ഥാൻ]]); [[മംഗോളിയ]] എന്നിവയുണ്ട്. 2009-ഓടെ, അന്താരാഷ്ട്ര നാണയനിധിയുടെ വേൾഡ് ഇക്കണോമിക് ഔട്ട്‌ലുക്ക് രാജ്യങ്ങളെ "(1) പ്രതിശീർഷ വരുമാന നിലവാരം, (2) കയറ്റുമതി വൈവിധ്യവൽക്കരണം എന്നിവയെ ആശ്രയിച്ച് വികസിത, ഉയർന്നുവരുന്ന, അല്ലെങ്കിൽ വികസിച്ചുകൊണ്ടിരിക്കുന്ന രാജ്യങ്ങളായി തരംതിരിച്ചു.<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/faq.htm#q4b|title=Q. How does the WEO categorize advanced versus emerging and developing economies?|access-date=20 July 2009|website=[[International Monetary Fund]]}}</ref> ==== ഭൂമിശാസ്ത്രം പ്രകാരം ==== വികസ്വര രാജ്യങ്ങളെ ഭൂമിശാസ്ത്രമനുസരിച്ച് തരം തിരിക്കാം: * ചെറിയ ദ്വീപ് വികസ്വര സംസ്ഥാനങ്ങൾ (സമാനമായ [[സുസ്ഥിര വികസനം|സുസ്ഥിര വികസന]] വെല്ലുവിളികൾ പങ്കിടുന്ന ചെറിയ ദ്വീപ് രാജ്യങ്ങളായ വികസ്വര രാജ്യങ്ങളുടെ ഒരു കൂട്ടം: ചെറുതും എന്നാൽ വളരുന്നതുമായ ജനസംഖ്യ, പരിമിതമായ വിഭവങ്ങൾ, വിദൂരത, [[പ്രകൃതിക്ഷോഭം|പ്രകൃതി ദുരന്തങ്ങൾക്കുള്ള]] സാധ്യത, ബാഹ്യ ആഘാതങ്ങൾക്കുള്ള സാധ്യത, [[അന്താരാഷ്ട്രവാണിജ്യം|അന്താരാഷ്ട്ര വ്യാപാരത്തെ]] അമിതമായി ആശ്രയിക്കൽ, ദുർബലമായ ചുറ്റുപാടുകളും). * ഭൂരഹിത വികസ്വര രാജ്യങ്ങൾ ( [[കരയാൽ ചുറ്റപ്പെട്ട രാജ്യം|ഭൂരഹിത രാജ്യങ്ങൾ]] പലപ്പോഴും സാമ്പത്തികവും മറ്റ് ദോഷങ്ങളും അനുഭവിക്കുന്നു) ==== മറ്റ് പാരാമീറ്ററുകൾ പ്രകാരം ==== * കനത്ത കടബാധ്യതയുള്ള ദരിദ്ര രാജ്യങ്ങൾ (Heavily indebted poor countries)- ഐഎംഎഫിന്റെയും ലോക ബാങ്കിന്റെയും മറ്റൊരു നിർവചനം * പരിവർത്തന സമ്പദ്‌വ്യവസ്ഥ (Transition economy)- ഇവ കേന്ദ്രീകൃതമായി ആസൂത്രണം ചെയ്ത ഒരു സമ്പദ്‌വ്യവസ്ഥയിൽ നിന്ന് കമ്പോളത്തെ അടിസ്ഥാനമാക്കിയുള്ള സമ്പദ്‌വ്യവസ്ഥയിലേക്ക് നീങ്ങുന്നു * മൾട്ടി-ഡൈമൻഷണൽ ക്ലസ്റ്ററിംഗ് സിസ്റ്റം: വ്യത്യസ്ത രാജ്യങ്ങൾക്ക് വ്യത്യസ്ത വികസന മുൻഗണനകളും വിഭവങ്ങളിലേക്കും സ്ഥാപനപരമായ ശേഷികളിലേക്കും പ്രവേശന നിലവാരമുണ്ടെന്നും മനസ്സിലാക്കുകയും വികസ്വര രാജ്യങ്ങളെയും അവയുടെ സവിശേഷതകളെയും കുറിച്ച് കൂടുതൽ ധാരണ നൽകാനും അവയെ, ദാരിദ്ര്യത്തിന്റെയും അസമത്വത്തിന്റെയും അളവ്, ഉൽപ്പാദനക്ഷമതയും നവീകരണവും, രാഷ്ട്രീയ നിയന്ത്രണങ്ങൾ, ബാഹ്യ പ്രവാഹങ്ങളെ ആശ്രയിക്കൽ തുടങ്ങിയ ഘടകങ്ങളെ അടിസ്ഥാനമാക്കി അഞ്ച് വ്യത്യസ്ത ഗ്രൂപ്പുകളായി തിരിച്ചിരിക്കുന്നു.<ref>{{Cite journal|last=Koch|first=Svea|date=2015-06-01|title=From Poverty Reduction to Mutual Interests? The Debate on Differentiation in EU Development Policy|journal=Development Policy Review|volume=33|issue=4|pages=479–502|doi=10.1111/dpr.12119|issn=1467-7679|url=http://edoc.vifapol.de/opus/volltexte/2013/4586/pdf/BP_2.2013.pdf|access-date=2022-07-16|archive-date=2022-04-06|archive-url=https://web.archive.org/web/20220406225520/http://edoc.vifapol.de/opus/volltexte/2013/4586/pdf/BP_2.2013.pdf|url-status=dead}}</ref><ref>{{Cite journal|last=Vázquez|first=Sergio Tezanos|last2=Sumner|first2=Andy|date=December 2013|title=Revisiting the Meaning of Development: A Multidimensional Taxonomy of Developing Countries|journal=The Journal of Development Studies|volume=49|issue=12|pages=1728–1745|doi=10.1080/00220388.2013.822071}}</ref><ref>{{Cite journal|last=Taeihagh|first=Araz|title=Crowdsourcing, Sharing Economies and Development|journal=Journal of Developing Societies|volume=33|issue=2|year=2017|pages=191–222|doi=10.1177/0169796x17710072|arxiv=1707.06603}}</ref> ==== സ്വയം പ്രഖ്യാപനം ==== പൊതുവേ, ഐക്യരാഷ്ട്രസഭ ഏതൊരു രാജ്യത്തിന്റെയും "വികസിക്കുന്നു" എന്ന അവകാശവാദം അംഗീകരിക്കുന്നു. കഴിഞ്ഞ 20 വർഷത്തിനിടയിൽ മിക്കവാറും എല്ലാ സാമ്പത്തിക സൂചകങ്ങളാലും "വികസിതം" ആയിത്തീർന്ന ചില രാജ്യങ്ങൾ ഇപ്പോഴും അവരെ "വികസ്വര രാജ്യം" എന്ന് തരംതിരിക്കണമെന്ന് നിർബന്ധിക്കുന്നു, കാരണം അത് അവർക്ക് [[ലോക വ്യാപാര സംഘടന]]യിൽ മുൻഗണനകൾക്ക് അർഹത നൽകുന്നു. ഉദാഹരണത്തിന് [[ബ്രൂണൈ]], [[ഹോങ്കോങ്]] തുടങ്ങിയ രാജ്യങ്ങൾ. [[കുവൈറ്റ്‌]], [[മകൗ]], [[ഖത്തർ]], [[സിംഗപ്പൂർ]], [[ഐക്യ അറബ് എമിറേറ്റുകൾ]] എന്നിവ ഈ സ്വയം പ്രഖ്യാപിത പദവിയെ ഉദ്ധരിക്കുകയും വിമർശിക്കുകയും ചെയ്തു.<ref>{{Cite web|url=https://trumpwhitehouse.archives.gov/presidential-actions/memorandum-reforming-developing-country-status-world-trade-organization|title=Memorandum on Reforming Developing-Country Status in the World Trade Organization.|date=26 July 2019|website=[[whitehouse.gov]]}}</ref> === വികസനത്തിന്റെ അളവും ആശയവും === [[പ്രമാണം:Newly_industrialized_countries_2013.svg|ലഘുചിത്രം| 2013 പ്രകാരം പുതുതായി വ്യാവസായിക രാജ്യങ്ങലായവ.]] സാമ്പത്തികമോ മാനുഷികമോ ആയ ഘടകങ്ങളാൽ വികസനം അളക്കാം. വികസ്വര രാജ്യങ്ങൾ പൊതുവേ, ജനസംഖ്യയുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ കാര്യമായ തോതിൽ വ്യാവസായികവൽക്കരണം നേടിയിട്ടില്ലാത്ത രാജ്യങ്ങളാണ്. മിക്ക കേസുകളിലും അവ താഴ്ന്ന ജീവിതനിലവാരം ഉള്ള രാജ്യങ്ങളാണ്. കുറഞ്ഞ വരുമാനവും ഉയർന്ന ജനസംഖ്യാ വളർച്ചയും തമ്മിൽ ബന്ധമുണ്ട്.<ref name="Population and poverty">{{Cite web|url=https://www.unfpa.org/resources/population-and-poverty|title=Population and poverty|access-date=2018-09-21|website=www.unfpa.org|language=en}}</ref> പ്രതിശീർഷ വരുമാനം, [[മൊത്ത ആഭ്യന്തര ഉത്പാദനം|മൊത്ത ആഭ്യന്തര ഉൽപ്പാദനം]], ആയുർദൈർഘ്യം, സാക്ഷരതാ നിരക്ക്, സ്വാതന്ത്ര്യ സൂചിക തുടങ്ങിയ സ്ഥിതിവിവര സൂചികകൾ ഉപയോഗിച്ചാണ് രാജ്യത്തിന്റെ വികസനം അളക്കുന്നത്. ഡാറ്റ ലഭ്യമായ രാജ്യങ്ങളുടെ മാനുഷിക വികസനത്തിന്റെ തോത് അളക്കാൻ, മുകളിൽ പറഞ്ഞ ചില സ്ഥിതിവിവരക്കണക്കുകളുടെ സംയുക്ത സൂചകമായ [[മാനവ വികസന സൂചിക|ഹ്യൂമൻ ഡെവലപ്‌മെന്റ് ഇൻഡക്‌സ്]] (HDI) യുഎൻ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. വളർച്ചയെ വിലയിരുത്തുന്നതിനായി ലോകത്തിലെ എല്ലാ രാജ്യങ്ങളും പ്രമുഖ വികസന സ്ഥാപനങ്ങളും വികസിപ്പിച്ചെടുത്ത ഒരു ബ്ലൂപ്രിൻറിൽ നിന്നാണ് യുഎൻ [[സഹസ്രാബ്ദ വികസനലക്ഷ്യങ്ങൾ|സഹസ്രാബ്ദ വികസന ലക്ഷ്യങ്ങൾ]] നിശ്ചയിച്ചത്.<ref>{{Cite web|url=https://www.un.org/millenniumgoals/|title=United Nations Millennium Development Goals|access-date=2018-03-28|website=www.un.org}}</ref> ഈ ലക്ഷ്യങ്ങൾ 2015-ൽ അവസാനിപ്പിച്ച് [[സുസ്ഥിര വികസന ലക്ഷ്യങ്ങൾ]] അവതരിപ്പിച്ചു. വികസ്വര രാഷ്ട്രം എന്ന സങ്കൽപ്പം, വൈവിധ്യമാർന്ന ദിശാസൂചനകളുള്ള നിരവധി സൈദ്ധാന്തിക സംവിധാനങ്ങളിൽ കാണപ്പെടുന്നു - ഉദാഹരണത്തിന്, കോളനിവൽക്കരണത്തിൽ നിന്നും ഒഴിവാകൽ, [[വിമോചനദൈവശാസ്ത്രം|വിമോചന ദൈവശാസ്ത്രം]], [[മാർക്സിസം]], സാമ്രാജ്യത്വ വിരുദ്ധത, ആധുനികവൽക്കരണം, സാമൂഹിക മാറ്റം, രാഷ്ട്രീയ സമ്പദ്‌വ്യവസ്ഥ. രാജ്യത്തിന്റെ വികസനത്തിന്റെ ഘട്ടം മുതൽ ഉണ്ടായിട്ടുള്ള മേഖലാപരമായ മാറ്റങ്ങളാണ് മറ്റൊരു പ്രധാന സൂചകം. ശരാശരി, ദ്വിതീയ മേഖലയിൽ (നിർമ്മാണം) 50% സംഭാവനയുള്ള രാജ്യങ്ങൾ ഗണ്യമായി വളർച്ചയുലവയാണ്. അതുപോലെ തൃതീയ മേഖലയുടെ ശക്തികേന്ദ്രമുള്ള രാജ്യങ്ങളും സാമ്പത്തിക വികസനത്തിന്റെ ഉയർന്ന നിരക്ക് കാണുന്നു. == വിമർശനങ്ങളും അനുബന്ധ പദങ്ങളും == വികസ്വര രാജ്യം എന്ന പദത്തിൻ്റെ ഉപയോഗത്തിനെതിരെ വിമർശനമുണ്ട്. ഒരു വികസിത രാജ്യവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഈ പദം ഇത്തരത്തിലുള്ള രാജ്യത്തിന്റെ അപകർഷതയെ സൂചിപ്പിക്കാം.<ref name=":7">{{Cite web|url=https://www.npr.org/sections/goatsandsoda/2015/01/04/372684438/if-you-shouldnt-call-it-the-third-world-what-should-you-call-it|title=If You Shouldn't Call It The Third World, What Should You Call It?|access-date=5 March 2020|last=Silver|first=Marc|date=4 January 2015|website=NPR}}</ref> [[ക്യൂബ|ക്യൂബയും]] [[ഭൂട്ടാൻ|ഭൂട്ടാനും]] പോലുള്ള ഏതാനും രാജ്യങ്ങൾ പിന്തുടരേണ്ടെന്ന് തിരഞ്ഞെടുക്കുന്ന സാമ്പത്തിക വികസനത്തിന്റെ പരമ്പരാഗത പാശ്ചാത്യ മാതൃകയിലേക്ക് വികസിക്കാനുള്ള ആഗ്രഹം ആയി അതിനെ കരുതാം.<ref name="Karma Ura">{{Cite web|url=http://archiv.ub.uni-heidelberg.de/savifadok/volltexte/2009/305/pdf/mono_1en_bt_dev_stry.pdf|title=The Bhutanese development story|access-date=17 September 2012|last=Ura|first=Karma}}</ref> മൊത്തത്തിലുള്ള ദേശീയ സന്തോഷ സൂചകം പോലെയുള്ള ഇതര അളവുകൾ പ്രധാന സൂചകങ്ങളായി നിർദ്ദേശിക്കപ്പെട്ടിട്ടുണ്ട്. [[പ്രമാണം:Worlds_regions_by_total_wealth(in_trillions_USD),_2018.jpg|ലഘുചിത്രം|260x260ബിന്ദു| 2018-ലെ മൊത്തം സമ്പത്തിന്റെ അടിസ്ഥാനത്തിൽ ലോക മേഖലകൾ (ട്രില്യൺ യുഎസ് ഡോളറിൽ).]] "വികസ്വര", "അവികസിത" എന്നീ പദങ്ങളുടെ ഉപയോഗത്തെ ചോദ്യം ചെയ്ത ആദ്യകാല വിമർശനങ്ങളിലൊന്ന്, അമേരിക്കയും ആഫ്രിക്കൻ ഏഷ്യൻ രാജ്യങ്ങളും തമ്മിലുള്ള സാമ്പത്തിക, സാമൂഹിക, രാഷ്ട്രീയ പാരാമീറ്ററുകൾ താരതമ്യം ചെയ്ത് 1973-ൽ പ്രമുഖ ചരിത്രകാരനും അക്കാദമികനുമായ വാൾട്ടർ റോഡ്‌നി നടത്തിയതാണ്.<ref>{{Cite book|url=http://abahlali.org/files/3295358-walter-rodney.pdf|title=''How Europe Underdeveloped Africa''|last=Rodney|first=Walter|date=1973|publisher=Bogle-L'Ouverture Publications, London and Tanzanian Publishing House, Dar-Es-Salaam|page=25|language=en|archive-date=2019-05-03|access-date=2022-07-16|archive-url=https://web.archive.org/web/20190503095007/http://abahlali.org/files/3295358-walter-rodney.pdf|url-status=dead}}</ref> "വികസ്വര രാജ്യം" നിർവചിക്കുന്നതിന് "സ്ഥാപിത നിർവ്വചനം" ഇല്ല.<ref name="unstated.un.org">{{Cite web|url=https://unstats.un.org/unsd/mi/worldmillennium.htm|title=Millennium Development Indicators: World and regional groupings|access-date=13 May 2017|date=2003|publisher=[[United Nations Statistics Division]]|at=Note b|archive-url=https://web.archive.org/web/20050210031555/http://unstats.un.org/unsd/mi/worldmillennium.htm|archive-date=10 February 2005}}</ref> സാമ്പത്തിക ശാസ്ത്രജ്ഞനും സുസ്ഥിര വികസന വിദഗ്ധനുമായ [[ജെഫ്രി സെയ്ക്സ്|ജെഫ്രി സാക്‌സിന്റെ]] അഭിപ്രായത്തിൽ, വികസിതവും വികസ്വരവുമായ രാജ്യങ്ങൾ തമ്മിലുള്ള നിലവിലെ വിഭജനം പ്രധാനമായും 20-ാം നൂറ്റാണ്ടിലെ ഒരു പ്രതിഭാസമാണ്.<ref name="The End of Poverty">{{Cite book|title=The End of Poverty|title-link=The End of Poverty|last=Sachs|first=Jeffrey|publisher=The Penguin Press|year=2005|isbn=1-59420-045-9|location=New York, New York}}</ref>  അന്തരിച്ച ആഗോള ആരോഗ്യ വിദഗ്ധൻ [[ഹാൻസ് റോസ്‌ലിങ്|ഹാൻസ് റോസ്ലിംഗ്]] ഈ ആശയം "കാലഹരണപ്പെട്ടതാണ്" എന്ന് പറഞ്ഞ് ഈ നിബന്ധനകൾക്കെതിരെ വാദിച്ചു.<ref name="Factfulness: Ten Reasons We're Wrong About The World - And Why Things Are Better Than You Think"/> വ്യക്തമായ നിർവചനത്തിന്റെ അഭാവം കണക്കിലെടുത്ത്, സുസ്ഥിര വിദഗ്ധനും ഗ്ലോബൽ ഫുട്‌പ്രിന്റ് നെറ്റ്‌വർക്കിന്റെ സ്ഥാപകനുമായ മാത്തിസ് വാക്കർനാഗൽ, രാജ്യങ്ങളുടെ ബൈനറി ലേബലിംഗ് "വിവരണാത്മകമോ വിശദീകരണമോ അല്ല" എന്ന് ഊന്നിപ്പറയുന്നു.<ref name="Ecological Footprint: Managing Our Biocapacity Budget">{{Cite book|url=https://www.newsociety.com/Books/E/Ecological-Footprint|title=Ecological Footprint: Managing Our Biocapacity Budget|last=Wackernagel|first=Mathis|last2=Beyers|first2=Bert|publisher=New Society Publishers|year=2019|isbn=978-0865719118|location=Gabriola Island, BC, Canada|pages=132|author-link=Mathis Wackernagel}}</ref> വാക്കർനാഗലും റോസ്‌ലിംഗും വാദിക്കുന്നത്, വാസ്തവത്തിൽ, രണ്ട് തരം രാജ്യങ്ങളല്ല, 200-ലധികം വ്യത്യസ്ത രാജ്യങ്ങൾ, എല്ലാം ഒരേ പ്രകൃതി നിയമങ്ങളെ അഭിമുഖീകരിക്കുന്നു, എന്നിരുന്നാലും ഓരോന്നിനും തനതായ സവിശേഷതകളുണ്ട് എന്നാണ്.<ref name="Ecological Footprint: Managing Our Biocapacity Budget" /><ref name="Factfulness: Ten Reasons We're Wrong About The World - And Why Things Are Better Than You Think" /> "വികസിക്കുന്നു" എന്ന പദം നിലവിലെ സാഹചര്യത്തെയാണ് സൂചിപ്പിക്കുന്നത്. 1990-കളുടെ അവസാനം മുതൽ, യുഎൻ വികസ്വര രാജ്യങ്ങളായി തിരിച്ച രാജ്യങ്ങൾ വികസിത രാജ്യങ്ങളുടെ വിഭാഗത്തേക്കാൾ ഉയർന്ന വളർച്ചാ നിരക്ക് പ്രകടിപ്പിക്കാൻ പ്രവണത കാണിക്കുന്നു.<ref>{{Cite journal|date=2014|title=On the structure of the present-day convergence|url=https://www.academia.edu/30720894|journal=Campus-Wide Information Systems|volume=31|issue=2/3|pages=139–152|doi=10.1108/CWIS-11-2013-0064}}</ref> "വികസിക്കുന്നു" എന്ന വാക്കിന്റെ യൂഫെമിസ്റ്റിക് വശം മോഡറേറ്റ് ചെയ്യാൻ, [[അന്താരാഷ്ട്ര സംഘടനകൾ]] സാമ്പത്തികമായി വികസനം കുറഞ രാജ്യം എന്ന പദം ദരിദ്ര രാജ്യങ്ങൾക്ക് ഉപയോഗിക്കാൻ തുടങ്ങി-ഇത് ഒരു അർത്ഥത്തിലും വികസ്വരമായി കണക്കാക്കാനാവില്ല. വികസ്വര ലോക ജീവിത നിലവാരം വളരെ വ്യത്യസ്തമാണെന്ന് ഇത് എടുത്തുകാണിക്കുന്നു. ശിശുമരണ നിരക്ക്, ഫെർട്ടിലിറ്റി നിരക്ക്, തീവ്ര ദാരിദ്ര്യ നിരക്ക് തുടങ്ങിയ സൂചികകളിൽ ലോകമെമ്പാടുമുള്ള പുരോഗതി കാരണം, "വികസ്വര / വികസിത ലോക വർഗ്ഗീകരണം" പ്രസക്തമല്ലെന്ന് 2015-ൽ [[ലോക ബാങ്ക്]] പ്രഖ്യാപിച്ചു.<ref name=":5"/> ലോകവികസന സൂചകങ്ങളുടെ 2016-ലെ പതിപ്പിൽ, കാലഹരണപ്പെട്ട രണ്ട് വിഭാഗങ്ങളിലുള്ള വ്യത്യാസം കണക്കിലെടുത്ത് "വികസിത", "വികസ്വര" രാജ്യങ്ങളെ ഇനി വേർതിരിക്കേണ്ടെന്ന് [[ലോക ബാങ്ക്|ലോകബാങ്ക്]] തീരുമാനിച്ചു. <ref name="WB">{{Cite web|url=http://blogs.worldbank.org/opendata/2016-edition-world-development-indicators-out-three-features-you-won-t-want-miss|title=The 2016 edition of World Development Indicators is out: three features you won't want to miss|access-date=October 22, 2016|last=Fantom|first=Neil|last2=Khokhar|first2=Tariq|date=15 April 2016|website=The Data Blog|publisher=The World Bank|last3=Purdie|first3=Edie}}</ref> അതനുസരിച്ച്, ലോകബാങ്ക് ആ ഡിസ്ക്രിപ്റ്ററിന്റെ ഉപയോഗം ഘട്ടംഘട്ടമായി നിർത്തുകയാണ്. പകരം, വേൾഡ്ബാങ്കിന്റെ റിപ്പോർട്ടുകൾ (വേൾഡ് ഡെവലപ്‌മെന്റ് ഇൻഡിക്കേറ്റേഴ്‌സ് (ഡബ്ല്യുഡിഐ), ഗ്ലോബൽ മോണിറ്ററിംഗ് റിപ്പോർട്ട് എന്നിവ പോലുള്ളവ) ഇപ്പോൾ ലോകമെമ്പാടുമുള്ള, പ്രദേശങ്ങൾക്കായുള്ള, വരുമാന ഗ്രൂപ്പുകൾക്കായുള്ള ഡാറ്റ സംഗ്രഹങ്ങൾ ഉൾക്കൊള്ളുന്നു.<ref name=":5" /><ref name=":6"/> === മൂന്നാം ലോകം === സോവിയറ്റ് യൂണിയന്റെ പതനത്തിനും ശീതയുദ്ധത്തിന്റെ അവസാനത്തിനും ശേഷം കഴിഞ്ഞ ഏതാനും ദശാബ്ദങ്ങളായി, ''മൂന്നാം ലോകം'' എന്ന പദം വികസ്വര രാജ്യങ്ങളുമായി മാറിമാറി ഉപയോഗിച്ചുവരുന്നു, എന്നാൽ അത് നിലവിലെ രാഷ്ട്രീയത്തെയും സാമ്പത്തിക സ്ഥിതിയെയും പ്രതിനിധീകരിക്കുന്നില്ല എന്നതിനാൽ ഈ ആശയം ഇപ്പോ കാലഹരണപ്പെട്ടതാണ്. [[ശീതയുദ്ധം|ശീതയുദ്ധകാലത്ത്]] [[നാറ്റോ]] (ഒന്നാം ലോകം), [[കിഴക്കൻ ബ്ലോക്ക്|കമ്മ്യൂണിസ്റ്റ് ബ്ലോക്ക്]] (രണ്ടാം ലോകം, ഈ പദം ഉപയോഗിച്ചിരുന്നില്ലെങ്കിലും) [[ചേരിചേരാ പ്രസ്ഥാനം|അല്ലെങ്കിൽ]] (മൂന്നാം ലോകം) എന്നിങ്ങനെ രാജ്യങ്ങളെ നിർവചിക്കാൻ മൂന്ന് ലോക മാതൃക ഉടലെടുത്തു. കൃത്യമായി പറഞ്ഞാൽ, "മൂന്നാം ലോകം" എന്നത് ഒരു സാമ്പത്തിക ഗ്രൂപ്പിംഗിനെക്കാൾ രാഷ്ട്രീയമായിരുന്നു.<ref name=":7"/> === ഗ്ലോബൽ സൗത്ത് === "ഗ്ലോബൽ സൗത്ത്" എന്ന പദം 2004 മുതൽ കൂടുതൽ വ്യാപകമായി ഉപയോഗിക്കാൻ തുടങ്ങി.<ref name="concept">{{Cite web|url=https://www.academia.edu/7917466|title=The Use of the Concept 'Global South' in Social Science & Humanities|access-date=2016-10-06|last=Pagel|first=Heikie|last2=Ranke|first2=Karen|date=11 July 2014|publisher=[[Humboldt University of Berlin]]|last3=Hempel|first3=Fabian|last4=Köhler|first4=Jonas}}</ref><ref>{{Cite book|url=https://books.google.com/books?id=GYdeNdKrp8sC&pg=PA13|title=Urban Poverty in the Global South: Scale and Nature|last=Mitlin|first=Diana|last2=Satterthwaite|first2=David|date=2013|publisher=Routledge|isbn=9780415624664|page=13}}</ref> സമ്പന്നമായ "വടക്കൻ" രാജ്യങ്ങളിലെ ദരിദ്രമായ "തെക്കൻ" പ്രദേശങ്ങളും ഇതിൽ ഉൾപ്പെടാം.<ref>{{Cite book|url=https://books.google.com/books?id=s3s7a39GHIEC&pg=PA11|title=The Foreign Policies of the Global South: Rethinking Conceptual Frameworks|last=Braveboy-Wagner|first=Jacqueline Anne|date=2003|publisher=Lynne Rienner Publishers|isbn=9781588261755|page=11}}</ref> ഈ രാജ്യങ്ങളുടെ " [[കോളനിവാഴ്ച|കൊളോണിയലിസം]], [[പുതിയ സാമ്രാജ്യത്വം|നവ-സാമ്രാജ്യത്വം]], ജീവിതനിലവാരം, ആയുർദൈർഘ്യം, വിഭവങ്ങളിലേക്കുള്ള പ്രവേശനം എന്നിവയിൽ വലിയ അസമത്വങ്ങൾ നിലനിറുത്തുന്ന വ്യത്യസ്ത സാമ്പത്തിക സാമൂഹിക മാറ്റങ്ങളുടെ പരസ്പരബന്ധിതമായ ചരിത്രങ്ങളെയാണ് ഗ്ലോബൽ സൗത്ത് പരാമർശിക്കുന്നത്.<ref name=":2">{{Cite journal|last=Dados|first=Nour|last2=Connell|first2=Raewyn|date=2012-01-01|title=the global south|jstor=41960738|journal=Contexts|volume=11|issue=1|pages=12–13|doi=10.1177/1536504212436479}}</ref> === അനുബന്ധ സിദ്ധാന്തങ്ങൾ === "വികസ്വര രാജ്യങ്ങൾ" എന്ന പദത്തിന് അതുമായി ബന്ധപ്പെട്ട നിരവധി ഗവേഷണ സിദ്ധാന്തങ്ങളുണ്ട് (കാലക്രമത്തിൽ): * ആധുനികവൽക്കരണ സിദ്ധാന്തം - സമൂഹങ്ങൾക്കുള്ളിലെ നവീകരണ പ്രക്രിയ വിശദീകരിക്കാൻ * ആശ്രിതത്വ സിദ്ധാന്തം - ദരിദ്രവും അവികസിതവുമായ സംസ്ഥാനങ്ങളുടെ ഒരു "പരിധിയിൽ" നിന്ന് സമ്പന്ന സംസ്ഥാനങ്ങളുടെ ഒരു "കോർ" ലേക്ക് വിഭവങ്ങൾ ഒഴുകുന്നു, ആദ്യത്തേതിന്റെ ചെലവ് രണ്ടാമത്തേതിനെ സമ്പന്നമാക്കുന്നു. * വികസന സിദ്ധാന്തം - സമൂഹത്തിൽ അഭികാമ്യമായ മാറ്റം എങ്ങനെ മികച്ച രീതിയിൽ കൈവരിക്കുന്നു എന്നതിനെക്കുറിച്ചുള്ള സിദ്ധാന്തങ്ങളുടെ ഒരു ശേഖരം. * വികസനാനന്തര സിദ്ധാന്തം - വികസനത്തിന്റെ മുഴുവൻ ആശയവും പ്രയോഗവും ലോകത്തിന്റെ മറ്റു ഭാഗങ്ങളിൽ പാശ്ചാത്യ-വടക്കൻ മേധാവിത്വത്തിന്റെ പ്രതിഫലനമാണെന്ന് അവകാശപ്പെടുന്നു. == പൊതുവായ സ്വഭാവസവിശേഷതകൾ == === സർക്കാർ, രാഷ്ട്രീയം, ഭരണം === പല വികസ്വര രാജ്യങ്ങളും 20-ാം നൂറ്റാണ്ടിന്റെ രണ്ടാം പകുതിക്ക് ശേഷം മാത്രമാണ് പൂർണ്ണ സ്വയം നിർണ്ണയാവകാശവും [[ജനാധിപത്യം|ജനാധിപത്യവും]] നേടിയത്. സ്വാതന്ത്ര്യം കിട്ടുന്നത് വരെ പലതും ഒരു സാമ്രാജ്യത്വ യൂറോപ്യൻ ശക്തിയാണ് ഭരിച്ചിരുന്നത്. വികസ്വര രാജ്യങ്ങളിലെ രാഷ്ട്രീയ സംവിധാനങ്ങൾ വൈവിധ്യപൂർണ്ണമാണ്, എന്നാൽ മിക്ക രാഅജ്യങ്ങലിലു 21-ാം നൂറ്റാണ്ടിന്റെ തുടക്കത്തിൽ, വ്യത്യസ്തമായ വിജയവും രാഷ്ട്രീയ സ്വാതന്ത്ര്യവും ഉള്ള ഏതെങ്കിലും തരത്തിലുള്ള [[ജനാധിപത്യം|ജനാധിപത്യ ഗവൺമെന്റുകൾ]] വന്നു.<ref>{{Cite journal|last=Palat|first=Ravi Arvind|date=April 2010|title=World Turned Upside Down? Rise of the global South and the contemporary global financial turbulence|journal=Third World Quarterly|volume=31|issue=3|pages=365–384|doi=10.1080/01436597.2010.488465}}</ref> 'ഫലപ്രദമായ [[പൗരത്വം]]' എന്നത് [[സമൂഹശാസ്ത്രം|സാമൂഹ്യശാസ്ത്രജ്ഞനായ]] പാട്രിക് ഹെല്ലർ നിർവചിച്ചിരിക്കുന്നത് ഇങ്ങനെയാണ്: "സിവിൽ, രാഷ്ട്രീയ രംഗത്തെ ഔപചാരിക നിയമപരമായ അവകാശങ്ങൾ തമ്മിലുള്ള വിടവ്, ആ അവകാശങ്ങൾ അർത്ഥപൂർവ്വം പ്രാവർത്തികമാക്കാനുള്ള യഥാർത്ഥ കഴിവ്". <ref>{{Cite journal|last=Heller|first=Patrick|date=October 2012|title=Democracy, Participatory Politics and Development: Some Comparative Lessons from Brazil, India and South Africa|url=https://archive.org/details/sim_polity_2012-10_44_4/page/643|journal=Polity|volume=44|issue=4|pages=643–665|doi=10.1057/pol.2012.19}}</ref> പൗരത്വത്തിനപ്പുറം, വികസ്വര രാജ്യങ്ങളിലെ ക്രോസ്-ബോർഡർ മൊബിലിറ്റിയുടെ രാഷ്ട്രീയത്തെക്കുറിച്ചുള്ള പഠനം, വികസിത രാജ്യങ്ങളിലെ പരമ്പരാഗത ശ്രദ്ധയുടെ തിരുത്തലായി കണക്കാക്കപ്പെടുന്ന കുടിയേറ്റ സംവാദങ്ങളിൽ വിലപ്പെട്ട വെളിച്ചം വീശുന്നു. <ref>{{Cite book|title=The age of migration: international population movements in the modern world|last=Haas|first=Hein de|last2=Castles|first2=Stephen|last3=Miller|first3=Mark J|date=2020|isbn=978-1-352-00798-5|pages=96–123|oclc=1143614574}}</ref> ചില രാഷ്ട്രീയ ശാസ്ത്രജ്ഞർ വികസ്വര രാജ്യങ്ങളിൽ ഉടനീളം ദേശസാൽക്കരണം, വികസനം, നവലിബറൽ മൈഗ്രേഷൻ മാനേജ്മെന്റ് ഭരണകൂടങ്ങളുടെ ഒരു ടൈപ്പോളജി തിരിച്ചറിയുന്നു.<ref>{{Cite journal|last=Adamson|first=Fiona B.|last2=Tsourapas|first2=Gerasimos|date=24 October 2019|title=The Migration State in the Global South: Nationalizing, Developmental, and Neoliberal Models of Migration Management|journal=International Migration Review|volume=54|issue=3|pages=853–882|doi=10.1177/0197918319879057}}</ref> === സമ്പദ്ഘടന === [[പ്രമാണം:Worlds_regions_by_total_wealth(in_trillions_USD),_2018.jpg|ലഘുചിത്രം| 2018-ലെ മൊത്തം സമ്പത്തിന്റെ അടിസ്ഥാനത്തിൽ ലോക മേഖലകൾ (ട്രില്യൺ യുഎസ് ഡോളറിൽ).]] ഇരുപതാം നൂറ്റാണ്ടിലെ സ്വാതന്ത്ര്യത്തിനും അപകോളനിവൽക്കരണത്തിനും ശേഷം, മിക്ക വികസ്വര രാജ്യങ്ങൾക്കും പുതിയ അടിസ്ഥാന സൗകര്യങ്ങളും വ്യവസായവും സാമ്പത്തിക ഉത്തേജനവും ആവശ്യമായിരുന്നു. പലരും വിദേശ നിക്ഷേപത്തെ ആശ്രയിച്ചു. ഈ ഫണ്ടിംഗ് അടിസ്ഥാന സൗകര്യങ്ങളും വ്യവസായവും മെച്ചപ്പെടുത്തുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിച്ചു, പക്ഷേ വ്യവസ്ഥാപരമായ ചൂഷണത്തിന്റെ ഒരു സംവിധാനത്തിലേക്ക് നയിച്ചു.  അവർ വിലപേശലിനായി [[സ്വാഭാവികറബ്ബർ|റബ്ബർ]] പോലുള്ള അസംസ്കൃത വസ്തുക്കൾ കയറ്റുമതി ചെയ്തു. പാശ്ചാത്യ ലോകത്തെ അടിസ്ഥാനമാക്കിയുള്ള കമ്പനികൾ പലപ്പോഴും വികസ്വര രാജ്യങ്ങളിലെ വിലകുറഞ്ഞ തൊഴിലാളികളെ ഉൽപാദനത്തിനായി ഉപയോഗിച്ചിട്ടുണ്ട്.<ref name=":02">{{Cite journal|last=Roy|first=Pallavi|date=2 July 2016|title=Economic growth, the UN and the Global South: an unfulfilled promise|url=https://eprints.soas.ac.uk/22135/1/Roy%20Growth%20and%20Redistribution.pdf|journal=Third World Quarterly|volume=37|issue=7|pages=1284–1297|doi=10.1080/01436597.2016.1154440}}</ref> പാശ്ചാത്യർക്ക് ഈ സംവിധാനത്തിൽ നിന്ന് കാര്യമായ നേട്ടമുണ്ടായെങ്കിലും വികസ്വര രാജ്യങ്ങളെ അവികസിതമാക്കി. ഈ ക്രമീകരണത്തെ ചിലപ്പോൾ നിയോകൊളോണിയലിസം എന്ന് വിളിക്കുന്നു, അതായത് വികസിത രാജ്യങ്ങൾ വികസിത രാജ്യങ്ങൾ പ്രയോജനപ്പെടുത്തുന്ന ഒരു സംവിധാനം. മുൻ കോളനികൾ ഇപ്പോഴും അവരെ മുൻപ് കോളനിവൽക്കരിച്ചവരാണ് നിയന്ത്രിക്കുന്നത് എന്ന് ഇതിനർത്ഥമില്ല; അത് കൊളോണിയൽ പോലുള്ള ചൂഷണത്തെ സൂചിപ്പിക്കുന്നു. വികസ്വര രാജ്യങ്ങൾ പലപ്പോഴും സ്വയം വികസിക്കുന്നതിനുപകരം സമ്പന്ന രാജ്യങ്ങളെ കൂടുതൽ വികസിപ്പിക്കാൻ സഹായിക്കുന്നു.<ref>{{cite news|last1=Hickel|first1=Jason|date=14 January 2017|title=Aid in reverse: how poor countries develop rich countries|work=The Guardian|url=https://www.theguardian.com/global-development-professionals-network/2017/jan/14/aid-in-reverse-how-poor-countries-develop-rich-countries|access-date=17 March 2019|archive-date=10 October 2019|archive-url=https://web.archive.org/web/20191010231327/https://www.theguardian.com/global-development-professionals-network/2017/jan/14/aid-in-reverse-how-poor-countries-develop-rich-countries|url-status=live}}</ref> ഈ സമ്പ്രദായം അവസാനിപ്പിക്കുക എന്ന ലക്ഷ്യത്തോടെ നിരവധി സ്ഥാപനങ്ങൾ സ്ഥാപിച്ചിട്ടുണ്ട്.<ref>{{Cite web|url=https://www.britannica.com/topic/neocolonialism|title=Neocolonialism|access-date=2019-04-01|website=Encyclopedia Britannica|language=en}}</ref> ഈ സ്ഥാപനങ്ങളിലൊന്നാണ് പുതിയ അന്താരാഷ്ട്ര സാമ്പത്തിക ക്രമം. വികസ്വര രാജ്യങ്ങളെ അവശേഷിപ്പിക്കുന്നതോ സ്വയംപര്യാപ്തമാക്കുന്നതോ പ്രോത്സാഹിപ്പിക്കുന്ന ഒരു നയം അവർക്കുണ്ട്. കൂടുതൽ വ്യക്തമായി പറഞ്ഞാൽ, അവർ പ്രകൃതി വിഭവങ്ങളുടെയും വ്യവസായവൽക്കരണത്തിന്റെയും മേലുള്ള പരമാധികാരത്തെ വാദിക്കുന്നു. NIEO പോലെയുള്ള വികസ്വര രാജ്യങ്ങളുടെ കൂട്ടുകെട്ടുകൾ ലോക വേദിയിൽ സമത്വത്തിനായി ഇടയ്ക്കിടെ ലോബി ചെയ്യുന്നു. ചൈനയുടെ ഉയർച്ച [[ബ്രിക്|ബ്രിക് രാജ്യങ്ങളുടെ]] ഉയർച്ചയെ സൂചിപ്പിക്കാം.<ref name=":02"/> == പൊതുവായ വെല്ലുവിളികൾ ==   വികസ്വര രാജ്യങ്ങൾ മിക്കപ്പോഴും ചർച്ച ചെയ്യുന്ന ആഗോള പ്രശ്നങ്ങളിൽ [[ആഗോളവത്കരണം|ആഗോളവൽക്കരണം]], ആഗോള ആരോഗ്യ ഭരണം, ആരോഗ്യം, പ്രതിരോധ ആവശ്യങ്ങൾ എന്നിവ ഉൾപ്പെടുന്നു. വികസിത രാജ്യങ്ങൾ അഭിസംബോധന ചെയ്യുന്ന ശാസ്ത്ര-സാങ്കേതിക രംഗത്തെ പുതുമകൾ പോലുള്ള പ്രശ്‌നങ്ങളിൽ നിന്ന് ഇത് വ്യത്യസ്തമാണ്.<ref>{{Cite journal|last=Ager|first=Alastair|last2=Yu|first2=Gary|last3=Hermosilla|first3=Sabrina|date=September 2012|title=Mapping the key issues shaping the landscape of global public health|journal=Global Public Health|volume=7|issue=sup1|pages=S16–S28|doi=10.1080/17441692.2012.679741|pmid=22765282}}</ref> മിക്ക വികസ്വര രാജ്യങ്ങൾക്കും പൊതുവായുള്ള ഈ മാനദണ്ഡങ്ങളുണ്ട്:<ref name="UN2018">{{Cite web|url=https://www.un.org/development/desa/dpad/least-developed-country-category/ldc-criteria.html|title=Criteria For Identification Of LDCs|access-date=2018-03-02|date=2010-03-04|publisher=[[United Nations Department of Economic and Social Affairs]], Development Policy and Analysis Division}}</ref><ref name="Criteria">UN-OHRLLS [http://unohrlls.org/about-ldcs/criteria-for-ldcs/ Criteria for Identification and Graduation of LDCs] {{Webarchive|url=https://web.archive.org/web/20190725125957/http://unohrlls.org/about-ldcs/criteria-for-ldcs/ |date=2019-07-25 }}.</ref> * ഉയർന്ന [[ദാരിദ്ര്യം]] - മൂന്ന് വർഷത്തെ ശരാശരി പ്രതിശീർഷ ജിഎൻഐ അടിസ്ഥാനമാക്കിയാണ് കണക്കാക്കുന്നത്. ഉദാഹരണത്തിന്, GNI പ്രതിശീർഷ മൂല്യം US$1,025-ൽ കുറവാണെങ്കിൽ (2018-ലെ കണക്കനുസരിച്ച്) രാജ്യം ഏറ്റവും വികസിത രാജ്യമായി കണക്കാക്കപ്പെടുന്നു.<ref name="Criteria"/> * മാനവ വിഭവശേഷി ബലഹീനത ([[പോഷണം]], ആരോഗ്യം, വിദ്യാഭ്യാസം, മുതിർന്നവരുടെ [[സാക്ഷരത]] എന്നിവയുടെ സൂചകങ്ങളെ അടിസ്ഥാനമാക്കി). * സാമ്പത്തിക പരാധീനത (കാർഷിക ഉൽപ്പാദനത്തിന്റെ അസ്ഥിരത, ചരക്കുകളുടെയും സേവനങ്ങളുടെയും കയറ്റുമതിയുടെ അസ്ഥിരത, പാരമ്പര്യേതര പ്രവർത്തനങ്ങളുടെ സാമ്പത്തിക പ്രാധാന്യം, ചരക്ക് കയറ്റുമതി ഏകാഗ്രത, സാമ്പത്തിക കുറവിന്റെ വൈകല്യം, [[പ്രകൃതിക്ഷോഭം|പ്രകൃതി ദുരന്തങ്ങളാൽ]] കുടിയിറക്കപ്പെട്ട ജനസംഖ്യയുടെ ശതമാനം എന്നിവയെ അടിസ്ഥാനമാക്കി). === നഗര ചേരികൾ === യുഎൻ-ഹാബിറ്റാറ്റിന്റെ കണക്കനുസരിച്ച്, 2012-ൽ വികസ്വര രാജ്യങ്ങളിലെ നഗര ജനസംഖ്യയുടെ ഏകദേശം 33% അല്ലെങ്കിൽ ഏകദേശം 863 ദശലക്ഷം ആളുകൾ [[ചേരി|ചേരികളിലാണ്]] താമസിക്കുന്നത്. <ref name="UNHABITATswcr1213">{{Cite web|url=http://sustainabledevelopment.un.org/content/documents/745habitat.pdf|title=State of the World's Cities Report 2012/2013: Prosperity of Cities|access-date=4 October 2013|publisher=UNHABITAT}}</ref> 2012-ൽ, ചേരികളിൽ താമസിക്കുന്ന നഗര ജനസംഖ്യയുടെ അനുപാതം ഏറ്റവും ഉയർന്നത് സബ്-സഹാറൻ ആഫ്രിക്കയിലാണ് (62%), ദക്ഷിണേഷ്യ (35%), തെക്കുകിഴക്കൻ ഏഷ്യ (31%), കിഴക്കൻ ഏഷ്യ (28%).<ref name="UNHABITATswcr1213" /> {{Rp|127}} വികസ്വര രാജ്യങ്ങളിലെ നഗര ജനസംഖ്യയുടെ 43% ഉം വികസിത രാജ്യങ്ങളിലെ 78% ഉം ചേരി നിവാസികളാണെന്ന് യുഎൻ-ഹാബിറ്റാറ്റ് റിപ്പോർട്ട് ചെയ്യുന്നു.<ref name="grhs2003">[http://www.unhabitat.org/downloads/docs/grhs.2003.key.pdf The challenge of slums – Global report on Human Settlements] {{Webarchive|url=https://web.archive.org/web/20130921055009/http://www.unhabitat.org/downloads/docs/grhs.2003.key.pdf|date=21 September 2013}}, United Nations Habitat (2003)</ref> വിവിധ കാരണങ്ങളാൽ ലോകത്തിന്റെ വിവിധ ഭാഗങ്ങളിൽ ചേരികൾ രൂപപ്പെടുകയും വളരുകയും ചെയ്യുന്നു. ദ്രുതഗതിയിലുള്ള [[നഗരവത്കരണം|ഗ്രാമങ്ങളിൽ നിന്ന് നഗരങ്ങളിലേക്കുള്ള കുടിയേറ്റം]], സാമ്പത്തിക സ്തംഭനാവസ്ഥയും വിഷാദവും, ഉയർന്ന [[തൊഴിലില്ലായ്മ]], ദാരിദ്ര്യം, അനൗപചാരിക സമ്പദ്‌വ്യവസ്ഥ, തെറ്റായ ആസൂത്രണം, രാഷ്ട്രീയം, പ്രകൃതി ദുരന്തങ്ങൾ, സാമൂഹിക സംഘർഷങ്ങൾ എന്നിവ കാരണങ്ങളിൽ ഉൾപ്പെടുന്നു.<ref name="whyslums">{{Cite web|url=http://www.unhabitat.org/downloads/docs/4625_51419_GC%2021%20What%20are%20slums.pdf|title=What are slums and why do they exist?|date=April 2007|publisher=UN-Habitat|location=Kenya|archive-url=https://web.archive.org/web/20110206143558/http://www.unhabitat.org/downloads/docs/4625_51419_GC%2021%20What%20are%20slums.pdf|archive-date=2011-02-06}}</ref><ref>{{Cite book|title=Spontaneous Shelter: International Perspectives and Prospects|last=Patton|first=Carl V.|date=1988|publisher=Temple University Press|isbn=978-0-87722-507-2|location=Philadelphia}}</ref><ref name="grhs2011">{{Cite web|url=http://www.unhabitat.org/downloads/docs/GRHS.2003.2.pdf|title=Assessing Slums in the Development Context|access-date=16 September 2013|year=2011|publisher=United Nations Habitat Group|archive-url=https://web.archive.org/web/20140105025237/http://www.unhabitat.org/downloads/docs/GRHS.2003.2.pdf|archive-date=5 January 2014}}</ref> ഉദാഹരണത്തിന്, ദരിദ്ര രാജ്യങ്ങളിൽ ജനസംഖ്യ വികസിക്കുമ്പോൾ, ഗ്രാമവാസികൾ കുടിയേറ്റത്തിലൂടെ നഗരങ്ങളിലേക്ക് മാറിക്കൊണ്ടിരിക്കുന്നു, ഇത് ചേരികൾ സൃഷ്ടിക്കുന്നതിന് കാരണമാകുന്നു.<ref name="Westra">{{Cite journal|last=Westra|first=Richard|year=2011|title=Renewing Socialist Development in the Third World|url=https://archive.org/details/sim_journal-of-contemporary-asia_2011-11_41_4/page/519|journal=[[Journal of Contemporary Asia]]|volume=41|issue=4|pages=519–543|doi=10.1080/00472336.2011.610612}}</ref> ചില നഗരങ്ങളിൽ, പ്രത്യേകിച്ച് ദക്ഷിണേഷ്യയിലെയും സബ്-സഹാറൻ ആഫ്രിക്കയിലെയും രാജ്യങ്ങളിൽ ചേരികൾ വ്യാപകമാണ്, നഗര ജനസംഖ്യയുടെ വലിയൊരു ഭാഗം താമസിക്കുന്നു. ഇവയെ ചിലപ്പോൾ "ചേരി നഗരങ്ങൾ" എന്ന് വിളിക്കുന്നു.<ref>{{Cite book|title=Slum Cities and Cities with Slums" States of the World's Cities 2008/2009|year=2008|url=https://archive.org/details/stateofworldscit0000unse_o4s5|publisher=UN-Habitat}}</ref> === സ്ത്രീകൾക്കെതിരായ അതിക്രമങ്ങൾ === [[പ്രമാണം:A_formation_of_human_chain_at_India_Gate_by_the_women_from_different_walks_of_life_at_the_launch_of_a_National_Campaign_on_prevention_of_violence_against_women,_in_New_Delhi_on_October_02,_2009.jpg|ലഘുചിത്രം| 2009 ഒക്‌ടോബർ 02-ന് ന്യൂഡൽഹിയിൽ സ്ത്രീകൾക്കെതിരായ അതിക്രമങ്ങൾ തടയുന്നതിനുള്ള ദേശീയ കാമ്പയിന്റെ സമാരംഭത്തിൽ സമൂഹത്തിന്റെ വിവിധ തുറകളിലുള്ള സ്ത്രീകൾ ഇന്ത്യാ ഗേറ്റിൽ രൂപീകരിച്ച മനുഷ്യച്ചങ്ങല.]] ലോകത്തിന്റെ മറ്റ് ഭാഗങ്ങളെ അപേക്ഷിച്ച് വികസ്വര രാജ്യങ്ങളിൽ സ്ത്രീകൾക്കെതിരായ പല തരത്തിലുള്ള അതിക്രമങ്ങളും കൂടുതലാണ്. ഉദാഹരണത്തിന്, സ്ത്രീധന പീഡനവും വധുവിനെ ചുട്ടുകൊല്ലലും, കംബോഡിയ ഉൾപ്പെടെയുള്ള തെക്കുകിഴക്കൻ ഏഷ്യയിലെ [[ആസിഡ് ആക്രമണം|ആസിഡ് എറിയൽ]], മിഡിൽ ഈസ്റ്റുമായും ദക്ഷിണേഷ്യയുമായും ബന്ധപ്പെട്ടിരിക്കുന്ന [[ദുരഭിമാനക്കൊല]]. അതുപോലെ എത്യോപ്യ, മധ്യേഷ്യ, കോക്കസസ് എന്നിവിടങ്ങളിൽ തട്ടിക്കൊണ്ടുപോകൽ വഴിയുള്ള വിവാഹം കാണപ്പെടുന്നു. വധുവില അടയ്ക്കുന്നതുമായി ബന്ധപ്പെട്ട ദുരുപയോഗം (അക്രമം, കടത്ത്, നിർബന്ധിത വിവാഹം എന്നിവ പോലുള്ളവ) സബ്-സഹാറൻ ആഫ്രിക്കയുടെയും ഓഷ്യാനിയയുടെയും ചില ഭാഗങ്ങളുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു.<ref>{{cite news | title = Papua New Guinea: police cite bride price major factor in marital violence | archive-url=https://web.archive.org/web/20150218182845/http://www.violenceisnotourculture.org/News-and-Views/papua-new-guinea-police-cite-bride-price-major-factor-marital-violence | archive-date = 18 February 2015 |url=http://www.violenceisnotourculture.org/News-and-Views/papua-new-guinea-police-cite-bride-price-major-factor-marital-violence | work = Island Business |via=Violence is not our Culture |date=21 November 2011 |access-date=6 August 2014}}</ref><ref>{{Cite web|url=http://www.mrc.ac.za/gender/Bridepricedomesticviolence.pdf|title=An exploratory study of bride price and domestic violence in Bundibugyo District, Uganda|access-date=6 August 2014|date=April 2012|publisher=Centre for Human Rights Advancement (CEHURA) and [[South African Medical Research Council]]|archive-url=https://web.archive.org/web/20130717105205/http://www.mrc.ac.za/gender/Bridepricedomesticviolence.pdf|archive-date=17 July 2013}}</ref> പല വികസ്വര രാജ്യങ്ങളിലും ഇപ്പോഴും നടക്കുന്ന സ്ത്രീകൾക്കെതിരായ അതിക്രമത്തിന്റെ മറ്റൊരു രൂപമാണ് [[സ്ത്രീ ലിംഗഛേദനം|സ്ത്രീ ജനനേന്ദ്രിയഛേദനം]] (FGM). ഇത് കൂടുതലും ആഫ്രിക്കയിലും ഒരു പരിധിവരെ മിഡിൽ ഈസ്റ്റിലും ഏഷ്യയുടെ മറ്റു ചില ഭാഗങ്ങളിലും കാണപ്പെടുന്നു. സൊമാലിയ (98% സ്ത്രീകളും), ഗിനിയ (96%), ജിബൂട്ടി (93%), ഈജിപ്ത് (91%), എറിത്രിയ (89%), മാലി (89%), സിയറ ലിയോൺ (88%), സുഡാൻ (88%), ഗാംബിയ (76%), ബുർക്കിന ഫാസോ (76%), എത്യോപ്യ (74%) എന്നിവയാണ് ലിംഗ ഛേദനം നടത്തപ്പെട്ട ഏറ്റവും കൂടുതൽ സ്ത്രീകളുള്ള വികസ്വര രാജ്യങ്ങൾ.<ref name="unicef.org">{{Cite book|url=http://www.unicef.org/media/files/FGCM_Lo_res.pdf|title=Female Genital Mutilation/Cutting: A statistical overview and exploration of the dynamics of change|last=UNICEF|date=22 July 2013|publisher=[[UNICEF]]|author-link=UNICEF|access-date=18 November 2013|archive-date=2015-04-05|archive-url=https://web.archive.org/web/20150405083031/http://www.unicef.org/media/files/FGCM_Lo_res.pdf|url-status=dead}}</ref> [[ആഗോളവത്കരണം|ആഗോളവൽക്കരണവും]] കുടിയേറ്റവും കാരണം, സ്ത്രീ ലിംഗഛേദനം ആഫ്രിക്കയുടെയും മിഡിൽ ഈസ്റ്റിന്റെയും അതിർത്തികൾക്കപ്പുറത്തേക്ക്, ഓസ്‌ട്രേലിയ, ബെൽജിയം, കാനഡ, ഫ്രാൻസ്, ന്യൂസിലാൻഡ്, യുഎസ്, യുകെ തുടങ്ങിയ രാജ്യങ്ങളിലേക്ക് കൂടി വ്യാപിക്കുന്നു.<ref>{{Cite book|url=https://archive.org/details/sexsocialjustice00nuss/page/120|title=Sex & social justice|last=Nussbaum|first=Martha|publisher=Oxford University Press|year=1999|isbn=978-0195110326|editor-last=Nussbaum|editor-first=Martha|editor-link=Martha Nussbaum|location=New York|pages=[https://archive.org/details/sexsocialjustice00nuss/page/120 120–121]|chapter=Judging other cultures: the case of genital mutilation|author-link=Martha Nussbaum|chapter-url=https://books.google.com/books?id=43U8DwAAQBAJ&pg=PA120|url-access=registration}}</ref> ഇസ്താംബുൾ കൺവെൻഷൻ (ആർട്ടിക്കിൾ 38) സ്ത്രീകളുടെ ജനനേന്ദ്രിയ ഛേദനം നിരോധിക്കുന്നു.<ref>{{Cite book|url=https://rm.coe.int/168046031c|title=Council of Europe Convention on preventing and combating violence against women and domestic violence|date=12 April 2011|access-date=8 October 2017}}</ref> 2016-ലെ കണക്കനുസരിച്ച്, പല ആഫ്രിക്കൻ രാജ്യങ്ങളിലും [[സ്ത്രീ ലിംഗഛേദനം|സ്ത്രീ ജനനേന്ദ്രിയഛേദനംസ്ത്രീ ജനനേന്ദ്രിയഛേദനം]] നിയമപരമായി നിരോധിച്ചിരിക്കുന്നു.<ref>''Citations'': </ref> [[പ്രമാണം:Women_who_experienced_violence_by_an_intimate_partner,_OWID.svg|പകരം=An image showing statistics by percentage of share of women, older than 14 years old who experienced violence by an intimate partner.|ലഘുചിത്രം|239x239ബിന്ദു| ഉറ്റ പങ്കാളിയിൽ നിന്ന് അക്രമം അനുഭവിച്ചിട്ടുല്ല 14 വയസ്സിന് മുകളിൽ പ്രായമുള്ള സ്ത്രീകളുടെ ശതമാനം]] സ്ത്രീകൾക്കെതിരായ അതിക്രമങ്ങൾ അവസാനിപ്പിക്കുന്നതിനുള്ള [[യു.എൻ വിമൻ|യുഎൻ വിമൻറെ]] വസ്തുതകളും കണക്കുകളും അനുസരിച്ച്,<ref>{{Cite web|url=https://www.unwomen.org/en/what-we-do/ending-violence-against-women/facts-and-figures|title=facts and figures:Ending Violence against Women}}</ref> ലോകമെമ്പാടുമുള്ള 35 ശതമാനം സ്ത്രീകളും അവരുടെ ജീവിതത്തിലെ ചില ഘട്ടങ്ങളിൽ അടുത്ത പങ്കാളികളാൽ ശാരീരികവും ലൈംഗികവുമായ അതിക്രമങ്ങൾ അല്ലെങ്കിൽ പങ്കാളി അല്ലാത്തവരിൽ നിന്നുള്ള ലൈംഗിക അതിക്രമങ്ങൾ (ലൈംഗിക പീഡനം ഉൾപ്പെടുന്നില്ല) അനുഭവിച്ചിട്ടുണ്ടെന്ന് കണക്കാക്കപ്പെടുന്നു. ശാരീരികമോ ലൈംഗികമോ ആയ അതിക്രമങ്ങൾ അനുഭവിച്ചിട്ടില്ലാത്ത സ്ത്രീകളെ അപേക്ഷിച്ച്, ശാരീരികമോ ലൈംഗികമോ ആയ ലൈംഗിക അതിക്രമങ്ങൾ അനുഭവിച്ചിട്ടുള്ള സ്ത്രീകൾ വിഷാദരോഗം, [[ഗർഭഛിദ്രം|ഗർഭച്ഛിദ്രം]], [[എച്ച്.ഐ.വി.|എച്ച്ഐവി]] സമ്പാദിക്കൽ എന്നിവ റിപ്പോർട്ട് ചെയ്യുന്നതായി തെളിവുകൾ കാണിക്കുന്നു.<ref>{{Cite web|url=https://www.unwomen.org/en/what-we-do/ending-violence-against-women/facts-and-figures#notes|title=facts and figures:ending violence against women}}</ref> [[മദ്ധ്യപൂർവേഷ്യ|മിഡിൽ ഈസ്റ്റ്]], [[ഉത്തരാഫ്രിക്ക|നോർത്ത് ആഫ്രിക്ക]] എന്നിവിടങ്ങളിൽ നിന്നുള്ള വിവിധ രാജ്യങ്ങളിൽ നിന്നുള്ള ഡാറ്റ കാണിക്കുന്നത്, തങ്ങളുടെ അമ്മമാരെ ഉപദ്രവിക്കുന്ന അച്ഛനെ കണ്ട കുട്ടികലും ഏതെങ്കിലും തരത്തിലുള്ള അക്രമം അനുഭവിച്ച പുരുഷന്മാരും, പ്രായമാകുമ്പോൾ പങ്കാളിക്കെതിരെ അക്രമം നടത്തിയതായി റിപ്പോർട്ട് ചെയ്തിട്ടുണ്ട്.<ref>{{Cite web|url=https://www.unwomen.org/en/what-we-do/ending-violence-against-women/facts-and-figures|title=Facts and figures: Ending violence against women|access-date=2020-09-26|website=UN Women|language=en}}</ref> === ആരോഗ്യ സംരക്ഷണവും പൊതുജന ആരോഗ്യവും === വികസ്വര രാജ്യങ്ങളും വികസിത രാജ്യങ്ങളും തമ്മിൽ ആരോഗ്യ പരിപാലനത്തിൽ കാര്യമായ വ്യത്യാസമുണ്ട്.<ref>{{Cite journal|last=Alhaji|first=Mohammed M.|last2=Alam|first2=Sartaj|date=21 March 2019|title=Health Policy and System Research in Global South: Bridging the Gap through Citizen Participation|url=http://ejournalsystem.net/index.php/jpmi/article/view/2474|journal=Journal of Postgraduate Medical Institute|volume=33|issue=1|archive-date=2022-06-28|access-date=2022-07-16|archive-url=https://web.archive.org/web/20220628094209/http://ejournalsystem.net/index.php/jpmi/article/view/2474|url-status=dead}}</ref> വികസ്വര രാജ്യങ്ങളിലെ ആളുകൾക്ക് സാധാരണയായി വികസിത രാജ്യങ്ങളിലെ ആളുകളേക്കാൾ ആയുർദൈർഘ്യം കുറവാണ്. സാംക്രമിക രോഗങ്ങളുടെ ഭാരം, [[മാതൃമരണം|മാതൃമരണനിരക്ക്]], ശിശുമരണനിരക്ക്, ശിശുമരണനിരക്ക് എന്നിവ സാധാരണഗതിയിൽ ഇവിടെ ഗണ്യമായി കൂടുതലാണ്. [[പ്രമാണം:Hunger_Map_2020_World_Food_Programme.svg|ലഘുചിത്രം|310x310ബിന്ദു| പട്ടിണി അനുഭവിക്കുന്ന ജനസംഖ്യയുടെ ശതമാനം, [[ലോകഭക്ഷ്യപദ്ധതി|വേൾഡ് ഫുഡ് പ്രോഗ്രാം]], 2020.<br />{{Legend|#29b8c7|< 2,5%}}<div class="legend"><span class="legend-color" style="background-color:#29b8c7; color:black;">&nbsp;</span>&nbsp;< 2,5%</div>]] വികസ്വര രാജ്യങ്ങളിൽ പോഷകാഹാരക്കുറവ് കൂടുതൽ സാധാരണമാണ്. <ref>{{Cite book|url=https://books.google.com/books?id=w4CGAgAAQBAJ&pg=PA20|title=World Hunger Routledge Introductions to Development|last=Young|first=Liz|date=2002|isbn=9781134774944|page=20}}</ref> ചില ഗ്രൂപ്പുകൾക്ക് ഉയർന്ന പോഷകാഹാരക്കുറവ് ഉണ്ട്, സ്ത്രീകൾ ഉൾപ്പെടെ, പ്രത്യേകിച്ച് ഗർഭിണികളോ മുലയൂട്ടുന്നവരോ - അഞ്ച് വയസ്സിന് താഴെയുള്ള കുട്ടികൾ, പ്രായമായവർ. വികസ്വര രാജ്യങ്ങളിലെ അഞ്ച് വയസ്സിന് താഴെയുള്ള 200 ദശലക്ഷത്തിലധികം കുട്ടികൾ അവരുടെ വികസന ശേഷിയിൽ എത്താത്തതിന് കാരണം കുട്ടികളിലെ പോഷകാഹാരക്കുറവും കുട്ടികളുടെ വളർച്ച മുരടിപ്പും ആണ്.<ref>Grantham-McGregor, Sally et al., the International Child Development Steering Group. “Developmental Potential in the First 5 Years for Children in Developing Countries.” Lancet 369.9555 (2007): 60–70. PMC. Web. 28 Nov. 2014.</ref> 2013 ൽ ഏകദേശം 165 ദശലക്ഷം കുട്ടികൾ പോഷകാഹാരക്കുറവ് മൂലം വളർച്ച മുരടിച്ചതായി കണക്കാക്കപ്പെട്ടിരുന്നു.<ref name="Bh2013">{{Cite journal|title=Evidence-based interventions for improvement of maternal and child nutrition: what can be done and at what cost?|journal=Lancet|volume=382|issue=9890|pages=452–477|date=August 2013|pmid=23746776|doi=10.1016/s0140-6736(13)60996-4}}</ref> ചില വികസ്വര രാജ്യങ്ങളിൽ, പോഷകാഹാരക്കുറവിന്റെ അതേ കമ്മ്യൂണിറ്റികൾക്കുള്ളിൽ [[പൊണ്ണത്തടി|പൊണ്ണത്തടിയുടെ]] രൂപത്തിൽ അമിതപോഷണം പ്രത്യക്ഷപ്പെടാൻ തുടങ്ങിയിരിക്കുന്നു.<ref>{{Cite web|url=http://www.unicef.org/nutrition/files/Progress_for_Children_-_No._4.pdf|title=Progress For Children: A Report Card On Nutrition|publisher=UNICEF|access-date=2022-07-16|archive-date=2021-01-12|archive-url=https://web.archive.org/web/20210112154958/https://www.unicef.org/nutrition/files/Progress_for_Children_-_No._4.pdf|url-status=dead}}</ref> ഇനിപ്പറയുന്ന ലിസ്റ്റ് പരിസ്ഥിതിയുമായി ബന്ധപ്പെട്ട കാരണങ്ങളോ അവസ്ഥകളോ ശക്തമായ പാരിസ്ഥിതിക ഘടകങ്ങളുള്ള ചില രോഗങ്ങളും കാണിക്കുന്നു:<ref>{{Cite web|url=https://www.who.int/heli/risks/ehindevcoun/en|title=Environment and health in developing countries|date=8 September 2016|website=Priority environment and health risks|publisher=[[World Health Organization]]}}</ref> * രോഗം/ [[രോഗം]] ([[മലമ്പനി|മലേറിയ]], [[ക്ഷയം]], [[എയ്‌ഡ്‌സ്‌|എയ്ഡ്സ്]] മുതലായവ.): വികസ്വര രാജ്യങ്ങളിലെ കുടുംബങ്ങളിൽ രോഗം ഉയർന്നതും പിന്നാക്കാവസ്ഥയിലുള്ളതുമായ ചിലവ് ഭാരങ്ങൾ അടിച്ചേൽപ്പിക്കുന്നു.<ref>Russel S. The economic burden of illness for households in developing countries: a review of studies focusing on malaria, tuberculosis, and human immunodeficiency virus/acquired immunodeficiency syndrome. Am J Trop Med Hyg 2004</ref> * ഉഷ്ണമേഖലാ, പകർച്ചവ്യാധികൾ (അവഗണിച്ച ഉഷ്ണമേഖലാ രോഗങ്ങൾ) * സുരക്ഷിതമല്ലാത്ത [[കുടിവെള്ളം]], മോശം ശുചിത്വവും ശുചിത്വവും * വികസ്വര രാജ്യങ്ങളിലെ ഇൻഡോർ വായു മലിനീകരണം * മലിനീകരണം (ഉദാ: [[അന്തരീക്ഷമലിനീകരണം|വായു മലിനീകരണം]], [[ജലമലിനീകരണം]]) * മോട്ടോർ വാഹന കൂട്ടിയിടികൾ * ബോധപൂർവമല്ലാത്ത വിഷബാധ * സാംക്രമികേതര രോഗങ്ങളും ദുർബലമായ ആരോഗ്യ സംരക്ഷണ സംവിധാനങ്ങളും === വെള്ളം, ശുചിത്വം === പല വികസ്വര രാജ്യങ്ങളിലും ശുചിത്വ സേവനങ്ങളിലേക്കുള്ള പ്രവേശനം വളരെ താഴ്ന്ന നിലയിലാണ്. 2015-ൽ [[ലോകാരോഗ്യസംഘടന|ലോകാരോഗ്യ സംഘടന]] (ഡബ്ല്യുഎച്ച്ഒ) കണക്കാക്കിയത് "3 പേരിൽ 1 പേർ, അല്ലെങ്കിൽ 2.4 ബില്യൺ ആളുകൾ ഇപ്പോഴും ശുചിത്വ സൗകര്യങ്ങളില്ലാത്തവരാണ്" എന്നും 663 ദശലക്ഷം ആളുകൾക്ക് ഇപ്പോഴും സുരക്ഷിതവും ശുദ്ധവുമായ കുടിവെള്ളം ലഭ്യമല്ല എന്നുമാണ്.<ref>{{Cite web|url=https://www.who.int/water_sanitation_health/monitoring/jmp-2015-key-facts/en/|title=Key facts from JMP 2015 report|access-date=2017-11-17|website=World Health Organization|language=en-GB}}</ref><ref>{{Cite web|url=https://www.who.int/mediacentre/news/releases/2015/jmp-report/en/|title=WHO {{!}} Lack of sanitation for 2.4 billion people is undermining health improvements|access-date=2017-11-17|website=www.who.int}}</ref> 2017-ലെ ജെഎംപിയുടെ കണക്ക് പ്രകാരം 4.5 ബില്യൺ ആളുകൾക്ക് നിലവിൽ സുരക്ഷിതമായ ശുചിത്വ സൗകര്യങ്ങൾ ഇല്ല. <ref name="JMP2017">WHO and UNICEF (2017) [https://washdata.org/reports Progress on Drinking Water, Sanitation and Hygiene: 2017 Update and SDG Baselines]. Geneva: World Health Organization (WHO) and the United Nations Children's Fund (UNICEF), 2017</ref> ഇവരിൽ ഭൂരിഭാഗവും വികസ്വര രാജ്യങ്ങളിലാണ് താമസിക്കുന്നത്. ഏകദേശം 892 ദശലക്ഷം ആളുകൾ അല്ലെങ്കിൽ ആഗോള ജനസംഖ്യയുടെ 12 ശതമാനം ആളുകൾ 2016<ref name="JMP2017"/> ൽ ടോയ്‌ലറ്റുകൾ ഉപയോഗിക്കുന്നതിന് പകരം തുറസ്സായ മലമൂത്ര വിസർജനം നടത്തി. ലോകത്ത് തുറസ്സായ മലമൂത്ര വിസർജ്ജനം നടത്തുന്ന 892 ദശലക്ഷം ആളുകളിൽ എഴുപത്തിയാറു ശതമാനവും (678 ദശലക്ഷം) ജീവിക്കുന്നത് വെറും ഏഴ് രാജ്യങ്ങളിലാണ്.<ref name="JMP2017" /> ഇന്ത്യ (348 ദശലക്ഷം), നൈജീരിയ (38.1 ദശലക്ഷം), ഇന്തോനേഷ്യ (26.4 ദശലക്ഷം), എത്യോപ്യ (23.1 ദശലക്ഷം), പാകിസ്ഥാൻ (19.7 ദശലക്ഷം), നൈജർ (14.6 ദശലക്ഷം), സുഡാൻ (19.7 ദശലക്ഷം) എന്നിവയാണ് ഏറ്റവും കൂടുതൽ ആളുകൾ പരസ്യമായി മലമൂത്രവിസർജ്ജനം നടത്തുന്ന രാജ്യങ്ങൾ. 9.7 ദശലക്ഷം).<ref name="WBSTATS">{{Cite web|url=https://data.worldbank.org/indicator/SH.STA.ODFC.ZS?locations=ID-NG-NE-ET-SD-IN-PK|title=People practicing open defecation (% of population) – Indonesia, Nigeria, Niger, Ethiopia, Sudan, India, Pakistan|access-date=15 October 2019|website=data.worldbank.org|publisher=[[The World Bank]]|archive-date=2019-10-15|archive-url=https://web.archive.org/web/20191015122909/https://data.worldbank.org/indicator/SH.STA.ODFC.ZS%3Flocations%3DID-NG-NE-ET-SD-IN-PK|url-status=dead}}</ref> 2015-ൽ യുഎൻ സ്ഥാപിച്ച 17 [[സുസ്ഥിര വികസന ലക്ഷ്യങ്ങൾ|സുസ്ഥിര വികസന ലക്ഷ്യങ്ങളിൽ]] ഒന്നായ [[ആറാം സുസ്ഥിര വികസന ലക്ഷ്യം]] എല്ലാ ആളുകൾക്കും ശുദ്ധജലവും ശുചിത്വവും ആവശ്യപ്പെടുന്നു. വികസ്വര രാജ്യങ്ങളിലെ ആളുകൾക്ക് ഇത് പ്രത്യേകിച്ചും പ്രസക്തമാണ്. === ഊർജ്ജം === [[പ്രമാണം:Solar-Panel-Cooker-in-front-of-hut.jpg|ലഘുചിത്രം| സോളാർ കുക്കറുകൾ ഔട്ട്ഡോർ പാചകത്തിന് ഊർജ്ജ സ്രോതസ്സായി സൂര്യപ്രകാശം ഉപയോഗിക്കുന്നു.]] 2009 ൽ ലോകത്ത് ഏകദേശം 1.4 ബില്യൺ ആളുകൾ വൈദ്യുതി ഇല്ലാതെ ജീവിച്ചിരുന്നു. 2.7 ബില്യൺ ആളുകൾ വീട്ടിലെ ഊർജ്ജ ആവശ്യങ്ങൾക്കായി മരം, കരി, ചാണകം ( ഉണങ്ങിയ മൃഗങ്ങളുടെ ചാണക ഇന്ധനം ) എന്നിവയെ ആശ്രയിച്ചു. ആധുനിക ഊർജ സാങ്കേതിക വിദ്യയിലേക്കുള്ള ഈ അഭാവം വരുമാന ഉൽപ്പാദനത്തെ പരിമിതപ്പെടുത്തുന്നു, ദാരിദ്ര്യത്തിൽ നിന്ന് രക്ഷപ്പെടാനുള്ള ശ്രമങ്ങളെ തടസ്സപ്പെടുത്തുന്നു, ഇൻഡോർ വായു മലിനീകരണം മൂലം ആളുകളുടെ ആരോഗ്യത്തെ ബാധിക്കുന്നു, കൂടാതെ ആഗോള വനനശീകരണത്തിനും കാലാവസ്ഥാ വ്യതിയാനത്തിനും കാരണമാകുന്നു. ചെറിയ തോതിലുള്ള പുനരുൽപ്പാദിപ്പിക്കാവുന്ന ഊർജ്ജ സാങ്കേതികവിദ്യകളും ഓൺസൈറ്റ് സോളാർ പവർ, മെച്ചപ്പെട്ട കുക്ക്സ്റ്റൗവ് എന്നിവ പോലെയുള്ള വിതരണ ഊർജ്ജ ഓപ്ഷനുകളും ഗ്രാമീണ കുടുംബങ്ങൾക്ക് ആധുനിക ഊർജ്ജ സേവനങ്ങൾ വാഗ്ദാനം ചെയ്യുന്നു.<ref name="verlaw">{{Cite journal|title=Energy. Deploying off-grid technology to eradicate energy poverty|journal=Science|volume=338|issue=6103|pages=47–8|date=October 2012|pmid=23042871|doi=10.1126/science.1222307}}</ref> നവീകരിക്കാവുന്ന ഊർജ്ജം വികസ്വര രാജ്യങ്ങൾക്ക് പ്രത്യേകിച്ചും അനുയോജ്യമാണ്. ഗ്രാമീണ, വിദൂര പ്രദേശങ്ങളിൽ, [[ഖനിജ ഇന്ധനം|ഫോസിൽ ഇന്ധനങ്ങളിൽ]] നിന്ന് ഉത്പാദിപ്പിക്കുന്ന ഊർജ്ജത്തിന്റെ പ്രക്ഷേപണവും വിതരണവും ബുദ്ധിമുട്ടുള്ളതും ചെലവേറിയതുമാണ്. പ്രാദേശികമായി പുനരുപയോഗിക്കാവുന്ന ഊർജം ഉൽപ്പാദിപ്പിക്കുന്നത് പ്രായോഗികമായ ഒരു ബദൽ വാഗ്ദാനം ചെയ്യാൻ കഴിയും.<ref name="aus">[http://www.ausaid.gov.au/publications/pdf/renewable_energy.pdf Power for the People] {{Webarchive|url=https://web.archive.org/web/20120330120425/http://www.ausaid.gov.au/publications/pdf/renewable_energy.pdf|date=2012-03-30}} p. 3.</ref> വ്യവസായ സംരംഭങ്ങൾക്കും തൊഴിലവസരങ്ങൾ സൃഷ്ടിക്കുന്നതിനും ആവശ്യമായ ഊർജം നൽകുന്നതിലൂടെ പുനരുപയോഗ ഊർജത്തിന് ദാരിദ്ര്യ നിർമാർജനത്തിന് നേരിട്ട് സംഭാവന നൽകാനാകും. പാചകം ചെയ്യാനും ബഹിരാകാശ ചൂടാക്കാനും വെളിച്ചം നൽകാനും ഊർജം നൽകിക്കൊണ്ട് ദാരിദ്ര്യ നിർമാർജനത്തിന് പരോക്ഷമായ സംഭാവനകൾ നൽകാനും പുനരുപയോഗ ഊർജ സാങ്കേതികവിദ്യകൾക്ക് കഴിയും.<ref name="mdg">[http://www.worldwatch.org/system/files/ren21-1.pdf Energy for Development: The Potential Role of Renewable Energy in Meeting the Millennium Development Goals] {{Webarchive|url=https://web.archive.org/web/20080527233918/http://www.worldwatch.org/system/files/ren21-1.pdf|date=27 May 2008}} pp. 7–9.</ref> പ്രതിശീർഷ സൗരോർജ്ജ സംവിധാനങ്ങളുടെ എണ്ണത്തിൽ കെനിയയാണ് ലോകത്തെ മുൻനിരയിലുള്ളത്.<ref name="en.ccchina.gov.cn">{{Cite web|url=http://en.ccchina.gov.cn/Detail.aspx?newsId=38323&TId=97|title=Archived copy|access-date=30 April 2018|archive-url=https://web.archive.org/web/20131105071350/http://en.ccchina.gov.cn/Detail.aspx?newsId=38323&TId=97|archive-date=5 November 2013}}</ref> === മലിനീകരണം === ==== ജല മലിനീകരണം ==== [[പ്രമാണം:Factory_in_China_at_Yangtze_River.JPG|ലഘുചിത്രം| ചൈനയിലെ യാങ്‌സി നദിക്കരയിലെ ഫാക്ടറി]] [[പ്രമാണം:Plastic_Pollution_in_Ghana.jpg|ലഘുചിത്രം| ഘാനയിലെ പ്ലാസ്റ്റിക് മലിനീകരണം]] പല വികസ്വര രാജ്യങ്ങളിലും [[ജലമലിനീകരണം]] ഒരു പ്രധാന പ്രശ്നമാണ്. ഇതിന് എല്ലാ തലങ്ങളിലും (അന്താരാഷ്ട്രം മുതൽ വ്യക്തിഗത ജലസംഭരണികളും കിണറുകളും വരെ) ജലവിഭവ നയത്തിന്റെ തുടർച്ചയായ വിലയിരുത്തലും പുനരവലോകനവും ആവശ്യമാണ്. ലോകമെമ്പാടുമുള്ള മരണങ്ങൾക്കും രോഗങ്ങൾക്കും കാരണം ജലമലിനീകരണമാണ് എന്നും ഇത് പ്രതിദിനം 14,000-ത്തിലധികം ആളുകളുടെ മരണത്തിന് കാരണമാകുന്നുവെന്നും അഭിപ്രായമുണ്ട്.<ref name="death2">{{cite news |url=http://environment.about.com/od/environmentalevents/a/waterdayqa.htm |last=West |first=Larry |name-list-style=vanc |publisher=About.com |title=World Water Day: A Billion People Worldwide Lack Safe Drinking Water |date=2006-03-26 |access-date=2022-07-21 |archive-date=2016-12-27 |archive-url=https://web.archive.org/web/20161227153137/http://environment.about.com/od/environmentalevents/a/waterdayqa.htm |url-status=dead }}</ref><ref name="death">{{cite news|url=https://finance.yahoo.com/columnist/article/trenddesk/3748 | last = Pink | first = Daniel H. | name-list-style = vanc |publisher=Yahoo |title=Investing in Tomorrow's Liquid Gold |date=April 19, 2006 |url-status=dead |archive-url=https://web.archive.org/web/20060423172532/https://finance.yahoo.com/columnist/article/trenddesk/3748 |archive-date=April 23, 2006 }}</ref> ഉയർന്ന അളവിലുള്ള ജലമലിനീകരണമുള്ള രണ്ട് രാജ്യങ്ങളാണ് ഇന്ത്യയും ചൈനയും: ഇന്ത്യയിൽ പ്രതിദിനം 580 പേർ ജലമലിനീകരണവുമായി ബന്ധപ്പെട്ട അസുഖങ്ങൾ (ജലജന്യ രോഗങ്ങൾ ഉൾപ്പെടെ) മൂലം മരിക്കുന്നതായി കണക്കാക്കപ്പെടുന്നു.<ref>{{Cite web|url=http://inclentrust.org/uploadedbyfck/file/Diarrhoea-Pneumonia/Lecture%203_1%20Burden%20of%20diarrhea%20in%20children%20in%20India%20-12th%20dec.pdf|title=An overview of diarrhea, symptoms, diagnosis and the costs of morbidity|year=2010|website=CHNRI|archive-url=https://web.archive.org/web/20130512231350/http://www.inclentrust.org/uploadedbyfck/file/Diarrhoea-Pneumonia/Lecture%203_1%20Burden%20of%20diarrhea%20in%20children%20in%20India%20-12th%20dec.pdf|archive-date=May 12, 2013}}</ref> ചൈനയിലെ നഗരങ്ങളിലെ വെള്ളത്തിന്റെ 90 ശതമാനവും മലിനമാണ്.<ref>"[http://www.chinadaily.com.cn/english/doc/2005-06/07/content_449451.htm China says water pollution so severe that cities could lack safe supplies]". Chinadaily.com.cn. June 7, 2005.</ref> 2007 ലെ കണക്കനുസരിച്ച് അര ബില്യൺ ചൈനക്കാർക്ക് സുരക്ഷിതമായ കുടിവെള്ളം ലഭ്യമല്ല.<ref>{{cite news |last1=Kahn |first1=Joseph |last2=Yardley |first2=Jim | name-list-style = vanc |date=2007-08-26 |title=As China Roars, Pollution Reaches Deadly Extremes |url=https://www.nytimes.com/2007/08/26/world/asia/26china.html |newspaper=New York Times}}</ref> ==== ഇൻഡോർ വായു മലിനീകരണം ==== വികസ്വര രാജ്യങ്ങളിലെ ഇൻഡോർ വായു മലിനീകരണം ഒരു വലിയ ആരോഗ്യ പ്രശ്നമാണ്.<ref>{{Cite journal|title=Indoor air pollution in developing countries: a major environmental and public health challenge|journal=Bulletin of the World Health Organization|volume=78|issue=9|pages=1078–92|date=2000|pmid=11019457|pmc=2560841}}</ref> ബയോമാസ് കത്തിക്കുന്നതാണ് വികസ്വര രാജ്യങ്ങളിലെ ഇൻഡോർ വായു മലിനീകരണത്തിന്റെ പ്രധാന ഉറവിടം. ലോകമെമ്പാടുമുള്ള വികസ്വര രാജ്യങ്ങളിലെ 300 കോടി ജനങ്ങൾ തടി, [[കരി]], ചാണകം, വിളകളുടെ അവശിഷ്ടം എന്നിവയുടെ രൂപത്തിലുള്ള ബയോമാസിനെ അവരുടെ ഗാർഹിക പാചക ഇന്ധനമായി ഉപയോഗിക്കുന്നു.<ref>{{Cite journal|year=2008|title=Indoor air pollution, health and economic well-being|url=http://sapiens.revues.org/index130.html|journal=S.A.P.I.EN.S|volume=1|issue=1}}</ref> പാചകത്തിന്റെ ഭൂരിഭാഗവും വീടിനുള്ളിൽ, ശരിയായ വായുസഞ്ചാരമില്ലാത്ത അന്തരീക്ഷത്തിലാണ് നടക്കുന്നത് എന്നതിനാൽ, ദശലക്ഷക്കണക്കിന് ആളുകൾ, പ്രാഥമികമായി ദരിദ്രരായ സ്ത്രീകളും കുട്ടികളും ഗുരുതരമായ ആരോഗ്യ അപകടങ്ങൾ അഭിമുഖീകരിക്കുന്നു. ആഗോളതലത്തിൽ, 2012 ൽ താഴ്ന്ന, ഇടത്തരം വരുമാനമുള്ള വികസ്വര രാജ്യങ്ങളിൽ, 4.3 ദശലക്ഷം മരണങ്ങൾ ഇൻഡോർ വായു മലിനീകരണം മൂലം ഉണ്ടായി. യഥാക്രമം 1.69, 1.62 ദശലക്ഷം മരണങ്ങളുള്ള തെക്ക് കിഴക്കൻ ഏഷ്യൻ, പടിഞ്ഞാറൻ പസഫിക് മേഖലകളാണ് കൂടുതൽ ബാധിക്കപ്പെട്ടിട്ടുള്ളത്. ആഫ്രിക്കയിൽ ഏകദേശം 600,000 മരണങ്ങൾ സംഭവിക്കുന്നു.<ref name="WHO1">{{Cite web|url=https://www.who.int/phe/health_topics/outdoorair/databases/FINAL_HAP_AAP_BoD_24March2014.pdf?ua=1|title=Burden of disease from Indoor Air Pollution for 2012|access-date=2014-03-28|date=2014-03-24|publisher=WHO}}</ref> 2000 മുതലുള്ള ഒരു കണക്ക് പ്രകാരം മരണസംഖ്യ 1.5 ദശലക്ഷത്തിനും 2 ദശലക്ഷത്തിനും ഇടയിലാണ്.<ref name="Ezzati">{{Cite journal|title=The health impacts of exposure to indoor air pollution from solid fuels in developing countries: knowledge, gaps, and data needs|journal=Environmental Health Perspectives|volume=110|issue=11|pages=1057–68|date=November 2002|pmid=12417475|pmc=1241060|doi=10.1289/ehp.021101057}}</ref> ഇൻഡോർ വായു മലിനീകരണത്തിന്റെ പല പ്രത്യാഘാതങ്ങളും പരിഹരിക്കുന്നതിനായുള്ള താങ്ങാനാവുന്ന ഒരു പരിഹാരം കണ്ടെത്തുന്നത് സങ്കീർണ്ണമാണ്. ജ്വലനം മെച്ചപ്പെടുത്തുക, പുക ശ്വസിക്കുന്നത് കുറയ്ക്കുക, സുരക്ഷ മെച്ചപ്പെടുത്തുകയും തൊഴിലാളികളെ കുറയ്ക്കുകയും ചെയ്യുക, ഇന്ധനച്ചെലവ് കുറയ്ക്കുക, സുസ്ഥിരതയെ അഭിസംബോധന ചെയ്യുക എന്നിവയാണ് ചില തന്ത്രങ്ങൾ.<ref>{{Cite journal|title=Indoor air pollution, health and economic well-being|journal=S.A.P.I.EN.S|volume=1|issue=1|year=2008|url=http://sapiens.revues.org/index130.html}}</ref> === കാലാവസ്ഥാ വ്യതിയാനം === [[പ്രമാണം:Change_in_Average_Temperature.svg|വലത്ത്‌|ലഘുചിത്രം| 1951 മുതൽ 1978 വരെയുള്ള അടിസ്ഥാന ശരാശരിയുമായി താരതമ്യം ചെയ്യുമ്പോൾ 2010 മുതൽ 2019 വരെയുള്ള ശരാശരി ആഗോള താപനില. ഉറവിടം: നാസ.]] കാലാവസ്ഥാ വ്യതിയാനത്തെക്കുറിച്ചുള്ള ഇന്റർഗവൺമെന്റൽ പാനൽ ആയ [[ഇന്റർഗവൺമെന്റൽ പാനൽ ഓൺ ക്ലൈമറ്റ് ചേഞ്ച്]] (ഐപിസിസി) മനുഷ്യ ഇടപെടൽ മൂലമാണ് ആഗോള താപനം ഉണ്ടാകുന്നത് എന്ന കാര്യത്തിൽ 'വ്യക്തതയില്ല' എന്നാണ് സ്ഥിരീകരിച്ചത്.<ref name=":8">{{Citation |title=Near-term Climate Change: Projections and Predictability |url=http://dx.doi.org/10.1017/cbo9781107415324.023 |work=Climate Change 2013 - The Physical Science Basis |pages=953–1028 |editor-last=Intergovernmental Panel on Climate Change |place=Cambridge |publisher=Cambridge University Press |isbn=978-1-107-41532-4 |access-date=2020-11-30}}</ref> കാലാവസ്ഥാ വ്യതിയാനത്തിന്റെ പ്രത്യാഘാതങ്ങൾ ലോകമെമ്പാടും അനുഭവപ്പെടുകയും സമൂഹങ്ങൾക്കും പരിസ്ഥിതിക്കും അപകടകരമായ തീവ്രമായ കാലാവസ്ഥാ സംഭവങ്ങൾ ആയ, വരൾച്ച, വെള്ളപ്പൊക്കം, [[ജൈവവൈവിധ്യ ഹാനി]], രോഗങ്ങൾ, [[സമുദ്രനിരപ്പിന്റെ ഉയർച്ച|സമുദ്രനിരപ്പ് ഉയരൽ]] തുടങ്ങിയ സംഭവങ്ങൾക്ക് കാരണമാകുകയും ചെയ്യും.<ref name=":0">{{Cite web|url=http://www.preventionweb.net/english/professional/publications/v.php?id=17016|title=Climate vulnerability monitor 2010: the state of the climate crisis – Documents & Publications – Professional Resources|access-date=2013-06-26|publisher=PreventionWeb.net|archive-date=2012-03-11|archive-url=https://web.archive.org/web/20120311074817/http://www.preventionweb.net/english/professional/publications/v.php?id=17016|url-status=dead}}</ref> വികസ്വര രാജ്യങ്ങൾ കാലാവസ്ഥാ വ്യതിയാനത്തിന്റെ പ്രധാന കാരണം അല്ല.<ref name=":8"/> കാർബൺ ഉദ്‌വമനത്തിന്റെ 79% വികസിത രാജ്യങ്ങളുടെ സംഭാവനയാണ്.<ref>Center for Global Development, 18 August 2015 [https://www.cgdev.org/media/who-caused-climate-change-historically "Developed Countries Are Responsible for 79 Percent of Historical Carbon Emissions"]</ref> ഉയർന്ന കാലാവസ്ഥാ ദുർബലത, താഴ്ന്ന സാമ്പത്തിക നില,<ref>UK Government Official Documents, February 2021, [https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/957629/Dasgupta_Review_-_Headline_Messages.pdf "The Economics of Biodiversity: The Dasgupta Review Headline Messages"] p. 2</ref> സാങ്കേതിക വിദ്യയിലേക്കുള്ള പ്രവേശനത്തിലെ പരിമിതപ്പെടുത്തൽ, അടിസ്ഥാന സൗകര്യങ്ങളിലെ അപര്യാപ്തത, സാമ്പത്തിക സ്രോതസ്സുകളിലേക്കുള്ള പരിമിതമായ പ്രവേശനം തുടങ്ങിയ പ്രശ്‌നങ്ങൾ കാരണം കാലാവസ്ഥാ വ്യതിയാനം കൂടുതൽ ബാധിക്കുന്നത് വികസ്വര രാജ്യങ്ങളെയാണ്. ഒരു രാജ്യം [[കാലാവസ്ഥാ വ്യതിയാനത്തിന്റെ അപകടസാധ്യത|കാലാവസ്ഥാ വ്യതിയാനത്തിന്]] പ്രത്യേകിച്ച് ഇരയാകുമ്പോൾ അവരെ "ഉയർന്ന കാലാവസ്ഥാ ദുർബലത" ഉള്ള രാജ്യം എന്ന് വിളിക്കുന്നു. സബ്-സഹാറൻ ആഫ്രിക്കയിലെ ചില രാജ്യങ്ങൾ, അഫ്ഗാനിസ്ഥാൻ, ഹെയ്തി, മ്യാൻമർ, സൊമാലിയ, ചെറു ദ്വീപ് രാജ്യങ്ങൾ എന്നിവ ഉദാഹരണങ്ങളാണ്. വികസ്വര രാജ്യങ്ങളുടെ പ്രതിശീർഷ ഹരിതഗൃഹ വാതക ഉദ്‌വമനം ചെറിയ അളവിൽ മാത്രമേ ഉള്ളൂവെങ്കിലും ആഗോളതാപനത്തിന്റെ പ്രതികൂല ഫലങ്ങൾക്ക് അവർ വളരെ ഇരയാകേണ്ടിവരുന്നു.<ref name=":4"/><ref name=":3">{{Cite web|url=https://theconversation.com/australia-the-us-and-europe-are-climate-free-riders-its-time-to-step-up-53953|title=Australia, the US and Europe are climate 'free-riders': it's time to step up|access-date=4 May 2018|website=The Conversation (Australia edition)}}</ref> അത്തരം ബാധിത രാജ്യങ്ങളിൽ കൊമോറോസ്, ദി ഗാംബിയ, ഗിനിയ-ബിസാവു, സാവോ ടോം ആൻഡ് പ്രിൻസിപെ, സോളമൻ ദ്വീപുകൾ, വാനുവാട്ടു എന്നിവ ഉൾപ്പെടുന്നു.<ref name=":3" /> 2010-ലെയും 2012-ലെയും ക്ലൈമറ്റ് വൾനറബിലിറ്റി മോണിറ്റർ റിപ്പോർട്ടുകളിൽ കാലാവസ്ഥാ ദുർബലത കണക്കാക്കിയിട്ടുണ്ട്. വികസ്വര രാജ്യങ്ങളിലെ കാലാവസ്ഥാ ദുർബലത, ആരോഗ്യം, അങ്ങേയറ്റത്തെ കാലാവസ്ഥ, [[ആവാസവ്യവസ്ഥയുടെ തകർച്ച|ആവാസവ്യവസ്ഥയുടെ നഷ്ടം]], സാമ്പത്തിക സമ്മർദ്ദം എന്നീ നാല് ആഘാത മേഖലകളിലാണ് സംഭവിക്കുന്നത്.<ref name=":0"/><ref name=":4"/> 2012 ലെ ക്ലൈമറ്റ് വൾനറബിലിറ്റി മോണിറ്ററിന്റെ ഒരു റിപ്പോർട്ട് കണക്കാക്കുന്ന പ്രകാരം, കാലാവസ്ഥാ വ്യതിയാനം ഓരോ വർഷവും ശരാശരി 400,000 മരണങ്ങൾക്ക് കാരണമാകുന്നു, പ്രധാനമായും വികസ്വര രാജ്യങ്ങളിലെ പട്ടിണിയും സാംക്രമിക രോഗങ്ങളും കാരണം.<ref name="CVM report 2012">{{Cite book|title=Climate vulnerability monitor : a guide to the cold calculus of a hot planet|url=https://archive.org/details/climatevulnerabi0000dara|date=2012|publisher=DARA|others=DARA, Climate Vulnerable Forum|isbn=9788461605675|edition=2nd|location=[Madrid]|oclc=828337356}}</ref> {{Rp|17}} ലോകത്തിലെ ഏറ്റവും ദരിദ്ര രാജ്യങ്ങളിൽ ഈ പ്രത്യാഘാതങ്ങൾ ഏറ്റവും രൂക്ഷമാണ്. കാലാവസ്ഥാ വ്യതിയാനത്തിന് കാരണമായവയും കാലാവസ്ഥാ വ്യതിയാനം ഏറ്റവും കൂടുതൽ അനുഭവിക്കുന്നവയും തമ്മിലുള്ള പൊരുത്തക്കേട് അന്താരാഷ്ട്ര തലത്തിൽ അംഗീകരിക്കപ്പെട്ടിട്ടുണ്ട്, ഇതിനെ "[[കാലാവസ്ഥാ നീതി]]" എന്ന് വിളിക്കുന്നു. ഐക്യരാഷ്ട്രസഭയുടെ ചില കാലാവസ്ഥാ വ്യതിയാന സമ്മേളനങ്ങളിൽ (COP) ഇത് ചർച്ചാവിഷയമാണ്. "കാലാവസ്ഥാ വ്യതിയാനത്തിന്റെ ആഘാതങ്ങളിൽ നിന്ന് അപകടത്തിലാകുന്ന ഉപജീവനത്തെക്കുറിച്ച് ചിന്തിക്കുമ്പോൾ, വികസ്വര രാജ്യങ്ങളിൽ, പ്രത്യേകിച്ച് ഏറ്റവും വികസനം കുറഞ്ഞ രാജ്യങ്ങളിലും ചെറിയ ദ്വീപ് രാജ്യങ്ങളിലും താമസിക്കുന്ന ആളുകൾക്ക് കാലാവസ്ഥാ മാറ്റത്തോട് പൊരുത്തപ്പെടാൻ സാമ്പത്തിക സ്രോതസ്സുകൾ വളരെ കുറവാണെന്ന് ഞങ്ങൾക്കറിയാം" എന്ന് യൂറോപ്യൻ ഇൻവെസ്റ്റ്‌മെന്റ് ബാങ്കിന്റെ മുഖ്യ കാലാവസ്ഥാ വ്യതിയാന വിദഗ്ധൻ നാൻസി സെയ്ച്ച് പറയുന്നു.<ref>{{Cite web|url=https://www.eib.org/en/stories/climate-bank-roadmap|title=A plan for the long haul to contribute finance to the European Green Deal|access-date=2021-06-10|website=European Investment Bank|language=en}}</ref> ==== ആഘാതങ്ങൾ ==== മാറുന്ന കാലാവസ്ഥയും സാമ്പത്തിക ബാധ്യതകൾക്ക് കാരണമാകുന്നു. ഏറ്റവും കുറഞ്ഞ വികസിത രാജ്യങ്ങളിലെ സമ്പദ്‌വ്യവസ്ഥകൾക്ക് പ്രധാനമായും തൊഴിൽ ഉൽപ്പാദനക്ഷമത കുറയുന്നത് കാരണം 2010-ൽ അവരുടെ [[മൊത്ത ആഭ്യന്തര ഉത്പാദനം|മൊത്ത ആഭ്യന്തര ഉൽപ്പാദനത്തിന്റെ]] ശരാശരി 7% നഷ്ടപ്പെട്ടു.<ref name="CVM report 2012"/> {{Rp|14}} സമുദ്രനിരപ്പ് ഉയരുന്നത് മൂലം 2010-ൽ ഏറ്റവും കുറഞ്ഞ വികസനമുള്ള രാജ്യങ്ങൾ ജിഡിപിയുടെ 1% ചിലവാക്കിയെന്നും പസഫിക്കിലെ രാജ്യങ്ങൾ 4% ചിലവാക്കിയെന്നും, ഇത് മൂലം ലോക സമ്പദ്‌വ്യവസ്ഥയിൽ നിന്ന് പ്രതിവർഷം 65 ബില്യൺ ഡോളർ നഷ്ടപ്പെടുന്നുവെന്നും പറയപ്പെടുന്നു.<ref name=":0"/> മത്സ്യബന്ധനത്തിലെ ആഘാതം മറ്റൊരു ഉദാഹരണമാണ്. ഏകദേശം 40 രാജ്യങ്ങൾ ഹരിതഗൃഹ വാതക ഉദ്‌വമനം മത്സ്യബന്ധനത്തിൽ ചെലുത്തുന്ന ആഘാതത്തിന് ഇരയാകുന്നു. വലിയ മത്സ്യബന്ധന മേഖലകളുള്ള വികസ്വര രാജ്യങ്ങളെ ഇത് പ്രത്യേകിച്ച് ബാധിക്കുന്നു.<ref name="CVM report 2012" /> {{Rp|279}}2010 ലെ Cancún COP16 കാലത്ത്, കാലാവസ്ഥാ വ്യതിയാനവുമായി പൊരുത്തപ്പെടുന്നതിന് വികസ്വര രാജ്യങ്ങൾക്ക് ഗ്രീൻ ക്ലൈമറ്റ് ഫണ്ട് വഴി ദാതാക്കൾ 2020-ഓടെ വാർഷികസഹായമായി 100 ബില്യൺ ഡോളർ വാഗ്ദാനം ചെയ്തു. എന്നിരുന്നാലും, വികസിത രാജ്യങ്ങളുടെ വ്യക്തമായ വാഗ്ദാനങ്ങൾ ഉണ്ടായിട്ടില്ല.<ref>{{Cite web|url=https://www.dandc.eu/en/article/climate-finance-terrible-sense-limbo-says-iied-expert-saleemul-huq|title=Climate finance is in "a terrible sense of limbo", says IIED expert Saleemul Huq|website=D+C|archive-url=https://web.archive.org/web/20121012042541/http://www.dandc.eu/articles/220605/index.en.shtml|archive-date=12 October 2012}}</ref><ref name="International_Adaptation_Finance">{{Cite book|url=http://www.eed.de/fix/files/doc/2008_BMueller_int_adapatation_finance.pdf|title=International Adaptation Finance: The Need for an Innovative and Strategic Approach 4 (Oxford Institute for Energy Studies, Working Paper)|last=Müller|first=Benito|date=2008|publisher=Oxford Institute for Energy Studies|isbn=978-1-901795-76-9|location=Oxford|access-date=11 October 2014|archive-url=https://web.archive.org/web/20120229175020/http://www.eed.de/fix/files/doc/2008_BMueller_int_adapatation_finance.pdf|archive-date=29 February 2012|df=dmy-all}}</ref> [[ഇമ്മാനുവൽ മാക്രോൺ]] (ഫ്രാൻസ് പ്രസിഡന്റ്) 2017 ലെ ബോണിലെ യുണൈറ്റഡ് നേഷൻസ് കാലാവസ്ഥാ വ്യതിയാന കോൺഫറൻസിൽ (COP 23) "കാലാവസ്ഥാ വ്യതിയാനം ഇതിനകം അന്യായമായ ഒരു ലോകത്തിന് കൂടുതൽ അനീതി നൽകുന്നു" എന്ന് പറഞ്ഞു.<ref name="Carrington-2017.11.15">Damian Carrington, [https://www.theguardian.com/environment/2017/nov/15/climate-change-will-determine-humanitys-destiny-says-angela-merkel "Climate change will determine humanity's destiny, says Angela Merkel"], ''[[The Guardian]]'', 15 November 2017 (page visited on 15 November 2017).</ref> സാമ്പത്തിക വികസനവും കാലാവസ്ഥയും അഭേദ്യമായി ബന്ധപ്പെട്ടിരിക്കുന്നു, പ്രത്യേകിച്ച് ദാരിദ്ര്യം, [[ലിംഗസമത്വം]], ഊർജ്ജം എന്നിവയുമായി.<ref name=":1">{{Cite web|url=http://cdkn.org/wp-content/uploads/2015/05/Impact-of-climate-on-SDGs-technical-report-CDKN.pdf|title=The impact of climate change on the achievement of the post-2015 sustainable development goals|access-date=20 May 2015|last=Ansuategi, A|last2=Greño, P|date=May 2015|publisher=CDKN & HR Wallingford|last3=Houlden, V|display-authors=etal}}</ref> [[സുസ്ഥിര വികസന ലക്ഷ്യങ്ങൾ]] (SDGs) നേടിയാൽ മാത്രമേ കാലാവസ്ഥാ വ്യതിയാനത്തെ നേരിടാൻ സാധിക്കുകയുള്ളൂ, പ്രത്യേകിച്ചും കാലാവസ്ഥാ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള സുസ്ഥിര വികസന ലക്ഷ്യം 13.<ref name=":1"/> കാലാവസ്ഥാ സമ്മർദ്ദം വികസ്വര രാജ്യങ്ങളിലും അതിനപ്പുറവും നിലവിലുള്ള കുടിയേറ്റ പാറ്റേണുകളിലേക്ക് ചേർക്കാൻ സാധ്യതയുണ്ട്, പക്ഷേ ആളുകളുടെ പുതിയ ഒഴുക്ക് സൃഷ്ടിക്കുമെന്ന് പ്രതീക്ഷിക്കുന്നില്ല. {{Rp|110|date=November 2012}} 2018-ലെ [[ലോക ബാങ്ക്|ലോകബാങ്കിന്റെ]] ഒരു റിപ്പോർട്ട് കണക്കാക്കുന്നത് കാലാവസ്ഥാ വ്യതിയാനത്തിന്റെ സാവധാനത്തിലുള്ള ആഘാതങ്ങളിൽ നിന്ന് രക്ഷപ്പെടാൻ മൂന്ന് പ്രദേശങ്ങളിലെ (സബ്-സഹാറൻ ആഫ്രിക്ക, ദക്ഷിണേഷ്യ, ലാറ്റിനമേരിക്ക) ഏകദേശം 143 ദശലക്ഷം ആളുകൾ സ്വന്തം നാട് വിട്ട് സ്വന്തം രാജ്യങ്ങളിലെ തന്നെ മറ്റിടങ്ങളിലേക്ക് മാറാൻ നിർബന്ധിതരാകുമെന്ന് ആണ്. ജലലഭ്യതയും വിള ഉൽപ്പാദനക്ഷമതയും കുറവുള്ള പ്രദേശങ്ങളിൽ നിന്നും അതുപോലെ സമുദ്രനിരപ്പ് ഉയരുന്നതും കൊടുങ്കാറ്റിന്റെ ആഘാതവും ബാധിച്ച പ്രദേശങ്ങളിൽ നിന്നും അവർ കുടിയേറ്റം നടത്തും.<ref>Rigaud, Kanta Kumari; de Sherbinin, Alex; Jones, Bryan; Bergmann, Jonas; Clement, Viviane; Ober, Kayly; Schewe, Jacob; Adamo, Susana; McCusker, Brent; Heuser, Silke; Midgley, Amelia. 2018. [https://openknowledge.worldbank.org/handle/10986/29461 Groundswell : Preparing for Internal Climate Migration]. World Bank, Washington, DC.</ref> കാലാവസ്ഥാ വ്യതിയാനത്തിന്റെ പ്രത്യാഘാതങ്ങളുമായി പൊരുത്തപ്പെടുന്നതിൽ വികസ്വര രാജ്യങ്ങൾ അഭിമുഖീകരിക്കുന്ന സമ്മർദങ്ങളും വെല്ലുവിളികളും ഉണ്ടായിരുന്നിട്ടും, [[ബംഗ്ലാദേശ്|ബംഗ്ലദേശ്]] പോലുള്ള രാജ്യങ്ങളിൽ നിന്നും ഈ രംഗത്ത് ലോകനേതാക്കൾ ഉണ്ട്. 2009-ൽ ബംഗ്ലാദേശ് കാലാവസ്ഥാ വ്യതിയാനവുമായി എങ്ങനെ പൊരുത്തപ്പെടും എന്നതിനെ കേന്ദ്രീകരിച്ച് ഒരു ദേശീയ പരിപാടി രൂപീകരിച്ച് അങ്ങനെ ചെയ്യുന്ന ആദ്യ രാജ്യം ആയി.<ref>{{Cite journal|last=Gilbert|first=Natasha|date=2008-09-11|title=Bangladesh launches climate change action plan|url=http://dx.doi.org/10.1038/news.2008.1103|journal=Nature|doi=10.1038/news.2008.1103|issn=0028-0836}}</ref> ഈ പദ്ധതികളെ പിന്തുണയ്ക്കുന്നതിനായി അവർ ഒരു ഫണ്ട് സ്ഥാപിച്ച് പ്രതിവർഷം ശരാശരി $1 ബില്യൺ ചെലവഴിക്കുന്നു.<ref>{{Cite news|last=Star Report|date=10 July 2019|title=Hamid for active role in climate change adaptation|work=The Daily Star|url=https://thedailystar.net|access-date=30 November 2020}}</ref> === ജനസംഖ്യാ വർദ്ധനവ് === [[പ്രമാണം:Total_Fertility_Rate_Map_by_Country.svg|ലഘുചിത്രം| 2020 ലെ ഫെർട്ടിലിറ്റി നിരക്ക് അനുസരിച്ച് രാജ്യങ്ങളുടെയും പ്രദേശങ്ങളുടെയും ഭൂപടം]] കഴിഞ്ഞ ഏതാനും പതിറ്റാണ്ടുകളായി, ആഗോള ജനസംഖ്യാ വളർച്ചയെ പ്രധാനമായും നയിക്കുന്നത് പലപ്പോഴും വികസിത രാജ്യങ്ങളെ അപേക്ഷിച്ച് ഉയർന്ന ജനനനിരക്ക് (ഉയർന്ന ഗർഭധാരണ നിരക്ക്) ഉള്ള വികസ്വര രാജ്യങ്ങളാണ്. ഐക്യരാഷ്ട്രസഭയുടെ അഭിപ്രായത്തിൽ, ഈ രാജ്യങ്ങളിലെ ജനസംഖ്യാ വളർച്ച മന്ദഗതിയിലാക്കാനും ദാരിദ്ര്യം കുറയ്ക്കാനും [[കുടുംബാസൂത്രണം]] സഹായിക്കും.<ref name="Population and poverty"/> നൈജീരിയയിലെ അക്രമാസക്തമായ ഇടയൻ-കർഷക സംഘർഷങ്ങൾ, മാലിയിലെ ഫുലാനി ഇടയന്മാർക്കെതിരായ 2019 മാർച്ചിലെ ആക്രമണം, സുഡാനീസ് നാടോടി സംഘട്ടനങ്ങൾ, സഹേൽ മേഖലയിലെ രാജ്യങ്ങളിലെ മറ്റ് സംഘർഷങ്ങൾ എന്നിവ കാലാവസ്ഥാ വ്യതിയാനം, ഭൂമി തകർച്ച, [[ജനസംഖ്യാവർദ്ധനവ്]] എന്നിവയാൽ വഷളായവായാണ്.<ref>{{cite magazine |title=How Climate Change Is Spurring Land Conflict in Nigeria |url=http://time.com/5324712/climate-change-nigeria/ |magazine=Time |date=28 June 2018 |access-date=2022-07-21 |archive-date=2021-03-04 |archive-url=https://web.archive.org/web/20210304231237/https://time.com/5324712/climate-change-nigeria/ |url-status=dead }}</ref><ref>{{cite news |title=The battle on the frontline of climate change in Mali |url=https://www.bbc.com/news/the-reporters-46921487 |work=BBC News |date=22 January 2019}}</ref><ref>{{cite news |title=The Deadliest Conflict You've Never Heard of |url=https://www.foreignaffairs.com/articles/nigeria/2019-01-23/deadliest-conflict-youve-never-heard |work=[[Foreign Policy]] |date=23 January 2019 |archive-url=https://web.archive.org/web/20190218125507/https://www.foreignaffairs.com/articles/nigeria/2019-01-23/deadliest-conflict-youve-never-heard |archive-date=18 February 2019 |url-status=live |df=dmy-all }}</ref> വടക്കൻ മാലി സംഘർഷവുമായി വരൾച്ചയും ഭക്ഷ്യക്ഷാമവും ബന്ധപ്പെട്ടിരിക്കുന്നു.<ref>{{cite web|url=https://www.thenewhumanitarian.org/in-depth/sahel-flames-Burkina-Faso-Mali-Niger-militancy-conflict|title=The Sahel in flames|date=2019-05-31|website=The New Humanitarian|language=en|access-date=2019-06-23}}</ref><ref>{{cite news |title=Climate change, food shortages, and conflict in Mali |url=https://www.aljazeera.com/indepth/features/2015/04/climate-change-food-shortages-conflict-mali-150426105617725.html |work=Al-Jazeera |date=27 April 2015}}</ref> === മോശം ഭരണം === പല വികസ്വര രാജ്യങ്ങളും [[Democracy Index|ഡെമോക്രസി ഇൻഡക്സ്]] (ജനാധിപത്യ സൂചിക), [[Freedom in the World|ഫ്രീഡം ഇൻ ദ വേൾഡ്]] (ലോകത്തിലെ സ്വാതന്ത്ര്യം) സർവ്വേ, ലോകത്തിലെ സ്വാതന്ത്ര്യത്തെക്കുറിച്ചുള്ള [[Index of Freedom in the World|ഫ്രീഡം ഇൻ ദ വേൾഡ് സൂചിക]] എന്നിങ്ങനെയുള്ള സ്വാതന്ത്ര്യ സൂചകങ്ങളിൽ പിന്നിലാണ്. കോളനിവൽക്കരണത്തിൽ നിന്നും ഒഴിവായി സ്വതന്ത്രമായതിനു ശേഷവും പല രാജ്യങ്ങളിലും പലപ്പോഴും ഗവൺമെന്റിൽ പ്രഭുക്കന്മാരുടെ നിയന്ത്രണമുണ്ട്.  വ്യാപകമായ [[അഴിമതി|അഴിമതിയും]] സ്വജനപക്ഷപാതവും ആരോഗ്യകരമായ ഒരു ജനാധിപത്യ രാഷ്ട്രത്തിന്റെ സ്ഥാപനത്തിൽ പലപ്പോഴും വെല്ലുവിളികളുയർത്തുന്നുണ്. രാഷ്ട്രീയ അസ്ഥിരതയും രാഷ്ട്രീയ അഴിമതിയും സാധാരണ പ്രശ്നങ്ങളാണ്.<ref>{{Cite web|url=https://earthbound.report/2007/07/01/political-factors-that-affect-development/|title=Political factors that affect development|last=Williams|first=Jeremy|date=1 July 2007}}</ref><ref name="ReferenceA">Edwards, S. "Trade Orientation, Distortions and Growth In Developing Countries." (n.d.): n. pag. 1–37</ref> കുറഞ്ഞ അഴിമതി എന്ന ലക്ഷ്യത്തിലെത്താൻ, വികസ്വര രാജ്യങ്ങൾ സാധാരണയായി തങ്ങളുടെ പ്രദേശങ്ങളിലെ വിവിധ സ്ഥാപനങ്ങൾക്കായി താഴെപ്പറയുന്നവ പോലെ പ്രത്യേക നടപടികൾ ഉപയോഗിക്കുന്നു: * അഴിമതിയിൽ അധിഷ്ഠിതമല്ലാത്തതും പൂർണ്ണമായും രാജ്യത്തിന്റെ മൂല്യങ്ങളിലും നിയമങ്ങളിലും അധിഷ്ഠിതമായതുമായ ഒരു പൊതുഭരണ സംവിധാനത്തിന്റെ വികസനം അല്ലെങ്കിൽ സൃഷ്ടി. * അഴിമതിയുടെ സ്രോതസ്സുകളെക്കുറിച്ചും കാരണങ്ങളെക്കുറിച്ചും മെച്ചപ്പെട്ട അന്വേഷണം. * അഴിമതിയുടെ ഉറവിടത്തെക്കുറിച്ചും രാജ്യത്തിന്റെ സമ്പദ്‌വ്യവസ്ഥയെ പ്രതികൂലമായി ബാധിക്കുന്നതിനെക്കുറിച്ചും ജനങ്ങളെ പരസ്യമായി അറിയിക്കുക. * അഴിമതിയുടെ ഉറവിടമാകാതിരിക്കാൻ ഒരു വ്യക്തിയുടെ ഔദ്യോഗിക സ്ഥാനങ്ങളുടെ നിയന്ത്രണം. * പ്രത്യേക സ്ഥാപനങ്ങൾക്കായി, അഴിമതിക്കായി സമർപ്പിച്ച പ്രത്യേക നിയമങ്ങളുടെ സൃഷ്ടി.<ref>{{cite web |url=https://www.gov.am/files/docs/74.pdf |title=Republic of Armenia Anti-Corruption strategy and Implementation Action Plan |date=2003 |publisher=Republic of Armenia |access-date=16 February 2022}}</ref> === മറ്റുള്ളവ === മറ്റ് പൊതുവായ വെല്ലുവിളികളിൽ വ്യാവസായിക-കാർഷിക ഉൽപ്പാദന വർധന, മണ്ണ്, വായു, വെള്ളം എന്നിവയിലേക്ക് നേരിട്ട് വിഷാംശമുള്ള രാസവസ്തുക്കളുടെ ഉദ്വമനം, ഊർജ്ജ സ്രോതസ്സുകളുടെ സുസ്ഥിരമല്ലാത്ത ഉപയോഗം, സുസ്ഥിരമായ ചൂഷണത്തിലേക്കോ ആ വിഭവങ്ങളുടെ ശോഷണത്തിലേക്കോ നയിക്കുന്ന തരത്തിൽ ഉപജീവനത്തിനായി പ്രകൃതിവിഭവങ്ങളെ ഉയർന്ന തോതിൽ ആശ്രയിക്കുന്ന അവസ്ഥ, ശൈശവ വിവാഹം, കടബാധ്യത, കാര്യക്ഷമത കുറഞ്ഞ സിവിൽ സർവീസ്, [[ഭക്ഷ്യ സുരക്ഷ|ഭക്ഷ്യ അരക്ഷിതാവസ്ഥ]], [[സാക്ഷരത|നിരക്ഷരത]], [[തൊഴിലില്ലായ്മ]] എന്നിവ ഉൾപ്പെടുന്നു. പല വികസ്വര രാഷ്‌ട്രങ്ങളുടെയും സമ്പദ്‌വ്യവസ്ഥ പ്രാഥമിക ഉൽ‌പ്പന്നങ്ങളിൽ ഊന്നിയതാണ്, അവരുടെ കയറ്റുമതിയുടെ ഭൂരിഭാഗവും വികസിത രാജ്യങ്ങളിലേക്കാണ്. വികസിത രാജ്യങ്ങൾ സാമ്പത്തിക മാന്ദ്യം നേരിടുമ്പോൾ, 2008-2009 ലെ ആഗോള സാമ്പത്തിക മാന്ദ്യത്തിൽ കണ്ടതുപോലെ, ആഘാതം വികസ്വര രാജ്യങ്ങളിലെ വ്യാപാര പങ്കാളികളിലേക്ക് വേഗത്തിൽ പകരുന്നു. == അവസരങ്ങൾ == * മനുഷ്യ മൂലധനം * വ്യാപാര നയം: കൂടുതൽ നിയന്ത്രണങ്ങളുള്ള നയങ്ങളുള്ള രാജ്യങ്ങൾ തുറന്ന വ്യാപാര നയങ്ങളുള്ള രാജ്യങ്ങളെപ്പോലെ വേഗത്തിൽ വളർന്നിട്ടില്ല. <ref name="ReferenceA">Edwards, S. "Trade Orientation, Distortions and Growth In Developing Countries." (n.d.): n. pag. 1–37</ref> <ref>{{Cite journal|last=Harrison|first=Ann|title=Openness and Growth: A Time-series, Cross-country Analysis for Developing Countries|journal=Journal of Development Economics|volume=48|issue=2|date=1996|pages=419–47|doi=10.1016/0304-3878(95)00042-9|url=https://repository.upenn.edu/cgi/viewcontent.cgi?article=1165&context=mgmt_papers}}</ref> * നിക്ഷേപം: നിക്ഷേപം വളർച്ചയിൽ നല്ല സ്വാധീനം ചെലുത്തുന്നു. <ref name="ReferenceA" /> * വിദ്യാഭ്യാസം<ref>{{Cite journal|last=Verspoor|first=Adriaan|title=Pathways to Change: Improving the Quality of Education in Developing Countries|journal=World Bank Discussion Papers|volume=53}}</ref> * വ്യാപാരത്തിനുള്ള സഹായം: വികസ്വര രാജ്യങ്ങളെ വ്യാപാരവും നേട്ടവും പരിശീലിപ്പിക്കാൻ സഹായിക്കുന്നതിനുള്ള വ്യാപാരത്തിനായുള്ള വർദ്ധനവ് സഹായം ടാർഗെറ്റ് 8.a.1 ന് കീഴിൽ സുസ്ഥിര വികസന ലക്ഷ്യം 8 ൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. വ്യാപാരവുമായി ബന്ധപ്പെട്ട പരിപാടികളിൽ വികസ്വര രാജ്യങ്ങളെ സഹായിക്കുക, വ്യാപാരത്തിനും വ്യാപാര ശേഷിക്കും മുൻഗണന നൽകുക, വ്യാപാര പ്രകടനം മെച്ചപ്പെടുത്തുക, [[ദാരിദ്ര്യം]] കുറയ്ക്കുക എന്നിവയാണ് വ്യാപാരത്തിനുള്ള സഹായം. <ref>{{Cite web|url=http://www.oecd.org/aidfortrade/|title=Aid for Trade – Organisation for Economic Co-operation and Development|access-date=2020-09-24|website=www.oecd.org|language=en}}</ref> * ആഗോള പങ്കാളിത്തം: സുസ്ഥിര വികസന ലക്ഷ്യം 17 -ന്റെ ഒരു വ്യവസ്ഥ, അത് അന്താരാഷ്ട്ര നിക്ഷേപത്തിനും നൂതന സാങ്കേതിക വികസനം, വിപണിയിലേക്കുള്ള പ്രവേശനം, വികസ്വര രാജ്യങ്ങൾക്ക് ന്യായമായ വ്യാപാരം എന്നിവ കൈവരിക്കുന്നതിനുള്ള പിന്തുണയും നല്കുന്നു. <ref>{{Cite web|url=https://www.globalgoals.org/17-partnerships-for-the-goals|title=Goal 17: Partnerships for the Goals|access-date=2020-09-25|website=The Global Goals|language=en}}</ref> == രാജ്യ ലിസ്റ്റുകൾ == === ഇന്റർനാഷണൽ മോണിറ്ററി ഫണ്ട് അനുസരിച്ച് വികസ്വര രാജ്യങ്ങൾ === [[അന്താരാഷ്ട്ര നാണയനിധി|ഇന്റർനാഷണൽ മോണിറ്ററി ഫണ്ടിന്റെ]] വേൾഡ് ഇക്കണോമിക് ഔട്ട്‌ലുക്ക് ഡാറ്റാബേസ്, ഒക്ടോബർ 2018 പ്രകാരം ഇനിപ്പറയുന്നവ വികസ്വര സമ്പദ്‌വ്യവസ്ഥകളായി കണക്കാക്കപ്പെടുന്നു. <ref>{{Cite web|url=https://www.imf.org/~/media/Files/Publications/WEO/2018/October/English/main-report/Text.ashx|title=World Economic Outlook, October,2018, pp.134–135|access-date=2018-10-31|format=PDF}}</ref> <ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2018/02/weodata/groups.htm|title=World Economic Outlook, Database—WEO Groups and Aggregates Information, October 2018|access-date=2018-10-31}}</ref> {{div col|colwidth=18em}} * {{Flag|അഫ്ഗാനിസ്ഥാൻ}} * {{Flag|അൽബേനിയ}} * {{Flag|അൾജീരിയ}} * {{Flag|അംഗോള}} * {{Flag|ആന്റിഗ്വയും ബാർബുഡയും}} * {{Flag|അർജന്റീന}} * {{Flag|അർമേനിയ}} * {{Flag|അസർബൈജാൻ}} * {{Flag|ബഹാമാസ്}} * {{Flag|ബഹ്റൈൻ}} * {{Flag|ബംഗ്ലാദേശ്}} * {{Flag|ബാർബഡോസ്}} * {{Flag|ബെലാറുസ്}} * {{Flag|ബെലീസ്}} * {{Flag|ബെനിൻ}} * {{Flag|ഭൂട്ടാൻ}} * {{Flag|ബൊളീവിയ}} * {{Flag|ബോസ്നിയ ഹെർസെഗോവിന}} * {{Flag|ബോട്സ്വാന}} * {{Flag|ബ്രസീൽ}} * {{Flag|ബ്രൂണൈ}} * {{Flag|ബൾഗേറിയ}} * {{Flag|ബർക്കിനാ ഫാസോ}} * {{Flag|ബുറുണ്ടി}} * {{Flag|കംബോഡിയ}} * {{Flag|കാമറൂൺ}} * {{Flag|കേപ്പ് വേർഡ്}} * {{Flag|മദ്ധ്യ ആഫ്രിക്കൻ റിപ്പബ്ലിക്ക്}} * {{Flag|ചാഡ്}} * {{Flag|ചൈന}} * {{Flag|ചിലി}} * {{Flag|കൊളംബിയ}} * {{Flag|കൊമോറോസ്}} * {{Flag|ഡെമോക്രാറ്റിക് റിപബ്ലിക്ക് ഓഫ് കോംഗോ}} * {{Flag|റിപ്പബ്ലിക്ക് ഓഫ് കോംഗോ}} * {{Flag|കോസ്റ്റാറിക്ക}} * {{Flag|ഐവറി കോസ്റ്റ്}} * {{Flag|ക്രൊയേഷ്യ}} * {{Flag|ജിബൂട്ടി}} * {{Flag|ഡൊമിനിക്ക}} * {{Flag|ഡൊമനിക്കൻ റിപ്പബ്ലിക്}} * {{Flag|ഇക്വഡോർ}} * {{Flag|ഈജിപ്ത്}} * {{Flag|എൽ സാൽവഡോർ}} * {{Flag|ഇക്വറ്റോറിയൽ ഗിനിയ}} * {{Flag|എറിത്രിയ}} * {{Flag|Eswatini|name=ഇസ്വാറ്റിനി}} * {{Flag|എത്യോപ്യ}} * {{Flag|ഫിജി}} * {{Flag|ഗാബോൺ}} * {{Flag|ഗാംബിയ}} * {{Flag|ജോർജ്ജിയ (രാജ്യം)}} * {{Flag|ഘാന}} * {{Flag|ഗ്രെനഡ}} * {{Flag|ഗ്വാട്ടിമാല}} * {{Flag|ഗിനിയ}} * {{Flag|Guinea-Bissau|name=ഗിനി-ബിസൗ}} * {{Flag|ഗയാന}} * {{Flag|ഹെയ്റ്റി}} * {{Flag|Honduras|name=ഹോണ്ടുറാസ്}} * {{Flag|ഹംഗറി}} * {{Flag|ഇന്ത്യ}} * {{Flag|ഇന്തോനേഷ്യ}} * {{Flag|ഇറാൻ}} * {{Flag|ഇറാഖ്}} * {{Flag|ജമൈക്ക}} * {{Flag|ജോർദാൻ}} * {{Flag|കസാഖ്സ്ഥാൻ}} * {{Flag|കെനിയ}} * {{Flag|കിരീബാസ്}} * {{Flag|കുവൈറ്റ്}} * {{Flag|കിർഗിസ്ഥാൻ}} * {{Flag|ലാവോസ്}} * {{Flag|ലെബനാൻ}} * {{Flag|ലെസോത്തോ}} * {{Flag|ലൈബീരിയ}} * {{Flag|ലിബിയ}} * {{Flag|മഡഗാസ്കർ}} * {{Flag|മലാവി}} * {{Flag|മലേഷ്യ}} * {{Flag|മാലദ്വീപ്}} * {{Flag|മാലി}} * {{Flag|മാർഷൽ ദ്വീപുകൾ}} * {{Flag|മൗറിത്താനിയ}} * {{Flag|മൗറീഷ്യസ്}} * {{Flag|മെക്സിക്കോ}} * {{Flag|Federated States of Micronesia|name=ഫെഡറേറ്റഡ് സ്റ്റേറ്റ്സ് ഓഫ് മൈക്രോനേഷ്യ}} * {{Flag|മോൾഡോവ}} * {{Flag|മംഗോളിയ}} * {{Flag|മൊണ്ടിനെഗ്രോ}} * {{Flag|മൊറോക്കൊ}} * {{Flag|മൊസാംബിക്}} * {{Flag|മ്യാൻമാർ}} * {{Flag|നമീബിയ}} * {{Flag|നൗറു}} * {{Flag|നേപ്പാൾ}} * {{Flag|നിക്കരാഗ്വ}} * {{Flag|നൈജർ}} * {{Flag|നൈജീരിയ}} * {{Flag|North Macedonia|name=വടക്ക് മാസിഡോണിയ}} * {{Flag|ഒമാൻ}} * {{Flag|പാക്കിസ്ഥാൻ}} * {{Flag|പലാവു}} * {{Flag|പാലസ്തീൻ}} * {{Flag|പനാമ}} * {{Flag|പാപുവ ന്യൂ ഗിനിയ}} * {{Flag|പരാഗ്വേ}} * {{Flag|പെറു}} * {{Flag|പോളണ്ട്}} * {{Flag|ഫിലിപ്പീൻസ്}} * {{Flag|ഖത്തർ}} * {{Flag|റൊമാനിയ}} * {{Flag|റഷ്യ}} * {{Flag|റുവാണ്ട}} * {{Flag|സൗദി അറേബ്യ}} * {{Flag|Saint Kitts and Nevis|name=സെന്റ് കിറ്റ്‌സ് ആൻഡ് നെവിസ്}} * {{Flag|സെന്റ് ലൂസിയ}} * {{Flag|Saint Vincent and the Grenadines|name=സെന്റ് വിൻസന്റ് ആൻഡ് ഗ്രനഡീൻസ്}} * {{Flag|സമോവ}} * {{Flag|സാവോ ടോം ആൻഡ് പ്രിൻസിപ്പെ}} * {{Flag|സെനെഗൽ}} * {{Flag|സെർബിയ}} * {{Flag|സെയ്‌ഷെൽസ്}} * {{Flag|സിയറ ലിയോൺ}} * {{Flag|സൊമാലിയ}} * {{Flag|ദക്ഷിണാഫ്രിക്ക}} * {{Flag|ദക്ഷിണ സുഡാൻ}} * {{Flag|ശ്രീലങ്ക}} * {{Flag|സുഡാൻ}} * {{Flag|സുരിനാം}} * {{Flag|സിറിയ}} * {{Flag|താജിക്കിസ്ഥാൻ}} * {{Flag|ടാൻസാനിയ}} * {{Flag|തായ്‌ലൻഡ്}} * {{Flag|കിഴക്കൻ ടിമോർ}} * {{Flag|ടോഗോ}} * {{Flag|ടോങ്ക}} * {{Flag|ട്രിനിഡാഡ് ടൊബാഗോ}} * {{Flag|ടുണീഷ്യ}} * {{Flag|തുർക്കി}} * {{Flag|തുർക്ക്മെനിസ്ഥാൻ}} * {{Flag|തുവാലു}} * {{Flag|ഉഗാണ്ട}} * {{Flag|ഉക്രൈൻ}} * {{Flag|ഐക്യ അറബ് എമിറേറ്റുകൾ}} * {{Flag|ഉറുഗ്വേ}} * {{Flag|ഉസ്ബെക്കിസ്ഥാൻ}} * {{Flag|വാനുവാടു}} * {{Flag|വെനിസ്വേല}} * {{Flag|വിയറ്റ്നാം}} * {{Flag|യെമൻ}} * {{Flag|സാംബിയ}} * {{Flag|സിംബാബ്‌വെ}} {{div col end}}  '''ഐ.എം.എഫ് പട്ടികപ്പെടുത്തിയിട്ടില്ലാത്ത രാജ്യങ്ങൾ''' * {{Flag|അബ്ഖാസിയ}} * {{Flag|ക്യൂബ}} * {{Flag|ഉത്തര കൊറിയ}} * {{Flag|സഹ്രാവി അറബ് ഡെമോക്രാറ്റിക്ക് റിപ്പബ്ലിക്ക്}} * {{Flag|സൗത്ത് ഒസ്സെഷ്യ}} === വികസിത സമ്പദ്‌വ്യവസ്ഥ നേടിയ രാജ്യങ്ങളും പ്രദേശങ്ങളും === നാല് ഏഷ്യൻ രാജ്യങ്ങളും പുതിയ [[യൂറോസോൺ]] യൂറോപ്യൻ രാജ്യങ്ങളും ഉൾപ്പെടെ ഇനിപ്പറയുന്ന പട്ടിക 1990-കൾ വരെ ചരിത്രപരമായി വികസ്വര രാജ്യങ്ങളും പ്രദേശങ്ങളും ആയി കണക്കാക്കപ്പെട്ടിരുന്നു, ഇപ്പോൾ അവയെ ഐ.എം.എഫ് വികസിത സമ്പദ്‌വ്യവസ്ഥകളായി പട്ടികപ്പെടുത്തിയിരിക്കുന്നു. ബ്രാക്കറ്റിലെ സമയം എന്നത് അവയെ വികസിത സമ്പദ്‌വ്യവസ്ഥയായി പട്ടികപ്പെടുത്തിയ സമയമാണ്. * {{Flag|ഹോങ്കോങ്ങ്}} (1997 മുതൽ)<ref name="IMF 1997">{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/weo0598/pdf/0598sta.pdf|title=IMF Advanced Economies List. World Economic Outlook, May 1998, p. 134|access-date=2014-01-15}}</ref> * {{Flag|ഇസ്രയേൽ}} (1997 മുതൽ)<ref name="IMF 1997" /> * {{Flag|സിംഗപ്പൂർ}} (1997 മുതൽ)<ref name="IMF 1997" /> * {{Flag|ദക്ഷിണ കൊറിയ}} (1997 മുതൽ)<ref name="IMF 1997" /> * {{Flag|തായ്‌വാൻ}} (1997 മുതൽ)<ref name="IMF 1997" /><ref>The recognition of Taiwan is disputed; most UN-member states officially recognise the sovereignty of the [[People's Republic of China]] over Taiwan, however, some others maintain non-diplomatic relations with the [[Republic of China]]. See [[Foreign relations of Taiwan]].</ref> * {{Flag|സൈപ്രസ്}} (2001 മുതൽ)<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2001/01/pdf/append.pdf|title=World Economic Outlook, April 2001, p.157|access-date=2014-01-15}}</ref> * {{Flag|സ്ലോവേനിയ}} (2007 മുതൽ)<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2007/01/pdf/statappx.pdf|title=World Economic Outlook, April 2007, p.204|access-date=2014-01-15}}</ref> * {{Flag|മാൾട്ട}} (2008 മുതൽ)<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2008/01/pdf/statapp.pdf|title=World Economic Outlook, April 2008, p.236|access-date=2014-01-15}}</ref> * {{Flag|ചെക്ക് റിപ്പബ്ലിക്ക്}} (2009 മുതൽ,<ref name="IMF 2009">{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2009/01/pdf/statapp.pdf|title=World Economic Outlook, April 2009, p.184|access-date=2014-01-15}}</ref> 2006 മുതൽ [[ലോക ബാങ്ക്]] പ്രകാരം)<ref name="worldbank06">{{Cite web|url=http://www.radio.cz/en/article/76314|title=World Bank Marks Czech Republic's Graduation to 'Developed' Status|access-date=22 January 2007|last=Velinger|first=Jan|date=28 February 2006|publisher=Radio Prague|archive-date=2008-01-12|archive-url=https://web.archive.org/web/20080112081601/http://www.radio.cz/en/article/76314|url-status=dead}}</ref> * {{Flag|സ്ലോവാക്യ}} (2009 മുതൽ)<ref name="IMF 2009" /> * {{Flag|എസ്റ്റോണിയ}} (2011 മുതൽ)<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2011/01/pdf/statapp.pdf|title=World Economic Outlook, April 2011, p.172|access-date=2014-01-15}}</ref> * {{Flag|ലാത്വിയ}} (2014 മുതൽ)<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2014/01/pdf/text.pdf|title=World Economic Outlook, April 2014, p.160|access-date=2014-05-21}}</ref> * {{Flag|ലിത്വാനിയ}} (2015 മുതൽ)<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2015/01/pdf/text.pdf|title=World Economic Outlook, April 2015, p.48|access-date=2015-04-11}}</ref> വികസിത സമ്പദ്‌വ്യവസ്ഥകളായി പട്ടികപ്പെടുത്തുന്നതിന് മുമ്പ് താഴെപ്പറയുന്ന മൂന്ന് സമ്പദ്‌വ്യവസ്ഥകൾക്ക് ഡാറ്റ ഇല്ല. എന്നിരുന്നാലും, ഡാറ്റയുടെ അഭാവം കാരണം, വികസിത സമ്പദ്‌വ്യവസ്ഥകളായി പട്ടികപ്പെടുത്തുന്നതിന് മുമ്പ് അവ വികസിത സമ്പദ്‌വ്യവസ്ഥയാണോ അതോ വികസ്വര സമ്പദ്‌വ്യവസ്ഥയാണോ എന്ന് വിലയിരുത്താൻ പ്രയാസമാണ്. * {{Flag|സാൻ മരീനോ}} (2012 മുതൽ)<ref>{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2012/02/pdf/statapp.pdf|title=World Economic Outlook, October 2012, p.180|access-date=2016-08-04}}</ref> * {{Flag|മകൗ}} (2016 മുതൽ)<ref name="IMF 2016">{{Cite web|url=http://www.imf.org/external/pubs/ft/weo/2016/01/pdf/statapp.pdf|title=World Economic Outlook, April 2016, p.148|access-date=2016-06-25}}</ref> * {{Flag|പോർട്ടോ റിക്കോ}} (2016 മുതൽ)<ref name="IMF 2016" /> === പുതുതായി വ്യവസായവൽക്കരിക്കപ്പെട്ട രാജ്യങ്ങൾ === പത്ത് രാജ്യങ്ങൾ "പുതുതായി വ്യവസായവൽക്കരിക്കപ്പെട്ട രാജ്യം" എന്ന വർഗ്ഗീകരണത്തിൽ ഉൾപ്പെടുന്നു. സമ്പദ്‌വ്യവസ്ഥ ഇതുവരെ ഒരു വികസിത രാജ്യത്തിന്റെ പദവിയിൽ എത്തിയിട്ടില്ലെങ്കിലും, മാക്രോ ഇക്കണോമിക് അർത്ഥത്തിൽ, അവരുടെ വികസ്വര എതിരാളികളെ മറികടക്കുന്ന രാജ്യങ്ങളാണ് അവ: *{{flag|ബ്രസീൽ}} *{{flag|ചൈന}} *{{flag|ഇന്ത്യ}} *{{flag|ഇന്തോനേഷ്യ}} *{{flag|മലേഷ്യ}} *{{flag|മെക്സിക്കോ}} *{{flag|ഫിലിപ്പീൻസ്}} *{{flag|ദക്ഷിണാഫ്രിക്ക}} *{{flag|തായ്‌ലൻഡ്}} *{{flag|തുർക്കി}} === ബ്രിക്സ് രാജ്യങ്ങൾ === അഞ്ച് രാജ്യങ്ങൾ "എമർജിംഗ് മാർക്കറ്റ്" ഗ്രൂപ്പുകളിൽ പെടുന്നു, അവയെ ഒരുമിച്ച് [[ബ്രിക്‌സ്‌]] രാജ്യങ്ങൾ എന്ന് വിളിക്കുന്നു: * {{Flag|ബ്രസീൽ}} (2006 മുതൽ) * {{Flag|റഷ്യ}} (2006 മുതൽ) * {{Flag|ഇന്ത്യ}} (2006 മുതൽ) * {{Flag|ചൈന}} (2006 മുതൽ) * {{Flag|ദക്ഷിണാഫ്രിക്ക}} (2010 മുതൽ) == സമൂഹവും സംസ്കാരവും == === മീഡിയ കവറേജ് === വികസ്വര രാജ്യങ്ങളുടെ മാധ്യമ കവറേജ് നോക്കുമ്പോൾ, പാശ്ചാത്യ മാധ്യമങ്ങളിലൂടെ ഒരു സാമാന്യവൽക്കരിച്ച വീക്ഷണം വികസിച്ചതായി കാണാം. വികസ്വര രാജ്യങ്ങളെ കുറിച്ച് പറയുമ്പോൾ [[ബഹുജനമാദ്ധ്യമം|പൊതുമാധ്യമങ്ങളിൽ]] [[ദാരിദ്ര്യം|ദാരിദ്ര്യത്തെക്കുറിച്ചുള്ള]] നെഗറ്റീവ് ചിത്രങ്ങളും കവറേജുകളും പതിവാണ്. ഈ പൊതുവായ കവറേജ് വികസ്വര രാജ്യങ്ങളുടെ ഒരു പ്രബലമായ സ്റ്റീരിയോടൈപ്പ് സൃഷ്ടിച്ചു. <ref>{{Cite web|url=https://www.e-ir.info/2016/11/23/dependency-theory-a-useful-tool-for-analyzing-global-inequalities-today/|title=Dependency Theory: A Useful Tool for Analyzing Global Inequalities Today?|access-date=2020-02-21|website=E-International Relations|language=en-US}}</ref> വികസ്വര രാജ്യങ്ങളിലെ ജനങ്ങൾക്ക് എന്ത് വിവരമാണ് ലഭിക്കുന്നത് എന്നതിലും മാധ്യമങ്ങൾ ഒരു പങ്കു വഹിച്ചിട്ടുണ്ട്. വാർത്തകൾ പലപ്പോഴും അസന്തുലിതാവസ്ഥ സൃഷ്ടിക്കുകയും ചെയ്യുന്നുണ്ട്. <ref>{{Cite journal|last=Philo|first=Greg|date=2001|title=An unseen world: how the media portrays the poor|url=https://archive.org/details/sim_unesco-courier_2001-11_54_11/page/44|journal=UNESCO Courier|volume=54|issue=11|page=44}}</ref> വികസ്വര രാജ്യങ്ങളിലെ ആളുകൾക്ക് മറ്റ് വികസ്വര രാജ്യങ്ങളുടെ കവറേജ് പലപ്പോഴും ലഭിക്കില്ല, പകരം വികസിത രാജ്യങ്ങളെക്കുറിച്ച് ഉദാരമായ കവറേജ് ലഭിക്കുന്നു. == ഇതും കാണുക == * [[കോളനിവാഴ്ച]] * [[ഭൂപരിഷ്കരണം]] == അവലംബം == {{Reflist}} [[വർഗ്ഗം:സുസ്ഥിര വികസനം]] [[വർഗ്ഗം:മാനവികഭൂമിശാസ്ത്രം]] [[വർഗ്ഗം:മൃദു പദപ്രയോഗങ്ങൾ]] [[വർഗ്ഗം:സാമ്പത്തിക ഭൂമിശാസ്ത്രം]] l8vx8133hznr7f90pcj0gi6h5d2qct0 ഫലകം:Deputy Speakers of KLA 10 578582 4621585 3809576 2026-05-22T15:54:48Z Kiran Gopi 10521 4621585 wikitext text/x-wiki {{Navbox | name = Deputy Speakers of KLA | title = [[കേരളനിയമസഭയുടെ ഡെപ്യൂട്ടി സ്പീക്കർമാർ|കേരളനിയമസഭയുടെ ഡെപ്യൂട്ടി സ്പീക്കർമാർ]] |state=collapsed | list1 =[[കെ.ഒ. അയിഷാ ബായ്]]{{·}}[[എ. നഫീസത്ത് ബീവി]]{{·}}[[എം.പി. മുഹമ്മദ് ജാഫർ ഖാൻ]]{{·}}[[ആർ.എസ്. ഉണ്ണി]]{{·}}[[പി.കെ. ഗോപാലകൃഷ്ണൻ]]{{·}}[[എം.ജെ. സക്കറിയ]]{{·}}[[കെ.എം. ഹംസക്കുഞ്ഞ്]]{{·}}[[കൊരമ്പയിൽ അഹമ്മദ് ഹാജി]]{{·}}[[ഭാർഗവി തങ്കപ്പൻ]]{{·}}[[കെ. നാരായണക്കുറുപ്പ്]]{{·}}[[സി.എ. കുര്യൻ]]{{·}}[[എൻ. സുന്ദരൻ നാടാർ]]{{·}}[[ജോസ് ബേബി]]{{·}}[[എൻ. ശക്തൻ]]{{·}}[[പാലോട് രവി]]{{·}}[[വി. ശശി]]{{·}}[[ചിറ്റയം ഗോപകുമാർ]]{{·}}[[ഷാനിമോൾ ഉസ്മാൻ]] }} <noinclude>[[വർഗ്ഗം:കേരളനിയമസഭകളുടെ ഫലകങ്ങൾ|{{PAGENAME}}]]</noinclude> bwc21ctrpcwd59j5vy7bp3qde4owrxf റേഡിയോഗ്രഫി 0 579374 4621631 4525776 2026-05-22T21:51:31Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621631 wikitext text/x-wiki {{pu|Radiography}} {{Infobox medical speciality |title=റേഡിയോഗ്രഫി |subdivisions=Interventional, Nuclear, Therapeutic, Paediatric |image=[[File:Xraymachine.JPG|225px]] |caption=[[Projectional radiography]] of the knee in a modern X-ray machine|system=[[Musculoskeletal system| മസ്കുലോസ്കെലിറ്റൽ]] |diseases=[[അർബുദം]], [[അസ്ഥി]] ഒടിവ് |tests=[[Screening (medicine)|screening tests]], [[X-ray |എക്സ് റേ]], [[X-ray computed tomography|സിടി]], [[MRI|എംആർഐ]], [[positron emission tomography പെറ്റ്]], [[bone scan|ബോൺ സ്കാൻ]], [[ultrasonography| അൾട്രാസോണോഗ്രഫി]], [[mammography|മാമ്മോഗ്രഫി]], [[fluoroscopy|ഫ്ലൂറോസ്കോപ്പി]] |specialist=[[Radiographer|റേഡിയോഗ്രാഫർ]] }} ഒരു വസ്തുവിന്റെ ആന്തരിക രൂപം കാണുന്നതിന് [[എക്സ് കിരണം|എക്സ്-റേ]], [[ഗാമാ കിരണം|ഗാമാ കിരണങ്ങൾ]] അല്ലെങ്കിൽ സമാനമായ അയോണൈസിംഗ് അല്ലെങ്കിൽ നോൺ-അയോണൈസിംഗ് [[വികിരണം|റേഡിയേഷൻ]] ഉപയോഗിക്കുന്ന ഒരു ഇമേജിംഗ് സാങ്കേതികതയാണ് '''റേഡിയോഗ്രഫി'''. റേഡിയോഗ്രഫിയുടെ പ്രയോഗങ്ങളിൽ മെഡിക്കൽ റേഡിയോഗ്രഫിയും ("ഡയഗ്നോസ്റ്റിക്", "തെറാപ്യൂട്ടിക്") വ്യാവസായിക റേഡിയോഗ്രഫിയും ഉൾപ്പെടുന്നു. എയർപോർട്ട് സുരക്ഷയിലും ("ബോഡി സ്കാനറുകൾ" സാധാരണയായി ബാക്ക്‌സ്‌കാറ്റർ എക്സ്-റേ ഉപയോഗിക്കുന്നു) സമാനമായ സാങ്കേതിക വിദ്യകൾ ഉപയോഗിക്കുന്നു. പരമ്പരാഗത റേഡിയോഗ്രാഫിയിൽ ഒരു ഇമേജ് സൃഷ്ടിക്കുന്നതിന്, ഒരു എക്സ്-റേ ജനറേറ്റർ ഉപയോഗിച്ച് എക്സ്-റേകളുടെ ഒരു ബീം നിർമ്മിക്കുകയും വസ്തുവിന് നേരെ അത് പ്രൊജക്റ്റ് ചെയ്യുകയും ചെയ്യുന്നു. വസ്തുവിന്റെ സാന്ദ്രതയെയും ഘടനയെയും ആശ്രയിച്ച് ഒരു നിശ്ചിത അളവിലുള്ള എക്സ്-റേയോ മറ്റ് വികിരണങ്ങളോ വസ്തു ആഗിരണം ചെയ്യുന്നു. വസ്തുവിലൂടെ കടന്നുപോകുന്ന എക്സ്-റേകൾ ഒബ്ജക്റ്റിന് പിന്നിൽ ഒരു ഡിറ്റക്ടർ (ഫോട്ടോഗ്രാഫിക് ഫിലിം അല്ലെങ്കിൽ ഡിജിറ്റൽ ഡിറ്റക്ടർ) ഉപയോഗിച്ച് പിടിച്ചെടുക്കുന്നു. ഈ സാങ്കേതികവിദ്യ ഉപയോഗിച്ച് പരന്ന ദ്വിമാന ചിത്രങ്ങൾ സൃഷ്ടിക്കുന്നതിനെ പ്രൊജക്ഷണൽ റേഡിയോഗ്രഫി എന്ന് വിളിക്കുന്നു. [[സി.ടി സ്കാൻ|കംപ്യൂട്ടഡ് ടോമോഗ്രഫിയിൽ]] (സിടി സ്കാനിംഗ്) ഒരു എക്സ്-റേ സ്രോതസ്സും അതിനോട് ബന്ധപ്പെട്ട ഡിറ്റക്ടറുകളും ഒരു കോണാകൃതിയിലുള്ള എക്സ്-റേ ബീമിലൂടെ ശരീരത്തിന് ചുറ്റും കറങ്ങുന്നു. ശരീരത്തിലെ ഏതൊരു ബിന്ദുവും പല ദിശകളിൽ നിന്നും വ്യത്യസ്ത സമയങ്ങളിൽ പല ബീമുകളാൽ കടന്നുപോകുന്നു. ഈ ബീമുകളുടെ അറ്റൻയുവേഷൻ സംബന്ധിച്ച വിവരങ്ങൾ സംയോജിപ്പിച്ച് ത്രിമാന ചിത്രങ്ങൾ സൃഷ്ടിക്കുന്നതിന് കണക്കുകൂട്ടലിന് വിധേയമാക്കുന്നു. [[പ്രമാണം:Рентген_черепа.jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/c/cc/%D0%A0%D0%B5%D0%BD%D1%82%D0%B3%D0%B5%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%BF%D0%B0.jpg/220px-%D0%A0%D0%B5%D0%BD%D1%82%D0%B3%D0%B5%D0%BD_%D1%87%D0%B5%D1%80%D0%B5%D0%BF%D0%B0.jpg|ലഘുചിത്രം]] == മെഡിക്കൽ ഉപയോഗങ്ങൾ == {{Infobox diagnostic||Name=റേഡിയോഗ്രഫി|image=|caption=|ICD10=|ICD9={{ICD9proc|87}}, {{ICD9proc|88.0}}-{{ICD9proc|88.6}}|MeshID=D011859|OPS301={{OPS301|3–10...3–13}}, {{OPS301|3–20...3–26}}|OtherCodes=}} വ്യത്യസ്ത സാന്ദ്രതകളുള്ള വിവിധ പദാർത്ഥങ്ങളാൽ ശരീരം നിർമ്മിതമായതിനാൽ, അയണൈസിംഗ്, നോൺ-അയോണിംഗ് റേഡിയേഷൻ എന്നിവ ഉപയോഗിച്ച് ശരീരത്തിന്റെ ആന്തരിക ഘടന ഒരു ഇമേജ് റിസപ്റ്ററിൽ പകർത്താൻ കഴിയും. അയോണൈസിംഗ് റേഡിയേഷന്റെ കാര്യത്തിൽ, സാന്ദ്രമായ പദാർത്ഥങ്ങൾ ([[കാൽ‌സ്യം|കാൽസ്യം]] അടങ്ങിയ അസ്ഥികൾ പോലെ) എക്സ്-റേ [[ഫോട്ടോൺ|ഫോട്ടോണുകൾ]] ആഗിരണം ചെയ്യുന്നു. റേഡിയോഗ്രാഫിക് ഇമേജുകൾ ഉപയോഗിച്ച് ശരീരഘടന പഠിക്കുന്നത് ഉൾപ്പെടുന്ന പഠന മേഖല റേഡിയോഗ്രാഫിക് അനാട്ടമി എന്നറിയപ്പെടുന്നു. മെഡിക്കൽ റേഡിയോഗ്രഫി സാധാരണയായി റേഡിയോഗ്രാഫർമാരാണ് നടത്തുന്നത്, അതേസമയം ഇമേജ് വിശകലനം നടത്തുന്നത് സാധാരണയായി [[റേഡിയോളജി|റേഡിയോളജിസ്റ്റുകളാണ്]]. ചില റേഡിയോഗ്രാഫർമാർ ചിത്ര വ്യാഖ്യാനത്തിലും വൈദഗ്ദ്ധ്യം നേടിയിട്ടുണ്ട്. മെഡിക്കൽ റേഡിയോഗ്രഫിയിൽ വിവിധ തരത്തിലുള്ള ഇമേജുകൾ നിർമ്മിക്കുന്ന വിവിധ രീതികൾ ഉൾപ്പെടുന്നു, അവയിൽ ഓരോന്നിനും വ്യത്യസ്ത ക്ലിനിക്കൽ ആപ്ലിക്കേഷനുണ്ട്. === പ്രൊജക്ഷണൽ റേഡിയോഗ്രാഫി === [[പ്രമാണം:Projectional_radiography_components.jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/d/db/Projectional_radiography_components.jpg/250px-Projectional_radiography_components.jpg|വലത്ത്‌|ലഘുചിത്രം|250x250ബിന്ദു| ഒരു എക്സ്-റേ ജനറേറ്ററും ഒരു ഡിറ്റക്ടറും ഉപയോഗിക്കുന്ന പ്രൊജക്ഷണൽ റേഡിയോഗ്രാഫി.]] ഒരു വസ്തുവിനെ [[എക്സ് കിരണം|എക്സ്-റേകളിലേക്കോ]] മറ്റ് ഉയർന്ന ഊർജ്ജ രൂപങ്ങളിലുള്ള [[വിദ്യുത്കാന്തിക പ്രസരണം|വൈദ്യുതകാന്തിക വികിരണങ്ങളിലേക്കോ]] തുറന്നുകാട്ടുകയും തത്ഫലമായുണ്ടാകുന്ന ബീം (അല്ലെങ്കിൽ "ഷാഡോ") ഒരു ചിത്രമായി പകർത്തുകയും ചെയ്യുന്നതിനെ "പ്രൊജക്ഷൻ റേഡിയോഗ്രാഫി" എന്ന് വിളിക്കുന്നു. ഒരു ഫ്ലൂറസെന്റ് സ്‌ക്രീൻ ഉപയോഗിച്ച് "നിഴൽ" വെളുത്തതാക്കി മാറ്റാം, അത് പിന്നീട് ഫോട്ടോഗ്രാഫിക് ഫിലിമിൽ പകർത്തിയേക്കാം, അല്ലെങ്കിൽ പിന്നീട് "വായിക്കാൻ" ഒരു ഫോസ്‌ഫർ സ്‌ക്രീനിൽ പതിപ്പിക്കുകയോ, അല്ലെങ്കിൽ നേരിട്ട് സോളിഡ്-സ്റ്റേറ്റ് ഡിറ്റക്ടറുകളുടെ (ഡിആർ-ഡിജിറ്റൽ ക്യാമറയിലെ [[ചാർജ്ജ് കപ്പിൾഡ് ഡിവൈസ്|സിസിഡിയുടെ]] വളരെ വലിയ പതിപ്പിന് സമാനമാണ്) മാട്രിക്സിനെ സജീവമാക്കുകയോ ചെയ്യാം. [[അസ്ഥി|എല്ലുകളും]] ചില അവയവങ്ങളും ([[ശ്വാസകോശം]] പോലുള്ളവ) പ്രത്യേകിച്ച് പ്രൊജക്ഷൻ റേഡിയോഗ്രാഫിക്ക് വളരെ അനുകൂലമാണ്. ഉയർന്ന ഡയഗ്നോസ്റ്റിക് പ്രാധാന്യവും എന്നാൽ താരതമ്യേന കുറഞ്ഞ ചെലവുമുള്ള രീതിയാണിത്. കാത്സ്യവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ കാർബണിന് വളരെ കുറഞ്ഞ എക്സ്-റേ ക്രോസ് സെക്ഷൻ ഉള്ളതിനാൽ ''മൃദുവായതും'' ''കഠിനവുമായ'' ശരീരഭാഗങ്ങൾ തമ്മിലുള്ള വ്യത്യാസം ഇത് വ്യക്തമാക്കും. === കമ്പ്യൂട്ടഡ് ടോമോഗ്രഫി === [[പ്രമാണം:Ct-workstation-neck.jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Ct-workstation-neck.jpg/220px-Ct-workstation-neck.jpg|ലഘുചിത്രം| മുകളിൽ ഇടതുവശത്തുള്ള ഒരു 3D റെൻഡർ ചെയ്ത ചിത്രം ഉൾപ്പെടെ, കമ്പ്യൂട്ട് ചെയ്ത [[സി.ടി സ്കാൻ|ടോമോഗ്രാഫിയിൽ]] നിന്ന് സൃഷ്ടിച്ച ചിത്രങ്ങൾ.]] [[സി.ടി സ്കാൻ|കമ്പ്യൂട്ടേർഡ് ടോമോഗ്രാഫി]] അല്ലെങ്കിൽ സിടി സ്കാൻ (മുമ്പ് CAT സ്കാൻ എന്നറിയപ്പെട്ടിരുന്നു, ഇതിൽ "A" എന്നതിന്റെ വിപുലീകരണം "ആക്സിയൽ" എന്നായിരുന്നു) മൃദുവും കഠിനവുമായ ടിഷ്യൂകളുടെ ചിത്രങ്ങൾ സൃഷ്ടിക്കുന്നതിന് കമ്പ്യൂട്ടറുമായി ചേർന്ന് അയോണൈസിംഗ് റേഡിയേഷൻ (എക്‌സ്-റേ റേഡിയേഷൻ) ഉപയോഗിക്കുന്നു. രോഗിയെ ബ്രെഡ് പോലെ അരിഞ്ഞത് പോലെയാണ് ഈ ചിത്രങ്ങൾ കാണുന്നത് ("ടോമോഗ്രഫി"യിലെ "ടോമോ" എന്നാൽ "സ്ലൈസ്" അഥവാ അരിഞ്ഞത് എന്നാണ് അർഥം). ഡയഗ്‌നോസ്റ്റിക് എക്‌സ്-റേകളേക്കാൾ ഉയർന്ന അളവിൽ അയോണൈസിംഗ് എക്‌സ്-റേഡിയേഷൻ സിടി ഉപയോഗിക്കുന്നുണ്ടെങ്കിലും (രണ്ടും എക്‌സ്-റേ റേഡിയേഷൻ ഉപയോഗിക്കുന്നു), സാങ്കേതികവിദ്യയുടെ പുരോഗതിക്കൊപ്പം, സിടി റേഡിയേഷന്റെ അളവും സ്‌കാൻ സമയവും കുറയുന്നു.<ref>{{Cite journal|display-authors=6|title=Radiation Doses of Various CT Protocols: a Multicenter Longitudinal Observation Study|journal=Journal of Korean Medical Science|volume=31|issue=Suppl 1|pages=S24-31|date=February 2016|pmid=26908984|pmc=4756338|doi=10.3346/jkms.2016.31.S1.S24}}</ref> സിടി പരിശോധന സമയം പൊതുവെ കുറവാണ്. കാണേണ്ട ടിഷ്യുകളെ ആശ്രയിച്ച് കോൺട്രാസ്റ്റ് ഏജന്റുകളും പലപ്പോഴും ഉപയോഗിക്കാറുണ്ട്. റേഡിയോഗ്രാഫർമാർ ആണ് ഈ പരിശോധനകൾ നടത്തുന്നത്, ചിലപ്പോൾ അവർ ഒരു റേഡിയോളജിസ്റ്റുമായി ചേർന്ന് (ഉദാഹരണത്തിന്, ഒരു റേഡിയോളജിസ്റ്റ് സിടി-ഗൈഡഡ് ബയോപ്സി നടത്തുമ്പോൾ) പ്രവർത്തിക്കുന്നു. === ഡ്യുവൽ എനർജി എക്സ്-റേ അബ്സോർപ്റ്റിയോമെട്രി === ഡ്യുവൽ എനർജി എക്സ്-റേ അബ്സോർപ്റ്റിയോമെട്രി (DEXA), അല്ലെങ്കിൽ ബോൺ ഡെൻസിറ്റോമെട്രി, പ്രാഥമികമായി [[ഓസ്റ്റിയോപൊറോസിസ്]] പരിശോധനകൾക്കായി ഉപയോഗിക്കുന്നു. ഇത് പ്രൊജക്ഷൻ റേഡിയോഗ്രാഫി അല്ല, കാരണം എക്സ്-റേകൾ 2 ഇടുങ്ങിയ ബീമുകളിൽ പുറന്തള്ളി, അവ രോഗിക്ക് കുറുകെ 90 ഡിഗ്രിയിൽ സ്കാൻ ചെയ്യുന്നു. സാധാരണയായി ഇടുപ്പ് (തുടയെല്ലിന്റെ തല), താഴത്തെ പുറം (നട്ടെല്ല്) അല്ലെങ്കിൽ കുതികാൽ (കാൽക്കനിയം) എന്നിവ ചിത്രീകരിക്കപ്പെടുന്നു, കൂടാതെ ഇത് അസ്ഥികളുടെ സാന്ദ്രത (കാൽസ്യത്തിന്റെ അളവ്) നിർണ്ണയിക്കുകയും ഒരു നമ്പർ (ഒരു ടി-സ്കോർ) നൽകുകയും ചെയ്യുന്നു. ഒടിവുകൾ, വീക്കം മുതലായവയ്ക്ക് കൃത്യമായ ഡയഗ്നോസ്റ്റിക് ഇമേജ് ഉണ്ടാക്കാൻ ചിത്രത്തിന്റെ ഗുണനിലവാരം പര്യാപ്തമല്ലാത്തതിനാൽ, ബോൺ ഇമേജിംഗിനായി ഇത് ഉപയോഗിക്കുന്നില്ല. ഇത് സാധാരണമല്ലെങ്കിലും ശരീരത്തിലെ കൊഴുപ്പ് അളക്കാനും ഇത് ഉപയോഗിക്കാം. DEXA സ്കാനുകളിൽ നിന്ന് ലഭിക്കുന്ന റേഡിയേഷൻ ഡോസ് പ്രൊജക്ഷൻ റേഡിയോഗ്രാഫിയെക്കാൾ വളരെ കുറവാണ്.  === ഫ്ലൂറോസ്കോപ്പി === തന്റെ ആദ്യകാല എക്സ്-റേ പഠനകാലത്ത് തോമസ് എഡിസൺ കണ്ടുപിടിച്ച പദമാണ് ഫ്ലൂറോസ്കോപ്പി. എക്‌സ്‌റേ ഉപയോഗിച്ച് തിളങ്ങുന്ന പ്ലേറ്റിലേക്ക് നോക്കുമ്പോൾ അദ്ദേഹം കണ്ട ഫ്ലൂറസെൻസാണ് ഈ പേര് സൂചിപ്പിക്കുന്നത്.<ref>{{Cite book|url=https://books.google.com/books?id=foW6CAAAQBAJ&pg=PA9|title=Radiography in the Digital Age|last=Carroll|first=Quinn B|date=2014|publisher=Charles C Thomas|isbn=9780398080976|edition=2nd|location=Springfield|page=9|language=en}}</ref> ഇത് ചലിക്കുന്ന പ്രൊജക്ഷൻ റേഡിയോഗ്രാഫുകൾ നൽകുന്നു. ഫ്ലൂറോസ്കോപ്പി പ്രധാനമായും നടത്തുന്നത് ചലനം (ടിഷ്യു അല്ലെങ്കിൽ ഒരു കോൺട്രാസ്റ്റ് ഏജന്റ്), അല്ലെങ്കിൽ ആൻജിയോപ്ലാസ്റ്റി, പേസ്മേക്കർ ചേർക്കൽ, അല്ലെങ്കിൽ ജോയിന്റ് റിപ്പയർ/മാറ്റിവയ്ക്കൽ എന്നിവ പോലുള്ള ഒരു മെഡിക്കൽ ഇടപെടലിനെ നയിക്കാനാണ്. രണ്ടാമത്തേത് പലപ്പോഴും സി-ആം എന്ന പോർട്ടബിൾ ഫ്ലൂറോസ്കോപ്പി മെഷീൻ ഉപയോഗിച്ച് ഓപ്പറേഷൻ തിയറ്ററിൽ നടത്താം.<ref>{{Cite book|url=https://books.google.com/books?id=4-DOCwAAQBAJ&pg=PT408|title=Radiation Protection in Diagnostic X-Ray Imaging|last=Seeram|first=Euclid|last2=Brennan|first2=Patrick C.|date=2016|publisher=Jones & Bartlett|isbn=9781284117714|language=en}}</ref> ഇതിന് സർജറി ടേബിളിന് ചുറ്റും നീങ്ങാനും സർജറിക്കായി ഡിജിറ്റൽ ഇമേജുകൾ നിർമ്മിക്കാനും കഴിയും. ഒരേ സമയം രണ്ട് പ്ലെയിനുകൾ പ്രദർശിപ്പിക്കുന്നതൊഴിച്ചാൽ ബൈപ്ലാനാർ ഫ്ലൂറോസ്കോപ്പി സിംഗിൾ പ്ലെയിൻ ഫ്ലൂറോസ്കോപ്പി പോലെ തന്നെയാണ് പ്രവർത്തിക്കുന്നത്. റീ-പൊസിഷനിംഗ് ഒഴിവാക്കുന്നതിലൂടെ പ്രവർത്തന സമയം കുറയ്ക്കാൻ കഴിയും എന്നതിനാൽ രണ്ട് പ്ലെയിനുകളിൽ പ്രവർത്തിക്കാനുള്ള കഴിവ് ഓർത്തോപീഡിക്, നട്ടെല്ല് ശസ്ത്രക്രിയകൾക്ക് പ്രധാനമാണ്.<ref>{{Cite journal|title=The AAPM/RSNA physics tutorial for residents: general overview of fluoroscopic imaging|journal=Radiographics|volume=20|issue=4|pages=1115–26|date=July 2000|pmid=10903700|doi=10.1148/radiographics.20.4.g00jl301115}}</ref> ==== ആൻജിയോഗ്രാഫി ==== [[പ്രമാണം:Cerebral_angiography,_arteria_vertebralis_sinister_injection.JPG|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/3/30/Cerebral_angiography%2C_arteria_vertebralis_sinister_injection.JPG/220px-Cerebral_angiography%2C_arteria_vertebralis_sinister_injection.JPG|ലഘുചിത്രം| ആൻജിയോഗ്രാം വെർട്ടെബ്രോ ബേസിലാറിന്റെയും പിൻഭാഗത്തെ സെറിബ്രൽ രക്തചംക്രമണത്തിന്റെയും [[അക്ഷതലം|തിരശ്ചീന പ്രൊജക്ഷൻ]] കാണിക്കുന്നു.]] കാർഡിയോ വാസ്കുലർ സിസ്റ്റത്തെ കാണുന്നതിന് ഫ്ലൂറോസ്കോപ്പി ഉപയോഗിക്കുന്നതാണ് [[ആൻജിയോഗ്രാഫി]]. ഇതിൽ അയോഡിൻ അടിസ്ഥാനമാക്കിയുള്ള ഒരു കോൺട്രാസ്റ്റ് ഏജന്റ് രക്തത്തിലേക്ക് കുത്തിവയ്ക്കുകയും അത് ചുറ്റി സഞ്ചരിക്കുന്നത് നിരീക്ഷിക്കുകയും ചെയ്യുന്നു. ദ്രാവകരക്തവും വെസ്സലുകളും സാന്ദ്രമല്ലാത്തതിനാൽ, വലിയ അയഡിൻ ആറ്റങ്ങൾ പോലെ ഉയർന്ന സാന്ദ്രതയുള്ള തന്മാത്രകൾ വെസ്സലുകൾ കാണാൻ ഉപയോഗിക്കുന്നു. [[അന്യൂറിസം|അനൂറിസം]], ചോർച്ച, തടസ്സങ്ങൾ ([[ത്രോംബോസിസ്]]), പുതിയ വെസ്സൽ വളർച്ച, കത്തീറ്ററുകളുടെയും സ്റ്റെന്റുകളുടെയും സ്ഥാനം എന്നിവ കണ്ടെത്താൻ ആൻജിയോഗ്രാഫി ഉപയോഗിക്കുന്നു. ആൻജിയോഗ്രാഫി ഉപയോഗിച്ചാണ് [[ആൻ‌ജിയോപ്ലാസ്റ്റി|ബലൂൺ ആൻജിയോപ്ലാസ്റ്റി]] ചെയ്യുന്നത്. === കോൺട്രാസ്റ്റ് റേഡിയോഗ്രാഫി === കോൺട്രാസ്റ്റ് റേഡിയോഗ്രാഫി ഒരു റേഡിയോ കോൺട്രാസ്റ്റ് ഏജന്റ് ഉപയോഗിക്കുന്നു. ഒരു തരം കോൺട്രാസ്റ്റ് മീഡിയം ആയ റേഡിയോ കോൺട്രാസ്റ്റ് ഏജന്റ് താൽപ്പര്യമുള്ള ഘടനകളെ അവയുടെ പശ്ചാത്തലത്തിൽ നിന്ന് ദൃശ്യപരമായി വേറിട്ടു നിർത്തുന്നു. പരമ്പരാഗത [[ആൻജിയോഗ്രാഫി|ആൻജിയോഗ്രാഫിയിൽ]] കോൺട്രാസ്റ്റ് ഏജന്റുകൾ ആവശ്യമാണ്, പ്രൊജക്ഷണൽ റേഡിയോഗ്രാഫിയിലും [[സി.ടി സ്കാൻ|കംപ്യൂട്ടഡ് ടോമോഗ്രാഫിയിലും]] ("[[സി.ടി സ്കാൻ|കോൺട്രാസ്റ്റ് സിടി]]" എന്ന് വിളിക്കപ്പെടുന്നു) ഉപയോഗിക്കാം.<ref>{{Cite book|title=Textbook of Angiology|last=Quader|first=Mohammed A|last2=Sawmiller|first2=Carol J|last3=Sumpio|first3=Bauer E|year=2000|isbn=978-1-4612-7039-3|pages=775–783|chapter=Radio Contrast Agents: History and Evolution|doi=10.1007/978-1-4612-1190-7_63}}</ref><ref>{{Cite book|title=Fundamentals of Diagnostic Radiology|last=Brant|first=William E.|last2=Helms|first2=Clyde A.|date=2007|publisher=Lippincott Williams & Wilkins|isbn=9780781761352|edition=3rd|location=Philadelphia|page=3|language=en|chapter=Diagnostic Imaging Methods|chapter-url=https://books.google.com/books?id=Sossht2t5XwC&pg=PA3}}</ref> === മറ്റ് മെഡിക്കൽ ഇമേജിംഗ് === എക്സ്-റേ ഉപയോഗിക്കാത്തതിനാൽ സാങ്കേതികമായി റേഡിയോഗ്രാഫിക് ടെക്നിക്കുകൾ അല്ലെങ്കിലും, പെറ്റ്, [[എം.ആർ.ഐ. സ്കാൻ|എംആർഐ]] പോലുള്ള ഇമേജിംഗ് രീതികൾ റേഡിയോഗ്രഫിയിൽ ആണ് പരിഗണിക്കുന്നത്, കാരണം ആശുപത്രികളിലെ [[റേഡിയോളജി]] വിഭാഗം എല്ലാ തരത്തിലുള്ള ഇമേജിംഗും കൈകാര്യം ചെയ്യുന്നു. റേഡിയേഷൻ ഉപയോഗിച്ചുള്ള ചികിത്സ [[റേഡിയേഷൻ ചികിൽസ|റേഡിയോ തെറാപ്പി]] എന്നാണ് അറിയപ്പെടുന്നത്. == ഇൻഡസ്ട്രിയൽ റേഡിയോഗ്രാഫി == ഇൻഡസ്ട്രിയൽ റേഡിയോഗ്രാഫി എന്നത് വ്യാവസായിക ആവശ്യത്തിന് ഉപയോഗിക്കുന്ന ഒരു റേഡിയോഗ്രഫി രീതിയാണ്. ഇതിൽ സാമ്പിളിന്റെ ആന്തരിക ഘടനയും സമഗ്രതയും പരിശോധിക്കാം. വ്യാവസായിക റേഡിയോഗ്രഫി [[എക്സ് കിരണം|എക്സ്-റേ]] അല്ലെങ്കിൽ [[ഗാമാ കിരണം|ഗാമാ കിരണങ്ങൾ]] ഉപയോഗിച്ച് നടത്താം. രണ്ടും [[വിദ്യുത്കാന്തിക പ്രസരണം|വൈദ്യുതകാന്തിക വികിരണത്തിന്റെ]] രൂപങ്ങളാണ്. വൈദ്യുതകാന്തിക ഊർജ്ജത്തിന്റെ വിവിധ രൂപങ്ങൾ തമ്മിലുള്ള വ്യത്യാസം [[തരംഗദൈർഘ്യം|തരംഗദൈർഘ്യവുമായി]] ബന്ധപ്പെട്ടിരിക്കുന്നു. എക്സ്, ഗാമാ കിരണങ്ങൾ എന്നിവയ്ക്ക് ഏറ്റവും കുറഞ്ഞ തരംഗദൈർഘ്യമുണ്ട്, ഈ ഗുണം കാർബൺ സ്റ്റീൽ, മറ്റ് ലോഹങ്ങൾ തുടങ്ങിയ വിവിധ വസ്തുക്കളിൽ തുളച്ചുകയറാനും സഞ്ചരിക്കാനും പുറത്തുകടക്കാനുമുള്ള കഴിവിലേക്ക് നയിക്കുന്നു. ഇൻഡസ്ട്രിയൽ കമ്പ്യൂട്ട്ഡ് ടോമോഗ്രാഫിയാണ് ഒരു രീതി. [[പ്രമാണം:Darwinius_radiographs.jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/9/9c/Darwinius_radiographs.jpg/200px-Darwinius_radiographs.jpg|ലഘുചിത്രം|200x200ബിന്ദു| ''ഡാർവിനിയസ്'' ഫോസിൽ ഐഡയുടെ ഈ റേഡിയോഗ്രാഫുകൾ പോലെ [[പാലിയെന്റോളജി|പാലിയന്റോളജിയിലും]] റേഡിയോഗ്രഫി ഉപയോഗിക്കാം.]] == ചിത്രത്തിന്റെ നിലവാരം == ചിത്രത്തിന്റെ ഗുണനിലവാരം റെസല്യൂഷനെയും സാന്ദ്രതയെയും ആശ്രയിച്ചിരിക്കും. റെസല്യൂഷൻ എന്നത് ഒബ്‌ജക്റ്റിൽ അടുത്തും അകലത്തിലുമുള്ള ഘടനകളെ പ്രത്യേക എന്റിറ്റികളായി കാണിക്കാനുള്ള കഴിവാണ്, അതേസമയം സാന്ദ്രത ചിത്രത്തിന്റെ ബ്ലാക്കനിങ് പവർ ആണ്. ഒരു റേഡിയോഗ്രാഫിക് ചിത്രത്തിന്റെ മൂർച്ച ശക്തമായി നിർണ്ണയിക്കുന്നത് എക്സ്-റേ ഉറവിടത്തിന്റെ വലുപ്പമാണ്. ആനോഡിൽ തട്ടുന്ന ഇലക്ട്രോൺ ബീമിന്റെ വിസ്തൃതിയാണ് ഇത് നിർണ്ണയിക്കുന്നത്. ഒരു വലിയ ഫോട്ടോൺ ഉറവിടം അന്തിമ ഇമേജിൽ കൂടുതൽ മങ്ങിക്കുന്നതിനും ഇമേജ് രൂപീകരണ ദൂരത്തിന്റെ വർദ്ധനവ് വഴി മോശമാകുന്നതിനും കാരണമാകുന്നു. ഇമേജിംഗ് സിസ്റ്റത്തിന്റെ മോഡുലേഷൻ ട്രാൻസ്ഫർ ഫംഗ്‌ഷനിലേക്കുള്ള സംഭാവനയായി ഈ മങ്ങൽ അളക്കാവുന്നതാണ്. വലിയ തോതിലുള്ള റേഡിയോഗ്രാഫിക് സിസ്റ്റങ്ങളിൽ ഉപയോഗിക്കുന്ന മെമ്മറി ഉപകരണങ്ങളും വളരെ പ്രധാനമാണ്. റേഡിയോഗ്രാഫി ഇമേജിൽ കോൺട്രാസ്റ്റിന്റെയും സാന്ദ്രതയുടെയും നിർണായക ഡാറ്റ സംഭരിക്കാനും അതിനനുസരിച്ച് ഔട്ട്പുട്ട് നിർമ്മിക്കാനും അവർ കാര്യക്ഷമമായി പ്രവർത്തിക്കുന്നു. ഉയർന്ന സാന്ദ്രതയുള്ള, ആന്തരിക വൈബ്രേഷൻ അല്ലെങ്കിൽ ഷോക്ക് കൈകാര്യം ചെയ്യാൻ പ്രാപ്തമായ കണക്ടറുകളുള്ള ചെറിയ ശേഷിയുള്ള മെമ്മറി ഡ്രൈവുകളും പ്രധാനമാണ്. == റേഡിയേഷൻ ഡോസ് == റേഡിയോഗ്രഫിയിൽ പ്രയോഗിക്കുന്ന റേഡിയേഷന്റെ അളവ് നടപടിക്രമമനുസരിച്ച് വ്യത്യാസപ്പെടുന്നു. ഉദാഹരണത്തിന്, നെഞ്ച് എക്സ്-റേയുടെ ഫലപ്രദമായ ഡോസ് 0.1 mSv ആണ്, അതേസമയം ഒരു അബ്ഡൊമിനൽ (ഉദര) സി. ടി. യുടേത് 10 mSv ആണ്.<ref>{{Cite web|url=https://www.fda.gov/ForConsumers/ConsumerUpdates/ucm095505.htm#HowMuch|title=Reducing Radiation from Medical X-rays|access-date=9 September 2018|website=FDA.gov}}</ref> അമേരിക്കൻ അസോസിയേഷൻ ഓഫ് ഫിസിസിസ്റ്റ് ഇൻ മെഡിസിൻ (AAPM) പ്രസ്താവിച്ചിരിക്കുന്നത്, "ഒറ്റ നടപടിക്രമങ്ങൾക്ക് 50 mSv ന് താഴെയുള്ള ഡോസുകളോ അല്ലെങ്കിൽ ചുരുങ്ങിയ സമയത്തിനുള്ളിൽ ഒന്നിലധികം നടപടിക്രമങ്ങൾക്ക് 100 mSv-ൽ താഴെയോ ഉള്ള മെഡിക്കൽ ഇമേജിംഗിന്റെ അപകടസാധ്യതകൾ കണ്ടുപിടിക്കാൻ കഴിയാത്തത്ര കുറവാണെന്നും അത് നിലവിലില്ലായിരിക്കാം" എന്നുമാണ്. ഈ നിഗമനം പങ്കിടുന്ന മറ്റ് ശാസ്ത്ര സ്ഥാപനങ്ങളിൽ ഇന്റർനാഷണൽ ഓർഗനൈസേഷൻ ഓഫ് മെഡിക്കൽ ഫിസിസ്റ്റ്സ്, യുഎൻ സയന്റിഫിക് കമ്മിറ്റി ഓഫ് ആറ്റോമിക് റേഡിയേഷൻ, ഇന്റർനാഷണൽ കമ്മീഷൻ ഓൺ റേഡിയോളജിക്കൽ പ്രൊട്ടക്ഷൻ എന്നിവ ഉൾപ്പെടുന്നു. എന്നിരുന്നാലും, റേഡിയോളജിക്കൽ സൊസൈറ്റി ഓഫ് നോർത്ത് അമേരിക്ക (RSNA), അമേരിക്കൻ കോളേജ് ഓഫ് റേഡിയോളജി (ACR) എന്നിവയുൾപ്പെടെയുള്ള റേഡിയോളജിക്കൽ ഓർഗനൈസേഷനുകളും ഒന്നിലധികം സർക്കാർ ഏജൻസികളും റേഡിയേഷൻ ഡോസ് കഴിയുന്നത്ര കുറവാണെന്ന് ഉറപ്പാക്കാൻ സുരക്ഷാ മാനദണ്ഡങ്ങൾ സൂചിപ്പിക്കുന്നു.<ref>{{Cite journal|last=Goldberg|first=Jeanne|title=From the Spectral to the Spectrum|journal=[[Skeptical Inquirer]]|date=September–October 2018|volume=42|issue=5}}</ref> === ഷീൽഡിംഗ് === ഉയർന്ന സാന്ദ്രത (11340 kg/m <sup>3</sup>), സ്റ്റോപ്പിംഗ് പവർ, ഇൻസ്റ്റാളേഷന്റെ എളുപ്പവും കുറഞ്ഞ ചെലവും എന്നിവ കാരണം എക്‌സ്-റേയ്‌ക്കെതിരായി ഉപയോഗിക്കുന്ന ഏറ്റവും സാധാരണമായ കവചമാണ് (ഷീൽട്) [[കറുത്തീയം|ലെഡ്]]. രണ്ടാം ഇന്റർനാഷണൽ കോൺഗ്രസ് ഇൻ റേഡിയോളജി ശുപാർശ പ്രകാരമുള്ള എക്സ്-റേ ഊർജ്ജത്തിന്റെ പ്രവർത്തനത്തിലെ ലെഡ് ഷീൽഡിംഗിന്റെ ശുപാർശിത കനം ഈ പട്ടികയിൽ കാണിക്കുന്നു.<ref>Alchemy Art Lead Products – [http://www.alchemycastings.com/pdf/SheetLead.pdf Lead Shielding Sheet Lead For Shielding Applications] {{Webarchive|url=https://web.archive.org/web/20170827040413/http://www.alchemycastings.com/pdf/SheetLead.pdf |date=2017-08-27 }}. Retrieved 7 December 2008.</ref> {| class="wikitable floatright" style="text-align:center" !എക്സ്-റേകൾ സൃഷ്ടിക്കുന്ന പീക്ക് വോൾട്ടേജുകൾ ! ലെഡിന്റെ കുറഞ്ഞ കനം |- | 75 കെ.വി | 1.0&nbsp;മി.മീ |- | 100 കെ.വി | 1.5&nbsp;മി.മീ |- | 125 കെ.വി | 2.0&nbsp;മി.മീ |- | 150 കെ.വി | 2.5&nbsp;മി.മീ |- | 175 കെ.വി | 3.0&nbsp;മി.മീ |- | 200 കെ.വി | 4.0&nbsp;മി.മീ |- | 225 കെ.വി | 5.0&nbsp;മി.മീ |- | 300 കെ.വി | 9.0&nbsp;മി.മീ |- | 400 കെ.വി | 15.0&nbsp;മി.മീ |- | 500 കെ.വി | 22.0&nbsp;മി.മീ |- | 600 കെ.വി | 34.0&nbsp;മി.മീ |- | 900 കെ.വി | 51.0&nbsp;മി.മീ |} === പ്രചാരണങ്ങൾ === റേഡിയേഷൻ ഡോസുകളെക്കുറിച്ചുള്ള പൊതുജനങ്ങളുടെ വർദ്ധിച്ച ആശങ്കയ്ക്കും മികച്ച സമ്പ്രദായങ്ങളുടെ തുടർച്ചയായ പുരോഗതിക്കും മറുപടിയായി, സൊസൈറ്റി ഫോർ പീഡിയാട്രിക് റേഡിയോളജിയിൽ, അലയൻസ് ഫോർ റേഡിയേഷൻ സേഫ്റ്റി ഇൻ പീഡിയാട്രിക് ഇമേജിംഗ് എന്ന അലയൻസ് രൂപീകരിച്ചു. അമേരിക്കൻ സൊസൈറ്റി ഓഫ് റേഡിയോളജിക് ടെക്‌നോളജിസ്റ്റ്സ്, അമേരിക്കൻ കോളേജ് ഓഫ് റേഡിയോളജി, അമേരിക്കൻ അസോസിയേഷൻ ഓഫ് ഫിസിക്‌സ് ഇൻ മെഡിസിൻ എന്നിവയുമായി ചേർന്ന്, പീഡിയാട്രിക് രോഗികളിൽ ലഭ്യമായ ഡോസുകളും മികച്ച റേഡിയേഷൻ സുരക്ഷാ രീതികളും പ്രചരിപ്പിക്കുന്ന സൊസൈറ്റി ഫോർ പീഡിയാട്രിക് റേഡിയോളജി ഇമേജ് ജെന്റ്‌ലി കാമ്പെയ്‌ൻ വികസിപ്പിക്കുകയും സമാരംഭിക്കുകയും ചെയ്‌തു.<ref>{{Cite web|url=http://www.pedrad.org/associations/5364/ig/?page=365|title=IG new: The Alliance &#124; image gently|access-date=2013-08-16|publisher=Pedrad.org|archive-url=https://web.archive.org/web/20130609063515/http://www.pedrad.org/associations/5364/ig/?page=365|archive-date=2013-06-09}}</ref> ലോകമെമ്പാടുമുള്ള വിവിധ പ്രൊഫഷണൽ മെഡിക്കൽ ഓർഗനൈസേഷനുകളുടെ വർദ്ധിച്ചുവരുന്ന പട്ടിക ഈ സംരംഭത്തെ അംഗീകരിക്കുകയും പ്രയോഗിക്കുകയും ചെയ്തു. കൂടാതെ റേഡിയോളജിയിൽ ഉപയോഗിക്കുന്ന ഉപകരണങ്ങൾ നിർമ്മിക്കുന്ന കമ്പനികളിൽ നിന്ന് ഇതിന് പിന്തുണയും സഹായവും ലഭിച്ചു. ഇമേജ് ജെന്റ്ലി കാമ്പെയ്‌നിന്റെ വിജയത്തെത്തുടർന്ന്, അമേരിക്കൻ കോളേജ് ഓഫ് റേഡിയോളജി, റേഡിയോളജിക്കൽ സൊസൈറ്റി ഓഫ് നോർത്ത് അമേരിക്ക, അമേരിക്കൻ അസോസിയേഷൻ ഓഫ് ഫിസിക്‌സ് ഇൻ മെഡിസിൻ, അമേരിക്കൻ സൊസൈറ്റി ഓഫ് റേഡിയോളജിക് ടെക്‌നോളജിസ്‌റ്റ്‌സ് എന്നിവ മുതിർന്നവരിൽ ഈ പ്രശ്‌നം പരിഹരിക്കുന്നതിനായി സമാനമായ ഒരു കാമ്പയിൻ (ഇമേജ് വൈസ്ലി) ആരംഭിച്ചു.<ref>{{Cite web|url=http://www.imagewisely.org/|title=Radiation Safety in Adult Medical Imaging|access-date=2013-08-16|publisher=Image Wisely|archive-date=2013-07-21|archive-url=https://web.archive.org/web/20130721032437/http://imagewisely.org/|url-status=dead}}</ref> [[ലോകാരോഗ്യസംഘടന|ലോകാരോഗ്യ സംഘടനയും]] ഐക്യരാഷ്ട്രസഭയുടെ [[അന്താരാഷ്ട്ര ആണവോർജ്ജസമിതി|ഇന്റർനാഷണൽ ആറ്റോമിക് എനർജി ഏജൻസിയും]] (IAEA) ഈ മേഖലയിൽ പ്രവർത്തിക്കുന്നുണ്ട്, കൂടാതെ മികച്ച രീതികൾ വിശാലമാക്കുന്നതിനും രോഗികളുടെ റേഡിയേഷൻ അളവ് കുറയ്ക്കുന്നതിനുമായി രൂപകല്പന ചെയ്തുകൊണ്ടിരിക്കുന്ന പ്രോജക്ടുകൾ ഉണ്ട്. <ref>{{Cite web|url=http://new.paho.org/hq10/index.php?option=com_content&task=view&id=3365&Itemid=2164|title=Optimal levels of radiation for patients – Pan American Health Organization – Organización Panamericana de la Salud|access-date=2013-08-16|date=2010-08-24|publisher=New.paho.org|archive-url=https://web.archive.org/web/20130525051814/http://new.paho.org/hq10/index.php?option=com_content&task=view&id=3365&Itemid=2164|archive-date=25 May 2013}}</ref><ref>{{Cite web|url=https://rpop.iaea.org/RPOP/RPoP/Content/index.htm|title=Radiation Protection of Patients|access-date=2013-08-16|date=2013-03-14|publisher=Rpop.iaea.org}}</ref> <ref>{{Cite web|url=https://www.who.int/ionizing_radiation/about/GI_TM_Report_2008_Dec.pdf|title=World Health Organisation: Global Initiative on Radiation Safety in Healthcare Settings: Technical Meeting Report|access-date=2013-08-16|publisher=Who.int}}</ref> == ഉപകരണങ്ങൾ == [[പ്രമാണം:Coude_fp.PNG|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/9/93/Coude_fp.PNG/220px-Coude_fp.PNG|ലഘുചിത്രം| കൈമുട്ടിന്റെ ഒരു പ്ലെയിൻ റേഡിയോഗ്രാഫ്]] [[പ്രമാണം:AP_lumbar_xray.jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/d/d0/AP_lumbar_xray.jpg/170px-AP_lumbar_xray.jpg|ലഘുചിത്രം| ലംബർ നട്ടെല്ലിന്റെ എപി റേഡിയോഗ്രാഫ്]] [[പ്രമാണം:Hand_Xray_(48630648876).jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Hand_Xray_%2848630648876%29.jpg/170px-Hand_Xray_%2848630648876%29.jpg|ലഘുചിത്രം| എക്സ്-റേ ചെയ്യാൻ തയ്യാറായ ഒരു കൈ]] === ഉറവിടങ്ങൾ === വൈദ്യശാസ്ത്രത്തിലും ദന്തചികിത്സയിലും, പ്രൊജക്ഷണൽ റേഡിയോഗ്രാഫിയും [[സി.ടി സ്കാൻ|കമ്പ്യൂട്ട്ഡ് ടോമോഗ്രഫിയിലും]] എക്സ്-റേകൾ സൃഷ്ടിക്കുന്നതിനായി സാധാരണയായി എക്സ്-റേ ജനറേറ്ററുകൾ ഉപയോഗിക്കുന്നു, ഇത് എക്സ്-റേ ട്യൂബുകളിൽ നിന്ന് എക്സ്-റേകൾ സൃഷ്ടിക്കുന്നു. റേഡിയോഗ്രാഫ് (എക്‌സ്-റേ ജനറേറ്റർ/മെഷീൻ) അല്ലെങ്കിൽ സിടി സ്‌കാനറിൽ നിന്നുള്ള തത്ഫലമായുണ്ടാകുന്ന ചിത്രങ്ങളെ യഥാക്രമം "റേഡിയോഗ്രാം"/"റോന്റ്ജെനോഗ്രാം", "ടോമോഗ്രാം" എന്നിങ്ങനെ യഥാക്രമം പരാമർശിക്കുന്നു. [[എക്സ് കിരണം|എക്സ്-റേ]] [[ഫോട്ടോൺ|ഫോട്ടോണുകളുടെ]] മറ്റ് നിരവധി ഉറവിടങ്ങൾ സാധ്യമാണ്, അവ വ്യാവസായിക റേഡിയോഗ്രാഫിയിലോ ഗവേഷണത്തിലോ ഉപയോഗിക്കാം; ഇതിൽ ബീറ്റാട്രോണുകൾ, ലീനിയർ ആക്സിലറേറ്ററുകൾ (ലിനാക്സ്), [[സിങ്ക്രോട്രോൺ|സിൻക്രോട്രോണുകൾ]] എന്നിവ ഉൾപ്പെടുന്നു. [[ഗാമാ കിരണം|ഗാമാ കിരണങ്ങൾക്കായി]], <nowiki><sup id="mwASI">192</sup></nowiki> Ir, <nowiki><sup id="mwASQ">60</sup></nowiki> Co അല്ലെങ്കിൽ [[സീസിയം-137|<sup>137</sup> Cs]] പോലുള്ള [[ആണവവികിരണം|റേഡിയോ ആക്ടീവ്]] സ്രോതസ്സുകൾ ഉപയോഗിക്കുന്നു. === ഗ്രിഡ് === ഡിറ്റക്ടറിൽ എത്തുന്ന ചിതറിയ എക്സ്-റേകളുടെ അളവ് കുറയ്ക്കാൻ രോഗിക്കും ഡിറ്റക്ടറിനുമിടയിൽ ഒരു ആന്റി-സ്കാറ്റർ ഗ്രിഡ് സ്ഥാപിച്ചേക്കാം. ഇത് ചിത്രത്തിന്റെ കോൺട്രാസ്റ്റ് റെസലൂഷൻ മെച്ചപ്പെടുത്തുന്നു, പക്ഷേ അതോടൊപ്പം ഇത് രോഗിയുടെ റേഡിയേഷൻ എക്സ്പോഷറും വർദ്ധിപ്പിക്കുന്നു.<ref>{{Cite book|url=https://books.google.com/books?id=VZvqqaQ5DvoC&pg=PA210|title=The essential physics of medical imaging|last=Bushberg|first=Jerrold T|date=2002|publisher=Lippincott Williams & Wilkins|isbn=9780683301182|edition=2nd|location=Philadelphia|page=210}}</ref> === ഡിറ്റക്ടറുകൾ === ഡിറ്റക്ടറുകളെ ഇമേജിംഗ് ഡിറ്റക്ടറുകൾ, ഡോസ് അളക്കൽ ഉപകരണങ്ങൾ എന്നിങ്ങനെ രണ്ട് പ്രധാന വിഭാഗങ്ങളായി തിരിക്കാം. ഇമേജിംഗ് ഡിറ്റക്ടറുകൾ ആയ ഫോട്ടോഗ്രാഫിക് പ്ലേറ്റുകൾ, എക്സ്-റേ ഫിലിം (ഫോട്ടോഗ്രാഫിക് ഫിലിം) എന്നിവ ഇപ്പോൾ മിക്കവാറും ഇമേജ് പ്ലേറ്റുകൾ അല്ലെങ്കിൽ ഫ്ലാറ്റ് പാനൽ ഡിറ്റക്ടറുകൾ പോലുള്ള വിവിധ ഡിജിറ്റൈസിംഗ് ഉപകരണങ്ങൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. ഡോസ് അളക്കൽ ഉപകരണങ്ങളിൽ അയോണൈസേഷൻ ചേമ്പറുകൾ, [[ഗൈഗർ കൗണ്ടർ|ഗീഗർ കൗണ്ടറുകൾ]], പ്രാദേശിക റേഡിയേഷൻ എക്സ്പോഷർ, ഡോസ്, കൂടാതെ/അല്ലെങ്കിൽ ഡോസ് നിരക്ക് അളക്കാൻ ഉപയോഗിക്കുന്ന ഡോസിമീറ്ററുകൾ എന്നിവ ഉൾപ്പെടുന്നു.<ref>{{Cite journal|title=Radiation detectors in nuclear medicine|journal=Radiographics|volume=19|issue=2|pages=481–502|date=1999|pmid=10194791|doi=10.1148/radiographics.19.2.g99mr30481}}</ref> <ref>{{Cite journal|title=Characteristics of radiation detectors for diagnostic radiology|url=https://archive.org/details/sim_applied-radiation-and-isotopes_1999-01_50_1/page/125|journal=Applied Radiation and Isotopes|volume=50|issue=1|pages=125–36|date=January 1999|pmid=10028632|doi=10.1016/S0969-8043(98)00044-X}}</ref><ref>{{Cite book|title=Particle Physics|last=Anwar|first=Kamal|date=2013|publisher=Springer-Verlag|isbn=978-3-642-38660-2|series=Graduate Texts in Physics|location=Berlin|pages=1–78|chapter=Nuclear Radiation Detectors|doi=10.1007/978-3-642-38661-9_1}}</ref> === സൈഡ് മാർക്കറുകൾ === ഓരോ ചിത്രത്തിലും ഒരു റേഡിയോപാക്ക് അനാട്ടമിക് സൈഡ് മാർക്കർ ചേർത്തിരിക്കുന്നു. ഉദാഹരണത്തിന്, രോഗിയുടെ വലതു കൈ എക്സ്-റേ ചെയ്തിട്ടുണ്ടെങ്കിൽ, ഏത് കൈയാണ് ചിത്രീകരിച്ചിരിക്കുന്നത് എന്നതിന്റെ സൂചകമായി റേഡിയോഗ്രാഫർ എക്സ്-റേ ബീമിന്റെ ഫീൽഡിനുള്ളിൽ ഒരു റേഡിയോപാക്ക് "ആർ" മാർക്കർ ഉൾപ്പെടുത്തും. ഒരു ഫിസിക്കൽ മാർക്കർ ഉൾപ്പെടുത്തിയിട്ടില്ലെങ്കിൽ, ഡിജിറ്റൽ പോസ്റ്റ്-പ്രോസസിംഗിന്റെ ഭാഗമായി റേഡിയോഗ്രാഫർ ശരിയായ സൈഡ് മാർക്കർ പിന്നീട് ചേർത്തേക്കാം.<ref>{{Cite journal|title=A clinical audit of anatomical side marker use in a paediatric medical imaging department|journal=Journal of Medical Radiation Sciences|volume=63|issue=3|pages=148–54|date=September 2016|pmid=27648278|pmc=5016612|doi=10.1002/jmrs.176}}</ref> === ഇമേജ് ഇന്റൻസിഫയറുകളും അറേ ഡിറ്റക്ടറുകളും === എക്‌സ്-റേ ഡിറ്റക്ടറുകൾക്ക് പകരമായി, ഇമേജ് ഇന്റൻസിഫയറുകൾ ഒരു വീഡിയോ സ്‌ക്രീനിൽ ദൃശ്യമാകുന്ന തരത്തിൽ എക്‌സ്-റേ ഇമേജിനെ പരിവർത്തനം ചെയ്യുന്ന അനലോഗ് ഉപകരണങ്ങളാണ്. ഈ ഉപകരണം ഒരു വാക്വം ട്യൂബ് ഉപയോഗിച്ചാണ് നിർമ്മിച്ചിരിക്കുന്നത്. ഔട്ട്പുട്ടിൽ നിന്നുള്ള ചിത്രം ഒരു ക്യാമറ വഴി റെക്കോർഡ് ചെയ്യാനും പ്രദർശിപ്പിക്കാനും കഴിയും.<ref>{{Cite book|title=Medical Imaging Physics|last=Hendee|first=William R.|last2=Ritenour|first2=E. Russell|date=2002|publisher=John Wiley & Sons|isbn=9780471461135|edition=4th|location=Hoboken, NJ|chapter=Fluoroscopy|chapter-url=https://books.google.com/books?id=55lh1B82SLsC&pg=PA236}}</ref> അറേ ഡിറ്റക്ടറുകൾ എന്നറിയപ്പെടുന്ന ഡിജിറ്റൽ ഉപകരണങ്ങൾ ഫ്ലൂറോസ്കോപ്പിയിൽ കൂടുതൽ സാധാരണമായിക്കൊണ്ടിരിക്കുകയാണ്. ഈ ഉപകരണങ്ങൾ നിർമ്മിച്ചിരിക്കുന്നത് തിൻ-ഫിലിം ട്രാൻസിസ്റ്ററുകൾ (TFT) എന്നറിയപ്പെടുന്ന വ്യതിരിക്തമായ പിക്സലേറ്റഡ് ഡിറ്റക്ടറുകൾ ഉപയോഗിച്ചാണ്, അവയ്ക്ക് ഒന്നുകിൽ CsI പോലുള്ള സിന്റിലേറ്റർ മെറ്റീരിയലിൽ നിന്ന് പുറപ്പെടുവിക്കുന്ന പ്രകാശം കണ്ടുപിടിക്കുന്ന ഫോട്ടോ ഡിറ്റക്ടറുകൾ ഉപയോഗിച്ച് ''പരോക്ഷമായി'' പ്രവർത്തിക്കാൻ കഴിയും, അല്ലെങ്കിൽ എക്സ്-റേ ചെയ്യുമ്പോൾ ഉണ്ടാകുന്ന ഇലക്ട്രോണുകൾ ''നേരിട്ട്'' പിടിച്ചെടുക്കാം. എക്സ്-റേ ഫോട്ടോണുകൾ വഴി ഡിറ്റക്ടറുകൾ നേരിട്ട് പ്രവർത്തനക്ഷമമാക്കുന്നതിനാൽ, ഫോസ്ഫോറസെന്റ് സിന്റിലേറ്ററുകളോ ഫിലിം സ്‌ക്രീനുകളോ മൂലമുണ്ടാകുന്ന മങ്ങലോ വ്യാപിക്കുന്നതോ ആയ പ്രഭാവം ഡയറക്ട് ഡിറ്റക്‌ടറിന് അനുഭവപ്പെടില്ല.<ref>{{Cite journal|title=Flat-panel detectors: how much better are they?|journal=Pediatric Radiology|volume=36 Suppl 2|issue=S2|pages=173–81|date=September 2006|pmid=16862412|pmc=2663651|doi=10.1007/s00247-006-0208-0}}</ref> == ഡ്യുവൽ എനർജി == രണ്ട് വ്യത്യസ്ത ട്യൂബ് വോൾട്ടേജുകൾ ഉപയോഗിച്ച് ചിത്രങ്ങൾ എടുക്കുന്നതാണ് <nowiki><i id="mwAVg">ഡ്യുവൽ എനർജി</i></nowiki> റേഡിയോഗ്രഫി. ബോൺ ഡെൻസിറ്റോമെട്രിയുടെ സ്റ്റാൻഡേർഡ് രീതിയാണിത്. സിടി പൾമണറി ആൻജിയോഗ്രാഫിയിൽ അയോഡിനേറ്റഡ് കോൺട്രാസ്റ്റിന്റെ ആവശ്യമായ ഡോസ് കുറയ്ക്കാനും ഇത് ഉപയോഗിക്കുന്നു.<ref>{{Cite journal|url=http://www.massgeneral.org/imaging/news/radrounds/july_2015/|title=Dual Energy CT Imaging for Suspected Pulmonary Embolism Using a Lower Dose of Contrast Agent|journal=Radiology Rounds|volume=13|issue=7|first=Janet|last=Cochrane Miller|year=2015|accessdate=5 February 2018|archivedate=10 May 2017|archiveurl=https://web.archive.org/web/20170510221710/http://www.massgeneral.org/imaging/news/radrounds/july_2015/}}</ref> == ചരിത്രം == [[പ്രമാണം:Crookes_tube_xray_experiment.jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/1/10/Crookes_tube_xray_experiment.jpg/230px-Crookes_tube_xray_experiment.jpg|ഇടത്ത്‌|ലഘുചിത്രം|230x230ബിന്ദു| 1800-കളുടെ അവസാനത്തിൽ, ആദ്യകാല ക്രൂക്ക്സ് ട്യൂബ് ഉപകരണം ഉപയോഗിച്ച് ഒരു എക്സ്-റേ ഇമേജ് എടുക്കുന്നു]] റേഡിയോഗ്രാഫിയുടെയും ഫ്ലൂറോസ്‌കോപ്പിയുടെയും ഉത്ഭവം ജർമ്മൻ ഫിസിക്‌സ് പ്രൊഫസർ [[വിൽഹെം കോൺറാഡ് റോൺട്ജൻ|വിൽഹെം കോൺറാഡ് റോണ്ട്‌ജെൻ]] എക്‌സ്-റേ കണ്ടെത്തിയ 1895 നവംബർ 8-ന് ആണ്. എക്സ് കിരണങ്ങൾക്ക് മനുഷ്യ കോശങ്ങളിലൂടെ കടന്നുപോകാൻ കഴിയുമെങ്കിലും, അതീന് എല്ലിലൂടെയോ ലോഹത്തിലൂടെയോ കടന്നുപോകാൻ കഴിയില്ലെന്ന് അദ്ദേഹം കണ്ടെത്തി സൂചിപ്പിച്ചു.<ref name="ndt-history">{{Cite web|url=http://www.ndt-ed.org/EducationResources/CommunityCollege/Radiography/Introduction/history.htm|title=History of Radiography|access-date=27 April 2013|website=NDT Resource Center|publisher=Iowa State University|archive-date=2014-03-07|archive-url=https://archive.wikiwix.com/cache/20140307192159/http://www.ndt-ed.org/EducationResources/CommunityCollege/Radiography/Introduction/history.htm|url-status=dead}}</ref> ഒരു അജ്ഞാത തരം റേഡിയേഷനാണെന്ന് സൂചിപ്പിക്കാൻ റോണ്ട്ജൻ അതിനെ "എക്സ്" എന്ന് വിശേഷിപ്പിച്ചു. അദ്ദേഹത്തിന്റെ കണ്ടെത്തലിന് [[ഭൗതികശാസ്ത്രത്തിനുള്ള നോബൽ സമ്മാനം|ഭൗതികശാസ്ത്രത്തിനുള്ള ആദ്യത്തെ നൊബേൽ സമ്മാനം]] ലഭിച്ചു. <ref>{{Cite web|url=https://www.nobelprize.org/nobel_prizes/physics/articles/karlsson/|title=The Nobel Prizes in Physics 1901–2000|access-date=24 November 2011|last=Karlsson|first=Erik B.|date=9 February 2000|publisher=The Nobel Foundation|location=Stockholm}}</ref> [[പ്രമാണം:First_medical_X-ray_by_Wilhelm_Röntgen_of_his_wife_Anna_Bertha_Ludwig's_hand_-_18951222.jpg|കണ്ണി=//upload.wikimedia.org/wikipedia/commons/thumb/7/79/First_medical_X-ray_by_Wilhelm_R%C3%B6ntgen_of_his_wife_Anna_Bertha_Ludwig%27s_hand_-_18951222.jpg/170px-First_medical_X-ray_by_Wilhelm_R%C3%B6ntgen_of_his_wife_Anna_Bertha_Ludwig%27s_hand_-_18951222.jpg|വലത്ത്‌|ലഘുചിത്രം| ആദ്യത്തെ റേഡിയോഗ്രാഫ്]] എക്സ്-റേയുടെ ഫലമായി രൂപപ്പെട്ട ഒരു ഫോട്ടോഗ്രാഫിക് പ്ലേറ്റിൽ ഭാര്യയുടെ കൈയുടെ ചിത്രം ഉണ്ടാക്കിയപ്പോഴാണ് റോണ്ട്ജൻ എക്സ്-റേയുടെ മെഡിക്കൽ ഉപയോഗം കണ്ടെത്തിയത്. എക്‌സ്‌റേ ഉപയോഗിച്ച് മനുഷ്യന്റെ ശരീരഭാഗത്തിന്റെ ആദ്യ ഫോട്ടോയാണ് ഭാര്യയുടെ കൈയുടെ ഫോട്ടോ. ചിത്രം കണ്ടപ്പോൾ അവർ "ഞാൻ എന്റെ മരണം കണ്ടു" എന്ന് പറയുകയുണ്ടായി.<ref name="pbs">{{Cite web|url=https://www.pbs.org/newshour/rundown/2012/12/i-have-seen-my-death-how-the-world-discovered-the-x-ray.html|title='I Have Seen My Death': How the World Discovered the X-Ray|access-date=27 April 2013|last=Markel|first=Howard|date=20 December 2012|website=PBS NewsHour|publisher=PBS|archive-url=https://web.archive.org/web/20200820120013/https://www.pbs.org/newshour/tag/newsdesk/2012/12/i-have-seen-my-death-how-the-world-discovered-the-x-ray.html|archive-date=20 August 2020}}</ref> 1896 ജനുവരി 11-ന് [[ബിർമിങ്ഹാം|ഇംഗ്ലണ്ടിലെ ബർമിംഗ്ഹാമിൽ]] ജോൺ ഹാൾ-എഡ്വേർഡ്സ് ഒരു സഹപ്രവർത്തകന്റെ കൈയിൽ കുടുങ്ങിയ ഒരു സൂചി റേഡിയോഗ്രാഫ് ചെയ്ത സംഭവമാണ് ക്ലിനിക്കൽ സാഹചര്യങ്ങളിലെ എക്സ്-റേയുടെ ആദ്യ ഉപയോഗം. 1896 ഫെബ്രുവരി 14-ന്, ഹാൾ-എഡ്വേർഡ്സ് ഒരു ശസ്ത്രക്രിയാ പ്രവർത്തനത്തിൽ ആദ്യമായി എക്സ്-റേ ഉപയോഗിച്ചു.<ref>{{Cite web|url=http://www.birmingham.gov.uk/xray|title=Major John Hall-Edwards|access-date=2012-05-17|publisher=Birmingham City Council|archive-url=https://web.archive.org/web/20120928204852/http://www.birmingham.gov.uk/xray|archive-date=28 September 2012}}</ref> == ഇതും കാണുക == * ഓട്ടോറേഡിയോഗ്രാഫ് * പശ്ചാത്തല വികിരണം * കമ്പ്യൂട്ടർ സഹായത്തോടെയുള്ള രോഗനിർണയം * ഇമേജിംഗ് സയൻസ് * സിവിലിയൻ റേഡിയേഷൻ അപകടങ്ങളുടെ പട്ടിക * ഗർഭാവസ്ഥയിൽ മെഡിക്കൽ ഇമേജിംഗ് * [[വികിരണം|റേഡിയേഷൻ]] * ഡിജിറ്റൽ റേഡിയോഗ്രഫി * [[ആണവമലിനീകരണം|റേഡിയേഷൻ മലിനീകരണം]] * റേഡിയോഗ്രാഫർ * തെർമോഗ്രഫി == അവലംബം == {{Reflist}} == കൂടുതൽ വായനയ്ക്ക് == {{Refbegin}} * {{cite report|title=X-Ray Hesitancy: Patients’ Radiophobic Concerns Over Medical X-rays. Dose-Response.|author1=Oakley, P. A.|author2=Harrison, D. E.|work=Specific Safety Guide No. SSG-11|publisher=International Atomic Energy Agency|doi=10.1177/1559325820959542|location=Vienna|date=2020}} * {{cite journal|vauthors=Seliger HH|title=Wilhelm Conrad Röntgen and the Glimmer of Light|journal=Physics Today|date=November 1995|volume=48|issue=11|pages=25–31|doi=10.1063/1.881456|bibcode=1995PhT....48k..25S|hdl=10013/epic.43596.d001}} * {{Cite book|title=The Biomedical Engineering handbook|url=https://archive.org/details/biomedicalengine0000unse_u8g7|vauthors=Shroy Jr RE|publisher=CRC Press and IEEE Press|year=1995|isbn=978-0-8493-8346-5|veditors=Bronzino JD|pages=[https://archive.org/details/biomedicalengine0000unse_u8g7/page/953 953]–960|contribution=X-Ray equipment}} * {{Cite book|title=Fundamentals of Computerized Tomography: Image Reconstruction from Projections|vauthors=Herman GT|publisher=Springer|year=2009|isbn=978-1-85233-617-2|edition=2nd|author-link=Gabor Herman}} * {{cite journal|vauthors=Yu SB, Watson AD|title=Metal-Based X-ray Contrast Media|journal=Chemical Reviews|volume=99|issue=9|pages=2353–78|date=September 1999|pmid=11749484|doi=10.1021/cr980441p}} {{Refend}}  == പുറം കണ്ണികൾ == * [https://medpix.nlm.nih.gov/home MedPix] മെഡിക്കൽ ഇമേജ് ഡാറ്റാബേസ് * [https://www.youtube.com/watch?v=IcWjZbXiFkM എക്സ്-റേ പരിശോധനയും ഇൻഡസ്ട്രിയൽ കംപ്യൂട്ടഡ് ടോമോഗ്രഫിയും സംബന്ധിച്ച വീഡിയോ], കാൾസ്റൂഹെ യൂണിവേഴ്സിറ്റി ഓഫ് അപ്ലൈഡ് സയൻസസ് * [http://physics.nist.gov/PhysRefData/XrayMassCoef/cover.html NIST ന്റെ XAAMDI: ഡോസിമെട്രിക് താൽപ്പര്യ ഡാറ്റാബേസിന്റെ മെറ്റീരിയലുകൾക്കായുള്ള എക്സ്-റേ അറ്റൻവേഷനും ആഗിരണം ചെയ്യലും] * [http://physics.nist.gov/PhysRefData/Xcom/Text/XCOM.html NIST ന്റെ XCOM: ഫോട്ടോൺ ക്രോസ് സെക്ഷൻസ് ഡാറ്റാബേസ്] * [http://physics.nist.gov/PhysRefData/FFast/Text/cover.html NIST-ന്റെ ഫാസ്റ്റ്: അറ്റൻവേഷനും സ്‌കാറ്ററിംഗ് ടേബിളുകളും] * [http://www.johnstonsarchive.net/nuclear/radevents/1984MOR1.html നഷ്ടപ്പെട്ട ഒരു വ്യാവസായിക റേഡിയോഗ്രാഫി ഉറവിട ഇവന്റ്] * [http://radiologyinfo.org/en/sitemap/modal-alias.cfm?modal=xray റേഡിയോളജി ഇൻഫോ -] രോഗികൾക്കുള്ള റേഡിയോളജി വിവര ഉറവിടം: റേഡിയോഗ്രാഫി (എക്‌സ്-റേ) {{Medicine|state=collapsed}} {{Medical imaging|state=collapsed}} {{Authority Control}} [[വർഗ്ഗം:റേഡിയോഗ്രഫി]] ro75ou44t29cod3iyh7a6iqqo9v652s യാസ്ദ് 0 581979 4621592 4558310 2026-05-22T16:24:14Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621592 wikitext text/x-wiki {{PU|Yazd}}{{Infobox settlement <!--See the Table at Infobox Settlement for all fields and descriptions of usage--> <!-- Basic info ---------------->| official_name = യാസ്ദ് | native_name = {{lang|fa|یزد}} | settlement_type = City | other_name = കാത്ത്, ഇസാറ്റിസ് | image_skyline = {{Photomontage | photo3a = Jame mosque in yazd2.jpg | photo2a = Zoroastrian Fire Temple (8906007289).jpg | photo2b = 2017-04-06 12.44.27 Dolat Abad Garden.jpg | photo1a = Iran 1343 Yazd (8665215641).jpg | photo3b = Yazd-Mohsen salari- 20.jpg | photo4b = Tomb of Seyed Roknildin -Negin Mohamadi Fard.jpg | photo4a = Moshir Caravansary 03.jpg | spacing = 2 | size = 270 | foot_montage = മുകളിൽ നിന്ന് താഴേക്ക്, ഇടത്തുനിന്ന് വലത്തോട്ട്: അമീർ ചഖ്മാക് കോംപ്ലക്സ്, സൊരാസ്ട്രിയൻ [[അഗ്നിക്ഷേത്രം]], ദൗലതാബാദ് ഗാർഡൻ, ജെയിം മസ്ജിദ്, മാർക്കർ ക്ലോക്ക് ടവർ, {{ill|മോഷിർ കാരവൻസറി|fa|کاروانسرای مشیر}}, [[സയ്യിദ് റുക്‌ൻ അദ്-ദിൻ ശവകുടീരം]] }} | image_caption = | image_seal = Yazd government logo.svg | image_shield = | nickname = | motto = <!-- images and maps -----------> | image_map = | map_caption = | pushpin_map = Iran | pushpin_label_position = | pushpin_map_caption = <!-- Location ------------------> | coordinates = {{coord|31|53|50|N|54|22|4|E|display=inline,title}} | subdivision_type = [[List of sovereign states|Country]] | subdivision_name = [[ഇറാൻ]] | subdivision_type1 = [[Provinces of Iran|പ്രവിശ്യ]] | subdivision_type2 = [[Counties of Iran|County]] | subdivision_type3 = [[Bakhsh]] | subdivision_name1 = [[Yazd Province|യാസ്ദ്]] | subdivision_name2 = [[Yazd County|യാസ്ദ്]] | subdivision_name3 = [[Central District (Yazd County)|Central]] | established_title = <!-- Settled --> | established_date = | government_footnotes = | government_type = <!-- Politics -----------------> | leader_title = [[List of mayors of Yazd|മേയർ]] | leader_name = Abolghasem Mohiodini Anari | leader_title1 = നഗരസഭാ ചെയർമാൻ | leader_name1 = Gholam Hossein Dashti <!-- Area --------------------->| unit_pref = <!--Enter: Imperial, if Imperial (metric) is desired--> | area_footnotes = | area_total_km2 = | area_land_km2 = | area_water_km2 = | area_water_percent = | elevation_footnotes = | elevation_m = 1216 <!-- Population ----------------------->| population_urban = 529,673 <ref>{{Cite web|url=https://www.amar.org.ir/english|title = Statistical Center of Iran > Home}}</ref> | population_metro = | population_as_of = 2016 Census | population_est = | population_est_as_of = | population_footnotes = | population_density_km2 = auto | population_demonym = Yazdi&nbsp;([[English language|en]]) <!-- General information --------------->| population_note = | postal_code_type = <!-- enter ZIP code, Postcode, Post code, Postal code... --> | postal_code = | area_code = 035 | website = {{URL|https://yazd.ir/}} | timezone = [[Iran Standard Time|IRST]] | utc_offset = +3:30 | timezone_DST = [[Iran Daylight Time|IRDT]] | utc_offset_DST = +4:30 <!-- Area/postal codes & others -------->| blank_name = [[Köppen climate classification|Climate]] | blank_info = [[Desert climate#Hot desert climates|BWh]] | footnotes = {{designation list | embed=yes | designation1 = WHS | designation1_offname = Historic City of Yazd | designation1_date = 2017 <small>(41st [[World Heritage Committee|session]])</small> | designation1_type = Cultural | designation1_criteria = iii, v | designation1_number = [https://whc.unesco.org/en/list/1544 1544] | designation1_free1name = Region | designation1_free1value = [[List of World Heritage Sites in Asia and Australasia|Asia and the Pacific]] }} | name = }} '''യാസ്ദ്''' ({{lang-fa|یزد}} {{IPA-fa|jæzd||Yazd.ogg}}),<ref>{{GEOnet3|-3088569}}</ref> മുമ്പ് യെസ്ദ്,{{sfnp|''EB''|1888}}{{sfnp|''EB''|1911}} എന്നും അറിയപ്പെട്ടിരുന്ന [[ഇറാൻ|ഇറാനിലെ]] [[യാസ്ദ് പ്രവിശ്യ|യാസ്ദ് പ്രവിശ്യയുടെ]] തലസ്ഥാനമാണ്. [[ഇസ്ഫഹാൻ|ഇസ്ഫഹാനിൽ]] നിന്ന് ഏകദേശം 270 കിലോമീറ്റർ (170 മൈൽ) തെക്കുകിഴക്കായാണ് ഈ നഗരം സ്ഥിതി ചെയ്യുന്നത്. 2016 ലെ [[കാനേഷുമാരി|കനേഷുമാരി]] പ്രകാരമുള്ള ഈ നഗരത്തിലെ ജനസംഖ്യ 1,138,533 ആയിരുന്നു. 2017 മുതൽ, ചരിത്ര നഗരമായ യാസ്ദ് [[യുനെസ്കോ]] ഒരു [[ലോകപൈതൃകസ്ഥാനം|ലോക പൈതൃക സ്ഥലമായി]] അംഗീകരിച്ചു.<ref>{{cite web|url=http://ifpnews.com/exclusive/historical-city-yazd-inscribed-world-heritage-site/|title=Historical City of Yazd Inscribed as World Heritage Site|access-date=1 January 2018|date=9 July 2017|archive-date=2019-04-18|archive-url=https://web.archive.org/web/20190418005512/https://ifpnews.com/exclusive/historical-city-yazd-inscribed-world-heritage-site/|url-status=dead}}</ref> മരുഭൂ കാലാവസ്ഥയോടുള്ള ഈ പ്രദേശത്തെ തലമുറകളുടെ പൊരുത്തപ്പെടുത്തലുകൾ കാരണം, യാസ്ദ് നഗരത്തിൽ സവിശേഷമായ ഒരു പേർഷ്യൻ വാസ്തുവിദ്യ നിലനിൽക്കുന്നു. നിരവധി ഉദാഹരണങ്ങളിലൊന്നായി ഇതിനെ "വിൻഡ്ക്യാച്ചർമാരുടെ നഗരം" (شهر بادگیرها Shahr-e Badgirha) എന്ന് വിളിപ്പേരുണ്ട്. [[സൊറോസ്ട്രിയൻ മതം|സൊറാഷ്ട്രിയൻ]] [[അഗ്നിക്ഷേത്രം|അഗ്നി ക്ഷേത്രങ്ങൾ]], അബ് അൻബാറുകൾ (ഭൂഗർഭ നീർത്തടം), ഖാനറ്റുകൾ (ഭൂഗർഭ ചാനലുകൾ), യാഖ്ചലുകൾ (ഐസ് ഹൗസ്), പേർഷ്യൻ കരകൗശല വസ്തുക്കൾ, കൈകൊണ്ട് നെയ്ത തുണി (പേർഷ്യൻ ടെർമേഹ്), പട്ട് നെയ്ത്ത്, പേർഷ്യൻ കോട്ടൺ മിഠായി, അതിന്റെ കാലാതീത പാരമ്പര്യമായ മധുരപലഹാരങ്ങൾ എന്നിവയ്ക്കും ഇത് വളരെ പ്രശസ്തമാണ്. സൈക്കിൾ സവാരിക്കാരുടെ പഴയ ചരിത്രവും ഇറാനിൽ ആളോഹരി സൈക്കിളുകളുടെ എണ്ണം കൂടിയതിനാലും യാസ്ദ് നഗരം 'സിറ്റി ഓഫ് സൈക്കിൾസ്' എന്നും അറിയപ്പെടുന്നു. കഴിഞ്ഞ നൂറ്റാണ്ടിൽ യൂറോപ്യൻ സന്ദർശകരുമായും വിനോദസഞ്ചാരികളുമായുമുള്ള സമ്പർക്കത്തിൻറെ ഫലമായി ഇറാനിലെ സൈക്കിൾ സംസ്കാരം യാസ്ദ് നഗരത്തിൽ ഉടലെടുത്തതായി റിപ്പോർട്ടുണ്ട്.<ref>{{cite web|url=http://ghoolabad.com/index1.asp?id=5|title=Bicycle history in Yazd|access-date=23 November 2018|date=11 February 2009|archive-date=2020-10-24|archive-url=https://web.archive.org/web/20201024031155/http://ghoolabad.com/index1.asp?id=5|url-status=dead}}</ref> == ചരിത്രം == യാസ്ദിൽ നിന്ന് ഏകദേശം 12 കിലോമീറ്റർ വടക്കുഭാഗത്തുള്ള പ്രദേശത്തുനിന്ന് കണ്ടെടുത്ത ഏതാനും പുരാവസ്തു തെളിവുകൾ സൂചിപ്പിക്കുന്നത് [[ഹഖാമനി സാമ്രാജ്യം|അക്കീമെനിഡ് സാമ്രാജ്യത്തിന്റെ]] (550 ബിസി-330 ബിസി) കാലഘട്ടം മുതൽക്കുതന്നെ ഈ പ്രദേശം ജനവാസമുള്ളതായിരുന്നു എന്നാണ്.{{sfn|Choksy|2020|p=222}} തന്റെ ''നാച്ചുറൽ ഹിസ്റ്ററി''യിൽ, [[പ്ലീനി|പ്ലിനി]] ദി എൽഡർ (മരണം AD 79 AD) [[പാർത്തിയൻ സാമ്രാജ്യം|പാർത്തിയൻ സാമ്രാജ്യത്തിലെ]] (247 BC-224 AD) "ഇസാറ്റിസ്" എന്ന് പേരിട്ടിരിക്കുന്ന ഒരു പട്ടണത്തെക്കുറിച്ച് പരാമർശിക്കുന്നു, അത് അസഗർത്ത/ഇസ്റ്റാച്ചെ/സാഗർതിയൻ ഗോത്രങ്ങളുടെ പേരുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു.{{sfn|Choksy|2020|p=222–223}} തൽഫലമായി, ചില പണ്ഡിതന്മാർ യസ്‌ദ് നഗരത്തിൻറെ പേര് ഇസാറ്റിസിൽ നിന്ന് ഉരുത്തിരിഞ്ഞതാണെന്നും (ഇസറ്റിച്ചേ, യ്സാറ്റിസ്, യസാറ്റിസ് എന്നും ലിപ്യന്തരണം ചെയ്യപ്പെടുന്നു), അവസാനത്തെ പേര് മീഡിയൻ അല്ലെങ്കിൽ [[ഹഖാമനി സാമ്രാജ്യം|അക്കീമെനിഡ്]] കാലഘട്ടങ്ങളിൽ ഉപയോഗിക്കാൻ തുടങ്ങിയതായിരിക്കാമെന്നും അഭിപ്രായപ്പെടുന്നു.{{sfn|Choksy|2020|p=223}} == ഭൂമിശാസ്ത്രം == === കാലാവസ്ഥ === യാസ്ദ് നഗരത്തിൽ ഒരു ചൂടുള്ള മരുഭൂ കാലാവസ്ഥയാണ് (Köppen കാലാവസ്ഥാ വർഗ്ഗീകരണം BWh) അനുഭവപ്പെടാറുള്ളത്. ഇറാനിലെ ഏറ്റവും വരണ്ട പ്രധാന നഗരമായ ഇവിടെ പ്രതിവർഷം 49 മില്ലിമീറ്റർ (1.9 ഇഞ്ച്) മഴ എന്ന നിലയിൽ 23 ദിവസത്തെ മഴ മാത്രമേ ലഭിക്കുന്നുള്ളു. വേനൽക്കാലത്ത് ഈർപ്പം ഇല്ലാതെ കത്തിജ്വലിക്കുന്ന സൂര്യപ്രകാശത്തിൽ താപനില 40 °C (104 °F) ന് മുകളിലാണ്. രാത്രിയിൽ പോലും വേനൽക്കാല താപനില അസുഖകരമായ അവസ്ഥയിലാണ്. {{Weather box|width=auto|location=Yazd|metric first=Y|single line=Y|Jan high C=12.3|Feb high C=15.7|Mar high C=20.6|Apr high C=26.6|May high C=32.3|Jun high C=37.8|Jul high C=39.5|Aug high C=38.0|Sep high C=34.3|Oct high C=27.7|Nov high C=20.0|Dec high C=14.3|Jan mean C=5.9|Feb mean C=8.9|Mar mean C=13.7|Apr mean C=19.6|May mean C=24.9|Jun mean C=30.1|Jul mean C=32.0|Aug mean C=30.0|Sep mean C=25.9|Oct mean C=19.6|Nov mean C=12.5|Dec mean C=7.5|Jan low C=−0.4|Feb low C=2.1|Mar low C=6.9|Apr low C=12.5|May low C=17.6|Jun low C=22.4|Jul low C=24.5|Aug low C=22.0|Sep low C=17.6|Oct low C=11.5|Nov low C=5.1|Dec low C=0.7|Jan record high C=27.0|Feb record high C=29.4|Mar record high C=35.2|Apr record high C=38.0|May record high C=41.0|Jun record high C=44.0|Jul record high C=45.4|Aug record high C=45.6|Sep record high C=42.0|Oct record high C=36.0|Nov record high C=30.8|Dec record high C=27.4|Jan record low C=−14.0|Feb record low C=−10.0|Mar record low C=−7.0|Apr record low C=0.0|May record low C=2.0|Jun record low C=11.0|Jul record low C=16.0|Aug record low C=12.0|Sep record low C=2.0|Oct record low C=−3.0|Nov record low C=−10.0|Dec record low C=−16.0|Jan precipitation mm=12.2|Feb precipitation mm=7.6|Mar precipitation mm=12.5|Apr precipitation mm=7.3|May precipitation mm=3.6|Jun precipitation mm=0.3|Jul precipitation mm=0.2|Aug precipitation mm=0.1|Sep precipitation mm=0.1|Oct precipitation mm=1.2|Nov precipitation mm=4.1|Dec precipitation mm=10.0|Jan precipitation days=2.7|Feb precipitation days=1.6|Mar precipitation days=2.4|Apr precipitation days=2.1|May precipitation days=0.9|Jun precipitation days=0.1|Jul precipitation days=0.1|Aug precipitation days=0.1|Sep precipitation days=0.0|Oct precipitation days=0.4|Nov precipitation days=1.1|Dec precipitation days=1.8|Jan snow days=2.1|Feb snow days=0.8|Mar snow days=0.2|Apr snow days=0.0|May snow days=0.0|Jun snow days=0.0|Jul snow days=0.0|Aug snow days=0.0|Sep snow days=0.0|Oct snow days=0.0|Nov snow days=0.1|Dec snow days=0.8|Jan sun=181.6|Feb sun=203.0|Mar sun=207.5|Apr sun=230.9|May sun=293.9|Jun sun=334.1|Jul sun=340.7|Aug sun=335.0|Sep sun=313.1|Oct sun=278.1|Nov sun=217.8|Dec sun=193.4|Jan humidity=54|Feb humidity=44|Mar humidity=37|Apr humidity=32|May humidity=25|Jun humidity=18|Jul humidity=17|Aug humidity=17|Sep humidity=19|Oct humidity=27|Nov humidity=38|Dec humidity=50|source 1=[https://irimo.ir]|source 2=IRIMO (extremes, sun, humidity, 1952–2010)<ref name= NOAA>{{cite web |url = ftp://ftp.atdd.noaa.gov/pub/GCOS/WMO-Normals/RA-II/IR/40821.TXT |title = Yazd Climate Normals 1961–1990 |publisher = [[National Oceanic and Atmospheric Administration]] |access-date = December 29, 2012}}</ref>}} == സമ്പദ്‍വ്യവസ്ഥ == [[പട്ട്|സിൽക്ക്]], പരവതാനി എന്നിവയുടെ ഗുണനിലവാരത്തിന് എപ്പോഴും പേരുകേട്ട യാസ്ദ് നഗരം ഇന്ന് ഇറാനിലെ തുണിത്തരങ്ങളുടെ പ്രധാന വ്യവസായ കേന്ദ്രങ്ങളിലൊന്നാണ്. ഗണ്യമായ നിലയിൽ സെറാമിക്സ്, നിർമ്മാണ സാമഗ്രികളുടെ വ്യവസായം, അതുല്യമായ മിഠായി, ആഭരണ വ്യവസായങ്ങളും ഇവിടെയുണ്ട്. ജനസംഖ്യയുടെ ഒരു പ്രധാന ഭാഗം കൃഷി, ക്ഷീരോത്പന്നങ്ങൾ, ലോഹപ്പണികൾ, യന്ത്ര നിർമ്മാണം എന്നിവയുൾപ്പെടെയുള്ള മറ്റ് വിവിധ വ്യവസായങ്ങളിലും ജോലി ചെയ്യുന്നു. വളരുന്ന വിവരസാങ്കേതിക വ്യവസായമേഖലയിൽ പ്രവർത്തിക്കുന്ന നിരവധി കമ്പനികൾ പ്രധാനമായും കേബിളുകളും കണക്ടറുകളും പോലുള്ള പ്രാഥമിക വസ്തുക്കൾ നിർമ്മിക്കുന്നതിൽ ഏർപ്പെട്ടിരിക്കുന്നു. നിലവിൽ ഇറാനിലെ ഏറ്റവും വലിയ [[ഒപ്റ്റിക്കൽ ഫൈബർ|ഫൈബർ ഒപ്റ്റിക്‌സ്]] നിർമ്മാണകേന്ദ്രമാണ് യാസ്ദ് നഗരം. == ചിത്രശാല == <gallery mode="packed"> പ്രമാണം:Yazd entrance.JPG|യാസ്ദ് പ്രവേശന കവാടം. പ്രമാണം:Amir Chakhmaq Complex, Yazd.jpg|അമീർ ചഖ്മാക് കോംപ്ലക്സ് പ്രമാണം:Mezquita del Viernes, Yazd, Irán, 2016-09-21, DD 11.jpg|ജാമേ മസ്ജിദ് പ്രമാണം:Zoroastrian Fire Temple, Yazd 01.jpg|അഗ്നിക്ഷേത്രം പ്രമാണം:Dolat Abad Garden - Pavilion 01.jpg|ദൗലതാബാദ് ഗാർഡൻ പവലിയൻ പ്രമാണം:Zurkhaneh, Yazd 01.jpg|യാസ്ദിലെ ഒരു സുർഖാനെ പ്രമാണം:Casa Lari, Yazd, Irán, 2016-09-21, DD 19.jpg|യാസ്ദിലെ ലാറി ഹൗസ് പ്രമാണം:971117-DadHotel-Yazd-Pan02.jpg|alt=Dad Hotel|ഡാഡ് ഹോട്ടൽ, യാസ്ദ്, ഇറാൻ </gallery> == See also == == അവലംബം == [[വർഗ്ഗം:ഇറാനിലെ നഗരങ്ങൾ]] 3mmhz757mv9evm0743v4yzeo7u9w5cx റെബേക്ക ഗോംപെർട്സ് 0 587856 4621628 4563199 2026-05-22T21:31:06Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4621628 wikitext text/x-wiki [[File:Rebeca_Gompers_Lodz_2017_by_Jarek_Sawiuk._cropped.jpg|കണ്ണി=https://en.wikipedia.org/wiki/File:Rebeca_Gompers_Lodz_2017_by_Jarek_Sawiuk._cropped.jpg|ലഘുചിത്രം|റെബേക്ക ഗോംപെർട്സ് 2017 ൽ.]] '''റെബേക്ക ഗോംപെർട്സ്''' (ജനനം: 1966) ഒരു ഡച്ച് വൈദ്യനും സ്ത്രീകളുടെ അവകാശങ്ങൾക്ക്, പ്രത്യേകിച്ച് [[ഗർഭഛിദ്രം|ഗർഭഛിദ്ര]] അവകാശങ്ങൾക്കും വേണ്ടി വാദിക്കുന്നതിൻറെ പേരിൽ അറിയപ്പെടുന്ന ഒരു വനിതയാണ്. [[വിമൻ ഓൺ വേവ്സ്]], [[വിമൻ ഓൺ വെബ്]] എന്നീ സംഘടനകളുടെ സ്ഥാപകയായ അവർ, സ്ത്രീകൾക്ക് പ്രത്യുൽപാദനപരമായ ആരോഗ്യ സേവനങ്ങൾ നൽകാത്ത രാജ്യങ്ങളിലെ സ്ത്രീകൾക്ക് അത്തരം സേവനങ്ങൾ ലഭ്യമാക്കുന്നതിൽ ശ്രദ്ധിക്കുന്നു. 2013ലും 2014ലും [[ബി.ബി.സി.|ബി.ബി.സി.യുടെ]] 100 വിമൻ പട്ടികയിൽ അവർ‌ ഉൾപ്പെട്ടിരുന്നു.<ref>{{cite web|url=https://www.bbc.com/news/world-24579511|title=100 Women: Who took part?|date=22 November 2013|website=BBC}}</ref><ref>{{cite web|url=https://www.bbc.com/news/world-29758792|title=Who are the 100 Women 2014?|date=26 October 2014|website=BBC}}</ref> 2018-ൽ അവർ [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കൻ ഐക്യനാടുകളിൽ]] പ്രവർത്തിക്കുന്ന [[എയ്ഡ് ആക്സസ്]] എന്ന സംഘടന സ്ഥാപിച്ചു.<ref>{{Cite web|url=https://fivethirtyeight.com/features/medication-abortion-after-dobbs/|title=As States Banned Abortion, Thousands More Americans Got Pills Online Anyway|access-date=2022-11-06|last=Koerth|first=Maggie|date=2022-11-01|website=FiveThirtyEight|language=en-US|archive-date=2023-01-04|archive-url=https://web.archive.org/web/20230104070716/https://fivethirtyeight.com/features/medication-abortion-after-dobbs/|url-status=dead}}</ref> പരിശീലനം ലഭിച്ച ഒരു അബോർഷൻ സ്പെഷ്യലിസ്റ്റും ആക്ടിവിസ്റ്റുമായ അവർ പൊതുവെ അന്താരാഷ്ട്ര അതിർത്തികൾ ഭേദിച്ച ആദ്യത്തെ ഗർഭഛിദ്രാവകാശ പ്രവർത്തകയായി കണക്കാക്കപ്പെടുന്നു.<ref name=":0">{{Cite news|url=https://www.nytimes.com/2001/08/26/magazine/the-pro-choice-extremist.html|title=The Pro-Choice Extremist|work=[[The New York Times Magazine]]|last=Corbett|first=Sara|date=2001-08-26|language=en}}</ref> 2020-ൽ ടൈംസ് 100 ൻറെ ഏറ്റവും സ്വാധീനമുള്ള 100 ആളുകളുടെ പട്ടികയിൽ ഗോംപെർട്‌സും ഉൾപ്പെടുന്നു.<ref>{{Cite magazine|title=Rebecca Gomperts: The 100 Most Influential People of 2020|first=Cecile|last=Richards|url=https://time.com/collection/100-most-influential-people-2020/5888177/rebecca-gomperts/|date=2020-09-22|magazine=[[Time (magazine)|Time]]|access-date=2023-01-21|archive-date=2023-06-12|archive-url=https://web.archive.org/web/20230612152223/https://time.com/collection/100-most-influential-people-2020/5888177/rebecca-gomperts/|url-status=dead}}</ref> == ആദ്യകാലജീവിതം == 1966-ൽ [[സുരിനാം|സുരിനാമിലെ]] [[പരമാരിബൊ|പരമാരിബോയിലാണ്]] റെബേക്ക ഗോംപെർട്ട്സ് ജനിച്ചത്.<ref name=":1">{{Cite web|url=https://www.theguardian.com/world/2007/nov/14/gender.uk|title=Abortion on the high seas|access-date=2018-11-19|last=Ferry|first=Julie|date=2007-11-14|website=the Guardian|language=en}}</ref> അവൾക്ക് മൂന്ന് വയസ്സുള്ളപ്പോൾ കുടുംബം [[നെതർലന്റ്സ്|നെതർലാൻഡിലേക്ക്]] താമസം മാറിയതോടെ, അവൾ വളർന്നത് തുറമുഖ പട്ടണമായ വ്ലിസിംഗനിൽ ആയിരുന്നു.<ref name=":2">{{Cite news|url=https://www.independent.co.uk/news/people/rebecca-gomperts-meet-the-woman-travelling-the-world-delivering-abortion-drugs-by-drone-a7052306.html.|title=Meet the woman travelling the world delivering abortion drugs by drone|first=Maya|last=Oppenheim|work=The Independent|date=2016-05-31|language=en-GB}}</ref> ഒരു ചെറിയ പട്ടണത്തിൽ വളർന്നുവെങ്കിലും, ഭാവി കരിയറിനെ നയിക്കുന്ന ഒരു അന്താരാഷ്ട്ര അവബോധം അവളിൽ വളർന്നിരുന്നു.<ref name=":22">{{Cite news|url=https://www.independent.co.uk/news/people/rebecca-gomperts-meet-the-woman-travelling-the-world-delivering-abortion-drugs-by-drone-a7052306.html.|title=Meet the woman travelling the world delivering abortion drugs by drone|first=Maya|last=Oppenheim|work=The Independent|date=2016-05-31|language=en-GB}}</ref> ഹൈസ്കൂൾ വിദ്യാഭ്യാസത്തിനുശേഷം 1980-കളുടെ മധ്യത്തിൽ ഗോംപെർട്ട്സ് ആംസ്റ്റർഡാമിലേക്ക് മാറി.<ref name=":02">{{Cite news|url=https://www.nytimes.com/2001/08/26/magazine/the-pro-choice-extremist.html|title=The Pro-Choice Extremist|work=[[The New York Times Magazine]]|last=Corbett|first=Sara|date=2001-08-26|language=en}}</ref> കലയിലും ശാസ്ത്രത്തിലും താൽപ്പര്യമുള്ള അവൾ വിഷ്വൽ ആർട്ടും വൈദ്യശാസ്ത്രവും പഠിച്ചു. കൻസെപ്ചൂൽ ആർട്ട് പഠിച്ച അവർ ആംസ്റ്റർഡാമിലെ റീറ്റ്‌വെൽഡ് അക്കാദമിയിൽ നാല് വർഷത്തെ ആർട്ട് ബിരുദം പൂർത്തിയാക്കുകയും അതേ സമയംതന്നെ മെഡിക്കൽ വിദ്യാലയത്തിൽ ചേരുകയും ചെയ്തു.<ref name=":62">{{Cite journal|last=Lambert‐Beatty|first=Carrie|date=2008-01-01|title=Twelve Miles: Boundaries of the New Art/Activism|journal=Signs: Journal of Women in Culture and Society|language=en|volume=33|issue=2|pages=309–327|doi=10.1086/521179|s2cid=147307705|issn=0097-9740}}</ref> കല താൻ പിന്തുടരാൻ ആഗ്രഹിക്കുന്ന പാതയല്ലെന്ന് കണ്ടെത്തിയതോടെ അവൾ വൈദ്യശാസ്ത്ര മേഖയലിലേയ്ക് വഴിമാറി. == കരിയർ == മെഡിക്കൽ വിദ്യാലയത്തിൽ നിന്ന് ബിരുദം നേടിയ ശേഷം, ഗോംപെർട്ട് [[ഗയാന|ഗയാനയിലെ]] ഒരു ചെറിയ ആശുപത്രിയിൽ ട്രെയിനി ഡോക്ടറായി ജോലി ചെയ്തു.<ref name=":23">{{Cite news|url=https://www.independent.co.uk/news/people/rebecca-gomperts-meet-the-woman-travelling-the-world-delivering-abortion-drugs-by-drone-a7052306.html.|title=Meet the woman travelling the world delivering abortion drugs by drone|first=Maya|last=Oppenheim|work=The Independent|date=2016-05-31|language=en-GB}}</ref> ഇവിടെയാണ് 25-ാം വയസ്സിൽ നിയമവിരുദ്ധമായ [[ഗർഭഛിദ്രം|ഗർഭഛിദ്രത്തിന്റെ]] യാഥാർത്ഥ്യങ്ങൾ അവൾ ആദ്യമായി കണ്ടത്.<ref name="POLITICO">{{Cite news|url=https://www.politico.eu/article/ireland-referendum-abortion-rebecca-gomperts-a-hard-pill-to-swallow-in-ireland/.|title=The doctor who brought abortion out of the shadows in Ireland|date=2018-03-20|work=POLITICO|access-date=2018-11-19|language=en-US}}</ref> 1997 ലെ കണക്കനുസരിച്ച്, [[ആംസ്റ്റർഡാം|ആംസ്റ്റർഡാമിൽ]] നിയമപരമായ ഗർഭഛിദ്ര ചികിത്സ നടത്തിയ 31 വയസ്സുള്ള ഒരു ഡോക്ടറായിരുന്നു അവർ.<ref name=":04">{{Cite news|url=https://www.nytimes.com/2001/08/26/magazine/the-pro-choice-extremist.html|title=The Pro-Choice Extremist|work=[[The New York Times Magazine]]|last=Corbett|first=Sara|date=2001-08-26|language=en}}</ref> 1997-1998 കാലഘട്ടത്തിൽ, റെയിൻബോ വാരിയർ II എന്ന [[ഗ്രീൻപീസ് പ്രസ്ഥാനം|ഗ്രീൻപീസ്]] കപ്പലിൽ ഗോംപെർട്ട്സ് ഒരു റെസിഡന്റ് ഫിസിഷ്യനും പരിസ്ഥിതി പ്രവർത്തകയുമെന്ന നിലയിൽ യാത്ര ചെയ്തു.<ref name=":05">{{Cite news|url=https://www.nytimes.com/2001/08/26/magazine/the-pro-choice-extremist.html|title=The Pro-Choice Extremist|work=[[The New York Times Magazine]]|last=Corbett|first=Sara|date=2001-08-26|language=en}}</ref> ലാറ്റിനമേരിക്കയിലൂടെ കപ്പൽ യാത്ര നടത്തിയ അവർ, റൊമാനിയയും ഗിനിയയും സന്ദർശിച്ചു.<ref name=":06">{{Cite news|url=https://www.nytimes.com/2001/08/26/magazine/the-pro-choice-extremist.html|title=The Pro-Choice Extremist|work=[[The New York Times Magazine]]|last=Corbett|first=Sara|date=2001-08-26|language=en}}</ref> == അവലംബം == [[വർഗ്ഗം:1966-ൽ ജനിച്ചവർ]] dihgb0m15xbgekf3fm20p2w295nnrf2 സി.ടി. രവികുമാർ 0 595122 4621627 4546192 2026-05-22T21:16:51Z Acpcvkm 215239 /* */ 4621627 wikitext text/x-wiki {{Needs Image}} സുപ്രീം കോടതി മുൻ ജഡ്ജിയാണ് '''ജസ്റ്റിസ്‌ സി.ടി.രവികുമാർ ('''മുഴുവൻ പേര് - ചുടലയിൽ തേവൻ രവികുമാർ) (ജനനം:1960 ജനുവരി 5). 2009 ജനവരി 5 മുതൽ മുതൽ 2021 ആഗസ്റ്റ് 30 വരെ അദ്ദേഹം കേരള ഹൈക്കോടതി ജഡ്ജിയായിരുന്നു.സാമൂഹ്യ പ്രതിബദ്ധത വെളിപ്പെടുത്തിയ ഒട്ടേറെ വിധികളിലൂടെ ശ്രദ്ധേയനായ ന്യായാധിപനാണ് ജസ്റ്റിസ് സി ടി രവികുമാർ. ദളിത് സമുദായത്തിൽ നിന്നും കെ.ആർ.നാരായണനും ജസ്റ്റിസ്‌ കെ.ജി.ബാലകൃഷ്ണനും ശേഷം എറ്റവും വലിയ ഭരണഘടനാ പദവിയിൽ എത്തിയ മലയാളിയാണ് ജസ്റ്റിസ്‌ രവികുമാർ. == ജീവിതരേഖ == 1960 ജനുവരി 5 ന് മാവേലിക്കര തഴക്കര കുറ്റിലയ്യത്ത് ചുടലയിൽ തേവന്റേയും സരസ്വതിയുടേയും ആറ് മക്കളിൽ അഞ്ചാമനായാന്ന് രവികുമാറിന്റെ ജനനം.അച്ഛൻ കോടതിയിൽ ബഞ്ച് ക്ലാർക്കായിരുന്നു. പട്ടികജാതിയിൽപ്പെട്ട പുലയ സമുദായത്തിൽ നിന്നും സ്വപ്രയക്ത്നം കൊണ്ട് സർക്കാർ ഉദ്യോഗം നേടിയവരുടെ ആദ്യ തലമുറയിൽപ്പെട്ട ആളായിരുന്നു അദേഹത്തിന്റെ അച്ഛൻ തേവൻ. പട്ടിക ജാതിയിൽപ്പെട്ടവർക്ക് വിദ്യാഭാസം പോലും നിഷേധിക്കപ്പെട്ട അക്കാലത്ത് അദ്ദേഹം ഫസ്റ്റ് ക്ലാസ്സോടെ ഉയർന്ന മാർക്ക്‌ നേടി എസ്സ്.എസ്സ്. എൽ.സി പാസ്സായി. തന്റെ സമുദായത്തിൽ നിന്നും പത്തു ബി.എ ക്കാരെയെങ്കിലും കണ്ടിട്ടു വേണം മരിക്കാൻ എന്നു അയ്യങ്കാളി പറഞ്ഞ ഒരു കാലമായിരുന്നു അത്. ഒരിക്കൽ മാവേലിക്കരയിൽ എത്തിയ അയ്യങ്കാളി മിടുക്കനായ ആ വിദ്യാർത്ഥിയെ കുറിച്ച് അറിയുകയും അഭിനന്ദിക്കുകയും ചെയ്തു. അയ്യങ്കാളിയുടെ കൂടെ പിന്തുണ ലഭിച്ച തേവൻ പിന്നീട് സർക്കാർ സർവീസിൽ കോടതിയിൽ ബെഞ്ച് ക്ലാർക്കായി നിയമനം കിട്ടി.പീരുമേട് കോടതിയിൽ മജിസ്ട്രേറ്റ് കോടതിയിൽ ആയിരുന്നു നിയമനം. ഇംഗ്ലീഷ്‌ ഭാഷയിൽ അഗാദ്ധമായ പാണ്ഡിത്യം ഉള്ള ആളായിരുന്നു തേവൻ. നല്ലൊരു എഴുത്തുകാരൻ കൂടിയായിരുന്നു അദ്ദേഹം. ഇംഗ്ലീഷിലും മലയാളത്തിലും ധാരാളം കവിതകൾ തേവൻ എഴുതിയിട്ടുണ്ട്. കായിക താരം കൂടിയായിരുന്ന അദ്ദേഹം തികഞ്ഞ മനുഷ്യസ്നേഹി കൂടിയായിരുന്നു. അതുകൊണ്ടെല്ലാം സമൂഹത്തിന്റെ മുഴുവൻ സ്നേഹവും ബഹുമാനവും ലഭിച്ച വക്തിയായിരുന്നു തേവൻ. അച്ഛൻ പീരുമേട്ടിൽ ജോലി ചെയ്തിരുന്ന കാലത്ത് അവിടെ വെച്ചായിരുന്നു ജസ്റ്റിസ്‌ രവികുമാറിന്റെ ജനനം. അച്ഛൻ പിന്നീട്‌ ദീർഘ കാലം ചങ്ങനാശ്ശേരി കോടതിയിൽ ജോലി നോക്കിയിട്ടുണ്ട്. ആറു മക്കളിൽ ഏറ്റവും ഇളയതായതിനാൽ "കുഞ്ഞ്" എന്നാണ് രവികുമാറിനെ എല്ലാവരും ഓമനിച്ചു വിളിച്ചിരുന്നത്. അച്ഛൻ കോടതി ജീവനക്കാരനായിരുന്നത് നീതിന്യായമേഖല തിരഞ്ഞെടുക്കാൻ രവികുമാറിന് പ്രചോദനമായി. രവികുമാർ ന്യായാധിപനാകണമെന്നത് അച്ഛന്റെ ആഗ്രഹമായിരുന്നു. ബെഞ്ച് ക്ലാർക്ക് ആയിരുന്ന അച്ഛൻ ആഗ്രഹിച്ചതിനുപ്പുറം രാജ്യത്തിന്റെ പരമോന്നത കോടതിയിൽ എത്താനുള്ള ഭാഗ്യം അദ്ദേഹത്തിനു കൈവന്നു. പരമോന്നത കോടതിയിൽ എത്തുന്നതു കാണാൻ അച്ഛൻ ഇല്ലാതെ പോയതിന്റെ നൊമ്പരം അദേഹത്തിന്റെ മനസ്സിൽ ഉണ്ട്. എല്ലാ ഉയർച്ചയ്ക്കും കാരണം അച്ഛന്റെയും അമ്മയുടെയും പ്രാർത്ഥനയും ഈശ്വരാനുഗ്രഹവുമാണെന്ന് അദ്ദേഹം പറയുന്നു. സഹോദരങ്ങളും മാതാപിതാക്കളും നൽകിയ സ്നേഹത്തെയും പിന്തുന്നയെയും കുറിച്ചു പറഞ്ഞപ്പോൾ ഹൈക്കോടതി നൽകിയ ഫുൾ കോർട്ട് റിഫ്രൻസിൽ അദ്ദേഹം വിതുമ്പി. അകാലത്തിൽ മരിച്ചു പോയ മൂത്ത സഹോദാരി രാധാമണിയെ കുറിച്ച് കണ്ണ് നിറഞ്ഞാണ് അദ്ദേഹം അന്ന് സംസാരിച്ചത്. സ്വർഗത്തിൽ ഇരുന്ന് അവർ തന്റെ നേട്ടം കാണുന്നുണ്ടാക്കും എന്നും പറഞ്ഞു. [[വർഗ്ഗം:ഇന്ത്യയിലെ ന്യായാധിപന്മാർ]] == വിദ്യാഭാസം == പ്രഥമിക വിദ്യാഭാസം അച്ഛൻ തേവൻ ജോലി ചെയ്തിരുന്ന പീരുമേട്ടിലും തുടർന്ന് മാവേലിക്കരയിലും ആയിരുന്നു.തുടർന്ന് ചങ്ങനാശ്ശേരി എസ്.ബി.കോളേജിൽ നിന്ന് ബി.എ സ്സ്.സി ബോട്ടാണി ബിരുദം നേടി.തുടർന്ന് കോഴിക്കോട് ഗവ.ലോ കോളേജിൽ നിന്നും നിയമ ബിരുദം നേടി. == അഭിഭാഷക വൃത്തി == 1986-ൽ അഭിഭാഷകനായി എൻറോൾ ചെയ്ത അദ്ദേഹം മാവേലിക്കരയിൽ അഡ്വ.പി.എസ്. വാസുദേവന്റെ ജൂനിയറായി പ്രാക്ടീസ് ആരംഭിച്ചു. തുടർണ് പിന്നീട്‌ സുപ്രീം കോടതി ചീഫ് ജസ്റ്റിസായ കെ.ജി.ബാലകൃഷ്ണന്റെ ഉപദേശപ്രകാരം ഹൈക്കോടതിയിലേക്ക് പ്രാക്ടീസ് മാറ്റി. അവിടെ അഡ്വക്കേറ്റ് ജനറൽ ആയിരുന്ന എം.കെ.ദാമോദരന്റെ കീഴിൽ വർഷങ്ങളോളം പ്രവർത്തിച്ചു. ഹൈക്കോടതിയിലും കീഴ്‌കോടതികളിലും ട്രൈബ്യൂണലുകളിലും സ്വാതന്ത്ര പ്രാക്ടീസ് തുടർന്നു. സിവിൽ, ക്രിമിനൽ, സർവീസ് കേസുകളിൽ പ്രാഗൽഭ്യം തെളിയിച്ചു. ഹൈക്കോടതിയിൽ ഗവ.പ്ലീഡർ, അഡീഷണൽ ഗവ.പ്ലീഡർ, സ്പെഷ്യൽ ഗവ.പ്ലീഡർ (എസ്.സി/എസ് ടി) എന്നീ നിലകളിൽ പ്രവർത്തിച്ചു. == ഹൈക്കോടതി ജഡ്ജി== കേരള ഹൈക്കോടതിയിൽ സീനിയർ ഗവ.പ്ലീഡർ ആയിരിക്കെ 2009 ജനുവരി 5ന് ഹൈക്കോടതി അഡീഷണൽ ജഡ്ജിയായി നിയമിതനായി.തുടർന്ന് 2010 ജനുവരി 15ന് സ്ഥിരം ജഡ്ജിയായി. പന്ത്രണ്ടര വർഷ കാലം അദ്ദേഹം ഹൈക്കോടതി ജഡ്ജിയായിരുന്നു.സുപ്രീംകോടതി ജഡ്ജിയായി നിയമിക്കപ്പെടുമ്പോൾ അദ്ദേഹം കേരള ഹൈക്കോടതിയിലെ ഏറ്റവും സീനിയർ ജഡ്ജിയായിരുന്നു. സീനിയർ ജഡ്ജിയെന്ന നിലയിൽ അദ്ദേഹം കേരള ഹൈക്കോടതിയിലെ ദേവസ്വം ബെഞ്ചിന്റെ തലവനായിരുന്നു. കേരള ലീഗൽ സർവീസസ് അതോറിറ്റി(കെൽസ)യുടെ എക്സിക്യൂട്ടീവ് ചെയർമാൻ,കേരള ജൂഡീഷ്യൽ അക്കാഡാമി പ്രസിഡണ്ട്‌, കേരള മീഡിയേഷൻ ആൻഡ് കൺസീലിയേഷൻ സെന്റർ പ്രസിഡണ്ട് എന്നീ നിലകളിലും പ്രവർത്തിച്ചു. ഒന്നാം മാറാട് കലാപത്തിൽ കീഴ്‌കോടതി ശിക്ഷിച്ചവരുടെ അപ്പീലിന്മേലുള്ള വിധി, ശബരിമല വെർച്വൽ ക്യൂ ഏർപ്പെടുത്തുന്നതിന് അനുമതി നൽകിയ വിധിയടക്കം ദേവസ്വം വിഷയങ്ങളിലുൾപ്പെടെ ഒട്ടേറെ ശ്രദ്ധേയ വിധികൾ പുറപ്പെടുവിച്ചു. ബാർ ലൈസൻസ് അനുവദിക്കുന്നതുമായി ബന്ധപ്പെട്ട ഹർജി പരിഗണിക്കുന്നതിനിടെ സുഹൃത്തായ അഭിഭാഷകൻ സ്വാധീനിക്കാൻ ശ്രമിച്ചതായി വെളിപ്പെടുത്തി കേസിൽനിന്ന് പിൻമാറിയത് ഏറെ ചർച്ചചെയ്യപ്പെട്ടു. ചെറിയകാര്യങ്ങളിൽപ്പോലും കാട്ടിയ നീതിബോധമാണ്‌  അദ്ദേഹത്തെ പരമോന്നത നീതിപീഠത്തിലേക്കെത്തിച്ചത്‌. ==സുപ്രീം കോടതി ജഡ്ജി== 2021 ഓഗസ്റ്റ് 17-ന് സുപ്രീം കോടതി ജഡ്ജിയായി നിയമിക്കപ്പെട്ടു. കേരള ഹൈക്കോടതിയിൽ നിന്ന് ചീഫ് ജസ്റ്റിസാക്കാതെ നേരിട്ട് സുപ്രീം കോടതി ജഡ്ജിയാക്കുന്ന അഞ്ചാമത്തെ ന്യായാധിപനാണ് ജസ്റ്റിസ് രവികുമാർ.2021 ആഗസ്റ്റ് 31ന് ചീഫ് ജസ്റ്റിസ്‌ എൻ വി രമണ മുൻപാകെ സത്യപ്രതിജ്ഞ ചെയ്തു സ്ഥാനമേറ്റു. സുപ്രീം കോടതി ജഡ്ജിയാക്കുന്ന പതിനഞ്ചാമത്തെ മലയാളിയാന്നു രവികുമാർ. സുപ്രീം കോടതി ജഡ്ജിയാവുന്ന ദളിത് വിഭാഗത്തിൽ നിന്നുള്ള നാലാമത്തെ വ്യക്തിയാണ് ജസ്റ്റിസ് രവികുമാർ. ജസ്റ്റിസ്സുമാരായ കെ. വരദരാജൻ, കെ.ജി. ബാലകൃഷ്ണൻ, ബി. എസ്സ്. ഗവായ് എന്നിവരാണ് ദളിത് വിഭാഗത്തിൽ നിന്നും നേരത്തെ സുപ്രീം കോടതി ജഡ്ജിമാരായവർ. ==കുടുംബം== അച്ഛൻ കെ.തേവൻ അമ്മ:സരസ്വതി ഭാര്യ:അഡ്വ.സൈറ രവികുമാർ (ഹൈകോടതി അഭിഭാഷക) മക്കൾ: അഡ്വ.നീതു,നീനു(ഗവേഷക) സഹോരദരങ്ങൾ: 1) കെ.ഡി.മുരളീധരൻ (റിട്ട.അധ്യാപകൻ, ഗവ.വി.എച്ച്.എസ്.എസ്, ഇറവങ്കര) 2) സി.ഡി.രാധാമണി (കെ.എസ്.ഇ.ബി സീനിയർ സൂപ്രണ്ട്) 3) സി. ടി.രാജൻ(റിട്ട.സോണൽ മാനേജർ, സ്റ്റേറ്റ് ബാങ്ക് ഓഫ് ഇന്ത്യ) 4) സി.ടി.ശശികുമാർ (റിട്ട.അധ്യാപകൻ) 5) സി.ടി.ജയകുമാരി,(തലയോലപ്പറമ്പ്) 3u9o1tn0iecy06uz2ptctx4u95fy17c ഉപയോക്താവിന്റെ സംവാദം:Adikeshavan 3 599876 4621601 4617605 2026-05-22T18:20:44Z Adikeshavan 173996 /* */ 4621601 wikitext text/x-wiki '''നമസ്കാരം {{#if: | | {{BASEPAGENAME}} }} !''', [[മലയാളം വിക്കിപീഡിയ|മലയാളം വിക്കിപീഡിയയിലേക്ക്‌]] [[വിക്കിപീഡിയ:ആമുഖം|സ്വാഗതം]]. താങ്കളുടെ അംഗത്വത്തിന് നന്ദി. താങ്കൾക്ക്‌ ഈ സ്ഥലം ഇഷ്ടമായെന്നും ഇവിടെ അൽപസമയം ചെലവഴിക്കുമെന്നും പ്രതീക്ഷിക്കുന്നു. താങ്കൾക്ക് ഉപയോഗപ്പെടാവുന്ന ചില താളുകൾ താഴെ കൊടുക്കുന്നു. [[File:Lipi ml.png|thumb|350px|right|[[സഹായം:എഴുത്ത്|ലിപിമാറ്റ രീതിയിൽ മലയാളം ടൈപ്പ് ചെയ്യുവാൻ]] ഉപയോഗിക്കാവുന്ന മൊഴി സ്കീമിന്റെ ചിത്രം]] * [[സഹായം:Tutorial|വീഡിയോ പരിശീലനം]] * [[സഹായം:ടൈപ്പിംഗ്‌|മലയാളത്തിലെഴുതാൻ]] * [[സഹായം:തിരുത്തൽ വഴികാട്ടി|ഒരു താൾ തിരുത്തിയെഴുതുന്നത് എങ്ങനെ?]] * [[സഹായം:ഉള്ളടക്കം|സഹായ താളുകൾ]] * [[സഹായം:ചിത്ര സഹായി|ചിത്ര സഹായി]] * [[സഹായം:കീഴ്‌വഴക്കം|കീഴ്‌വഴക്കങ്ങൾ]] * [[വിക്കിപീഡിയ:എഴുത്തുകളരി|എഴുത്തുകളരി]] * [[വിക്കിപീഡിയ:പഞ്ചസ്തംഭങ്ങൾ‎|വിക്കിപീഡിയയുടെ പഞ്ചസ്തംഭങ്ങൾ]] * [[വിക്കിപീഡിയ:നയങ്ങളും മാർഗ്ഗരേഖകളും|വിക്കിപീഡിയിലെ നയങ്ങളും മാർഗ്ഗരേഖകളും.]] താങ്കൾ [[വിക്കിപീഡിയ:പുതുമുഖം|പുതുമുഖങ്ങൾക്കായുള്ള താൾ]] പരിശോധിച്ചിട്ടില്ലെങ്കിൽ ദയവായി അപ്രകാരം ചെയ്യാൻ താത്പര്യപ്പെടുന്നു. [[വിക്കിപീഡിയ:വിക്കിപീഡിയർ|വിക്കിപീഡിയരിൽ]] ഒരാളായി ഇവിടെ തിരുത്തലുകൾ നടത്തുന്നത് താങ്കൾ ആസ്വദിക്കുമെന്ന് ഞാൻ കരുതുന്നു. താങ്കളെപ്പറ്റിയുള്ള വിവരങ്ങൾ‍ [[പ്രത്യേകം:Mypage|ഉപയോക്താവിനുള്ള താളിൽ]] നൽകാവുന്നതാണ്‌. സംവാദ താളുകളിൽ ഒപ്പ് വെക്കുവാനായി നാല് "ടിൽഡ" (<nowiki>~~~~</nowiki>) ഉപയോഗിക്കുകയോ, ടൂൾബാറിലെ [[File:Insert-signature.png]] ബട്ടൻ ഉപയോഗിക്കുകയോ ചെയ്യുക. സ്വന്തം പേരും തീയതിയും സമയവും താനേ വന്നുകൊള്ളും. എന്നാൽ ലേഖനങ്ങളിൽ അപ്രകാരം ഒപ്പുവെക്കാതിരിക്കാൻ ശ്രദ്ധിക്കുക. മറ്റ് ഉപയോക്താക്കളോട് സം‌വദിക്കാൻ അവരുടെ സം‌വാദത്താളിൽ താങ്കളുടെ സന്ദേശം എഴുതാവുന്നതാണ്. വിക്കിപീഡിയയിൽ എന്തെങ്കിലും സഹായം ആവശ്യമുണ്ടെങ്കിൽ എന്റെ സംവാദ താളിൽ ഒരു കുറിപ്പ് ഇടൂ, അല്ലെങ്കിൽ താങ്കളുടെ സംവാദ താളിൽ '''<nowiki>{{helpme}}</nowiki>''' എന്ന് ചേർക്കൂ, ആരെങ്കിലും ഉടനെ തന്നെ താങ്കളെ സഹായിക്കാൻ ശ്രമിക്കും. ഒരു നല്ല വിക്കിപീഡിയ അനുഭവം ആശംസിക്കുന്നു. വിക്കിമീഡിയയുടെ മലയാളം പദ്ധതികൾക്കായി ഒരു [https://lists.wikimedia.org/mailman/listinfo/wikiml-l മെയിലിങ് ലിസ്റ്റ് നിലവിലുണ്ട്]. ആ ലിസ്റ്റിൽ അംഗത്വം എടുത്ത് താങ്കൾക്ക് വിക്കിപീഡിയയെക്കുറിച്ചുള്ള അഭിപ്രായങ്ങളും, സംശയങ്ങളും, വിക്കിപീഡിയ മെച്ചപ്പെടുത്താനുള്ള വഴികളും ഒക്കെ അവിടെ ഉന്നയിക്കാവുന്നതാണ്‌. മെയിലിങ്ങ് ലിസ്റ്റിൽ അംഗത്വമെടുക്കാൻ ഇവിടെ ഞെക്കുക https://lists.wikimedia.org/mailman/listinfo/wikiml-l. ലിസ്റ്റിൽ അംഗത്വമെടുത്തതിനു ശേഷം''' wikiml-l@lists.wikimedia.org''' എന്ന ഇമെയിൽ വിലാസത്തിലേക്കു ഇമെയിൽ അയച്ചാൽ മറ്റുള്ള വിക്കിപീഡിയർ നിങ്ങളെ സഹായിക്കും. ഇനിയും ബുദ്ധിമുട്ട് തോന്നുന്നുവെങ്കിൽ വിക്കിപീഡിയരോട് നേരിട്ട് സംശയം ചോദിക്കാൻ [[സഹായം:ഐ.ആർ.സി.|ചാറ്റ് ചെയ്യാം]]. ഇതിനായി [http://webchat.freenode.net/?channels=wikipedia-ml ഇവിടെ ഞെക്കുക]. ആരെങ്കിലും ചാറ്റ്റൂമിലുണ്ടെങ്കിൽ അവർ തീർച്ചയായും താങ്കളെ സഹായിക്കുന്നതാണ്. -- [[ഉപയോക്താവ്:സ്വാഗതസംഘം|സ്വാഗതസംഘം]] ([[ഉപയോക്താവിന്റെ സംവാദം:സ്വാഗതസംഘം|സംവാദം]]) 01:45, 4 ജൂലൈ 2023 (UTC) rhdcpwyot0dntyn97usd4klcb6rq72r 4621602 4621601 2026-05-22T18:39:13Z Adikeshavan 173996 /* */ 4621602 wikitext text/x-wiki {{db-u1|rationale=It redirects from and shows my previous username which was my original name }} '''നമസ്കാരം {{#if: | | {{BASEPAGENAME}} }} !''', [[മലയാളം വിക്കിപീഡിയ|മലയാളം വിക്കിപീഡിയയിലേക്ക്‌]] [[വിക്കിപീഡിയ:ആമുഖം|സ്വാഗതം]]. താങ്കളുടെ അംഗത്വത്തിന് നന്ദി. താങ്കൾക്ക്‌ ഈ സ്ഥലം ഇഷ്ടമായെന്നും ഇവിടെ അൽപസമയം ചെലവഴിക്കുമെന്നും പ്രതീക്ഷിക്കുന്നു. താങ്കൾക്ക് ഉപയോഗപ്പെടാവുന്ന ചില താളുകൾ താഴെ കൊടുക്കുന്നു. [[File:Lipi ml.png|thumb|350px|right|[[സഹായം:എഴുത്ത്|ലിപിമാറ്റ രീതിയിൽ മലയാളം ടൈപ്പ് ചെയ്യുവാൻ]] ഉപയോഗിക്കാവുന്ന മൊഴി സ്കീമിന്റെ ചിത്രം]] * [[സഹായം:Tutorial|വീഡിയോ പരിശീലനം]] * [[സഹായം:ടൈപ്പിംഗ്‌|മലയാളത്തിലെഴുതാൻ]] * [[സഹായം:തിരുത്തൽ വഴികാട്ടി|ഒരു താൾ തിരുത്തിയെഴുതുന്നത് എങ്ങനെ?]] * [[സഹായം:ഉള്ളടക്കം|സഹായ താളുകൾ]] * [[സഹായം:ചിത്ര സഹായി|ചിത്ര സഹായി]] * [[സഹായം:കീഴ്‌വഴക്കം|കീഴ്‌വഴക്കങ്ങൾ]] * [[വിക്കിപീഡിയ:എഴുത്തുകളരി|എഴുത്തുകളരി]] * [[വിക്കിപീഡിയ:പഞ്ചസ്തംഭങ്ങൾ‎|വിക്കിപീഡിയയുടെ പഞ്ചസ്തംഭങ്ങൾ]] * [[വിക്കിപീഡിയ:നയങ്ങളും മാർഗ്ഗരേഖകളും|വിക്കിപീഡിയിലെ നയങ്ങളും മാർഗ്ഗരേഖകളും.]] താങ്കൾ [[വിക്കിപീഡിയ:പുതുമുഖം|പുതുമുഖങ്ങൾക്കായുള്ള താൾ]] പരിശോധിച്ചിട്ടില്ലെങ്കിൽ ദയവായി അപ്രകാരം ചെയ്യാൻ താത്പര്യപ്പെടുന്നു. [[വിക്കിപീഡിയ:വിക്കിപീഡിയർ|വിക്കിപീഡിയരിൽ]] ഒരാളായി ഇവിടെ തിരുത്തലുകൾ നടത്തുന്നത് താങ്കൾ ആസ്വദിക്കുമെന്ന് ഞാൻ കരുതുന്നു. താങ്കളെപ്പറ്റിയുള്ള വിവരങ്ങൾ‍ [[പ്രത്യേകം:Mypage|ഉപയോക്താവിനുള്ള താളിൽ]] നൽകാവുന്നതാണ്‌. സംവാദ താളുകളിൽ ഒപ്പ് വെക്കുവാനായി നാല് "ടിൽഡ" (<nowiki>~~~~</nowiki>) ഉപയോഗിക്കുകയോ, ടൂൾബാറിലെ [[File:Insert-signature.png]] ബട്ടൻ ഉപയോഗിക്കുകയോ ചെയ്യുക. സ്വന്തം പേരും തീയതിയും സമയവും താനേ വന്നുകൊള്ളും. എന്നാൽ ലേഖനങ്ങളിൽ അപ്രകാരം ഒപ്പുവെക്കാതിരിക്കാൻ ശ്രദ്ധിക്കുക. മറ്റ് ഉപയോക്താക്കളോട് സം‌വദിക്കാൻ അവരുടെ സം‌വാദത്താളിൽ താങ്കളുടെ സന്ദേശം എഴുതാവുന്നതാണ്. വിക്കിപീഡിയയിൽ എന്തെങ്കിലും സഹായം ആവശ്യമുണ്ടെങ്കിൽ എന്റെ സംവാദ താളിൽ ഒരു കുറിപ്പ് ഇടൂ, അല്ലെങ്കിൽ താങ്കളുടെ സംവാദ താളിൽ '''<nowiki>{{helpme}}</nowiki>''' എന്ന് ചേർക്കൂ, ആരെങ്കിലും ഉടനെ തന്നെ താങ്കളെ സഹായിക്കാൻ ശ്രമിക്കും. ഒരു നല്ല വിക്കിപീഡിയ അനുഭവം ആശംസിക്കുന്നു. വിക്കിമീഡിയയുടെ മലയാളം പദ്ധതികൾക്കായി ഒരു [https://lists.wikimedia.org/mailman/listinfo/wikiml-l മെയിലിങ് ലിസ്റ്റ് നിലവിലുണ്ട്]. ആ ലിസ്റ്റിൽ അംഗത്വം എടുത്ത് താങ്കൾക്ക് വിക്കിപീഡിയയെക്കുറിച്ചുള്ള അഭിപ്രായങ്ങളും, സംശയങ്ങളും, വിക്കിപീഡിയ മെച്ചപ്പെടുത്താനുള്ള വഴികളും ഒക്കെ അവിടെ ഉന്നയിക്കാവുന്നതാണ്‌. മെയിലിങ്ങ് ലിസ്റ്റിൽ അംഗത്വമെടുക്കാൻ ഇവിടെ ഞെക്കുക https://lists.wikimedia.org/mailman/listinfo/wikiml-l. ലിസ്റ്റിൽ അംഗത്വമെടുത്തതിനു ശേഷം''' wikiml-l@lists.wikimedia.org''' എന്ന ഇമെയിൽ വിലാസത്തിലേക്കു ഇമെയിൽ അയച്ചാൽ മറ്റുള്ള വിക്കിപീഡിയർ നിങ്ങളെ സഹായിക്കും. ഇനിയും ബുദ്ധിമുട്ട് തോന്നുന്നുവെങ്കിൽ വിക്കിപീഡിയരോട് നേരിട്ട് സംശയം ചോദിക്കാൻ [[സഹായം:ഐ.ആർ.സി.|ചാറ്റ് ചെയ്യാം]]. ഇതിനായി [http://webchat.freenode.net/?channels=wikipedia-ml ഇവിടെ ഞെക്കുക]. ആരെങ്കിലും ചാറ്റ്റൂമിലുണ്ടെങ്കിൽ അവർ തീർച്ചയായും താങ്കളെ സഹായിക്കുന്നതാണ്. -- [[ഉപയോക്താവ്:സ്വാഗതസംഘം|സ്വാഗതസംഘം]] ([[ഉപയോക്താവിന്റെ സംവാദം:സ്വാഗതസംഘം|സംവാദം]]) 01:45, 4 ജൂലൈ 2023 (UTC) l7omy2h6bjehjfurwjfwou71p5ln0o0 കേരള സർക്കാർ വകുപ്പുകൾ 0 606745 4622178 4620522 2026-05-23T07:56:46Z Asifalinair 206364 /* സെക്രട്ടേറിയറ്റ് വകുപ്പുകൾ */ 4622178 wikitext text/x-wiki {{Under construction}} {{prettyurl|Kerala Government Departments}}<div id="purl" class="NavFrame collapsed" align="right" style="float:right; position: absolute; top: -3em; right:30px; width:auto; background:#eae9e9;"><div class="NavHead" align="right" style="float:right; font-size:85%; background:#dadadb; padding-right: 90px; color:#333333; white-space:nowrap;">'''<span class="plainlinks">[[Kerala Government Departments|ഇംഗ്ലീഷ് വിലാസം]]</span> [[പ്രമാണം:Gtk-dialog-question.svg|കണ്ണി=ഫലകം:Prettyurl#ഉപയോഗക്രമം|12x12ബിന്ദു|സഹായം]]'''</div> <div class="NavContent" align="right" style="background:#eae9e9; width:auto"> <span class="plainlinks" style="white-space:nowrap; overflow: hidden">https://ml.wikipedia.org/wiki/Kerala_Government_Departments</span></div></div><span></span> വിവിധ സർക്കാർ വകുപ്പുകളുടെ മാതൃവകുപ്പിനെ സെക്രട്ടേറിയറ്റ് വകുപ്പുകൾ എന്നുപറയുന്നു. ഓരോ വകുപ്പ് മന്ത്രിമാരുടെയും കീഴിൽ വകുപ്പ് സെക്രട്ടറിമാരാണ് ഇതിന് നേതൃത്വം നൽകുന്നത്. സെക്രട്ടറിയേറ്റ് വകുപ്പുകൾക്ക് കീഴിൽ പ്രവർത്തിക്കുന്ന കീഴ് വകുപ്പുകളെ ഫീൽഡ് വകുപ്പുകൾ എന്ന് പറയുന്നു. അതാത് വകുപ്പ് മേധാവികൾ ആണ് ഇവയ്ക്ക് നേതൃതം നൽകുന്നത്. ഡയറക്ടർ, കമ്മീഷണർ തുടങ്ങീ വിവിധ പേരുകളിൽ ആണ് വകുപ്പ് മേധാവികൾ അറിയപ്പെടുന്ന്ത്. ഡയറക്ടറേറ്റ്, കമ്മീഷണറേറ്റ് തുടങ്ങീ പേരുകളിൽ ആണ് ഈ ഭരണകേന്ദ്രങ്ങൾ അറിയപ്പെടുന്നത്. കൂടാതെ വിവിധ പൊതു മേഖലാ സ്ഥാപനങ്ങളും ഇതിൽ ഉൾപ്പെടുന്നു. [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] വകുപ്പുകളുടെ ഏകോപനം നടത്തുന്നത്. [[File:Government of Kerala Logo.png|center|220x220px|[[കേരള സർക്കാർ|കേരള സർക്കാരിൻ്റെ]] ഓദ്യോഗിക ചിഹ്നം|പകരം=ഓദ്യോഗിക ചിഹ്നം|ലഘുചിത്രം]] == വകുപ്പുകൾ == ===സെക്രട്ടേറിയറ്റ് വകുപ്പുകൾ=== {| class="wikitable sortable" ! നമ്പർ ! വകുപ്പ്<ref>{{Cite web |title=Work distribution directory of government secretariat, 2026 |url=https://gad.kerala.gov.in/sites/default/files/inline-files/work%20distribution%20directory%20final%20%202026.pdf |website=General Administration Department, Govt of Kerala}}</ref> <ref>{{cite web | title=Official Web Portal - Government of Kerala | url=https://kerala.gov.in/appdepartmentdetail/NTI1MzI1LjI0 }}</ref> |- | 1 || [[കൃഷി വകുപ്പ് (കേരളം)|കാർഷിക വികസന-കർഷക ക്ഷേമ വകുപ്പ്]] |- | 2 || [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണ വകുപ്പ്]] |- | 3 || [[ആയുഷ് വകുപ്പ് (കേരളം)|ആയുഷ് വകുപ്പ്]] |- | 4 || [[കേരള പിന്നാക്ക വിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസന വകുപ്പ്]] |- | 5 || [[കേരള സഹകരണ വകുപ്പ്|സഹകരണ വകുപ്പ്]] |- | 6 || തീരദേശ കപ്പൽഗതാഗത-ഉൾനാടൻ നാവിഗേഷൻ വകുപ്പ് |- | 7 || [[ഭക്ഷ്യ, പൊതുവിതരണ-ഉപഭോക്തൃകാര്യ വകുപ്പ്|ഉപഭോക്തൃകാര്യ വകുപ്പ്]] |- | 8 || [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരികകാര്യ വകുപ്പ്]] |- | 9 || [[കേരള ക്ഷീര വികസന വകുപ്പ്|ക്ഷീര വികസന വകുപ്പ്]] |- |10 |ദുരന്തനിവാരണ വകുപ്പ്<ref>{{Cite web |date=2020-09-28 |title=Introduction - Kerala State Disaster Management Authority |url=https://sdma.kerala.gov.in/introduction/ |access-date=2026-04-16 |language=en-GB}}</ref> |- |11 |തിരഞ്ഞെടുപ്പ് വകുപ്പ് |- | 12 || [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്]] |- | 13 || [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി വകുപ്പ്]] |- | 14 || [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യ വകുപ്പ്]] |- | 15 || [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്]] |- | 16 || [[ഭക്ഷ്യ, പൊതുവിതരണ-ഉപഭോക്തൃകാര്യ വകുപ്പ്|ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്]] |- | 17 || [[കേരള വനം-വന്യജീവി വകുപ്പ്|വനം-വന്യജീവി വകുപ്പ്]] |- | 18 || [[കേരള പൊതുഭരണ വകുപ്പ്|പൊതുഭരണ വകുപ്പ്]] |- | 19 || [[കേരള സർക്കാർ പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസ വകുപ്പ്]] |- | 20 || [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്]] |- | 21 || [[കേരള ഉന്നതവിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നതവിദ്യാഭ്യാസ വകുപ്പ്]] |- | 22 || [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തര വകുപ്പ്]] |- | 23 || [[കേരള ഭവനനിർമാണ വകുപ്പ്|ഭവനനിർമാണ വകുപ്പ്]] |- | 24 || [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായ-വാണിജ്യ വകുപ്പ്]] |- | 25 || [[കേരള വിവര-ജനസമ്പർക്ക വകുപ്പ്|വിവര-ജനസമ്പർക്ക വകുപ്പ്]] |- | 26 || [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ-നൈപുണ്യ വകുപ്പ്]] |- | 27 || [[കേരള നിയമ വകുപ്പ്|നിയമ വകുപ്പ്]] |- | 28 || [[കേരള സർക്കാർ തദ്ദേശ സ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] |- | 29 || [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്]] |- | 30 || [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യ (നോർക്ക) വകുപ്പ്]] |- | 31 || പാർലമെന്ററികാര്യ വകുപ്പ് |- | 32 || ഉദ്യോഗസ്ഥ-ഭരണപരിഷ്കാര വകുപ്പ് |- | 33 || ആസൂത്രണ-സാമ്പത്തികകാര്യ വകുപ്പ് |- |34 |പരിപാടി നിർവഹണ, മൂല്യനിർണയ-നിരീക്ഷണ വകുപ്പ് |- | 35 || [[കേരള വൈദ്യുതി വകുപ്പ്|വൈദ്യുതി വകുപ്പ്]] |- |36 |പൊതുവാങ്ങൽ ഉപദേശ വകുപ്പ് |- | 37 || [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] |- | 38 || [[ലാൻഡ് റവന്യൂ വകുപ്പ്|റവന്യൂ വകുപ്പ്]] |- | 39 || സൈനിക ക്ഷേമ വകുപ്പ് |- | 40 || [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്]] |- | 41 || [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്]] |- | 42 || [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി വകുപ്പ്]] |- | 43 || [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായിക-യുവജനകാര്യ വകുപ്പ്]] |- | 44 || [[കേരള നികുതി വകുപ്പ്|നികുതി വകുപ്പ്]] |- | 45 || [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം വകുപ്പ്]] |- | 46 || [[കേരള ഗതാഗത വകുപ്പ്|ഗതാഗത വകുപ്പ്]] |- | 47 || [[വിജിലൻസ് ആന്റ് ആന്റി കറപ്ഷൻ ബ്യൂറോ, കേരളം|വിജിലൻസ് വകുപ്പ്]] |- | 48 || [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവ വകുപ്പ്]] |- | 49 || [[കേരള വനിതാ-ശിശു വികസന വകുപ്പ്|വനിതാ-ശിശു വികസന വകുപ്പ്]] |} ===ലൈൻ വകുപ്പുകൾ=== സർക്കാരിന്റെ കാര്യനിർവഹണ വകുപ്പുകളാണ് ചുവടെ കൊടുത്തിരിക്കുന്നവ. ഇത് ഫീൽഡ് ഡിപ്പാർട്ട്‌മെൻ്റുകൾ, കീഴ് വക്പ്പുകൾ എന്നിങ്ങനെയും അറിയപ്പെടുന്നു. <section begin="വകുപ്പുകൾ"></section> {| class="wikitable sortable" style="text-align:center; width:100%" |- !ക്രമനമ്പർ ! scope="col" | മാതൃ വകുപ്പ് (സെക്രട്ടേറിയേറ്റ്)<br /> ! scope="col" class="unsortable" | ഫീൽഡ് വകുപ്പുകൾ !സർക്കാർ സ്ഥാപനങ്ങൾ ! scope="col" class="unsortable" |ചുമതലയുള്ള മന്ത്രി ! scope="col" class="unsortable" |വകുപ്പ് സെക്രട്ടറി |- |1 |[[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തര വകുപ്പ്]] | * [[കേരള പോലീസ്]] * [[കേരള അഗ്നി രക്ഷാ സേവനം|കേരള ഫയർ ആൻ്റ് റെസ്ക്യൂ സർവീസസ്]] * കേരള ജയിൽ വകുപ്പ് * [[പ്രോസിക്യൂഷൻ ഡയറക്ടറേറ്റ്, കേരളം|പ്രോസിക്യൂഷൻ ഡയറക്ടറേറ്റ്]] * കെമിക്കൽ എക്സാമിനേഷൻ ലബോറട്ടറി * കേരള സിവിൽ ഡിഫൻസ് * കേരള ഹോംഗാർഡ്സ് | * കേരള പോലീസ് ഹൗസിംഗ് & കൺസ്ട്രക്ഷൻ കോർപറേഷൻ |[[പിണറായി വിജയൻ]] (മുഖ്യമന്ത്രി) |ബിശ്വനാഥ് സിൻഹ [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ]] [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|എസ്.]]<ref>{{Cite web|url=https://kerala.gov.in/appdepartmentdetail/NTI1MzI1LjI0|title=Official Web Portal - Government of Kerala|access-date=2023-10-17|archive-date=2022-06-01|archive-url=https://web.archive.org/web/20220601111256/https://kerala.gov.in/appdepartmentdetail/NTI1MzI1LjI0|url-status=dead}}</ref> (അഡീഷണൽ ചീഫ് സെക്രട്ടറി) |- |2 |[[ആയുഷ് വകുപ്പ് (കേരളം)|ആയുഷ് വകുപ്പ്]] | * * ആയുർവേദ ചികിത്സ വിദ്യാഭ്യാസ ഡയറക്ടറേറ്റ് * ഹോമിയോപ്പതി ഡയറക്ടറേറ്റ്, കേരളം * ഭാരതീയ ചികിത്സാ വകുപ്പ് (ISM) | |[[വീണാ ജോർജ്ജ്|വീണാ ജോർജ്]] (ആരോഗ്യവും കുടുംബ ക്ഷേമവും മന്ത്രി) |എപിഎം മുഹമ്മദ് ഹാനിഷ് ഐ.എ.എസ്. |- |3 |ആരോഗ്യ- കുടുംബക്ഷേമ വകുപ്പ് | * ആരോഗ്യ വകുപ്പ് ഡയറക്ടറുടെ കാര്യാലയം (DHS) * മെഡിക്കൽ വിദ്യാഭ്യാസ ഡയറക്ടറേറ്റ് (DME) * [[ദേശീയ ആരോഗ്യ ദൗത്യം]] | * കേരള മെഡിക്കൽ കോർപറേഷൻ (KMCL) * [[കേരള ആരോഗ്യ സർവ്വകലാശാല]] |[[വീണാ ജോർജ്ജ്|വീണാ ജോർജ്]] (ആരോഗ്യവും കുടുംബക്ഷേമവും മന്ത്രി) |എപിഎം മുഹമ്മദ് ഹാനിഷ് ഐ.എ.എസ്. ([[പ്രിൻസിപ്പൽ സെക്രട്ടറി (ഇന്ത്യ)|പ്രിൻസിപ്പൽ സെക്രട്ടറി]]) |- |4 |ഇലക്‌ട്രോണിക്‌സ് & വിവരസാങ്കേതിക വിദ്യ വകുപ്പ് | | | | |- |5 |ഉദ്യോഗസ്‌ഥ- ഭരണ പരിഷ്‌കാര വകുപ്പ് | | | | |- |6 |ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് | * കോളേജ് വിദ്യാഭ്യാസ ഡയറക്ടറേറ്റ് (വകുപ്പ്) * സാങ്കേതിക വിദ്യാഭ്യാസ ഡയറക്ടറേറ്റ് (വകുപ്പ്) * എൻട്രൻസ് എക്സാമിനേഷൻ കമ്മിഷണറുടെ കാര്യാലയം | * [[കേരള സാങ്കേതിക സർവ്വകലാശാല]] * [[കണ്ണൂർ സർവ്വകലാശാല]] * [[യൂണിവേഴ്‌സിറ്റി ഓഫ് കാലിക്കറ്റ്]] * [[മഹാത്മാഗാന്ധി സർവ്വകലാശാല]] * [[കേരള സർ‌വകലാശാല]] * [[കൊച്ചിൻ ശാസ്ത്ര സാങ്കേതിക സർവ്വകലാശാല]] * [[തുഞ്ചത്തെഴുത്തച്ഛൻ മലയാളസർവകലാശാല]] * [[ശ്രീ ശങ്കരാചാര്യ സംസ്കൃത സർവകലാശാല]] * നാഷണൽ സർവീസ് സ്കീം * നാഷണൽ കേഡറ്റ്സ് കോർപ്സ് * സ്റ്റേറ്റ് സെൻട്രൽ ലൈബറി |[[ആർ. ബിന്ദു]](ഉന്നതവിദ്യാഭ്യാസ മന്ത്രി) |ഇഷിത റോയ് ഐ.എ.എസ്., [[പ്രിൻസിപ്പൽ സെക്രട്ടറി (ഇന്ത്യ)|പ്രിൻസിപ്പൽ സെക്രട്ടറി]] |- |7 |ഉപഭോക്ത്യകാര്യ വകുപ്പ് | | | | |- |8 |ഊർജ്ജവകുപ്പ് (വൈദ്യുതി വകുപ്പ്) | * [[കേരള സ്റ്റേറ്റ് ഇലക്ട്രിസിറ്റി ബോർഡ്]] * [[അനെർട്ട്]] * ഇലക്ട്രിക്കൽ ഇൻസ്പെക്ടറേറ്റ് | | | |- |9 |കായിക-യുവജനകാര്യ വകുപ്പ് | | | | |- |10 |കാർഷിക വികസന കർഷകക്ഷേമ വകുപ്പ് | | | | |- |11 |കോസ്റ്റൽ ഷിപ്പിംഗ് & ഇൻലാന്റ് നാവിഗേഷൻ വകുപ്പ് | | | | |- |12 |ക്ഷീര വികസനവകുപ്പ് | | | | |- |13 |[[കേരള ഗതാഗത വകുപ്പ്|ഗതാഗതവകുപ്പ്]] | * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹന വകുപ്പ്]] (MVD) * കേരള ജലഗതാഗത വകുപ്പ് * [[കേരള സ്റ്റേറ്റ് റോഡ് ട്രാൻസ്പോർട്ട് കോർപ്പറേഷൻ]] * സംസ്ഥാന റോഡ് സുരക്ഷ അതോറിറ്റി | | | |- |14 |ജല-വിഭവ വകുപ്പ് | | | | |- |15 |[[കേരള സർക്കാർ തദ്ദേശ സ്വയംഭരണ വകുപ്പ്|തദ്ദേശ സ്വയംഭരണ വകുപ്പ്]] | * പ്രിൻസിപ്പൽ ഡയറക്ടറേറ്റ് * പഞ്ചായത്ത് വകുപ്പ് * നഗരകാര്യ വകുപ്പ് * ഗ്രാമ വികസന വകുപ്പ് * നഗര ഗ്രാമാസൂത്രണ വകുപ്പ് * എൻജിനീയറിങ് വിഭാഗം * പെർഫോമൻസ് ഓഡിറ്റ് വിംഗ് | * [[കേരള സംസ്ഥാന ആസൂത്രണ ബോർഡ്]] * ഇൻഫർമേഷൻ കേരള മിഷൻ * [[കുടുംബശ്രീ]] * [[കില]] (കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കല് അഡ്മിനിസ്ട്രേഷൻ) * [[ശുചിത്വ മിഷൻ]] * കേരള റൂറൽ എംപ്ലോയ്‌മെന്റ് ആൻഡ് വെൽഫെയർ സൊസൈറ്റി * തദ്ദേശ സ്വയംഭരണ കമ്മീഷൻ |[[എം.ബി. രാജേഷ്]] (തദ്ദേശ സ്വയംഭരണ, എക്സൈസ് വകുപ്പ് മന്ത്രി) |ശാരദ മുരളീധരൻ ഐ.എ.എസ്., അഡീഷണൽ ചീഫ് സെക്രട്ടറി |- |16 |തൊഴിൽ -നൈപുണ്യ വകുപ്പ് | | | | |- |17 |നികുതി വകുപ്പ് | * എക്സൈസ് വകുപ്പ് * | | | |- |18 |നിയമ വകുപ്പ് | | | | |- |19 |ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് | | | | |- |20 |പരിസ്ഥിതി വകുപ്പ് | | | | |- |21 |പാർലമെന്ററികാര്യ വകുപ്പ് | | | | |- |22 |പിന്നാക്ക സമുദായ വികസന വകുപ്പ് | | | | |- |23 |പൊതുജനസമ്പർക്ക വകുപ്പ് | | | | |- |24 |പൊതുഭരണ വകുപ്പ് | - | |[[പിണറായി വിജയൻ]] (മുഖ്യമന്ത്രി) |കെ ആർ ജ്യോതിലാൽ ഐഎഎസ്, അഡീഷണൽ ചീഫ് സെക്രട്ടറി |- |25 |[[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | | | | |- |26 |[[പൊതുവിദ്യാഭ്യാസ വകുപ്പ്]] | * [[പൊതുവിദ്യാഭ്യാസ ഡയറക്ടറേറ്റ്, കേരളം|പൊതുവിദ്യാഭ്യാസ ഡയറക്ടറേറ്റ്]] (DGE) * [[സംസ്ഥാന വിദ്യാഭ്യാസ ഗവേഷണ പരിശീലന സമിതി, കേരളം|സംസ്ഥാന വിദ്യാഭ്യാസ ഗവേഷണ പരിശീലന സമിതി (SCERT)]] * സംസ്ഥാന ഓപ്പൺ സ്കൂൾ, ആജീവനാന്ത വിദ്യാഭ്യാസ സമിതി (സ്കോൾ) * സംസ്ഥാന സാക്ഷരത മിഷൻ | |[[വി. ശിവൻകുട്ടി]](പൊതുവിദ്യാഭ്യാസവും തൊഴിലും മന്ത്രി) |റാണി ജോർജ്ജ് ഐ.എ.എസ്. ([[പ്രിൻസിപ്പൽ സെക്രട്ടറി (ഇന്ത്യ)|പ്രിൻസിപ്പൽ സെക്രട്ടറി]]) |- |27 |പ്രവാസികാര്യ വകുപ്പ് (നോർക്ക) |[[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്]] | |[[പിണറായി വിജയൻ]](മുഖ്യമന്ത്രി) | |- |28 |[[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യ വകുപ്പ്]] | * ധനകാര്യ വകുപ്പ് * ട്രഷറി വകുപ്പ് * ഇൻഷുറൻസ് വകുപ്പ് * സംസ്ഥാന ലോട്ടറി വകുപ്പ് * സംസ്ഥാന ഓഡിറ്റ് വകുപ്പ് * വാണിജ്യ നികുതി വകുപ്പ് * സംസ്ഥാന ചർക്ക് സേവന നികുതി വകുപ്പ് (GST) | * [[കേരള ഇൻഫ്രാസ്ട്രക്ചർ ഇൻവെസ്റ്റ്മെന്റ്ഫണ്ട് ബോർഡ്]] (കിഫ്ബി) * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * [[കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] |[[കെ.എൻ. ബാലഗോപാൽ]] (ധനകാര്യ മന്ത്രി) | |- |29 |ഭക്ഷ്യ പൊതുവിതരണ വകുപ്പ് | | | | |- |30 |ഭവനനിർമ്മാണ വകുപ്പ് | *കേരള സംസ്ഥാന ഭവന നിർമ്മാണ ബോർഡ് | |[[കെ. രാജൻ]] (റവന്യൂ, ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി) | |- |31 |മത്സ്യബന്ധന വകുപ്പ് | | | | |- |32 |മൃഗസംരക്ഷണ വകുപ്പ് | | | | |- |33 |[[ലാൻഡ് റവന്യൂ വകുപ്പ്|റവന്യൂ വകുപ്പ്]] | * [[ലാൻഡ് റവന്യൂ കമ്മീഷണറേറ്റ്, കേരളം]] * [[സർവേ & ലാൻഡ് റികോഡ്സ് ഡയറക്ടറേറ്റ്, കേരളം]] * [[സംസ്ഥാന ദുരന്ത നിവാരണ അതോറിറ്റി]], കേരളം | |[[കെ. രാജൻ]](റവന്യു മന്ത്രി) |ടിങ്കു ബിസ്വൽ ഐ.എ.എസ്. |- |34 |വനം-വന്യജീവി സംരക്ഷണ വകുപ്പ് | | | | |- |35 |വനിത-ശിശുവികസന വകുപ്പ് | | | | |- |36 |വിജിലൻസ് വകുപ്പ് | * [[വിജിലൻസ് ആന്റ് ആന്റി കറപ്ഷൻ ബ്യൂറോ, കേരളം]] | |[[പിണറായി വിജയൻ]](മുഖ്യമന്ത്രി) |ബിശ്വനാഥ് സിൻഹ ഐ. . .എഎസ് |- |37 |വിനോദസഞ്ചാര വകുപ്പ് | | | | |- |38 |വ്യവസായ-വാണിജ്യ വകുപ്പ് | | | | |- |39 |ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ് | | | | |- |40 |സഹകരണ വകുപ്പ് | | | | |- |41 |സാമൂഹ്യനീതി വകുപ്പ് | | | | |- |42 |സാംസ്‌ക്കാരികകാര്യ വകുപ്പ് | | | | |- |43 |സൈനികക്ഷേമ വകുപ്പ് | | | | |- |44 |സ്റ്റോർസ് പർച്ചേസ് വകുപ്പ് | | | | |} <section end="വകുപ്പുകൾ"/> == അവലംബം == <references/> {{Gov-stub}} {{Topics related to Kerala}} {{Kerala}} {{Government of Kerala}} {{Government of India by state or territory}} {{Administration in India by state or territory}} [[വർഗ്ഗം:കേരള സർക്കാർ| ]] [[വർഗ്ഗം:കേരളവുമായി ബന്ധപ്പെട്ട പട്ടികകൾ]] 6jqul8vir2c5vw93uc8hgg5xt32ze3a വ്യാജ വാർത്ത 0 614549 4622199 4619901 2026-05-23T10:32:16Z InternetArchiveBot 146798 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 4622199 wikitext text/x-wiki തെറ്റായതോ തെറ്റിദ്ധരിപ്പിക്കുന്നതോ ആയ വിവരങ്ങൾ ([[തെറ്റായ വിവരങ്ങൾ]], [[ആശയപ്രചാരണം|പ്രചരണം]], [[തട്ടിപ്പുകൾ]] എന്നിവ ഉൾപ്പെടെ) [[വാർത്ത|വാർത്തയായി]] അവതരിപ്പിക്കുന്നത് ആണ് '''വ്യാജ വാർത്ത''' എന്ന് വിശേഷിപ്പിക്കുന്നത്. വ്യാജവാർത്തകൾ പലപ്പോഴും ഒരു വ്യക്തിക്കോ സ്ഥാപനത്തിനോ [[അപകീർത്തി]] വരുത്തുന്നതിനോ അല്ലെങ്കിൽ [[പരസ്യം|പരസ്യ]] വരുമാനത്തിലൂടെ പണം സമ്പാദിക്കുന്നതിനോ ലക്ഷ്യമിട്ട് ചെയ്യാറുണ്ട്.<ref name="Guardian12.17.162">{{Cite news|url=https://www.theguardian.com/media/2016/dec/18/what-is-fake-news-pizzagate|title=What is fake news? How to spot it and what you can do to stop it|last=Hunt|first=Elle|date=December 17, 2016|newspaper=[[The Guardian]]|access-date=January 15, 2017}}</ref><ref name="USNewsWR2">Schlesinger, Robert (April 14, 2017). [https://www.usnews.com/opinion/thomas-jefferson-street/articles/2017-04-14/what-is-fake-news-maybe-not-what-you-think "Fake news in reality"]. ''[[U.S. News & World Report]]''.</ref> ചരിത്രത്തിലുടനീളം തെറ്റായ വാർത്തകൾ എല്ലായ്‌പ്പോഴും പ്രചരിച്ചിട്ടുണ്ടെങ്കിലും, "ഫേക്ക് ന്യൂസ്" എന്ന പദം ആദ്യമായി ഉപയോഗിച്ചത് 1890 കളിൽ പത്രങ്ങളിൽ സെൻസേഷണൽ റിപ്പോർട്ടുകൾ സാധാരണമായിരുന്നപ്പോഴാണ്.<ref name="webster">[https://www.merriam-webster.com/words-at-play/the-real-story-of-fake-news "The real story of 'fake news': The term seems to have emerged around the end of the 19th century"]. [[Merriam-Webster]]. Retrieved October 13, 2017.</ref><ref name="politico">{{Cite web|url=https://www.politico.com/magazine/story/2016/12/fake-news-history-long-violent-214535/|title=The long and brutal history of fake news|access-date=March 25, 2019|last=Soll|first=Jacob|date=December 18, 2016|website=Politico Magazine|language=en}}</ref> എന്നിരുന്നാലും, ഈ പദത്തിന് ഒരു നിശ്ചിത നിർവചനം ഇല്ല. വാർത്തയായി അവതരിപ്പിക്കുന്ന ഏത് തരത്തിലുള്ള തെറ്റായ വിവരങ്ങളും ആയി ഇത് വ്യാഖ്യാനിക്കപ്പെടുന്നു. വ്യാജ വാർത്തകളിൽ, ദോഷകരമായ ഉദ്ദേശ്യത്തോടെ തെറ്റായ വിവരങ്ങൾ പ്രചരിപ്പിക്കുന്നത് ഉൾപ്പെടുന്നു, ഇത് പ്രത്യേകിച്ച് [[വിദേശ തിരഞ്ഞെടുപ്പ് ഇടപെടൽ|തിരഞ്ഞെടുപ്പ് സമയത്ത്]] കൂടുതൽ പ്രചരിക്കപ്പെടുന്നു. ചില നിർവചനങ്ങളിൽ, വ്യാജ വാർത്തകളിൽ യഥാർത്ഥമെന്ന് തെറ്റായി വ്യാഖ്യാനിച്ച [[ആക്ഷേപഹാസ്യം|ആക്ഷേപഹാസ്യ]] ലേഖനങ്ങളും ടെക്‌സ്‌റ്റിൽ പിന്തുണയ്‌ക്കാത്ത [[സെൻസേഷണലിസ്റ്റ്]] അല്ലെങ്കിൽ [[ക്ലിക്‌‌ ബെയ്റ്റ്|ക്ലിക്ക്ബെയ്റ്റ്]] [[തലക്കെട്ട്|തലക്കെട്ടുകൾ]] ഉപയോഗിക്കുന്ന ലേഖനങ്ങളും ഉൾപ്പെടുന്നു. തെറ്റായ വാർത്തകളുടെ ഈ വൈവിധ്യം കാരണം, ഗവേഷകർ കൂടുതൽ നിഷ്പക്ഷവും വിജ്ഞാനപ്രദവുമായ ഒരു പദമായി '''ഇൻഫർമേഷൻ ഡിസോർഡർ''' ഉപയോഗിച്ച് തുടങ്ങിയിരിക്കുന്നു. [[സമൂഹമാദ്ധ്യമങ്ങൾ|സോഷ്യൽ മീഡിയയുടെ]], പ്രത്യേകിച്ച് [[ഫേസ്ബുക്ക് വാർത്താ ഫീഡ്|ഫേസ്ബുക്ക് ന്യൂസ് ഫീഡിൻ്റെ]] സമീപകാല വർദ്ധനയോടെ വ്യാജ വാർത്തകളുടെ വ്യാപനം വർദ്ധിച്ചു, ഈ തെറ്റായ വിവരങ്ങൾ ക്രമേണ മുഖ്യധാരാ മാധ്യമങ്ങളിലേക്ക് പോലും ഒഴുകുന്നു. [[രാഷ്ട്രീയ ധ്രുവീകരണം]], പക്ഷപാതം, സോഷ്യൽ മീഡിയ [[അൽഗൊരിതം|അൽഗരിതങ്ങൾ]] എന്നിങ്ങനെ നിരവധി ഘടകങ്ങൾ വ്യാജ വാർത്തകളുടെ വ്യാപനത്തിൽ ഉൾപ്പെട്ടിട്ടുണ്ട്.<ref name=Guardian12.17.162/><ref>{{Cite journal|last=Himma-Kadakas|first=Marju|date=July 2017|title=Alternative facts and fake news entering journalistic content production cycle|journal=Cosmopolitan Civil Societies|volume=9| issue=2|pages=25–41 |doi=10.5130/ccs.v9i2.5469 |doi-access=free}}</ref><ref name="wired.com"/><ref name=Guardian11.11.16>{{Cite news|url=https://www.theguardian.com/technology/2016/nov/29/facebook-fake-news-problem-experts-pitch-ideas-algorithms|title=How to solve Facebook's fake news problem: Experts pitch their ideas|last=Woolf|first=Nicky|date=November 11, 2016 |newspaper=[[The Guardian]] |access-date=January 15, 2017}}</ref><ref>{{cite news|url=https://www.usatoday.com/story/opinion/2018/05/09/fake-news-donald-trump-journalism-video-audio-facebook-twitter-column/590006002/|title=5 reasons why 'fake news' likely will get even worse|author=Borney, Nathan|date=May 9, 2018|access-date=February 17, 2019|newspaper=USA Today}}</ref> വ്യാജവാർത്തകൾക്ക് യഥാർത്ഥ വാർത്തകളുടെ ശ്രദ്ധ കുറയ്ക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, ഒരു ബസ്ഫീഡ് (BuzzFeed) ന്യൂസ് വിശകലനം, 2016 ലെ യുഎസ് പ്രസിഡൻ്റ് തിരഞ്ഞെടുപ്പിനെക്കുറിച്ചുള്ള മുൻനിര വ്യാജ വാർത്തകൾക്ക് [[Facebook|ഫേസ്ബുക്കിൽ]] പ്രധാന മാധ്യമങ്ങളിൽ നിന്നുള്ള പ്രധാന വാർത്തകളേക്കാൾ കൂടുതൽ ശ്രദ്ധ ലഭിച്ചതായി കണ്ടെത്തി. മാധ്യമ കവറേജിലുള്ള വിശ്വാസത്തെ ദുർബലപ്പെടുത്താനുള്ള കഴിവും ഇതിന് ഉണ്ട്. വിശ്വസനീയമായ വാർത്തകളിൽ സംശയം ജനിപ്പിക്കാനും ഈ പദം ചിലപ്പോഴൊക്കെ ഉപയോഗിച്ചിട്ടുണ്ട്, മുൻ യുഎസ് പ്രസിഡൻ്റ് [[ഡൊണാൾഡ് ട്രംപ്]] തന്നെക്കുറിച്ച് ഉള്ള എന്തെങ്കിലും നെഗറ്റീവ് പത്രവാർത്തയെ വിവരിക്കാൻ ഈ പദം ഉപയോഗിച്ചിട്ടുണ്ട്. വ്യാജ വാർത്തകൾക്കെതിരെ പോരാടുന്നതിനുള്ള ഒന്നിലധികം തന്ത്രങ്ങൾ നിലവിൽ സജീവമായി ഗവേഷണം നടത്തുന്നു. ചില സ്വേച്ഛാധിപത്യ, ജനാധിപത്യ രാജ്യങ്ങളിലെ രാഷ്ട്രീയക്കാർ, സോഷ്യൽ മീഡിയയുടെയും വെബ് സെർച്ച് എഞ്ചിനുകളുടെയും വ്യത്യസ്ത രൂപങ്ങളിൽ പ്രചരിക്കുന്ന വിവിധ തരത്തിലുള്ള വ്യാജ വാർത്തകൾക്കായി ഫലപ്രദമായ സ്വയം നിയന്ത്രണവും നിയമപരമായ-നിർബന്ധിത നിയന്ത്രണവും ആവശ്യപ്പെട്ടിട്ടുണ്ട്. == വ്യാജ വാർത്തകകളുടെ നിർവ്വചനം == തെറ്റായതോ തെറ്റിദ്ധരിപ്പിക്കുന്നതോ ആയ വിവരങ്ങൾ [[വാർത്ത|വാർത്തയായി]] അവതരിപ്പിക്കുന്നത് ആണ് വ്യാജവാർത്തകൾ എന്ന് അറിയപ്പെടുന്നത്.<ref name="wired.com">{{cite magazine|url=https://www.wired.com/story/free-speech-issue-tech-turmoil-new-censorship?CNDID=50121752|title=It's the (democracy-poisoning) golden age of free speech|magazine=[[Wired (magazine)|Wired]]|author=Tufekci, Zeynep|date=January 16, 2018}}</ref><ref name="NYT-20170623">{{cite news |last1=Leonhardt |first1=David |last2=Thompson |first2=Stuart A.|title=Trump's lies |url=https://www.nytimes.com/interactive/2017/06/23/opinion/trumps-lies.html |work=[[The New York Times]] |date=June 23, 2017 |access-date=June 23, 2017 }}</ref> വ്യാജ വാർത്തകൾ, അല്ലെങ്കിൽ [[വ്യാജ വാർത്താ വെബ്സൈറ്റുകൾ|വ്യാജ വാർത്ത വെബ്‌സൈറ്റുകൾക്ക്]] വാസ്‌തവത്തിൽ യാതൊരു അടിസ്ഥാനവുമില്ല, എന്നാൽ വസ്തുതാപരമായി ശരിയായത് എന്ന രീതിയിൽ ആണ് അവ അവതരിപ്പിക്കുന്നത്. <ref name=":03">{{Cite journal|last=Allcott|first=Hunt|last2=Gentzkow|first2=Matthew|title=Social media and fake news in the 2016 Election|journal=Journal of Economic Perspectives|date=May 1, 2017|volume=31|issue=2|pages=211–236|doi=10.1257/jep.31.2.211}}</ref> [[ബുൾഷിറ്റ്]], ഹോക്സ് ന്യൂസ്, സ്യൂഡോ ന്യൂസ്, ജങ്ക് ന്യൂസ് എന്നിവയാണ് ഓവർലാപ്പിംഗ് പദങ്ങൾ.<ref>{{Citation|last=Wemple|first=Erik|title=Facebook's Sheryl Sandberg says people don't want 'hoax' news. Really?|date=December 8, 2016|url=https://www.washingtonpost.com/blogs/erik-wemple/wp/2016/12/08/facebooks-sheryl-sandberg-says-people-dont-want-hoax-news-really/|periodical=[[The Washington Post]]}}</ref> മാധ്യമ പണ്ഡിതനായ നോളൻ ഹിഗ്ഡൺ വ്യാജ വാർത്തകളെ നിർവചിച്ചിരിക്കുന്നത് "തെറ്റായ അല്ലെങ്കിൽ തെറ്റിദ്ധരിപ്പിക്കുന്ന ഉള്ളടക്കം വാർത്തയായി അവതരിപ്പിക്കുകയും സംഭാഷണം, എഴുത്ത്, അച്ചടി, ഇലക്ട്രോണിക്, ഡിജിറ്റൽ മാർഗ്ഗങ്ങൾ എന്നിങ്ങനെയുള്ള ഫോർമാറ്റുകളിൽ പ്രചരിപ്പിക്കുകയും ചെയ്യുക" എന്നാണ്.<ref name="Higdon">{{Cite book|title=The anatomy of fake news: A critical news literacy education|url=https://archive.org/details/anatomyoffakenew0000nola|last=Higdon|first=Nolan|date=2020|publisher=University of California Press|isbn=9780520347878}}</ref> മിക്ക നിർവചനങ്ങളും ഉള്ളടക്ക കൃത്യതയിലും ഫോർമാറ്റിലും കർശനമായി ശ്രദ്ധ കേന്ദ്രീകരിക്കുമ്പോൾ, നിലവിലെ ഗവേഷണങ്ങൾ സൂചിപ്പിക്കുന്നത് ഉള്ളടക്കത്തിൻ്റെ വാചാടോപ ഘടന വ്യാജ വാർത്തകളുടെ ധാരണയിൽ ഒരു പ്രധാന പങ്ക് വഹിക്കുമെന്നാണ്.<ref>{{Cite journal|last=Beisecker|first=Sven|last2=Schlereth|first2=Christian|last3=Hein|first3=Sebastian|date=2022-08-11|title=Shades of fake news: how fallacies influence consumers' perception|url=https://doi.org/10.1080/0960085X.2022.2110000|journal=European Journal of Information Systems|volume=33|pages=41–60|doi=10.1080/0960085X.2022.2110000|issn=0960-085X}}</ref> വ്യാജവാർത്തകളുടെ ഉദ്ദേശവും ലക്ഷ്യവും പ്രധാനമാണ്. ചില സന്ദർഭങ്ങളിൽ, വ്യാജവാർത്തകൾ, അതിശയോക്തി ഉപയോഗിക്കുന്നവയും കബളിപ്പിക്കുന്നതിനുപകരം രസിപ്പിക്കാൻ ഉദ്ദേശിച്ചുള്ളതുമായ [[വാർത്താ ആക്ഷേപഹാസ്യം|ആക്ഷേപഹാസ്യമായിരിക്കാം]]. [[ആശയപ്രചാരണം|ആശയ പ്രചാരണത്തിന്]] വേണ്ടിയും വ്യാജവാർത്ത സൃഷ്ടിക്കാം.<ref name="Guardian12.17.162"/><ref>{{cite news |last1=Apple |first1=Charles |title=Fake news: What is it? |url=https://www.spokesman.com/stories/2020/apr/20/fake-news-what-it/ |access-date=March 7, 2021 |work=[[The Spokesman-Review]] |date=April 20, 2020 |language=en}}</ref> യുണൈറ്റഡ് സ്റ്റേറ്റ്സ് ഓഫ് അമേരിക്കയുടെയും 2010-കളിലെ അതിൻ്റെ തിരഞ്ഞെടുപ്പ് പ്രക്രിയകളുടെയും പശ്ചാത്തലത്തിൽ, വ്യാജവാർത്തകൾ കാര്യമായ വിവാദങ്ങളും വാദപ്രതിവാദങ്ങളും സൃഷ്ടിച്ചു, ചില കമൻ്റേറ്റർമാർ അതിനെ ധാർമ്മിക പരിഭ്രാന്തിയോ മാസ് ഹിസ്റ്റീരിയയോ ആയി നിർവചിക്കുന്നു, മറ്റുള്ളവർ പൊതുജന വിശ്വാസത്തിന് കേടുപാടുകൾ വരുത്തുന്നതിനെക്കുറിച്ച് ആശങ്കാകുലരാണ്.<ref>{{cite news|last1= Shafer|first1= Jack|title= The cure for fake news is worse than the disease |url= http://www.politico.com/magazine/story/2016/11/the-cure-for-fake-news-is-worse-than-the-disease-214477|access-date= February 19, 2017|newspaper= [[Politico]]|date= November 22, 2016}}</ref><ref>{{cite magazine|last1= Gobry|first1= Pascal-Emmanuel|title= The crushing anxiety behind the media's fake news hysteria|url= http://theweek.com/articles/666395/crushing-anxiety-behind-medias-fake-news-hysteria|access-date= February 19, 2017|magazine=[[The Week]] |date= December 12, 2016}}</ref><ref>{{cite journal |last1=Carlson |first1=Matt |title=Fake news as an informational moral panic: the symbolic deviancy of social media during the 2016 US presidential election |journal=Information, Communication & Society |date=August 2018 |pages=374–388 |doi=10.1080/1369118X.2018.1505934 |volume=23|issue=3 |s2cid=149496585 }}</ref> മാധ്യമ കവറേജിലുള്ള വിശ്വാസത്തെ ദുർബലപ്പെടുത്താനുള്ള കഴിവ് ഇതിന് ഉണ്ട്. <ref>{{Citation|last=Merlo|first=Carlos|title=Millonario negocio FAKE NEWS|url=http://www.univision.com/noticias/america-latina/el-millonario-negocio-detras-de-los-sitios-de-fake-news-en-mexico|year=2017|periodical=Univision Noticias}}</ref> വിശ്വസനീയമായ മുഖ്യധാരാ മാധ്യമങ്ങളെ സംശയിക്കുന്നതിനും ഈ പദം ഉപയോഗിച്ചിട്ടുണ്ട്.<ref>{{Cite journal|last=Mihailidis|first=Paul|last2=Viotty|first2=Samantha|title=Spreadable spectacle in digital culture: Civic expression, fake news, and the role of media literacies in 'post-fact' society|journal=American Behavioral Scientist|date=April 2017|volume=61|issue=4|pages=441–454|doi=10.1177/0002764217701217}}</ref><ref>{{Cite journal|last=Habgood-Coote|first=Joshua|title=Stop talking about fake news!|journal=Inquiry|date=November 26, 2019|volume=62|issue=9–10|pages=1033–1065|doi=10.1080/0020174x.2018.1508363|url=https://research-information.bris.ac.uk/en/publications/96ab36c8-e90d-42e5-9e5f-5bf2ea877ce0}}</ref> 2017 ജനുവരിയിൽ, യുണൈറ്റഡ് കിംഗ്ഡം [[പ്രജാസഭ|ഹൗസ് ഓഫ് കോമൺസ്]] "വ്യാജ വാർത്തകളുടെ വർദ്ധിച്ചുവരുന്ന പ്രതിഭാസത്തെക്കുറിച്ച്" ഒരു [[പാർലമെൻ്ററി അന്വേഷണം]] ആരംഭിച്ചു.<ref>{{cite news|url= https://www.bbc.com/news/uk-politics-38790254 |title= Fake news inquiry by MPs examines threat to democracy |work= [[BBC News]]|date= January 30, 2017 }}</ref> 2016-ൽ, [[പൊളിറ്റിഫാക്റ്റ്|പോളിറ്റിഫാക്റ്റ്]] ആ വർഷത്തെ തിരഞ്ഞെടുത്ത നുണയായി "വ്യാജ വാർത്ത"യെ തിരഞ്ഞെടുത്തു. പ്രസിഡൻ്റ് ഡൊണാൾഡ് ട്രംപ് വിജയിച്ച ആ യുണൈറ്റഡ് സ്റ്റേറ്റ്‌സ് തിരഞ്ഞെടുപ്പ് വർഷത്തിൽ ധാരാളം വ്യാജ വാർത്തകൾ പ്രചരിച്ചിരുന്നു എന്നതിനാൽ ആയിരുന്നു വ്യാജവാർത്ത എന്ന പൊതുവായ പദം തിരഞ്ഞെടുത്തത്. 2016-ൽ, ഓക്‌സ്‌ഫോർഡ് നിഘണ്ടു [[പോസ്റ്റ് ട്രൂത്ത്|പോസ്റ്റ്-ട്രൂത്തിനെ]] ആ വർഷത്തെ വാക്കായി തിരഞ്ഞെടുത്തു.<ref name = lie2016>{{cite news|url=http://www.politifact.com/truth-o-meter/article/2016/dec/13/2016-lie-year-fake-news/|title=2016 Lie of the Year: Fake news|last=Holan|first=Angie Drobnic|date=December 13, 2016|work=[[PolitiFact.com]]}}</ref> == വേരുകൾ == [[File:The_roots_of_'fake_news'.png|thumb|യുനെസ്കോയുടെ വേൾഡ് ട്രെൻഡ് റിപ്പോർട്ടിൽ നിന്നുള്ള "വ്യാജ വാർത്ത"യുടെ വേരുകൾ<ref name = unesco/>]] പടിഞ്ഞാറൻ യൂറോപ്പിലെയും വടക്കേ അമേരിക്കയിലെയും തിരഞ്ഞെടുപ്പ് പശ്ചാത്തലത്തിൽ "വ്യാജ വാർത്ത" എന്ന പദത്തിന് പ്രാധാന്യം ലഭിച്ചു. <ref name="unesco">{{Cite book|url=http://www.unesco.org/ulis/cgi-bin/ulis.pl?catno=261065&set=005B2B7D1D_3_314&gp=1&lin=1&ll=1|title=World Trends in Freedom of Expression and Media Development Global Report 2017/2018|publisher=UNESCO|year=2018|page=202}}</ref> ബൗൺഗ്രു, ഗ്രേ, വെൻറുറിനി, മൗറി എന്നിവരുടെ അഭിപ്രായത്തിൽ, "ഡസൻ കണക്കിന് മറ്റ് ബ്ലോഗുകൾ ശേഖരിക്കുകയും നൂറുകണക്കിന് വെബ്‌സൈറ്റുകൾ വീണ്ടും സംപ്രേക്ഷണം ചെയ്യുകയും ആയിരക്കണക്കിന് സോഷ്യൽ മീഡിയ അക്കൗണ്ടുകളിൽ ക്രോസ്-പോസ്റ്റ് ചെയ്യുകയും ലക്ഷക്കണക്കിന് ആളുകൾ വായിക്കുകയും ചെയ്യുമ്പോൾ" ഒരു നുണ വ്യാജ വാർത്തയാകുന്നു. <ref>{{Cite book|url=http://fakenews.publicdatalab.org/|title=A field guide to "fake news" and other information disorders|last=Bounegru|first=Liliana|last2=Gray|first2=Jonathan|last3=Venturini|first3=Tommaso|last4=Mauri|first4=Michele|date=January 8, 2018|publisher=Public Data Lab|location=Amsterdam|page=62}}</ref> ഓൺലൈൻ ബിസിനസ്സ് മോഡലുകളുടെ വികസിച്ചുകൊണ്ടിരിക്കുന്ന സ്വഭാവം കൃത്യതയ്ക്ക് പകരം "ക്ലിക്ക് കിട്ടാൻ യോഗ്യമായ" വിവരങ്ങളുടെ നിർമ്മാണത്തെ പ്രോത്സാഹിപ്പിക്കുന്നു. <ref>Byrne, Andrew. 2016. [https://www.ft.com/content/333fe6bc-c1ea-11e6-81c2-f57d90f6741a "Macedonia's fake news industry sets sights on Europe"]. ''Financial Times''.</ref> == ജനപ്രീതിയും വൈറൽ വ്യാപനവും == വിവിധ മാധ്യമങ്ങളിലും പ്ലാറ്റ്‌ഫോമുകളിലും വ്യാജ വാർത്തകൾ പ്രചാരത്തിലുണ്ട്. പരമ്പരാഗത പത്രങ്ങളെയും മാസികകളെയും അപേക്ഷിച്ച് 60% അമേരിക്കക്കാരും സോഷ്യൽ മീഡിയയിലൂടെ വാർത്തകൾ ആക്സസ് ചെയ്യുന്നുവെന്ന് [[പ്യൂ റിസർച്ച് സെൻ്റർ|പ്യൂ റിസർച്ച് സെൻ്ററിലെ]] ഗവേഷകർ കണ്ടെത്തിയിട്ടുണ്ട്. <ref name="pew2">{{Cite web|url=http://www.journalism.org/2016/05/26/news-use-across-social-media-platforms-2016/|title=News use across social media platforms 2016|access-date=January 15, 2017|last=Gottfried|first=Jeffrey|last2=Shearer|first2=Elisa|date=May 26, 2016|publisher=Pew Research Center's Journalism Project}}</ref> സോഷ്യൽ മീഡിയയുടെ ജനപ്രീതിയോടെ, വ്യക്തികൾക്ക് വ്യാജ വാർത്തകളും തെറ്റായ വിവരങ്ങളും എളുപ്പത്തിൽ ആക്സസ് ചെയ്യാൻ കഴിയും. 2016 ലെ യുഎസ് തിരഞ്ഞെടുപ്പ് പ്രചാരണ വേളയിൽ ഫേസ്ബുക്കിൽ വ്യാജ വാർത്തകൾ പ്രചരിച്ചത് പോലെ, 2012 ലെ ഇറ്റലിയിലെ തെരഞ്ഞെടുപ്പിനിടെ സോഷ്യൽ മീഡിയയിൽ തെറ്റായ വാർത്തകൾ അതിവേഗം പ്രചരിച്ചതും രേഖപ്പെടുത്തിയിട്ടുണ്ട്. <ref name="Zhuravskaya">{{Cite journal|last=Zhuravskaya|first=Ekaterina|last2=Petrova|first2=Maria|last3=Enikolopov|first3=Ruben|title=Political Effects of the Internet and Social Media|journal=Annual Review of Economics|date=2 August 2020|volume=12|issue=1|pages=415–438|doi=10.1146/annurev-economics-081919-050239|language=en|issn=1941-1383}}</ref> പൊതുജനങ്ങൾക്കിടയിൽ വ്യാജവാർത്തകൾ വൈറലാകുന്ന പ്രവണതയുണ്ട്. [[ട്വിറ്റർ]] പോലുള്ള സോഷ്യൽ മീഡിയ പ്ലാറ്റ്‌ഫോമുകൾ ഉള്ളതിനാൽ, തെറ്റായ വിവരങ്ങൾ വേഗത്തിൽ പ്രചരിക്കുന്നത് എളുപ്പമാകും. തെറ്റായ രാഷ്ട്രീയ വിവരങ്ങൾ മറ്റ് തെറ്റായ വാർത്തകളേക്കാൾ "മൂന്ന് മടങ്ങ്" വേഗത്തിൽ പ്രചരിക്കുന്നതായി ഗവേഷണം കണ്ടെത്തിയിട്ടുണ്ട്. <ref name="vosoughi">{{Cite journal|last=Vosoughi|first=Soroush|last2=Roy|first2=Deb|last3=Aral|first3=Sinan|date=2019|title=The spread of true and false news online.|journal=Science|volume=359|issue=6380|pages=1146–1151|doi=10.1126/science.aap9559|pmid=29590045|url=http://vermontcomplexsystems.org/share/papershredder/vosoughi2018a.pdf|accessdate=October 18, 2020|archivedate=April 29, 2019|archiveurl=https://web.archive.org/web/20190429073158/http://vermontcomplexsystems.org/share/papershredder/vosoughi2018a.pdf}}</ref> ട്വിറ്ററിൽ, തെറ്റായ ട്വീറ്റുകൾക്ക് സത്യസന്ധമായ ട്വീറ്റുകളേക്കാൾ റീട്വീറ്റ് ചെയ്യാനുള്ള സാധ്യത വളരെ കൂടുതലാണ്. അതിലുപരിയായി, ബോട്ടുകൾക്കും ക്ലിക്ക് ഫാമുകൾക്കും വിരുദ്ധമായി തെറ്റായ വാർത്തകളും വിവരങ്ങളും പ്രചരിപ്പിക്കുന്നതിൽ ഉത്തരവാദികൾ മനുഷ്യരാണ്. തെറ്റായ വിവരങ്ങൾ പ്രചരിപ്പിക്കാനുള്ള മനുഷ്യരുടെ പ്രവണത മനുഷ്യൻ്റെ പെരുമാറ്റവുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു; ഗവേഷണമനുസരിച്ച്, ആശ്ചര്യകരവും പുതിയതുമായ സംഭവങ്ങളിലേക്കും വിവരങ്ങളിലേക്കും മനുഷ്യർ ആകർഷിക്കപ്പെടുന്നു, അതിൻ്റെ ഫലമായി തലച്ചോറിൽ ഉയർന്ന ഉത്തേജനം ഉണ്ടാകുന്നു. <ref>{{Cite web|url=https://jonahberger.com/wp-content/uploads/2013/02/ViralityB.pdf|title=What makes online content viral?|access-date=March 5, 2019|last=Berger|first=Jonah|date=March 5, 2019|publisher=American Marketing Association}}</ref> <ref>{{Cite journal|url=http://ilab.usc.edu/publications/doc/Itti_Baldi06nips.pdf|title=Bayesian surprise attracts human attention|last=Itti|first=Laurent|journal=Vision Research|date=2005|volume=49|issue=10|pages=1295–1306|doi=10.1016/j.visres.2008.09.007|pmid=18834898|pmc=2782645|accessdate=March 5, 2019}}</ref> കൂടാതെ, വ്യാജവാർത്തകൾ പ്രചരിപ്പിക്കുന്നതിൽ "മോട്ടിവേറ്റഡ് റീസനിങ്" ഒരു പങ്കുവഹിക്കുന്നതായി കണ്ടെത്തി. <ref name=":6">{{Cite journal|last=Tsang|first=Stephanie Jean|title=Motivated fake news perception: The impact of news sources and policy support on audiences' assessment of news fakeness|journal=Journalism & Mass Communication Quarterly|date=August 31, 2020|volume=98|issue=4|pages=1059–1077|doi=10.1177/1077699020952129}}</ref> ഇത് ആത്യന്തികമായി മനുഷ്യരെ സാധാരണയായി [[ക്ലിക്‌‌ ബെയ്റ്റ്|ക്ലിക്ക്ബെയ്റ്റും]] കണ്ണഞ്ചിപ്പിക്കുന്ന ശീർഷകങ്ങളും കൊണ്ട് തയ്യാറാക്കപ്പെടുന്ന തെറ്റായ വിവരങ്ങൾ റീട്വീറ്റ് ചെയ്യുന്നതിനോ പങ്കിടുന്നതിനോ നയിക്കുന്നു. വിവരങ്ങൾ സത്യമാണോ എന്ന് പരിശോധിക്കാൻ ആളുകൾ വിമുഖത കാട്ടുന്നതിനാൽ, തെറ്റായ വാർത്തയുടെ ഒരു ഭാഗത്തിന് ചുറ്റും വൻതോതിൽ ഓൺലൈൻ കമ്മ്യൂണിറ്റികൾ രൂപം കൊള്ളുന്നു. == അതിന്റെ ദോഷകരമായ ഫലങ്ങൾ == 2017-ൽ, [[വേൾഡ് വൈഡ് വെബ്|വേൾഡ് വൈഡ് വെബിൻ്റെ]] ഉപജ്ഞാതാവായ [[ടിം ബർണേഴ്സ് ലീ|ടിം ബെർണേഴ്‌സ്-ലീ]] ഇൻ്റർനെറ്റിന് യഥാർത്ഥത്തിൽ "മനുഷ്യരാശിയെ സേവിക്കാൻ" കഴിയണമെങ്കിൽ ആദ്യം പരിഹരിക്കേണ്ട ഏറ്റവും പ്രധാനപ്പെട്ട മൂന്ന് ഇൻ്റർനെറ്റ് ട്രെൻഡുകളിലൊന്നാണ് വ്യാജവാർത്തയെന്ന് പറയുകയുണ്ടായി. പരിഹരിക്കേണ്ട മറ്റ് രണ്ട് പ്രവണതകൾ പൗരന്മാരുടെ നിരീക്ഷണ ആവശ്യങ്ങൾക്കും സൈബർ-യുദ്ധ ആവശ്യങ്ങൾക്കുമായി ഗവൺമെൻ്റുകൾ ഇൻ്റർനെറ്റ് ഉപയോഗിക്കുന്നതിലെ സമീപകാല വർദ്ധനവ് ആയിരുന്നു. <ref>[https://www.usatoday.com/story/tech/news/2017/03/11/world-wide-webs-inventor-warns-s-peril/99005906/ The World Wide Web's inventor warns it's in peril on 28th anniversary] By Jon Swartz, ''[[USA Today]]''. March 11, 2017. Retrieved March 11, 2017.</ref> മുമ്പ് പത്രപ്രവർത്തകനായിരുന്ന [[ടെറി പ്രാച്ചെറ്റ്|ടെറി പ്രാറ്റ്‌ചെറ്റ്]] എന്ന എഴുത്തുകാരനാണ് ഇൻ്റർനെറ്റിൽ വ്യാജവാർത്തകൾ പ്രചരിക്കുന്നതിനെക്കുറിച്ച് ആദ്യം ആശങ്കപ്പെട്ടത്. 1995-ൽ [[മൈക്രോസോഫ്റ്റ്|മൈക്രോസോഫ്റ്റിൻ്റെ]] സ്ഥാപകനായ [[ബിൽ ഗേറ്റ്സ്|ബിൽ ഗേറ്റ്‌സുമായുള്ള]] ഒരു അഭിമുഖത്തിൽ അദ്ദേഹം ഇങ്ങനെ പറഞ്ഞു, "ഞാൻ എന്നെത്തന്നെ ഇൻസ്റ്റിറ്റ്യൂട്ട് ഫോർ സംതിംഗ് അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും എന്ന് വിളിക്കുന്നു, [[ഹോളോകോസ്റ്റ്]] നടന്നില്ല, രണ്ടാം ലോക മഹായുദ്ധത്തിന് യഹൂദന്മാരാണ് പൂർണ്ണമായും ഉത്തരവാദികൾ എന്ന വ്യാജപ്രബന്ധം പ്രചരിപ്പിക്കാൻ ഞാൻ തീരുമാനിച്ചു. ഇൻറർനെറ്റിൽ അത്, [[വിദഗ്ദ്ധ നിരൂപണം|വിദഗ്ധ അവലോകനത്തിനും]] മറ്റും വിധേയമായിട്ടുള്ള ഏതൊരു ചരിത്ര ഗവേഷണത്തിൻ്റെയും അതേ നിബന്ധനകളിൽ ലഭ്യമാണ്. നെറ്റിൽ കിട്ടുന്ന ഇത്തരം വിവരങ്ങൾക്ക് എന്തെങ്കിലും അടിസ്ഥാനം ഉണ്ടോ അതോ ആരെങ്കിലും ഇത് മനപ്പൂർവ്വം ഉണ്ടാക്കിയതാണോ എന്ന് കണ്ടെത്താൻ ഒരു മാർഗവുമില്ല." ഗേറ്റ്‌സ് ഇതിൽ ശുഭാപ്തിവിശ്വാസവും വിയോജിപ്പും പ്രകടിപ്പിച്ചു, നെറ്റിലെ അധികാരികൾ അച്ചടിയേക്കാൾ വളരെ സങ്കീർണ്ണമായ രീതിയിൽ വസ്തുതകളും മറ്റും സൂചികയിലാക്കുമെന്നും പരിശോധിക്കുമെന്നും പറഞ്ഞു. എന്നാൽ ഇൻ്റർനെറ്റ് എങ്ങനെ വ്യാജവാർത്തകൾ പ്രചരിപ്പിക്കുമെന്നും നിയമാനുസൃതമാക്കുമെന്നും കൂടുതൽ കൃത്യമായി പ്രവചിച്ചത് പ്രാച്ചെറ്റാണ്.<ref>{{cite news |url=https://www.theguardian.com/books/2019/may/30/terry-pratchett-predicted-rise-of-fake-news-in-1995-says-biographer |title=Terry Pratchett predicted rise of fake news in 1995, says biographer |newspaper=[[The Guardian]] |first=Alison |last=Flood |date= May 30, 2019}}</ref> 1990-കളിൽ ഇൻ്റർനെറ്റ് ആദ്യമായി പൊതു ഉപയോഗത്തിന് പ്രാപ്യമായപ്പോൾ, അതിൻ്റെ പ്രധാന ലക്ഷ്യം വിവരങ്ങൾ അന്വേഷിക്കുന്നതിനും ആക്സസ് ചെയ്യുന്നതുമായിരുന്നു.<ref>{{Cite book|url=https://www.journals.ala.org/index.php/ltr/issue/viewFile/662/423|title=Combatting fake news in the digital age|last=Burkhardt|first=Joanna M.|date=2017|publisher=American Library Association|isbn=978-0-8389-5991-6|archive-date=2021-03-22|access-date=2024-02-17|archive-url=https://web.archive.org/web/20210322195443/https://www.journals.ala.org/index.php/ltr/issue/viewFile/662/423|url-status=dead}}</ref> ഇൻറർനെറ്റിൽ വ്യാജവാർത്തകൾ പ്രചരിപ്പിച്ചു തുടങ്ങിയതോടെ, ആളുകൾക്ക് സത്യസന്ധമായ വിവരങ്ങൾ അറിയുന്നത് ബുദ്ധിമുട്ടാക്കി. വ്യാജവാർത്തകളുടെ ആഘാതം ലോകമെമ്പാടും ഒരു പ്രതിഭാസമായി മാറിയിരിക്കുന്നു. വ്യാജ വാർത്തകൾ പലപ്പോഴും വ്യാജ വാർത്താ വെബ്‌സൈറ്റുകളുടെ ഉപയോഗത്തിലൂടെയാണ് പ്രചരിക്കുന്നത്, വിശ്വാസ്യത നേടുന്നതിനായി, ശ്രദ്ധ പിടിച്ചുപറ്റുന്ന വാർത്തകൾ സൃഷ്ടിക്കുന്നതിൽ അവർ വൈദഗ്ദ്ധ്യം നേടുന്നു, ഇത് പലപ്പോഴും അറിയപ്പെടുന്ന വാർത്താ ഉറവിടങ്ങളെ പോലെയുള്ള ഉറവിടങ്ങൾ സൃഷ്ടിക്കുന്നു.<ref>{{Cite news|url=https://www.nytimes.com/2015/06/07/magazine/the-agency.html|title=The Agency|last=Chen|first=Adrian|date=June 2, 2015|newspaper=[[The New York Times]] |access-date=December 25, 2016}}</ref><ref name="snopesfieldguide">{{Cite web|url=http://www.snopes.com/2016/01/14/fake-news-sites/|title=Snopes' field guide to fake news sites and hoax purveyors – Snopes.com's updated guide to the Internet's clickbaiting, news-faking, social media exploiting dark side|access-date=November 19, 2016|last=LaCapria|first=Kim|date=November 2, 2016|website=[[Snopes.com]]}}</ref><ref name="bengilbert">{{Cite web|url=http://www.businessinsider.com/facebook-users-crowdsource-fake-news-document-2016-11|title=Fed up with fake news, Facebook users are solving the problem with a simple list|access-date=November 16, 2016|last=Gilbert|first=Ben|date=November 15, 2016|website=[[Business Insider]]|quote=Some of these sites are intended to look like real publications (there are false versions of major outlets like ABC and MSNBC) but share only fake news; others are straight-up propaganda created by foreign nations (Russia, for example)}}</ref> "തമാശയ്ക്ക്" വേണ്ടിയാണ് താൻ ഇത് ചെയ്യുന്നതെന്ന് പറഞ്ഞ ജസ്റ്റിൻ കോളർ, തൻ്റെ വ്യാജ വാർത്താ വെബ്‌സൈറ്റുകളിലെ പരസ്യത്തിൽ നിന്ന് പ്രതിമാസം 10,000 യുഎസ് ഡോളർ സമ്പാദിച്ചതായി സൂചിപ്പിച്ചു.<ref name="60Overtime">{{Cite AV media|url=http://www.cbsnews.com/news/whats-fake-news-60-minutes-producers-investigate/|title=60 Minutes overtime: What's "fake news"? 60 Minutes producers investigate|date=March 26, 2017|publisher=[[CBS News]]|access-date=March 27, 2017}}</ref><ref name="60Minutes">{{Cite AV media|url=http://www.cbsnews.com/news/how-fake-news-find-your-social-media-feeds/|title=60 Minutes: How fake news becomes a popular, trending topic|date=March 26, 2017|publisher=[[CBS News]]|access-date=March 27, 2017}}</ref> പരമ്പരാഗത പ്രിൻ്റ്, ടിവി ഔട്ട്‌ലെറ്റുകളെ അപേക്ഷിച്ച് വ്യാജവാർത്തകൾ സോഷ്യൽ മീഡിയയെയും ഓൺലൈൻ അധിഷ്‌ഠിത ഔട്ട്‌ലെറ്റുകളെയും ദോഷകരമായി ബാധിക്കുന്നുവെന്ന് ഗവേഷണങ്ങൾ തെളിയിച്ചിട്ടുണ്ട്. ഒരു സർവേയിൽ, വ്യാജ വാർത്തകളെക്കുറിച്ച് അറിഞ്ഞതിന് ശേഷം 24% ആളുകൾ മുഖ്യധാരാ മാധ്യമങ്ങളിലെ വാർത്തകളിൽ അവിശ്വസിക്കുമ്പോൾ, 58% ആളുകൾക്ക് സോഷ്യൽ മീഡിയ വാർത്തകളിൽ വിശ്വാസം കുറവാണെന്ന് കണ്ടെത്തി.<ref name="auto8">{{Cite news|url=https://www.reuters.com/article/us-media-fakenews/fake-news-hurts-trust-in-media-mainstream-outlets-fare-better-poll-idUSKBN1D002S|title=Fake news hurts trust in media, mainstream outlets fare better: Poll|date=October 31, 2017|newspaper=Reuters|language=en|access-date=April 10, 2018}}</ref> 2019-ൽ, ''ഫോബ്‌സിനുവേണ്ടി'' [[ജനറേഷൻ ആൽഫ|ജനറേഷൻ ആൽഫയെക്കുറിച്ച്]] റിപ്പോർട്ട് ചെയ്ത എഴുത്തുകാരി [[ക്രിസ്റ്റീൻ മൈക്കൽ കാർട്ടർ]], തലമുറയുടെ മൂന്നിലൊന്ന് പേർ മാധ്യമങ്ങളിൽ നിന്ന് തെറ്റായതോ തെറ്റിദ്ധരിപ്പിക്കുന്നതോ ആയ വിവരങ്ങൾ മനസ്സിലാക്കുന്നുവെന്ന് പ്രസ്താവിച്ചു. <ref>{{Cite web|url=https://www.forbes.com/sites/christinecarter/2019/12/09/how-consumer-brandsand-americacan-prepare-themselves-for-generation-alpha/|title=How Consumer Brands- And America- Can Prepare Themselves For Generation Alpha|access-date=2023-06-20|last=Carter|first=Christine Michel|website=Forbes|language=en}}</ref> == വ്യാജ വാർത്തകളുടെ തരങ്ങൾ == ''ഫസ്റ്റ് ഡ്രാഫ്റ്റ് ന്യൂസിൻ്റെ'' ക്ലെയർ വാർഡിൽ ഏഴ് തരം വ്യാജ വാർത്തകളെ വിശദീകരിക്കുന്നു: <ref>{{Cite web|url=https://firstdraftnews.org/fake-news-complicated/|title=Fake news. It's complicated|access-date=April 22, 2017|last=Wardle, Claire|date=February 16, 2017|publisher=firstdraftnews.org|archive-date=2019-07-10|archive-url=https://web.archive.org/web/20190710104226/https://firstdraftnews.org/fake-news-complicated/|url-status=dead}}</ref> # ആക്ഷേപഹാസ്യം അല്ലെങ്കിൽ പാരഡി ("ഹാനി വരുത്താൻ ഉദ്ദേശമില്ല, പക്ഷേ കബളിപ്പിക്കാനുള്ള കഴിവുണ്ട്") # ഫാൾസ് കണക്ഷൻ ("തലക്കെട്ടുകളോ ദൃശ്യങ്ങളോ അടിക്കുറിപ്പുകളോ ഉള്ളടക്കത്തെ പിന്തുണയ്ക്കാത്തപ്പോൾ") # തെറ്റിദ്ധരിപ്പിക്കുന്ന ഉള്ളടക്കം (" [[സ്പിൻ (പബ്ലിക് റിലേഷൻസ്)|ഒരു പ്രശ്നം അല്ലെങ്കിൽ ഒരു വ്യക്തിയെ രൂപപ്പെടുത്താൻ]] വിവരങ്ങളുടെ തെറ്റായ ഉപയോഗം") # തെറ്റായ സന്ദർഭം ("യഥാർത്ഥ ഉള്ളടക്കം തെറ്റായ സന്ദർഭോചിത വിവരങ്ങളുമായി ചേർന്ന് പങ്കിടുമ്പോൾ") # വഞ്ചനാപരമായ ഉള്ളടക്കം ("യഥാർത്ഥ ഉറവിടങ്ങൾ തെറ്റായതും നിർമ്മിച്ചതുമായ ഉറവിടങ്ങൾ ഉപയോഗിച്ച് മാറ്റി സ്ഥാപിക്കുമ്പോൾ") # കൃത്രിമമായ ഉള്ളടക്കം ("വഞ്ചിക്കാൻ യഥാർത്ഥ വിവരങ്ങളോ ചിത്രങ്ങളോ കൃത്രിമം കാണിക്കുമ്പോൾ") # കെട്ടിച്ചമച്ച ഉള്ളടക്കം ("പുതിയ ഉള്ളടക്കം 100% തെറ്റാണ്, അത് വഞ്ചിക്കാനും ദോഷം ചെയ്യാനും രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു") സയിന്റിഫിക്ക് ഡിനൈലിസം (ശാസ്ത്രീയമായ നിഷേധം) എന്നത് വ്യാജവാർത്തകളുടെ മറ്റൊരു തരമാണ്, അത് ശക്തമായ മുൻകാല വിശ്വാസങ്ങളെ പിന്തുണയ്ക്കുന്നതിനായി തെറ്റായതോ തെറ്റിദ്ധരിപ്പിക്കുന്നതോ ആയ വസ്തുതകൾ ഉൽപ്പാദിപ്പിക്കുന്ന പ്രവർത്തനമായി നിർവചിക്കപ്പെടുന്നു. <ref>{{Cite journal|doi=10.1136/bmj.c6950|title=How the growth of denialism undermines public health|year=2010|last=McKee|first=M.|last2=Diethelm|first2=P.|journal=BMJ|volume=341|pages=c6950|pmid=21156741|url=https://researchonline.lshtm.ac.uk/id/eprint/1874/1/How%20the%20growth%20of%20denialism%20undermines%20public%20health%20_%20The%20BMJ.pdf}}</ref> == തിരിച്ചറിയൽ == [[File:How to Spot Fake News.pdf|right|thumb|''വ്യാജ വാർത്തകൾ എങ്ങനെ കണ്ടെത്താം'' എന്ന ഇൻഫോഗ്രാഫിക്, [[International Federation of Library Associations and Institutions|ഇൻ്റർനാഷണൽ ഫെഡറേഷൻ ഓഫ് ലൈബ്രറി അസോസിയേഷൻസ് ആൻഡ് ഇൻസ്റ്റിറ്റ്യൂഷൻസ്]] പുറത്തിറക്കിയത്]] ഒരു അക്കാദമിക് ലൈബ്രറി ഗൈഡ് പറയുന്നതനുസരിച്ച്, വ്യാജവാർത്തകളുടെ നിരവധി പ്രത്യേക വശങ്ങൾ വ്യാജ വാർത്തകൾ തിരിച്ചറിയാനും അങ്ങനെ അനാവശ്യമായി സ്വാധീനിക്കപ്പെടാതിരിക്കാനും സഹായിച്ചേക്കാം. <ref>{{Cite web|url=https://guides.library.msstate.edu/c.php?g=672253&p=4772779|title=Research Guides: Evaluating False News and Misinformation: Types of False News|access-date=November 15, 2020|last=Downey|first=Beth|website=guides.library.msstate.edu|language=en}}</ref> വ്യാജ വാർത്തകളിൽ [[ക്ലിക്‌‌ ബെയ്റ്റ്|ക്ലിക്ക്ബെയ്റ്റ്]], [[ആശയപ്രചാരണം|ആശയ പ്രചരണം]], [[ഹാസ്യാനുകരണം|ആക്ഷേപഹാസ്യം / പാരഡി]] [[ആക്ഷേപഹാസ്യം|,]] സ്ലോപ്പി [[പത്രപ്രവർത്തനം|ജേണലിസം]], [[വഞ്ചന|തെറ്റിദ്ധരിപ്പിക്കുന്ന]] തലക്കെട്ടുകൾ, [[കൃത്രിമത്വം (മനഃശാസ്ത്രം)|കൃത്രിമം]], [[കിംവദന്തി|കിംവദന്തികൾ]], [[തെറ്റായ വിവരങ്ങൾ]], [[മാധ്യമ പക്ഷപാതം]], [[Audience bias|പ്രേക്ഷക പക്ഷപാതം]], കണ്ടന്റ് ഫാമുകൾ എന്നിവ ഉൾപ്പെടുന്നു. [[ഇന്റർനാഷണൽ ഫെഡറേഷൻ ഓഫ് ലൈബ്രറി അസ്സോസിയേഷൻ ആന്റ് ഇൻസ്റ്റിറ്റ്യൂഷൻ|ഇൻ്റർനാഷണൽ ഫെഡറേഷൻ ഓഫ് ലൈബ്രറി അസോസിയേഷൻസ് ആൻഡ് ഇൻസ്റ്റിറ്റ്യൂഷൻസ്]] (IFLA) വ്യാജവാർത്തകൾ തിരിച്ചറിയാൻ ആളുകളെ സഹായിക്കുന്നതിന് ഡയഗ്രം രൂപത്തിൽ ''(വലതുവശത്തുള്ള ചിത്രം)'' ഒരു സംഗ്രഹം പ്രസിദ്ധീകരിച്ചു. <ref>{{Cite web|url=http://blogs.ifla.org/lpa/files/2017/01/How-to-Spot-Fake-News-1.jpg|title=How to spot fake news|access-date=February 16, 2017|date=January 27, 2017|publisher=IFLA blogs}}</ref> അതിലെ പ്രധാന പോയിൻ്റുകൾ ഇവയാണ്: # ഉറവിടം പരിഗണിക്കുക (അതിൻ്റെ ദൗത്യവും ഉദ്ദേശ്യവും മനസ്സിലാക്കാൻ) # തലക്കെട്ടിനപ്പുറം വായിക്കുക (കഥ മുഴുവൻ മനസ്സിലാക്കാൻ) # രചയിതാക്കളെ പരിശോധിക്കുക (അവർ യഥാർത്ഥത്തിൽ ഉള്ളവരും വിശ്വസനീയരുമാണോ എന്ന് കാണാൻ) # പിന്തുണയ്ക്കുന്ന ഉറവിടങ്ങൾ വിലയിരുത്തുക (അവർ ക്ലെയിമുകളെ പിന്തുണയ്ക്കുന്നുവെന്ന് ഉറപ്പാക്കാൻ) # പ്രസിദ്ധീകരണ തീയതി പരിശോധിക്കുക (കഥ പ്രസക്തവും കാലികവുമാണോ എന്ന് കാണാൻ) # ഇതൊരു തമാശയാണോ എന്ന് ചോദിക്കുക (ഇത് [[ആക്ഷേപഹാസ്യം|ആക്ഷേപഹാസ്യമാണോ]] എന്ന് നിർണ്ണയിക്കാൻ) # നിങ്ങളുടെ സ്വന്തം പക്ഷപാതങ്ങൾ അവലോകനം ചെയ്യുക (അവ നിങ്ങളുടെ മുൻവിധിയെ ബാധിക്കുന്നുണ്ടോ എന്ന് കാണാൻ) # വിദഗ്ധരോട് ചോദിക്കുക (അറിവുള്ള സ്വതന്ത്രരായ ആളുകളിൽ നിന്ന് സ്ഥിരീകരണം നേടുന്നതിന്). <ref name="spotfake">{{Cite web|url=https://www.factcheck.org/2016/11/how-to-spot-fake-news/|title=How to spot fake news|access-date=August 11, 2020|last=Kiely|first=Eugene|last2=Robertson|first2=Lori|date=November 18, 2016|website=FactCheck.org|publisher=[[University of Pennsylvania]] – Annenberg Public Policy Center}}</ref> 2015-ൽ ആരംഭിച്ച ഇൻ്റർനാഷണൽ ഫാക്റ്റ് ചെക്കിംഗ് നെറ്റ്‌വർക്ക് (IFCN), വസ്തുതാ പരിശോധനയിലെ അന്താരാഷ്ട്ര സഹകരണ ശ്രമങ്ങളെ പിന്തുണയ്ക്കുകയും പരിശീലനം നൽകുകയും തത്വങ്ങളുടെ ഒരു കോഡ് പ്രസിദ്ധീകരിക്കുകയും ചെയ്യുന്നു.<ref>{{Cite news|url=http://www.poynter.org/fact-checkers-code-of-principles/|title=International Fact-Checking Network fact-checkers' code of principles|date=September 15, 2016|publisher=Poynter|access-date=March 25, 2017}}</ref> 2017-ൽ അവർ പത്രപ്രവർത്തന സംഘടനകൾക്കായി ഒരു അപേക്ഷാ, പരിശോധനാ പ്രക്രിയയും അവതരിപ്പിച്ചു.<ref>{{Cite news|url=http://www.poynter.org/about-the-international-fact-checking-network/|title=About the International Fact-Checking Network|date=December 8, 2016|publisher=Poynter|access-date=March 25, 2017}}</ref> 2017 അധ്യയന വർഷം മുതൽ, തായ്‌വാനിലെ കുട്ടികൾ വിമർശനാത്മക വായനയും ഉറവിടങ്ങളുടെ മൂല്യനിർണ്ണയവും പഠിപ്പിക്കുന്നതിന് രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന ഒരു പുതിയ പാഠ്യപദ്ധതി പഠിക്കുന്നു. "മാധ്യമ സാക്ഷരത" എന്ന് വിളിക്കപ്പെടുന്ന ഈ കോഴ്‌സ് ന്യൂ ഇൻഫർമേഷൻ സൊസൈറ്റിയിൽ ജേണലിസത്തിൽ പരിശീലനം നൽകുന്നു.<ref name=Time-Smith>{{cite news|url=http://time.com/4730440/taiwan-fake-news-education/|author=Smith, Nicola|date=April 6, 2017|access-date=April 17, 2017|magazine=[[Time (magazine)|Time]]|title=Schoolkids in Taiwan will now be taught how to identify fake news|archive-date=2017-04-07|archive-url=https://web.archive.org/web/20170407092711/http://time.com/4730440/taiwan-fake-news-education/|url-status=dead}}</ref> == ഓൺലൈൻ തിരിച്ചറിയൽ == കഴിഞ്ഞ കുറച്ച് വർഷങ്ങളായി വ്യാജവാർത്തകൾ കൂടുതൽ പ്രചാരത്തിലുണ്ട്. <ref name=":032">{{Cite journal|last=Allcott|first=Hunt|last2=Gentzkow|first2=Matthew|title=Social media and fake news in the 2016 Election|journal=Journal of Economic Perspectives|date=May 1, 2017|volume=31|issue=2|pages=211–236|doi=10.1257/jep.31.2.211}}</ref> ഈ വ്യാജ വാർത്താ ലേഖനങ്ങൾ ഒന്നുകിൽ ക്ലിക്ക് ബെയ്റ്റായി അല്ലെങ്കിൽ ഒരു ലക്ഷ്യത്തിനായി ആക്ഷേപഹാസ്യ വാർത്താ വെബ്‌സൈറ്റുകളും വ്യക്തിഗത വെബ്‌സൈറ്റുകളും പ്രോത്സാഹിപ്പിക്കുന്നു.<ref name=":032" /> തെറ്റായ വിവരങ്ങൾ മനഃപൂർവ്വം പ്രോത്സാഹിപ്പിക്കുന്നതിനാൽ, അത്തരം ലേഖനങ്ങൾ കണ്ടെത്തുന്നത് വളരെ ബുദ്ധിമുട്ടാണ്.<ref name=":12">{{Cite journal|last=Shu|first=Kai|last2=Sliva|first2=Amy|last3=Wang|first3=Suhang|last4=Tang|first4=Jiliang|last5=Liu|first5=Huan|title=Fake news detection on social media: A data mining perspective|journal=ACM SIGKDD Explorations Newsletter|date=September 2017|volume=19|issue=1|pages=22–36|doi=10.1145/3137597.3137600|arxiv=1708.01967}}</ref> വിവരങ്ങളുടെ ഉറവിടം തിരിച്ചറിയുമ്പോൾ, ഇമെയിലിൻ്റെയും സോഷ്യൽ മീഡിയ ഇടപെടലുകളുടെയും ഉള്ളടക്കം ഉൾപ്പെടെ എന്നാൽ അതിൽ മാത്രം പരിമിതപ്പെടുത്താതെ നിരവധി ആട്രിബ്യൂട്ടുകൾ നോക്കണം. പ്രത്യേകിച്ചും, യഥാർത്ഥ ലേഖനങ്ങളേക്കാൾ വ്യാജ വാർത്തകളിൽ ഭാഷ സാധാരണഗതിയിൽ കൂടുതൽ പ്രകോപനപരമാണ്, കാരണം ആശയക്കുഴപ്പത്തിലാക്കുകയും ക്ലിക്കുകൾ സൃഷ്ടിക്കുകയും ചെയ്യുക എന്നതാണ് ഇതിൻ്റെ ഉദ്ദേശ്യം. <ref name=":12" /> വിവരങ്ങളുടെ ഉറവിടം തിരിച്ചറിയുമ്പോൾ, ഇമെയിലിൻ്റെയും സോഷ്യൽ മീഡിയ ഇടപെടലുകളുടെയും ഉള്ളടക്കം ഉൾപ്പെടെ എന്നാൽ അതിൽ മാത്രം പരിമിതപ്പെടുത്താതെ നിരവധി ആട്രിബ്യൂട്ടുകൾ നോക്കണം. പ്രത്യേകിച്ചും, യഥാർത്ഥ ലേഖനങ്ങളേക്കാൾ വ്യാജ വാർത്തകളിൽ ഭാഷ സാധാരണഗതിയിൽ കൂടുതൽ പ്രകോപനപരമാണ്, കാരണം ആശയക്കുഴപ്പത്തിലാക്കുകയും ക്ലിക്കുകൾ സൃഷ്ടിക്കുകയും ചെയ്യുക എന്നതാണ് ഇതിൻ്റെ ഉദ്ദേശ്യം. <ref name=":122">{{Cite journal|last=Shu|first=Kai|last2=Sliva|first2=Amy|last3=Wang|first3=Suhang|last4=Tang|first4=Jiliang|last5=Liu|first5=Huan|title=Fake news detection on social media: A data mining perspective|journal=ACM SIGKDD Explorations Newsletter|date=September 2017|volume=19|issue=1|pages=22–36|doi=10.1145/3137597.3137600|arxiv=1708.01967}}</ref> == കൈകാര്യം ചെയ്യലും അടിച്ചമർത്തലും == എല്ലാ തരത്തിലുമുള്ള വ്യാജവാർത്തകളെ നേരിടുന്നതിനും അടിച്ചമർത്തുന്നതിനുമുള്ള തന്ത്രങ്ങളെക്കുറിച്ച് കാര്യമായ ഗവേഷണം നടന്നുവരുന്നു, പ്രത്യേകിച്ചും രാഷ്ട്രീയ ആവശ്യങ്ങൾക്കായി തെറ്റായ വിവരണങ്ങൾ ബോധപൂർവം പ്രചരിപ്പിക്കുന്ന പോലെയുള്ള കാര്യങ്ങൾ. വ്യാജവാർത്തകൾ മനഃപൂർവം ഉണ്ടാക്കിയതാണോ അതോ അറിയാതെ നിർമ്മിക്കപ്പെട്ടതാണോ എന്നതിനെ ആശ്രയിച്ച്, ഓരോ തരത്തിലുമുള്ള വ്യാജവാർത്തകൾക്ക് അനുസൃതമായി ഒന്നിലധികം തന്ത്രങ്ങൾ രൂപപ്പെടുത്തേണ്ടതുണ്ട്. വ്യാജവാർത്തകളെ ചെറുക്കുന്നതിന് ഗണ്യമായ [[Fake news#Resources: External links|ഉറവിടങ്ങൾ]] ലഭ്യമാണ്. നിലവിലുള്ള സംഭവങ്ങളുടെയും ഗവേഷണങ്ങളുടെയും സംഗ്രഹങ്ങൾ വെബ്‌സൈറ്റുകളിലും നിരവധി പിന്തുണാ ഓർഗനൈസേഷനുകളുടെ ഇമെയിൽ വാർത്താക്കുറിപ്പുകളിലും ലഭ്യമാണ്. ഫസ്റ്റ് ഡ്രാഫ്റ്റ് ആർക്കൈവ്, <ref>{{Cite web|url=https://firstdraftnews.org/|title=First Draft Archive|access-date=2024-02-17|archive-date=2021-10-07|archive-url=https://web.archive.org/web/20211007141631/https://firstdraftnews.org/|url-status=dead}}</ref> ഇൻഫർമേഷൻ ഫ്യൂച്ചേഴ്സ് ലാബ്, സ്കൂൾ ഓഫ് പബ്ലിക് ഹെൽത്ത്, ബ്രൗൺ യൂണിവേഴ്സിറ്റി <ref>{{Cite web|url=https://sites.brown.edu/informationfutures|title=Information Futures Lab}}</ref>, നീമാൻ ഫൗണ്ടേഷൻ ഫോർ ജേർണലിസം (ഹാർവാർഡ് യൂണിവേഴ്സിറ്റി) എന്നിവ ഇക്കാര്യത്തിൽ പ്രത്യേകിച്ചും ശ്രദ്ധേയമാണ്. <ref>{{Cite web|url=https://www.niemanreports.org|title=Nieman Daily Digest}}</ref> പത്രപ്രവർത്തകനായ ബെർണാഡ് കീൻ, ഓസ്‌ട്രേലിയയിലെ തെറ്റായ വിവരങ്ങളെക്കുറിച്ചുള്ള തൻ്റെ പുസ്തകത്തിൽ, വ്യാജ വാർത്തകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള തന്ത്രങ്ങളെ മൂന്ന് വിഭാഗങ്ങളായി തരംതിരിക്കുന്നു: (1) നുണ പറയുന്ന അൾ (വ്യാജ വാർത്തയുടെ സ്രഷ്ടാവ്), (2) വഴി (വ്യാജ വാർത്തകൾ പ്രചരിപ്പിക്കുന്ന രീതി ), കൂടാതെ (3) നുണ കേക്കുന്നവർ (വ്യാജ വാർത്തയുടെ സ്വീകർത്താവ്). <ref>{{Citation|last=Keane|first=Bernard.|title=Lies and falsehoods: The Morrison government and the new culture of deceit|pages=80–92|year=2021|publisher=Hardie Grant|isbn=9781743798355}}</ref> === സ്രഷ്ടാക്കളെ സംബന്ധിച്ച തന്ത്രങ്ങൾ === ==== വികാരങ്ങളെക്കാൾ വസ്തുതകളുടെ പ്രമോഷൻ ==== വസ്‌തുതകളേക്കാൾ വികാരങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ള വ്യാജവാർത്തകളെ പ്രതിരോധിക്കാനുള്ള ഒരു പ്രധാന തന്ത്രം, വിവര ഇടം, പ്രത്യേകിച്ച് സോഷ്യൽ മീഡിയ, വെബ് ബ്രൗസർ തിരയൽ ഫലങ്ങളിൽ വസ്തുതാപരമായ വാർത്തകളാൽ നിറയ്ക്കുക, അങ്ങനെ തെറ്റായ വിവരങ്ങൾ മുക്കിക്കളയുക എന്നതാണ്. <ref name="mcintyre">{{Citation|last=McIntyre|first=Lee|title=Post-truth (Essential Knowldege Series)|pages=151–172|year=2018|publisher=MIT Press|isbn=978-0-262-53504-5}}</ref> വസ്തുതകൾ സ്ഥാപിക്കുന്നതിനുള്ള ഒരു പ്രധാന ഘടകം [[വിമർശനാത്മക ചിന്ത|വിമർശനാത്മക ചിന്തയുടെ]] പങ്ക് ആണ്, അതിൻ്റെ തത്വങ്ങൾ എല്ലാ സ്കൂൾ, യൂണിവേഴ്സിറ്റി വിദ്യാഭ്യാസ കോഴ്സുകളിലും കൂടുതൽ സമഗ്രമായി ഉൾക്കൊള്ളണം. <ref name="harrison">{{Citation|last=Harrison|first=Guy P.|title=How to repair the American mind: Solving America's cognitive crisis.|date=2021|url=https://skepticalinquirer.org/2021/04/how-to-repair-the-american-mind-solving-americas-cognitive-crisis|volume=45|issue=3|pages=31–34|periodical=Skeptical Inquirer}}</ref> [[വിമർശനാത്മക ചിന്ത]] എന്നത് ഒരു ചിന്താ ശൈലിയാണ്, അതിൽ പ്രശ്‌ന പരിഹാരത്തിനും തീരുമാനമെടുക്കുന്നതിനും മുമ്പ്, എഴുതിയ വാക്കുകളുടെ ഉള്ളടക്കത്തിൽ ശ്രദ്ധ ചെലുത്താനും മറ്റ് യോഗ്യമായ ആട്രിബ്യൂട്ടുകൾക്കൊപ്പം അവയുടെ കൃത്യതയും ന്യായവും വിലയിരുത്താനും പൗരന്മാർ പഠിക്കുന്നു. ==== വ്യക്തിഗത എതിർപ്പ് ==== വ്യക്തികൾ ഓൺലൈൻ ബ്ലോഗുകളിൽ തെറ്റായ വിവരങ്ങളെ കണ്ടെത്തുമ്പോൾ അവയെ തുറന്നുകാട്ടണം, അല്ലാത്തപക്ഷം അവ വളരുകയും പെരുകുകയും ചെയ്യും. <ref name="mcintyre2">{{Citation|last=McIntyre|first=Lee|title=Post-truth (Essential Knowldege Series)|pages=151–172|year=2018|publisher=MIT Press|isbn=978-0-262-53504-5}}</ref> 2004-ലെ യുഎസ് പ്രസിഡൻ്റ് തിരഞ്ഞെടുപ്പ് പ്രചാരണത്തിൽ ജോർജ്ജ് ഡബ്ല്യു. ബുഷിനെതിരെ മത്സരിച്ച ജോൺ കെറി ഇത്തരം ഒരു ആരോപണത്തിന് സമയത്തിന് പ്രതികരിച്ചില്ല. വലതുപക്ഷ സ്വിഫ്റ്റ് ബോട്ട് വെറ്ററൻസ് ഫോർ ട്രൂത്ത്, വിയറ്റ്നാം യുദ്ധസമയത്ത് കെറി ഭീരുത്വമാണ് കാണിച്ചതെന്ന് തെറ്റായി അവകാശപ്പെട്ടു. മാധ്യമങ്ങളിൽ പ്രചരിച്ചിട്ടും രണ്ടാഴ്ചയോളം പ്രതികരിക്കാൻ കെറി വിസമ്മതിച്ചു, ഈ നടപടി നേരിയ ഭൂരിപക്ഷത്തിൽ ബുഷിനോട് അദ്ദേഹം തോൽക്കുന്നതിന് ഒരു കാരണമായി. എന്നിരുന്നാലും, കുറഞ്ഞ സ്വാധീനമുള്ള വെബ്‌സൈറ്റിലോ ബ്ലോഗിലോ (കുറച്ച് പേർ മാത്രം പിന്തുടരുന്ന ഒന്ന്) പ്രസിദ്ധീകരിക്കുന്ന വ്യാജ വാർത്തകളിലേക്ക് കൂടുതൽ ശ്രദ്ധ കൊടുക്കുന്നത് പലപ്പോഴും ബുദ്ധിശൂന്യമാണ്. ഉദാഹരണത്തിന് ''[[ദ് ന്യൂയോർക്ക് ടൈംസ്|ന്യൂയോർക്ക് ടൈംസ്]]'' പോലുള്ള ഒരു ഉയർന്ന മാധ്യമത്തിൽ ഒരു പത്രപ്രവർത്തകൻ ഈ വ്യാജ വാർത്തയെ പൊളിച്ചെഴുതിയാൽ, തെറ്റായ അവകാശവാദത്തെക്കുറിച്ചുള്ള അറിവ് വ്യാപകമായി പ്രചരിക്കുന്നു. {{Efn|Research is needed to establish the prevalence of this effect, as well as its relation to similar constructs: [[backfire effect]], [[Streisand effect]], [[Boomerang effect (psychology)|boomerang effect]], backlash effect, and - more broadly - [[psychological reactance]].|name=backfire}} === വ്യാജ വാർത്ത വാഹകരെ സംബന്ധിച്ച തന്ത്രങ്ങൾ === ==== സോഷ്യൽ മീഡിയയുടെ നിയന്ത്രണം ==== വ്യാജവാർത്തകൾ പരിമിതപ്പെടുത്തുന്നതിനും അതിൻ്റെ വ്യാപനത്തിനുള്ള സാമ്പത്തിക ആനുകൂല്യങ്ങൾ കുറയ്ക്കുന്നതിനുമായി ഇൻ്റർനെറ്റ് കമ്പനികൾ പുതിയ തന്ത്രങ്ങൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്.<ref>{{cite news|url=https://www.ft.com/content/2cf4a678-c25b-11e6-81c2-f57d90f6741a|title=Facebook begins testing ways to flag fake news|newspaper=[[Financial Times]]|date=December 15, 2016|accessdate=October 29, 2022}}</ref><ref name="wingfield">{{Citation|last=Wingfield|first=Nick|title=Google and Facebook take aim at fake news sites.|date=November 15, 2016|url=https://www.nytimes.com/2016/11/15/technology/google-will-ban-websites-that-host-fake-news-from-using-its-ad-service.html|periodical=[[The New York Times]].|last2=Isaac|first2=Mike|last3=Benner|first3=Katie}}</ref> സോഷ്യൽ മീഡിയകളുടെ ഒരു സാധുവായ വിമർശനം, മുൻപ് സന്ദർശിച്ച താളുകളിൽ നിന്നുള്ള മുൻഗണനകളെ അടിസ്ഥാനമാക്കി ഉപയോക്താക്കൾക്ക് അവർ ഇഷ്ടപ്പെടുന്ന ഉള്ളടക്കം അവതരിപ്പിക്കുന്നു എന്നതാണ്. ഇതിന്റെ ഒരു അനഭിലഷണീയമായ പാർശ്വഫലം, ഉപയോക്താക്കളിൽ പക്ഷപാതം വർധിപ്പിക്കുന്നു, ഇത് വ്യാജ വാർത്തകളുടെ സ്വീകാര്യത വർദ്ധിപ്പിക്കുന്നുഎന്നതാണ്. ഈ പക്ഷപാതം കുറയ്ക്കുന്നതിന്, സോഷ്യൽ മീഡിയ (പ്രത്യേകിച്ച് ഫേസ്ബുക്ക്, ട്വിറ്റർ) വെബ് സെർച്ച് എഞ്ചിനുകൾ (പ്രത്യേകിച്ച് ഗൂഗിൾ) എന്നിവയുടെ സ്വയം നിയന്ത്രണവും നിയമപരമായി-നിർബന്ധിത നിയന്ത്രണവും കൂടുതൽ ഫലപ്രദവും നൂതനവുമാകേണ്ടതുണ്ട്.<ref name="wingfield" /> ==== പൊതു തന്ത്രം ==== ഈ ടെക് കമ്പനികളുടെ പൊതുവായ സമീപനം മനുഷ്യ വസ്തുതാ പരിശോധനയിലൂടെയും ഓട്ടോമേറ്റഡ് ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ് (മെഷീൻ ലേണിംഗ്, നാച്ചുറൽ ലാംഗ്വേജ് പ്രോസസ്സിംഗ്, നെറ്റ്‌വർക്ക് വിശകലനം) വഴിയും പ്രശ്നമുള്ള വാർത്തകൾ കണ്ടെത്തുക എന്നതാണ്. ടെക് കമ്പനികൾ വ്യാജ വാര്ത്തകൾ തരം താഴ്ത്തിയും മുന്നറിയിപ്പ് നൽകിയും വ്യാജ വാര്ത്തകളെ പ്രതിരോധിക്കുന്നു. <ref name="pennycook">{{Citation|last=Pennycook|first=Gordon|title=The psychology of fake news.|date=2021|volume=25|issue=5|pages=388–402|periodical=Trends in Cognitive Sciences|doi=10.1016/j.tics.2021.02.007|pmid=33736957|last2=Rand|first2=David G.}}</ref> ആദ്യ സമീപനത്തിൽ, പ്രശ്‌നകരമായ ഉള്ളടക്കം തിരയൽ അൽഗോരിതം പ്രകാരം തരംതാഴ്ത്തുന്നതാണ്, ഉദാഹരണത്തിന്, ഗൂഗിൾ തിരയലിൽ വ്യാജ വാർത്താ ഉറവിടങ്ങൾ രണ്ടാമത്തെ അല്ലെങ്കിൽ പിന്നീടുള്ള പേജുകളിലേക്ക് മാറ്റി ഉപയോക്താക്കൾ അത് കാണാനുള്ള സാധ്യത കുറയ്ക്കുക (മിക്ക ഉപയോക്താക്കളും തിരയൽ ഫലങ്ങളുടെ ആദ്യ പേജ് മാത്രമാണ് നോക്കുക). എന്നിരുന്നാലും, വ്യാജ വാർത്തകൾ പലപ്പോഴും അതിവേഗം വികസിക്കുന്നു, അതിനാൽ തെറ്റായ വിവരങ്ങളുടെ ഐഡൻ്റിഫയറുകൾ ഭാവിയിൽ ഫലപ്രദമല്ലായിരിക്കാം. <ref name="pennycook2">{{Citation|last=Pennycook|first=Gordon|title=The psychology of fake news.|date=2021|volume=25|issue=5|pages=388–402|periodical=Trends in Cognitive Sciences|doi=10.1016/j.tics.2021.02.007|pmid=33736957|last2=Rand|first2=David G.}}</ref> രണ്ടാമത്തെ സമീപനത്തിൽ, പ്രൊഫഷണൽ വസ്തുതാ പരിശോധകർ തെറ്റാണെന്ന് കണ്ടെത്തിയ ഉള്ളടക്കത്തിലേക്ക് മുന്നറിയിപ്പുകൾ അറ്റാച്ചുചെയ്യുന്നത് ഉൾപ്പെടുന്നു. തിരുത്തലുകളും മുന്നറിയിപ്പുകളും തെറ്റിദ്ധാരണകളും പങ്കുവയ്ക്കലും കുറയ്‌ക്കുമെന്ന് ധാരാളം തെളിവുകൾ സൂചിപ്പിക്കുന്നു. എന്നാൽ ഒരു പ്രധാന പ്രശ്നം, ഓരോ പ്രത്യേക ക്ലെയിമും അന്വേഷിക്കാൻ ഇതിന് ഗണ്യമായ സമയവും പരിശ്രമവും എടുക്കാം. അതിനാൽ, പല തെറ്റായ ക്ലെയിമുകളും ഒരിക്കലും വസ്തുത പരിശോധിക്കപ്പെടുന്നില്ല. കൂടാതെ, യഥാർത്ഥത്തിൽ നടന്ന സംഭവങ്ങളുടെ പക്ഷപാതപരമായ കവറേജിന് പകരം, പൂർണ്ണമായും തെറ്റായ വാർത്തകളിൽ മാത്രമേ മുന്നറിയിപ്പുകൾ നൽകാറുള്ളൂ. <ref name="pennycook2" /> മുഖ്യധാരാ മാധ്യമങ്ങൾ (ഉദാഹരണത്തിന്, ''[[ദ് ന്യൂയോർക്ക് ടൈംസ്|ന്യൂയോർക്ക് ടൈംസ്]]'', ''[[വാൾ സ്ട്രീറ്റ് ജേർണൽ|ദി വാൾ സ്ട്രീറ്റ് ജേർണൽ]]''), സയൻസ് കമ്മ്യൂണിക്കേഷൻ പ്രസിദ്ധീകരണങ്ങൾ (ഉദാഹരണത്തിന്, [[ശാസ്ത്രീയ അമേരിക്കൻ|സയൻ്റിഫിക് അമേരിക്കൻ]], [[സംഭാഷണം (വെബ്സൈറ്റ്)|ദി]] കോൺവർസേഷൻ) എന്നിവ പോലുള്ള വിശ്വസനീയമായ ഉറവിടങ്ങളിൽ കൂടുതൽ ഊന്നൽ നൽകുക എന്നതാണ് മൂന്നാമത്തെ സമീപനം. എന്നിരുന്നാലും, ഈ സമീപനത്തിന്റെ ഫലങ്ങൾ സമ്മിശ്രമാണ്, കാരണം ഹൈപ്പർപാർട്ടിസൻ കമൻ്ററിയും [[സ്ഥിരീകരണ പക്ഷപാതം|പക്ഷപാതവും]] ഈ ഉറവിടങ്ങളിൽ പോലും കാണപ്പെടുന്നു. കൂടാതെ, സമൂഹത്തിലെ ചില വിഭാഗങ്ങൾ ശാസ്ത്രീയ വ്യാഖ്യാനങ്ങളെ പൂർണ്ണമായും നിരാകരിക്കുന്നു. <ref name="pennycook3">{{Citation|last=Pennycook|first=Gordon|title=The psychology of fake news.|date=2021|volume=25|issue=5|pages=388–402|periodical=Trends in Cognitive Sciences|doi=10.1016/j.tics.2021.02.007|pmid=33736957|last2=Rand|first2=David G.}}</ref> നാലാമത്തെ സമീപനം സോഷ്യൽ മീഡിയയിൽ നിന്നുള്ള വ്യാജവാർത്തകൾ പ്രചരിപ്പിക്കുന്നവരെ നിരോധിക്കുകയോ പ്രത്യേകമായി ടാർഗെറ്റ് ചെയ്യുകയോ ആണ്. <ref name="stelter">{{Citation|last=Stelter|first=Brian|title=Hoax: Donald Trump, Fox News, and the dangerous distortion of the truth|year=2021|publisher=One Signal Publishers / Simon & Schuster|isbn=9781982142452}}</ref> ==== വസ്തുതാ പരിശോധന ==== 2016 ലെ യുണൈറ്റഡ് സ്റ്റേറ്റ്സ് പ്രസിഡൻ്റ് തിരഞ്ഞെടുപ്പിൽ, [[യുണൈറ്റഡ് സ്റ്റേറ്റ്സിലെ വ്യാജ വാർത്താ വെബ്സൈറ്റുകൾ|വ്യാജ വാർത്തകളുടെ സൃഷ്ടിയും കവറേജും]] ഗണ്യമായി വർദ്ധിച്ചു.<ref name = lie2016/> ഇത് വ്യാജവാർത്തകളുടെ വ്യാപനത്തെ ചെറുക്കുന്നതിന് വ്യാപകമായ [[വ്യാജ വാർത്ത വെബ്സൈറ്റ്|പ്രതികരണത്തിന്]] കാരണമായി.<ref name=Snopes>{{cite web|url=http://www.snopes.com/2016/01/14/fake-news-sites/|title=Snopes' field guide to fake news sites and hoax purveyors|last=LaCapria|first=Kim|date=March 2, 2017|website=[[Snopes.com]]}}</ref><ref name=Forbes>{{cite magazine|url=https://www.forbes.com/sites/bernardmarr/2017/03/01/fake-news-how-big-data-and-ai-can-help/|title=Fake News: How Big Data And AI Can Help|last=Marr|first=Bernard|date=March 1, 2017|magazine=[[Forbes]]}}</ref><ref name = NYTimes>{{Cite news|url=https://www.nytimes.com/2017/01/25/technology/google-facebook-fake-news.html|title=In race against fake news, Google and Facebook stroll to the starting line|last=Wakabayashi|first=Isaac|date=January 25, 2017|newspaper=[[The New York Times]]}}</ref> വ്യാജ വാർത്തകളുടെ പ്രത്യാഘാതങ്ങൾ കുറയ്ക്കുന്നതിനുള്ള ശ്രമത്തിൽ, [[Snopes.com]], [[FactCheck.org]] എന്നിവയുൾപ്പെടെയുള്ള വസ്തുതാ പരിശോധന വെബ്‌സൈറ്റുകൾ വ്യാജ വാർത്താ വെബ്‌സൈറ്റുകൾ കണ്ടെത്തുന്നതിനും ഒഴിവാക്കുന്നതിനുമുള്ള ഗൈഡുകൾ പോസ്റ്റ് ചെയ്തിട്ടുണ്ട്.<ref name="Snopes" /><ref name="spotfake2">{{Cite web|url=https://www.factcheck.org/2016/11/how-to-spot-fake-news/|title=How to spot fake news|access-date=August 11, 2020|last=Kiely|first=Eugene|last2=Robertson|first2=Lori|date=November 18, 2016|website=FactCheck.org|publisher=[[University of Pennsylvania]] – Annenberg Public Policy Center}}</ref> [[ഫേസ്‌ബുക്ക്|ഫെയ്‌സ്ബുക്ക്]], [[ഗൂഗിൾ]] തുടങ്ങിയ സോഷ്യൽ മീഡിയ സൈറ്റുകളും സെർച്ച് എഞ്ചിനുകളും വ്യാജവാർത്തകൾ പ്രചരിപ്പിച്ചതിന് വിമർശനം ഏറ്റുവാങ്ങി. തുടർന്ന് ഈ രണ്ട് കോർപ്പറേഷനുകളും വ്യാജവാർത്തകൾ പ്രചരിപ്പിക്കുന്നത് തടയാൻ നടപടികൾ സ്വീകരിച്ചിട്ടുണ്ട്; എന്നിരുന്നാലും കൂടുതൽ നടപടി ആവശ്യമാണെന്ന് വിമർശകർ വിശ്വസിക്കുന്നു.<ref name="NYTimes" /> ==== ഫേസ്ബുക്ക് ==== 2016-ലെ അമേരിക്കൻ തെരഞ്ഞെടുപ്പിനും ജർമ്മൻ തിരഞ്ഞെടുപ്പിനും ശേഷം, ഫേസ്ബുക്ക് തെറ്റായ വാർത്തകൾ ലേബൽ ചെയ്യാനും മുന്നറിയിപ്പ് നൽകാനും തുടങ്ങി<ref name="auto1">{{cite web|url=https://money.cnn.com/2017/01/15/media/facebook-fake-news-warning-labels-germany/index.html|title=Facebook to begin warning users of fake news before German election|last=Stelter|first=Brian|date=January 15, 2017|publisher=[[CNNMoney]]|access-date=January 17, 2017|archive-date=2020-11-12|archive-url=https://web.archive.org/web/20201112015128/https://money.cnn.com/2017/01/15/media/facebook-fake-news-warning-labels-germany/index.html|url-status=dead}}</ref><ref name="auto2">{{Cite news|url=http://www.niemanlab.org/2016/12/clamping-down-on-viral-fake-news-facebook-partners-with-sites-like-snopes-and-adds-new-user-reporting/|title=Clamping down on viral fake news, Facebook partners with sites like Snopes and adds new user reporting |publisher=[[Nieman Foundation for Journalism]] |access-date=January 17, 2017}}</ref> തെറ്റായ വാർത്തകൾ ലേബൽ ചെയ്യുന്നതിനായി അവർ സ്വതന്ത്ര [[വസ്തുതാ പരിശോധന|വസ്തുതാ പരിശോധകരുമായി]] സഹകരിച്ചു, അത് പങ്കിടുന്നതിന് മുമ്പ് വായനക്കാർക്ക് മുന്നറിയിപ്പ് നൽകി.<ref name="auto1" /><ref name="auto2" /> ഒരു സ്റ്റോറി തർക്കമുള്ളതായി ഫ്ലാഗുചെയ്താൽ, അത് മൂന്നാം കക്ഷി വസ്തുതാ പരിശോധകർ അവ അവലോകനം ചെയ്യും. തുടർന്ന്, ഇത് വ്യാജ വാർത്തയാണെന്ന് തെളിഞ്ഞാൽ, പോസ്റ്റ് പരസ്യമാക്കാനോ പ്രമോട്ട് ചെയ്യാനോ കഴിയില്ല.<ref>{{cite magazine |last1=Chowdhry|first1=Amit|title=Facebook launches a new tool that combats fake news|url=https://www.forbes.com/sites/amitchowdhry/2017/03/05/facebook-fake-news-tool/|magazine=[[Forbes]] | date = March 5, 2017}}</ref> ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ് അൽഗോരിതം വഴി വ്യാജവാർത്തകൾ തിരിച്ചറിയുന്നതിനും ഇല്ലാതാക്കുന്നതിനുമായി അമേരിക്കയിലും യൂറോപ്പിലും സാങ്കേതിക വിദ്യകൾ വികസിപ്പിച്ചുകൊണ്ടിരിക്കുന്നു.<ref name="Forbes"/> 2017-ൽ [[2017 ലെ ഫ്രഞ്ച് പ്രസിഡന്റ് തിരഞ്ഞെടുപ്പ്|ഫ്രഞ്ച് പ്രസിഡൻ്റ് തെരഞ്ഞെടുപ്പുമായി]] ബന്ധപ്പെട്ട് തെറ്റായ വിവരങ്ങൾ പ്രചരിപ്പിച്ചതുമായി ബന്ധപ്പെട്ട് 30,000 അക്കൗണ്ടുകളാണ് ഫേസ്ബുക്ക് നിയന്ത്രിച്ചത്.<ref>{{cite news|url=https://abcnews.go.com/Technology/wireStory/facebook-targets-30000-fake-france-accounts-election-46793944|title=Facebook targets 30,000 fake France accounts before election|work=[[ABC News]]|date=April 14, 2017}}</ref> ==== ഗൂഗിൾ ==== 2018 മാർച്ചിൽ, വ്യാജ വാർത്തകളുടെ വ്യാപനത്തിനെതിരെ പോരാടുന്നതിന് [[ഗൂഗിൾ]] ഗൂഗിൾ ന്യൂസ് ഇനിഷ്യേറ്റീവ് (ജിഎൻഐ) ആരംഭിച്ചു. ഗുണനിലവാരമുള്ള [[പത്രപ്രവർത്തനം|പത്രപ്രവർത്തനവും]] ഓൺലൈനിൽ സത്യം തിരിച്ചറിയുന്നതും നിർണായകമാണെന്ന വിശ്വാസത്തിലാണ് ഇത് ആരംഭിച്ചത്. ജിഎൻഐ-ക്ക് "ഗുണമേന്മയുള്ള പത്രപ്രവർത്തനം ഉയർത്തുകയും ശക്തിപ്പെടുത്തുകയും ചെയ്യുക, സുസ്ഥിരമായ വളർച്ച കൈവരിക്കുന്നതിന് ബിസിനസ് മോഡലുകൾ വികസിപ്പിക്കുക, സാങ്കേതിക കണ്ടുപിടിത്തത്തിലൂടെ വാർത്താ സ്ഥാപനങ്ങളെ ശാക്തീകരിക്കുക" എന്നീ മൂന്ന് ലക്ഷ്യങ്ങളുണ്ട്.<ref name=":1">{{Cite news|url=https://www.engadget.com/2018/03/20/google-300-million-towards-fighting-fake-news/|title=Google puts $300 million towards fighting fake news|work=Engadget|access-date=May 30, 2018|language=en-US}}</ref> ആദ്യ ലക്ഷ്യം നേടുന്നതിന്, തിരഞ്ഞെടുപ്പ് അല്ലെങ്കിൽ ബ്രേക്കിംഗ് ന്യൂസ് പോലുള്ള നിർണായക സമയങ്ങളിൽ വ്യാജ വാർത്തകളുടെ വ്യാപനത്തിനെതിരെ പോരാടുന്ന ഡിസ്ഇൻഫോ ലാബ് ഗൂഗിൾ സൃഷ്ടിച്ചു. ബ്രേക്കിംഗ് ന്യൂസുകളുടെ സമയത്ത് കൂടുതൽ വിശ്വസനീയമായ ഉള്ളടക്കം പ്രദർശിപ്പിക്കാനും കമ്പനി പ്രവർത്തിക്കുന്നു. വ്യാജവാർത്തകൾക്കെതിരെ പോരാടാൻ ഗൂഗിൾ 2021ഓടെ 300 മില്യൺ ഡോളർ ചെലവഴിക്കും. <ref name=":1" /> കൊറോണ വൈറസിനെക്കുറിച്ച് തെറ്റായ വിവരങ്ങൾ പ്രചരിപ്പിച്ചതിന് 2020 നവംബറിൽ ഗൂഗിളിന്റെ ഉടമസ്ഥതയിലുള്ള [[യൂട്യൂബ്]] വാർത്താ ഔട്ട്‌ലെറ്റ് [[വൺ അമേരിക്ക ന്യൂസ് നെറ്റ്‌വർക്ക്]] (OANN) ഒരാഴ്ചത്തേക്ക് സസ്പെൻഡ് ചെയ്തു.വൈറസിന് ഗ്യാരണ്ടീഡ് രോഗശമനം ഉണ്ടെന്ന് തെറ്റായി പ്രചരിപ്പിച്ച ഒരു വീഡിയോ ചാനലിൽ നിന്ന് ഇല്ലാതാക്കി.<ref>{{cite news|url=https://www.theguardian.com/technology/2020/nov/24/oann-suspended-youtube-cure-covid-19 |title= OANN suspended from YouTube after promoting a sham cure for Covid-19 |access-date=November 24, 2020|newspaper=[[The Guardian]]|date= November 24, 2020 }}</ref> ==== നിയമ നടപടികൾ ==== അജ്ഞാതമായി ഹോസ്റ്റ് ചെയ്‌ത വ്യാജ വാർത്താ വെബ്‌സൈറ്റുകളുടെ ഉപയോഗം [[അപകീർത്തി|അപകീർത്തിക്കായി]] വ്യാജവാർത്തകളുടെ ഉറവിടങ്ങളെ പ്രോസിക്യൂട്ട് ചെയ്യുന്നത് ബുദ്ധിമുട്ടാക്കുന്നു.<ref name="wired.com"/><ref>{{Cite news |url=http://www.cnn.com/2016/12/05/opinions/suing-fake-news-not-so-fast-callan/index.html|title=Sue over fake news? Not so fast|last=Callan|first=Paul|publisher=CNN|access-date=January 15, 2017}}</ref> കേവലം ടെക് കമ്പനികളെ കേന്ദ്രീകരിച്ച് മാത്രമല്ല, ദോഷകരമായ തെറ്റായ വിവരങ്ങൾ നിയന്ത്രിക്കുന്നതിനോ അവ പ്രചരിപ്പിക്കുന്നവരെ പ്രോസിക്യൂട്ട് ചെയ്യുന്നതിനോ വേണ്ടി നിരവധി രാജ്യങ്ങൾ നിയമങ്ങൾ സൃഷ്ടിച്ചിട്ടുണ്ട്. നിരവധി രാജ്യങ്ങളിൽ, [[കോവിഡ്-19 ആഗോള മഹാമാരി|കോവിഡ് പാൻഡെമിക്ക്]] സമയത്ത് വ്യാജ വാർത്തകൾ പ്രചരിപ്പിച്ചതിന് ആളുകളെ അറസ്റ്റ് ചെയ്തിട്ടുണ്ട്. {{Efn|People have been arrested for allegedly spreading fake news about the [[COVID-19 pandemic]].<ref>{{cite news |title=Coronavirus sends Asia's social media censors into overdrive |url=https://www.reuters.com/article/us-china-health-fakenews/coronavirus-sends-asias-social-media-censors-into-overdrive-idUSKBN1ZY1AC |work=Reuters |date=February 4, 2020}}</ref><ref name="straitstimes"/> Some examples: In the [[Philippines]],<ref>{{cite news |title=The Philippines coronavirus lockdown is becoming a crackdown |url=https://thediplomat.com/2020/04/the-philippines-coronavirus-lockdown-is-becoming-a-crackdown/ |work=The Diplomat |date=April 3, 2020}}</ref> [[China]],<ref>{{cite news |title=China Is using fears of online misinformation about the coronavirus to arrest people |url=https://www.buzzfeednews.com/article/ryanhatesthis/china-is-arresting-people-for-spreading-rumors-online-about |work=BuzzFeed News |date=January 29, 2020}}</ref> [[India]],<ref>{{cite news |title=Fake news, real arrests |url=https://foreignpolicy.com/2020/04/17/fake-news-real-arrests/|work=Foreign Policy |date=April 17, 2020}}</ref><ref name="straitstimes"/> [[Egypt]],<ref>{{cite news |title=Reporting on the coronavirus: Egypt muzzles critical journalists |url=https://www.dw.com/en/reporting-on-the-coronavirus-egypt-muzzles-critical-journalists/a-53009293 |work=Deutsche Welle |date=April 3, 2020}}</ref> [[Bangladesh]],<ref>{{cite news |title=Bangladesh: End wave of COVID-19 'rumor' arrests |url=https://www.hrw.org/news/2020/03/31/bangladesh-end-wave-covid-19-rumor-arrests |work=Human Rights Watch |date=March 31, 2020}}</ref> [[Morocco]],<ref>{{cite news |title=Morocco makes a dozen arrests over coronavirus fake news |url=https://www.reuters.com/article/us-health-coronavirus-morocco/morocco-makes-a-dozen-arrests-over-coronavirus-fake-news-idUSKBN2162DI |work=Reuters |date=March 19, 2020}}</ref> [[Pakistan]],<ref>{{cite news |title=Man arrested for spreading fake news on coronavirus |url=https://www.pakistantoday.com.pk/2020/03/25/man-arrested-in-lahore-for-spreading-fake-news-on-coronavirus/ |work=Pakistan Today |date=March 25, 2020}}</ref> [[Saudi Arabia]],<ref>{{cite news |title=Saudi man arrested for false news on COVID-19 patient |url=https://gulfnews.com/world/gulf/saudi/saudi-man-arrested-for-false-news-on-covid-19-patient-1.1587544904557 |work=Gulf News |date=April 22, 2020}}</ref> [[Oman]],<ref>{{cite news |title=Legal action against spreading fake news |url=https://www.omanobserver.om/legal-action-against-spreading-fake-news/ |work=Oman Observer |date=March 21, 2020}}</ref> [[Iran]],<ref>{{cite news |title=Iran arrests ex-TV presenter for accusing regime of coronavirus cover-up |url=https://www.jpost.com/middle-east/iran-arrests-ex-tv-presenter-for-accusing-regime-of-coronavirus-cover-up-624753 |work=The Jerusalem Post |date=April 15, 2020}}</ref> [[Montenegro]],<ref>{{cite news |title=Concern for Rights in Montenegro amid COVID-19 Fight |url=https://balkaninsight.com/2020/03/26/concern-for-rights-in-montenegro-amid-covid-19-fight/ |work=[[Balkan Insight]] |date=March 26, 2020}}</ref> [[Vietnam]], [[Laos]],<ref>{{cite news |title=Vietnam, Laos Arrest Facebookers on COVID-19-Related Charges |url=https://www.rfa.org/english/news/vietnam/facebook-04132020154643.html |work=[[Radio Free Asia]] |date=April 13, 2020}}</ref> [[Indonesia]],<ref name="straitstimes">{{cite news |title=Asia cracks down on coronavirus 'fake news' |url=https://www.straitstimes.com/asia/coronavirus-asia-cracks-down-on-virus-fake-news |work=The Straits Times |date=April 10, 2020}}</ref> [[Mongolia]],<ref name="straitstimes"/> [[Sri Lanka]],<ref name="straitstimes"/> [[Kenya]], [[South Africa]],<ref>{{cite news |title=Arrests mount as Africa battles a destructive wave of COVID-19 disinformation |url=https://www.theglobeandmail.com/world/article-arrests-mount-as-africa-battles-a-destructive-wave-of-covid-1/ |work=The Globe and Mail |date=April 7, 2020}}</ref> [[Nigeria]],<ref>{{cite news |title=Coronavirus Law Used to Arrest Nigerian Journalist Over Health Story |url=https://www.marketwatch.com/press-release/coronavirus-law-used-to-arrest-nigerian-journalist-over-health-story-2020-04-20?mod=mw_more_headlines&tesla=y |work=Market Watch |date=April 20, 2020 |access-date=May 17, 2020 |archive-date=May 21, 2020 |archive-url=https://web.archive.org/web/20200521204841/https://www.marketwatch.com/press-release/coronavirus-law-used-to-arrest-nigerian-journalist-over-health-story-2020-04-20?mod=mw_more_headlines&tesla=y |url-status=dead }}</ref> [[Ethiopia]],<ref>{{cite news |title=Ethiopia: Free Speech at Risk Amid Covid-19 |url=https://www.hrw.org/news/2020/05/06/ethiopia-free-speech-risk-amid-covid-19 |work=Human Rights Watch |date=May 6, 2020}}</ref> [[Cote d'Ivoire]],<ref>{{cite news |title=Authorities across West Africa attacking journalists covering COVID-19 pandemic |url=https://ifex.org/authorities-across-west-africa-attacking-journalists-covering-covid-19-pandemic/ |work=[[IFEX (organization)|IFEX]] |date=April 22, 2020}}</ref> [[Somalia]],<ref>{{cite news |title=Somali Journalists Arrested, Intimidated While Covering COVID-19 |url=https://www.voanews.com/extremism-watch/somali-journalists-arrested-intimidated-while-covering-covid-19 |work=VOA News |date=April 18, 2020}}</ref> [[Mauritius]],<ref>{{cite news |title=Controls to manage fake news in Africa are affecting freedom of expression |url=https://theconversation.com/controls-to-manage-fake-news-in-africa-are-affecting-freedom-of-expression-137808 |work=[[The Conversation (website)|The Conversation]] |date=May 11, 2020}}</ref> [[Zimbabwe]],<ref>{{cite news |title=Press freedom violations throughout Africa linked to Covid-19 coverage |url=http://www.rfi.fr/en/africa/20200414-press-freedom-violations-throughout-african-continent-linked-to-covid-19-coverage |work=[[Radio France Internationale]] |date=April 14, 2020}}</ref> [[Thailand]],<ref>{{cite news |title=Some leaders use pandemic to sharpen tools against critics |url=https://abcnews.go.com/International/wireStory/coronavirus-crisis-excuses-curbs-free-speech-70177977 |work=ABC News |date=April 16, 2020}}</ref> [[Kazakhstan]],<ref>{{cite news |title=Kazakh Opposition Activist Detained For 'Spreading False Information' |url=https://www.rferl.org/a/kazakhstan-suraev-opposition-activist-detained-false-information-toqaev/30563253.html |work=Human Rights Watch |date=April 18, 2020}}</ref> [[Azerbaijan]],<ref>{{cite news |title=Azerbaijan: Crackdown on Critics Amid Pandemic |url=https://www.hrw.org/news/2020/04/16/azerbaijan-crackdown-critics-amid-pandemic |work=Human Rights Watch |date=April 16, 2020}}</ref> [[Malaysia]]<ref>{{cite news |title=Malaysia arrests thousands amid coronavirus lockdown |url=https://www.voanews.com/science-health/coronavirus-outbreak/malaysia-arrests-thousands-amid-coronavirus-lockdown |work=VOA News |date=April 4, 2020}}</ref> [[Singapore]],<ref>{{cite news |title=Civil servant arrested for leaking info on number of virus cases |url=https://www.straitstimes.com/singapore/courts-crime/civil-servant-arrested-for-leaking-info-on-number-of-virus-cases |work=[[The Straits Times]] |date=April 16, 2020}}</ref><ref>{{cite news |title=Singapore's fake news and contempt laws a threat to media, journalists say |url=https://www.voanews.com/press-freedom/singapores-fake-news-and-contempt-laws-threat-media-journalists-say |work=VOA News |date=May 6, 2020}}</ref> and [[Hong Kong]]}} തുർക്കിയിൽ വൈറസ് വ്യാപകമായി പടർന്നിട്ടുണ്ടെന്നും ഉദ്യോഗസ്ഥർ വേണ്ടത്ര നടപടികൾ സ്വീകരിച്ചിട്ടില്ലെന്നും സൂചിപ്പിച്ച് ഉദ്യോഗസ്ഥരെ ടാർഗെറ്റുചെയ്‌ത് പരിഭ്രാന്തിയും ഭയവും പരത്തുന്ന പോസ്റ്റുകളുള്ള സോഷ്യൽ മീഡിയ ഉപയോക്താക്കളെ [[ആഭ്യന്തര മന്ത്രാലയം (തുർക്കി)|തുർക്കി ആഭ്യന്തര മന്ത്രാലയം]] [[തുർക്കിയിലെ സെൻസർഷിപ്പ്|അറസ്റ്റ്]] ചെയ്തിരുന്നു.<ref>{{cite news |title=Coronavirus has started a censorship pandemic |url=https://foreignpolicy.com/2020/04/01/coronavirus-censorship-pandemic-disinformation-fake-news-speech-freedom/ |work=The Foreign Policy |date=April 1, 2020}}</ref> രാജ്യത്ത് കൊവിഡ്-19നെ കുറിച്ച് കിംവദന്തികൾ പ്രചരിപ്പിച്ചതിന് 3600 പേരെ അറസ്റ്റ് ചെയ്തതായി [[ഇസ്ലാമിക് റിപ്പബ്ലിക് ഓഫ് ഇറാൻ്റെ സായുധ സേന|ഇറാൻ സൈന്യം]] അറിയിച്ചു.<ref>{{cite news |title=Iran says 3,600 arrested for spreading coronavirus-related rumors |url=https://www.rferl.org/a/iran-says-3600-arrested-for-spreading-coronavirus-related-rumors/30583656.html |work=Radio Free Europe/Radio Liberty (RFE/RL) |date=April 29, 2020}}</ref> [[കംബോഡിയ|കംബോഡിയയിൽ]], കോവിഡ് -19 ൻ്റെ വ്യാപനത്തെക്കുറിച്ച് ആശങ്ക പ്രകടിപ്പിച്ച ചില വ്യക്തികളെ വ്യാജവാർത്ത ആരോപിച്ച് അറസ്റ്റ് ചെയ്തിട്ടുണ്ട്.<ref>{{cite news |title=Cambodia accused of political clampdown amid coronavirus outbreak |url=https://www.aljazeera.com/news/2020/03/cambodia-accused-political-clampdown-coronavirus-outbreak-200324063233803.html |work=Al Jazeera |date=March 24, 2020}}</ref><ref>{{cite news |title=Cambodia's Lost Digital Opportunity in the COVID-19 Fight |url=https://thediplomat.com/2020/04/cambodias-lost-digital-opportunity-in-the-covid-19-fight/ |work=The Diplomat |date=April 17, 2020}}</ref> കോവിഡ് വ്യാപനവുമായി ബന്ധപ്പെട്ട തെറ്റായ വിവരങ്ങളും കിംവദന്തികളും പ്രചരിപ്പിച്ചതിന് [[ഐക്യ അറബ് എമിറേറ്റുകൾ|യുണൈറ്റഡ് അറബ് എമിറേറ്റ്സും]] ക്രിമിനൽ ശിക്ഷകൾ ഏർപ്പെടുത്തിയിട്ടുണ്ട്.<ref>{{cite news |title=Gulf states use coronavirus threat to tighten authoritarian controls and surveillance |url=https://theconversation.com/gulf-states-use-coronavirus-threat-to-tighten-authoritarian-controls-and-surveillance-136631 |work=[[The Conversation (website)|The Conversation]] |date=April 21, 2020}}</ref> === സ്വീകർത്താവിനെ സംബന്ധിച്ച തന്ത്രങ്ങൾ === ==== സ്വീകർത്താവിൻ്റെ വൈജ്ഞാനിക പക്ഷപാതങ്ങൾ ==== ബ്ലോഗുകളും ട്വീറ്റുകളും പോലെയുള്ള ഓൺലൈൻ വിവരങ്ങളുടെ വ്യാപകമായ വ്യാപനം കാരണം, മനുഷ്യർക്ക് ഈ വിവര യൂണിറ്റുകളെല്ലാം പ്രോസസ്സ് ചെയ്യാൻ കഴിയില്ല, അങ്ങനെ വ്യാജവാർത്തകളുടെ വ്യാപനം വർധിപ്പിക്കുന്നു. മാത്രമല്ല, നമുക്ക് ഇഷ്ടപ്പെട്ടേക്കാവുന്ന വിവരങ്ങൾ അവതരിപ്പിക്കുന്ന (ഞങ്ങളുടെ മുൻ സോഷ്യൽ മീഡിയ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി) കമ്പ്യൂട്ടർ അൽഗോരിതങ്ങളും തെറ്റായ വിവരങ്ങൾ പ്രചരിപ്പിക്കുന്നതിനായി സോഷ്യൽ മീഡിയ ബോട്ടുകൾ സൃഷ്ടിക്കുന്ന വ്യക്തിഗത കൃത്രിമത്വങ്ങളും പക്ഷപാതത്തിന് കാരണമാകുന്നു. <ref>{{Citation|last=Menczer|first=Fillipo|title=The attention economy: Understanding how algoriths and manipulators exploit our cognitive vulnerabilities empowers us to fight back (Information overload helps fake news spread, and social media knows it)|date=December 2020|volume=323|issue=6|pages=54–61|periodical=[[Scientific American]]|last2=Hills|first2=Thomas}}</ref> ==== നഡ്‌ജിങ് ==== ആളുകൾ തങ്ങൾ വായിച്ചതോ കേട്ടതോ ആയ കാര്യങ്ങളെക്കുറിച്ച് ശ്രദ്ധാപൂർവ്വം ചിന്തിക്കാതെ, വിവരങ്ങൾ പരിശോധിക്കുകയോ സ്ഥിരീകരിക്കുകയോ ചെയ്യാതെ തിടുക്കത്തിൽ പ്രതികരിക്കുകയും വ്യാജ വാർത്തകൾ പങ്കിടുകയും ചെയ്യുന്നു. വിവരങ്ങളുടെ കൃത്യത പരിഗണിക്കാൻ ആളുകളെ "നഡ്‌ജ്" ചെയ്യുന്നത് അതിനെക്കുറിച്ച് ചിന്തിക്കാൻ ആളുകളെ പ്രേരിപ്പിക്കുന്നതിനും അവരുടെ വിധിയുടെ കൃത്യത മെച്ചപ്പെടുത്തുന്നതിനും തെറ്റായ വിവരങ്ങൾ പങ്കിടാനുള്ള സാധ്യത കുറയ്ക്കുന്നതിനും സഹായിക്കുന്നു. <ref name="Larson">{{Cite journal|last=Larson|first=Jennifer M.|title=Networks of conflict and cooperation|journal=Annual Review of Political Science|date=May 11, 2021|volume=24|issue=1|pages=89–107|doi=10.1146/annurev-polisci-041719-102523}}</ref> <ref name="Pennycook">{{Cite journal|last=Pennycook|first=Gordon|last2=McPhetres|first2=Jonathon|last3=Zhang|first3=Yunhao|last4=Lu|first4=Jackson G.|last5=Rand|first5=David G.|title=Fighting COVID-19 misinformation on social media: Experimental evidence for a scalable accuracy-nudge intervention|journal=Psychological Science|date=July 2020|volume=31|issue=7|pages=770–780|doi=10.1177/0956797620939054|pmid=32603243|pmc=7366427}}</ref> <ref name="Bago">{{Cite journal|last=Bago|first=Bence|last2=Rand|first2=David G.|last3=Pennycook|first3=Gordon|title=Fake news, fast and slow: Deliberation reduces belief in false (but not true) news headlines.|journal=Journal of Experimental Psychology: General|date=August 2020|volume=149|issue=8|pages=1608–1613|doi=10.1037/xge0000729|pmid=31916834|url=https://psycnet.apa.org/record/2020-00479-001|accessdate=September 24, 2021}}</ref> <ref>{{Cite journal|last=Marsili|first=Neri|date=November 2021|title=Retweeting: its linguistic and epistemic value|url=https://link.springer.com/10.1007/s11229-020-02731-y|journal=Synthese|language=en|volume=198|issue=11|pages=10457–10483|doi=10.1007/s11229-020-02731-y|issn=0039-7857}}</ref> ടെക്‌നോളജി അധിഷ്‌ഠിത നഡ്‌ജിൻ്റെ ഒരു ഉദാഹരണമാണ് ട്വിറ്ററിൻ്റെ "റീഡ് ബിഫോർ റീഡ്വീറ്റ്" പ്രോംപ്റ്റ്, ഇത് റീട്വീറ്റ് ചെയ്യുന്നതിന് മുമ്പ് ഒരു ലേഖനം വായിക്കാനും അതിലെ ഉള്ളടക്കങ്ങൾ പരിഗണിക്കാനും വായനക്കാരെ പ്രേരിപ്പിക്കുന്നു.<ref name="Vincent">{{cite news |last1=Vincent |first1=James |title=Twitter is bringing its 'read before you retweet' prompt to all |url=https://www.theverge.com/2020/9/25/21455635/twitter-read-before-you-tweet-article-prompt-rolling-out-globally-soon |access-date=September 24, 2021 |work=The Verge |date=September 25, 2020}}</ref> ==== വിമർശനാത്മക ചിന്താശേഷി ==== മാധ്യമ ഉള്ളടക്കത്തിൻ്റെ കൃത്യത സ്വയം വിലയിരുത്തുന്നതിന് സ്വീകർത്താക്കൾക്ക് വിമർശനാത്മക ചിന്താശേഷി അത്യാവശ്യമാണ്. മാധ്യമ പണ്ഡിതനായ നോളൻ ഹിഗ്ഡൺ വാദിക്കുന്നത്, വ്യാജ വാർത്തകൾ എങ്ങനെ കണ്ടെത്താം എന്നതിനെക്കുറിച്ചുള്ള വിമർശനാത്മക ചിന്ത പഠിപ്പിക്കുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്ന മാധ്യമ സാക്ഷരതാ വിദ്യാഭ്യാസമാണ് വ്യാജ വാർത്താ പ്രചാരണത്തിൻ്റെ വിനാശകരമായ സ്വാധീനം ലഘൂകരിക്കുന്നതിനുള്ള ഏറ്റവും ഫലപ്രദമായ മാർഗം എന്നാണ്. വ്യാജ വാർത്തകൾ കണ്ടെത്തുന്നതിനുള്ള പത്ത്-ഘട്ട ഗൈഡ് ഹിഗ്ഡൺ വാഗ്ദാനം ചെയ്യുന്നു. <ref name="Higdon2">{{Cite book|title=The anatomy of fake news: A critical news literacy education|url=https://archive.org/details/anatomyoffakenew0000nola|last=Higdon|first=Nolan|date=2020|publisher=University of California Press|isbn=9780520347878}}</ref> == ചരിത്രം == === പുരാതന കാലം === ബിസി 13-ആം നൂറ്റാണ്ടിൽ, [[റാംസെസ്സ് രണ്ടാമൻ|മഹാനായ റമേസസ്]] [[കാദേശ് യുദ്ധം]] ഒരു അത്ഭുതകരമായ വിജയമായി ചിത്രീകരിക്കുന്ന നുണകളും പ്രചരണങ്ങളും പ്രചരിപ്പിച്ചു; യുദ്ധസമയത്ത് ശത്രുക്കളെ അടിച്ചുവീഴ്ത്തുന്നതിൻ്റെ ദൃശ്യങ്ങൾ അദ്ദേഹം തൻ്റെ മിക്കവാറും എല്ലാ ക്ഷേത്രങ്ങളുടെയും ചുവരുകളിൽ ചിത്രീകരിച്ചു. എന്നിരുന്നാലും, ഈജിപ്തുകാരും [[ഹിത്യർ|ഹിത്യരും]] തമ്മിലുള്ള [[ഈജിപ്ഷ്യൻ-ഹിറ്റൈറ്റ് സമാധാന ഉടമ്പടി|ഉടമ്പടി]], യുദ്ധം യഥാർത്ഥത്തിൽ ഒരു [[സ്തംഭനാവസ്ഥ|സ്തംഭനാവസ്ഥയായിരുന്നുവെന്ന്]] വെളിപ്പെടുത്തുന്നു. <ref>{{Cite book|title=History's Greatest Lies|url=https://archive.org/details/historysgreatest0000weir|last=Weir|first=William|date=2009|publisher=Fair Winds Press|isbn=978-1592333363|location=Beverly, Massachusetts|pages=[https://archive.org/details/historysgreatest0000weir/page/28 28]–41}}</ref> ബിസി ഒന്നാം നൂറ്റാണ്ടിൽ, [[അഗസ്റ്റസ്|ഒക്ടേവിയൻ]] തൻ്റെ എതിരാളിയായ [[മാർക്ക് ആന്റണി|മാർക്ക് ആൻ്റണിക്കെതിരെ]] മദ്യപാനിയായും സ്ത്രീപ്രേമിയായും ഈജിപ്ഷ്യൻ രാജ്ഞി [[ക്ലിയോപാട്ര]]യുടെ വെറും പാവയായും ചിത്രീകരിച്ചു കൊണ്ട് തെറ്റായ വിവരങ്ങളുടെ പ്രചാരണം നടത്തി.<ref>{{cite news|last1=Kaminska|first1=Izabella|title=A lesson in fake news from the info-wars of ancient Rome|url=https://www.ft.com/content/aaf2bb08-dca2-11e6-86ac-f253db7791c6?mhq5j=e3|access-date=July 4, 2017|agency=Financial Times|newspaper=Financial Times|date=January 17, 2017}}</ref> മാർക്ക് ആൻ്റണിയുടെ വിൽപത്രം എന്ന് അവകാശപ്പെടുന്ന ഒരു രേഖ അദ്ദേഹം പ്രസിദ്ധീകരിച്ചു, അതിൽ മാർക്ക് ആൻ്റണി, തൻ്റെ മരണശേഷം, ടോളമിക് ഫറവോമാരുടെ ശവകുടീരത്തിൽ സംസ്കരിക്കപ്പെടാൻ ആഗ്രഹിച്ചതായി പറയുന്നു. ഈ രേഖ വ്യാജമായിരിക്കാമെങ്കിലും, അത് റോമൻ ജനതയുടെ രോഷത്തിന് കാരണമായി.<ref>{{cite news|last1=MacDonald|first1=Eve |author-link=Eve MacDonald |title=The fake news that sealed the fate of Atony and Cleopatra|url=http://theconversation.com/the-fake-news-that-sealed-the-fate-of-antony-and-cleopatra-71287|access-date=July 4, 2017|agency=The Conversation|work=The Conversation|date=January 13, 2017}}</ref> [[ആക്ടിയം യുദ്ധം|ആക്ടിയം യുദ്ധത്തിലെ]] പരാജയത്തിന് ശേഷം മാർക്ക് ആൻ്റണി, ക്ലിയോപാട്ര ആത്മഹത്യ ചെയ്തുവെന്ന് ക്ലിയോപാട്ര തന്നെ പ്രചരിപ്പിച്ച കിംവദന്തികൾ കേട്ട് ആത്മഹത്യ ചെയ്തു.<ref name="MarcAntonysuicide">{{Cite web|url=https://www.biography.com/people/groups/mark-antony-and-cleopatra|title=Marc Antony and Cleopatra|access-date=July 4, 2017|website=biography.com|publisher=A&E Television Networks}}</ref> എഡി രണ്ടും മൂന്നും നൂറ്റാണ്ടുകളിൽ, ക്രിസ്ത്യാനികൾ ആചാരപരമായ [[നരഭോജി|നരഭോജനത്തിലും]] [[അഗമഗമനം|അഗമ്യഗമനത്തിലും]] ഏർപ്പെട്ടിരുന്നുവെന്ന് അവകാശപ്പെടുന്ന തെറ്റായ കിംവദന്തികൾ പ്രചരിച്ചിരുന്നു.<ref>{{Cite book|title=Backgrounds of Early Christianity|url=https://archive.org/details/backgroundsofear0000ferg_c0d5|last=Ferguson|first=Everett|date=1993|publisher=William B. Eerdmans Publishing Company|isbn=978-0802806697|edition=second|location=Grand Rapids, Michigan|pages=[https://archive.org/details/backgroundsofear0000ferg_c0d5/page/556 556]–564}}</ref><ref>{{Cite journal|last=Sherwin-White|first=A. N.|title=Why ere the early Christians persecuted? – An amendment|journal=Past and Present|date=April 1964|volume=27|issue=27|pages=23–27|doi=10.1093/past/27.1.23|jstor=649759}}</ref> എഡി മൂന്നാം നൂറ്റാണ്ടിന്റെ <ref>{{Cite book|url=https://books.google.com/books?id=5aNOBAAAQBAJ&q=Lactantius|title=Christianity in the later Roman Empire|last=Gwynn|first=David M.|date=2015|publisher=Bloomsbury Sources in Ancient History|isbn=978-1441122551|location=London|page=16|access-date=July 2, 2017}}</ref> അവസാനത്തിൽ, [[ക്രിസ്ത്യൻ ക്ഷമാപണം|ക്രിസ്ത്യൻ അപ്പോോളജിസ്റ്റ്]] [[ലാക്റ്റാൻ്റിയസ്]][[ക്രിസ്തുമത വിമർശനങ്ങൾ|,]] അധാർമികതയിലും [[പോർഫിറി|ക്രൂരതയിലും]] ഏർപ്പെടുന്ന വിജാതീയരെക്കുറിച്ചുള്ള കഥകൾ കണ്ടുപിടിക്കുകയും പെരുപ്പിച്ചു കാണിക്കുകയും ചെയ്തു.<ref>{{Cite book|url=https://books.google.com/books?id=9-pS94xRcgsC&pg=PA36|title=Christianity and Roman society|last=Clark|first=Gillian|date=2004|publisher=Cambridge University Press|isbn=978-0521633109|location=Cambridge|page=36|access-date=July 2, 2017}}</ref> === മധ്യകാലം === 1475-ൽ, [[ട്രെൻ്റോ|ട്രെൻ്റിലെ]] ഒരു വ്യാജ വാർത്ത, ജൂത സമൂഹം [[ത്രെന്തോസിലെ സൈമൺ|സിമോണിനോ]] എന്ന രണ്ടര വയസ്സുള്ള ക്രിസ്ത്യൻ ശിശുവിനെ കൊലപ്പെടുത്തിയെന്ന് അവകാശപ്പെട്ടു. <ref name="politico2">{{Cite web|url=https://www.politico.com/magazine/story/2016/12/fake-news-history-long-violent-214535/|title=The long and brutal history of fake news|access-date=March 25, 2019|last=Soll|first=Jacob|date=December 18, 2016|website=Politico Magazine|language=en}}</ref> ഈ കഥ മൂലം നഗരത്തിലെ എല്ലാ യഹൂദന്മാരും അറസ്റ്റുചെയ്യപ്പെടുകയും പീഡിപ്പിക്കപ്പെടുകയും ചെയ്തു; ഇവരിൽ 15 പേരെ തീവെച്ചു കൊലപ്പെടുത്തി. <ref name="politico2" /> [[പോപ്പ് സിക്‌സ്റ്റസ് നാലാമൻ]] തന്നെ ഈ കഥയെ ഇല്ലാതാക്കാൻ ശ്രമിച്ചു എങ്കിലും, അപ്പോഴേക്കും അത് ആരുടെയും നിയന്ത്രണത്തിനപ്പുറം വ്യാപിച്ചിരുന്നു. <ref name="politico2" /> യഹൂദന്മാർ ക്രിസ്ത്യാനികളെ, പ്രത്യേകിച്ച് ക്രിസ്ത്യൻ കുട്ടികളെ, മനഃപൂർവം കൊല്ലുകയും അവരുടെ രക്തം മതപരമോ ആചാരപരമോ ആയ ആവശ്യങ്ങൾക്കായി ഉപയോഗിച്ചുവെന്ന് അവ അവകാശപ്പെട്ട ഇത്തരത്തിലുള്ള കഥകൾ "ബ്ലഡ് ലിബൽ (രക്ത അപകീർത്തി)" എന്നാണ് അറിയപ്പെട്ടിരുന്നത്. <ref>{{Cite web|url=https://www.adl.org/education/resources/glossary-terms/blood-libel|title=Blood libel: A false, incendiary claim against Jews|website=Anti-Defamation League}}</ref> === ആധുനിക കാലത്തിന്റെ തുടക്കം === 1439-ൽ [[അച്ചടി ശാല|അച്ചടിയന്ത്രം]] കണ്ടുപിടിച്ചതിനുശേഷം, പ്രസിദ്ധീകരണങ്ങൾ വ്യാപകമായെങ്കിലും പത്രപ്രവർത്തന നൈതികതയുടെ ഒരു മാനദണ്ഡവും അവർ പിന്തുടർന്നില്ല. പതിനേഴാം നൂറ്റാണ്ടോടെ, ചരിത്രകാരന്മാർ അവരുടെ ഉറവിടങ്ങൾ [[കുറിപ്പ് (ടൈപ്പോഗ്രാഫി)|അടിക്കുറിപ്പുകളിൽ]] ഉദ്ധരിക്കുന്ന രീതി ആരംഭിച്ചു. 1610-ൽ [[ഗലീലിയോ ഗലീലി|ഗലീലിയോ]] വിചാരണ നേരിട്ടപ്പോൾ, സ്ഥിരീകരിക്കാവുന്ന വാർത്തകളുടെ ആവശ്യം വർദ്ധിച്ചു. <ref name="politico4">{{Cite web|url=https://www.politico.com/magazine/story/2016/12/fake-news-history-long-violent-214535/|title=The long and brutal history of fake news|access-date=March 25, 2019|last=Soll|first=Jacob|date=December 18, 2016|website=Politico Magazine|language=en}}</ref> 18-ാം നൂറ്റാണ്ടിൽ നെതർലാൻഡിൽ വ്യാജ വാർത്തകളുടെ പ്രസാധകർക്ക് പിഴ ചുമത്തുകയും അവരെ നിരോധിക്കുകയും ചെയ്തു; ജെറാർഡ് ലോഡ്വിജ്ക് വാൻ ഡെർ മച്ച് എന്ന ഒരാളെ ഡച്ച് അധികാരികൾ നാല് തവണ വിലക്കി-നാലു പ്രാവശ്യം അദ്ദേഹം മറ്റൊരിടത്തേക്ക് മാറി പ്രസ്സ് പുനരാരംഭിച്ചു.<ref name=FiveThirtyEight>{{cite news|title=Fact-checking won't save us from fake news|url=https://fivethirtyeight.com/features/fact-checking-wont-save-us-from-fake-news/|author=Borel, Brooke|date=January 4, 2017|access-date=March 8, 2017|work=[[FiveThirtyEight]]|archive-date=2020-12-24|archive-url=https://web.archive.org/web/20201224195324/https://fivethirtyeight.com/features/fact-checking-wont-save-us-from-fake-news/|url-status=dead}}</ref> അമേരിക്കൻ കോളനികളിൽ, [[ബെഞ്ചമിൻ ഫ്രാങ്ക്ലിൻ]], അമേരിക്കൻ വിപ്ലവത്തിന് അനുകൂലമായി പൊതുജനാഭിപ്രായം മാറ്റാനുള്ള ശ്രമത്തിൽ [[യുണൈറ്റഡ് കിംഗ്ഡത്തിലെ ജോർജ്ജ് മൂന്നാമൻ|ജോർജ്ജ് മൂന്നാമൻ]] രാജാവിനൊപ്പം പ്രവർത്തിക്കുന്ന കൊലയാളികളായ ഇന്ത്യക്കാരെക്കുറിച്ച് വ്യാജ വാർത്തകൾ എഴുതിയിരുന്നു. <ref name="politico5">{{Cite web|url=https://www.politico.com/magazine/story/2016/12/fake-news-history-long-violent-214535/|title=The long and brutal history of fake news|access-date=March 25, 2019|last=Soll|first=Jacob|date=December 18, 2016|website=Politico Magazine|language=en}}</ref> യുണൈറ്റഡ് സ്റ്റേറ്റ്സിലെ അടിമത്തത്തിൻ്റെ കാലഘട്ടത്തിൽ, അടിമത്തത്തെ പിന്തുണയ്ക്കുന്നവർ ആഫ്രിക്കൻ അമേരിക്കക്കാരെക്കുറിച്ച് വ്യാജ വാർത്തകൾ പ്രചരിപ്പിച്ചു.<ref>{{Cite news|url=https://www.theatlantic.com/magazine/archive/1996/10/thomas-jefferson-radical-and-racist/376685/|title=Thomas Jefferson: Radical and racist|last=O'Brien|first=Conor Cruise|work=The Atlantic|access-date=June 29, 2017|language=en-US}}</ref> ചില വ്യാജ വാർത്തകൾ പ്രചരിച്ചതിനെ തുടർന്നു അക്രമങ്ങൾ നടന്നിട്ടുണ്ട്. ഒരു സന്ദർഭത്തിൽ, ആഫ്രിക്കൻ അമേരിക്കക്കാർ സ്വയമേവ വെളുത്തതായി മാറിയതിൻ്റെ കഥകൾ തെക്ക് വ്യാപിക്കുകയും നിരവധി ആളുകളിൽ ഇത് ഭയം ഉളവാക്കുകയും ചെയ്തു.<ref name="politico6">{{Cite web|url=https://www.politico.com/magazine/story/2016/12/fake-news-history-long-violent-214535/|title=The long and brutal history of fake news|access-date=March 25, 2019|last=Soll|first=Jacob|date=December 18, 2016|website=Politico Magazine|language=en}}</ref> 19-ആം നൂറ്റാണ്ടിൽ ഒരേയൊരു വലിയ പ്രക്ഷോഭം മാത്രമേ നടന്നിട്ടുള്ളൂ എങ്കിലും, കൊളോണിയൽ കാലഘട്ടത്തിൻ്റെ തുടക്കം മുതൽ വിർജീനിയയിൽ അടിമ കലാപങ്ങളെക്കുറിച്ചുള്ള കിംവദന്തികളും ഉത്കണ്ഠകളും സാധാരണമായിരുന്നു. 1730-ൽ കലാപവുമായി ബന്ധപ്പെട്ട വ്യാജ വാർത്തകളുടെ ഒരു പ്രത്യേക ഉദാഹരണം സംഭവിച്ചു. അക്കാലത്ത് വിർജീനിയയിലെ ഗവർണറായിരുന്ന ഗവർണർ വില്യം ഗൂച്ച്, ഒരു അടിമ കലാപം നടന്നിട്ടുണ്ടെന്നും എന്നാൽ അത് ഫലപ്രദമായി അടിച്ചമർത്തപ്പെട്ടുവെന്നും റിപ്പോർട്ട് ചെയ്തു- എന്നാൽ ഇത് ഒരിക്കലും സംഭവിച്ചിരുന്നില്ല. ഗൂച്ച് അസത്യം പ്രചരിപ്പിച്ചതിനുശേഷം, തോട്ടങ്ങളിലെ അടിമകളെ ശിക്ഷിക്കാനും പീഡിപ്പിക്കാനും തടവുകാരാക്കാനും ഉത്തരവിട്ടു. <ref>{{Cite web|url=http://www.history.org/foundation/journal/winter05-06/conspiracy.cfm|title=Slave conspiracies in colonial Virginia|access-date=June 29, 2017|website=history.org}}</ref> === 19-ആം നൂറ്റാണ്ട് === 19-ആം നൂറ്റാണ്ടിലെ വ്യാജവാർത്തയുടെ ഒരു ഉദാഹരണം 1835-ലെ [[ഗ്രേറ്റ് മൂൺ ഹോക്സ്]] ആയിരുന്നു. ന്യൂയോർക്കിലെ ''[[ദി സൺ (ന്യൂയോർക്ക് സിറ്റി)|സൺ]]'' ദിനപത്രം ഒരു യഥാർത്ഥ ജ്യോതിശാസ്ത്രജ്ഞനെയും ഇല്ലാത്ത ഒരു സഹപ്രവർത്തകനെയും ഉദ്ദരിച്ച് ചന്ദ്രനിലെ വിചിത്രമായ ജീവിതത്തെ കുറിച്ചുള്ള ലേഖനങ്ങൾ പ്രസിദ്ധീകരിച്ചു. സാങ്കൽപ്പിക ലേഖനങ്ങൾ വിജയകരമായി പുതിയ വരിക്കാരെ ആകർഷിച്ചു, സീരീസ് ഒരു തട്ടിപ്പാണെന്ന് അടുത്ത മാസം സമ്മതിച്ചതിന് ശേഷം പേപ്പറിന് കുറച്ച് തിരിച്ചടി നേരിട്ടു.<ref name="politico" /><ref>{{Cite news|url=http://www.history.com/this-day-in-history/the-great-moon-hoax|title=The Great Moon Hoax|date=August 25, 1835|publisher=history.com|access-date=February 19, 2017}}</ref> എന്നിരുന്നാലും അത്തരം കഥകൾ വായനക്കാരെ രസിപ്പിക്കാൻ ഉദ്ദേശിച്ചുള്ളതാണ്, അവരെ തെറ്റിദ്ധരിപ്പിക്കാനായിരുന്നില്ല.<ref name=FiveThirtyEight/> 1800 മുതൽ 1810 വരെ, ആരോൺ ബറിനെതിരെ രാഷ്ട്രീയമായി ഉപയോഗിക്കാൻ ജെയിംസ് ചീതം സാങ്കൽപ്പിക കഥകൾ ഉപയോഗിച്ചു.<ref name="Nine letters">{{Cite book|url=https://babel.hathitrust.org/cgi/pt?id=uc2.ark:/13960/t3kw58q5w;view=1up;seq=1|title=Nine letters on the subject of Aaron Burr's political defection, ... HathiTrust Digital Library &#124; HathiTrust Digital Library|date=December 8, 2018|publisher=Babel.hathitrust.org|access-date=September 25, 2019}}</ref><ref name="A view">{{Cite book|url=https://babel.hathitrust.org/cgi/pt?id=uc1.$b310395|title=A view of the political conduct of Aaron Burr, Esq., Vice-President ...|date=August 22, 2019|publisher=Babel.hathitrust.org|access-date=September 25, 2019}}</ref> അദ്ദേഹത്തിൻ്റെ കഥകൾ പലപ്പോഴും അപകീർത്തികരവും കേസെടുക്കുന്നതും ആയിരുന്നു. <ref>{{Cite web|url=https://catalog.hathitrust.org/Record/009027749|title=Catalog Record: The trial of the Hon. Maturin Livingston, ... &#124; HathiTrust Digital Library|access-date=September 25, 2019|date=May 6, 1908|publisher=Catalog.hathitrust.org}}</ref> <ref>{{Cite web|url=https://www.ravellaw.com/opinions/91963cff266d7327d6c7aefce41919a7|title=Cheetham v. Thomas, 5 Johns. 430 (1809)|access-date=September 25, 2019|publisher=Ravel Law|archive-url=https://web.archive.org/web/20200731042532/https://www.ravellaw.com/opinions/91963cff266d7327d6c7aefce41919a7|archive-date=July 31, 2020}}</ref><ref>{{Cite web|url=https://rotunda.upress.virginia.edu/founders/default.xqy?keys=FOEA-print-04-01-02-2263|title=Aaron Burr v. James CheethamStatement re Election of 1800, 18 August 1805|access-date=September 25, 2019|publisher=Rotunda.upress.virginia.edu}}</ref> === 20-ാം നൂറ്റാണ്ട് === 1900-കളിൽ വ്യാജവാർത്തകൾ പ്രചാരത്തിലാവുകയും അതിവേഗം പ്രചരിക്കുകയും ചെയ്തു. ടെക്‌നോളജി കാരണം പത്രങ്ങൾ, ലേഖനങ്ങൾ, മാസികകൾ തുടങ്ങിയ മാധ്യമങ്ങൾക്ക് ആവശ്യക്കാർ ഏറെയായിരുന്നു. <ref>{{Cite web|url=http://theconversation.com/techniques-of-19th-century-fake-news-reporter-teach-us-why-we-fall-for-it-today-75583|title=Techniques of 19th-century fake news reporter teach us why we fall for it today|access-date=March 25, 2019|last=McGillen|first=Petra S.|date=April 6, 2017|website=The Conversation|language=en}}</ref> 1915-ൽ വുഡ്രോ വിൽസണിൻ്റെ "അമേരിക്ക ഫസ്റ്റ്" എന്ന വാചകം ഉൾക്കൊള്ളുന്ന പ്രഭാഷണം ''ന്യൂയോർക്ക് ടൈംസ്'' പുനഃപ്രസിദ്ധീകരിച്ചപ്പോൾ, അദ്ദേഹത്തിൻ്റെ പ്രസംഗത്തിൻ്റെ ആശയ പ്രചാരണത്തിനും തെറ്റായ വിവരങ്ങൾക്കുമെതിരായ ഭാഗം വിവരിക്കാൻ, "Fake News Condemned (വ്യാജ വാർത്തകൾ അപലപിക്കപ്പെട്ടു)" എന്ന ഉപശീർഷകവും ഉപയോഗിച്ചതായി എഴുത്തുകാരിയായ [[സാറാ ചർച്ച്വെൽ|സാറാ ചർച്ച്‌വെൽ]] പറയുന്നു. എന്നാൽ വിൽസൺ "വ്യാജ വാർത്ത" എന്ന പ്രയോഗം ഉപയോഗിച്ചിരുന്നില്ല.<ref>[[Sarah Churchwell]] ''Behold America: A History of America First and the American Dream''. Bloomsbury, 2018. p. 44. {{ISBN|978-1408894804}}</ref> സിഎൻഎൻ പറയുന്നത് അനുസരിച്ച്, "ട്രംപായിരുന്നു... "Fake News (വ്യാജ വാർത്ത)" എന്ന പദം തൻ്റെ എതിരാളികൾക്കെതിരെ വിന്യസിച്ച ആദ്യത്തെ യുഎസ് പ്രസിഡന്റ്",<ref>{{cite news |last=Mackintosh |first=Eliza |date=October 25, 2020 |title=No matter who wins the US election, the world's 'fake news' problem is here to stay |url=https://www.cnn.com/2020/10/25/world/trump-fake-news-legacy-intl/index.html |work=CNN}}</ref> സാറാ ചർച്ച്‌വെല്ലിൻ്റെ കൃതികൾ ഉദ്ധരിച്ചു, "വുഡ്രോ വിൽസണാണ് ഇത് ജനകീയമാക്കിയത്.<ref>{{Cite web|url=https://twitter.com/AllanKirkhart/status/1320534311322423302|title=Twitter Post|access-date=October 27, 2020|last=Kirkhart|first=Allan|date=October 25, 2010|website=Internet Archive|publisher=Twitter|archive-url=https://web.archive.org/web/20201026163403/https://twitter.com/AllanKirkhart/status/1320534311322423302|archive-date=October 26, 2020}}</ref> എന്നാൽ ട്രംപാണ് ഇത് ആദ്യമായി ജനകീയമാക്കിയത്.<ref>{{Cite web|url=https://twitter.com/sarahchurchwell/status/1320638221169184770|title=Twitter Post|access-date=October 27, 2020|last=Churchwell|first=Sarah|date=October 26, 2010|website=Internet Archive|publisher=Twitter|archive-url=https://web.archive.org/web/20201026134140/https://twitter.com/sarahchurchwell/status/1320638221169184770|archive-date=October 26, 2020}}</ref> === 21-ാം നൂറ്റാണ്ട് === 21-ാം നൂറ്റാണ്ടിൽ, വ്യാജവാർത്തകളുടെ സ്വാധീനവും ഈ പദത്തിൻ്റെ ഉപയോഗവും വ്യാപകമായി.<ref name="NYT-20170623"/><ref>{{cite book |last1=Kaplan |first1=Andreas |chapter=Artificial Intelligence, Social Media, and Fake News: Is This the End of Democracy? |title=Digital Transformation in Media & Society |chapter-url=https://cdn.istanbul.edu.tr/file/JTA6CLJ8T5/DF3BF2DBD76E4F7DB8A7143D0EA6F212 |doi=10.26650/B/SS07.2020.013.09 |editor1=Ayşen Akkor Gül |editor2=Yıldız Dilek Ertürk |editor3=Paul Elmer|publisher=Istanbul University Press|doi-broken-date=January 31, 2024 }}</ref> ഇൻറർനെറ്റിൻ്റെ വർദ്ധിച്ചുവരുന്ന വ്യാപനം അതിൻ്റെ വളർച്ചയ്ക്ക് കാരണമായി. പലപ്പോഴും സ്ഥിരീകരണത്തിൻ്റെ അഭാവത്തിൽ പുതിയ വിവരങ്ങളും സ്റ്റോറികളും സ്ഥിരമായും എന്നത്തേക്കാളും വേഗതയേറിയ നിരക്കിൽ പ്രസിദ്ധീകരിക്കപ്പെടുന്നു. <ref name="spotfake3">{{Cite web|url=https://www.factcheck.org/2016/11/how-to-spot-fake-news/|title=How to spot fake news|access-date=August 11, 2020|last=Kiely|first=Eugene|last2=Robertson|first2=Lori|date=November 18, 2016|website=FactCheck.org|publisher=[[University of Pennsylvania]] – Annenberg Public Policy Center}}</ref> <ref>{{Cite web|url=http://libraryproxy.tulsacc.edu:2060/ehost/detail/detail?vid=0&sid=d0a10b0d-5a80-4485-8e38-105efc2b29dc%40pdc-v-sessmgr01&bdata=JnNpdGU9ZWhvc3QtbGl2ZSZzY29wZT1zaXRl#AN=126274669&db=aph|title=Combating fake news in the digital age|access-date=April 10, 2018|last=Burkhardt|first=Johanna|archive-url=https://web.archive.org/web/20200731030221/http://libraryproxy.tulsacc.edu:2060/ehost/detail/detail?vid=0&sid=d0a10b0d-5a80-4485-8e38-105efc2b29dc%40pdc-v-sessmgr01&bdata=JnNpdGU9ZWhvc3QtbGl2ZSZzY29wZT1zaXRl#AN=126274669&db=aph|archive-date=July 31, 2020}}</ref> വ്യാജ വാർത്തകൾ ഇമെയിലുകൾ വഴി അയക്കുന്നതിൽ നിന്ന് സോഷ്യൽ മീഡിയയെ ആക്രമിക്കുന്നതിലേക്ക് വളർന്നു.<ref name="spotfake3" /> ലിങ്കുകളിൽ ക്ലിക്കുചെയ്യാനും ട്രാഫിക്കും ലാഭവും വർദ്ധിപ്പിക്കാനും വായനക്കാരെ കബളിപ്പിക്കാൻ രൂപകൽപ്പന ചെയ്‌ത കഥകളെ പരാമർശിക്കുന്നതിനുപുറമെ, ആക്ഷേപഹാസ്യ വാർത്തകളെയും (അതിൻ്റെ ഉദ്ദേശ്യം തെറ്റിദ്ധരിപ്പിക്കലല്ല) ഈ പദം പരാമർശിക്കുന്നു.<ref>{{cite news |url=https://www.nytimes.com/2016/12/25/us/politics/fake-news-claims-conservatives-mainstream-media-.html|title=Wielding claims of 'fake news,' conservatives take aim at mainstream media|newspaper=[[The New York Times]] |first=Jeremy W. |last=Peters |date=December 25, 2016}}</ref><ref>{{cite news |url=http://www.cbsnews.com/news/daily-show-with-jon-stewart-last-show-influence-on-media-politics/|title=A look at "Daily Show" host Jon Stewart's legacy|work=[[CBS News]]}}</ref> ആക്ഷേപഹാസ്യത്തിൻ്റെ യുണൈറ്റഡ് സ്‌റ്റേറ്റ്‌സ് ഉദാഹരണങ്ങളിൽ പത്രം ''ദി ഒനിയൻ'', ''സാറ്റർഡേ നൈറ്റ് ലൈവിൻ്റെ'' {{Apostrophe}} ''അപ്‌ഡേറ്റ്'', ടെലിവിഷൻ ഷോകൾ ''ദി ഡെയ്‌ലി ഷോ'', ''ദി കോൾബർട്ട് റിപ്പോർട്ട്'', ''ദി ലേറ്റ് ഷോ വിത്ത് സ്റ്റീഫൻ കോൾബെർട്ട് എന്നിവ'' ഉൾപ്പെടുന്നു.<ref>{{Cite news|url=http://www.esquire.com/entertainment/tv/a23798/michael-che-weekend-update-snl/|title=Why SNL's 'Weekend Update' change is brilliant|date=September 12, 2014|newspaper=[[Esquire (magazine)|Esquire]]|access-date=February 19, 2017}}</ref><ref>{{Cite news |url=https://www.npr.org/2013/08/29/216439725/area-man-realizes-hes-been-reading-fake-news-for-25-years|title=Area Man realizes he's been reading fake news for 25 years|publisher=[[NPR]] |access-date=February 19, 2017}}</ref><ref>{{Cite news|url=http://www.newsobserver.com/entertainment/books/article121956252.html|title='The Daily Show (The Book)' is a reminder of when fake news was funny|newspaper=[[The News & Observer]] |location=Raleigh, N.C. |access-date=February 19, 2017}}</ref> 21-ാം നൂറ്റാണ്ടിലെ വ്യാജ വാർത്തകൾ പലപ്പോഴും വാർത്താ ഔട്ട്‌ലെറ്റിൻ്റെ സാമ്പത്തിക ലാഭം വർദ്ധിപ്പിക്കാൻ കൂടി ഉദ്ദേശിച്ചുള്ളതാണ്. [[എൻപിആർ|എൻപിആർ-]] ന് നൽകിയ അഭിമുഖത്തിൽ, വ്യാജ വാർത്താ ലേഖനങ്ങൾ ആരാണ് എഴുതുന്നത്, ആരാണ് ഈ ലേഖനങ്ങൾക്ക് പണം നൽകുന്നത്, എന്തിനാണ് വ്യാജ വാർത്ത സൃഷ്‌ടിക്കുന്നവർ തെറ്റായ വിവരങ്ങൾ സൃഷ്ടിക്കുകയും വിതരണം ചെയ്യുകയും ചെയ്യുന്നതെന്ന് വ്യാജ മാധ്യമ കൂട്ടായ്മയായ [[ഡെൻവർ ഗാർഡിയൻ|ഡിസ്ഇൻഫോമീഡിയ-]] യുടെ മുൻ സിഇഒ ജെസ്റ്റിൻ കോളർ പറഞ്ഞു. വ്യാജ വാർത്ത സൃഷ്‌ടിക്കുന്ന തൻ്റെ ജോലി ഉപേക്ഷിച്ച കോളർ, തൻ്റെ കമ്പനി ഒരേസമയം 20 മുതൽ 25 വരെ എഴുത്തുകാർക്ക് ജോലി നൽകിയിട്ടുണ്ടെന്നും പരസ്യങ്ങളിൽ നിന്ന് പ്രതിമാസം $10,000 മുതൽ $30,000 വരെ സമ്പാദിച്ചിട്ടുണ്ടെന്നും പറഞ്ഞു. കോളർ ഒരു ഫ്രീലാൻസ് എഴുത്തുകാരനായി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് ഒരു മാസിക വിൽപ്പനക്കാരനായി പത്രപ്രവർത്തനത്തിൽ തൻ്റെ കരിയർ ആരംഭിച്ചു. വ്യാജവാർത്തകൾ എത്ര വേഗത്തിൽ പടരുമെന്ന് തനിക്കും മറ്റുള്ളവർക്കും തെളിയിക്കാനാണ് താൻ വ്യാജ വാർത്താ വ്യവസായത്തിലേക്ക് പ്രവേശിച്ചതെന്ന് അദ്ദേഹം പറഞ്ഞു.<ref>{{Cite news |url=https://www.npr.org/sections/alltechconsidered/2016/11/23/503146770/npr-finds-the-head-of-a-covert-fake-news-operation-in-the-suburbs|title=We tracked down a fake-news creator in the suburbs. Here's what we learned|last=Sydell|first=Laura|date=November 23, 2016|publisher=[[NPR]]}}</ref> വ്യാജ വാർത്തകളുടെ വിതരണത്തിന് ഉത്തരവാദി ഡിസ്ഇൻഫോമീഡിയ മാത്രമല്ല; [[BuzzFeed|ബസ്ഫീഡ്]] മീഡിയ എഡിറ്റർ ക്രെയ്ഗ് സിൽവർമാൻ പറയുന്നതനുസരിച്ച്, ഗൂഗിൾ ആഡ്സെൻസ്-ൻ്റെ പിന്നിലുള്ള വ്യക്തികളും അടിസ്ഥാനപരമായി വ്യാജ വാർത്താ വെബ്‌സൈറ്റുകൾക്കും അവയുടെ ഉള്ളടക്കത്തിനും ഫണ്ട് നൽകുന്നു, സെൻസേഷണലൈസ്ഡ് സ്റ്റോറികൾ "ട്രെൻഡ്" ആക്കി വ്യാജ വാർത്തകൾ പ്രചരിപ്പിക്കുന്നതിൽ ഫേസ്ബുക്ക് ഉപയോക്താക്കൾ ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു.<ref>{{Cite news |url=https://www.npr.org/2016/12/14/505547295/fake-news-expert-on-how-false-stories-spread-and-why-people-believe-them|title=Fake news expert on how false stories spread and why people believe them| last=Davies| first=Dave| date=December 14, 2016|publisher=[[NPR]]}}</ref> ഫേസ്ബുക്ക് സിഇഒ [[മാർക്ക് സക്കർബർഗ്]] ഇങ്ങനെ പറഞ്ഞു, "ഫേസ്‌ബുക്കിലെ വ്യാജവാർത്തകൾ തെരഞ്ഞെടുപ്പിനെ ഏതെങ്കിലും വിധത്തിൽ സ്വാധീനിച്ചുവെന്ന ആശയം, വളരെ ഭ്രാന്തമായ ആശയമാണെന്ന് ഞാൻ കരുതുന്നു", കുറച്ച് ദിവസങ്ങൾക്ക് ശേഷം ഫേസ്ബുക്ക് വ്യാജ വാർത്തകൾ ഫ്ലാഗ് ചെയ്യാനുള്ള വഴികൾ തേടുന്നുവെന്ന് അദ്ദേഹം ബ്ലോഗ് ചെയ്തു.<ref name=CBSNews20161117>{{cite news|title=Probe reveals stunning stats about fake election headlines on Facebook|date=November 17, 2016|work=[[CBS News]]|access-date=May 5, 2017|url=http://www.cbsnews.com/news/facebook-fake-election-news-more-popular-than-real-news-buzzfeed-investigation/}}</ref> 2014-ൽ, റഷ്യൻ പിന്തുണയുള്ള ഉക്രേനിയൻ വിമതർ [[മലേഷ്യൻ എയർലൈൻസ് ഫ്ലൈറ്റ് 17]] വെടിവച്ചു വീഴ്ത്തിയതിനെത്തുടർന്ന് ഒരു എതിർപ്രചരണം സൃഷ്ടിക്കാൻ ആർടി പോലുള്ള നെറ്റ്‌വർക്കുകൾ വഴി [[റഷ്യൻ സർക്കാർ]] തെറ്റായ വിവരങ്ങൾ പ്രചരിപ്പിച്ചു.<ref>{{Cite news|url=https://www.nytimes.com/2016/08/29/world/europe/russia-sweden-disinformation.html|title=A powerful Russian weapon: The spread of false stories|last=Macfarquhar|first=Neil|date=August 28, 2016|newspaper=[[The New York Times]]|access-date=February 19, 2017 }}</ref> 2014-ൽ ക്രിമിയയുടെ അധിനിവേശത്തിനു ശേഷം റഷ്യൻ പ്രചരണങ്ങളിലും വ്യാജ വാർത്തകളിലും ഗണ്യമായ വർദ്ധനവ് ഉണ്ടായതായി 2016-ൽ [[നാറ്റോ]] അവകാശപ്പെട്ടു. <ref>{{cite news|url=https://www.reuters.com/article/us-ukraine-crisis-russia-media-idUSKBN15Q0MG|title=NATO says it sees sharp rise in Russian disinformation since Crimea seizure|date=February 11, 2017|work=[[Reuters]]|access-date=February 19, 2017}}</ref> റഷ്യൻ സർക്കാർ ഉദ്യോഗസ്ഥരിൽ നിന്നുള്ള വ്യാജ വാർത്തകൾ [[റോയ്‌റ്റേഴ്സ്|റോയിട്ടേഴ്‌സ്]] വാർത്താ ഏജൻസി അന്താരാഷ്ട്ര തലത്തിൽ പ്രചരിപ്പിക്കുകയും യുണൈറ്റഡ് സ്റ്റേറ്റ്സിലെ ഏറ്റവും ജനപ്രിയ വാർത്താ വെബ്‌സൈറ്റുകളിൽ പ്രസിദ്ധീകരിക്കുകയും ചെയ്തു.<ref>{{Cite journal|last=Watanabe|first=Kohei|title=The spread of the Kremlin's narratives by a western news agency during the Ukraine crisis|journal=The Journal of International Communication|date=January 2, 2017|volume=23|issue=1|pages=138–158|doi=10.1080/13216597.2017.1287750|url=http://eprints.lse.ac.uk/69213/2/Watanabe_The%20spread%20of%20the%20Kremlin%E2%80%99s%20narratives_Author_2017%20LSERO.pdf|archive-date=2019-04-27|access-date=2024-02-17|archive-url=https://web.archive.org/web/20190427225128/http://eprints.lse.ac.uk/69213/2/Watanabe_The%20spread%20of%20the%20Kremlin%E2%80%99s%20narratives_Author_2017%20LSERO.pdf|url-status=dead}}</ref> == കുറിപ്പുകൾ == {{Notelist}} == അവലംബം == {{Reflist}} === Sources === {{Free-content attribution |title=World Trends in Freedom of Expression and Media Development Global Report 2017/2018|author=University of Oxford|publisher=UNESCO|page numbers=202|source=|documentURL=http://unesdoc.unesco.org/images/0026/002610/261065e.pdf|license statement URL=http://www.unesco.org/ulis/cgi-bin/ulis.pl?catno=261065&set=005B2A1A4F_2_135&gp=1&lin=1&ll=1|license=CC BY SA 3.0 IGO}} {{Disinformation}} {{Media manipulation}} {{Journalism}} {{Media culture}} {{Authority control}} [[വർഗ്ഗം:കള്ളം പറയുക]] [[വർഗ്ഗം:വ്യാജ വാർത്ത]] suu5sebbm3zr2kq4oz63mictfj2v9fm 2024ലെ ലോക്‌സഭാ തെരഞ്ഞെടുപ്പ് (തമിഴ്നാട്) 0 616816 4622124 4612721 2026-05-23T05:39:44Z CommonsDelinker 756 "AIADMK_OfficialFlag_Vector.svg" നീക്കം ചെയ്യുന്നു, [[c:User:Krd|Krd]] എന്ന കാര്യനിർവ്വാഹകൻ അത് കോമൺസിൽ നിന്നും നീക്കം ചെയ്തിരിക്കുന്നു. കാരണം: No permission since 15 May 2026. 4622124 wikitext text/x-wiki {{Infobox election | election_name = ലോക്‌സഭാ തെരഞ്ഞെടുപ്പ്, 2024 (തമിഴ്നാട്) | country = ഇന്ത്യ | type = പാർലമെൻ്ററി | ongoing = അതെ | previous_election = 2019ലെ ലോക്‌സഭാ തെരഞ്ഞെടുപ്പ് (തമിഴ്‍നാട്) | previous_year = 2019 | next_election = 2029ലെ ലോക്‌സഭാ തെരഞ്ഞെടുപ്പ് (തമിഴ്‍നാട്) | next_year = 2029 | election_date = 19 April 2024 | seats_for_election = All 39 Tamil Nadu seats in the [[Lok Sabha]] | outgoing_members = | elected_members = | opinion_polls = | image1 = {{CSS image crop|Image=|bSize=130|cWidth=120|cHeight=140|oLeft=10|oTop=0}} | leader1 = [[M. K. Stalin]] | party1 = Dravida Munnetra Kazhagam | alliance1 = [[Indian National Developmental Inclusive Alliance|INDIA]] | leader_since1 = 2018 | leaders_seat1 = Not Contesting | last_election1 = 53.15%, 38 seats | seats_before1 = 38 | seat_change1 = | popular_vote1 = | percentage1 = | swing1 = | image2 = {{CSS image crop|Image=Palanisamy.jpg|bSize=130|cWidth=120|cHeight=140|oLeft=10|oTop=5}} | leader2 = [[Edappadi K. Palaniswami]] | party2 = All India Anna Dravida Munnetra Kazhagam | alliance2 = [[AIADMK-led Alliance|AIADMK+]] | leaders_seat2 = Not Contesting | leader_since2 = 2022 | last_election2 = 30.56%, 1 seat | seats_before2 = 0 | seats2 = | seat_change2 = | popular_vote2 = | percentage2 = | map_image = Tamil Nadu Wahlkreise Lok Sabha.svg | map_caption = All 39 [[Tamil Nadu]] Lok Sabha seats }} ആദ്യ ഘട്ടത്തിൽ [[ഇന്ത്യ|ഇന്ത്യയിലെ]] 18-ാം ലോക്സഭ അംഗങ്ങളെ തെ രഞ്ഞെടുക്കുന്നതിനുള്ള പൊതുതെരഞ്ഞെടുപ്പ് ഏപ്രിൽ 19-ന് ആരംഭിക്കും. അന്ന് തന്നെയാണ് [[തമിഴ്‌നാട്|തമിഴ്നാട്ടിലെ]] 39 ലോകസഭാ മണ്ഡലങ്ങയിൽ പൊതു തിരഞ്ഞെടുപ്പ് നടക്കുന്നത്.<ref>{{Cite web|url=https://www.hindustantimes.com/india-news/lok-sabha-elections-2024-tamil-nadu-to-go-to-polls-in-single-phase-on-april-19-101710592014118.html|title=Lok Sabha Elections 2024: Tamil Nadu to go to polls in single phase on April 19|access-date=2024-03-18|date=2024-03-16|website=Hindustan Times|language=en}}</ref><ref>{{Cite web|url=https://www.asianetnews.com/india-news/tn-lok-sabha-elections-2024-latest-news-102-constituencies-across-21-states-to-vote-on-tomorrow-sc3rin|title=സമ്പൂർണം തമിഴ്നാട്, തെരഞ്ഞെടുപ്പ് ആവേശത്തിൽ രാജ്യം, ഇന്ന് നിശ്ശബ്ദ പ്രചാരണം; 102 മണ്ഡലങ്ങളിൽ വോട്ടെടുപ്പ് നാളെ|access-date=2024-04-18|last=anver|language=ml}}</ref> 6.23 കോടി വോട്ടർമാരാണ് തമിഴ്നാട്ടിൽ ജനവിധി നിർണയിക്കുന്നത്.<ref>{{Cite web|url=https://www.twentyfournews.com/2024/04/18/loksabha-poll-2024-tamilnadu-major-parties-dmk-bjp-aiadmk.html|title=ദ്രാവിഡ കോട്ട ഭേദിക്കാനാകുമോ ബിജെപിക്ക്?; 2019 ആവർത്തിക്കാൻ ഡിഎംകെ; നാളെ 39 മണ്ഡലങ്ങളിൽ തമിഴ്‌നാട് വിധിയെഴുതും|access-date=2024-04-18|last=Desk|first=24 Web|date=2024-04-18|language=ml}}</ref> 2024 ജൂൺ 4-ന് തിരഞ്ഞെടുപ്പ് ഫലം പ്രഖ്യാപിക്കും.<ref>{{Cite web|url=https://www.newindianexpress.com/states/tamil-nadu/2022/apr/04/2024-lok-sabha-polls-dmk-chief-mk-stalin-may-be-in-prime-position-to-unite-anti-bjp-forces-2437600.html|title=2024 Lok Sabha polls: DMK chief MK Stalin may be in prime position to unite anti-BJP forces|date=4 April 2022|website=The New Indian Express}}</ref> == പശ്ചാത്തലം == 2023 ജൂലൈ 18ന് രൂപീകരിച്ച [[ഇന്ത്യൻ നാഷണൽ ഡവലപ്പ്മെൻ്റൽ ഇൻക്ലൂസീവ് അലയൻസ്|ഇന്ത്യൻ നാഷണൽ ഡവലപ്പ്മെൻ്റൽ ഇൻക്ലൂസീവ് അലയൻസിന്റെ]] ഭാഗമാണ് [[ദ്രാവിഡ മുന്നേറ്റ കഴകം|ഡിഎംകെ]]. 2023 സെപ്റ്റംബർ 25 ന് [[ഓൾ ഇന്ത്യ അണ്ണാ ദ്രാവിഡ മുന്നേറ്റ കഴകം|എഐഎഡിഎംകെ]] പാർട്ടി [[ഭാരതീയ ജനതാ പാർട്ടി]] നേതൃത്വത്തിലുള്ള ദേശീയ ജനാധിപത്യ സഖ്യത്തിൽ നിന്ന് പിന്മാറി പുതിയ സഖ്യമായ എഐഎഡിഎംകെയെ+ രൂപീകരിക്കുകയും ചെയ്തു.<ref>{{Cite web|url=https://www.telegraphindia.com/india/aiadmk-severs-ties-with-bjp-led-national-democratic-alliance-to-lead-separate-front-for-2024-lok-sabha-polls/cid/1968896|title=AIADMK severs ties with BJP-led NDA alliance, to lead separate front for 2024 Lok Sabha polls|access-date=2023-09-25|website=www.telegraphindia.com|language=en}}</ref><ref>{{Cite web|url=https://www.deccanherald.com/india/aiadmk-severs-ties-with-bjp-led-nda-to-form-front-to-fight-2024-ls-polls-2700089|title=AIADMK severs ties with BJP-led NDA; to form front to fight 2024 LS polls|access-date=2023-09-25|last=PTI|website=Deccan Herald|language=en}}</ref><ref>{{Cite web|url=https://indianexpress.com/article/india/aiadmk-snaps-ties-with-bjp-led-nda-alliance-ahead-of-2024-lok-sabha-polls-8955585/|title=AIADMK snaps ties with BJP-led NDA alliance ahead of 2024 Lok Sabha polls|access-date=2023-09-25|date=2023-09-25|website=The Indian Express|language=en}}</ref> == തിരഞ്ഞെടുപ്പ് സമയപ്പട്ടിക == {| class="wikitable" style="text-align:center;margin:auto;font-size:90%;" ! rowspan="2" |വോട്ടെടുപ്പ് പരിപാടി !ഘട്ടം |- | bgcolor="#FFFACD" |ഒന്ന് |- !വിജ്ഞാപന തീയതി |മാർച്ച് 20 |- !നാമനിർദേശ പത്രിക സമർപ്പിക്കാനുള്ള അവസാന തീയതി |മാർച്ച് 27 |- !നാമനിർദേശ പത്രികയുടെ സൂക്ഷ്മപരിശോധന |മാർച്ച് 28 |- !നാമനിർദേശ പത്രിക പിൻവലിക്കാനുള്ള അവസാന തീയതി |മാർച്ച് 30 |- !വോട്ടെടുപ്പ് തീയതി |'''ഏപ്രിൽ 19''' |- !വോട്ടെണ്ണൽ തീയതി |'''4 ജൂൺ 2024''' |- !'''''മണ്ഡലങ്ങളുടെ എണ്ണം''''' |39 |} == പാർട്ടികളും സഖ്യങ്ങളും == === {{Legend inline|{{party color|Indian National Developmental Inclusive Alliance}}|[[ഇന്ത്യൻ നാഷണൽ ഡവലപ്പ്മെൻ്റൽ ഇൻക്ലൂസീവ് അലയൻസ്]]}} === [[പ്രമാണം:2024_Tamil_Nadu_Lok_Sabha_election_INDIA_Alliance_Seat_Share_map.svg|265x265ബിന്ദു]] {| class="wikitable sortable" style="text-align:center;" ! colspan="2" |പാർട്ടി !പതാക !ചിഹ്നം !നേതാവ് ! colspan="2" |മത്സരിക്കുന്ന സീറ്റുകൾ |- |{{Party color cell|Dravida Munnetra Kazhagam}} |[[ദ്രാവിഡ മുന്നേറ്റ കഴകം]] |[[പ്രമാണം:Flag_DMK.svg|50x50ബിന്ദു]] | rowspan="2" |[[പ്രമാണം:Indian_election_symbol_rising_sun.svg|50x50ബിന്ദു]] |[[എം.കെ. സ്റ്റാലിൻ|എം. കെ. സ്റ്റാലിൻ]] |21 | rowspan="2" |22 |- |{{Party color cell|Kongunadu Makkal Desia Katchi}} |കൊങ്കുനാട് മക്കൾ ദേശിയ കച്ചി |[[പ്രമാണം:Kmdkflag.gif|50x50ബിന്ദു]] |ഇ. ആർ. ഈശ്വരൻ |1 |- |{{Party color cell|Indian National Congress}} |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |[[പ്രമാണം:Indian_National_Congress_Flag.svg|50x50ബിന്ദു]] |[[പ്രമാണം:Hand_INC.svg|50x50ബിന്ദു]] |കെ. സെൽവപെരുന്തഗായ് | colspan="2" |9 |- |{{Party color cell|Communist Party of India}} |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ]] |[[പ്രമാണം:CPI-banner.svg|50x50ബിന്ദു]] |[[പ്രമാണം:CPI_symbol.svg|50x50ബിന്ദു]] |ആർ. മുത്തരസൻ | colspan="2" |2 |- |{{Party color cell|Communist Party of India (Marxist)}} |[[കമ്മ്യൂണിസ്റ്റ് പാർട്ടി ഓഫ് ഇന്ത്യ (മാർക്സിസ്റ്റ്)]] |[[പ്രമാണം:CPI-M-flag.svg|50x50ബിന്ദു]] |[[പ്രമാണം:CPI(M)_election_symbol_-_Hammer_Sickle_and_Star.svg|50x50ബിന്ദു]] |കെ. ബാലകൃഷ്ണൻ | colspan="2" |2 |- |{{Party color cell|Viduthalai Chiruthaigal Katchi}} |വിദുതലൈ ചിരുതൈകൽ കച്ചി |[[പ്രമാണം:Viduthalai_Chiruthaigal_Katchi_banner.png|50x50ബിന്ദു]] |[[പ്രമാണം:Pot_Symbol.png|50x50ബിന്ദു]] |[[തൊൽ. തിരുമാവളവൻ]] | colspan="2" |2 |- |{{Party color cell|Indian Union Muslim League}} |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്]] |[[പ്രമാണം:Flag_of_the_Indian_Union_Muslim_League.svg|50x50ബിന്ദു]] |[[പ്രമാണം:Indian_Election_Symbol_Lader.svg|59x59ബിന്ദു]] |കെ. എം. ഖാദർ മൊഹീദീൻ | colspan="2" |1 |- |{{Party color cell|Marumalarchi Dravida Munnetra Kazhagam}} |[[മരുമലർച്ചി ദ്രാവിഡ മുന്നേറ്റ കഴകം]] |[[പ്രമാണം:MDMK.svg|50x50ബിന്ദു]] |[[പ്രമാണം:Indian_Election_Symbol_Matchbox.png|50x50ബിന്ദു]] |[[വൈക്കോ]] | colspan="2" |1 |- |} === {{Legend inline|{{party color|All India Anna Dravida Munnetra Kazhagam}}|[[എഐഎഡിഎംകെ നേതൃത്വത്തിലുള്ള സഖ്യം]]}} === [[പ്രമാണം:2024_Tamil_Nadu_Lok_Sabha_election_AIADMK+_Seat_Share.jpg|265x265ബിന്ദു]] {| class="wikitable sortable" style="text-align:center;" ! colspan="2" |പാർട്ടി !പതാക !ചിഹ്നം !നേതാവ് ! colspan="2" |മത്സരിക്കുന്ന സീറ്റുകൾ |- |{{Party color cell|All India Anna Dravida Munnetra Kazhagam}} |[[ഓൾ ഇന്ത്യ അണ്ണാ ദ്രാവിഡ മുന്നേറ്റ കഴകം]] | | rowspan="3" |[[പ്രമാണം:Indian_election_symbol_two_leaves.svg|50x50ബിന്ദു]] |[[എടപ്പാടി കെ. പളനിസാമി|ഇടപാടി കെ. പളനിസ്വാമി]] |32 | rowspan="3" |34 |- |{{Party color cell|Puthiya Tamilagam}} |പുതിയ തമിഴകം |[[പ്രമാണം:Puthiya_Tamilagam_Party_Flag.jpg|50x50ബിന്ദു]] |കെ. കൃഷ്ണസ്വാമി |1 |- |{{Party color cell|Social Democratic Party of India}} |[[സോഷ്യൽ ഡമോക്രാറ്റിക് പാർട്ടി ഓഫ് ഇന്ത്യ|സോഷ്യൽ ഡെമോക്രാറ്റിക് പാർട്ടി ഓഫ് ഇന്ത്യ]] |[[പ്രമാണം:SDPI_Flag.jpg|50x50ബിന്ദു]] |വി. എം. എസ്. മുഹമ്മദ് മുബാറക് |1 |- |{{Party color cell|Desiya Murpokku Dravida Kazhagam}} |[[ദേശീയ മുർപോക്ക് ദ്രാവിഡ കഴകം]] |[[പ്രമാണം:Flag_DMDK.png|50x50ബിന്ദു]] |[[പ്രമാണം:Indian_Election_Symbol_Nagara.svg|50x50ബിന്ദു]] |പ്രേമല്ലത വിജയകാന്ത് | colspan="2" |5 |- |} === {{Legend inline|{{party color|National Democratic Alliance}}|[[ദേശീയ ജനാധിപത്യ സഖ്യം]]}} === [[പ്രമാണം:2024_NDA_Alliance_Lok_Sabha_Seat_Sharing_Tamil_Nadu.svg|265x265ബിന്ദു]] {| class="wikitable sortable" style="text-align:center;" ! colspan="2" |പാർട്ടി !പതാക !ചിഹ്നം !നേതാവ് ! colspan="2" |മത്സരിക്കുന്ന സീറ്റുകൾ |- |{{Party color cell|Bharatiya Janata Party}} |[[ഭാരതീയ ജനതാ പാർട്ടി]] | | rowspan="5" |[[പ്രമാണം:Lotus_flower_symbol.svg|50x50ബിന്ദു]] |കെ. അണ്ണാമലൈ |19 | rowspan="5" |23 |- |{{Party color cell|Indhiya Jananayaga Katchi}} |ഇന്ത്യാ ജനനായഗ കച്ചി |[[പ്രമാണം:IJK_Party_Flag.jpg|50x50ബിന്ദു]] |ടി. ആർ. പരിവേന്ദർ |1 |- |{{Party color cell|Other}} |ഇന്ത്യാ മക്കൾ കൽവി മുന്നേറ്റ കഴകം |[[പ്രമാണം:No_image_available.svg|50x50ബിന്ദു]] |ടി. ദേവനാഥൻ യാദവ് |1 |- |{{Party color cell|Puthiya Needhi Katchi}} |പുതിയ നീതി പാർട്ടി |[[പ്രമാണം:Puthiya_Needhi_Katchi_Flag.jpg|50x50ബിന്ദു]] |എ. സി. ഷൺമുഖം |1 |- |{{Party color cell|Tamizhaga Makkal Munnetra Kazhagam}} |തമിഴഗ മക്കൾ മുന്നേറ്റ കഴകം |[[പ്രമാണം:LOGO_JP.jpg|50x50ബിന്ദു]] |ബി. ജോൺ പാണ്ഡ്യൻ |1 |- |{{Party color cell|Pattali Makkal Katchi}} |[[പാട്ടാളി മക്കൾ കക്ഷി]] |[[പ്രമാണം:Pmk_flag.jpg|50x50ബിന്ദു]] |[[പ്രമാണം:Indian_Election_Symbol_Mango_SVG.svg|50x50ബിന്ദു]] |[[അൻപുമണി രാമദാസ്|അൻബുമണി രാമദോസ്]] | colspan="2" |10 |- |{{Party color cell|Tamil Maanila Congress (Moopanar)}} |[[തമിഴ് മാനില കോൺഗ്രസ്]] | |[[പ്രമാണം:Indian_Election_Symbol_Cycle.png|50x50ബിന്ദു]] |[[ജി.കെ. വാസൻ|ജി. കെ. വാസൻ]] | colspan="2" |3 |- |{{Party color cell|Amma Makkal Munnettra Kazagam}} |[[അമ്മ മക്കൾ മുന്നേറ്റ കഴകം]] | |[[പ്രമാണം:Indian_Election_Symbol_Pressure_Cooker.png|50x50ബിന്ദു]] |[[ടി. ടി. വി. ദിനകരൻ]] | colspan="2" |2 |- |{{Party color cell|Independent}} |[[സ്വതന്ത്ര സ്ഥാനാർത്ഥി|സ്വതന്ത്ര]] |[[പ്രമാണം:No_image_available.svg|50x50ബിന്ദു]] | |[[ഒ. പനീർശെൽവം]] | colspan="2" |1 |- |} === മറ്റുള്ളവർ === {| class="wikitable sortable" style="text-align:center;" ! colspan="2" |പാർട്ടി !പതാക !ചിഹ്നം !നേതാവ് !മത്സരിക്കുന്ന സീറ്റുകൾ |- |{{Party color cell|Naam Tamilar Katchi}} |[[നാം തമിഴർ കച്ചി]] | | |[[സീമാൻ]] |39 |- |{{Party color cell|Bahujan Samaj Party}} |[[ബഹുജൻ സമാജ് പാർട്ടി]] |[[പ്രമാണം:Elephant_Bahujan_Samaj_Party.svg|50x50ബിന്ദു]] |[[പ്രമാണം:Indian_Election_Symbol_Elephant.png|50x50ബിന്ദു]] |കെ. ആംസ്ട്രോങ് |39 |- |} == അവലംബങ്ങൾ == {{Reflist}} {{Tamil Nadu elections}} {{Indian general election, 2024}} [[വർഗ്ഗം:CS1 തമിഴ്-language sources (ta)]] pai74mr2wbyikhuhlhycmvxgsxu11og ഫലകം:VTE 10 625125 4621786 4125712 2025-08-20T15:38:16Z en>Sdkb 0 use subpage for documentation so that it can be edited by non-TE editors 4621786 wikitext text/x-wiki {{#invoke:Navbar|navbar|mini = 1|template = {{{template|{{{1|}}}}}}}}<noinclude> {{Documentation}} </noinclude> frbwokefeudcd6b73e189tb5en7psk5 4621787 4621786 2026-05-22T22:49:32Z Jacob.jose 1784 [[:en:Template:VTE]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 4621786 wikitext text/x-wiki {{#invoke:Navbar|navbar|mini = 1|template = {{{template|{{{1|}}}}}}}}<noinclude> {{Documentation}} </noinclude> frbwokefeudcd6b73e189tb5en7psk5 ഘടകം:Params 828 631851 4621827 4194497 2025-04-14T18:22:41Z en>Grufo 0 New functions: `coins`, `unique_coins`; new modifiers: `new`, `parsing`, `reinterpreting`, `combining_by_calling`, `snapshotting`, `remembering`, `entering_substack`, `pulling`, `detaching_substack`, `leaving_substack`, `merging_substack`, `flushing`; bugfix: forced string conversion in `renaming_by_invoking` and `mapping_by_invoking` 4621827 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove numerical elements from a table, shifting everything to the left local function remove_numerical_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numerical strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { with_pattern_isep = false, with_plain_isep = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { with_pattern_psep = false, with_plain_psep = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { count = true, value_of = true, list = true, list_values = true, coins = true, for_each = true, call_for_each_group = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { --inserting = true, with_name_matching = true, grouping_by_calling = true, combining_by_calling = true, count = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, value_of = true, call_for_each_group = true } -- Maximum number of numerical parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numerical_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves_maps = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves_maps[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numerical -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numerical keys from the table of parameters to the numerical -- keys from the table of options; non-numerical keys from the table of options -- will prevail over colliding non-numerical keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numericals = {} for key, val in pairs(tbl) do if type(key) == 'number' then numericals[key] = val tbl[key] = nil end end for key, val in ipairs(numericals) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numericals = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numericals[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numericals) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numericals = {} for key, val in pairs(tbl) do if type(key) == 'number' then numericals[key] = val tbl[key] = nil end end for key, val in pairs(numericals) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numericals = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numericals[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numericals) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numerical', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No subgroup has been started', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No subgroup has been started', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No subgroup has been started', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: No snapshot is present', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numerical_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numerical_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numerical_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = txt:gsub('%$#', key):gsub('%$@', val) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numerical_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) emykuzjmnggggw0w2cwytxvwsaty44j 4621828 4621827 2025-04-17T02:12:47Z en>Grufo 0 Add the `[[Module:Params#excluding_non-numeric_names|excluding_non-numeric_names]]` and `[[Module:Params#excluding_numeric_names|excluding_numeric_names]]` modifiers to the module; code review 4621828 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { with_pattern_isep = false, with_plain_isep = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { with_pattern_psep = false, with_plain_psep = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { count = true, value_of = true, list = true, list_values = true, coins = true, for_each = true, call_for_each_group = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { --inserting = true, with_name_matching = true, grouping_by_calling = true, combining_by_calling = true, count = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, value_of = true, call_for_each_group = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves_maps = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves_maps[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = txt:gsub('%$#', key):gsub('%$@', val) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 0yyggiyinmjtkravzryi8x7dycu2lms 4621829 4621828 2025-04-22T02:37:23Z en>Grufo 0 The directives ‘with_pattern_isep’, ‘with_plain_isep’, ‘with_pattern_psep’ and ‘with_plain_psep’ have been renamed respectively to ‘splitter_pattern’, ‘splitter_string’, ‘setter_pattern’, and ‘setter_string’ 4621829 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, --inserting = true, grouping_by_calling = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves_maps = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves_maps[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = txt:gsub('%$#', key):gsub('%$@', val) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) szblsx73q7svbadwz3aagsd6vgugt30 4621830 4621829 2025-06-04T00:13:55Z en>Grufo 0 Four new modifiers have been added to the module: ‘[[Module:Params#converting_values_to_lowercase|converting_values_to_lowercase]]’, ‘[[Module:Params#converting_values_to_uppercase|converting_values_to_uppercase]]’, ‘[[Module:Params#converting_names_to_lowercase|converting_names_to_lowercase]]’, and ‘[[Module:Params#converting_names_to_uppercase|converting_names_to_uppercase]]’ 4621830 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, --inserting = true, grouping_by_calling = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves_maps = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves_maps[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local cache = {} for key, val in pairs(tbl) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local cache = {} for key, val in pairs(tbl) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = txt:gsub('%$#', key):gsub('%$@', val) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) gfcjduscb5z02j6aaxrc6rv4iar2xle 4621831 4621830 2025-06-04T02:47:12Z en>Grufo 0 No need to declare a variable 4621831 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, --inserting = true, grouping_by_calling = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves_maps = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves_maps[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = txt:gsub('%$#', key):gsub('%$@', val) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) bj8xz1z0g31ss1p5uix7rz09euim8kb 4621832 4621831 2025-06-13T03:30:31Z en>Grufo 0 A small bug in ‘...|[[Module:Params#renaming_by_replacing|renaming_by_replacing]]|...|strict|...’ has been fixed 4621832 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, --inserting = true, grouping_by_calling = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves_maps = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves_maps[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' if tbl[key] ~= nil then local val = tbl[key] tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = txt:gsub('%$#', key):gsub('%$@', val) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) d2q4hum6fln0b9e35nzv5enph61uzo2 4621833 4621832 2025-06-13T04:15:55Z en>Grufo 0 Efficiency 4621833 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, --inserting = true, grouping_by_calling = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves_maps = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves_maps[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = txt:gsub('%$#', key):gsub('%$@', val) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) ff1d3o9xogv4rqvgmnj01djzccb5m6s 4621834 4621833 2025-06-27T02:47:39Z en>Grufo 0 Implementation: A bad and error-prone design choice in ‘[[Module:Params#for_each|for_each]]’ has been fixed 4621834 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|rotating|pipe to library.rotating = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting|pipe to --[[ library.pivoting = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.rotating(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring|pipe to --[[ library.mirroring = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping|pipe to --[[ library.swapping = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) elsn6qugnm0267ug89frhaff6pkwimm 4621835 4621834 2025-06-29T00:43:59Z en>Grufo 0 The † ‘rotating’ modifier has been renamed to ‘[[Module:Params#reversing_numeric_names|reversing_numeric_names]]’; three new modifiers have been added to the module: ‘[[Module:Params#mapping_by_mixing|mapping_by_mixing]]’, ‘[[Module:Params#renaming_by_mixing|renaming_by_mixing]]’, and ‘[[Module:Params#mixing_names_and_values|mixing_names_and_values]]’ 4621835 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} if mix == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) local tmp for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas) cache[tonumber(tmp) or tmp] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[val] = key end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = key end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) local tmp for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k) cache[tonumber(tmp) or tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) gbp2os961887yx8od4osvidoj69ekyw 4621836 4621835 2025-07-23T01:04:19Z en>Grufo 0 +strict; fix unwanted global 4621836 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg == 3, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, is_strict, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if is_strict then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} if mix == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) local tmp for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas) cache[tonumber(tmp) or tmp] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[val] = key end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = key end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) local tmp for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k) cache[tonumber(tmp) or tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 5tf5ck131rgs3ehdgnyqab8j747j9yh 4621837 4621836 2025-07-23T01:08:31Z en>Grufo 0 Fix bug 4621837 Scribunto text/plain --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} if mix == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) local tmp for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas) cache[tonumber(tmp) or tmp] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[val] = key end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = key end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) local tmp for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k) cache[tonumber(tmp) or tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) kf34shj06ef8e2m90k6plooerssf20e 4621838 4621837 2025-07-23T01:30:53Z en>Grufo 0 Forgot before: +‘strict’ 4621838 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, targets, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} if mix == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) local tmp for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas) cache[tonumber(tmp) or tmp] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[val] = key end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = key end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) local tmp for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k) cache[tonumber(tmp) or tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) mc8t9vjbfiiry35cw9xf5lx33snwp1c 4621839 4621838 2025-07-23T01:33:40Z en>Grufo 0 Another bugfix 4621839 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} if mix == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) local tmp for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas) cache[tonumber(tmp) or tmp] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[val] = key end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = key end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) local tmp for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k) cache[tonumber(tmp) or tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) rhbxpvshvl1q5lejsw4oceks2db8rk1 4621840 4621839 2025-07-23T01:42:47Z en>Grufo 0 Indentation only, no changes 4621840 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} if mix == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) local tmp for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas) cache[tonumber(tmp) or tmp] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[val] = key end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = key end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) local tmp for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k) cache[tonumber(tmp) or tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. fname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) p37rtp4939q96r6u9p9g4qsnhkk33sm 4621841 4621840 2025-07-23T16:08:46Z en>Grufo 0 bugfix 4621841 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = tonumber(dkey) or dkey:match'^%s*(.-)%s*$' if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' then names = {} repeat tmp = src[pin + 1] or '' names[tonumber(tmp) or tmp:match'^%s*(.-)%s*$' or ''] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then tmp = src[tmp + shf] karg = tonumber(tmp) if karg == nil then karg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then tmp = src[tmp + shf] varg = tonumber(tmp) if varg == nil then varg = tmp:match'^%s*(.-)%s*$' else n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... gid = tonumber(key) if gid == nil then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' end if groups[gid] == nil then groups[gid] = {} end tmp = tonumber(prefix) if tmp ~= nil then if tmp < 1 then prefix = tmp - 1 else prefix = tmp end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1) key = tonumber(key) or key:match'^%s*(.-)%s*$' val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' ctx.params[tonumber(key) or key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' key = tonumber(key) or key if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key = ctx.pipe[1] local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[tonumber(key) or key:match'^%s*(.-)%s*$'] = nil return context_iterate(ctx, 2) end key = tonumber(key) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = tonumber(ptn[1]) or ptn[1] newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] tbl[tonumber(tmp) or tmp] = nil return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () local tmp = mfunc(ctx.frame:newChild(model)) return tonumber(tmp) or tostring(tmp) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then local key = tonumber(ptn) or ptn:match'^%s*(.-)%s*$' local val = tbl[key] if val ~= nil then tbl[key] = nil tbl[tonumber(repl) or repl:match'^%s*(.-)%s*$'] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} if mix == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) local tmp for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas) cache[tonumber(tmp) or tmp] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[val] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[val] = key end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = key end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) local tmp for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k) cache[tonumber(tmp) or tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = tonumber(merge_into) or merge_into:match'^%s*(.-)%s*$' ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = tonumber(opts[1]) or opts[1]:match'^%s*(.-)%s*$' if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local kstr if opts[1] ~= nil then kstr = opts[1]:match'^%s*(.*%S)' end if kstr == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local knum = tonumber(kstr) local len = #ctx.params -- No worries: unused when in first position local val = ctx.params[knum or kstr] if val ~= nil and ( ctx.subset ~= -1 or knum == nil or knum > len or knum < 1 ) and ( ctx.subset ~= 1 or (knum ~= nil and knum <= len and knum > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[tonumber(val) or val] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = tonumber(val) or val tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 036xph6ti6335ax7j58o61c4jmj5a7p 4621842 4621841 2025-09-15T00:48:03Z en>Grufo 0 The new modifier ‘[[Module:Params#dropping_substack|dropping_substack]]’ has been added to the module; made sure to follow the same criteria that wikitext follows when determining whether a parameter name is numeric or not; small bugs have been fixed 4621842 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = dkey:match'^%s*(.-)%s*$' if realkey == '0' or realkey:find'^%-?[1-9]%d*$' ~= nil then realkey = tonumber(realkey) end if skey ~= realkey then dest[realkey] = val src[skey] = nil end end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { i = 'itersep', l = 'lastsep', p = 'pairsep', h = 'header', f = 'footer', n = 'ifngiven' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat tmp = src[pin + 1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end names[tmp] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' then key = tonumber(key) end ctx.params[key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key local len = tonumber(ctx.pipe[2]) if len == nil then key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end ctx.params[key] = nil return context_iterate(ctx, 2) end key = tonumber(ctx.pipe[1]) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = ptn:match'^%s*(.-)%s*$' if ptn == '0' or ptn:find'^%-?[1-9]%d*$' ~= nil then ptn = tonumber(ptn) end local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil repl = repl:match'^%s*(.-)%s*$' if repl == '0' or repl:find'^%-?[1-9]%d*$' ~= nil then repl = tonumber(repl) end tbl[repl] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = tostring(key) else cache[tmp] = tostring(key) end end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end cache[tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = merge_into:match'^%s*(.-)%s*$' if merge_into == '0' or merge_into:find'^%-?[1-9]%d*$' ~= nil then merge_into = tonumber(merge_into) end ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local key if opts[1] ~= nil then key = opts[1]:match'^%s*(.*%S)' end if key == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) if nss > 0 then if nss > 4 and ctx.lastsep ~= nil then ret[nss - 3] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[key] = opts[tonumber(tmp)] else tbl[key] = opts[tmp] end end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) if nss > 0 then if nss > 2 and ctx.lastsep ~= nil then ret[nss - 1] = ctx.lastsep end ret[1] = ctx.header or '' if ctx.footer ~= nil then ret[nss + 1] = ctx.footer end ctx.text = table.concat(ret) return false end ctx.text = ctx.ifngiven or '' return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) sesi3bpopad3kfwh8pq88398hchoe9r 4621843 4621842 2025-09-30T00:14:34Z en>Grufo 0 The new function ‘[[Module:Params#list_maybe_with_names|list_maybe_with_names]]’ has been added to the module; support for the new ‘s’ slot – dedicated to [[serial comma|Oxford commas]] – has been added to the ‘[[Module:Params#setting|setting]]’ modifier 4621843 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = dkey:match'^%s*(.-)%s*$' if realkey == '0' or realkey:find'^%-?[1-9]%d*$' ~= nil then realkey = tonumber(realkey) end if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (ctx, tbl, sort_fn) local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat tmp = src[pin + 1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end names[tmp] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' then key = tonumber(key) end ctx.params[key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key local len = tonumber(ctx.pipe[2]) if len == nil then key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end ctx.params[key] = nil return context_iterate(ctx, 2) end key = tonumber(ctx.pipe[1]) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = ptn:match'^%s*(.-)%s*$' if ptn == '0' or ptn:find'^%-?[1-9]%d*$' ~= nil then ptn = tonumber(ptn) end local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil repl = repl:match'^%s*(.-)%s*$' if repl == '0' or repl:find'^%-?[1-9]%d*$' ~= nil then repl = tonumber(repl) end tbl[repl] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = tostring(key) else cache[tmp] = tostring(key) end end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end cache[tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = merge_into:match'^%s*(.-)%s*$' if merge_into == '0' or merge_into:find'^%-?[1-9]%d*$' ~= nil then merge_into = tonumber(merge_into) end ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local key if opts[1] ~= nil then key = opts[1]:match'^%s*(.*%S)' end if key == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[key] = opts[tonumber(tmp)] else tbl[key] = opts[tmp] end end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) j4obz1n4y4kh9ilga48oox1gzavaevh 4621844 4621843 2025-10-15T23:42:59Z en>Grufo 0 Small bug fix 4621844 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = dkey:match'^%s*(.-)%s*$' if realkey == '0' or realkey:find'^%-?[1-9]%d*$' ~= nil then realkey = tonumber(realkey) end if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (ctx, tbl, sort_fn) local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, converting_names_to_uppercase = true, converting_names_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat tmp = src[pin + 1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end names[tmp] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' then key = tonumber(key) end ctx.params[key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key local len = tonumber(ctx.pipe[2]) if len == nil then key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end ctx.params[key] = nil return context_iterate(ctx, 2) end key = tonumber(ctx.pipe[1]) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_lowercase|pipe to library.converting_values_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_values_to_uppercase|pipe to library.converting_values_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|converting_names_to_lowercase|pipe to library.converting_names_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|converting_names_to_uppercase|pipe to library.converting_names_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = ptn:match'^%s*(.-)%s*$' if ptn == '0' or ptn:find'^%-?[1-9]%d*$' ~= nil then ptn = tonumber(ptn) end local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil repl = repl:match'^%s*(.-)%s*$' if repl == '0' or repl:find'^%-?[1-9]%d*$' ~= nil then repl = tonumber(repl) end tbl[repl] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = tostring(key) else cache[tmp] = tostring(key) end end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end cache[tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = merge_into:match'^%s*(.-)%s*$' if merge_into == '0' or merge_into:find'^%-?[1-9]%d*$' ~= nil then merge_into = tonumber(merge_into) end ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[key] = opts[tonumber(tmp)] else tbl[key] = opts[tmp] end end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) hcuptdq4z10wottq3chycj7t132z30x 4621845 4621844 2025-10-17T09:29:49Z en>Grufo 0 Nomenclature standardization: The modifiers † ‘converting_values_to_lowercase’, † ‘converting_values_to_uppercase’, † ‘converting_names_to_lowercase’ and † ‘converting_names_to_uppercase’ have been renamed to ‘[[Module:Params#mapping_to_lowercase|mapping_to_lowercase]]’, ‘[[Module:Params#mapping_to_uppercase|mapping_to_uppercase]]’, ‘[[Module:Params#renaming_to_lowercase|renaming_to_lowercase]]’ and ‘[[Module:Params#renaming_to_uppercase|renaming_to_uppercase]]’ 4621845 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = dkey:match'^%s*(.-)%s*$' if realkey == '0' or realkey:find'^%-?[1-9]%d*$' ~= nil then realkey = tonumber(realkey) end if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (ctx, tbl, sort_fn) local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, renaming_to_uppercase = true, renaming_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat tmp = src[pin + 1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end names[tmp] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local tmp local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' then key = tonumber(key) end ctx.params[key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key local len = tonumber(ctx.pipe[2]) if len == nil then key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end ctx.params[key] = nil return context_iterate(ctx, 2) end key = tonumber(ctx.pipe[1]) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = ptn:match'^%s*(.-)%s*$' if ptn == '0' or ptn:find'^%-?[1-9]%d*$' ~= nil then ptn = tonumber(ptn) end local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil repl = repl:match'^%s*(.-)%s*$' if repl == '0' or repl:find'^%-?[1-9]%d*$' ~= nil then repl = tonumber(repl) end tbl[repl] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = tostring(key) else cache[tmp] = tostring(key) end end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end cache[tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = merge_into:match'^%s*(.-)%s*$' if merge_into == '0' or merge_into:find'^%-?[1-9]%d*$' ~= nil then merge_into = tonumber(merge_into) end ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[key] = opts[tonumber(tmp)] else tbl[key] = opts[tmp] end end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) hr8vqvrv05c06iinhbqu6th2nbtxqdt 4621846 4621845 2025-11-01T22:00:01Z en>Grufo 0 An unused variable has been removed from private function ‘make_groups()’; the code for the ‘[[Module:Params#scoring|scoring]]’ public function has been added commented out, for future inclusions 4621846 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = dkey:match'^%s*(.-)%s*$' if realkey == '0' or realkey:find'^%-?[1-9]%d*$' ~= nil then realkey = tonumber(realkey) end if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (ctx, tbl, sort_fn) local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { --alphabetically = false, -- Simply uncommenting enables the option naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, renaming_to_uppercase = true, renaming_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat tmp = src[pin + 1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end names[tmp] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' then key = tonumber(key) end ctx.params[key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key local len = tonumber(ctx.pipe[2]) if len == nil then key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end ctx.params[key] = nil return context_iterate(ctx, 2) end key = tonumber(ctx.pipe[1]) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = ptn:match'^%s*(.-)%s*$' if ptn == '0' or ptn:find'^%-?[1-9]%d*$' ~= nil then ptn = tonumber(ptn) end local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil repl = repl:match'^%s*(.-)%s*$' if repl == '0' or repl:find'^%-?[1-9]%d*$' ~= nil then repl = tonumber(repl) end tbl[repl] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = tostring(key) else cache[tmp] = tostring(key) end end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end cache[tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = merge_into:match'^%s*(.-)%s*$' if merge_into == '0' or merge_into:find'^%-?[1-9]%d*$' ~= nil then merge_into = tonumber(merge_into) end ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[key] = opts[tonumber(tmp)] else tbl[key] = opts[tmp] end end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) maa9bajehp8mzhjp3e9n74l8mqy1ovj 4621847 4621846 2026-01-16T03:53:52Z en>Grufo 0 Support for the ‘alphabetically’ flag has been added to the ‘[[Module:Params#sorting_sequential_values|sorting_sequential_values]]’ modifier 4621847 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return tostring(var1):gsub('%d+', zero_padded) < tostring(var2):gsub('%d+', zero_padded) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = dkey:match'^%s*(.-)%s*$' if realkey == '0' or realkey:find'^%-?[1-9]%d*$' ~= nil then realkey = tonumber(realkey) end if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (ctx, tbl, sort_fn) local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining_by_calling = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, renaming_to_uppercase = true, renaming_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tmp local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat tmp = src[pin + 1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end names[tmp] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, fname) if opts[1] == nil then error(modulename .. ', ‘' .. fname .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. fname .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, fname) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. fname .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = str:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = val:sub(1, spos1 - 1):match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(ctx, tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local opts = ctx.pipe local cmd = opts[1] if cmd ~= nil then cmd = cmd:gsub('%s+', ''):gsub('/+', '/'):match'^/*(.*[^/])' end if cmd == nil then error(modulename .. ', ‘setting’: No directive was given', 0) end local sep = string.byte('/') local argc = 2 local dest = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(dest) do ctx[val] = opts[argc] dest[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(dest, vname) end end for key, val in ipairs(dest) do ctx[val] = opts[argc] end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' then key = tonumber(key) end ctx.params[key] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local key local len = tonumber(ctx.pipe[2]) if len == nil then key = ctx.pipe[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) end ctx.params[key] = nil return context_iterate(ctx, 2) end key = tonumber(ctx.pipe[1]) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = ptn:match'^%s*(.-)%s*$' if ptn == '0' or ptn:find'^%-?[1-9]%d*$' ~= nil then ptn = tonumber(ptn) end local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil repl = repl:match'^%s*(.-)%s*$' if repl == '0' or repl:find'^%-?[1-9]%d*$' ~= nil then repl = tonumber(repl) end tbl[repl] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end tmp = table.concat(canvas):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = val else cache[tmp] = val end end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then cache[tonumber(tmp)] = tostring(key) else cache[tmp] = tostring(key) end end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end tmp = table.concat(cnv_k):match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end cache[tmp] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end local merge_into = ctx.pipe[2] if merge_into == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end merge_into = merge_into:match'^%s*(.-)%s*$' if merge_into == '0' or merge_into:find'^%-?[1-9]%d*$' ~= nil then merge_into = tonumber(merge_into) end ctx.params = { [merge_into] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = opts[1]:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[key] = opts[tonumber(tmp)] else tbl[key] = opts[tmp] end end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = val:match'^%s*(.-)%s*$' if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 8b6q8kiw9nkjfnatrizvs30kqddxsma 4621848 4621847 2026-02-23T01:24:24Z en>Grufo 0 Three new modifiers have been added to the module: ‘[[#renaming_to_sequence|renaming_to_sequence]]’, ‘[[#combining|combining]]’, ‘[[#combining_values|combining_values]]’; repeated code fragments have been moved into functions; general code review 4621848 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded) end -- Parse a parameter name string and return it as a string or a number local function get_parameter_name (par_str) local ret = par_str:match'^%s*(.-)%s*$' if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end return tonumber(ret) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache = {} local tmp = idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) --[[ local function copy_table_expanded (tbl, idx, len) local ret = {} local tmp = idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end ]]-- -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = get_parameter_name(dkey) if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (tbl, sort_fn) local nums = {} local words = {} local nn = 0 local nw = 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining = true, combining_by_calling = true, combining_values = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, renaming_to_uppercase = true, renaming_to_lowercase = true, count = true, --inserting = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, renaming_to_sequence = true, --renaming_to_values = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Load a `setting`-like directive string into the `dest` table local function set_strings (dest, opts, start_from) local cmd if opts[start_from] == nil then return start_from - 1 end cmd = opts[start_from]:gsub('%s+', ''):gsub('/+', '/') :match'^/*(.*[^/])' if cmd == nil then return start_from end local sep = string.byte('/') local argc = start_from + 1 local amap = {} local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(amap) do dest[val] = opts[argc] amap[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(amap, vname) end end for key, val in ipairs(amap) do dest[val] = opts[argc] end return argc end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse a raw argument containing a `sortfunctions` directive, or -- `'without_sorting'`, or `nil` local function load_sort_opt (raw_arg) if raw_arg == nil then return nil, 1, false end local tmp = raw_arg:match'^%s*(.-)%s*$' if tmp == 'without_sorting' then return nil, 2, false end tmp = sortfunctions[tmp] if tmp == nil then return nil, 1, false end return tmp or nil, 2, true end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local names local tbl = {} local pin = start_from if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat names[get_parameter_name(src[pin + 1])] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end local tmp = tonumber(src[pin]) if tmp ~= nil then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style = default_style shf = n_skip - 1 else shf = n_skip end local n_exist = style[3] local karg = style[4] local varg = style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, whoami) if opts[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. whoami .. '’: No replacement string was given', 0) end local ptn = opts[1] local repl = opts[2] local argc = 3 local nmax = tonumber(opts[3]) if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, whoami) local state = 0 local cnt = 1 local keyw local nptns = 0 local ptns = {} for _, val in ipairs(opts) do if state == 0 then nptns = nptns + 1 ptns[nptns] = { val, false, false } state = -1 else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. whoami .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local argc = start_from local tmp local optslots = { true, true, true } local noptslots = 3 local trimn = true local trimu = false local iplain = true local pplain = true local isp = '|' local psp = '=' repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn = tmp[1] trimu = tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain = isep_parse_opts[tmp] isp = opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain = psep_parse_opts[tmp] psp = opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = get_parameter_name(str:sub(1, spos1 - 1)) val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = get_parameter_name(val:sub(1, spos1 - 1)) val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Heavy lifting for `combining` and `combining_values` local function combine_parameters (ctx, keyval_fn, whoami) -- NOTE: `ctx.params` might be the original metatable! This function -- MUST create a copy of it before returning local opts = ctx.pipe if ctx.pipe[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No parameter name was provided', 0) end local tbl = ctx.params local vars = {} local sortfn, tmp, do_sort = load_sort_opt(opts[2]) local argc = set_strings(vars, opts, tmp + 1) if argc < tmp then error(modulename .. ', ‘' .. whoami .. '’: No setting directive was given', 0) end tmp = true for _ in pairs(tbl) do tmp = false break end if tmp then if vars.ifngiven ~= nil then ctx.params = { [get_parameter_name(ctx.pipe[1])] = vars.ifngiven } elseif tbl == ctx.oparams then ctx.params = {} end return argc end local cache local len if do_sort then local words cache, words, len, tmp = get_key_list_sorted(tbl, sortfn) for idx = 1, tmp do cache[len + idx] = words[idx] end len = len + tmp else cache = {} len = 0 for key in pairs(tbl) do len = len + 1 cache[len] = key end end local kvs = vars.pairsep or '' local pps = vars.itersep or '' local pmap = {} local nss = 0 for idx = 1, len do tmp = cache[idx] pmap[nss + 1] = pps pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs) nss = nss + 2 end tmp = vars.oxfordsep or vars.lastsep if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp elseif nss > 2 and vars.lastsep ~= nil then pmap[nss - 1] = vars.lastsep end pmap[1] = vars.header or '' if vars.footer ~= nil then pmap[nss + 1] = vars.footer end ctx.params = { [get_parameter_name(ctx.pipe[1])] = table.concat(pmap) } return argc end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local tbl = ctx.params local nmax = table.maxn(ctx.pipe) local retval = {} if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local argc = set_strings(ctx, ctx.pipe, 1) if argc < 2 then error(modulename .. ', ‘setting’: No directive was given', 0) end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local tbl = ctx.params local store = {} local indices = {} local newlen = 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl = ctx.params local nmin = 1 local nmax = nil local nnums = -1 local tmp = {} for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cutting’: Left cut must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cutting’: Right cut must be a number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil then error(modulename .. ', ‘cropping’: Left crop must be a number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil then error(modulename .. ', ‘cropping’: Right crop must be a number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin = key nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘purging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘purging’: Length must be a number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil then error(modulename .. ', ‘backpurging’: Start offset must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then error(modulename .. ', ‘backpurging’: Length must be a number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax = 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl = ctx.params local numerics = {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmax = key nmin = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl = ctx.params local cache = {} local nsize = 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]:match'^%s*(.-)%s*$'] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|inserting|position|how many|...|pipe to --[[ library.inserting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local idx = tonumber(ctx.pipe[1]) if idx == nil then error(modulename .. ', ‘inserting’: Position must be a number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or len < 1 then error(modulename .. ', ‘inserting’: The amount must be a number greater than zero', 0) end local opts = ctx.pipe local tbl = copy_table_expanded(ctx.params, idx, len) for key = idx, idx + len - 1 do tbl[key] = opts[key - idx + 3] end ctx.params = tbl return context_iterate(ctx, len + 3) end ]]-- -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end ctx.params[get_parameter_name(ctx.pipe[1])] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = get_parameter_name(ctx.pipe[1]) if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[get_parameter_name(ctx.pipe[1])] = nil return context_iterate(ctx, 2) end local key = tonumber(ctx.pipe[1]) if key == nil then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not numeric', 0) end if len < 1 then error(modulename .. ', ‘discarding’: A range can only be a number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = key end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to library.renaming_to_sequence = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[1]) local cache local len if do_sort then local words local wl cache, words, len, wl = get_key_list_sorted(tbl, sortfn) for idx = 1, len do cache[idx] = tbl[cache[idx]] end for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end else cache = {} len = 0 for _, val in pairs(tbl) do len = len + 1 cache[len] = val end end ctx.params = cache return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = get_parameter_name(ptn) local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil tbl[get_parameter_name(repl)] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end cache[get_parameter_name(table.concat(canvas))] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl = ctx.params local tmp = get_parameter_name(opts[1]) local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local mix_k = ctx.pipe[1]:match'^%s*(.-)%s*$' local mix_v = ctx.pipe[2] local cache = {} local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[get_parameter_name(val)] = tostring(key) end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end cache[get_parameter_name(table.concat(cnv_k))] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining|new parameter name|[sort order]|setting -- directives|...|pipe to library.combining = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return key .. kvs .. val end, 'combining' ) + 1) end -- Syntax: #invoke:params|combining_values|new parameter name|[sort -- order]|setting directives|...|pipe to library.combining_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return val end, 'combining_values' ) + 1) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = get_parameter_name(opts[1]) if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local pps = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local kvs = ctx.pairsep or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts = ctx.pipe local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = opts[get_parameter_name(val)] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts = ctx.pipe local tbl = ctx.params local tmp for key, val in pairs(tbl) do tmp = get_parameter_name(val) tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local txt = ctx.pipe[1] or '' local pps = ctx.itersep or '' local ret = {} local nss = 0 local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ccs = ctx.itersep or '' local ret = {} local nss = 0 remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ccs = ctx.itersep or '' local ret = {} local nss = 0 flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local ccs = ctx.itersep or '' local nss = 0 local ret = {} opts = {} for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 3h3u71byw7iinjvtc45dgcipyse079e 4621849 4621848 2026-03-19T00:59:36Z en>Grufo 0 Two new modifiers have been added to the module: ‘[[Module:Params#splicing|splicing]]’ and ‘[[Module:Params#shifting|shifting]]’; functions that require integer arguments can now rely on integer check; code review 4621849 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded) end -- Parse a parameter name string and return it as a string or a number local function get_parameter_name (par_str) local ret = par_str:match'^%s*(.-)%s*$' if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end return tonumber(ret) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache, tmp = {}, idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) local function copy_table_expanded (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = get_parameter_name(dkey) if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (tbl, sort_fn) local nums, words, nn, nw = {}, {}, 0, 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Possible position references for the `splicing` modifier local position_references = { add_nothing = 0, add_smallest_number = 1, add_last_of_sequence = 2, add_largest_number = 3 } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining = true, combining_by_calling = true, combining_values = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, renaming_to_sequence = true, renaming_to_uppercase = true, renaming_to_lowercase = true, --renaming_to_values = true, shifting = true, splicing = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Load a `setting`-like directive string into the `dest` table local function set_strings (dest, opts, start_from) local cmd if opts[start_from] == nil then return start_from - 1 end cmd = opts[start_from]:gsub('%s+', ''):gsub('/+', '/') :match'^/*(.*[^/])' if cmd == nil then return start_from end local amap, sep, argc = {}, string.byte('/'), start_from + 1 local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(amap) do dest[val] = opts[argc] amap[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(amap, vname) end end for key, val in ipairs(amap) do dest[val] = opts[argc] end return argc end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse a raw argument containing a `sortfunctions` directive, or -- `'without_sorting'`, or `nil` local function load_sort_opt (raw_arg) if raw_arg == nil then return nil, 1, false end local tmp = raw_arg:match'^%s*(.-)%s*$' if tmp == 'without_sorting' then return nil, 2, false end tmp = sortfunctions[tmp] if tmp == nil then return nil, 1, false end return tmp or nil, 2, true end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local tbl, pin = {}, start_from local names if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat names[get_parameter_name(src[pin + 1])] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end local tmp = tonumber(src[pin]) if tmp ~= nil and math.floor(tmp) == tmp then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style, shf = default_style, n_skip - 1 else shf = n_skip end local n_exist, karg, varg = style[3], style[4], style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, whoami) if opts[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. whoami .. '’: No replacement string was given', 0) end local ptn, repl, nmax, argc = opts[1], opts[2], tonumber(opts[3]), 3 if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, whoami) local ptns, state, nptns, cnt = {}, 0, 0, 1 local keyw for _, val in ipairs(opts) do if state == 0 then nptns, state = nptns + 1, -1 ptns[nptns] = { val, false, false } else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. whoami .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local tmp local argc, isp, psp = start_from, '|', '=' local optslots, noptslots = { true, true, true }, 3 local trimn, trimu, iplain, pplain = true, false, true, true repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn, trimu = tmp[1], tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain, isp = isep_parse_opts[tmp], opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain, psp = psep_parse_opts[tmp], opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = get_parameter_name(str:sub(1, spos1 - 1)) val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = get_parameter_name(val:sub(1, spos1 - 1)) val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Heavy lifting for `combining` and `combining_values` local function combine_parameters (ctx, keyval_fn, whoami) -- NOTE: `ctx.params` might be the original metatable! This function -- MUST create a copy of it before returning local opts = ctx.pipe if ctx.pipe[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No parameter name was provided', 0) end local tbl = ctx.params local vars = {} local sortfn, tmp, do_sort = load_sort_opt(opts[2]) local argc = set_strings(vars, opts, tmp + 1) if argc < tmp then error(modulename .. ', ‘' .. whoami .. '’: No setting directive was given', 0) end tmp = true for _ in pairs(tbl) do tmp = false break end if tmp then if vars.ifngiven ~= nil then ctx.params = { [get_parameter_name(ctx.pipe[1])] = vars.ifngiven } elseif tbl == ctx.oparams then ctx.params = {} end return argc end local cache local len if do_sort then local words cache, words, len, tmp = get_key_list_sorted(tbl, sortfn) for idx = 1, tmp do cache[len + idx] = words[idx] end len = len + tmp else cache = {} len = 0 for key in pairs(tbl) do len = len + 1 cache[len] = key end end local pmap, nss, kvs, pps = {}, 0, vars.pairsep or '', vars.itersep or '' for idx = 1, len do tmp = cache[idx] pmap[nss + 1] = pps pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs) nss = nss + 2 end tmp = vars.oxfordsep or vars.lastsep if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp elseif nss > 2 and vars.lastsep ~= nil then pmap[nss - 1] = vars.lastsep end pmap[1] = vars.header or '' if vars.footer ~= nil then pmap[nss + 1] = vars.footer end ctx.params = { [get_parameter_name(ctx.pipe[1])] = table.concat(pmap) } return argc end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local retval, tbl, nmax = {}, ctx.params, table.maxn(ctx.pipe) if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local argc = set_strings(ctx, ctx.pipe, 1) if argc < 2 then error(modulename .. ', ‘setting’: No directive was given', 0) end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local store, indices, tbl, newlen = {}, {}, ctx.params, 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl, tmp, nmin, nmax, nnums = ctx.params, {}, 1, nil, -1 for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cutting’: Left cut must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cutting’: Right cut must be an integer number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cropping’: Left crop must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cropping’: Right crop must be an integer number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil or math.floor(idx) ~= idx then error(modulename .. ', ‘purging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘purging’: Length must be an integer number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil or math.floor(last) ~= last then error(modulename .. ', ‘backpurging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘backpurging’: Length must be an integer number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|shifting|addend|pipe to library.shifting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local nshift = tonumber(ctx.pipe[1]) if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end local tbl = {} for key, val in pairs(ctx.params) do if type(key) == 'number' then tbl[key + nshift] = val else tbl[key] = val end end ctx.params = tbl return context_iterate(ctx, 2) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl, numerics, nmax = ctx.params, {}, 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl, numerics = ctx.params, {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl, cache, nsize = ctx.params, {}, 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]:match'^%s*(.-)%s*$'] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|splicing|[add to position]|position|increment| -- [number of elements to write]|...|pipe to library.splicing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, tbl = ctx.pipe, ctx.params local tmp1 = opts[1] local tmp2 local argc local pos local refp if tmp1 ~= nil then tmp2 = tonumber(tmp1) if tmp2 == nil or math.floor(tmp2) ~= tmp2 then pos, argc, tmp2 = tonumber(opts[2]), 4, tmp1:match'^%s*(.*%S)' if tmp2 ~= nil then refp = position_references[tmp2] if refp == nil then error(modulename .. ', ‘splicing’: ‘' .. tostring(tmp2) .. '’ is not a valid first argument', 0) end else refp = 0 end else pos, argc, refp = tmp2, 3, 0 end else pos, argc, refp = tonumber(opts[2]), 4, 0 end if pos == nil or math.floor(pos) ~= pos then error(modulename .. ', ‘splicing’: The position must be an integer number', 0) end local len = tonumber(opts[argc - 1]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘splicing’: The increment must be an integer number', 0) end if refp == 2 then for _ in ipairs(tbl) do pos = pos + 1 end refp = 0 end tmp1, tmp2 = nil, nil if refp ~= 0 or len ~= 0 then for key, val in pairs(tbl) do if type(key) == 'number' then if tmp1 == nil then tmp1, tmp2 = key, key elseif key < tmp1 then tmp1 = key elseif key > tmp2 then tmp2 = key end end end end if tmp2 == nil then len = 0 elseif refp == 3 then pos = pos + tmp2 elseif refp == 1 then pos = pos + tmp1 end if len > 0 and pos + len > tmp1 and pos <= tmp2 then tbl = copy_table_expanded(tbl, pos, len) elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then tbl = copy_table_reduced(tbl, pos, -len) else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end ctx.params = tbl tmp1 = tonumber(opts[argc]) if len == 0 and (tmp1 == nil or tmp1 < 1) then error(modulename .. ', ‘splicing’: When the increment is zero the number of elements to add cannot be zero', 0) end if tmp1 == nil or tmp1 < 0 or math.floor(tmp1) ~= tmp1 then return context_iterate(ctx, argc) end tmp2 = argc - pos + 1 for key = pos, pos + tmp1 - 1 do tbl[key] = opts[key + tmp2] end return context_iterate(ctx, argc + tmp1 + 1) end -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end ctx.params[get_parameter_name(ctx.pipe[1])] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = get_parameter_name(ctx.pipe[1]) if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[get_parameter_name(ctx.pipe[1])] = nil return context_iterate(ctx, 2) end local key = tonumber(ctx.pipe[1]) if key == nil or math.floor(key) ~= key then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end if len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘discarding’: A range can only be an integer number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to library.renaming_to_sequence = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[1]) local cache local len if do_sort then local words local wl cache, words, len, wl = get_key_list_sorted(tbl, sortfn) for idx = 1, len do cache[idx] = tbl[cache[idx]] end for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end else cache = {} len = 0 for _, val in pairs(tbl) do len = len + 1 cache[len] = val end end ctx.params = cache return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = get_parameter_name(ptn) local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil tbl[get_parameter_name(repl)] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end cache[get_parameter_name(table.concat(canvas))] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl, tmp = ctx.params, get_parameter_name(opts[1]) local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local cache = {} local mix_k, mix_v = ctx.pipe[1]:match'^%s*(.-)%s*$', ctx.pipe[2] local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[get_parameter_name(val)] = tostring(key) end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end cache[get_parameter_name(table.concat(cnv_k))] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining|new parameter name|[sort order]|setting -- directives|...|pipe to library.combining = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return key .. kvs .. val end, 'combining' ) + 1) end -- Syntax: #invoke:params|combining_values|new parameter name|[sort -- order]|setting directives|...|pipe to library.combining_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return val end, 'combining_values' ) + 1) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|combining_by_invoking|module name|function name|new -- parameter name|pipe to library.combining_by_invoking = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local mname = ctx.pipe[1] if mname ~= nil then mname = mname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No module name was provided', 0) end local fname = ctx.pipe[2] if fname ~= nil then fname = fname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No function name was provided', 0) end if ctx.pipe[3] == nil then error(modulename .. ', ‘combining_by_invoking’: No parameter name was provided', 0) end local model = { title = 'Module:' .. mname, args = ctx.params } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.params = { [get_parameter_name(ctx.pipe[3])] = tostring(mfunc(ctx.frame:newChild(model))) } return context_iterate(ctx, 4) end -- Syntax: #invoke:params|combining_by_magic|template name|new parameter name -- |pipe to library.combining_by_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local magic = ctx.pipe[1] if magic ~= nil then magic = magic:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_magic’: No parser function was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_magic’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:callParserFunction(magic, ctx.params) } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = get_parameter_name(opts[1]) if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local ret, nss, pps = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts, tbl = ctx.pipe, ctx.params for key, val in pairs(tbl) do tbl[key] = opts[get_parameter_name(val)] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts, tbl = ctx.pipe, ctx.params local tmp for key, val in pairs(tbl) do tmp = get_parameter_name(val) tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, pps, txt = {}, 0, ctx.itersep or '', ctx.pipe[1] or '' local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local opts, ret, nss, ccs = {}, {}, 0, ctx.itersep or '' for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) hepee9rm5lg9rn0yawjj37fx1fqgvt1 4621850 4621849 2026-03-19T01:16:43Z en>Grufo 0 Dummy edit to mention the other two modifier that were added to the module but were left out in the previous edit summary: ‘[[Module:Params#combining_by_invoking|combining_by_invoking]]’ and ‘[[Module:Params#combining_by_magic|combining_by_magic]] 4621850 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded) end -- Parse a parameter name string and return it as a string or a number local function get_parameter_name (par_str) local ret = par_str:match'^%s*(.-)%s*$' if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end return tonumber(ret) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache, tmp = {}, idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) local function copy_table_expanded (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = get_parameter_name(dkey) if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (tbl, sort_fn) local nums, words, nn, nw = {}, {}, 0, 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Possible position references for the `splicing` modifier local position_references = { add_nothing = 0, add_smallest_number = 1, add_last_of_sequence = 2, add_largest_number = 3 } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining = true, combining_by_calling = true, combining_values = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, renaming_to_sequence = true, renaming_to_uppercase = true, renaming_to_lowercase = true, --renaming_to_values = true, shifting = true, splicing = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Load a `setting`-like directive string into the `dest` table local function set_strings (dest, opts, start_from) local cmd if opts[start_from] == nil then return start_from - 1 end cmd = opts[start_from]:gsub('%s+', ''):gsub('/+', '/') :match'^/*(.*[^/])' if cmd == nil then return start_from end local amap, sep, argc = {}, string.byte('/'), start_from + 1 local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(amap) do dest[val] = opts[argc] amap[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(amap, vname) end end for key, val in ipairs(amap) do dest[val] = opts[argc] end return argc end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse a raw argument containing a `sortfunctions` directive, or -- `'without_sorting'`, or `nil` local function load_sort_opt (raw_arg) if raw_arg == nil then return nil, 1, false end local tmp = raw_arg:match'^%s*(.-)%s*$' if tmp == 'without_sorting' then return nil, 2, false end tmp = sortfunctions[tmp] if tmp == nil then return nil, 1, false end return tmp or nil, 2, true end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local tbl, pin = {}, start_from local names if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat names[get_parameter_name(src[pin + 1])] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end local tmp = tonumber(src[pin]) if tmp ~= nil and math.floor(tmp) == tmp then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style, shf = default_style, n_skip - 1 else shf = n_skip end local n_exist, karg, varg = style[3], style[4], style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, whoami) if opts[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. whoami .. '’: No replacement string was given', 0) end local ptn, repl, nmax, argc = opts[1], opts[2], tonumber(opts[3]), 3 if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, whoami) local ptns, state, nptns, cnt = {}, 0, 0, 1 local keyw for _, val in ipairs(opts) do if state == 0 then nptns, state = nptns + 1, -1 ptns[nptns] = { val, false, false } else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. whoami .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local tmp local argc, isp, psp = start_from, '|', '=' local optslots, noptslots = { true, true, true }, 3 local trimn, trimu, iplain, pplain = true, false, true, true repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn, trimu = tmp[1], tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain, isp = isep_parse_opts[tmp], opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain, psp = psep_parse_opts[tmp], opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = get_parameter_name(str:sub(1, spos1 - 1)) val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = get_parameter_name(val:sub(1, spos1 - 1)) val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Heavy lifting for `combining` and `combining_values` local function combine_parameters (ctx, keyval_fn, whoami) -- NOTE: `ctx.params` might be the original metatable! This function -- MUST create a copy of it before returning local opts = ctx.pipe if ctx.pipe[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No parameter name was provided', 0) end local tbl = ctx.params local vars = {} local sortfn, tmp, do_sort = load_sort_opt(opts[2]) local argc = set_strings(vars, opts, tmp + 1) if argc < tmp then error(modulename .. ', ‘' .. whoami .. '’: No setting directive was given', 0) end tmp = true for _ in pairs(tbl) do tmp = false break end if tmp then if vars.ifngiven ~= nil then ctx.params = { [get_parameter_name(ctx.pipe[1])] = vars.ifngiven } elseif tbl == ctx.oparams then ctx.params = {} end return argc end local cache local len if do_sort then local words cache, words, len, tmp = get_key_list_sorted(tbl, sortfn) for idx = 1, tmp do cache[len + idx] = words[idx] end len = len + tmp else cache = {} len = 0 for key in pairs(tbl) do len = len + 1 cache[len] = key end end local pmap, nss, kvs, pps = {}, 0, vars.pairsep or '', vars.itersep or '' for idx = 1, len do tmp = cache[idx] pmap[nss + 1] = pps pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs) nss = nss + 2 end tmp = vars.oxfordsep or vars.lastsep if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp elseif nss > 2 and vars.lastsep ~= nil then pmap[nss - 1] = vars.lastsep end pmap[1] = vars.header or '' if vars.footer ~= nil then pmap[nss + 1] = vars.footer end ctx.params = { [get_parameter_name(ctx.pipe[1])] = table.concat(pmap) } return argc end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local retval, tbl, nmax = {}, ctx.params, table.maxn(ctx.pipe) if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local argc = set_strings(ctx, ctx.pipe, 1) if argc < 2 then error(modulename .. ', ‘setting’: No directive was given', 0) end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local store, indices, tbl, newlen = {}, {}, ctx.params, 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl, tmp, nmin, nmax, nnums = ctx.params, {}, 1, nil, -1 for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cutting’: Left cut must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cutting’: Right cut must be an integer number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cropping’: Left crop must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cropping’: Right crop must be an integer number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil or math.floor(idx) ~= idx then error(modulename .. ', ‘purging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘purging’: Length must be an integer number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil or math.floor(last) ~= last then error(modulename .. ', ‘backpurging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘backpurging’: Length must be an integer number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|shifting|addend|pipe to library.shifting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local nshift = tonumber(ctx.pipe[1]) if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end local tbl = {} for key, val in pairs(ctx.params) do if type(key) == 'number' then tbl[key + nshift] = val else tbl[key] = val end end ctx.params = tbl return context_iterate(ctx, 2) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl, numerics, nmax = ctx.params, {}, 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl, numerics = ctx.params, {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl, cache, nsize = ctx.params, {}, 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]:match'^%s*(.-)%s*$'] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|splicing|[add to position]|position|increment| -- [number of elements to write]|...|pipe to library.splicing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, tbl = ctx.pipe, ctx.params local tmp1 = opts[1] local tmp2 local argc local pos local refp if tmp1 ~= nil then tmp2 = tonumber(tmp1) if tmp2 == nil or math.floor(tmp2) ~= tmp2 then pos, argc, tmp2 = tonumber(opts[2]), 4, tmp1:match'^%s*(.*%S)' if tmp2 ~= nil then refp = position_references[tmp2] if refp == nil then error(modulename .. ', ‘splicing’: ‘' .. tostring(tmp2) .. '’ is not a valid first argument', 0) end else refp = 0 end else pos, argc, refp = tmp2, 3, 0 end else pos, argc, refp = tonumber(opts[2]), 4, 0 end if pos == nil or math.floor(pos) ~= pos then error(modulename .. ', ‘splicing’: The position must be an integer number', 0) end local len = tonumber(opts[argc - 1]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘splicing’: The increment must be an integer number', 0) end if refp == 2 then for _ in ipairs(tbl) do pos = pos + 1 end refp = 0 end tmp1, tmp2 = nil, nil if refp ~= 0 or len ~= 0 then for key, val in pairs(tbl) do if type(key) == 'number' then if tmp1 == nil then tmp1, tmp2 = key, key elseif key < tmp1 then tmp1 = key elseif key > tmp2 then tmp2 = key end end end end if tmp2 == nil then len = 0 elseif refp == 3 then pos = pos + tmp2 elseif refp == 1 then pos = pos + tmp1 end if len > 0 and pos + len > tmp1 and pos <= tmp2 then tbl = copy_table_expanded(tbl, pos, len) elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then tbl = copy_table_reduced(tbl, pos, -len) else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end ctx.params = tbl tmp1 = tonumber(opts[argc]) if len == 0 and (tmp1 == nil or tmp1 < 1) then error(modulename .. ', ‘splicing’: When the increment is zero the number of elements to add cannot be zero', 0) end if tmp1 == nil or tmp1 < 0 or math.floor(tmp1) ~= tmp1 then return context_iterate(ctx, argc) end tmp2 = argc - pos + 1 for key = pos, pos + tmp1 - 1 do tbl[key] = opts[key + tmp2] end return context_iterate(ctx, argc + tmp1 + 1) end -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end ctx.params[get_parameter_name(ctx.pipe[1])] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = get_parameter_name(ctx.pipe[1]) if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[get_parameter_name(ctx.pipe[1])] = nil return context_iterate(ctx, 2) end local key = tonumber(ctx.pipe[1]) if key == nil or math.floor(key) ~= key then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end if len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘discarding’: A range can only be an integer number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to library.renaming_to_sequence = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[1]) local cache local len if do_sort then local words local wl cache, words, len, wl = get_key_list_sorted(tbl, sortfn) for idx = 1, len do cache[idx] = tbl[cache[idx]] end for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end else cache = {} len = 0 for _, val in pairs(tbl) do len = len + 1 cache[len] = val end end ctx.params = cache return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = get_parameter_name(ptn) local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil tbl[get_parameter_name(repl)] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end cache[get_parameter_name(table.concat(canvas))] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl, tmp = ctx.params, get_parameter_name(opts[1]) local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local cache = {} local mix_k, mix_v = ctx.pipe[1]:match'^%s*(.-)%s*$', ctx.pipe[2] local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[get_parameter_name(val)] = tostring(key) end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end cache[get_parameter_name(table.concat(cnv_k))] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining|new parameter name|[sort order]|setting -- directives|...|pipe to library.combining = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return key .. kvs .. val end, 'combining' ) + 1) end -- Syntax: #invoke:params|combining_values|new parameter name|[sort -- order]|setting directives|...|pipe to library.combining_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return val end, 'combining_values' ) + 1) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|combining_by_invoking|module name|function name|new -- parameter name|pipe to library.combining_by_invoking = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local mname = ctx.pipe[1] if mname ~= nil then mname = mname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No module name was provided', 0) end local fname = ctx.pipe[2] if fname ~= nil then fname = fname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No function name was provided', 0) end if ctx.pipe[3] == nil then error(modulename .. ', ‘combining_by_invoking’: No parameter name was provided', 0) end local model = { title = 'Module:' .. mname, args = ctx.params } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.params = { [get_parameter_name(ctx.pipe[3])] = tostring(mfunc(ctx.frame:newChild(model))) } return context_iterate(ctx, 4) end -- Syntax: #invoke:params|combining_by_magic|parser function|new parameter -- name|pipe to library.combining_by_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local magic = ctx.pipe[1] if magic ~= nil then magic = magic:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_magic’: No parser function was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_magic’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:callParserFunction(magic, ctx.params) } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = get_parameter_name(opts[1]) if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local ret, nss, pps = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts, tbl = ctx.pipe, ctx.params for key, val in pairs(tbl) do tbl[key] = opts[get_parameter_name(val)] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts, tbl = ctx.pipe, ctx.params local tmp for key, val in pairs(tbl) do tmp = get_parameter_name(val) tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, pps, txt = {}, 0, ctx.itersep or '', ctx.pipe[1] or '' local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local opts, ret, nss, ccs = {}, {}, 0, ctx.itersep or '' for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 3v3fmfwpozsjp20er2p03lxsolcyf51 4621851 4621850 2026-04-05T19:55:41Z en>Grufo 0 Remove redundant condition 4621851 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded) end -- Parse a parameter name string and return it as a string or a number local function get_parameter_name (par_str) local ret = par_str:match'^%s*(.-)%s*$' if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end return tonumber(ret) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache, tmp = {}, idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) local function copy_table_expanded (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = get_parameter_name(dkey) if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (tbl, sort_fn) local nums, words, nn, nw = {}, {}, 0, 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Possible position references for the `splicing` modifier local position_references = { add_nothing = 0, add_smallest_number = 1, add_last_of_sequence = 2, add_largest_number = 3 } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining = true, combining_by_calling = true, combining_values = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, renaming_to_sequence = true, renaming_to_uppercase = true, renaming_to_lowercase = true, --renaming_to_values = true, shifting = true, splicing = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (frame) local ctx = {} ctx.frame = frame ctx.oparams = frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Load a `setting`-like directive string into the `dest` table local function set_strings (dest, opts, start_from) local cmd if opts[start_from] == nil then return start_from - 1 end cmd = opts[start_from]:gsub('%s+', ''):gsub('/+', '/') :match'^/*(.*[^/])' if cmd == nil then return start_from end local amap, sep, argc = {}, string.byte('/'), start_from + 1 local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(amap) do dest[val] = opts[argc] amap[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(amap, vname) end end for key, val in ipairs(amap) do dest[val] = opts[argc] end return argc end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse a raw argument containing a `sortfunctions` directive, or -- `'without_sorting'`, or `nil` local function load_sort_opt (raw_arg) if raw_arg == nil then return nil, 1, false end local tmp = raw_arg:match'^%s*(.-)%s*$' if tmp == 'without_sorting' then return nil, 2, false end tmp = sortfunctions[tmp] if tmp == nil then return nil, 1, false end return tmp or nil, 2, true end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local tbl, pin = {}, start_from local names if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat names[get_parameter_name(src[pin + 1])] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end local tmp = tonumber(src[pin]) if tmp ~= nil and math.floor(tmp) == tmp then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style, shf = default_style, n_skip - 1 else shf = n_skip end local n_exist, karg, varg = style[3], style[4], style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, whoami) if opts[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. whoami .. '’: No replacement string was given', 0) end local ptn, repl, nmax, argc = opts[1], opts[2], tonumber(opts[3]), 3 if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, whoami) local ptns, state, nptns, cnt = {}, 0, 0, 1 local keyw for _, val in ipairs(opts) do if state == 0 then nptns, state = nptns + 1, -1 ptns[nptns] = { val, false, false } else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. whoami .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from) local tmp local argc, isp, psp = start_from, '|', '=' local optslots, noptslots = { true, true, true }, 3 local trimn, trimu, iplain, pplain = true, false, true, true repeat noptslots = noptslots - 1 tmp = opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn, trimu = tmp[1], tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain, isp = isep_parse_opts[tmp], opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain, psp = psep_parse_opts[tmp], opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return tbl end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = get_parameter_name(str:sub(1, spos1 - 1)) val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return tbl end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return tbl end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = get_parameter_name(val:sub(1, spos1 - 1)) val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return tbl end -- Heavy lifting for `combining` and `combining_values` local function combine_parameters (ctx, keyval_fn, whoami) -- NOTE: `ctx.params` might be the original metatable! This function -- MUST create a copy of it before returning local opts = ctx.pipe if ctx.pipe[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No parameter name was provided', 0) end local tbl = ctx.params local vars = {} local sortfn, tmp, do_sort = load_sort_opt(opts[2]) local argc = set_strings(vars, opts, tmp + 1) if argc < tmp then error(modulename .. ', ‘' .. whoami .. '’: No setting directive was given', 0) end tmp = true for _ in pairs(tbl) do tmp = false break end if tmp then if vars.ifngiven ~= nil then ctx.params = { [get_parameter_name(ctx.pipe[1])] = vars.ifngiven } elseif tbl == ctx.oparams then ctx.params = {} end return argc end local cache local len if do_sort then local words cache, words, len, tmp = get_key_list_sorted(tbl, sortfn) for idx = 1, tmp do cache[len + idx] = words[idx] end len = len + tmp else cache = {} len = 0 for key in pairs(tbl) do len = len + 1 cache[len] = key end end local pmap, nss, kvs, pps = {}, 0, vars.pairsep or '', vars.itersep or '' for idx = 1, len do tmp = cache[idx] pmap[nss + 1] = pps pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs) nss = nss + 2 end tmp = vars.oxfordsep or vars.lastsep if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp elseif nss > 2 and vars.lastsep ~= nil then pmap[nss - 1] = vars.lastsep end pmap[1] = vars.header or '' if vars.footer ~= nil then pmap[nss + 1] = vars.footer end ctx.params = { [get_parameter_name(ctx.pipe[1])] = table.concat(pmap) } return argc end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local retval, tbl, nmax = {}, ctx.params, table.maxn(ctx.pipe) if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local argc = set_strings(ctx, ctx.pipe, 1) if argc < 2 then error(modulename .. ', ‘setting’: No directive was given', 0) end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local store, indices, tbl, newlen = {}, {}, ctx.params, 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl, tmp, nmin, nmax, nnums = ctx.params, {}, 1, nil, -1 for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cutting’: Left cut must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cutting’: Right cut must be an integer number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cropping’: Left crop must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cropping’: Right crop must be an integer number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil or math.floor(idx) ~= idx then error(modulename .. ', ‘purging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘purging’: Length must be an integer number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil or math.floor(last) ~= last then error(modulename .. ', ‘backpurging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘backpurging’: Length must be an integer number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|shifting|addend|pipe to library.shifting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local nshift = tonumber(ctx.pipe[1]) if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end local tbl = {} for key, val in pairs(ctx.params) do if type(key) == 'number' then tbl[key + nshift] = val else tbl[key] = val end end ctx.params = tbl return context_iterate(ctx, 2) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl, numerics, nmax = ctx.params, {}, 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl, numerics = ctx.params, {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl, cache, nsize = ctx.params, {}, 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]:match'^%s*(.-)%s*$'] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|splicing|[add to position]|position|increment| -- [number of elements to write]|...|pipe to library.splicing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, tbl = ctx.pipe, ctx.params local tmp1 = opts[1] local tmp2 local argc local pos local refp if tmp1 ~= nil then tmp2 = tonumber(tmp1) if tmp2 == nil or math.floor(tmp2) ~= tmp2 then pos, argc, tmp2 = tonumber(opts[2]), 4, tmp1:match'^%s*(.*%S)' if tmp2 ~= nil then refp = position_references[tmp2] if refp == nil then error(modulename .. ', ‘splicing’: ‘' .. tostring(tmp2) .. '’ is not a valid first argument', 0) end else refp = 0 end else pos, argc, refp = tmp2, 3, 0 end else pos, argc, refp = tonumber(opts[2]), 4, 0 end if pos == nil or math.floor(pos) ~= pos then error(modulename .. ', ‘splicing’: The position must be an integer number', 0) end local len = tonumber(opts[argc - 1]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘splicing’: The increment must be an integer number', 0) end if refp == 2 then for _ in ipairs(tbl) do pos = pos + 1 end refp = 0 end tmp1, tmp2 = nil, nil if refp ~= 0 or len ~= 0 then for key, val in pairs(tbl) do if type(key) == 'number' then if tmp1 == nil then tmp1, tmp2 = key, key elseif key < tmp1 then tmp1 = key elseif key > tmp2 then tmp2 = key end end end end if tmp2 == nil then len = 0 elseif refp == 3 then pos = pos + tmp2 elseif refp == 1 then pos = pos + tmp1 end if len > 0 and pos + len > tmp1 and pos <= tmp2 then tbl = copy_table_expanded(tbl, pos, len) elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then tbl = copy_table_reduced(tbl, pos, -len) else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end ctx.params = tbl tmp1 = tonumber(opts[argc]) if len == 0 and (tmp1 == nil or tmp1 < 1) then error(modulename .. ', ‘splicing’: When the increment is zero the number of elements to add cannot be zero', 0) end if tmp1 == nil or tmp1 < 0 or math.floor(tmp1) ~= tmp1 then return context_iterate(ctx, argc) end tmp2 = argc - pos + 1 for key = pos, pos + tmp1 - 1 do tbl[key] = opts[key + tmp2] end return context_iterate(ctx, argc + tmp1 + 1) end -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end ctx.params[get_parameter_name(ctx.pipe[1])] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = get_parameter_name(ctx.pipe[1]) if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[get_parameter_name(ctx.pipe[1])] = nil return context_iterate(ctx, 2) end local key = tonumber(ctx.pipe[1]) if key == nil or math.floor(key) ~= key then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end if len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘discarding’: A range can only be an integer number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to library.renaming_to_sequence = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[1]) local cache local len if do_sort then local words local wl cache, words, len, wl = get_key_list_sorted(tbl, sortfn) for idx = 1, len do cache[idx] = tbl[cache[idx]] end for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end else cache = {} len = 0 for _, val in pairs(tbl) do len = len + 1 cache[len] = val end end ctx.params = cache return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = get_parameter_name(ptn) local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil tbl[get_parameter_name(repl)] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end cache[get_parameter_name(table.concat(canvas))] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2) local tbl, tmp = ctx.params, get_parameter_name(opts[1]) local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local cache = {} local mix_k, mix_v = ctx.pipe[1]:match'^%s*(.-)%s*$', ctx.pipe[2] local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[get_parameter_name(val)] = tostring(key) end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end cache[get_parameter_name(table.concat(cnv_k))] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining|new parameter name|[sort order]|setting -- directives|...|pipe to library.combining = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return key .. kvs .. val end, 'combining' ) + 1) end -- Syntax: #invoke:params|combining_values|new parameter name|[sort -- order]|setting directives|...|pipe to library.combining_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return val end, 'combining_values' ) + 1) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|combining_by_invoking|module name|function name|new -- parameter name|pipe to library.combining_by_invoking = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local mname = ctx.pipe[1] if mname ~= nil then mname = mname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No module name was provided', 0) end local fname = ctx.pipe[2] if fname ~= nil then fname = fname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No function name was provided', 0) end if ctx.pipe[3] == nil then error(modulename .. ', ‘combining_by_invoking’: No parameter name was provided', 0) end local model = { title = 'Module:' .. mname, args = ctx.params } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.params = { [get_parameter_name(ctx.pipe[3])] = tostring(mfunc(ctx.frame:newChild(model))) } return context_iterate(ctx, 4) end -- Syntax: #invoke:params|combining_by_magic|parser function|new parameter -- name|pipe to library.combining_by_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local magic = ctx.pipe[1] if magic ~= nil then magic = magic:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_magic’: No parser function was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_magic’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:callParserFunction(magic, ctx.params) } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = get_parameter_name(opts[1]) if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local ret, nss, pps = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts, tbl = ctx.pipe, ctx.params for key, val in pairs(tbl) do tbl[key] = opts[get_parameter_name(val)] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts, tbl = ctx.pipe, ctx.params local tmp for key, val in pairs(tbl) do tmp = get_parameter_name(val) tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, pps, txt = {}, 0, ctx.itersep or '', ctx.pipe[1] or '' local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local opts, ret, nss, ccs = {}, {}, 0, ctx.itersep or '' for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (frame) local ctx = context_new(frame:getParent()) ctx.pipe = copy_or_ref_table(frame.args, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) a1hnx1r33em4f37pe7q5brwqfl2nnaj 4621852 4621851 2026-04-22T14:45:28Z en>Grufo 0 A new modifier has been added to the module: ‘[[Module:Params#evaluating|evaluating]]’ 4621852 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded) end -- Parse a parameter name string and return it as a string or a number local function get_parameter_name (par_str) local ret = par_str:match'^%s*(.-)%s*$' if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end return tonumber(ret) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache, tmp = {}, idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) local function copy_table_expanded (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = get_parameter_name(dkey) if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (tbl, sort_fn) local nums, words, nn, nw = {}, {}, 0, 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Possible position references for the `splicing` modifier local position_references = { add_nothing = 0, add_smallest_number = 1, add_last_of_sequence = 2, add_largest_number = 3 } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, evaluating = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining = true, combining_by_calling = true, combining_values = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, renaming_to_sequence = true, renaming_to_uppercase = true, renaming_to_lowercase = true, --renaming_to_values = true, shifting = true, splicing = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (child_frame) local ctx = {} ctx.frame = child_frame:getParent() ctx.opipe = child_frame.args ctx.oparams = ctx.frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Load a `setting`-like directive string into the `dest` table local function set_strings (dest, opts, start_from) local cmd if opts[start_from] == nil then return start_from - 1 end cmd = opts[start_from]:gsub('%s+', ''):gsub('/+', '/') :match'^/*(.*[^/])' if cmd == nil then return start_from end local amap, sep, argc = {}, string.byte('/'), start_from + 1 local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(amap) do dest[val] = opts[argc] amap[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(amap, vname) end end for key, val in ipairs(amap) do dest[val] = opts[argc] end return argc end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse a raw argument containing a `sortfunctions` directive, or -- `'without_sorting'`, or `nil` local function load_sort_opt (raw_arg) if raw_arg == nil then return nil, 1, false end local tmp = raw_arg:match'^%s*(.-)%s*$' if tmp == 'without_sorting' then return nil, 2, false end tmp = sortfunctions[tmp] if tmp == nil then return nil, 1, false end return tmp or nil, 2, true end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local tbl, pin = {}, start_from local names if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat names[get_parameter_name(src[pin + 1])] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end local tmp = tonumber(src[pin]) if tmp ~= nil and math.floor(tmp) == tmp then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style, shf = default_style, n_skip - 1 else shf = n_skip end local n_exist, karg, varg = style[3], style[4], style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, whoami) if opts[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. whoami .. '’: No replacement string was given', 0) end local ptn, repl, nmax, argc = opts[1], opts[2], tonumber(opts[3]), 3 if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, whoami) local ptns, state, nptns, cnt = {}, 0, 0, 1 local keyw for _, val in ipairs(opts) do if state == 0 then nptns, state = nptns + 1, -1 ptns[nptns] = { val, false, false } else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. whoami .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from, isp, psp) local tmp local optslots, noptslots, argc = { true, true, true }, 3, start_from local trimn, trimu, iplain, pplain = true, false, true, true repeat noptslots, tmp = noptslots - 1, opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn, trimu = tmp[1], tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain, isp = isep_parse_opts[tmp], opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain, psp = psep_parse_opts[tmp], opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return idx end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = get_parameter_name(str:sub(1, spos1 - 1)) val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return idx end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return idx end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = get_parameter_name(val:sub(1, spos1 - 1)) val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return idx end -- Heavy lifting for `combining` and `combining_values` local function combine_parameters (ctx, keyval_fn, whoami) -- NOTE: `ctx.params` might be the original metatable! This function -- MUST create a copy of it before returning local opts = ctx.pipe if ctx.pipe[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No parameter name was provided', 0) end local tbl = ctx.params local vars = {} local sortfn, tmp, do_sort = load_sort_opt(opts[2]) local argc = set_strings(vars, opts, tmp + 1) if argc < tmp then error(modulename .. ', ‘' .. whoami .. '’: No setting directive was given', 0) end tmp = true for _ in pairs(tbl) do tmp = false break end if tmp then if vars.ifngiven ~= nil then ctx.params = { [get_parameter_name(ctx.pipe[1])] = vars.ifngiven } elseif tbl == ctx.oparams then ctx.params = {} end return argc end local cache local len if do_sort then local words cache, words, len, tmp = get_key_list_sorted(tbl, sortfn) for idx = 1, tmp do cache[len + idx] = words[idx] end len = len + tmp else cache = {} len = 0 for key in pairs(tbl) do len = len + 1 cache[len] = key end end local pmap, nss, kvs, pps = {}, 0, vars.pairsep or '', vars.itersep or '' for idx = 1, len do tmp = cache[idx] pmap[nss + 1] = pps pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs) nss = nss + 2 end tmp = vars.oxfordsep or vars.lastsep if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp elseif nss > 2 and vars.lastsep ~= nil then pmap[nss - 1] = vars.lastsep end pmap[1] = vars.header or '' if vars.footer ~= nil then pmap[nss + 1] = vars.footer end ctx.params = { [get_parameter_name(ctx.pipe[1])] = table.concat(pmap) } return argc end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local retval, tbl, nmax = {}, ctx.params, table.maxn(ctx.pipe) if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local argc = set_strings(ctx, ctx.pipe, 1) if argc < 2 then error(modulename .. ', ‘setting’: No directive was given', 0) end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local store, indices, tbl, newlen = {}, {}, ctx.params, 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl, tmp, nmin, nmax, nnums = ctx.params, {}, 1, nil, -1 for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cutting’: Left cut must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cutting’: Right cut must be an integer number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cropping’: Left crop must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cropping’: Right crop must be an integer number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil or math.floor(idx) ~= idx then error(modulename .. ', ‘purging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘purging’: Length must be an integer number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil or math.floor(last) ~= last then error(modulename .. ', ‘backpurging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘backpurging’: Length must be an integer number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|shifting|addend|pipe to library.shifting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local nshift = tonumber(ctx.pipe[1]) if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end local tbl = {} for key, val in pairs(ctx.params) do if type(key) == 'number' then tbl[key + nshift] = val else tbl[key] = val end end ctx.params = tbl return context_iterate(ctx, 2) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl, numerics, nmax = ctx.params, {}, 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl, numerics = ctx.params, {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl, cache, nsize = ctx.params, {}, 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]:match'^%s*(.-)%s*$'] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|splicing|[add to position]|position|increment| -- [number of elements to write]|...|pipe to library.splicing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, tbl = ctx.pipe, ctx.params local tmp1 = opts[1] local tmp2 local argc local pos local refp if tmp1 ~= nil then tmp2 = tonumber(tmp1) if tmp2 == nil or math.floor(tmp2) ~= tmp2 then pos, argc, tmp2 = tonumber(opts[2]), 4, tmp1:match'^%s*(.*%S)' if tmp2 ~= nil then refp = position_references[tmp2] if refp == nil then error(modulename .. ', ‘splicing’: ‘' .. tostring(tmp2) .. '’ is not a valid first argument', 0) end else refp = 0 end else pos, argc, refp = tmp2, 3, 0 end else pos, argc, refp = tonumber(opts[2]), 4, 0 end if pos == nil or math.floor(pos) ~= pos then error(modulename .. ', ‘splicing’: The position must be an integer number', 0) end local len = tonumber(opts[argc - 1]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘splicing’: The increment must be an integer number', 0) end if refp == 2 then for _ in ipairs(tbl) do pos = pos + 1 end refp = 0 end tmp1, tmp2 = nil, nil if refp ~= 0 or len ~= 0 then for key, val in pairs(tbl) do if type(key) == 'number' then if tmp1 == nil then tmp1, tmp2 = key, key elseif key < tmp1 then tmp1 = key elseif key > tmp2 then tmp2 = key end end end end if tmp2 == nil then len = 0 elseif refp == 3 then pos = pos + tmp2 elseif refp == 1 then pos = pos + tmp1 end if len > 0 and pos + len > tmp1 and pos <= tmp2 then tbl = copy_table_expanded(tbl, pos, len) elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then tbl = copy_table_reduced(tbl, pos, -len) else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end ctx.params = tbl tmp1 = tonumber(opts[argc]) if len == 0 and (tmp1 == nil or tmp1 < 1) then error(modulename .. ', ‘splicing’: When the increment is zero the number of elements to add cannot be zero', 0) end if tmp1 == nil or tmp1 < 0 or math.floor(tmp1) ~= tmp1 then return context_iterate(ctx, argc) end tmp2 = argc - pos + 1 for key = pos, pos + tmp1 - 1 do tbl[key] = opts[key + tmp2] end return context_iterate(ctx, argc + tmp1 + 1) end -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end ctx.params[get_parameter_name(ctx.pipe[1])] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = get_parameter_name(ctx.pipe[1]) if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[get_parameter_name(ctx.pipe[1])] = nil return context_iterate(ctx, 2) end local key = tonumber(ctx.pipe[1]) if key == nil or math.floor(key) ~= key then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end if len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘discarding’: A range can only be an integer number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to library.renaming_to_sequence = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[1]) local cache local len if do_sort then local words local wl cache, words, len, wl = get_key_list_sorted(tbl, sortfn) for idx = 1, len do cache[idx] = tbl[cache[idx]] end for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end else cache = {} len = 0 for _, val in pairs(tbl) do len = len + 1 cache[len] = val end end ctx.params = cache return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = get_parameter_name(ptn) local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil tbl[get_parameter_name(repl)] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end cache[get_parameter_name(table.concat(canvas))] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2, '|', '=') parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2, '|', '=') local tbl, tmp = ctx.params, get_parameter_name(opts[1]) local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|evaluating|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.evaluating = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘evaluating’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2, '!', ':') if opts[1]:match'^%s*(.*%S)' == nil then ctx.pipe = copy_or_ref_table(opts, opts ~= ctx.opipe) return context_iterate(ctx, argc) end local new_opts, cache = {}, {} local shift = parse_parameter_string(cache, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) - argc for key, val in pairs(opts) do if type(key) ~= 'number' or key < 1 then new_opts[key] = val elseif key >= argc then new_opts[key + shift] = val end end for key, val in pairs(cache) do new_opts[key] = val end ctx.pipe = new_opts return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local cache = {} local mix_k, mix_v = ctx.pipe[1]:match'^%s*(.-)%s*$', ctx.pipe[2] local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[get_parameter_name(val)] = tostring(key) end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end cache[get_parameter_name(table.concat(cnv_k))] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining|new parameter name|[sort order]|setting -- directives|...|pipe to library.combining = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return key .. kvs .. val end, 'combining' ) + 1) end -- Syntax: #invoke:params|combining_values|new parameter name|[sort -- order]|setting directives|...|pipe to library.combining_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return val end, 'combining_values' ) + 1) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|combining_by_invoking|module name|function name|new -- parameter name|pipe to library.combining_by_invoking = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local mname = ctx.pipe[1] if mname ~= nil then mname = mname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No module name was provided', 0) end local fname = ctx.pipe[2] if fname ~= nil then fname = fname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No function name was provided', 0) end if ctx.pipe[3] == nil then error(modulename .. ', ‘combining_by_invoking’: No parameter name was provided', 0) end local model = { title = 'Module:' .. mname, args = ctx.params } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.params = { [get_parameter_name(ctx.pipe[3])] = tostring(mfunc(ctx.frame:newChild(model))) } return context_iterate(ctx, 4) end -- Syntax: #invoke:params|combining_by_magic|parser function|new parameter -- name|pipe to library.combining_by_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local magic = ctx.pipe[1] if magic ~= nil then magic = magic:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_magic’: No parser function was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_magic’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:callParserFunction(magic, ctx.params) } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = get_parameter_name(opts[1]) if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local ret, nss, pps = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts, tbl = ctx.pipe, ctx.params for key, val in pairs(tbl) do tbl[key] = opts[get_parameter_name(val)] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts, tbl = ctx.pipe, ctx.params local tmp for key, val in pairs(tbl) do tmp = get_parameter_name(val) tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, pps, txt = {}, 0, ctx.itersep or '', ctx.pipe[1] or '' local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local opts, ret, nss, ccs = {}, {}, 0, ctx.itersep or '' for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (child_frame) local ctx = context_new(child_frame) ctx.pipe = copy_or_ref_table(ctx.opipe, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (child_frame) local ctx = context_new(child_frame) ctx.pipe = copy_or_ref_table(ctx.opipe, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 0zh9yszcu1lo1rpmyh2ls1na8hemel4 4621853 4621852 2026-05-22T22:49:43Z Jacob.jose 1784 [[:en:Module:Params]] എന്നതിൽ നിന്ന് 26 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621852 Scribunto text/plain require[[strict]] --- --- --- LOCAL ENVIRONMENT --- --- ________________________________ --- --- --- --[[ Abstract utilities ]]-- ---------------------------- -- Helper function for `string.gsub()` (for managing zero-padded numbers) local function zero_padded (str) return ('%03d%s'):format(#str, str) end -- Helper function for `table.sort()` (for natural sorting) local function natural_sort (var1, var2) return var1:gsub('%d+', zero_padded) < var2:gsub('%d+', zero_padded) end -- Parse a parameter name string and return it as a string or a number local function get_parameter_name (par_str) local ret = par_str:match'^%s*(.-)%s*$' if ret ~= '0' and ret:find'^%-?[1-9]%d*$' == nil then return ret end return tonumber(ret) end -- Return a copy or a reference to a table local function copy_or_ref_table (src, refonly) if refonly then return src end local newtab = {} for key, val in pairs(src) do newtab[key] = val end return newtab end -- Remove some numeric elements from a table, shifting everything to the left local function remove_numeric_keys (tbl, idx, len) local cache, tmp = {}, idx + len - 1 for key, val in pairs(tbl) do if type(key) == 'number' and key >= idx then if key > tmp then cache[key - len] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end -- Make a reduced copy of a table (shifting in both directions if necessary) local function copy_table_reduced (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val elseif key > tmp then ret[key - len] = val end end elseif tmp > 0 then local nshift = 1 - idx for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > tmp then ret[key - tmp] = val elseif key < idx then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val elseif key < idx then ret[key + len] = val end end end return ret end -- Make an expanded copy of a table (shifting in both directions if necessary) local function copy_table_expanded (tbl, idx, len) local ret, tmp = {}, idx + len - 1 if idx > 0 then for key, val in pairs(tbl) do if type(key) ~= 'number' or key < idx then ret[key] = val else ret[key + len] = val end end elseif tmp > 0 then local nshift = idx - 1 for key, val in pairs(tbl) do if type(key) ~= 'number' then ret[key] = val elseif key > 0 then ret[key + tmp] = val elseif key < 1 then ret[key + nshift] = val end end else for key, val in pairs(tbl) do if type(key) ~= 'number' or key > tmp then ret[key] = val else ret[key - len] = val end end end return ret end -- Move a key from a table to another, but only if under a different name and -- always parsing numeric strings as numbers local function steal_if_renamed (val, src, skey, dest, dkey) local realkey = get_parameter_name(dkey) if skey ~= realkey then dest[realkey] = val src[skey] = nil end end -- Given a table, create two new tables containing the sorted list of keys local function get_key_list_sorted (tbl, sort_fn) local nums, words, nn, nw = {}, {}, 0, 0 for key, val in pairs(tbl) do if type(key) == 'number' then nn = nn + 1 nums[nn] = key else nw = nw + 1 words[nw] = key end end table.sort(nums) table.sort(words, sort_fn) return nums, words, nn, nw end --[[ Public strings ]]-- ------------------------ -- Special match keywords (functions and modifiers MUST avoid these names) local mkeywords = { ['or'] = 0, pattern = 1, plain = 2, strict = 3 } -- Sort functions (functions and modifiers MUST avoid these names) local sortfunctions = { alphabetically = false, naturally = natural_sort } -- Callback styles for the `mapping_*` and `renaming_*` class of modifiers -- (functions and modifiers MUST avoid these names) --[[ Meanings of the columns: col[1] = Loop type (0-3) col[2] = Number of module arguments that the style requires (1-3) col[3] = Minimum number of sequential parameters passed to the callback col[4] = Name of the callback parameter where to place each parameter name col[5] = Name of the callback parameter where to place each parameter value col[6] = Argument in the modifier's invocation that will override `col[4]` col[7] = Argument in the modifier's invocation that will override `col[5]` A value of `-1` indicates that no meaningful value is stored (i.e. `nil`) ]]-- local mapping_styles = { names_and_values = { 3, 2, 2, 1, 2, -1, -1 }, values_and_names = { 3, 2, 2, 2, 1, -1, -1 }, values_only = { 1, 2, 1, -1, 1, -1, -1 }, names_only = { 2, 2, 1, 1, -1, -1, -1 }, names_and_values_as = { 3, 4, 0, -1, -1, 2, 3 }, names_only_as = { 2, 3, 0, -1, -1, 2, -1 }, values_only_as = { 1, 3, 0, -1, -1, -1, 2 }, blindly = { 0, 2, 0, -1, -1, -1, -1 } } -- Memory slots (functions and modifiers MUST avoid these names) local memoryslots = { h = 'header', f = 'footer', i = 'itersep', l = 'lastsep', n = 'ifngiven', p = 'pairsep', s = 'oxfordsep' } -- Possible trimming modes for the `parsing` modifier local trim_parse_opts = { trim_none = { false, false }, trim_positional = { false, true }, trim_named = { true, false }, trim_all = { true, true } } -- Possible string modes for the iteration separator in the `parsing` and -- `reinterpreting` modifiers local isep_parse_opts = { splitter_pattern = false, splitter_string = true } -- Possible string modes for the key-value separator in the `parsing` and -- `reinterpreting` modifiers local psep_parse_opts = { setter_pattern = false, setter_string = true } -- Possible position references for the `splicing` modifier local position_references = { add_nothing = 0, add_smallest_number = 1, add_last_of_sequence = 2, add_largest_number = 3 } -- Functions and modifiers MUST avoid these names too: `let` --[[ Module's private environment ]]-- -------------------------------------- -- Hard-coded name of the module (to avoid going through `frame:getTitle()`) local modulename = 'Module:Params' -- The functions listed here declare that they don't need the `frame.args` -- metatable to be copied into a regular table; if they are modifiers they also -- guarantee that they will make their own (modified) copy available local refpipe = { call_for_each_group = true, coins = true, count = true, evaluating = true, for_each = true, list = true, list_values = true, list_maybe_with_names = true, value_of = true } -- The functions listed here declare that they don't need the -- `frame:getParent().args` metatable to be copied into a regular table; if -- they are modifiers they also guarantee that they will make their own -- (modified) copy available local refparams = { call_for_each_group = true, combining = true, combining_by_calling = true, combining_values = true, concat_and_call = true, concat_and_invoke = true, concat_and_magic = true, count = true, grouping_by_calling = true, mixing_names_and_values = true, renaming_by_mixing = true, renaming_to_sequence = true, renaming_to_uppercase = true, renaming_to_lowercase = true, --renaming_to_values = true, shifting = true, splicing = true, --swapping_names_and_values = true, value_of = true, with_name_matching = true } -- Maximum number of numeric parameters that can be filled, if missing (we -- chose an arbitrary number for this constant; you can discuss about its -- optimal value at Module talk:Params) local maxfill = 1024 -- The private table of functions local library = {} -- Functions and modifiers that can only be invoked in first position local static_iface = {} -- Create a new context local function context_new (child_frame) local ctx = {} ctx.frame = child_frame:getParent() ctx.opipe = child_frame.args ctx.oparams = ctx.frame.args ctx.firstposonly = static_iface ctx.iterfunc = pairs ctx.sorttype = 0 ctx.n_parents = 0 ctx.n_children = 0 ctx.n_available = maxfill return ctx end -- Move to the next action within the user-given list local function context_iterate (ctx, n_forward) local nextfn if ctx.pipe[n_forward] ~= nil then nextfn = ctx.pipe[n_forward]:match'^%s*(.*%S)' end if nextfn == nil then error(modulename .. ': You must specify a function to call', 0) end if library[nextfn] == nil then if ctx.firstposonly[nextfn] == nil then error(modulename .. ': The function ‘' .. nextfn .. '’ does not exist', 0) else error(modulename .. ': The ‘' .. nextfn .. '’ directive can only appear in first position', 0) end end remove_numeric_keys(ctx.pipe, 1, n_forward) return library[nextfn] end -- Main loop local function main_loop (ctx, start_with) local fn = start_with repeat fn = fn(ctx) until not fn if ctx.n_parents > 0 then error(modulename .. ': One or more ‘merging_substack’ directives are missing', 0) end if ctx.n_children > 0 then error(modulename .. ', For some of the snapshots either the ‘flushing’ directive is missing or a group has not been properly closed with ‘merging_substack’', 0) end end -- Load a `setting`-like directive string into the `dest` table local function set_strings (dest, opts, start_from) local cmd if opts[start_from] == nil then return start_from - 1 end cmd = opts[start_from]:gsub('%s+', ''):gsub('/+', '/') :match'^/*(.*[^/])' if cmd == nil then return start_from end local amap, sep, argc = {}, string.byte('/'), start_from + 1 local vname local chr for idx = 1, #cmd do chr = cmd:byte(idx) if chr == sep then for key, val in ipairs(amap) do dest[val] = opts[argc] amap[key] = nil end argc = argc + 1 else vname = memoryslots[string.char(chr)] if vname == nil then error(modulename .. ', ‘setting’: Unknown slot ‘' .. string.char(chr) .. '’', 0) end table.insert(amap, vname) end end for key, val in ipairs(amap) do dest[val] = opts[argc] end return argc end -- Add a new stack of parameters to `ctx.children` local function push_cloned_stack (ctx, tbl) local newparams = {} local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { newparams } else ctx.children[currsnap] = newparams end for key, val in pairs(tbl) do newparams[key] = val end ctx.n_children = currsnap end -- Parse a raw argument containing a `sortfunctions` directive, or -- `'without_sorting'`, or `nil` local function load_sort_opt (raw_arg) if raw_arg == nil then return nil, 1, false end local tmp = raw_arg:match'^%s*(.-)%s*$' if tmp == 'without_sorting' then return nil, 2, false end tmp = sortfunctions[tmp] if tmp == nil then return nil, 1, false end return tmp or nil, 2, true end -- Parse optional user arguments of type `...|[let]|[...][number of additional -- parameters]|[parameter 1]|[parameter 2]|[...]` local function load_child_opts (src, start_from, append_after) local tbl, pin = {}, start_from local names if src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and src[pin + 1] ~= nil and src[pin + 2] ~= nil then names = {} repeat names[get_parameter_name(src[pin + 1])] = src[pin + 2] pin = pin + 3 until src[pin] == nil or not src[pin]:match'^%s*let%s*$' or src[pin + 1] == nil or src[pin + 2] == nil end local tmp = tonumber(src[pin]) if tmp ~= nil and math.floor(tmp) == tmp then if tmp < 0 then tmp = -1 end local shf = append_after - pin for idx = pin + 1, pin + tmp do tbl[idx + shf] = src[idx] end pin = pin + tmp + 1 end if names ~= nil then for key, val in pairs(names) do tbl[key] = val end end return tbl, pin end -- Load the optional arguments of some of the `mapping_*` and `renaming_*` -- class of modifiers local function load_callback_opts (src, n_skip, default_style) local style local shf local tmp = src[n_skip + 1] if tmp ~= nil then style = mapping_styles[tmp:match'^%s*(.-)%s*$'] end if style == nil then style, shf = default_style, n_skip - 1 else shf = n_skip end local n_exist, karg, varg = style[3], style[4], style[5] tmp = style[6] if tmp > -1 then karg = src[tmp + shf]:match'^%s*(.-)%s*$' if karg == '0' or karg:find'^%-?[1-9]%d*$' ~= nil then karg = tonumber(karg) n_exist = math.max(n_exist, karg) end end tmp = style[7] if tmp > -1 then varg = src[tmp + shf]:match'^%s*(.-)%s*$' if varg == '0' or varg:find'^%-?[1-9]%d*$' ~= nil then varg = tonumber(varg) n_exist = math.max(n_exist, varg) end end local dest, nargs = load_child_opts(src, style[2] + shf, n_exist) tmp = style[1] if (tmp == 3 or tmp == 2) and dest[karg] ~= nil then tmp = tmp - 2 end if (tmp == 3 or tmp == 1) and dest[varg] ~= nil then tmp = tmp - 1 end return dest, nargs, tmp, karg, varg end -- Parse the arguments of some of the `mapping_*` and `renaming_*` class of -- modifiers local function load_replace_args (opts, whoami) if opts[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No pattern string was given', 0) end if opts[2] == nil then error(modulename .. ', ‘' .. whoami .. '’: No replacement string was given', 0) end local ptn, repl, nmax, argc = opts[1], opts[2], tonumber(opts[3]), 3 if nmax ~= nil or (opts[3] or ''):match'^%s*$' ~= nil then argc = 4 end local flg = opts[argc] if flg ~= nil then flg = mkeywords[flg:match'^%s*(.-)%s*$'] end if flg == 0 then flg = nil elseif flg ~= nil then argc = argc + 1 end return ptn, repl, nmax, flg, argc, (nmax ~= nil and nmax < 1) or (flg == 3 and ptn == repl) end -- Parse the arguments of the `with_*_matching` class of modifiers local function load_pattern_args (opts, whoami) local ptns, state, nptns, cnt = {}, 0, 0, 1 local keyw for _, val in ipairs(opts) do if state == 0 then nptns, state = nptns + 1, -1 ptns[nptns] = { val, false, false } else keyw = val:match'^%s*(.*%S)' if keyw == nil or mkeywords[keyw] == nil or ( state > 0 and mkeywords[keyw] > 0 ) then break else state = mkeywords[keyw] if state > 1 then ptns[nptns][2] = true end if state == 3 then ptns[nptns][3] = true end end end cnt = cnt + 1 end if state == 0 then error(modulename .. ', ‘' .. whoami .. '’: No pattern was given', 0) end return ptns, nptns, cnt end -- Load the optional arguments of the `parsing` and `reinterpreting` modifiers local function load_parse_opts (opts, start_from, isp, psp) local tmp local optslots, noptslots, argc = { true, true, true }, 3, start_from local trimn, trimu, iplain, pplain = true, false, true, true repeat noptslots, tmp = noptslots - 1, opts[argc] if tmp == nil then break end tmp = tmp:match'^%s*(.-)%s*$' if optslots[1] ~= nil and trim_parse_opts[tmp] ~= nil then tmp = trim_parse_opts[tmp] trimn, trimu = tmp[1], tmp[2] optslots[1] = nil elseif optslots[2] ~= nil and isep_parse_opts[tmp] ~= nil then argc = argc + 1 iplain, isp = isep_parse_opts[tmp], opts[argc] optslots[2] = nil elseif optslots[3] ~= nil and psep_parse_opts[tmp] ~= nil then argc = argc + 1 pplain, psp = psep_parse_opts[tmp], opts[argc] optslots[3] = nil else break end argc = argc + 1 until noptslots < 1 return isp, iplain, psp, pplain, trimn, trimu, argc end -- Map parameters' values using a custom callback and a referenced table local value_maps = { [0] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do tbl[key] = fn() end end, [1] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[varg] = val tbl[key] = fn() end end, [2] = function (tbl, margs, karg, varg, fn) for key in pairs(tbl) do margs[karg] = key tbl[key] = fn() end end, [3] = function (tbl, margs, karg, varg, fn) for key, val in pairs(tbl) do margs[karg] = key margs[varg] = val tbl[key] = fn() end end } -- Private table for `map_names()` local name_thieves = { [0] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, fn()) end end, [1] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end, [2] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key steal_if_renamed(val, tbl, key, cache, fn()) end end, [3] = function (cache, tbl, rargs, karg, varg, fn) for key, val in pairs(tbl) do rargs[karg] = key rargs[varg] = val steal_if_renamed(val, tbl, key, cache, fn()) end end } -- Map parameters' names using a custom callback and a referenced table local function map_names (tbl, rargs, karg, varg, looptype, fn) local cache = {} name_thieves[looptype](cache, tbl, rargs, karg, varg, fn) for key, val in pairs(cache) do tbl[key] = val end end -- Return a new table that contains `src` regrouped according to the numeric -- suffixes in its keys local function make_groups (src) -- NOTE: `src` might be the original metatable! local prefix local gid local groups = {} for key, val in pairs(src) do -- `key` must only be a string or a number... if type(key) == 'string' then prefix, gid = key:match'^%s*(.-)%s*(%-?%d*)%s*$' gid = tonumber(gid) or '' else prefix = '' gid = key end if groups[gid] == nil then groups[gid] = {} end if prefix == '0' or prefix:find'^%-?[1-9]%d*$' ~= nil then prefix = tonumber(prefix) if prefix < 1 then prefix = prefix - 1 end end groups[gid][prefix] = val end return groups end -- Split into parts a string containing the `$#` and `$@` placeholders and -- return the information as a skeleton table, a canvas table and a length local function parse_placeholder_string (target) local skel = {} local canvas = {} local idx = 1 local s_pos = 1 local e_pos = string.find(target, '%$[@#]', 1, false) while e_pos ~= nil do canvas[idx] = target:sub(s_pos, e_pos - 1) skel[idx + 1] = target:sub(e_pos, e_pos + 1) == '$@' idx = idx + 2 s_pos = e_pos + 2 e_pos = string.find(target, '%$[@#]', s_pos, false) end if (s_pos > target:len()) then idx = idx - 1 else canvas[idx] = target:sub(s_pos) end return skel, canvas, idx end -- Populate a table by parsing a parameter string local function parse_parameter_string (tbl, str, isp, ipl, psp, ppl, trn, tru) local key local val local spos1 local spos2 local pos1 local pos2 local pos3 = 0 local idx = 1 local lenplone = #str + 1 if isp == nil or isp == '' then if psp == nil or psp == '' then if tru then tbl[idx] = str:match'^%s*(.-)%s*$' else tbl[idx] = str end return idx end spos1, spos2 = str:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = str:match'^%s*(.-)%s*$' else val = str end idx = idx + 1 else key = get_parameter_name(str:sub(1, spos1 - 1)) val = str:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val return idx end if psp == nil or psp == '' then repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) if tru then val = val:match'^%s*(.-)%s*$' end tbl[idx] = val idx = idx + 1 until pos2 == nil return idx end repeat pos1 = pos3 + 1 pos2, pos3 = str:find(isp, pos1, ipl) val = str:sub(pos1, (pos2 or lenplone) - 1) spos1, spos2 = val:find(psp, 1, ppl) if spos1 == nil then key = idx if tru then val = val:match'^%s*(.-)%s*$' end idx = idx + 1 else key = get_parameter_name(val:sub(1, spos1 - 1)) val = val:sub(spos2 + 1) if trn then val = val:match'^%s*(.-)%s*$' end end tbl[key] = val until pos2 == nil return idx end -- Heavy lifting for `combining` and `combining_values` local function combine_parameters (ctx, keyval_fn, whoami) -- NOTE: `ctx.params` might be the original metatable! This function -- MUST create a copy of it before returning local opts = ctx.pipe if ctx.pipe[1] == nil then error(modulename .. ', ‘' .. whoami .. '’: No parameter name was provided', 0) end local tbl = ctx.params local vars = {} local sortfn, tmp, do_sort = load_sort_opt(opts[2]) local argc = set_strings(vars, opts, tmp + 1) if argc < tmp then error(modulename .. ', ‘' .. whoami .. '’: No setting directive was given', 0) end tmp = true for _ in pairs(tbl) do tmp = false break end if tmp then if vars.ifngiven ~= nil then ctx.params = { [get_parameter_name(ctx.pipe[1])] = vars.ifngiven } elseif tbl == ctx.oparams then ctx.params = {} end return argc end local cache local len if do_sort then local words cache, words, len, tmp = get_key_list_sorted(tbl, sortfn) for idx = 1, tmp do cache[len + idx] = words[idx] end len = len + tmp else cache = {} len = 0 for key in pairs(tbl) do len = len + 1 cache[len] = key end end local pmap, nss, kvs, pps = {}, 0, vars.pairsep or '', vars.itersep or '' for idx = 1, len do tmp = cache[idx] pmap[nss + 1] = pps pmap[nss + 2] = keyval_fn(tmp, tbl[tmp], kvs) nss = nss + 2 end tmp = vars.oxfordsep or vars.lastsep if tmp ~= nil and nss > 4 then pmap[nss - 1] = tmp elseif nss > 2 and vars.lastsep ~= nil then pmap[nss - 1] = vars.lastsep end pmap[1] = vars.header or '' if vars.footer ~= nil then pmap[nss + 1] = vars.footer end ctx.params = { [get_parameter_name(ctx.pipe[1])] = table.concat(pmap) } return argc end -- Concatenate the numeric keys from the table of parameters to the numeric -- keys from the table of options; non-numeric keys from the table of options -- will prevail over colliding non-numeric keys from the table of parameters local function concat_params (ctx) local retval, tbl, nmax = {}, ctx.params, table.maxn(ctx.pipe) if ctx.subset == 1 then -- We need only the sequence for key, val in ipairs(tbl) do retval[key + nmax] = val end else if ctx.subset == -1 then for key in ipairs(tbl) do tbl[key] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then retval[key + nmax] = val else retval[key] = val end end end for key, val in pairs(ctx.pipe) do retval[key] = val end return retval end -- Flush the parameters by calling a custom function for each value (after this -- function has been invoked `ctx.params` will be no longer usable) local function flush_params (ctx, fn) local tbl = ctx.params if ctx.subset == 1 then for key, val in ipairs(tbl) do fn(key, val) end return end if ctx.subset == -1 then for key, val in ipairs(tbl) do tbl[key] = nil end end if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) if ctx.sorttype == 2 then for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end return end for idx = 1, nn do fn(nums[idx], tbl[nums[idx]]) end for idx = 1, nw do fn(words[idx], tbl[words[idx]]) end return end if ctx.subset ~= -1 then for key, val in ipairs(tbl) do fn(key, val) tbl[key] = nil end end for key, val in pairs(tbl) do fn(key, val) end end -- Flush the parameters by calling one of two custom functions for each value -- (after this function has been invoked `ctx.params` will be no longer usable) local function mixed_flush_params (ctx, fn_seq, fn_oth) if ctx.subset == 1 then for key, val in ipairs(ctx.params) do fn_seq(key, val) end return end if ctx.subset == -1 then flush_params(ctx, fn_oth) return end local tbl = ctx.params if ctx.sorttype > 0 then local nums, words, nn, nw = get_key_list_sorted(tbl, natural_sort) local sequence = {} for key, val in ipairs(tbl) do sequence[key] = val end if ctx.sorttype == 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end for idx = 1, nn do if sequence[nums[idx]] then fn_seq(nums[idx], sequence[nums[idx]]) else fn_oth(nums[idx], tbl[nums[idx]]) end end if ctx.sorttype ~= 2 then for idx = 1, nw do fn_oth(words[idx], tbl[words[idx]]) end end return end for key, val in ipairs(tbl) do fn_seq(key, val) tbl[key] = nil end for key, val in pairs(tbl) do fn_oth(key, val) end end -- Finalize and return a concatenated list local function finalize_and_return_concatenated_list (ctx, lst, len, modsize) if len > 0 then local tmp = ctx.oxfordsep or ctx.lastsep if tmp ~= nil and len > modsize * 2 then lst[len - modsize + 1] = tmp elseif len > modsize and ctx.lastsep ~= nil then lst[len - modsize + 1] = ctx.lastsep end lst[1] = ctx.header or '' if ctx.footer ~= nil then lst[len + 1] = ctx.footer end ctx.text = table.concat(lst) else ctx.text = ctx.ifngiven or '' end end --[[ Modifiers ]]-- ----------------------------- -- Syntax: #invoke:params|sequential|pipe to library.sequential = function (ctx) if ctx.subset == -1 then error(modulename .. ': The two directives ‘non-sequential’ and ‘sequential’ are in contradiction with each other', 0) end if ctx.sorttype > 0 then error(modulename .. ': The ‘all_sorted’ and ‘reassorted’ directives are redundant when followed by ‘sequential’', 0) end ctx.iterfunc = ipairs ctx.subset = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|non-sequential|pipe to library['non-sequential'] = function (ctx) if ctx.subset == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘non-sequential’ are in contradiction with each other', 0) end ctx.iterfunc = pairs ctx.subset = -1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|all_sorted|pipe to library.all_sorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘all_sorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 2 then error(modulename .. ': The two directives ‘reassorted’ and ‘sequential’ are in contradiction with each other', 0) end ctx.sorttype = 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|reassorted|pipe to library.reassorted = function (ctx) if ctx.subset == 1 then error(modulename .. ': The ‘reassorted’ directive is redundant after ‘sequential’', 0) end if ctx.sorttype == 1 then error(modulename .. ': The two directives ‘sequential’ and ‘reassorted’ are in contradiction with each other', 0) end ctx.sorttype = 2 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|setting|directives|...|pipe to library.setting = function (ctx) local argc = set_strings(ctx, ctx.pipe, 1) if argc < 2 then error(modulename .. ', ‘setting’: No directive was given', 0) end return context_iterate(ctx, argc + 1) end -- Syntax: #invoke:params|scoring|new parameter name|pipe to --[[ library.scoring = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘scoring’: No parameter name was provided', 0) end local retval = 0 for _ in pairs(ctx.params) do retval = retval + 1 end ctx.params[ctx.pipe[1]:match'^%s*(.-)%s*$'] = tostring(retval) return context_iterate(ctx, 2) end ]]-- -- Syntax: #invoke:params|squeezing|pipe to library.squeezing = function (ctx) local store, indices, tbl, newlen = {}, {}, ctx.params, 0 for key, val in pairs(tbl) do if type(key) == 'number' then newlen = newlen + 1 indices[newlen] = key store[key] = val tbl[key] = nil end end table.sort(indices) for idx = 1, newlen do tbl[idx] = store[indices[idx]] end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|filling_the_gaps|pipe to library.filling_the_gaps = function (ctx) local tbl, tmp, nmin, nmax, nnums = ctx.params, {}, 1, nil, -1 for key, val in pairs(tbl) do if type(key) == 'number' then if nmax == nil then if key < nmin then nmin = key end nmax = key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end nnums = nnums + 1 tmp[key] = val end end if nmax ~= nil and nmax - nmin > nnums then ctx.n_available = ctx.n_available + nmin + nnums - nmax if ctx.n_available < 0 then error(modulename .. ', ‘filling_the_gaps’: It is possible to fill at most ' .. tostring(maxfill) .. ' parameters', 0) end for idx = nmin, nmax, 1 do tbl[idx] = '' end for key, val in pairs(tmp) do tbl[key] = val end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|clearing|pipe to library.clearing = function (ctx) local tbl = ctx.params local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in ipairs(numerics) do tbl[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|cutting|left cut|right cut|pipe to library.cutting = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cutting’: Left cut must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cutting’: Right cut must be an integer number', 0) end local tbl = ctx.params local len = #tbl if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end local tot = lcut + rcut if tot > 0 then local cache = {} if tot >= len then for key in ipairs(tbl) do tbl[key] = nil end tot = len else for idx = len - rcut + 1, len, 1 do tbl[idx] = nil end for idx = 1, lcut, 1 do tbl[idx] = nil end end for key, val in pairs(tbl) do if type(key) == 'number' and key > 0 then if key > len then cache[key - tot] = val else cache[key - lcut] = val end tbl[key] = nil end end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|cropping|left crop|right crop|pipe to library.cropping = function (ctx) local lcut = tonumber(ctx.pipe[1]) if lcut == nil or math.floor(lcut) ~= lcut then error(modulename .. ', ‘cropping’: Left crop must be an integer number', 0) end local rcut = tonumber(ctx.pipe[2]) if rcut == nil or math.floor(rcut) ~= rcut then error(modulename .. ', ‘cropping’: Right crop must be an integer number', 0) end local tbl = ctx.params local nmin local nmax for key in pairs(tbl) do if type(key) == 'number' then if nmin == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end if nmin ~= nil then local len = nmax - nmin + 1 if lcut < 0 then lcut = len + lcut end if rcut < 0 then rcut = len + rcut end if lcut + rcut - len > -1 then for key in pairs(tbl) do if type(key) == 'number' then tbl[key] = nil end end elseif lcut + rcut > 0 then for idx = nmax - rcut + 1, nmax do tbl[idx] = nil end for idx = nmin, nmin + lcut - 1 do tbl[idx] = nil end local lshift = nmin + lcut - 1 if lshift > 0 then for idx = lshift + 1, nmax, 1 do tbl[idx - lshift] = tbl[idx] tbl[idx] = nil end end end end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|purging|start offset|length|pipe to library.purging = function (ctx) local idx = tonumber(ctx.pipe[1]) if idx == nil or math.floor(idx) ~= idx then error(modulename .. ', ‘purging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘purging’: Length must be an integer number', 0) end local tbl = ctx.params if len < 1 then len = len + table.maxn(tbl) if idx > len then return context_iterate(ctx, 3) end len = len - idx + 1 end ctx.params = copy_table_reduced(tbl, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|backpurging|start offset|length|pipe to library.backpurging = function (ctx) local last = tonumber(ctx.pipe[1]) if last == nil or math.floor(last) ~= last then error(modulename .. ', ‘backpurging’: Start offset must be an integer number', 0) end local len = tonumber(ctx.pipe[2]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘backpurging’: Length must be an integer number', 0) end local idx local tbl = ctx.params if len > 0 then idx = last - len + 1 else for key in pairs(tbl) do if type(key) == 'number' and (idx == nil or key < idx) then idx = key end end if idx == nil then return context_iterate(ctx, 3) end idx = idx - len if last < idx then return context_iterate(ctx, 3) end len = last - idx + 1 end ctx.params = copy_table_reduced(ctx.params, idx, len) return context_iterate(ctx, 3) end -- Syntax: #invoke:params|shifting|addend|pipe to library.shifting = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local nshift = tonumber(ctx.pipe[1]) if nshift == nil or nshift == 0 or math.floor(nshift) ~= nshift then error(modulename .. ', ‘shifting’: A non-zero integer number must be provided', 0) end local tbl = {} for key, val in pairs(ctx.params) do if type(key) == 'number' then tbl[key + nshift] = val else tbl[key] = val end end ctx.params = tbl return context_iterate(ctx, 2) end -- Syntax: #invoke:params|reversing_numeric_names|pipe to library.reversing_numeric_names = function (ctx) local tbl, numerics, nmax = ctx.params, {}, 0 for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if key > nmax then nmax = key end end end for key, val in pairs(numerics) do tbl[nmax - key + 1] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pivoting_numeric_names|pipe to --[[ library.pivoting_numeric_names = function (ctx) local tbl = ctx.params local shift = #tbl + 1 if shift < 2 then return library.reversing_numeric_names(ctx) end local numerics = {} for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil end end for key, val in pairs(numerics) do tbl[shift - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|mirroring_numeric_names|pipe to --[[ library.mirroring_numeric_names = function (ctx) local tbl, numerics = ctx.params, {} local nmax local nmin for key, val in pairs(tbl) do if type(key) == 'number' then numerics[key] = val tbl[key] = nil if nmax == nil then nmin, nmax = key, key elseif key > nmax then nmax = key elseif key < nmin then nmin = key end end end for key, val in pairs(numerics) do tbl[nmax + nmin - key] = val end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|swapping_numeric_names|pipe to --[[ library.swapping_numeric_names = function (ctx) local tbl, cache, nsize = ctx.params, {}, 0 local tmp for key in pairs(tbl) do if type(key) == 'number' then nsize = nsize + 1 cache[nsize] = key end end table.sort(cache) for idx = math.floor(nsize / 2), 1, -1 do tmp = tbl[cache[idx] ] tbl[cache[idx] ] = tbl[cache[nsize - idx + 1] ] tbl[cache[nsize - idx + 1] ] = tmp end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|sorting_sequential_values|[criterion]|pipe to library.sorting_sequential_values = function (ctx) local sortfn if ctx.pipe[1] ~= nil then sortfn = sortfunctions[ctx.pipe[1]:match'^%s*(.-)%s*$'] end if sortfn then table.sort(ctx.params, sortfn) else table.sort(ctx.params) end -- i.e. either `false` or `nil` if sortfn == nil then return context_iterate(ctx, 1) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|splicing|[add to position]|position|increment| -- [number of elements to write]|...|pipe to library.splicing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts, tbl = ctx.pipe, ctx.params local tmp1 = opts[1] local tmp2 local argc local pos local refp if tmp1 ~= nil then tmp2 = tonumber(tmp1) if tmp2 == nil or math.floor(tmp2) ~= tmp2 then pos, argc, tmp2 = tonumber(opts[2]), 4, tmp1:match'^%s*(.*%S)' if tmp2 ~= nil then refp = position_references[tmp2] if refp == nil then error(modulename .. ', ‘splicing’: ‘' .. tostring(tmp2) .. '’ is not a valid first argument', 0) end else refp = 0 end else pos, argc, refp = tmp2, 3, 0 end else pos, argc, refp = tonumber(opts[2]), 4, 0 end if pos == nil or math.floor(pos) ~= pos then error(modulename .. ', ‘splicing’: The position must be an integer number', 0) end local len = tonumber(opts[argc - 1]) if len == nil or math.floor(len) ~= len then error(modulename .. ', ‘splicing’: The increment must be an integer number', 0) end if refp == 2 then for _ in ipairs(tbl) do pos = pos + 1 end refp = 0 end tmp1, tmp2 = nil, nil if refp ~= 0 or len ~= 0 then for key, val in pairs(tbl) do if type(key) == 'number' then if tmp1 == nil then tmp1, tmp2 = key, key elseif key < tmp1 then tmp1 = key elseif key > tmp2 then tmp2 = key end end end end if tmp2 == nil then len = 0 elseif refp == 3 then pos = pos + tmp2 elseif refp == 1 then pos = pos + tmp1 end if len > 0 and pos + len > tmp1 and pos <= tmp2 then tbl = copy_table_expanded(tbl, pos, len) elseif len < 0 and pos - len > tmp1 and pos <= tmp2 then tbl = copy_table_reduced(tbl, pos, -len) else tbl = copy_or_ref_table(tbl, tbl ~= ctx.oparams) end ctx.params = tbl tmp1 = tonumber(opts[argc]) if len == 0 and (tmp1 == nil or tmp1 < 1) then error(modulename .. ', ‘splicing’: When the increment is zero the number of elements to add cannot be zero', 0) end if tmp1 == nil or tmp1 < 0 or math.floor(tmp1) ~= tmp1 then return context_iterate(ctx, argc) end tmp2 = argc - pos + 1 for key = pos, pos + tmp1 - 1 do tbl[key] = opts[key + tmp2] end return context_iterate(ctx, argc + tmp1 + 1) end -- Syntax: #invoke:params|imposing|name|value|pipe to library.imposing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘imposing’: Missing parameter name to impose', 0) end ctx.params[get_parameter_name(ctx.pipe[1])] = ctx.pipe[2] return context_iterate(ctx, 3) end -- Syntax: #invoke:params|providing|name|value|pipe to library.providing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘providing’: Missing parameter name to provide', 0) end local key = get_parameter_name(ctx.pipe[1]) if ctx.params[key] == nil then ctx.params[key] = ctx.pipe[2] end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|discarding|name|[how many]|pipe to library.discarding = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘discarding’: Missing parameter name to discard', 0) end local len = tonumber(ctx.pipe[2]) if len == nil then ctx.params[get_parameter_name(ctx.pipe[1])] = nil return context_iterate(ctx, 2) end local key = tonumber(ctx.pipe[1]) if key == nil or math.floor(key) ~= key then error(modulename .. ', ‘discarding’: A range was provided, but the initial parameter name is not an integer number', 0) end if len < 1 or math.floor(len) ~= len then error(modulename .. ', ‘discarding’: A range can only be an integer number greater than zero', 0) end for idx = key, key + len - 1 do ctx.params[idx] = nil end return context_iterate(ctx, 3) end -- Syntax: #invoke:params|excluding_non-numeric_names|pipe to library['excluding_non-numeric_names'] = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) ~= 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|excluding_numeric_names|pipe to library.excluding_numeric_names = function (ctx) local tmp = ctx.params for key, val in pairs(tmp) do if type(key) == 'number' then tmp[key] = nil end end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|with_name_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_name_matching = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_matching') local tmp local ptn local tbl = ctx.params local newparams = {} for idx = 1, nptns do ptn = targets[idx] if ptn[3] then tmp = ptn[1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tmp = tonumber(tmp) end newparams[tmp] = tbl[tmp] else for key, val in pairs(tbl) do if tostring(key):find(ptn[1], 1, ptn[2]) then newparams[key] = val end end end end ctx.params = newparams return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_name_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_name_not_matching = function (ctx) local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_name_not_matching') local tbl = ctx.params if nptns == 1 and targets[1][3] then local tmp = targets[1][1] if tmp == '0' or tmp:find'^%-?[1-9]%d*$' ~= nil then tbl[tonumber(tmp)] = nil else tbl[tmp] = nil end return context_iterate(ctx, argc) end local yesmatch local ptn for key in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if tostring(key) ~= ptn[1] then yesmatch = false break end elseif not tostring(key):find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_matching|target 1|[plain flag 1]|[or] -- |[target 2]|[plain flag 2]|[or]|[...]|[target N]|[plain flag -- N]|pipe to library.with_value_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_matching') local nomatch local ptn for key, val in pairs(tbl) do nomatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val == ptn[1] then nomatch = false break end elseif val:find(ptn[1], 1, ptn[2]) then nomatch = false break end end if nomatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|with_value_not_matching|target 1|[plain flag 1] -- |[and]|[target 2]|[plain flag 2]|[and]|[...]|[target N]|[plain -- flag N]|pipe to library.with_value_not_matching = function (ctx) local tbl = ctx.params local targets, nptns, argc = load_pattern_args(ctx.pipe, 'with_value_not_matching') local yesmatch local ptn for key, val in pairs(tbl) do yesmatch = true for idx = 1, nptns do ptn = targets[idx] if ptn[3] then if val ~= ptn[1] then yesmatch = false break end elseif not val:find(ptn[1], 1, ptn[2]) then yesmatch = false break end end if yesmatch then tbl[key] = nil end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|trimming_values|pipe to library.trimming_values = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:match'^%s*(.-)%s*$' end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_lowercase|pipe to library.mapping_to_lowercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:lower() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_to_uppercase|pipe to library.mapping_to_uppercase = function (ctx) local tbl = ctx.params for key, val in pairs(tbl) do tbl[key] = val:upper() end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mapping_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.mapping_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘mapping_by_calling’: No template name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) local model = { title = tname, args = margs } value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘mapping_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘mapping_by_invoking’: No function name was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.values_only) local model = { title = 'Module:' .. mname, args = margs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end value_maps[looptype](ctx.params, margs, karg, varg, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.mapping_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘mapping_by_magic’: No parser function was provided', 0) end local margs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.values_only) value_maps[looptype](ctx.params, margs, karg, varg, function () return ctx.frame:callParserFunction(magic, margs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.mapping_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'mapping_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then for key, val in pairs(tbl) do if val == ptn then tbl[key] = repl end end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end for key, val in pairs(tbl) do tbl[key] = val:gsub(ptn, repl, nmax) end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|mapping_by_mixing|mixing string|pipe to library.mapping_by_mixing = function (ctx) if ctx.pipe[1] == nil then error(modulename .. ', ‘mapping_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1] local tbl = ctx.params if mix == '$#' then for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 2) end local skel, cnv, n_parts = parse_placeholder_string(mix) for key, val in pairs(tbl) do for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end tbl[key] = table.concat(cnv) end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|mapping_to_names|pipe to --[[ library.mapping_to_names = function (ctx) local tbl = ctx.params for key in pairs(tbl) do tbl[key] = tostring(key) end return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|renaming_to_lowercase|pipe to library.renaming_to_lowercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:lower()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_uppercase|pipe to library.renaming_to_uppercase = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do if type(key) == 'string' then cache[key:upper()] = val else cache[key] = val end end ctx.params = cache return context_iterate(ctx, 1) end -- Syntax: #invoke:params|renaming_to_sequence|[sort order]|pipe to library.renaming_to_sequence = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tbl = ctx.params local sortfn, argc, do_sort = load_sort_opt(ctx.pipe[1]) local cache local len if do_sort then local words local wl cache, words, len, wl = get_key_list_sorted(tbl, sortfn) for idx = 1, len do cache[idx] = tbl[cache[idx]] end for idx = 1, wl do cache[len + idx] = tbl[words[idx]] end else cache = {} len = 0 for _, val in pairs(tbl) do len = len + 1 cache[len] = val end end ctx.params = cache return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_calling|template name|[call -- style]|[let]|[...][number of additional parameters]|[parameter -- 1]|[parameter 2]|[...]|[parameter N]|pipe to library.renaming_by_calling = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘renaming_by_calling’: No template name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) local model = { title = tname, args = rargs } map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:expandTemplate(model) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_invoking|module name|function -- name|[call style]|[let]|[...]|[number of additional -- arguments]|[argument 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_invoking = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘renaming_by_invoking’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘renaming_by_invoking’: No function name was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 2, mapping_styles.names_only) local model = { title = 'Module:' .. mname, args = rargs } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘renaming_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end map_names(ctx.params, rargs, karg, varg, looptype, function () return tostring(mfunc(ctx.frame:newChild(model))) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_magic|parser function|[call -- style]|[let]|[...][number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.renaming_by_magic = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘renaming_by_magic’: No parser function was provided', 0) end local rargs, argc, looptype, karg, varg = load_callback_opts(opts, 1, mapping_styles.names_only) map_names(ctx.params, rargs, karg, varg, looptype, function () return ctx.frame:callParserFunction(magic, rargs) end) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_replacing|target|replace|[count]|[plain -- flag]|pipe to library.renaming_by_replacing = function (ctx) local ptn, repl, nmax, flg, argc, die = load_replace_args(ctx.pipe, 'renaming_by_replacing') if die then return context_iterate(ctx, argc) end local tbl = ctx.params if flg == 3 then ptn = get_parameter_name(ptn) local val = tbl[ptn] if val ~= nil then tbl[ptn] = nil tbl[get_parameter_name(repl)] = val end else if flg == 2 then -- Copied from Module:String's `str._escapePattern()` ptn = ptn:gsub('[%(%)%.%%%+%-%*%?%[%^%$%]]', '%%%0') end local cache = {} for key, val in pairs(tbl) do steal_if_renamed(val, tbl, key, cache, tostring(key):gsub(ptn, repl, nmax)) end for key, val in pairs(cache) do tbl[key] = val end end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|renaming_by_mixing|mixing string|pipe to library.renaming_by_mixing = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘renaming_by_mixing’: No mixing string was provided', 0) end local mix = ctx.pipe[1]:match'^%s*(.-)%s*$' local cache = {} local tmp if mix == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end else local skel, canvas, n_parts = parse_placeholder_string(mix) for key, val in pairs(ctx.params) do for idx = 2, n_parts, 2 do if skel[idx] then canvas[idx] = val else canvas[idx] = tostring(key) end end cache[get_parameter_name(table.concat(canvas))] = val end end ctx.params = cache return context_iterate(ctx, 2) end -- Syntax: #invoke:params|renaming_to_values|pipe to --[[ library.renaming_to_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for _, val in pairs(ctx.params) do cache[val] = val end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|grouping_by_calling|template -- name|[let]|[...]|[number of additional arguments]|[argument -- 1]|[argument 2]|[...]|[argument N]|pipe to library.grouping_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘grouping_by_calling’: No template name was provided', 0) end local model = { title = tmp } local tmp, argc = load_child_opts(opts, 2, 0) local gargs = {} for key, val in pairs(tmp) do if type(key) == 'number' and key < 1 then gargs[key - 1] = val else gargs[key] = val end end local groups = make_groups(ctx.params) for gid, group in pairs(groups) do for key, val in pairs(gargs) do group[key] = val end group[0] = gid model.args = group groups[gid] = ctx.frame:expandTemplate(model) end ctx.params = groups return context_iterate(ctx, argc) end -- Syntax: #invoke:params|parsing|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.parsing = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘parsing’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2, '|', '=') parse_parameter_string(ctx.params, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) return context_iterate(ctx, argc) end -- Syntax: #invoke:params|reinterpreting|parameter to reinterpret|[trim -- flag]|[iteration delimiter setter]|[...]|[key-value delimiter -- setter]|[...]|pipe to library.reinterpreting = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘reinterpreting’: No parameter to reinterpret was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2, '|', '=') local tbl, tmp = ctx.params, get_parameter_name(opts[1]) local str = tbl[tmp] if str ~= nil then tbl[tmp] = nil parse_parameter_string(tbl, str, isep, iplain, psep, pplain, trimnamed, trimunnamed) end return context_iterate(ctx, argc) end -- Syntax: #invoke:params|evaluating|string to parse|[trim flag]|[iteration -- delimiter setter]|[...]|[key-value delimiter setter]|[...]|pipe to library.evaluating = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘evaluating’: No string to parse was provided', 0) end local isep, iplain, psep, pplain, trimnamed, trimunnamed, argc = load_parse_opts(opts, 2, '!', ':') if opts[1]:match'^%s*(.*%S)' == nil then ctx.pipe = copy_or_ref_table(opts, opts ~= ctx.opipe) return context_iterate(ctx, argc) end local new_opts, cache = {}, {} local shift = parse_parameter_string(cache, opts[1], isep, iplain, psep, pplain, trimnamed, trimunnamed) - argc for key, val in pairs(opts) do if type(key) ~= 'number' or key < 1 then new_opts[key] = val elseif key >= argc then new_opts[key + shift] = val end end for key, val in pairs(cache) do new_opts[key] = val end ctx.pipe = new_opts return context_iterate(ctx, 1) end -- Syntax: #invoke:params|mixing_names_and_values|mixing string|pipe to library.mixing_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning if ctx.pipe[1] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter names', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘mixing_names_and_values’: No mixing string was provided for parameter values', 0) end local cache = {} local mix_k, mix_v = ctx.pipe[1]:match'^%s*(.-)%s*$', ctx.pipe[2] local tmp if mix_k == '$@' and mix_v == '$@' then for _, val in pairs(ctx.params) do cache[get_parameter_name(val)] = val end elseif mix_k == '$@' and mix_v == '$#' then for key, val in pairs(ctx.params) do cache[get_parameter_name(val)] = tostring(key) end elseif mix_k == '$#' and mix_v == '$#' then for _, val in pairs(ctx.params) do cache[key] = tostring(key) end else local skel_k, cnv_k, n_parts_k = parse_placeholder_string(mix_k) local skel_v, cnv_v, n_parts_v = parse_placeholder_string(mix_v) for key, val in pairs(ctx.params) do tmp = tostring(key) for idx = 2, n_parts_k, 2 do if skel_k[idx] then cnv_k[idx] = val else cnv_k[idx] = tmp end end for idx = 2, n_parts_v, 2 do if skel_v[idx] then cnv_v[idx] = val else cnv_v[idx] = tmp end end cache[get_parameter_name(table.concat(cnv_k))] = table.concat(cnv_v) end end ctx.params = cache return context_iterate(ctx, 3) end -- Syntax: #invoke:params|swapping_names_and_values|pipe to --[[ library.swapping_names_and_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local cache = {} for key, val in pairs(ctx.params) do cache[val] = key end ctx.params = cache return context_iterate(ctx, 1) end ]]-- -- Syntax: #invoke:params|combining|new parameter name|[sort order]|setting -- directives|...|pipe to library.combining = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return key .. kvs .. val end, 'combining' ) + 1) end -- Syntax: #invoke:params|combining_values|new parameter name|[sort -- order]|setting directives|...|pipe to library.combining_values = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning return context_iterate(ctx, combine_parameters( ctx, function (key, val, kvs) return val end, 'combining_values' ) + 1) end -- Syntax: #invoke:params|combining_by_calling|template name|new parameter -- name|pipe to library.combining_by_calling = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local tname = ctx.pipe[1] if tname ~= nil then tname = tname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_calling’: No template name was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_calling’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:expandTemplate{ title = tname, args = ctx.params } } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|combining_by_invoking|module name|function name|new -- parameter name|pipe to library.combining_by_invoking = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local mname = ctx.pipe[1] if mname ~= nil then mname = mname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No module name was provided', 0) end local fname = ctx.pipe[2] if fname ~= nil then fname = fname:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_invoking’: No function name was provided', 0) end if ctx.pipe[3] == nil then error(modulename .. ', ‘combining_by_invoking’: No parameter name was provided', 0) end local model = { title = 'Module:' .. mname, args = ctx.params } local mfunc = require(model.title)[fname] if mfunc == nil then error(modulename .. ', ‘mapping_by_invoking’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.params = { [get_parameter_name(ctx.pipe[3])] = tostring(mfunc(ctx.frame:newChild(model))) } return context_iterate(ctx, 4) end -- Syntax: #invoke:params|combining_by_magic|parser function|new parameter -- name|pipe to library.combining_by_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! As a modifier, -- this function MUST create a copy of it before returning local magic = ctx.pipe[1] if magic ~= nil then magic = magic:match'^%s*(.*%S)' else error(modulename .. ', ‘combining_by_magic’: No parser function was provided', 0) end if ctx.pipe[2] == nil then error(modulename .. ', ‘combining_by_magic’: No parameter name was provided', 0) end ctx.params = { [get_parameter_name(ctx.pipe[2])] = ctx.frame:callParserFunction(magic, ctx.params) } return context_iterate(ctx, 3) end -- Syntax: #invoke:params|snapshotting|pipe to library.snapshotting = function (ctx) push_cloned_stack(ctx, ctx.params) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|remembering|pipe to library.remembering = function (ctx) push_cloned_stack(ctx, ctx.oparams) return context_iterate(ctx, 1) end -- Syntax: #invoke:params|entering_substack|[new]|pipe to library.entering_substack = function (ctx) local tbl = ctx.params local ncurrparent = ctx.n_parents + 1 if ctx.parents == nil then ctx.parents = { tbl } else ctx.parents[ncurrparent] = tbl end ctx.n_parents = ncurrparent if ctx.pipe[1] ~= nil and ctx.pipe[1]:match'^%s*new%s*$' then ctx.params = {} return context_iterate(ctx, 2) end local currsnap = ctx.n_children if currsnap > 0 then ctx.params = ctx.children[currsnap] ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 else local newparams = {} for key, val in pairs(tbl) do newparams[key] = val end ctx.params = newparams end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|pulling|parameter name|pipe to library.pulling = function (ctx) local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘pulling’: No parameter to pull was provided', 0) end local parent local tmp = ctx.n_parents if tmp < 1 then parent = ctx.oparams else parent = ctx.parents[tmp] end tmp = get_parameter_name(opts[1]) if parent[tmp] ~= nil then ctx.params[tmp] = parent[tmp] end return context_iterate(ctx, 2) end -- Syntax: #invoke:params|detaching_substack|pipe to library.detaching_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘detaching_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] for key in pairs(ctx.params) do parent[key] = nil end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|dropping_substack|pipe to library.dropping_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘dropping_substack’: No substack has been created', 0) end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 return context_iterate(ctx, 1) end -- Syntax: #invoke:params|leaving_substack|pipe to library.leaving_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘leaving_substack’: No substack has been created', 0) end local currsnap = ctx.n_children + 1 if ctx.children == nil then ctx.children = { ctx.params } else ctx.children[currsnap] = ctx.params end ctx.params = ctx.parents[ncurrparent] ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 ctx.n_children = currsnap return context_iterate(ctx, 1) end -- Syntax: #invoke:params|merging_substack|pipe to library.merging_substack = function (ctx) local ncurrparent = ctx.n_parents if ncurrparent < 1 then error(modulename .. ', ‘merging_substack’: No substack has been created', 0) end local parent = ctx.parents[ncurrparent] local child = ctx.params ctx.params = parent ctx.parents[ncurrparent] = nil ctx.n_parents = ncurrparent - 1 for key, val in pairs(child) do parent[key] = val end return context_iterate(ctx, 1) end -- Syntax: #invoke:params|flushing|pipe to library.flushing = function (ctx) if ctx.n_children < 1 then error(modulename .. ', ‘flushing’: There are no substacks to flush', 0) end local parent = ctx.params local currsnap = ctx.n_children for key, val in pairs(ctx.children[currsnap]) do parent[key] = val end ctx.children[currsnap] = nil ctx.n_children = currsnap - 1 return context_iterate(ctx, 1) end --[[ Functions ]]-- ----------------------------- -- Syntax: #invoke:params|count library.count = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local retval = 0 for _ in ctx.iterfunc(ctx.params) do retval = retval + 1 end if ctx.subset == -1 then retval = retval - #ctx.params end ctx.text = retval return false end -- Syntax: #invoke:args|concat_and_call|template name|[prepend 1]|[prepend 2] -- |[...]|[item n]|[named item 1=value 1]|[...]|[named item n=value -- n]|[...] library.concat_and_call = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘concat_and_call’: No template name was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:expandTemplate{ title = tname, args = concat_params(ctx) } return false end -- Syntax: #invoke:args|concat_and_invoke|module name|function name|[prepend -- 1]|[prepend 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named -- item n=value n]|[...] library.concat_and_invoke = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘concat_and_invoke’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘concat_and_invoke’: No function name was provided', 0) end remove_numeric_keys(opts, 1, 2) local mfunc = require('Module:' .. mname)[fname] if mfunc == nil then error(modulename .. ', ‘concat_and_invoke’: The function ‘' .. fname .. '’ does not exist', 0) end ctx.text = mfunc(ctx.frame:newChild{ title = 'Module:' .. mname, args = concat_params(ctx) }) return false end -- Syntax: #invoke:args|concat_and_magic|parser function|[prepend 1]|[prepend -- 2]|[...]|[item n]|[named item 1=value 1]|[...]|[named item n= -- value n]|[...] library.concat_and_magic = function (ctx) -- NOTE: `ctx.params` might be the original metatable! local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘concat_and_magic’: No parser function was provided', 0) end remove_numeric_keys(opts, 1, 1) ctx.text = ctx.frame:callParserFunction(magic, concat_params(ctx)) return false end -- Syntax: #invoke:params|value_of|parameter name library.value_of = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe if opts[1] == nil then error(modulename .. ', ‘value_of’: No parameter name was provided', 0) end local val local key = opts[1]:match'^%s*(.-)%s*$' if key == '0' or key:find'^%-?[1-9]%d*$' ~= nil then key = tonumber(key) val = ctx.params[key] -- No worries: #ctx.params is unused if the modifier in first position if val ~= nil and ( ctx.subset ~= -1 or key > #ctx.params or key < 1 ) and ( ctx.subset ~= 1 or (key <= #ctx.params and key > 0) ) then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end else val = ctx.params[key] if ctx.subset ~= 1 and val ~= nil then ctx.text = (ctx.header or '') .. val .. (ctx.footer or '') else ctx.text = ctx.ifngiven or '' end end return false end -- Syntax: #invoke:params|list library.list = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|list_values library.list_values = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! -- NOTE: `library.coins()` and `library.unique_coins()` rely on us local ret, nss, pps = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = val nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|list_maybe_with_names library.list_maybe_with_names = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, kvs, pps = {}, 0, ctx.pairsep or '', ctx.itersep or '' mixed_flush_params( ctx, function (key, val) ret[nss + 1] = pps ret[nss + 2] = '' ret[nss + 3] = '' ret[nss + 4] = val nss = nss + 4 end, function (key, val) ret[nss + 1] = pps ret[nss + 2] = key ret[nss + 3] = kvs ret[nss + 4] = val nss = nss + 4 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 4) return false end -- Syntax: #invoke:params|coins|[first coin = value 1]|[second coin = value -- 2]|[...]|[last coin = value N] library.coins = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local opts, tbl = ctx.pipe, ctx.params for key, val in pairs(tbl) do tbl[key] = opts[get_parameter_name(val)] end return library.list_values(ctx) end -- Syntax: #invoke:params|unique_coins|[first coin = value 1]|[second coin = -- value 2]|[...]|[last coin = value N] library.unique_coins = function (ctx) local opts, tbl = ctx.pipe, ctx.params local tmp for key, val in pairs(tbl) do tmp = get_parameter_name(val) tbl[key] = opts[tmp] opts[tmp] = nil end return library.list_values(ctx) end -- Syntax: #invoke:params|for_each|wikitext library.for_each = function (ctx) -- NOTE: `ctx.pipe` might be the original metatable! local ret, nss, pps, txt = {}, 0, ctx.itersep or '', ctx.pipe[1] or '' local skel, cnv, n_parts = parse_placeholder_string(txt) flush_params( ctx, function (key, val) for idx = 2, n_parts, 2 do if skel[idx] then cnv[idx] = val else cnv[idx] = tostring(key) end end ret[nss + 1] = pps ret[nss + 2] = table.concat(cnv) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each|template name|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each|module name|module function|[append -- 1]|[append 2]|[...]|[append n]|[named param 1=value 1]|[...] -- |[named param n=value n]|[...] library.invoke_for_each = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each|parser function|[append 1]|[append 2] -- |[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.magic_for_each = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' table.insert(opts, 1, true) flush_params( ctx, function (key, val) opts[1] = key opts[2] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_value|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_value = function (ctx) local opts = ctx.pipe local tname if opts[1] ~= nil then tname = opts[1]:match'^%s*(.*%S)' end if tname == nil then error(modulename .. ', ‘call_for_each_value’: No template name was provided', 0) end local model = { title = tname, args = opts } local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|invoke_for_each_value|module name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.invoke_for_each_value = function (ctx) local opts = ctx.pipe local mname local fname if opts[1] ~= nil then mname = opts[1]:match'^%s*(.*%S)' end if mname == nil then error(modulename .. ', ‘invoke_for_each_value’: No module name was provided', 0) end if opts[2] ~= nil then fname = opts[2]:match'^%s*(.*%S)' end if fname == nil then error(modulename .. ', ‘invoke_for_each_value’: No function name was provided', 0) end local model = { title = 'Module:' .. mname, args = opts } local mfunc = require(model.title)[fname] local ret, nss, ccs = {}, 0, ctx.itersep or '' remove_numeric_keys(opts, 1, 1) flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = mfunc(ctx.frame:newChild(model)) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|magic_for_each_value|parser function|[append 1] -- |[append 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named -- param n=value n]|[...] library.magic_for_each_value = function (ctx) local opts = ctx.pipe local magic if opts[1] ~= nil then magic = opts[1]:match'^%s*(.*%S)' end if magic == nil then error(modulename .. ', ‘magic_for_each_value’: No parser function was provided', 0) end local ret, nss, ccs = {}, 0, ctx.itersep or '' flush_params( ctx, function (key, val) opts[1] = val ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:callParserFunction(magic, opts) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end -- Syntax: #invoke:params|call_for_each_group|template name|[append 1]|[append -- 2]|[...]|[append n]|[named param 1=value 1]|[...]|[named param -- n=value n]|[...] library.call_for_each_group = function (ctx) -- NOTE: `ctx.pipe` and `ctx.params` might be the original metatables! local opts = ctx.pipe local tmp if opts[1] ~= nil then tmp = opts[1]:match'^%s*(.*%S)' end if tmp == nil then error(modulename .. ', ‘call_for_each_group’: No template name was provided', 0) end local model = { title = tmp } local opts, ret, nss, ccs = {}, {}, 0, ctx.itersep or '' for key, val in pairs(ctx.pipe) do if type(key) == 'number' then opts[key - 1] = val else opts[key] = val end end ctx.pipe = opts ctx.params = make_groups(ctx.params) flush_params( ctx, function (gid, group) for key, val in pairs(opts) do group[key] = val end group[0] = gid model.args = group ret[nss + 1] = ccs ret[nss + 2] = ctx.frame:expandTemplate(model) nss = nss + 2 end ) finalize_and_return_concatenated_list(ctx, ret, nss, 2) return false end --- --- --- PUBLIC ENVIRONMENT --- --- ________________________________ --- --- --- --[[ First-position-only modifiers ]]-- --------------------------------------- -- Syntax: #invoke:params|new|pipe to static_iface.new = function (child_frame) local ctx = context_new(child_frame) ctx.pipe = copy_or_ref_table(ctx.opipe, false) ctx.params = {} main_loop(ctx, context_iterate(ctx, 1)) return ctx.text end --[[ First-position-only functions ]]-- --------------------------------------- -- Syntax: #invoke:params|self static_iface.self = function (frame) return frame:getParent():getTitle() end --[[ Public metatable of functions ]]-- --------------------------------------- return setmetatable({}, { __index = function (_, query) local fname = query:match'^%s*(.*%S)' if fname == nil then error(modulename .. ': You must specify a function to call', 0) end local func = static_iface[fname] if func ~= nil then return func end func = library[fname] if func == nil then error(modulename .. ': The function ‘' .. fname .. '’ does not exist', 0) end return function (child_frame) local ctx = context_new(child_frame) ctx.pipe = copy_or_ref_table(ctx.opipe, refpipe[fname]) ctx.params = copy_or_ref_table(ctx.oparams, refparams[fname]) main_loop(ctx, func) return ctx.text end end }) 0zh9yszcu1lo1rpmyh2ls1na8hemel4 ഫലകം:Unbulleted indent list 10 635339 4621784 4277651 2026-04-18T03:48:54Z en>Pppery 0 Changed protection settings for "[[Template:Unbulleted indent list]]" ([Edit=Require template editor access] (indefinite) [Move=Require template editor access] (indefinite)) 4277649 wikitext text/x-wiki {{#invoke:list|unbulleted|list_style=margin-left:{{{in|{{{indent|1em}}}}}};text-indent:-{{{in|{{{indent|1em}}};{{{list_style|}}}}}}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> e7g6r2fcww4yjx4nb1dqwr0bhklddpj 4621785 4621784 2026-05-22T22:49:31Z Jacob.jose 1784 [[:en:Template:Unbulleted_indent_list]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 4277649 wikitext text/x-wiki {{#invoke:list|unbulleted|list_style=margin-left:{{{in|{{{indent|1em}}}}}};text-indent:-{{{in|{{{indent|1em}}};{{{list_style|}}}}}}}}<noinclude> {{documentation}} <!-- Categories go on the /doc subpage, and interwikis go on Wikidata. --> </noinclude> e7g6r2fcww4yjx4nb1dqwr0bhklddpj ഫലകം:Magic word link 10 649165 4621854 4428362 2025-08-17T15:28:43Z en>Grufo 0 Import the more complete version used in Latin Wikipedia 4621854 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Other | {{=}} = mw:Help:Magic words#Other | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> t3jr6d60uzh011lkpace9ovjceri69a 4621855 4621854 2025-08-17T15:36:12Z en>Grufo 0 +#REDIRECT 4621855 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Other | {{=}} = mw:Help:Magic words#Other | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #redirect = mw:Help:Redirects | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> tic86fh8rqqm0sczt36rcqpla643g6y 4621856 4621855 2025-08-17T15:38:12Z en>Grufo 0 -#REDIRECT – not actually a magic word 4621856 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Other | {{=}} = mw:Help:Magic words#Other | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> t3jr6d60uzh011lkpace9ovjceri69a 4621857 4621856 2025-08-17T16:01:28Z en>Grufo 0 +#REDIRECT – found the way 4621857 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDI<nowiki />RECT = [[:mw:Help:Redirects|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Other | {{=}} = mw:Help:Magic words#Other | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> nr0kvow00b23rp6fhbfkqehlct0gqxx 4621858 4621857 2025-08-17T16:02:15Z en>Grufo 0 4621858 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Other | {{=}} = mw:Help:Magic words#Other | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> nbsrqava4lvqg8p4s804vre95llf8f0 4621859 4621858 2025-08-17T16:04:21Z en>Grufo 0 Update links 4621859 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> hgs4qa30vv3sl8ed7jh2ed25sv5e66a 4621860 4621859 2025-08-17T17:01:10Z en>Grufo 0 Update link 4621860 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> 3bv5qka1zleqs58wvpik2e69dtpyhka 4621861 4621860 2025-08-21T20:52:40Z en>Waddie96 0 add invoke: 4621861 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #invoke: = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> awyuztx0q8vp27y0bhazw6o67if350y 4621862 4621861 2025-09-01T12:24:02Z en>Grufo 0 Undid revision [[Special:Diff/1307147900|1307147900]] by [[Special:Contributions/Waddie96|Waddie96]] ([[User talk:Waddie96|talk]]) For showing the colon it is enough to write one argument – e.g. ‘{{mwl|#invoke|string}}’ 4621862 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| squeezing|sequential|cutting|1|0|setting|h/i|&#58;|&#124;|list_values}}{{{{{|safesubst:}}}#invoke:params| non-sequential|cutting|1|0|setting|hi/p|&#124;|&#61;|list}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> 3bv5qka1zleqs58wvpik2e69dtpyhka 4621863 4621862 2025-09-30T00:36:20Z en>Grufo 0 Exploit the new ‘[[Module:Params#list_maybe_with_names|list_maybe_with_names]]’ function in [[Module:Params]] 4621863 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words##language | #special = mw:Help:Magic words##special | #speciale = mw:Help:Magic words##speciale | #tag = mw:Help:Magic words##tag | #expr = mw:Help:Extension:ParserFunctions##expr | #if = mw:Help:Extension:ParserFunctions##if | #ifeq = mw:Help:Extension:ParserFunctions##ifeq | #iferror = mw:Help:Extension:ParserFunctions##iferror | #ifexpr = mw:Help:Extension:ParserFunctions##ifexpr | #ifexist = mw:Help:Extension:ParserFunctions##ifexist | #rel2abs = mw:Help:Extension:ParserFunctions##rel2abs | #switch = mw:Help:Extension:ParserFunctions##switch | #time = mw:Help:Extension:ParserFunctions##time | #timel = mw:Help:Extension:ParserFunctions##timel | #titleparts = mw:Help:Extension:ParserFunctions##titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> 69wrze9rx8wz1lcaznkm94tgnzz94md 4621864 4621863 2025-10-01T00:01:24Z en>Grufo 0 4621864 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> k852h7scmh160xrf6419xw66fyk9tfu 4621865 4621864 2025-10-01T18:00:45Z en>MusikBot II 0 Protected "[[Template:Magic word link]]": [[Wikipedia:High-risk templates|High-risk template or module]]: 275 transclusions ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Require autoconfirmed or confirmed access] (indefinite)) 4621864 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> k852h7scmh160xrf6419xw66fyk9tfu 4621866 4621865 2025-12-12T19:42:55Z en>Grufo 0 +{{NOEXTERNALLANGLINKS}} 4621866 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | noexternallanglinks = mw:Help:Magic words#From Extensions | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> oybe4i4pkph54ezaz1gqfegw5zbn9um 4621867 4621866 2026-01-16T04:23:10Z en>Grufo 0 Order unnamed parameters 4621867 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | noexternallanglinks = mw:Help:Magic words#From Extensions | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|all_sorted|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> f25smrpsu8sg6ba2itq0ksoo4oy1bo5 4621868 4621867 2026-01-16T12:46:40Z en>Grufo 0 +{{[[:mw:Help:Magic words#h-Localization_variables-Variables|USERLANGUAGE]]}} 4621868 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | USERLANGUAGE = mw:Help:Magic words#h-Localization_variables-Variables | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | noexternallanglinks = mw:Help:Magic words#From Extensions | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|all_sorted|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> 7l2ie4wyab1cen26a0pisudsbt3lgt0 4621869 4621868 2026-02-09T23:44:17Z en>Grufo 0 +{{[[mw:Help:Magic words#interwikilink|#interwikilink]]}}; +{{[[mw:Help:Magic words#interlanguagelink|#interlanguagelink]]}}; +{{[[mw:Help:Magic words#isbn|#isbn]]}}; 4621869 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | USERLANGUAGE = mw:Help:Magic words#h-Localization_variables-Variables | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | noexternallanglinks = mw:Help:Magic words#From Extensions | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #interwikilink = mw:Help:Magic words#interwikilink | #interlanguagelink = mw:Help:Magic words#interlanguagelink | #isbn = mw:Help:Magic words#isbn | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Extension:Wikibase Client | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|all_sorted|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> mj8m156n4s8evhx2r8dg4q6e6z1jp9i 4621870 4621869 2026-03-10T00:49:16Z en>Grufo 0 Update link 4621870 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | USERLANGUAGE = mw:Help:Magic words#h-Localization_variables-Variables | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | noexternallanglinks = mw:Help:Magic words#From Extensions | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #interwikilink = mw:Help:Magic words#interwikilink | #interlanguagelink = mw:Help:Magic words#interlanguagelink | #isbn = mw:Help:Magic words#isbn | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Wikibase/Installation/Advanced_configuration#commaseparatedlist | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|all_sorted|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> tsvmp5m2pv7l2nnm4spsnfzm484ciy6 4621871 4621870 2026-05-22T22:49:45Z Jacob.jose 1784 [[:en:Template:Magic_word_link]] എന്നതിൽ നിന്ന് 17 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621870 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |{{safesubst:<noinclude />#switch:{{{1}}} | __NOTOC__ = [[:mw:Help:Magic words#NOTOC|__NOTO<nowiki />C__]] | __FORCETOC__ = [[:mw:Help:Magic words#FORCETOC|__FORC<nowiki />ETOC__]] | __TOC__ = [[:mw:Help:Magic words#TOC|__T<nowiki />OC__]] | __NOEDITSECTION__ = [[:mw:Help:Magic words#NOEDITSECTION|__NOEDI<nowiki />TSEC<nowiki />TION__]] | __NEWSECTIONLINK__ = [[:mw:Help:Magic words#NEWSECTIONLINK|__NE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NONEWSECTIONLINK__ = [[:mw:Help:Magic words#NONEWSECTIONLINK|__NONE<nowiki />WSECTI<nowiki />ONLI<nowiki />NK__]] | __NOGALLERY__ = [[:mw:Help:Magic words#NOGALLERY|__NOG<nowiki />ALLERY__]] | __HIDDENCAT__ = [[:mw:Help:Magic words#HIDDENCAT|__HID<nowiki />DENCAT__]] | __EXPECTUNUSEDCATEGORY__ = [[:mw:Help:Magic words#EXPECTUNUSEDCATEGORY|__EXPEC<nowiki />TUNUSE<nowiki />DCATEGORY__]] | __NOCONTENTCONVERT__ = [[:mw:Help:Magic words#NOCONTENTCONVERT|__NOC<nowiki />ONTENTC<nowiki />ONVERT__]] | __NOCC__ = [[:mw:Help:Magic words#NOCC|__NOC<nowiki />C__]] | __NOTITLECONVERT__ = [[:mw:Help:Magic words#NOTITLECONVERT|__NOTI<nowiki />TLECONVE<nowiki />RT__]] | __NOTC__ = [[:mw:Help:Magic words#NOTC|__NO<nowiki />TC__]] | __START__ = [[:mw:Help:Magic words#START|__STA<nowiki />RT__]] | __END__ = [[:mw:Help:Magic words#END|__E<nowiki />ND__]] | __INDEX__ = [[:mw:Help:Magic words#INDEX|__INDE<nowiki />X__]] | __NOINDEX__ = [[:mw:Help:Magic words#NOINDEX|__NOI<nowiki />NDEX__]] | __STATICREDIRECT__ = [[:mw:Help:Magic words#STATICREDIRECT|__STATICREDI<nowiki />RECT__]] | __EXPECTUNUSEDTEMPLATE__ = [[:mw:Help:Magic words#EXPECTUNUSEDTEMPLATE|__EXPECTU<nowiki />NUSEDTE<nowiki />MPLATE__]] | __NOGLOBAL__ = [[:mw:Help:Magic words#NOGLOBAL|__NOGL<nowiki />OBAL__]] | __DISAMBIG__ = [[:mw:Help:Magic words#DISAMBIG|__DISA<nowiki />MBIG__]] | __EXPECTED_UNCONNECTED_PAGE__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __ARCHIVEDTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __NOTALK__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | __EXPECTWITHOUTSCANS__ = [[:mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE|__EXPEC<nowiki />TED_UNCO<nowiki />NNECTED_PA<nowiki />GE__]] | #REDIRECT = [[:mw:Help:Redirects#Creating a redirect|#REDI<nowiki />RECT]] | #default = &#123;&#123;[[:{{safesubst:<noinclude />#switch:{{{1}}} | CURRENTYEAR = mw:Help:Magic words#Date and time | CURRENTMONTH = mw:Help:Magic words#Date and time | CURRENTMONTH1 = mw:Help:Magic words#Date and time | CURRENTMONTH2 = mw:Help:Magic words#Date and time | CURRENTMONTHNAME = mw:Help:Magic words#Date and time | CURRENTMONTHNAMEGEN = mw:Help:Magic words#Date and time | CURRENTMONTHABBREV = mw:Help:Magic words#Date and time | CURRENTDAY = mw:Help:Magic words#Date and time | CURRENTDAY2 = mw:Help:Magic words#Date and time | CURRENTDOW = mw:Help:Magic words#Date and time | CURRENTDAYNAME = mw:Help:Magic words#Date and time | CURRENTTIME = mw:Help:Magic words#Date and time | CURRENTHOUR = mw:Help:Magic words#Date and time | CURRENTWEEK = mw:Help:Magic words#Date and time | CURRENTTIMESTAMP = mw:Help:Magic words#Date and time | LOCALYEAR = mw:Help:Magic words#Date and time | LOCALMONTH = mw:Help:Magic words#Date and time | LOCALMONTH1 = mw:Help:Magic words#Date and time | LOCALMONTH2 = mw:Help:Magic words#Date and time | LOCALMONTHNAME = mw:Help:Magic words#Date and time | LOCALMONTHNAMEGEN = mw:Help:Magic words#Date and time | LOCALMONTHABBREV = mw:Help:Magic words#Date and time | LOCALDAY = mw:Help:Magic words#Date and time | LOCALDAY2 = mw:Help:Magic words#Date and time | LOCALDOW = mw:Help:Magic words#Date and time | LOCALDAYNAME = mw:Help:Magic words#Date and time | LOCALTIME = mw:Help:Magic words#Date and time | LOCALHOUR = mw:Help:Magic words#Date and time | LOCALWEEK = mw:Help:Magic words#Date and time | LOCALTIMESTAMP = mw:Help:Magic words#Date and time | SITENAME = mw:Help:Magic words#Technical metadata | SERVER = mw:Help:Magic words#Technical metadata | SERVERNAME = mw:Help:Magic words#Technical metadata | DIRMARK = mw:Help:Magic words#Technical metadata | DIRECTIONMARK = mw:Help:Magic words#Technical metadata | ARTICLEPATH = mw:Help:Magic words#Technical metadata | SCRIPTPATH = mw:Help:Magic words#Technical metadata | STYLEPATH = mw:Help:Magic words#Technical metadata | CURRENTVERSION = mw:Help:Magic words#Technical metadata | CONTENTLANGUAGE = mw:Help:Magic words#Technical metadata | CONTENTLANG = mw:Help:Magic words#Technical metadata | PAGEID = mw:Help:Magic words#Technical metadata | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata | REVISIONID = mw:Help:Magic words#Technical metadata | REVISIONDAY = mw:Help:Magic words#Technical metadata | REVISIONDAY2 = mw:Help:Magic words#Technical metadata | REVISIONMONTH = mw:Help:Magic words#Technical metadata | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata | REVISIONYEAR = mw:Help:Magic words#Technical metadata | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata | REVISIONUSER = mw:Help:Magic words#Technical metadata | REVISIONSIZE = mw:Help:Magic words#Technical metadata | NOEXTERNALLANGLINKS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | NUMBEROFPAGES = mw:Help:Magic words#Technical metadata | NUMBEROFARTICLES = mw:Help:Magic words#Technical metadata | NUMBEROFFILES = mw:Help:Magic words#Technical metadata | NUMBEROFEDITS = mw:Help:Magic words#Technical metadata | NUMBEROFVIEWS = mw:Help:Magic words#Technical metadata | NUMBEROFUSERS = mw:Help:Magic words#Technical metadata | NUMBEROFADMINS = mw:Help:Magic words#Technical metadata | NUMBEROFACTIVEUSERS = mw:Help:Magic words#EXPECTED_UNCONNECTED_PAGE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#NAMESPACE | NAMESPACENUMBER = mw:Help:Magic words#NAMESPACENUMBER | SUBJECTSPACE = mw:Help:Magic words#SUBJECTSPACE | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#TALKSPACE | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | {{!}} = mw:Help:Magic words#Escaped characters | {{=}} = mw:Help:Magic words#Escaped characters | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata | DISPLAYTITLE = mw:Help:Magic words#DISPLAYTITLE | DEFAULTSORT = mw:Help:Magic words#DEFAULTSORT | PAGESINCATEGORY = mw:Help:Magic words#PAGESINCATEGORY | PAGESINCAT = mw:Help:Magic words#PAGESINCAT | NUMBERINGROUP = mw:Help:Magic words#NUMBERINGROUP | PAGESINNS = mw:Help:Magic words#PAGESINNS | PAGESINNAMESPACE = mw:Help:Magic words#PAGESINNAMESPACE | FULLPAGENAME = mw:Help:Magic words#Page names | PAGENAME = mw:Help:Magic words#Page names | BASEPAGENAME = mw:Help:Magic words#Page names | SUBPAGENAME = mw:Help:Magic words#Page names | SUBJECTPAGENAME = mw:Help:Magic words#Page names | ARTICLEPAGENAME = mw:Help:Magic words#Page names | TALKPAGENAME = mw:Help:Magic words#Page names | ROOTPAGENAME = mw:Help:Magic words#Page names | FULLPAGENAMEE = mw:Help:Magic words#Page names | PAGENAMEE = mw:Help:Magic words#Page names | BASEPAGENAMEE = mw:Help:Magic words#Page names | SUBPAGENAMEE = mw:Help:Magic words#Page names | SUBJECTPAGENAMEE = mw:Help:Magic words#Page names | ARTICLEPAGENAMEE = mw:Help:Magic words#Page names | TALKPAGENAMEE = mw:Help:Magic words#Page names | ROOTPAGENAMEE = mw:Help:Magic words#Page names | NAMESPACE = mw:Help:Magic words#Namespaces | NAMESPACENUMBER = mw:Help:Magic words#Namespaces | SUBJECTSPACE = mw:Help:Magic words#Namespaces | ARTICLESPACE = mw:Help:Magic words#Namespaces | TALKSPACE = mw:Help:Magic words#Namespaces | NAMESPACEE = mw:Help:Magic words#Namespaces | SUBJECTSPACEE = mw:Help:Magic words#Namespaces | TALKSPACEE = mw:Help:Magic words#Namespaces | PAGEID = mw:Help:Magic words#Technical metadata of another page | PAGESIZE = mw:Help:Magic words#Technical metadata of another page | PROTECTIONLEVEL = mw:Help:Magic words#Technical metadata of another page | CASCADINGSOURCES = mw:Help:Magic words#Technical metadata of another page | REVISIONID = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY = mw:Help:Magic words#Technical metadata of another page | REVISIONDAY2 = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH = mw:Help:Magic words#Technical metadata of another page | REVISIONMONTH1 = mw:Help:Magic words#Technical metadata of another page | REVISIONYEAR = mw:Help:Magic words#Technical metadata of another page | REVISIONTIMESTAMP = mw:Help:Magic words#Technical metadata of another page | REVISIONUSER = mw:Help:Magic words#Technical metadata of another page | SHORTDESC = mw:Extension:Wikibase Client | USERLANGUAGE = mw:Help:Magic words#h-Localization_variables-Variables | #default = {{safesubst:<noinclude />#switch:{{safesubst:<noinclude />lc:{{{1}}}}} | localurl = mw:Help:Magic words#localurl | localurle = mw:Help:Magic words#URL data | fullurl = mw:Help:Magic words#fullurl | fullurle = mw:Help:Magic words#URL data | canonicalurl = mw:Help:Magic words#canonicalurl | canonicalurle = mw:Help:Magic words#URL data | filepath = mw:Help:Magic words#filepath | urlencode = mw:Help:Magic words#urlencode | urldecode = mw:Help:Magic words#URL data | anchorencode = mw:Help:Magic words#anchorencode | noexternallanglinks = mw:Help:Magic words#From Extensions | ns = mw:Help:Magic words#Namespaces | nse = mw:Help:Magic words#Namespaces | formatnum = mw:Help:Magic words#formatnum | #dateformat = mw:Help:Magic words#dateformat | #formatdate = mw:Help:Magic words#formatdate | lc = mw:Help:Magic words#lc | lcfirst = mw:Help:Magic words#lcfirst | uc = mw:Help:Magic words#uc | ucfirst = mw:Help:Magic words#ucfirst | padleft = mw:Help:Magic words#padleft | padright = mw:Help:Magic words#padright | plural = mw:Help:Magic words#PLURAL | grammar = mw:Help:Magic words#GRAMMAR | gender = mw:Help:Magic words#GENDER | int = mw:Help:Magic words#INT | noexternallanglinks = mw:Extension:Wikibase Client | wbreponame = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | numberofwikis = mw:Extension:SiteMatrix | #language = mw:Help:Magic words#.23language | #interwikilink = mw:Help:Magic words#interwikilink | #interlanguagelink = mw:Help:Magic words#interlanguagelink | #isbn = mw:Help:Magic words#isbn | #special = mw:Help:Magic words#.23special | #speciale = mw:Help:Magic words#.23speciale | #tag = mw:Help:Magic words#.23tag | #expr = mw:Help:Extension:ParserFunctions#.23expr | #if = mw:Help:Extension:ParserFunctions#.23if | #ifeq = mw:Help:Extension:ParserFunctions#.23ifeq | #iferror = mw:Help:Extension:ParserFunctions#.23iferror | #ifexpr = mw:Help:Extension:ParserFunctions#.23ifexpr | #ifexist = mw:Help:Extension:ParserFunctions#.23ifexist | #rel2abs = mw:Help:Extension:ParserFunctions#.23rel2abs | #switch = mw:Help:Extension:ParserFunctions#.23switch | #time = mw:Help:Extension:ParserFunctions#.23time | #timel = mw:Help:Extension:ParserFunctions#.23timel | #titleparts = mw:Help:Extension:ParserFunctions#.23titleparts | #babel = mw:Extension:Babel#Usage | #categorytree = mw:Extension:CategoryTree#The {{#categorytree}} parser function | #commaseparatedlist = mw:Wikibase/Installation/Advanced_configuration#commaseparatedlist | #coordinates = mw:Extension:GeoData#Parser function | #invoke = mw:Extension:Scribunto#Usage | #lst = mw:Extension:Labeled Section Transclusion#How it works | #lsth = mw:Extension:Labeled Section Transclusion#How it works | #lstx = mw:Extension:Labeled Section Transclusion#How it works | noexternallanglinks = mw:Extension:Wikibase Client | noreplace = mw:Extension:Wikibase Client | pendingchangelevel = mw:Extension:FlaggedRevs | #property = d:Wikidata:How to use data on Wikimedia projects | #statements = d:Wikidata:How to use data on Wikimedia projects | #target = mw:Extension:MassMessage | #default = mw:Help:Magic words#{{{1}}} }} }}|{{{1}}}]]{{safesubst:<noinclude />#invoke:params| cutting|1|0|setting|h/i/p|&#58;|&#124;|&#61;|all_sorted|list_maybe_with_names}}&#125;&#125; }} |{{Error|Error: No magic word was provided.}} }}</includeonly><noinclude>{{Documentation}}</noinclude> tsvmp5m2pv7l2nnm4spsnfzm484ciy6 വിക്കിപീഡിയ:ഒഴിവാക്കാൻ സാദ്ധ്യതയുള്ള ലേഖനങ്ങൾ/കേരള യാത്ര 2026 4 662957 4622183 4620824 2026-05-23T08:17:47Z Irshadpp 10433 /* കേരള യാത്ര 2026 */ മറുപടി 4622183 wikitext text/x-wiki ===[[:കേരള യാത്ര 2026]]=== {{REMOVE THIS TEMPLATE WHEN CLOSING THIS AfD|?}} :{{la|കേരള യാത്ര 2026}} – (<includeonly>[[വിക്കിപീഡിയ:ഒഴിവാക്കാൻ സാദ്ധ്യതയുള്ള ലേഖനങ്ങൾ/കേരള യാത്ര 2026|View AfD]]</includeonly><noinclude>[[വിക്കിപീഡിയ:ഒഴിവാക്കാൻ സാദ്ധ്യതയുള്ള ലേഖനങ്ങൾ/പത്തായം/ജനുവരി 2026#{{anchorencode:കേരള യാത്ര 2026}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=%E0%B4%B5%E0%B4%BF%E0%B4%95%E0%B5%8D%E0%B4%95%E0%B4%BF%E0%B4%AA%E0%B5%80%E0%B4%A1%E0%B4%BF%E0%B4%AF:%E0%B4%92%E0%B4%B4%E0%B4%BF%E0%B4%B5%E0%B4%BE%E0%B4%95%E0%B5%8D%E0%B4%95%E0%B4%BE%E0%B5%BB_%E0%B4%B8%E0%B4%BE%E0%B4%A6%E0%B5%8D%E0%B4%A7%E0%B5%8D%E0%B4%AF%E0%B4%A4%E0%B4%AF%E0%B5%81%E0%B4%B3%E0%B5%8D%E0%B4%B3_%E0%B4%B2%E0%B5%87%E0%B4%96%E0%B4%A8%E0%B4%99%E0%B5%8D%E0%B4%99%E0%B5%BE/%E0%B4%95%E0%B5%87%E0%B4%B0%E0%B4%B3_%E0%B4%AF%E0%B4%BE%E0%B4%A4%E0%B5%8D%E0%B4%B0_2026 Stats]</span>) ശ്രദ്ധേയതയില്ലാത്ത സംഭവം. [[ഉപയോക്താവ്:Ranjithsiji|<span style="color:green;font-size:13px;">രൺജിത്ത് സിജി </span>{Ranjithsiji}]][[ഉപയോക്താവിന്റെ സംവാദം:Ranjithsiji|<span style="color:green;font-size:20px; font-weight:bold;" title="സംവാദം"> ✉</span>]] 12:13, 2 ജനുവരി 2026 (UTC) :ഈ ലേഖനം ഒരു സാധാരണ പ്രാദേശിക പരിപാടിയല്ല. ഒരു സംസ്ഥാനതല പര്യടനം (14 ജില്ലകകളിലൂടെ നടക്കുന്ന പരിപാടിയാണ്, 16 ദിവസം). സംസ്ഥാന മന്ത്രിമാർ, എംഎൽഎമാർ,മറ്റു സംസ്ഥാനങ്ങളിലെ എംഎൽഎമാർ തുടങ്ങിയവർ മുതൽ മത സാമൂഹിക രാഷ്ട്രീയ സാംസ്കാരി രംഗത്തുള്ളവർ കൂടി പങ്കെടുക്കുന്നു. :കൂടാതെ പ്രധാന മാധ്യമങ്ങളെല്ലാം തന്നെ പ്രസ്തുത വിഷയം നല്ല രീതിയിൽ കവർ ചെയ്തിട്ടുമുണ്ട്. The Hindu, Indian Express, Malayala Manorama, Mathrubhumi തുടങ്ങിയ സ്വതന്ത്രവും വിശ്വസനീയവുമായ മാധ്യമങ്ങളിൽ വ്യാപകമായി റിപ്പോർട്ട് ചെയ്ത സംഭവം കൂടിയാണ്. :അതുകൊണ്ട് തന്നെ ശ്രദ്ധേയമാണെന്നും ലേഖനം നിലനിർത്തണമെന്നും ആവശ്യപ്പെടുന്നു [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 16:52, 2 ജനുവരി 2026 (UTC) ::കൂടാതെ വർഗീയമായി കേരള സമൂഹത്തെ വിഭജിക്കാൻ വിവിധ കോണുകളിൽ നിന്ന് ശ്രമം നടക്കുമ്പോൾ മനുഷ്യത്വം എന്ന പ്രമേയത്തിൽ എല്ലാവരെയും കൂട്ടിയോജിപ്പിക്കാനുള്ള ശ്രമത്തെ സാമൂഹ്യശാസ്ത്രപരമായി ഏറെ പ്രധാന്യമുള്ളതായി വിവിധ പ്രമുഖർ വിലയിരുത്തുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 17:15, 7 ജനുവരി 2026 (UTC) :ശ്രദ്ധേയതയില്ല. [[അഖിലേന്ത്യാ സുന്നി ജംഇയ്യത്തുൽ ഉലമ]] എന്ന താളിലേക്ക് സംക്ഷിപ്തമായി ചേർക്കാവുന്ന ഉള്ളടക്കം. താൾ മായ്ക്കാവുന്നതാണ്.[[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 20:45, 29 ജനുവരി 2026 (UTC) ::താഴെപറയുന്ന കാരണങ്ങളാൽ ഈ ലേഖനം സ്വതന്ത്ര നിലനിൽപ്പുള്ള (Stand-alone article) ഒരു വിഷയമായി നിലനിനിൽക്കേണ്ടതാണ്. ::* '''സ്വതന്ത്രമായ മാധ്യമ കവറേജ്:''' ഒരു സംഘടനയുടെ പതിവ് പരിപാടി എന്നതിലുപരി, ''The Hindu'', ''Indian Express'', ''Malayala Manorama'', ''Mathrubhumi'' തുടങ്ങി ഇന്ത്യക്ക് പുറത്തുള്ള അറബ് മാധ്യമങ്ങൾ വരെ ഈ യാത്രയെക്കുറിച്ച് സ്വതന്ത്രമായ വാർത്തകളും വിശകലനങ്ങളും പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. വിക്കിപീഡിയയുടെ ശ്രദ്ധേയതാ നയമനുസരിച്ച് (GNG), ഒരു വിഷയത്തെക്കുറിച്ച് വിശ്വസനീയവും സ്വതന്ത്രവുമായ സ്രോതസ്സുകളിൽ കാര്യമായ പരാമർശങ്ങൾ ഉണ്ടെങ്കിൽ അത് ശ്രദ്ധേയമാണ്. ::* '''വ്യാപ്തിയും പ്രാധാന്യവും:''' 14 ജില്ലകളിലൂടെ കടന്നുപോകുന്ന ഒരു സംസ്ഥാനതല പര്യടനമാണിത്. മന്ത്രിമാർ, വിവിധ രാഷ്ട്രീയ കക്ഷി നേതാക്കൾ, സാംസ്കാരിക പ്രവർത്തകർ എന്നിവരുടെ പങ്കാളിത്തം ഇതിനെ ഒരു പ്രാദേശിക പരിപാടി എന്നതിലുപരി വലിയൊരു സാമൂഹിക സംഭവമാക്കി മാറ്റുന്നു. ::* '''ലയനം പ്രായോഗികമല്ല:''' അഖിലേന്ത്യാ സുന്നി ജംഇയ്യത്തുൽ ഉലമ എന്ന താളിലേക്ക് ഇത് ലയിപ്പിക്കുന്നത് ആ ലേഖനത്തിന്റെ ദൈർഘ്യത്തെയും ഘടനയെയും ദോഷകരമായി ബാധിക്കും. ഈ യാത്രയുമായി ബന്ധപ്പെട്ട തീയതികൾ, റൂട്ട്, വിവിധ കേന്ദ്രങ്ങളിലെ പ്രമേയങ്ങൾ എന്നിവ വിശദമായി പ്രതിപാദിക്കാൻ ഒരു പ്രത്യേക ലേഖനം തന്നെയാണ് അനുയോജ്യം. ::* '''സാമൂഹിക പ്രസക്തി:''' വർഗീയ ധ്രുവീകരണത്തിനെതിരെ 'മനുഷ്യത്വം' എന്ന പ്രമേയത്തിൽ ഉയർത്തിപ്പിടിക്കുന്ന ഈ യാത്രയ്ക്ക് വലിയൊരു സാമൂഹിക ശാസ്ത്രപരമായ പ്രധാന്യമുണ്ടെന്ന് നിരീക്ഷകർ വിലയിരുത്തിയിട്ടുണ്ട്. ::[[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 13:27, 3 ഫെബ്രുവരി 2026 (UTC) :ഓരോ സംഘടനകളും നടത്തുന്ന സമ്മേളനങ്ങളും ജാഥകളുമൊന്നും സ്വയം ശ്രദ്ധേയത കൈവരിക്കുന്നില്ല. ഇവക്കെല്ലാം റുട്ടീൻ കവറേജ് ഉണ്ടായിരിക്കുകയും ചെയ്യും. ഇവിടെ ജാഥ സംഘടിപ്പിച്ച കേരള മുസ്‌ലിം ജമാഅത്ത് എന്നത് പോലും അഖിലേന്ത്യാ സുന്നീ ജംഇയ്യത്തുൽ ഉലമയുടെ പോഷക സംഘടന എന്ന നിലക്ക് സ്വയം ശ്രദ്ധേയത ഇല്ലാത്തതാണ്. നേതാവ് ജാഥ നടത്തുമ്പോൾ അണികൾക്കുണ്ടാവുന്ന ആവേശം വിക്കിപീഡിയയിൽ വരേണ്ടതില്ലെന്ന് കരുതുന്നു.- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 08:59, 5 ഫെബ്രുവരി 2026 (UTC) ::ഒരു നേതാവിനോടുള്ള എതിർപ്പ് പ്രകടിപ്പിക്കാൻ ശ്രദ്ധേയതയില്ല എന്ന കള്ളം പറഞ്ഞ് പറഞ്ഞ് വിക്കിപീഡിയയിൽ നിന്ന് തങ്ങൾക്കിഷ്ടമില്ലാത്തവരുടെ ലേഖനം ഒഴിവാക്കേണ്ടതുമില്ല എന്നും കരുതുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 07:55, 8 ഫെബ്രുവരി 2026 (UTC) :::നേതാവിന് ശ്രദ്ധേയതയില്ലെന്നാരും പറഞ്ഞിട്ടില്ല. നേതാവിന്റെ ജാഥക്കാണ് ശ്രദ്ധേയതയില്ലെന്ന് പറഞ്ഞത്. അത് സ്വാഭാവികമായി നടക്കുന്ന സംഘടനാപ്രവർത്തനം മാത്രമാണ്. റുട്ടീൻ പരിപാടികൾക്ക് ശ്രദ്ധേയത വരില്ല. [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 15:30, 8 ഫെബ്രുവരി 2026 (UTC) ::::സാധാരണ സംഘടനാ പരിപാടികൾക്ക് (Routine organizational events) ശ്രദ്ധേയത ഉണ്ടാകില്ല എന്ന പൊതുതത്വം ശരിയാണെങ്കിലും, ഈ ലേഖനത്തിന്റെ കാര്യത്തിൽ അത് ബാധകമല്ല. വിക്കിപീഡിയയുടെ ശ്രദ്ധേയതാ നയം (GNG) മുൻനിർത്തി താഴെ പറയുന്ന കാരണങ്ങളാൽ ഈ ലേഖനം ഒരു സ്വതന്ത്ര താളായി നിലനിൽക്കേണ്ടതാണ്: ::::വിശ്വസനീയവും സ്വതന്ത്രവുമായ സ്രോതസ്സുകൾ (Significant Coverage): വിക്കിപീഡിയയുടെ അടിസ്ഥാന മാനദണ്ഡമായ GNG പ്രകാരം ഒരു വിഷയത്തെക്കുറിച്ച് വിശ്വസനീയമായ സ്രോതസ്സുകളിൽ (Independent sources) ഒന്നിലധികം റിപ്പോർട്ടുകൾ ഉണ്ടാകണം. ഈ യാത്രയെക്കുറിച്ച് The Hindu, Mathrubhumi, Malayala Manorama, New Indian Express തുടങ്ങിയ മുൻനിര മാധ്യമങ്ങളിൽ കേവലം ഒരു വാർത്തയല്ല, മറിച്ച് യാത്രയുടെ തുടക്കം മുതൽ ഒടുക്കം വരെ (കാസർഗോഡ് മുതൽ തിരുവനന്തപുരം വരെ) Sustained Coverage ലഭ്യമാണ്. ഇത് 'റുട്ടീൻ കവറേജ്' എന്ന പരിധിക്ക് പുറത്താണ്. ::::രണ്ടമതായി, സാമൂഹികവും രാഷ്ട്രീയവുമായ സ്വാധീനം (Impact beyond Routine): കേവലം ഒരു സംഘടനയുടെ ആഭ്യന്തര പരിപാടി എന്നതിലുപരി, കേരള മുഖ്യമന്ത്രി പിണറായി വിജയൻ, പ്രതിപക്ഷ നേതാവ് വി.ഡി. സതീശൻ, മറ്റ് മന്ത്രിമാർ, എം.പിമാർ തുടങ്ങിയ ഉന്നത വ്യക്തിത്വങ്ങളുടെ പങ്കാളിത്തം ഈ യാത്രയ്ക്ക് ഒരു State-wide significance നൽകുന്നു. വർഗീയ ധ്രുവീകരണത്തിനെതിരെ 'മനുഷ്യത്വം' എന്ന പ്രമേയത്തിൽ നടന്ന ഈ യാത്ര സാമൂഹികവും രാഷ്ട്രീയവുമായ വലിയ ചർച്ചകൾക്ക് വഴിവെച്ചിട്ടുണ്ട്. ::::നയപരമായ ആവശ്യങ്ങൾ (Policy Demands): മലപ്പുറം ജില്ലാ വിഭജനം പോലുള്ള ഭരണപരമായ ആവശ്യങ്ങൾ ഈ യാത്രയിലൂടെ പൊതുമധ്യത്തിൽ ചർച്ചയായി. സമാനമായ ആവശ്യം പിന്നീട് ഇ.കെ. വിഭാഗം സമസ്ത ഉൾപ്പെടെയുള്ള മറ്റ് പ്രമുഖ സംഘടനകളും ഏറ്റെടുത്തതായി റിപ്പോർട്ടുകൾ വരുന്നുണ്ട്. ഒരു യാത്ര ഉന്നയിച്ച ആവശ്യം സംസ്ഥാനത്തെ മറ്റ് പ്രധാന സാമൂഹിക-രാഷ്ട്രീയ വിഭാഗങ്ങളും ചർച്ച ചെയ്യുന്നുണ്ടെങ്കിൽ, അത് ആ യാത്രയുടെ ചരിത്രപരമായ ശ്രദ്ധേയതയ്ക്ക് തെളിവാണ്. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 06:14, 9 ഫെബ്രുവരി 2026 (UTC) :::::ഒരു സംഘടന ഒരു ജാഥ നടത്തി, പത്രങ്ങൾക്ക് പത്രക്കുറിപ്പ് നൽകിയാൽ അവർ അത് പ്രസിദ്ധീകരിക്കും. വിളിച്ചാൽ വിവിധ രാഷ്ട്രീയക്കാർ പരിപാടിക്ക് വരും. ഇതൊക്കെ മൊത്തം PR വർക്ക് ആണ്. ഇതൊക്കെ റുട്ടീൻ ആയി നടക്കുന്നതാണ്. ജില്ലകളുടെ വിഭജനം കാലാകാലങ്ങളായി നിലനിൽക്കുന്ന ആവശ്യങ്ങളാണ്, പുതിയ കാര്യമല്ല. വേണമെങ്കിൽ താളിന്റെ ഉള്ളടക്കം സംക്ഷിപ്തമായി മുസ്‌ലിയാരുടെയും സംഘടനയുടെയും താളിൽ ചേർക്കാം എന്നതിലപ്പുറം ഒരു ശ്രദ്ധേയതയും ഈ താളിന് ഇല്ല. -- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 07:28, 9 ഫെബ്രുവരി 2026 (UTC) ::::::ശ്രദ്ധേയതയുടെ മാനദണ്ഡം (WP:EVENT): വിക്കിപീഡിയയിലെ എവന്റ് നോട്ടബിലിറ്റി (Event Notability) ഗൈഡ്‌ലൈൻ പ്രകാരം, ഒരു സംഭവം വ്യാപകമായ മാധ്യമശ്രദ്ധ നേടുകയും (Large-scale coverage) അത് പ്രാദേശിക തലത്തിനപ്പുറം ചർച്ചയാവുകയും ചെയ്താൽ അതിന് സ്വതന്ത്ര നിലനിൽപ്പിന് അർഹതയുണ്ട്. ഇവിടെ മുഖ്യമന്ത്രിയും പ്രതിപക്ഷ നേതാവും പങ്കെടുത്തു എന്നത് പ്രോട്ടോക്കോൾ എന്നതിലുപരി ആ വിഷയത്തിന് ലഭിച്ച സ്റ്റേറ്റ് വൈഡ് അംഗീകാരമായാണ് (State-wide significance) കണക്കാക്കേണ്ടത്. :::::: ::::::ഇർഷാദ് ഉന്നയിച്ച "PR വർക്ക്" എന്ന ആരോപണം വിക്കിപീഡിയയുടെ സ്രോതസ്സ് നയങ്ങൾക്ക് (WP:RS) നിരക്കുന്നതുമല്ല. ഈ ഒരു യാത്രക്ക് പത്രകുറിപ്പ് നൽകി എന്നതൊക്കെ തെളിവില്ലാത്ത ആരോപണങ്ങളാണ്. സാധാരണയായി ഒരു സംസ്ഥാന ദേശീയ പ്രധാന്യമുള്ള സംഭവങ്ങൾ നടക്കുമ്പോൾ അവിടങ്ങളിൽ റിപ്പോർട്ടർമാർ നേരിട്ട്പോയിട്ടാണ് റിപ്പോർട്ട് ചെയ്യുക , അതിന് അവരെ ക്ഷണിക്കുക പോലും ചെയ്യേണ്ടതില്ല എന്ന അടിസ്ഥാന വിവരം അറിയുമല്ലോ. ::::::എഡിറ്റോറിയൽ കൺട്രോൾ (Editorial Independence): മാധ്യമങ്ങൾ ഒരു സംഘടന നൽകുന്ന പത്രക്കുറിപ്പ് (Press Release) അതുപോലെ പ്രസിദ്ധീകരിക്കുന്നതും, ആ വാർത്തയെ സ്വന്തം നിലയിൽ റിപ്പോർട്ട് ചെയ്യുന്നതും തമ്മിൽ വലിയ വ്യത്യാസമുണ്ട്. The Hindu, Indian Express, Asianet, Reporter, Mediaone, Malayala Manorama തുടങ്ങിയ നിരവധി സ്ഥാപനങ്ങൾ സ്വന്തം ലേഖകരെ ഉപയോഗിച്ചാണ് ഈ യാത്ര കവർ ചെയ്തത്. അല്ലാതെ കേവലം ഇർഷാദ് ആരോപിക്കുന്നത് പോലെ പത്രക്കുറിപ്പുകൾ അല്ല എന്ന് അവലംബം പരിശോധിക്കുന്ന ആർക്കും മനസ്സിലാകും. ::::::മാധ്യമങ്ങളുടെ വിശ്വാസ്യത: ഒരു പരിപാടിയിലേക്ക് ക്ഷണം ലഭിച്ചു എന്നത് കൊണ്ട് മാത്രം ഈ മാധ്യമങ്ങൾ ആ പരിപാടിയെക്കുറിച്ച് വാർത്ത നൽകില്ല. ആ വിഷയത്തിന് വാർത്താ പ്രാധാന്യം (News value) ഉണ്ടെങ്കിൽ മാത്രമേ അത് വലിയ വാർത്തയായി മാറുകയുള്ളൂ. കേരളത്തിലെ പ്രമുഖ മാധ്യമങ്ങളെല്ലാം ഒരുപോലെ ഈ യാത്രയ്ക്ക് നൽകിയ പ്രാധാന്യം അതിന്റെ പൊതുജന ശ്രദ്ധേയതയ്ക്ക് തെളിവാണ്. ::::::വിമർശനാത്മകമായ സമീപനം: PR വർക്കുകളിൽ ഒരിക്കലും വരാത്ത ഒന്നാണ് വിഷയത്തിന്റെ ആഴത്തിലുള്ള വിശകലനം. മലപ്പുറം ജില്ലാ വിഭജനം പോലുള്ള നയപരമായ ആവശ്യങ്ങൾ ഈ യാത്രയുടെ ഭാഗമായി മാധ്യമങ്ങളും രാഷ്ട്രീയ നേതാക്കളും വിശകലനം ചെയ്തത് അത് ഒരു കേവലം സംഘടനാ പരിപാടി അല്ലാത്തതിനാലാണ്. ::::::തുടർച്ചയായ ചർച്ചകൾ: ഈ യാത്ര ഉന്നയിച്ച ആവശ്യങ്ങൾ (ജില്ലാ പുനഃസംഘടന) പിന്നീട് ഇ.കെ വിഭാഗം സമസ്ത ഉൾപ്പെടെയുള്ള മറ്റ് സംഘടനകളും ഔദ്യോഗികമായി ഏറ്റെടുത്തത് ഈ വിഷയത്തിന്റെ ഗൗരവം വർദ്ധിപ്പിക്കുന്നു. കൂടാതെ ബജറ്റിൽ ഉൾപ്പെടുത്തിയ പല പദ്ധതികളും ഇതിന്റെ ഇംപാക്ടിനെ സൂചിപ്പിക്കുന്നു. ഒരു PR വർക്കിന് ഇത്തരത്തിൽ മറ്റ് സംഘടനകളുടെ അജണ്ടയിൽ സ്വാധീനം ചെലുത്താൻ കഴിയില്ല. ::::::സ്രോതസ്സുകളുടെ ബാഹുല്യം: വിക്കിപീഡിയ നയമനുസരിച്ച് ഒന്നിലധികം വിശ്വസനീയവും സ്വതന്ത്രവുമായ സ്രോതസ്സുകൾ (Multiple independent sources) ഒരു വിഷയത്തെക്കുറിച്ച് ഉണ്ടെങ്കിൽ അതിനെ PR വർക്ക് എന്ന് വിളിച്ച് തള്ളിക്കളയാനാവില്ല. ഈ വിഷയത്തിൽ അത്തരത്തിലുള്ള വിപുലമായ സ്രോതസ്സുകൾ ലഭ്യമാണ്. ::::::അതുകൊണ്ട്, വ്യക്തമായ തെളിവുകളില്ലാതെ ഈ റിപ്പോർട്ടുകളെല്ലാം "PR വർക്ക്" ആണെന്ന് പറയുന്നത് വിക്കിപീഡിയയുടെ നിഷ്പക്ഷതാ നയത്തിന് വിരുദ്ധമാണ്. വിശ്വസനീയമായ മാധ്യമ റിപ്പോർട്ടുകൾക്ക് വിക്കിപീഡിയ നൽകുന്ന പ്രാധാന്യം ഈ ലേഖനത്തിനും ലഭിക്കേണ്ടതുണ്ട്. :::::: ::::::ഈ വാർത്തകളെല്ലാം 'PR വർക്ക്' ആണെന്ന് ഇർഷാദ് ആരോപിക്കുമ്പോൾ, അതിനെ സാധൂകരിക്കുന്ന തെളിവുകൾ താങ്കൾ നൽകുന്നില്ല. വിക്കിപീഡിയയിൽ ഒരു എഡിറ്ററുടെ വ്യക്തിപരമായ നിഗമനങ്ങളേക്കാൾ (Personal opinions) വില നൽകുന്നത് മുൻനിര മാധ്യമങ്ങളുടെ സ്വതന്ത്രമായ റിപ്പോർട്ടിംഗിനാണ്. ::::::The Hindu അല്ലെങ്കിൽ Indian Express പോലുള്ള അന്താരാഷ്ട്ര നിലവാരമുള്ള മാധ്യമങ്ങൾ ഒരു സംഘടനയുടെ PR ഏജൻസികളായല്ല പ്രവർത്തിക്കുന്നത്. അവർ ഒരു വാർത്ത നൽകുന്നുണ്ടെങ്കിൽ അതിന് സാമൂഹികമായ പ്രസക്തിയുണ്ടെന്ന് ഉറപ്പുവരുത്താറുണ്ട്. ആ മാധ്യമങ്ങൾ സ്വന്തം പ്രസിദ്ധീകരിച്ച വാർത്തകളെ PR എന്ന് മുദ്രകുത്തുന്നത് ആ മാധ്യമങ്ങളുടെ വിശ്വാസ്യതയെ തന്നെ ചോദ്യം ചെയ്യുന്നതാണ്. ::::::നമ്മൾ തമ്മിലുള്ള ഈ തർക്കം പരിഹരിക്കപ്പെടാത്ത സാഹചര്യത്തിൽ, വിക്കിപീഡിയയിലെ മറ്റ് പരിചയസമ്പന്നരായ എഡിറ്റർമാരുടെ മൂന്നാമതൊരു അഭിപ്രായം (Third Opinion) തേടാൻ ഞാൻ താല്പര്യപ്പെടുന്നു. നിഷ്പക്ഷമായ ഒരു വിലയിരുത്തലിലൂടെ നമുക്ക് ഈ ചർച്ച അവസാനിപ്പിക്കാം. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 16:38, 10 ഫെബ്രുവരി 2026 (UTC) :::::::മുഖ്യമന്ത്രി, പ്രതിപക്ഷനേതാവ് എന്നിവർ സ്വയം നടത്തുന്ന ജാഥകൾക്ക് പോലും വിക്കിപീഡിയയിൽ വരാനുള്ള ശ്രദ്ധേയതയില്ല, അവക്കൊന്നും താളുകളുമില്ല. എന്നിട്ടാണോ മുസ്‌ലിയാരുടെ ജാഥയിൽ അവർ പങ്കെടുക്കുന്നത് കൊണ്ട് ആ ജാഥക്ക് ശ്രദ്ധേയത വരുന്നത്. ജാഥയുടെ നായകർ തന്നെ നടത്തുന്ന പ്രസ്താവനകളും അവകാശവാദങ്ങളുമാണ് പത്രങ്ങൾ റിപ്പോർട്ട് ചെയ്തിട്ടുള്ളത്. അത് ശ്രദ്ധേയതക്ക് മാനദണ്ഡമാവില്ല. ഇവിടെ താളിന്റെ ശ്രദ്ധേയത ചോദ്യം ചെയ്ത് @[[ഉപയോക്താവ്:Ranjithsiji|രൺജിത് സിജി]] മായ്ക്കൽ ഫലകമിട്ടതുകൊണ്ടാണ് ഈ ചർച്ച തന്നെ വന്നത്. എന്റെ അഭിപ്രായം താൾ മായ്ക്കണമെന്ന് തന്നെയാണ് എന്ന് വീണ്ടും അഭിപ്രായപ്പെടുന്നു.-- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 18:27, 10 ഫെബ്രുവരി 2026 (UTC) ::::::::മുഖ്യമന്ത്രിയോ പ്രതിപക്ഷ നേതാവോ നടത്തുന്ന എല്ലാ ജാഥകൾക്കും വിക്കിപീഡിയയിൽ താളില്ല എന്നത് മറ്റു യാത്രകൾക്കൊന്നും ശ്രദ്ധേയതയില്ല എന്നല്ല. ഒരു യാത്ര വിക്കിപീഡിയയിൽ നിലനിൽക്കുന്നത് അത് നയിക്കുന്ന വ്യക്തിയുടെ പദവി കൊണ്ടല്ല, മറിച്ച് ആ യാത്രയെക്കുറിച്ച് വന്ന സ്വതന്ത്രവും വിശദവുമായ വാർത്തകളും അത് സമൂഹത്തിൽ ഉണ്ടാക്കിയ ചർച്ചകളും മാറ്റങ്ങളും കണക്കിലെടുത്താണ്. ഇവിടെ ഈ യാത്രയുടെ ശ്രദ്ധേയത മുഖ്യമന്ത്രി പങ്കെടുത്തു എന്നതിലുപരി, ആ യാത്ര ഉന്നയിച്ച 'മനുഷ്യത്വം', 'ഭരണഘടനാ സംരക്ഷണം', 'ജില്ലാ വിഭജനം' തുടങ്ങിയ പ്രമേയങ്ങൾക്ക് ലഭിച്ച തുടർച്ചയായ മാധ്യമശ്രദ്ധയാണ്. :::::::: ::::::::യാത്രയുടെ നായകർ നടത്തുന്ന പ്രസ്താവനകൾ റിപ്പോർട്ട് ചെയ്യുന്നത് സാധാരണമാണ്. എന്നാൽ ഈ യാത്രയെക്കുറിച്ചുള്ള വാർത്തകൾ പരിശോധിച്ചാൽ അവ കേവലം പ്രസ്താവനകൾ മാത്രമല്ലെന്ന് കാണാം. യാത്രയുടെ പശ്ചാത്തലം, അതിന്റെ സാമൂഹിക രാഷ്ട്രീയ അർത്ഥങ്ങൾ, കേരളത്തിലെ സുന്നി വിഭാഗങ്ങൾക്കിടയിലുണ്ടായ ഐക്യനീക്കങ്ങൾ (സമസ്തയുടെ പിന്തുണ ഉൾപ്പെടെ) എന്നിവ മാധ്യമങ്ങൾ സ്വന്തം നിലയിൽ വിശകലനം ചെയ്തിട്ടുണ്ട്. വിക്കിപീഡിയയുടെ WP:NEWSORG നയമനുസരിച്ച്, പ്രമുഖ പത്രങ്ങളുടെ എഡിറ്റോറിയൽ നിയന്ത്രണത്തിൽ വരുന്ന വാർത്തകൾ വിശ്വസനീയമായ തെളിവുകളാണ്. :::::::: ::::::::രൺജിത് സിജി മായ്ക്കൽ ഫലകം ഇട്ടത് ചർച്ചകൾക്കും കൂടുതൽ സ്രോതസ്സുകൾ ചേർക്കാനുമാണ്. നയപരമായ വാദങ്ങൾ കൊണ്ട് ശ്രദ്ധേയത തെളിയിക്കപ്പെട്ടാൽ താൾ നിലനിർത്താവുന്നതാണ്. അതിനാൽ, വ്യക്തിപരമായ താൽപ്പര്യങ്ങൾ മാറ്റിവെച്ച് സ്വതന്ത്രമായ സ്രോതസ്സുകളുടെ അടിസ്ഥാനത്തിൽ ഈ ചർച്ചയെ കാണണമെന്ന് അഭ്യർത്ഥിക്കുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 07:19, 11 ഫെബ്രുവരി 2026 (UTC) :::::::::COI ഉണ്ടോ എന്ന് സംശയിക്കുന്നു.-- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 09:35, 22 ഫെബ്രുവരി 2026 (UTC) ::::::::::ഒരു വിഷയത്തിൽ ശ്രദ്ധേയത തെളിയിക്കാൻ സ്രോതസ്സുകൾ നിരത്തുന്നത് എങ്ങനെയാണ് '''COI (Conflict of Interest)''' ആകുന്നത് എന്ന് മനസ്സിലാകുന്നില്ല. ::::::::::# '''നയപരമായ ചർച്ച:''' നാം ഇവിടെ ചർച്ച ചെയ്യുന്നത് വിക്കിപീഡിയയുടെ '''ശ്രദ്ധേയതാ നയങ്ങളെക്കുറിച്ചാണ് (GNG)'''. ഒരു ലേഖനം നിലനിൽക്കണമെന്ന് വാദിക്കുന്നത് അത് തയ്യാറാക്കിയ വ്യക്തിക്ക് ആ വിഷയത്തോടുള്ള വ്യക്തിപരമായ താൽപ്പര്യമായി കാണുന്നത് ശരിയല്ല. വിക്കിപീഡിയയിൽ ഒരു ലേഖനം നയങ്ങൾ പാലിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുകയാണ് നാം ചെയ്യേണ്ടത്. ::::::::::# '''സ്രോതസ്സുകൾ സംസാരിക്കട്ടെ:''' ഞാൻ ഇവിടെ നൽകിയ അവലംബങ്ങൾ (The Hindu, Indian Express, Onmanorama) എന്റെ സ്വന്തം അഭിപ്രായങ്ങളല്ല. ഈ മാധ്യമങ്ങൾ റിപ്പോർട്ട് ചെയ്ത കാര്യങ്ങൾ ചൂണ്ടിക്കാട്ടുന്നത് എങ്ങനെയാണ് COI ആകുന്നത്? സ്രോതസ്സുകൾ സ്വതന്ത്രമാണെങ്കിൽ എഡിറ്റർക്ക് താൽപ്പര്യ വൈരുദ്ധ്യമുണ്ടെന്ന ആരോപണത്തിന് പ്രസക്തിയില്ല. ::::::::::# '''വ്യക്തിപരമായ ആരോപണങ്ങൾ ഒഴിവാക്കുക:''' ചർച്ച നയപരമായ കാര്യങ്ങളിൽ നിന്ന് മാറി വ്യക്തിപരമായ ആരോപണങ്ങളിലേക്ക് (Personal attacks/COI accusations) പോകുന്നത് വിക്കിപീഡിയയുടെ ആരോഗ്യകരമായ സംവാദ രീതിക്ക് ഗുണകരമല്ല. താങ്കൾ ഉന്നയിച്ച "PR വർക്ക്" എന്ന വാദത്തിന് ഞാൻ മറുപടി നൽകിയത് വിശ്വസനീയമായ മാധ്യമ റിപ്പോർട്ടുകൾ മുൻനിർത്തിയാണ്. അതിനെ പ്രതിരോധിക്കാൻ കഴിയാതെ വരുമ്പോൾ COI ആരോപണം ഉന്നയിക്കുന്നത് ചർച്ചയെ വഴിതിരിച്ചുവിടാനേ സഹായിക്കൂ. ::::::::::# '''ലേഖനത്തിന്റെ മെച്ചപ്പെടുത്തൽ:''' കൂടുതൽ സ്വതന്ത്രമായ അവലംബങ്ങൾ ചേർത്ത് ലേഖനത്തെ കൂടുതൽ മെച്ചപ്പെടുത്താനാണ് ഞാൻ ശ്രമിക്കുന്നത്. ::::::::::അതുകൊണ്ട്, വ്യക്തിപരമായ സംശയങ്ങൾ മാറ്റിവെച്ച് നമുക്ക് സ്രോതസ്സുകളെക്കുറിച്ചും വിക്കിപീഡിയ നയങ്ങളെക്കുറിച്ചും സംസാരിക്കാം. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 03:41, 23 ഫെബ്രുവരി 2026 (UTC) :വിക്കിപീഡിയയിൽ സ്വതന്ത്രമായി നിലനിൽക്കാനുള്ള ശ്രദ്ധേയത ഈ താളിന് ഇല്ല. സമ്മേളനങ്ങൾക്കും വലിയ ജാഥകൾക്കുമൊക്കെ ആ സമയത്തും അതിനോടനുബന്ധിച്ചും മാധ്യമങ്ങളിൽ കവറേജ് ഉണ്ടാവും. അവയൊന്നും വിക്കിപീഡിയ ശ്രദ്ധേയതക്ക് പരിഗണിക്കപ്പെടേണ്ടതില്ല. സി.പി.എം ന്റെ പാർട്ടി കോൺഗ്രസ്സുകൾക്ക് പോലും സ്വതന്ത്രമായ താളുകൾ ഇല്ല എന്നത് കാണുക. പോളിറ്റ്ബ്യൂറോയുടെ താളിൽ ഒരു പട്ടിക മാത്രമാണ് അവ. ഇവിടെ ജാഥ സംഘടിപ്പിച്ച കേരള മുസ്‌ലിം ജമാഅത്ത് എന്ന താൾ പോലും സ്വതന്ത്രമായി നിലനിൽക്കാൻ മാത്രം ശ്രദ്ധേയത ഇല്ലാതെ നീക്കം ചെയ്യപ്പെട്ടതാണെന്നും പരിഗണിക്കപ്പെടേണ്ടതാണ്. താൾ മായ്ക്കണമെന്ന് തന്നെ അഭിപ്രായം.--[[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 10:46, 24 ഫെബ്രുവരി 2026 (UTC) ::താങ്കൾ നൽകിയ ഉദാഹരണങ്ങളും വിക്കിപീഡിയ നയങ്ങളും തമ്മിൽ വലിയ വ്യത്യാസമുണ്ട്. അത് താഴെ വ്യക്തമാക്കാം: ::# '''സി.പി.എം പാർട്ടി കോൺഗ്രസ് ഉദാഹരണം:''' സി.പി.എം പാർട്ടി കോൺഗ്രസുകൾ എന്നത് കൃത്യമായ ഇടവേളകളിൽ നടക്കുന്ന ഒരു സംഘടനയുടെ 'ആഭ്യന്തര ഭരണഘടനാ പ്രക്രിയ' (Internal organizational process) ആണ്. എന്നാൽ കേരള യാത്ര എന്നത് ഒരു നിശ്ചിത ലക്ഷ്യത്തോടുകൂടി (മനുഷ്യത്വം, വർഗീയ വിരുദ്ധത) പൊതുസമൂഹത്തെ അഭിസംബോധന ചെയ്ത് നടത്തിയ ഒരു '''സവിശേഷ സംഭവമാണ് (Specific Event)'''. വിക്കിപീഡിയയിൽ രാഷ്ട്രീയ പാർട്ടികളുടെ ഇത്തരം വലിയ പദയാത്രകൾക്ക് (ഉദാഹരണത്തിന്: ''Bharat Jodo Yatra'') സ്വതന്ത്ര താളുകളുണ്ട്. പാർട്ടി കോൺഗ്രസുകളെ ഇതിനോട് താരതമ്യം ചെയ്യുന്നത് യുക്തിസഹമല്ല. ::# '''സംഘടനയുടെ ശ്രദ്ധേയതയും വിഷയത്തിന്റെ ശ്രദ്ധേയതയും:''' കേരള മുസ്ലിം ജമാഅത്ത് എന്ന സംഘടനയുടെ താൾ നേരത്തെ നീക്കം ചെയ്യപ്പെട്ടു എന്നത് ഈ യാത്രയുടെ ശ്രദ്ധേയതയെ ബാധിക്കുന്നില്ല. വിക്കിപീഡിയ നയമനുസരിച്ച് '''"Notability is not inherited"''' (ശ്രദ്ധേയത പാരമ്പര്യമായി ലഭിക്കുന്നതല്ല). ഒരു സംഘടനയ്ക്ക് സ്വതന്ത്ര ശ്രദ്ധേയത ഇല്ലെങ്കിലും അവർ നടത്തുന്ന ഒരു പ്രത്യേക പരിപാടിക്ക് സ്വതന്ത്രമായ ശ്രദ്ധേയത ഉണ്ടാകാം. ഈ യാത്രയ്ക്ക് ലഭിച്ച അന്താരാഷ്ട്ര-ദേശീയ മാധ്യമ കവറേജ് ഇതിന് തെളിവാണ്. ::# '''ദേശീയ പ്രസക്തിയും സ്രോതസ്സുകളും:''' കേവലം സംഘടനാ വാർത്തകൾക്കപ്പുറം, ഈ യാത്രയുടെ പശ്ചാത്തലത്തിൽ കാന്തപുരം അബൂബക്കർ മുസ്‌ലിയാർ പ്രധാനമന്ത്രിയുമായി നടത്തിയ കൂടിക്കാഴ്ചയും അതിലുയർന്ന ചർച്ചകളും ഇതിനെ ഒരു '''ദേശീയ പ്രാധാന്യമുള്ള (National Importance)''' വിഷയമാക്കി മാറ്റിയിട്ടുണ്ട്. കൂടാതെ ഇ.കെ. വിഭാഗം സമസ്ത ഉൾപ്പെടെയുള്ള ഇതര സംഘടനകൾ ഈ യാത്രയിലെ ആവശ്യങ്ങൾ ഏറ്റെടുത്തത് ഈ പരിപാടി കേരളത്തിലെ പൊതുസമൂഹത്തിൽ ഉണ്ടാക്കിയ വലിയ ചലനത്തെയാണ് കാണിക്കുന്നത്. ::ചുരുക്കത്തിൽ, താങ്കളുടെ വാദങ്ങൾ വിക്കിപീഡിയയുടെ '''WP:EVENT''' നയത്തിന് വിരുദ്ധമാണ്. വിശ്വസനീയമായ നിരവധി സെക്കൻഡറി സ്രോതസ്സുകൾ ഉള്ളതിനാൽ ഈ ലേഖനം സ്വതന്ത്രമായി നിലനിർത്താൻ പൂർണ്ണമായ യോഗ്യതയുണ്ട്. അതിനാൽ വ്യക്തിപരമായ വിയോജിപ്പുകൾക്ക് അപ്പുറം വസ്തുതകൾക്കും സ്രോതസ്സുകൾക്കും മുൻഗണന നൽകണമെന്ന് അഭ്യർത്ഥിക്കുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 15:45, 24 ഫെബ്രുവരി 2026 (UTC) :::ഇർഷാദ്, താങ്കൾ ആവർത്തിക്കുന്ന വാദങ്ങൾ വിക്കിപീഡിയയുടെ WP:GNG, WP:EVENT എന്നീ നയങ്ങൾക്ക് വിരുദ്ധമാണെന്ന് ഞാൻ നേരത്തെ തന്നെ വ്യക്തമാക്കിയതാണ്. ഒരു സംഘടനയുടെ ശ്രദ്ധേയതയും ആ സംഘടന നടത്തുന്ന ഒരു സവിശേഷ സംഭവത്തിന്റെ ശ്രദ്ധേയതയും രണ്ടാണ് (Notability is not inherited). ഈ യാത്രയ്ക്ക് ലഭിച്ച ദേശീയ-അന്തർദേശീയ മാധ്യമ കവറേജും, ഇത് ഉന്നയിച്ച വിഷയങ്ങളിൽ പിന്നീട് പ്രധാനമന്ത്രിയുമായി നടന്ന ചർച്ചകളും ഇതിന്റെ ശ്രദ്ധേയതയ്ക്ക് മതിയായ തെളിവുകളാണ്. ::: :::ഒരേ വാദങ്ങൾ തന്നെ ആവർത്തിക്കുന്നത് ചർച്ചയെ മുന്നോട്ട് കൊണ്ടുപോകാൻ സഹായിക്കില്ല. അതിനാൽ, ഈ വിഷയത്തിൽ കൂടുതൽ തർക്കത്തിനില്ല. ഇത് ചർച്ചയെ Talked to death എന്ന അവസ്ഥയിലേക്ക് എത്തിച്ചിരിക്കുകയാണ്. അതിനാൽ ഇനി ലഭ്യമായ വിശ്വസനീയമായ സ്രോതസ്സുകൾ പരിശോധിച്ചുകൊണ്ട് ഒരു നിഷ്പക്ഷമായ ഇടപെടൽ ഉണ്ടാകട്ടെ. ::: :::@[[ഉപയോക്താവ്:Kirangopi|User:Kirangopi]] ഈ ചർച്ചയിലൊരു തീരുമാനമെടുക്കാൻ ശ്രദ്ധ ക്ഷണിക്കുന്നു [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 15:50, 24 ഫെബ്രുവരി 2026 (UTC) ::::@[[ഉപയോക്താവ്:Kiran Gopi|User:Kiran Gopi]] ഈ ചർച്ചയിലൊരു തീരുമാനമെടുക്കാൻ ശ്രദ്ധ ക്ഷണിക്കുന്നു [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 15:52, 24 ഫെബ്രുവരി 2026 (UTC) :::::ഏതെങ്കിലും സംഘടനകൾ നടത്തുന്ന പരിപാടികൾ, സമ്മേളനങ്ങൾ എന്നിവക്കൊന്നും വിജ്ഞാനകോശത്തിൽ വരാനുള്ള ശ്രദ്ധേയത ഉണ്ടാവില്ല എന്നാണ് (ആ സമയത്ത് പത്രമാധ്യമങ്ങളിൽ വാർത്തകൾ -Significant coverage- വന്നേക്കാം, അവ സാധാരണ ഇവിടെ പരിഗണിക്കപ്പെടാറില്ല; പാർട്ടി കോൺഗ്രസ്സ്, സംഘടന സമ്മേളനങ്ങൾ etc. എന്നിവയൊക്കെ ഉദാഹരണം) കീഴ്‌വഴക്കം. താൾ മായ്ക്കാവുന്നതാണ് എന്ന് കരുതുന്നു. :::::എല്ലാ കാര്യനിർവ്വാഹകരുടെയും (({{ping|Fotokannan}},{{ping|Razimantv}},{{ping|Kiran Gopi}},{{ping|Sreejithk2000}},{{ping|Irvin calicut}},{{ping|Ranjithsiji}},{{ping|TheWikiholic}},{{ping|Malikaveedu}},{{ping|Vijayanrajapuram}},{{ping|Vinayaraj}},{{ping|Ajeeshkumar4u}}, {{ping|Meenakshi nandhini}}) ശ്രദ്ധ ഇതിലേക്ക് ക്ഷണിക്കുന്നു. [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 21:57, 24 ഫെബ്രുവരി 2026 (UTC) ::::::'''+1''' '''മായ്ക്കാം''' ഇത് അനുവദിച്ചാൽ മറ്റു പല യാത്രകളും ഇവിടെ വരും, ഇതരത്തിലുള്ളവ ഇതിനിടയിൽ വന്നിട്ടുണ്ടാക്കിൽ കണ്ടെത്തി മായ്ക്കേണ്ടതാണ് , മത സ്ഥാപങ്ങളും , രാഷ്ട്രീയ പാർട്ടികളും മറ്റും നടത്തുന്ന ഇത്തരം യാത്രകൾ ഇവിടെ വരേണ്ട ആവശ്യം ഇല്ല എന്നാണ് എന്റെ അഭിപ്രായം <span style="color:blue;font-face:Zapfino, Segoe Script;">[[User:irvin_calicut|- ഇർവിൻ കാലിക്കറ്റ്‌ ..]]</span><span style="color:brown;font-face:Papyrus;">[[User talk:irvin_calicut|.. സംവദിക്കാൻ]]</span> 15:24, 25 ഫെബ്രുവരി 2026 (UTC) :::::::ഇർവിൻ കാലിക്കറ്റിന്റെയും ഇർഷാദിന്റെയും വാദങ്ങൾ ശ്രദ്ധിച്ചു. എന്നാൽ ഒരു ലേഖനം മായ്ക്കുന്നതിന് ആധാരമാക്കേണ്ടത് അത് വിക്കിപീഡിയയുടെ നിലവിലുള്ള നയങ്ങൾ പാലിക്കുന്നുണ്ടോ എന്നതാണ്, അല്ലാതെ ഭാവിയിൽ ഇത്തരം ലേഖനങ്ങൾ വരുമെന്ന ഭീതിയല്ല. :::::::[https://en.wikipedia.org/wiki/Wikipedia:Arguments_to_avoid_in_deletion_discussions#What_about_article_x.3F "other stuff exists" (മറ്റുള്ളവ വരുമെന്ന വാദം),] "ഇത് അനുവദിച്ചാൽ മറ്റു യാത്രകളും വരും" എന്ന വാദം വിക്കിപീഡിയ നയമനുസരിച്ച് ഒരു ലേഖനം മായ്ക്കാനുള്ള കാരണമല്ല. അത്തരം ലേഖനങ്ങളില്ലെങ്കിൽ അത് സൃഷ്ടിച്ച് വിക്കിപീഡിയ സമ്പുഷ്ടമാക്കാനാണ് ശ്രമിക്കേണ്ടത്. ഓരോ ലേഖനവും അതിന്റെ സ്രോതസ്സുകളുടെയും ശ്രദ്ധേയതയുടെയും (Individual merit) അടിസ്ഥാനത്തിലാണ് വിലയിരുത്തപ്പെടേണ്ടത്. ശ്രദ്ധേയതയുള്ള മറ്റ് യാത്രകൾ വന്നാൽ അവയും വിക്കിപീഡിയയിൽ നിലനിൽക്കാൻ അർഹമാണ് (ഉദാഹരണത്തിന്: Bharat Jodo Yatra, Ram Rath Yatra തുടങ്ങിയവയ്ക്ക് വിക്കിപീഡിയയിൽ താളുകളുണ്ട്). :::::::സ്രോതസ്സുകളുടെ വിശ്വാസ്യത: കേവലം സംഘടനാ പത്രങ്ങളല്ല, മറിച്ച് The Hindu,Manorama, Mathrubhumi, Indian Express, Times of India തുടങ്ങിയ നിരവധി സ്വതന്ത്ര മാധ്യമങ്ങളാണ് ഇതിനെക്കുറിച്ച് റിപ്പോർട്ട് ചെയ്തിട്ടുള്ളത്. ഈ സ്രോതസ്സുകളെല്ലാം നിലനിൽക്കെ ശ്രദ്ധേയതയില്ല എന്ന് പറയുന്നത് വിക്കിപീഡിയയുടെ GNG (General Notability Guideline) നയത്തിന് വിരുദ്ധമാണ്. :::::::ചുരുക്കത്തിൽ മതപരമോ രാഷ്ട്രീയമോ ആയ പശ്ചാത്തലമുള്ള യാത്രകൾ എന്ന ഒറ്റ കാരണത്താൽ ഒരു ലേഖനം ഒഴിവാക്കുന്നത് വിക്കിപീഡിയയുടെ നിഷ്പക്ഷതയ്ക്ക് (NPOV) ചേർന്നതല്ല. ലഭ്യമായ സ്രോതസ്സുകളുടെ ഗുണനിലവാരം പരിശോധിച്ചുകൊണ്ട് ഒരു തീരുമാനമെടുക്കാൻ മറ്റ് കാര്യനിർവാഹകരോട് അഭ്യർത്ഥിക്കുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 05:13, 26 ഫെബ്രുവരി 2026 (UTC) ::::::::സ്രോതസ്സുകളുടെ എണ്ണം മാത്രമല്ല ശ്രദ്ധേയത നിശ്ചയിക്കുന്നത്.. വ്യാപകമായ കവറേജ് എന്നതിനേക്കാൾ ഉപരിയായി ശ്രദ്ധയത തീരുമാനിക്കുന്നത് ഈ കവറേജ് എത്രനാൾ നീണ്ടുനിൽക്കുന്നു എന്നുള്ളതാണ്. നടന്നുകൊണ്ടിരിക്കുന്ന ഒരു സംഭവത്തിന് കിട്ടുന്ന കവറേജ് "വാർത്ത പ്രാധാന്യം" മാത്രമാണ് അത് ശ്രദ്ധേയത എന്ന് പൂർണമായി ഉറപ്പിക്കാൻ കഴിയുകയില്ല. ഈയൊരു യാത്രയെ സംബന്ധിച്ചാണെങ്കിൽ യാത്ര നടക്കുമ്പോൾ വരുന്ന വാർത്തകൾ ongoing event ന് ലഭിക്കുന്ന കവറേജ് മാത്രമായിട്ടാണ് വരിക. എന്നാൽ യാത്ര തീർന്നതിനു ശേഷവും ഇതിന് വാർത്താപ്രാധാനും ലഭിക്കുന്നുണ്ടെങ്കിൽ അത് ശ്രദ്ധേയത ഉള്ളതായി കണക്കാക്കാം. ഈ സംഭവത്തിൻ്റെ കാര്യത്തിൽ യാത്രയ്ക്ക് ശേഷം അത്തരത്തിൽ ഈ സംഭവത്തെ പരാമർശിക്കുന്ന തുടർ ചർച്ചകളോ മറ്റോ ഉണ്ടായിട്ടുണ്ടോ? ഉണ്ടെങ്കിൽ അത് ലേഖനത്തിൽ ചേർക്കാമോ. [[ഉപയോക്താവ്:Ajeeshkumar4u|Ajeeshkumar4u]] ([[ഉപയോക്താവിന്റെ സംവാദം:Ajeeshkumar4u|സംവാദം]]) 07:48, 16 മാർച്ച് 2026 (UTC) :::::::::Thank for your comment in this discussion. :::::::::യാത്രയ്ക്ക് ശേഷവും ശക്തമായ സ്വാധീനവും തുടർചർച്ചകളും സൃഷ്ടിച്ചിട്ടുണ്ട്. ഇക്കാര്യം നിലവിൽ അവസാന ഭാഗത്ത് , പ്രഖ്യാപനങ്ങളും ആവശ്യങ്ങളും, ദേശീയ ശ്രദ്ധ എന്നീ ഉപ തലക്കെട്ടുകളിലായി ചേർത്തത് ശ്രദ്ധിക്കുമല്ലോ. ::::::::: താഴെ പറയുന്ന കാര്യങ്ങളാണ് അതിൽ പ്രധാനമായും ഉള്ളത്. :::::::::യാത്രയ്ക്ക് ശേഷമുള്ള ദേശീയ ശ്രദ്ധ: യാത്രയുടെ ഔദ്യോഗിക സമാപനത്തിന് ശേഷം ഫെബ്രുവരി 16-നും അതിന് ശേഷവും The Times of India, Onmanorama, keralakaumudi, മറുനാടൻ മലയാളി തുടങ്ങിയ മാധ്യമങ്ങൾ ഈ യാത്രയുടെ ഫലമായി നടന്ന പ്രധാനമന്ത്രിയുമായുള്ള കൂടിക്കാഴ്ചയെക്കുറിച്ച് വിശദമായ റിപ്പോർട്ടുകളും വിശകലനങ്ങളും പ്രസിദ്ധീകരിച്ചിട്ടുണ്ട്. കേവലം ഒരു വാർത്ത എന്നതിലുപരി, യാത്രയിലുടനീളം ജനങ്ങളിൽ നിന്ന് ലഭിച്ച നിവേദനങ്ങൾ (Petitions രാജ്യത്തിന്റെ ഭരണത്തലവന് കൈമാറിയത് ഈ സംഭവത്തിന് യാത്രയ്ക്ക് ശേഷമുള്ള 'Sustained Coverage' ഉറപ്പാക്കുന്നു. :::::::::തുടർച്ചയായ സാമൂഹിക ചലനങ്ങൾ: യാത്ര അവസാനിച്ചതിന് തൊട്ടുപിന്നാലെ (2026 ഫെബ്രുവരി 8-ന്) കാസർക്കോട് നടന്ന ഇ.കെ. വിഭാഗം സമസ്തയുടെ സമ്മേളനത്തിലും കേരള യാത്ര മുന്നോട്ടുവെച്ച മലപ്പുറം ജില്ലാ വിഭജനം ഉൾപ്പെടെയുള്ള ആവശ്യങ്ങൾ സമാനമായ രീതിയിൽ ഉന്നയിക്കപ്പെട്ടു. കേരളത്തിലെ രണ്ട് പ്രമുഖ സുന്നി വിഭാഗങ്ങൾ ഒരു പൊതുവിഷയത്തിൽ യാത്രയ്ക്ക് ശേഷവും ഒരേ നിലപാടിൽ ഉറച്ചുനിൽക്കുന്നത് ഈ യാത്ര സൃഷ്ടിച്ച സാമൂഹികമായ സ്വാധീനമായി (Impact) കാണാവുന്നതാണ്. :::::::::നയപരമായ ചർച്ചകൾ: 2026-ലെ കേരള ബജറ്റിൽ ഈ യാത്ര ഉന്നയിച്ച ചില പ്രധാന ആവശ്യങ്ങൾ പരിഗണിക്കപ്പെട്ടതും അതിനെത്തുടർന്നുണ്ടായ വിശകലനങ്ങളും ഈ സംഭവത്തിന്റെ ശ്രദ്ധേയത യാത്രയ്ക്ക് ശേഷവും നിലനിൽക്കുന്നു എന്ന് ഉറപ്പിക്കുന്നു. കൂടാതെ മനുഷ്യർക്കൊപ്പം എന്ന പ്രമേയത്തിൽ നടത്തിയ യാത്ര നടത്തിയ കാന്തപുരത്തിന്റെ നിമിഷപ്രിയ കേസിലെ അന്താരാഷ്ട്ര ഇടപെടലും ദേശീയ സുരക്ഷാ ഉപദേഷ്ടാവ് അജിത് ഡോവലിന്റെ സാന്നിധ്യത്തിൽ നടന്ന കൂടിക്കാഴ്ചയിൽ നിമിഷ പ്രിയയുടെ മോചനം പോലുള്ള നയതന്ത്ര വിഷയങ്ങൾ ചർച്ചയായതും ഈ യാത്രയുടെ തുടർച്ചയായാണ് റിപ്പോർട്ട് ചെയ്യപ്പെട്ടത്. :::::::::യാത്ര അവസാനിച്ച ശേഷം നടന്ന ഈ 'തുടർ ചർച്ചകളും' 'സ്വാധീനവും' (Impact and Aftermath) വിക്കിപീഡിയയുടെ WP:EVENT, WP:SUSTAINED എന്നീ നയങ്ങൾ പ്രകാരം സ്ഥിരമായ ശ്രദ്ധേയത തെളിയിക്കാൻ പര്യാപ്തമാണ്. ഈ വിവരങ്ങൾ ലേഖനത്തിൽ പുതിയൊരു വിഭാഗമായി (Impact) ചേർത്തിട്ടുണ്ട്. അതിനാൽ ഈ ലേഖനം വിക്കിപീഡിയയിൽ നിലനിൽക്കാൻ പൂർണ്ണ അർഹതയുണ്ട്. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 02:53, 17 മാർച്ച് 2026 (UTC) ::::::::::ഇതിനും റുട്ടീൻ കവറേജ് അല്ലാതെ മറ്റുള്ള അവലംബങ്ങളൊന്നുമില്ല. താൾ മായ്ക്കാവുന്നതാണ്. ഉള്ളടക്കം സംക്ഷിപ്തമായി [[അഖിലേന്ത്യാ സുന്നി ജംഇയ്യത്തുൽ ഉലമ]] എന്ന താളിലേക്ക് ചേർക്കാവുന്നതാണ്. [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 07:58, 17 മേയ് 2026 (UTC) :::::::::::ഇർഷാദ്, താങ്കൾ ഉന്നയിക്കുന്ന "റുട്ടീൻ കവറേജ്" എന്ന വാദം ഈ ചർച്ചയിൽ നേരത്തെ തന്നെ വിശദമായി ഖണ്ഡിക്കപ്പെട്ടതാണ്. എന്നിട്ടും അതേ വാദം ആവർത്തിക്കുന്നത് ചർച്ചയെ മുന്നോട്ട് കൊണ്ടുപോകുന്നില്ല. :::::::::::താഴെ പറയുന്ന കാര്യങ്ങൾ ഒരിക്കൽ കൂടി ശ്രദ്ധിക്കുക: :::::::::::റുട്ടീൻ കവറേജ് ആണെന്ന വാദം തെറ്റാണ്: യാത്ര നടന്നുകൊണ്ടിരിക്കുന്ന സമയത്തെ കവറേജ് മാത്രമല്ല ഇവിടെ ഉള്ളത്. യാത്ര അവസാനിച്ച ശേഷവും Times of India, manorama online, Kerala Kaumudi തുടങ്ങിയ മാധ്യമങ്ങൾ ഈ യാത്രയുടെ ഫലമായുണ്ടായ സംഭവവികാസങ്ങൾ റിപ്പോർട്ട് ചെയ്തിട്ടുണ്ട്. ഇത് WP:SUSTAINED-ന്റെ നിർവ്വചനത്തിൽ വരുന്ന തുടർ കവറേജ് ആണ്, റുട്ടീൻ കവറേജ് അല്ല. :::::::::::യാത്രയ്ക്ക് ശേഷമുള്ള സ്വാധീനം (Aftermath): പ്രധാനമന്ത്രിയുമായുള്ള കൂടിക്കാഴ്ച, ഇ.കെ. വിഭാഗം സമസ്തയുടെ സമാന നിലപാട്, 2026 ബജറ്റിൽ ആവശ്യങ്ങളുടെ പരിഗണന — ഇവയൊന്നും ഒരു "റുട്ടീൻ" സംഘടനാ പരിപാടിയുടെ പരിണതഫലങ്ങളല്ല. ഇത് ലേഖനത്തിൽ അവലംബ സഹിതം ചേർത്തിട്ടുണ്ട്. :::::::::::ലയനം പ്രായോഗികമല്ല: അഖിലേന്ത്യാ സുന്നി ജംഇയ്യത്തുൽ ഉലമ താളിലേക്ക് ഇത് ലയിപ്പിക്കണമെന്ന നിർദ്ദേശം ഈ ചർച്ചയിൽ ആദ്യം മുതൽ ഉന്നയിക്കപ്പെട്ടതാണ്. അതിനും മറുപടി നൽകിയിട്ടുണ്ട് — 14 ജില്ലകളിലൂടെ 16 ദിവസം നടന്ന, ദേശീയ ശ്രദ്ധ നേടിയ ഒരു സംഭവത്തിന്റെ വിശദാംശങ്ങൾ മറ്റൊരു ലേഖനത്തിൽ ചുരുക്കി ചേർക്കുന്നത് ആ ലേഖനത്തിന്റെ ഘടനയ്ക്ക് ദോഷകരമാകും. :::::::::::ചർച്ച ഇപ്പോൾ ഒരു നിർണ്ണായക ഘട്ടത്തിലാണ്. പുതിയ വാദങ്ങളൊന്നും ഇർഷാദ് ഉന്നയിക്കാത്ത സ്ഥിതിക്ക്, ഈ ചർച്ചയിൽ പങ്കെടുത്ത കാര്യനിർവ്വാഹകർ ലഭ്യമായ അവലംബങ്ങൾ പരിശോധിച്ച് ഒരു അന്തിമ തീരുമാനം കൈക്കൊള്ളണമെന്ന് അഭ്യർത്ഥിക്കുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 18:32, 17 മേയ് 2026 (UTC) :താഴെ കൊടുത്ത കാര്യങ്ങൾ തീരുമാനത്തിൽ പരിഗണിക്കേണ്ടതാണ്, :*കേരള യാത്ര എന്നത് തന്നെ മുസ്‌ലിയാരുടെ റുട്ടീൻ പരിപാടിയാണ്. 1999-ലെ കേരള യാത്ര, 2012-ലെ കേരള യാത്ര എന്നിവ ഉദാഹരണം. ഇവ കൂടാതെ കർണ്ണാടക യാത്ര, ആസ്സാം യാത്ര, കാശ്മീർ യാത്ര എന്നിവയൊക്കെ വേറെയും. ഇവയിൽ നിന്നും 2026-ലെ യാത്രക്ക് പ്രത്യേകിച്ച് വ്യത്യാസമൊന്നുമില്ല. അതുകൊണ്ട് മുകളിൽ പറഞ്ഞ യാത്രകൾ ജാഥാ നായകന്റെ താളിൽ പരാമർശിക്കപ്പെട്ട പോലെ ഒരു വരിയിലോ മറ്റോ ചേർത്താൽ മതിയാകും. :*യാത്ര നടന്ന ജനുവരിയിലല്ലാതെ കേരള യാത്രയെ പരാമർശിക്കുന്ന ശ്രദ്ധേയ അവലംബങ്ങളൊന്നും തന്നെ കാണുന്നില്ല. അങ്ങനെ ഉണ്ട് എന്ന് അക്ബർ പറയുന്ന അവലംബങ്ങൾ ഇവിടെ ലിസ്റ്റ് ചെയ്യാമോ? അവ ഇവിടെ പരിശോധിക്കാമല്ലോ. :*രഥയാത്ര, ഭാരത് ജോഡോ യാത്ര എന്നിവയുമായൊന്നും ഇതിനെ ഒരുതരത്തിലും താരതമ്യം ചെയ്യാനാവില്ല. ഇന്ന് കേരള യാത്ര എന്ന് നെറ്റിൽ തെരഞ്ഞാൽ കിട്ടുക ഈ പരിപാടി നടന്ന ജനുവരിയിലെ വാർത്തകൾ മാത്രമാണ് എന്ന് കാണാം. :*ബജറ്റ് വന്നപ്പോൾ അത് ഞങ്ങൾ ജാഥയിൽ ആവശ്യപ്പെട്ടതാണ് എന്ന് ജാഥാ ഉപനായകൻ അവകാശപ്പെട്ടതൊക്കെയാണ് ശ്രദ്ധേയതക്കായി ഉയർത്തുന്ന വാദം. ബജറ്റും ഈ ജാഥയും തമ്മിൽ ബന്ധപ്പെടുത്തുന്ന ഏതെങ്കിലും അവലംബമുണ്ടോ. സ്വയം അവകാശപ്പെട്ടത് വാർത്ത വന്നതല്ലാതെ. :*ജാഥ നായകൻ പ്രധാനമന്ത്രിയെ പോയി കണ്ടത് ഈ യാത്രയുടെ ശ്രദ്ധേയത തെളിയിക്കുന്ന കാര്യമല്ല. ജാഥയിൽ ഉന്നയിച്ച കാര്യങ്ങൾ അവർ പ്രധാനമന്ത്രിയെ ധരിപ്പിച്ചു എന്നത് വിക്കിപീഡിയയിൽ ശ്രദ്ധേയത കൈവരുത്തുന്ന കാര്യമല്ല. :*കേരളത്തിലെ വലിയ ജില്ലകൾ വിഭജിക്കണമെന്നത് ഒരു പുതിയ വാദമല്ല. പതിറ്റാണ്ടുകൾക്ക് മുന്നേ കേൾക്കുന്നതാണ്. അത് ജാഥയിൽ ഉന്നയിച്ചു, അത് മറ്റുള്ളവർ ഏറ്റുപിടിച്ചു എന്ന അവകാശവാദമൊന്നും ഇവിടെ ശ്രദ്ധേയത തെളിയിക്കുന്ന കാര്യമല്ല. ഇ.കെ വിഭാഗം ഈ ആവശ്യം ഉന്നയിച്ചത് ജാഥയുടെ സ്വാധീനമാണെന്ന് ഏത് അവലംബത്തിലാണ് ഉള്ളത്?. :*ലയനം ഇവിടെ ആവശ്യപ്പെടുന്നില്ല. ഈ താൾ മായ്ച്ച്, വിവരങ്ങൾ സംക്ഷിപ്തമായി ഒന്നോ രണ്ടോ വരികളിൽ മുസ്‌ലിയാരുടെ താളിൽ ചേർക്കാവുന്നതാണ്. :*നിമിഷ പ്രിയ കേസും ഈ ജാഥയും തമ്മിൽ ബന്ധിപ്പിക്കുന്ന അവലംബം ഏതാണ്. :ചുരുക്കത്തിൽ ജാഥയുടെ ശ്രദ്ധേയത തെളിയിക്കുന്ന ഒന്നും തന്നെ ഇല്ല. താൾ മായ്ക്കണമെന്ന് അഭിപ്രായം.--[[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 08:12, 18 മേയ് 2026 (UTC) ::1999-ലെയും 2012-ലെയും യാത്രകൾ ഉദ്ധരിക്കുന്നത് ഈ വാദത്തെ ശക്തിപ്പെടുത്തുന്നില്ല, മറിച്ച് ദുർബലപ്പെടുത്തുന്നു. ആ യാത്രകൾക്കും ശ്രദ്ധേയത ഉണ്ടെങ്കിൽ അവയ്ക്കും താളുകൾ ഉണ്ടാകണം. ഇല്ലെങ്കിൽ അത് ആ യാത്രകൾ ഡോക്യുമെന്റ് ചെയ്യപ്പെടാത്തതിന്റെ പ്രശ്നമാണ്, ഈ യാത്ര മായ്ക്കേണ്ടതിന്റെ കാരണമല്ല. കൂടാതെ 2026-ലെ യാത്ര ദേശീയ-അന്തർദേശീയ ശ്രദ്ധ നേടി എന്നത് അതിനെ മുൻ യാത്രകളിൽ നിന്ന് വ്യത്യസ്തമാക്കുന്നു. ::"ജനുവരിക്ക് ശേഷം ശ്രദ്ധേയ അവലംബങ്ങൾ ഇല്ല" — ഇത് വസ്തുതാവിരുദ്ധമാണ്: ലേഖനത്തിൽ തന്നെ ഇനിപ്പറയുന്ന ഫെബ്രുവരി അവലംബങ്ങൾ ഉണ്ട്: ::• The Hindu, 16.02.2026 — "Kanthapuram meets Modi, seeks development of AMU Malappuram campus" ::• The Hindu Opinion, 19.02.2026 — "A Delhi move by the Grand Mufti" ::• Times of India, 16.02.2026 — "Kanthapuram discusses social and educational issues with PM Modi" ::• New Indian Express, 17.02.2026 — "Kanthapuram meets PM, raises concerns over waqf, SIR" ::• Onmanorama, 16.02.2026 — "Kanthapuram meets PM Modi, raises minority welfare" ::• Onmanorama, 08.02.2026 — "Samastha seeks redrawing of big districts" ::• Kerala Kaumudi — "Grand Mufti of India meets PM; Ajit Doval also at Modi-Kanthapuram meeting" ::ഇവയെല്ലാം യാത്ര കഴിഞ്ഞ ശേഷം (post-event) ഈ സംഭവത്തെ പ്രത്യേകം പരാമർശിച്ചുകൊണ്ടുള്ള ദേശീയ മാധ്യമ റിപ്പോർട്ടുകളാണ്. "ജനുവരിക്ക് ശേഷം ഒന്നുമില്ല" എന്ന ഇർഷാദിന്റെ വാദം ലേഖനത്തിലെ അവലംബങ്ങൾ പരിശോധിക്കുന്ന ആർക്കും ബോധ്യമാകുന്ന തരത്തിൽ തെറ്റാണ്. ::"രഥയാത്ര, ഭാരത് ജോഡോ യാത്ര എന്നിവയുമായി താരതമ്യം ശരിയല്ല": ആ ഉദാഹരണങ്ങൾ നൽകിയത് "യാത്രകൾക്ക് വിക്കിപീഡിയയിൽ സ്ഥാനമുണ്ട്" എന്ന് കാണിക്കാൻ മാത്രമാണ്, അല്ലാതെ ഈ യാത്ര അവയ്ക്ക് തുല്യമാണ് എന്ന് വാദിക്കാനല്ല. WP:EVENT-ന്റെ മാനദണ്ഡം scale അല്ല, significant independent coverage ആണ്. ::പ്രധാനമന്ത്രിയുമായുള്ള കൂടിക്കാഴ്ച ശ്രദ്ധേയത തെളിയിക്കുന്നില്ല": ഒറ്റയ്ക്ക് എടുത്താൽ ശരിയാണ്. എന്നാൽ ഇത് ഒറ്റ ഘടകം മാത്രമാണ്. Sustained media coverage + political participation + post-event impact — ഇവ ചേർന്നാണ് ശ്രദ്ധേയത സ്ഥാപിക്കുന്നത്. The Hindu-വിന്റെ Opinion section-ൽ "A Delhi move by the Grand Mufti" എന്ന ശീർഷകത്തിൽ ഒരു Op-Ed വന്നിട്ടുണ്ട്. The Hindu-വിന്റെ Opinion page-ൽ ഒരു സംഭവത്തെക്കുറിച്ച് വിശകലന ലേഖനം വരുന്നത് routine coverage അല്ല — അത് significant independent analysis ആണ്. ഇത്തരം അവലംബങ്ങൾ GNG-യുടെ മാനദണ്ഡം പൂർണ്ണമായി പാലിക്കുന്നു. ::കേരള യാത്ര ഈ ആവശ്യം ഉന്നയിച്ചതിന് തൊട്ടുപിന്നാലെ ഇ.കെ. വിഭാഗം സമസ്തയും ഇതേ ആവശ്യം ഉന്നയിച്ചു എന്ന വസ്തുത Onmanorama (08.02.2026) റിപ്പോർട്ട് ചെയ്തിട്ടുണ്ട് — ഇത് ഈ വിഷയത്തിന് കേരളത്തിൽ ഉണ്ടായ broader social resonance-ന്റെ തെളിവാണ്, ::നിമിഷ പ്രിയ കേസും ജാഥയും ബന്ധിപ്പിക്കുന്ന അവലംബം": Kerala Kaumudi-ൽ "Grand Mufti of India meets PM; Ajit Doval also at Modi-Kanthapuram meeting" എന്ന ശീർഷകത്തിൽ Kerala Kaumudi English edition ഈ ബന്ധം റിപ്പോർട്ട് ചെയ്തിട്ടുണ്ട്. ആ അവലംബം ലേഖനത്തിൽ ഉണ്ട്. ::ചുരുക്കത്തിൽ ഇർഷാദ് ഉന്നയിച്ച ചോദ്യങ്ങൾക്ക് ലേഖനത്തിൽ നിലവിലുള്ള അവലംബങ്ങൾ തന്നെ മറുപടി നൽകുന്നു. The Hindu Opinion, Times of India, New Indian Express, manoramaonline, Kerala Kaumudi എന്നിവ ഫെബ്രുവരിയിൽ — അതായത് യാത്ര കഴിഞ്ഞ ശേഷം — ഈ സംഭവം റിപ്പോർട്ട് ചെയ്തിട്ടുണ്ട്. "ജനുവരിക്ക് ശേഷം ഒന്നുമില്ല" എന്ന വാദം വസ്തുതാവിരുദ്ധമാണ്. ::ഈ ചർച്ചയിൽ കാര്യനിർവ്വാഹകർ ലഭ്യമായ അവലംബങ്ങൾ — പ്രത്യേകിച്ച് ഫെബ്രുവരി മാസത്തിലെ ദേശീയ മാധ്യമ റിപ്പോർട്ടുകൾ — നേരിട്ട് പരിശോധിച്ച് ഒരു അന്തിമ തീരുമാനം കൈക്കൊള്ളണമെന്ന് അഭ്യർത്ഥിക്കുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 17:36, 18 മേയ് 2026 (UTC) :::ഈ അവലംബങ്ങളെല്ലാം മുസ്‌ലിയാരെയും അദ്ദേഹത്തിന്റെ സന്ദർശനത്തെക്കുറിച്ചുമാണ്. കേരള യാത്രയെ കുറിച്ചല്ല. മുസ്‌ലിയാരുടെ '''പ്രസിദ്ധി''' എല്ലാവർക്കും അറിയുന്നതിനാൽ അദ്ദേഹത്തിന്റെ ശ്രദ്ധേയത ആരും സംശയിക്കുന്നില്ല. നമ്മുടെ ചർച്ച ഈ ജാഥയെ കുറിച്ചാണ്. നമുക്ക് അവലംബങ്ങൾ ഓരോന്നായി പരിശോധിക്കാം. ::::*The Hindu, 16.02.2026 — "[https://www.thehindu.com/news/national/kerala/kanthapuram-meets-modi-seeks-development-of-amu-malappuram-campus/article70639054.ece Kanthapuram meets Modi, seeks development of AMU Malappuram campus]" ::::::In a social media post, Mr. Kanthapuram, who holds the title of Grand Mufti of India, said that he informed Mr. Modi about the concerns and demands raised during his recent Kerala yatra titled ‘With Humanity’. ::::::അതായത് കാന്തപുരത്തിന്റെ സോഷ്യൽ മീഡിയ പോസ്റ്റിൽ അദ്ദേഹം തന്നെ പറയുന്ന ഒരു കാര്യം എങ്ങനെ ഒരു സ്വതന്ത്ര അവലംബമാകും. ഇതല്ലാതെ വേറൊരിടത്തും യാത്രയെ പരാമർശിക്കുന്നില്ല. ::::*The Hindu Opinion, 19.02.2026 — "A Delhi move by the Grand Mufti" ::::::#Mr. Aboobacker Musliar suggested that the meeting marked the capstone of his 16-day Kerala Yatra under the slogan “with humanity,” during which he interacted with people across social and political divides. ::::::#The participation of Chief Minister Pinarayi Vijayan and Opposition Leader V.D. Satheesan in the grand finale of his Yatra in Thiruvananthapuram on January 16 testified how much the religious leader is sought after by the two major fronts in Kerala ::::::::ഒന്നാമത്തേത് '''മുസ്‌ലിയാരുടെ യാത്രയെ കുറിച്ച് മുസ്‌ലിയാർ തന്നെ പറയുന്ന കാര്യം.''' ::::::::രണ്ടാമത്തേത് '''മുസ്‌ലിയാരുടെ യാത്രയിൽ ഇരുമുന്നണികളുടെയും നേതാക്കളെയും ക്ഷണിച്ചിരുന്നു എന്നത്.''' :::::::::ഇതെല്ലാം നിസ്സാര പരാമർശങ്ങൾ മാത്രമാണ്, യാത്രയുടെ ശ്രദ്ധേയത കാണിക്കാൻ മാത്രം കരുത്തുള്ളവയല്ല. ::::*Times of India, 16.02.2026 — "Kanthapuram discusses social and educational issues with PM Modi" ::::::::Addressing reporters after the 30-minute meeting, Kanthapuram said he brought to the PM's attention the demands raised by various sections of society during his Kerala Yatra in Jan. The theme of his yatra was ‘with humans'. National security adviser Ajit Doval was present at the meeting. ::::::::"I had submitted a representation on the demands received during the yatra to the CM. I also submitted the same representation to the PM and he said the Centre would examine and consider the matters which fall under its purview," he said. :::::::::ഇതും അങ്ങനെ തന്നെ. ജാഥയെ കുറിച്ച് ജാഥാ നായകൻ തന്നെ പറയുന്നത് വിജ്ഞാനകോശത്തിൽ അവലംബമാക്കാനാകില്ല. ::::*New Indian Express, 17.02.2026 — "Kanthapuram meets PM, raises concerns over waqf, SIR" ::::::::Kanthapuram brought to the Prime Minister’s attention the concerns and requests gathered from various sections of society during his recent Kerala tour conducted under the theme ‘With Humanity’, the '''release''' said. :::::::::ഇത് അവരുടെ പത്രക്കുറിപ്പിനെ ആധാരമാക്കി ഉള്ളത്. ::::*Onmanorama, 16.02.2026 — "Kanthapuram meets PM Modi, raises minority welfare" ::::::::During the meeting, the leader conveyed issues and representations gathered from various sections of society during his recent Kerala tour conducted under the theme “With Humanity.” :::::::::ഇതും അങ്ങനെ തന്നെ. ::::*Onmanorama, 08.02.2026 — "Samastha seeks redrawing of big districts" :::::::::യാത്രയെ കുറിച്ച് പരാമർശമില്ല. ::::*Kerala Kaumudi — "Grand Mufti of India meets PM; Ajit Doval also at Modi-Kanthapuram meeting" :::::::::യാത്രയെ കുറിച്ച് പരാമർശമില്ല. :::ചുരുക്കത്തിൽ ജാഥ നടന്ന ജനുവരിക്ക് ശേഷം ഉണ്ട് എന്നവകാശപ്പെടുന്ന ഒരു കവറേജും സ്വതന്ത്രമല്ല. പത്രക്കുറിപ്പുകളോ ജാഥാനായകന്റെ അഭിമുഖങ്ങളോ മാത്രമാണ്. മുകളിൽ കാണിച്ച പല അവലംബങ്ങളിലും വിഷയത്തെ കുറിച്ച് പരാമർശങ്ങളേയില്ല. ഇവ കൂടി പരിഗണിച്ച് കാര്യനിർവ്വാഹകർ തീരുമാനമെടുക്കണമെന്ന് അഭ്യർത്ഥിക്കുന്നു. -- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 06:47, 21 മേയ് 2026 (UTC) ::::അവലംബങ്ങൾ വിശദമായി പരിശോധിച്ചതിനെ സ്വാഗതം ചെയ്യുന്നു. എന്നാൽ വിക്കിപീഡിയയിലെ WP:SECONDARY (ദ്വിതീയ സ്രോതസ്സുകൾ), WP:NEWSORG (മാധ്യമ റിപ്പോർട്ടുകളുടെ സ്വഭാവം) എന്നീ നയങ്ങളെ തെറ്റായി വ്യാഖ്യാനിച്ചുകൊണ്ടാണ് ഇർഷാദ് വാദിക്കുന്നത്. നോക്കൂ... ::::1. പത്രസമ്മേളനങ്ങളും മാധ്യമ റിപ്പോർട്ടിങ്ങും (Press Meets vs Independent Reporting) ::::ഒരു പൊതുപ്രവർത്തകനോ സംഘടനയോ പത്രസമ്മേളനം നടത്തുകയോ പത്രക്കുറിപ്പ് ഇറക്കുകയോ ചെയ്യുമ്പോൾ, വിശ്വസനീയമായ ദേശീയ മാധ്യമങ്ങൾ (The Hindu, Times of India, New Indian Express) അത് അതേപടി വിഴുങ്ങുകയല്ല ചെയ്യുന്നത്. ആ സംഭവത്തിന്റെ പ്രാധാന്യം (News value) മുൻനിർത്തിയാണ് അവർ അത് വാർത്തയാക്കുന്നത്. ജാഥാനായകൻ പ്രധാനമന്ത്രിയോട് സംസാരിച്ച കാര്യങ്ങളിൽ 'കേരള യാത്രയെയും അതിൽ ഉയർന്ന ആവശ്യങ്ങളെയും' മാധ്യമങ്ങൾ എടുത്തുപറഞ്ഞു റിപ്പോർട്ട് ചെയ്തത് ആ യാത്രയുടെ അനന്തരഫലമായി (Direct Outcome) തന്നെയാണ്. ::::2. ദി ഹിന്ദു ഒപ്പീനിയൻ പേജ് (The Hindu Op-Ed) വെറുമൊരു പരാമർശമല്ല ::::The Hindu പത്രത്തിന്റെ ഒപ്പീനിയൻ പേജിൽ വന്ന "A Delhi move by the Grand Mufti" എന്ന ലേഖനം കേവലമൊരു പത്രക്കുറിപ്പല്ല. അത് ആ പത്രത്തിന്റെ സീനിയർ ജേണലിസ്റ്റുകളോ നിരീക്ഷകരോ എഴുതുന്ന Analytical Secondary Source ആണ്. അതിൽ കേരളത്തിലെ മുഖ്യമന്ത്രിയും പ്രതിപക്ഷ നേതാവും പങ്കെടുത്ത കേരളയാത്രയുടെ സമാപനത്തെക്കുറിച്ചും അത് കേരളത്തിലുണ്ടാക്കിയ ചർച്ച സംബന്ധിച്ചും യാത്രയുടെ മുദ്രാവാക്യത്തെക്കുറിച്ചും (With Humanity) വ്യക്തമായി വിശകലനം ചെയ്യുന്നുണ്ട്. വിക്കിപീഡിയയുടെ WP:GNG പ്രകാരം ഇത്തരം Significant, Independent Analysis താളുകൾ നിലനിർത്താൻ ഏറ്റവും ശക്തമായ തെളിവായി ഇതു തന്നെ ധാരാളമാണ്. ::::3. കാന്തപുരം എപി അബൂബക്കർ മുസ് ലിയാരുടെ ശ്രദ്ധേയത'യും 'യാത്രയുടെ ശ്രദ്ധേയത'യും ::::വ്യക്തിയുടെ ശ്രദ്ധേയതയും അദ്ദേഹം നയിച്ച ചരിത്രപരമായ ഒരു ഇവന്റിന്റെ ശ്രദ്ധേയതയും രണ്ടായിത്തന്നെ കാണണം. പ്രധാനമന്ത്രിയുമായുള്ള കൂടിക്കാഴ്ചയുടെ പശ്ചാത്തലം ഈ 'കേരള യാത്ര'യിൽ സമാഹരിച്ച ജനകീയ ആവശ്യങ്ങളാണ്. യാത്രയില്ലെങ്കിൽ ഈ കൂടിക്കാഴ്ചയോ തുടർചർച്ചകളോ ഇല്ല. അതുകൊണ്ട് തന്നെ ഈ വാർത്തകളെല്ലാം യാത്രയുടെ ശ്രദ്ധേയതയെ (Event Notability) തന്നെയാണ് അടിവരയിടുന്നത്. ::::4. സമസ്ത (ഇ.കെ വിഭാഗം) വാർത്തകളുടെ പശ്ചാത്തലം ::::Onlinemanorama റിപ്പോർട്ടിൽ 'കേരള യാത്ര' എന്ന വാക്ക് നേരിട്ട് ഉപയോഗിച്ചില്ലെങ്കിലും, കേരള യാത്ര സമാപിച്ച തൊട്ടടുത്ത ആഴ്ചകളിൽ സമാനമായ രാഷ്ട്രീയ ആവശ്യങ്ങൾ (ജില്ലാ വിഭജനം ഉൾപ്പെടെ) ഉയർന്നു വന്നത് ഈ യാത്ര കേരളത്തിൽ ഉണ്ടാക്കിയ Broader Social Impact (വ്യാപകമായ സാമൂഹിക ചലനം) കാരണമാണ്. പണ്ട് മറ്റാരെങ്കിലും ഇത് ഉന്നയിച്ചോ എന്നതല്ല, പകരം ഈ യാത്രയിൽ ഉന്നയിച്ച മാധ്യമങ്ങൾ വാർത്തയാക്കിയ ഒരു സംഭവം തൊട്ടടുത്ത ആഴ്ചകളിൽ തന്നെ മറ്റു സംഘടനയുടെ പ്രമേയങ്ങളിലൊന്നായി ഇടംപിടിച്ചു എന്നത് തന്നെ ഇംപാട്ക്ട് ആണ്. വിക്കിപീഡിയയിൽ ഒരു ഇവന്റിന്റെ ശ്രദ്ധേയത അളക്കുന്നത് അത് സമൂഹത്തിൽ ഉണ്ടാക്കിയ പ്രതിഫലനങ്ങൾ കൂടി നോക്കിയാണ്. ::::ചുരുക്കത്തിൽ ദേശീയ മാധ്യമങ്ങൾ ഒരു ഇവന്റിന്റെ ഫലമായി ഉണ്ടായ ചർച്ചകളെ സൂക്ഷ്മമായി നിരീക്ഷിക്കുകയും വിശകലനം ചെയ്യുകയും ചെയ്തിട്ടുണ്ട് എന്നത് ലഭ്യമായ അവലംബങ്ങളിൽ നിന്ന് വ്യക്തമാണ്. ഇവ കേവലം 'റുട്ടീൻ സ്പോൺസേർഡ് കവറേജ്' അല്ല, മറിച്ച് ഒരു സമകാലിക സംഭവത്തിന് ലഭിച്ച Sustained Secondary Coverage ആണ്. അതിനാൽ വിക്കിപീഡിയ നയങ്ങൾ മുൻനിർത്തി ഈ താൾ നിലനിർത്തണം എന്ന് കാര്യനിർവ്വാഹകരോട് വീണ്ടും അഭ്യർത്ഥിക്കുന്നു. [[ഉപയോക്താവ്:Akbarali|<span style="color:green;font-size:13px;">അക്ബറലി</span>{Akbarali}]] ([[ഉപയോക്താവിന്റെ സംവാദം:Akbarali|സംവാദം]]) 18:10, 21 മേയ് 2026 (UTC) :::::ജാഥാ നായകൻ ശ്രദ്ധേയനാണ് എന്നതിന് മാത്രമേ മുകളിലെ അവലംബങ്ങൾ ഉപകരിക്കൂ. ജാഥക്ക് തനിയെ വിജ്ഞാനകോശത്തിൽ നിലനിൽക്കാനായുള്ള ശ്രദ്ധേയത ഈ അവലംബങ്ങളിൽ ഇല്ല. റിപ്പോർട്ട് ചെയ്ത പത്രങ്ങളൊക്കെ മുസ്‌ലിയാർ പറഞ്ഞു, പത്രക്കുറിപ്പിൽ ഇങ്ങനെ പറഞ്ഞു എന്ന് മാത്രമേ പറയുന്നുള്ളൂ. ജാഥയെക്കുറിച്ച് ട്രിവിയൽ പരാമർശങ്ങൾ മാത്രമേ ഇതിൽ ഉള്ളൂ. അതും ഒരേ പത്രക്കുറിപ്പിന്റെ പാരാഫ്രേസിങ് മാത്രം. ദ ഹിന്ദു ഒപീനിയനിൽ രണ്ട് വരി മാത്രമേ യാത്രയെ സംബന്ധിച്ച് ഉള്ളൂ. അതും മുസ്‌ലിയാരെ ഫോക്കസ് ചെയ്തുകൊണ്ടുള്ളതാണ്. ശ്രദ്ധേയത ഇല്ല. അതുണ്ടാക്കാനായി ഗവേഷണം നടത്തേണ്ട ആവശ്യവുമില്ല. മുകളിലെ 4-ആമത്തെ പോയന്റ് ഒറിജിനൽ റിസർച്ചിന്റെ ക്ലിയർ ആയ ഉദാഹരണമാണ്. എല്ലാത്തിനും സ്വതന്ത്രമായ താൾ വേണമെന്ന് വാശി ഒഴിവാക്കുന്നതാണ് ഉചിതം. മുസ്‌ലിയാരുടെയും അഖിലേന്ത്യാ സുന്നി ജംഇയ്യത്തുൽ ഉലമയുടെയും താളുകൾ ഒരു പാരഗ്രാഫിൽ വരാനുള്ള യോഗ്യതയേ ഈ താളിനുള്ളൂ. ::::: -- [[ഉപയോക്താവ്:Irshadpp|Irshadpp]] ([[ഉപയോക്താവിന്റെ സംവാദം:Irshadpp|സംവാദം]]) 08:17, 23 മേയ് 2026 (UTC) r77cx5vfu8icfl70mysnqnfovag8ttc ദൃശ്യം 3 0 665381 4621558 4620813 2026-05-22T13:49:59Z ~2026-30708-21 218174 /* വികസനം */ 4621558 wikitext text/x-wiki {{Infobox film | name = ദൃശ്യം 3 | image = | alt = | caption = തിയേറ്റർ റിലീസ് പോസ്റ്റർ | director = [[ജീത്തു ജോസഫ്]] | producer = [[ആന്റണി പെരുമ്പാവൂർ]] | writer = ജീത്തു ജോസഫ് | starring = {{Plainlist| * [[മോഹൻലാൽ]] * [[മീന (നടി)|മീന]] * [[അൻസിബ ഹസ്സൻ]] * [[എസ്തർ അനിൽ]] }} | narrator = | music = [[അനിൽ ജോൺസൺ]] | cinematography = [[സതീഷ് കുറുപ്പ്]] | editing = വി. എസ്. വിനായക് | studio = [[ആശീർവാദ് സിനിമാസ്]] | distributor = [[#വിതരണം|താഴെ കാണുക]] | released = 21 മേയ് 2026 | runtime = 157 മിനിറ്റ് | country = ഇന്ത്യ | language = മലയാളം | budget = | gross = }} [[ജീത്തു ജോസഫ്]] രചനയും സംവിധാനവും നിർവ്വഹിച്ച് 2026-ൽ പുറത്തിറങ്ങിയ ഒരു [[മലയാളം|മലയാള ഭാഷാ]] [[ക്രൈം ത്രില്ലർ (ചലച്ചിത്രം)|ക്രൈം ത്രില്ലർ ചിത്രമാണ്]] '''''ദൃശ്യം 3'''''.<ref name=":1">{{Langx|mal|ദൃശ്യം|Drishyam|Visual}}</ref> [[ആശീർവാദ് സിനിമാസ്|ആശീർവാദ് സിനിമാസിന്റെ]] ബാനറിൽ [[ആന്റണി പെരുമ്പാവൂർ]] നിർമ്മിക്കുന്ന ഈ ചിത്രം, ''[[ദൃശ്യം (ചലച്ചിത്ര പരമ്പര)|ദൃശ്യം]]'' ഫ്രാഞ്ചൈസിയിലെ മൂന്നാമത്തെ ചിത്രവും ''[[ദൃശ്യം 2|ദൃശ്യം 2-ന്റെ]]'' (2021) തുടർച്ചയുമാണ്. [[മോഹൻലാൽ]], [[മീന (നടി)|മീന]], [[അൻസിബ ഹസ്സൻ]], [[എസ്തർ അനിൽ]] എന്നിവർ ഈ ചിത്രത്തിൽ പ്രധാന കഥാപാത്രങ്ങളെ അവതരിപ്പിക്കുന്നു. ചിത്രത്തിന്റെ പ്രധാന ചിത്രീകരണം 2025 സെപ്റ്റംബർ 22-ന് ആരംഭിച്ച് 2025 ഡിസംബർ 2-ന് അവസാനിച്ചു.<ref>{{Cite news |date=2025-09-22 |title='Drishyam 3' shooting begins: Mohanlal shares picture from pooja ceremony; says, 'Bringing Georgekutty's world alive once again' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |access-date=2025-10-11 |work=The Times of India |issn=0971-8257 |archive-date=13 October 2025 |archive-url=https://web.archive.org/web/20251013044158/https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |url-status=live }}</ref> ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്യാൻ നിശ്ചയിച്ചിരിക്കുന്നു.<ref name=":2">{{Cite news |date=2026-01-14 |title='Drishyam 3' release date unveiled: Mohanlal and Jeethu Joseph's film locks April release around Vishu |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-release-date-unveiled-mohanlal-and-jeethu-josephs-film-locks-april-release-around-vishu/articleshow/126527326.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> == അഭിനയിച്ചവർ == * [[മോഹൻലാൽ]] - ജോർജുകുട്ടി * [[മീന (നടി)|മീന]] - റാണി ജോർജ് * [[അൻസിബ ഹസ്സൻ]] - അഞ്ചു ജോർജ് * [[എസ്തർ അനിൽ]] - അനു ജോർജ് * [[ആശ ശരത്]] - ഗീത പ്രഭാകർ * [[സിദ്ദിഖ് (നടൻ)|സിദ്ദിഖ്]] - പ്രഭാകർ * [[മുരളി ഗോപി]] - [[ഇൻസ്പെക്ടർ ജനറൽ ഓഫ് പോലീസ് (ഇന്ത്യ)|ഐ.ജി.]] തോമസ് ബാസ്റ്റിൻ [[ഇന്ത്യൻ പോലീസ് സർവ്വീസ്|ഐ.പി.എസ്.]] * [[കെ.ബി. ഗണേഷ് കുമാർ]] - സി.ഐ. ഫിലിപ്പ് മാത്യു * [[കോഴിക്കോട് നാരായണൻ നായർ]] - സുലൈമാൻ * [[ശാന്തി മായാദേവി]] - [[അഭിഭാഷകൻ|അഡ്വക്കേറ്റ്]] രേണുക * [[ശ്രീകാന്ത് മുരളി]]<ref>{{Cite web |last= |date=25 February 2026 |title=Drishyam 3: Srikant Murali Teases a Completely New Storyline Fans Can’t Stop Anticipating |url=https://newsable.asianetnews.com/entertainment/drishyam-3-srikant-murali-teases-completely-new-storyline-fans-cant-stop-anticipating-articleshow-aqwbcgt |access-date=5 March 2026 |website=Asianet Newsable |language=en}}</ref> * [[ലിഷോയ്]]<ref>{{Cite web |last= |last2= |first5= |date=28 February 2026 |title='ജോർജുകുട്ടിയുടെ മകളുടെ...'; 'ദൃശ്യം 3' ലെ നിർണായക കഥാപാത്രത്തെക്കുറിച്ച് ലിഷോയ്, വിമർശനവുമായി ആരാധകർ |url=https://www.asianetnews.com/entertainment-news/actor-lishoy-about-his-drishyam-3-character-fans-criticising-him-for-leaking-spoilers-mohanlal-jeethu-joseph-articleshow-ocy6szo |access-date=5 March 2026 |website=[[Asianet News|Asianet News Malayalam]] |language=ml}}</ref> * [[മഞ്ജു പിള്ള]] == നിർമ്മാണം == === വികസനം === ''[[ദൃശ്യം 2]]'' പൂർത്തിയാക്കിയതിന് ശേഷം മൂന്നാം ഭാഗത്തിനായുള്ള ആശയം തനിക്ക് ലഭിച്ചുവെന്നും, തന്റെ മനസ്സിൽ ആദ്യം രൂപപ്പെട്ടത് ചിത്രത്തിന്റെ ക്ലൈമാക്സ് ആണെന്നും [[ജീത്തു ജോസഫ്]] വ്യക്തമാക്കി. ചിത്രത്തിന്റെ റിലീസ് സമയത്ത്, മറ്റൊരു തുടർച്ചയ്ക്ക് സാധ്യതയുണ്ടോ എന്ന് [[മോഹൻലാൽ]] ചോദിച്ചപ്പോൾ, തന്റെ മനസ്സിലുള്ള ക്ലൈമാക്സ് അദ്ദേഹം മോഹൻലാലുമായി പങ്കുവെച്ചു. ഇത്bbn ഇഷ്ടപ്പെട്ട മോഹൻലാൽ കഥ കൂടുതൽ വികസിപ്പിക്കാൻ ജീത്തുവിനെ പ്രോത്സാഹിപ്പിച്ചു.<ref name="Mathrubhumi-interview1">{{cite news |last1=Prajith |first1=P. |title='ദൃശ്യം -3യുടെ സാധ്യതയേക്കുറിച്ച് ആദ്യം ചോദിച്ചത് ലാലേട്ടൻ, ക്ലൈമാക്സാണ് ആദ്യം എഴുതിയത്' |url=https://www.mathrubhumi.com/movies-music/interview/drishyam-3-jeethu-joseph-interview-1.10763114 |access-date=5 September 2025 |work=[[മാതൃഭൂമി|Mathrubhumi]] |date=20 July 2025 |language=ml}}</ref> 2021 ഫെബ്രുവരിയിൽ, ''ദൃശ്യം 2'' പുറത്തിറങ്ങി കുറച്ചു കഴിഞ്ഞപ്പോൾ, നിർമ്മാതാവ് [[ആന്റണി പെരുമ്പാവൂർ]] ജീത്തു ''ദൃശ്യം 3''-നെക്കുറിച്ച് ആലോചിക്കുന്നുണ്ടെന്നും മോഹൻലാലുമായി ഇത് ചർച്ച ചെയ്തിട്ടുണ്ടെന്നും അത് സംഭവിക്കുമെന്ന് പ്രതീക്ഷ പ്രകടിപ്പിച്ചതായും ''[[മനോരമ ന്യൂസ്|മനോരമ ന്യൂസിനോട്]]'' പറഞ്ഞു.<ref>{{cite news |last1=Prakash |first1=M. Dinu |title=Will there be a 'Drishyam 3'? Antony Perumbavur spills the beans |url=https://www.onmanorama.com/entertainment/entertainment-news/2021/02/20/drishyam-3-antony-perumbavur-reveals-new-information.html |access-date=5 September 2025 |work=[[Onmanorama.com]] |date=20 February 2021}}</ref> കുറച്ചു ദിവസങ്ങൾക്ക് ശേഷം ജീത്തു ''ദ ക്വിന്റിനോട്'' (The Quint) പറഞ്ഞു, "എനിക്ക് വികസിപ്പിക്കാൻ പാകത്തിലുള്ള നല്ലൊരു കഥാതന്തു ലഭിക്കുകയാണെങ്കിൽ, ഞാൻ അതിൽ പ്രവർത്തിക്കാൻ തുടങ്ങും. അങ്ങനെ ചെയ്തില്ലെങ്കിൽ അതൊരു തെറ്റായിരിക്കും".<ref name=":0">{{cite news |last1=Vilakudy |first1=Rajaneesh |title=Exclusive: Jeethu Joseph On Making 'Drishyam 3' With Mohanlal |url=https://www.thequint.com/entertainment/indian-cinema/jeethu-josepth-drishyam-2-mohanlal-interview |access-date=5 September 2025 |work=[[The Quint]] |date=22 February 2021}}</ref> 2022 ഓഗസ്റ്റിൽ നടന്ന മഴവിൽ എന്റർടൈൻമെന്റ് അവാർഡ്‌സിൽ, ''ദൃശ്യം 3'' "തീർച്ചയായും സംഭവിക്കുമെന്നും" അതിനായുള്ള ആശയങ്ങളിൽ തങ്ങൾ പ്രവർത്തിക്കുകയാണെന്നും ആന്റണി സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2022-08-28 |title=South Indian star Mohanlal's 'Drishyam 3' confirmed, fans say ‘George Kutty is back’ |url=https://gulfnews.com/entertainment/south-indian/south-indian-star-mohanlals-drishyam-3-confirmed-fans-say-george-kutty-is-back-1.1661675426482 |access-date=2026-03-05 |website=[[Gulf News]] |language=en}}</ref> ആ വർഷം നവംബറിൽ, തന്റെ "മനസ്സിൽ ചിലതുണ്ട്, എങ്കിലും അത് മുന്നോട്ട് കൊണ്ടുപോകാനുള്ള ഒരു തീപ്പൊരിക്കായി ഞാൻ ഇപ്പോഴും തിരയുകയാണ്" എന്ന് ജീത്തു പ്രസ്താവിച്ചു.<ref>{{cite news |last1=R. |first1=Chandhini |title=Jeethu Joseph Interview: Commercial success is more important than awards and accolades |url=https://www.cinemaexpress.com/malayalam/interviews/2022/Nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |access-date=28 November 2025 |work=[[Cinema Express]] |date=8 November 2022 |archive-date=2 May 2023 |archive-url=https://web.archive.org/web/20230502134155/https://www.cinemaexpress.com/malayalam/interviews/2022/nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |url-status=live }}</ref> 2024 മാർച്ചിൽ ''ഡെക്കാൻ ക്രോണിക്കിളിന്'' നൽകിയ ഒരു അഭിമുഖത്തിൽ, താൻ ചിത്രത്തിന്റെ തുടർച്ചയ്ക്കുള്ള സാധ്യതകൾ അന്വേഷിക്കുകയാണെന്നും നല്ലൊരു ആശയം ലഭിച്ചാൽ മാത്രമേ മുന്നോട്ട് പോകൂ എന്നും ജീത്തു പറഞ്ഞു. കേവലം സാമ്പത്തിക ലാഭത്തിന് വേണ്ടി മാത്രം താനൊരു രണ്ടാം ഭാഗം ചെയ്യില്ലെന്നും അദ്ദേഹം ഊന്നിപ്പറഞ്ഞു.<ref>{{cite news |last1=A. R. |first1=Reshmi |title=I Will Not Make Drishyam 3 Just For Money, Says Jeethu Joseph |url=https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |access-date=5 September 2025 |work=[[Deccan Chronicle]] |date=16 March 2024 |archive-date=11 February 2025 |archive-url=https://web.archive.org/web/20250211080733/https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |url-status=live }}</ref> 2024 ഓഗസ്റ്റിൽ, [[റെഡ് എഫ്.എം. (ഇന്ത്യ)|റെഡ് എഫ്.എമ്മിന്]] നൽകിയ അഭിമുഖത്തിൽ, സിനിമ എങ്ങനെ അവസാനിക്കുമെന്ന് തനിക്കറിയാമെങ്കിലും, കഥയുടെ ഒരു പ്രത്യേക ഭാഗത്ത് താൻ കുടുങ്ങിക്കിടക്കുകയാണെന്ന് അദ്ദേഹം വെളിപ്പെടുത്തി.<ref>{{cite news|author1=India Today Entertainment Desk|title=Director Jeethu Joseph hints at 'Drishyam 3': I've written the climax, but...|url=https://www.indiatoday.in/movies/regional-cinema/story/jeethu-joseph-drishyam-3-mohanlal-climax-ks-chithra-2585503-2024-08-21|access-date=5 September 2025|work=[[India Today]]|date=21 August 2024}}</ref> 2025 ഫെബ്രുവരി 20-ന്, മോഹൻലാൽ തന്റെ സോഷ്യൽ മീഡിയ അക്കൗണ്ടുകളിലൂടെ ''ദൃശ്യം 3'' ഔദ്യോഗികമായി പ്രഖ്യാപിച്ചു.<ref>{{Cite news |date=2025-02-20 |title=Mohanlal confirms 'Drishyam 3' with Jeethu Joseph and Antony Perumbavoor |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/mohanlal-confirms-drishyam-3-with-jeethu-joseph-and-antony-perumbavoor/articleshow/118425389.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> ജോർജുകുട്ടിയുടെ കഥയുടെ അവസാനമായിരിക്കില്ല ''ദൃശ്യം 3'' എന്ന് ജീത്തു വെളിപ്പെടുത്തിയിരുന്നു.<ref name="pinkvilla1">{{cite web |last1=S. |first1=Goutham |title=Jeethu Joseph Exclusive Interview: ‘We will release Drishyam 3’s Malayalam version first, just like before’ |url=https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |publisher= |access-date=27 November 2025 |date=31 October 2025 |archive-date=9 November 2025 |archive-url=https://web.archive.org/web/20251109005841/https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |url-status=live |website=[[Pinkvilla]]}}</ref> എന്നിരുന്നാലും, 2026 ഫെബ്രുവരിയിൽ, ഇത് ഫ്രാഞ്ചൈസിയിലെ അവസാന ചിത്രമായിരിക്കുമെന്ന് അദ്ദേഹം സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2026-02-04 |title=Jeethu Joseph says Mohanlal’s Drishyam 3 will be last in the franchise |url=https://www.mid-day.com/entertainment/regional-indian-cinema-news/article/jeethu-joseph-confirms-mohanlal-drishyam-3-will-be-last-film-in-the-franchise-23615155 |access-date=2026-03-05 |website=[[Mid-day]] |language=en}}</ref> === ചിത്രീകരണം === എറണാകുളം പൂത്തോട്ടയിലുള്ള ശ്രീ നാരായണ ലോ കോളേജിൽ വെച്ച് നടന്ന പരമ്പരാഗത [[പൂജ (ഹിന്ദുമതം)|പൂജയോടുകൂടി]] 2025 സെപ്റ്റംബർ 22-ന് ചിത്രത്തിന്റെ [[പ്രധാന ചിത്രീകരണം]] ആരംഭിച്ചു.<ref>{{cite news |author1=[[Press Trust of India|പ്രസ് ട്രസ്റ്റ് ഓഫ് ഇന്ത്യ]] |title=Drishyam 3 shooting begins with pooja in Kerala, Mohanlal shares new pics: 'Bringing Georgekutty's world alive' |url=https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |access-date=22 September 2025 |work=[[Hindustan Times]] |date=22 September 2025 |archive-date=8 December 2025 |archive-url=https://web.archive.org/web/20251208052121/https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |url-status=live }}</ref> [[തൊടുപുഴ]], [[വാഗമൺ]], [[എറണാകുളം ജില്ല|എറണാകുളം]], [[തിരുവല്ല]] എന്നിവിടങ്ങളിലായിരുന്നു ചിത്രീകരണം നടന്നത്.<ref>{{Cite news |date=2026-01-29 |title=Jeethu Joseph on Mohanlal’s ‘Drishyam 3’: 'A story set in rural Idukki can’t look like a Scandinavian thriller' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/jeethu-joseph-on-mohanlals-drishyam-3-a-story-set-in-rural-idukki-cant-look-like-a-scandinavian-thriller/articleshow/127758059.cms |access-date=2026-02-16 |work=The Times of India |issn=0971-8257}}</ref> 2025 ഡിസംബർ 2-ന് ചിത്രീകരണം പൂർത്തിയായി.<ref>{{Cite web |date=3 December 2025 |title=‘See you in cinemas’: Mohanlal wraps filming for Jeethu Joseph’s ‘Drishyam 3’ |url=https://www.telegraphindia.com/entertainment/mohanlal-wraps-filming-for-jeethu-joseph-directed-crime-thriller-drishyam-3/cid/2136016 |access-date=5 March 2026 |website=[[Telegraph India]]}}</ref> == റിലീസ് == === തിയേറ്റർ === ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്യാൻ നിശ്ചയിച്ചിരിക്കുന്നു.<ref name=":2" /> === വിതരണം === നിർമ്മാണ കമ്പനിയായ [[ആശീർവാദ് സിനിമാസ്]] ചിത്രം [[കേരളം|കേരളത്തിൽ]] വിതരണം ചെയ്യും. പനോരമ സ്റ്റുഡിയോസ്, പെൻ സ്റ്റുഡിയോസ് എന്നിവർ ഉത്തരേന്ത്യയിലെ വിതരണാവകാശവും ചിത്രത്തിന്റെ ഡിജിറ്റൽ അവകാശവും സ്വന്തമാക്കി. പ്രത്യംഗിര സിനിമാസ് [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കയിലെയും]] ഹംസിനി എന്റർടൈൻമെന്റ്സ് [[കാനഡ|കാനഡയിലെയും]] വിതരണാവകാശം നേടി. ഇവ രണ്ടും ചേർന്ന് 10 കോടി രൂപയ്ക്കാണ് ($1.1M) വിറ്റുപോയത്.<ref>{{Cite web |last=More |first=Shalmesh |date=26 February 2026 |title=Mohanlal-starrer ''Drishyam 3'' makes history in the distribution of Mollywood. |url=https://www.koimoi.com/south-indian-cinema/drishyam-3-mohanlal-starrer-makes-history-in-north-america-before-even-before-its-box-office-run-begins/ |website=Koimoi}}</ref> == അവലംബങ്ങൾ == {{reflist}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * {{IMDb title|tt14113634}} [[വർഗ്ഗം:വരാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:2026-ൽ പുറത്തിറങ്ങുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ജീത്തു ജോസഫ് സംവിധാനം ചെയ്ത ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ആശീർവാദ് സിനിമാസ് ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ചലച്ചിത്ര പരമ്പരകൾ]] [[വർഗ്ഗം:കൊച്ചിയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:തൊടുപുഴയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വാഗമണ്ണിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പത്തനംതിട്ട ജില്ലയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:കൊലപാതകികളെക്കുറിച്ചുള്ള ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പുറത്തിറങ്ങാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] oywtl8wfl42nnb6cjpbuna75u1wi6ca 4621624 4621558 2026-05-22T20:51:43Z Ranjithsiji 22471 ലേഖനം നന്നാക്കാനുള്ള ചെറുതിരുത്തലുകൾ 4621624 wikitext text/x-wiki {{Infobox film | name = ദൃശ്യം 3 | image = | alt = | caption = തിയേറ്റർ റിലീസ് പോസ്റ്റർ | director = [[ജീത്തു ജോസഫ്]] | producer = [[ആന്റണി പെരുമ്പാവൂർ]] | writer = ജീത്തു ജോസഫ് | starring = {{Plainlist| * [[മോഹൻലാൽ]] * [[മീന (നടി)|മീന]] * [[അൻസിബ ഹസ്സൻ]] * [[എസ്തർ അനിൽ]] }} | narrator = | music = [[അനിൽ ജോൺസൺ]] | cinematography = [[സതീഷ് കുറുപ്പ്]] | editing = വി. എസ്. വിനായക് | studio = [[ആശീർവാദ് സിനിമാസ്]] | distributor = [[#വിതരണം|താഴെ കാണുക]] | released = 21 മേയ് 2026 | runtime = 157 മിനിറ്റ് | country = ഇന്ത്യ | language = മലയാളം | budget = | gross = }} [[ജീത്തു ജോസഫ്]] രചനയും സംവിധാനവും നിർവ്വഹിച്ച് 2026-ൽ പുറത്തിറങ്ങിയ ഒരു [[മലയാളം|മലയാള ഭാഷാ]] [[ക്രൈം ത്രില്ലർ (ചലച്ചിത്രം)|ക്രൈം ത്രില്ലർ ചിത്രമാണ്]] '''''ദൃശ്യം 3'''''.<ref name=":1">{{Langx|mal|ദൃശ്യം|Drishyam|Visual}}</ref> [[ആശീർവാദ് സിനിമാസ്|ആശീർവാദ് സിനിമാസിന്റെ]] ബാനറിൽ [[ആന്റണി പെരുമ്പാവൂർ]] നിർമ്മിക്കുന്ന ഈ ചിത്രം, ''[[ദൃശ്യം (ചലച്ചിത്ര പരമ്പര)|ദൃശ്യം]]'' ഫ്രാഞ്ചൈസിയിലെ മൂന്നാമത്തെ ചിത്രവും ''[[ദൃശ്യം 2|ദൃശ്യം 2-ന്റെ]]'' (2021) തുടർച്ചയുമാണ്. [[മോഹൻലാൽ]], [[മീന (നടി)|മീന]], [[അൻസിബ ഹസ്സൻ]], [[എസ്തർ അനിൽ]] എന്നിവർ ഈ ചിത്രത്തിൽ പ്രധാന കഥാപാത്രങ്ങളെ അവതരിപ്പിക്കുന്നു. ചിത്രത്തിന്റെ പ്രധാന ചിത്രീകരണം 2025 സെപ്റ്റംബർ 22-ന് ആരംഭിച്ച് 2025 ഡിസംബർ 2-ന് അവസാനിച്ചു.<ref>{{Cite news |date=2025-09-22 |title='Drishyam 3' shooting begins: Mohanlal shares picture from pooja ceremony; says, 'Bringing Georgekutty's world alive once again' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |access-date=2025-10-11 |work=The Times of India |issn=0971-8257 |archive-date=13 October 2025 |archive-url=https://web.archive.org/web/20251013044158/https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |url-status=live }}</ref> ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്തു.<ref name=":2">{{Cite news |date=2026-01-14 |title='Drishyam 3' release date unveiled: Mohanlal and Jeethu Joseph's film locks April release around Vishu |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-release-date-unveiled-mohanlal-and-jeethu-josephs-film-locks-april-release-around-vishu/articleshow/126527326.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> == അഭിനയിച്ചവർ == * [[മോഹൻലാൽ]] - ജോർജുകുട്ടി * [[മീന (നടി)|മീന]] - റാണി ജോർജ് * [[അൻസിബ ഹസ്സൻ]] - അഞ്ചു ജോർജ് * [[എസ്തർ അനിൽ]] - അനു ജോർജ് * [[ആശ ശരത്]] - ഗീത പ്രഭാകർ * [[സിദ്ദിഖ് (നടൻ)|സിദ്ദിഖ്]] - പ്രഭാകർ * [[മുരളി ഗോപി]] - [[ഇൻസ്പെക്ടർ ജനറൽ ഓഫ് പോലീസ് (ഇന്ത്യ)|ഐ.ജി.]] തോമസ് ബാസ്റ്റിൻ [[ഇന്ത്യൻ പോലീസ് സർവ്വീസ്|ഐ.പി.എസ്.]] * [[കെ.ബി. ഗണേഷ് കുമാർ]] - സി.ഐ. ഫിലിപ്പ് മാത്യു * [[കോഴിക്കോട് നാരായണൻ നായർ]] - സുലൈമാൻ * [[ശാന്തി മായാദേവി]] - [[അഭിഭാഷകൻ|അഡ്വക്കേറ്റ്]] രേണുക * [[ശ്രീകാന്ത് മുരളി]]<ref>{{Cite web |last= |date=25 February 2026 |title=Drishyam 3: Srikant Murali Teases a Completely New Storyline Fans Can’t Stop Anticipating |url=https://newsable.asianetnews.com/entertainment/drishyam-3-srikant-murali-teases-completely-new-storyline-fans-cant-stop-anticipating-articleshow-aqwbcgt |access-date=5 March 2026 |website=Asianet Newsable |language=en}}</ref> * [[ലിഷോയ്]]<ref>{{Cite web |last= |last2= |first5= |date=28 February 2026 |title='ജോർജുകുട്ടിയുടെ മകളുടെ...'; 'ദൃശ്യം 3' ലെ നിർണായക കഥാപാത്രത്തെക്കുറിച്ച് ലിഷോയ്, വിമർശനവുമായി ആരാധകർ |url=https://www.asianetnews.com/entertainment-news/actor-lishoy-about-his-drishyam-3-character-fans-criticising-him-for-leaking-spoilers-mohanlal-jeethu-joseph-articleshow-ocy6szo |access-date=5 March 2026 |website=[[Asianet News|Asianet News Malayalam]] |language=ml}}</ref> * [[മഞ്ജു പിള്ള]] == നിർമ്മാണം == === വികസനം === ''[[ദൃശ്യം 2]]'' പൂർത്തിയാക്കിയതിന് ശേഷം മൂന്നാം ഭാഗത്തിനായുള്ള ആശയം തനിക്ക് ലഭിച്ചുവെന്നും, തന്റെ മനസ്സിൽ ആദ്യം രൂപപ്പെട്ടത് ചിത്രത്തിന്റെ ക്ലൈമാക്സ് ആണെന്നും [[ജീത്തു ജോസഫ്]] വ്യക്തമാക്കി. ചിത്രത്തിന്റെ റിലീസ് സമയത്ത്, മറ്റൊരു തുടർച്ചയ്ക്ക് സാധ്യതയുണ്ടോ എന്ന് [[മോഹൻലാൽ]] ചോദിച്ചപ്പോൾ, തന്റെ മനസ്സിലുള്ള ക്ലൈമാക്സ് അദ്ദേഹം മോഹൻലാലുമായി പങ്കുവെച്ചു. ഇത്bbn ഇഷ്ടപ്പെട്ട മോഹൻലാൽ കഥ കൂടുതൽ വികസിപ്പിക്കാൻ ജീത്തുവിനെ പ്രോത്സാഹിപ്പിച്ചു.<ref name="Mathrubhumi-interview1">{{cite news |last1=Prajith |first1=P. |title='ദൃശ്യം -3യുടെ സാധ്യതയേക്കുറിച്ച് ആദ്യം ചോദിച്ചത് ലാലേട്ടൻ, ക്ലൈമാക്സാണ് ആദ്യം എഴുതിയത്' |url=https://www.mathrubhumi.com/movies-music/interview/drishyam-3-jeethu-joseph-interview-1.10763114 |access-date=5 September 2025 |work=[[മാതൃഭൂമി|Mathrubhumi]] |date=20 July 2025 |language=ml}}</ref> 2021 ഫെബ്രുവരിയിൽ, ''ദൃശ്യം 2'' പുറത്തിറങ്ങി കുറച്ചു കഴിഞ്ഞപ്പോൾ, നിർമ്മാതാവ് [[ആന്റണി പെരുമ്പാവൂർ]] ജീത്തു ''ദൃശ്യം 3''-നെക്കുറിച്ച് ആലോചിക്കുന്നുണ്ടെന്നും മോഹൻലാലുമായി ഇത് ചർച്ച ചെയ്തിട്ടുണ്ടെന്നും അത് സംഭവിക്കുമെന്ന് പ്രതീക്ഷ പ്രകടിപ്പിച്ചതായും ''[[മനോരമ ന്യൂസ്|മനോരമ ന്യൂസിനോട്]]'' പറഞ്ഞു.<ref>{{cite news |last1=Prakash |first1=M. Dinu |title=Will there be a 'Drishyam 3'? Antony Perumbavur spills the beans |url=https://www.onmanorama.com/entertainment/entertainment-news/2021/02/20/drishyam-3-antony-perumbavur-reveals-new-information.html |access-date=5 September 2025 |work=[[Onmanorama.com]] |date=20 February 2021}}</ref> കുറച്ചു ദിവസങ്ങൾക്ക് ശേഷം ജീത്തു ''ദ ക്വിന്റിനോട്'' (The Quint) പറഞ്ഞു, "എനിക്ക് വികസിപ്പിക്കാൻ പാകത്തിലുള്ള നല്ലൊരു കഥാതന്തു ലഭിക്കുകയാണെങ്കിൽ, ഞാൻ അതിൽ പ്രവർത്തിക്കാൻ തുടങ്ങും. അങ്ങനെ ചെയ്തില്ലെങ്കിൽ അതൊരു തെറ്റായിരിക്കും".<ref name=":0">{{cite news |last1=Vilakudy |first1=Rajaneesh |title=Exclusive: Jeethu Joseph On Making 'Drishyam 3' With Mohanlal |url=https://www.thequint.com/entertainment/indian-cinema/jeethu-josepth-drishyam-2-mohanlal-interview |access-date=5 September 2025 |work=[[The Quint]] |date=22 February 2021}}</ref> 2022 ഓഗസ്റ്റിൽ നടന്ന മഴവിൽ എന്റർടൈൻമെന്റ് അവാർഡ്‌സിൽ, ''ദൃശ്യം 3'' "തീർച്ചയായും സംഭവിക്കുമെന്നും" അതിനായുള്ള ആശയങ്ങളിൽ തങ്ങൾ പ്രവർത്തിക്കുകയാണെന്നും ആന്റണി സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2022-08-28 |title=South Indian star Mohanlal's 'Drishyam 3' confirmed, fans say ‘George Kutty is back’ |url=https://gulfnews.com/entertainment/south-indian/south-indian-star-mohanlals-drishyam-3-confirmed-fans-say-george-kutty-is-back-1.1661675426482 |access-date=2026-03-05 |website=[[Gulf News]] |language=en}}</ref> ആ വർഷം നവംബറിൽ, തന്റെ "മനസ്സിൽ ചിലതുണ്ട്, എങ്കിലും അത് മുന്നോട്ട് കൊണ്ടുപോകാനുള്ള ഒരു തീപ്പൊരിക്കായി ഞാൻ ഇപ്പോഴും തിരയുകയാണ്" എന്ന് ജീത്തു പ്രസ്താവിച്ചു.<ref>{{cite news |last1=R. |first1=Chandhini |title=Jeethu Joseph Interview: Commercial success is more important than awards and accolades |url=https://www.cinemaexpress.com/malayalam/interviews/2022/Nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |access-date=28 November 2025 |work=[[Cinema Express]] |date=8 November 2022 |archive-date=2 May 2023 |archive-url=https://web.archive.org/web/20230502134155/https://www.cinemaexpress.com/malayalam/interviews/2022/nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |url-status=live }}</ref> 2024 മാർച്ചിൽ ''ഡെക്കാൻ ക്രോണിക്കിളിന്'' നൽകിയ ഒരു അഭിമുഖത്തിൽ, താൻ ചിത്രത്തിന്റെ തുടർച്ചയ്ക്കുള്ള സാധ്യതകൾ അന്വേഷിക്കുകയാണെന്നും നല്ലൊരു ആശയം ലഭിച്ചാൽ മാത്രമേ മുന്നോട്ട് പോകൂ എന്നും ജീത്തു പറഞ്ഞു. കേവലം സാമ്പത്തിക ലാഭത്തിന് വേണ്ടി മാത്രം താനൊരു രണ്ടാം ഭാഗം ചെയ്യില്ലെന്നും അദ്ദേഹം ഊന്നിപ്പറഞ്ഞു.<ref>{{cite news |last1=A. R. |first1=Reshmi |title=I Will Not Make Drishyam 3 Just For Money, Says Jeethu Joseph |url=https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |access-date=5 September 2025 |work=[[Deccan Chronicle]] |date=16 March 2024 |archive-date=11 February 2025 |archive-url=https://web.archive.org/web/20250211080733/https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |url-status=live }}</ref> 2024 ഓഗസ്റ്റിൽ, [[റെഡ് എഫ്.എം. (ഇന്ത്യ)|റെഡ് എഫ്.എമ്മിന്]] നൽകിയ അഭിമുഖത്തിൽ, സിനിമ എങ്ങനെ അവസാനിക്കുമെന്ന് തനിക്കറിയാമെങ്കിലും, കഥയുടെ ഒരു പ്രത്യേക ഭാഗത്ത് താൻ കുടുങ്ങിക്കിടക്കുകയാണെന്ന് അദ്ദേഹം വെളിപ്പെടുത്തി.<ref>{{cite news|author1=India Today Entertainment Desk|title=Director Jeethu Joseph hints at 'Drishyam 3': I've written the climax, but...|url=https://www.indiatoday.in/movies/regional-cinema/story/jeethu-joseph-drishyam-3-mohanlal-climax-ks-chithra-2585503-2024-08-21|access-date=5 September 2025|work=[[India Today]]|date=21 August 2024}}</ref> 2025 ഫെബ്രുവരി 20-ന്, മോഹൻലാൽ തന്റെ സോഷ്യൽ മീഡിയ അക്കൗണ്ടുകളിലൂടെ ''ദൃശ്യം 3'' ഔദ്യോഗികമായി പ്രഖ്യാപിച്ചു.<ref>{{Cite news |date=2025-02-20 |title=Mohanlal confirms 'Drishyam 3' with Jeethu Joseph and Antony Perumbavoor |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/mohanlal-confirms-drishyam-3-with-jeethu-joseph-and-antony-perumbavoor/articleshow/118425389.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> ജോർജുകുട്ടിയുടെ കഥയുടെ അവസാനമായിരിക്കില്ല ''ദൃശ്യം 3'' എന്ന് ജീത്തു വെളിപ്പെടുത്തിയിരുന്നു.<ref name="pinkvilla1">{{cite web |last1=S. |first1=Goutham |title=Jeethu Joseph Exclusive Interview: ‘We will release Drishyam 3’s Malayalam version first, just like before’ |url=https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |publisher= |access-date=27 November 2025 |date=31 October 2025 |archive-date=9 November 2025 |archive-url=https://web.archive.org/web/20251109005841/https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |url-status=live |website=[[Pinkvilla]]}}</ref> എന്നിരുന്നാലും, 2026 ഫെബ്രുവരിയിൽ, ഇത് ഫ്രാഞ്ചൈസിയിലെ അവസാന ചിത്രമായിരിക്കുമെന്ന് അദ്ദേഹം സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2026-02-04 |title=Jeethu Joseph says Mohanlal’s Drishyam 3 will be last in the franchise |url=https://www.mid-day.com/entertainment/regional-indian-cinema-news/article/jeethu-joseph-confirms-mohanlal-drishyam-3-will-be-last-film-in-the-franchise-23615155 |access-date=2026-03-05 |website=[[Mid-day]] |language=en}}</ref> === ചിത്രീകരണം === എറണാകുളം പൂത്തോട്ടയിലുള്ള ശ്രീ നാരായണ ലോ കോളേജിൽ വെച്ച് നടന്ന പരമ്പരാഗത [[പൂജ (ഹിന്ദുമതം)|പൂജയോടുകൂടി]] 2025 സെപ്റ്റംബർ 22-ന് ചിത്രത്തിന്റെ [[പ്രധാന ചിത്രീകരണം]] ആരംഭിച്ചു.<ref>{{cite news |author1=[[Press Trust of India|പ്രസ് ട്രസ്റ്റ് ഓഫ് ഇന്ത്യ]] |title=Drishyam 3 shooting begins with pooja in Kerala, Mohanlal shares new pics: 'Bringing Georgekutty's world alive' |url=https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |access-date=22 September 2025 |work=[[Hindustan Times]] |date=22 September 2025 |archive-date=8 December 2025 |archive-url=https://web.archive.org/web/20251208052121/https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |url-status=live }}</ref> [[തൊടുപുഴ]], [[വാഗമൺ]], [[എറണാകുളം ജില്ല|എറണാകുളം]], [[തിരുവല്ല]] എന്നിവിടങ്ങളിലായിരുന്നു ചിത്രീകരണം നടന്നത്.<ref>{{Cite news |date=2026-01-29 |title=Jeethu Joseph on Mohanlal’s ‘Drishyam 3’: 'A story set in rural Idukki can’t look like a Scandinavian thriller' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/jeethu-joseph-on-mohanlals-drishyam-3-a-story-set-in-rural-idukki-cant-look-like-a-scandinavian-thriller/articleshow/127758059.cms |access-date=2026-02-16 |work=The Times of India |issn=0971-8257}}</ref> 2025 ഡിസംബർ 2-ന് ചിത്രീകരണം പൂർത്തിയായി.<ref>{{Cite web |date=3 December 2025 |title=‘See you in cinemas’: Mohanlal wraps filming for Jeethu Joseph’s ‘Drishyam 3’ |url=https://www.telegraphindia.com/entertainment/mohanlal-wraps-filming-for-jeethu-joseph-directed-crime-thriller-drishyam-3/cid/2136016 |access-date=5 March 2026 |website=[[Telegraph India]]}}</ref> == റിലീസ് == === തിയേറ്റർ === ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്തു.<ref name=":2" /> === വിതരണം === നിർമ്മാണ കമ്പനിയായ [[ആശീർവാദ് സിനിമാസ്]] ചിത്രം [[കേരളം|കേരളത്തിൽ]] വിതരണം ചെയ്യും. പനോരമ സ്റ്റുഡിയോസ്, പെൻ സ്റ്റുഡിയോസ് എന്നിവർ ഉത്തരേന്ത്യയിലെ വിതരണാവകാശവും ചിത്രത്തിന്റെ ഡിജിറ്റൽ അവകാശവും സ്വന്തമാക്കി. പ്രത്യംഗിര സിനിമാസ് [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കയിലെയും]] ഹംസിനി എന്റർടൈൻമെന്റ്സ് [[കാനഡ|കാനഡയിലെയും]] വിതരണാവകാശം നേടി. ഇവ രണ്ടും ചേർന്ന് 10 കോടി രൂപയ്ക്കാണ് ($1.1M) വിറ്റുപോയത്.<ref>{{Cite web |last=More |first=Shalmesh |date=26 February 2026 |title=Mohanlal-starrer ''Drishyam 3'' makes history in the distribution of Mollywood. |url=https://www.koimoi.com/south-indian-cinema/drishyam-3-mohanlal-starrer-makes-history-in-north-america-before-even-before-its-box-office-run-begins/ |website=Koimoi}}</ref> == അവലംബങ്ങൾ == {{reflist}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * {{IMDb title|tt14113634}} [[വർഗ്ഗം:വരാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:2026-ൽ പുറത്തിറങ്ങുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ജീത്തു ജോസഫ് സംവിധാനം ചെയ്ത ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ആശീർവാദ് സിനിമാസ് ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ചലച്ചിത്ര പരമ്പരകൾ]] [[വർഗ്ഗം:കൊച്ചിയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:തൊടുപുഴയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വാഗമണ്ണിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പത്തനംതിട്ട ജില്ലയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:കൊലപാതകികളെക്കുറിച്ചുള്ള ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പുറത്തിറങ്ങാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] puq5qe2pc0a13dj0i6aowd8g5ngo9ow 4621625 4621624 2026-05-22T20:52:48Z Ranjithsiji 22471 അക്ഷരത്തെറ്റ് തിരുത്തി 4621625 wikitext text/x-wiki {{Infobox film | name = ദൃശ്യം 3 | image = | alt = | caption = തിയേറ്റർ റിലീസ് പോസ്റ്റർ | director = [[ജീത്തു ജോസഫ്]] | producer = [[ആന്റണി പെരുമ്പാവൂർ]] | writer = ജീത്തു ജോസഫ് | starring = {{Plainlist| * [[മോഹൻലാൽ]] * [[മീന (നടി)|മീന]] * [[അൻസിബ ഹസ്സൻ]] * [[എസ്തർ അനിൽ]] }} | narrator = | music = [[അനിൽ ജോൺസൺ]] | cinematography = [[സതീഷ് കുറുപ്പ്]] | editing = വി. എസ്. വിനായക് | studio = [[ആശീർവാദ് സിനിമാസ്]] | distributor = [[#വിതരണം|താഴെ കാണുക]] | released = 21 മേയ് 2026 | runtime = 157 മിനിറ്റ് | country = ഇന്ത്യ | language = മലയാളം | budget = | gross = }} [[ജീത്തു ജോസഫ്]] രചനയും സംവിധാനവും നിർവ്വഹിച്ച് 2026-ൽ പുറത്തിറങ്ങിയ ഒരു [[മലയാളം|മലയാള ഭാഷാ]] [[ക്രൈം ത്രില്ലർ (ചലച്ചിത്രം)|ക്രൈം ത്രില്ലർ ചിത്രമാണ്]] '''''ദൃശ്യം 3'''''.<ref name=":1">{{Langx|mal|ദൃശ്യം|Drishyam|Visual}}</ref> [[ആശീർവാദ് സിനിമാസ്|ആശീർവാദ് സിനിമാസിന്റെ]] ബാനറിൽ [[ആന്റണി പെരുമ്പാവൂർ]] നിർമ്മിക്കുന്ന ഈ ചിത്രം, ''[[ദൃശ്യം (ചലച്ചിത്ര പരമ്പര)|ദൃശ്യം]]'' ഫ്രാഞ്ചൈസിയിലെ മൂന്നാമത്തെ ചിത്രവും ''[[ദൃശ്യം 2|ദൃശ്യം 2-ന്റെ]]'' (2021) തുടർച്ചയുമാണ്. [[മോഹൻലാൽ]], [[മീന (നടി)|മീന]], [[അൻസിബ ഹസ്സൻ]], [[എസ്തർ അനിൽ]] എന്നിവർ ഈ ചിത്രത്തിൽ പ്രധാന കഥാപാത്രങ്ങളെ അവതരിപ്പിക്കുന്നു. ചിത്രത്തിന്റെ പ്രധാന ചിത്രീകരണം 2025 സെപ്റ്റംബർ 22-ന് ആരംഭിച്ച് 2025 ഡിസംബർ 2-ന് അവസാനിച്ചു.<ref>{{Cite news |date=2025-09-22 |title='Drishyam 3' shooting begins: Mohanlal shares picture from pooja ceremony; says, 'Bringing Georgekutty's world alive once again' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |access-date=2025-10-11 |work=The Times of India |issn=0971-8257 |archive-date=13 October 2025 |archive-url=https://web.archive.org/web/20251013044158/https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |url-status=live }}</ref> ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്തു.<ref name=":2">{{Cite news |date=2026-01-14 |title='Drishyam 3' release date unveiled: Mohanlal and Jeethu Joseph's film locks April release around Vishu |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-release-date-unveiled-mohanlal-and-jeethu-josephs-film-locks-april-release-around-vishu/articleshow/126527326.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> == അഭിനയിച്ചവർ == * [[മോഹൻലാൽ]] - ജോർജുകുട്ടി * [[മീന (നടി)|മീന]] - റാണി ജോർജ് * [[അൻസിബ ഹസ്സൻ]] - അഞ്ചു ജോർജ് * [[എസ്തർ അനിൽ]] - അനു ജോർജ് * [[ആശ ശരത്]] - ഗീത പ്രഭാകർ * [[സിദ്ദിഖ് (നടൻ)|സിദ്ദിഖ്]] - പ്രഭാകർ * [[മുരളി ഗോപി]] - [[ഇൻസ്പെക്ടർ ജനറൽ ഓഫ് പോലീസ് (ഇന്ത്യ)|ഐ.ജി.]] തോമസ് ബാസ്റ്റിൻ [[ഇന്ത്യൻ പോലീസ് സർവ്വീസ്|ഐ.പി.എസ്.]] * [[കെ.ബി. ഗണേഷ് കുമാർ]] - സി.ഐ. ഫിലിപ്പ് മാത്യു * [[കോഴിക്കോട് നാരായണൻ നായർ]] - സുലൈമാൻ * [[ശാന്തി മായാദേവി]] - [[അഭിഭാഷകൻ|അഡ്വക്കേറ്റ്]] രേണുക * [[ശ്രീകാന്ത് മുരളി]]<ref>{{Cite web |last= |date=25 February 2026 |title=Drishyam 3: Srikant Murali Teases a Completely New Storyline Fans Can’t Stop Anticipating |url=https://newsable.asianetnews.com/entertainment/drishyam-3-srikant-murali-teases-completely-new-storyline-fans-cant-stop-anticipating-articleshow-aqwbcgt |access-date=5 March 2026 |website=Asianet Newsable |language=en}}</ref> * [[ലിഷോയ്]]<ref>{{Cite web |last= |last2= |first5= |date=28 February 2026 |title='ജോർജുകുട്ടിയുടെ മകളുടെ...'; 'ദൃശ്യം 3' ലെ നിർണായക കഥാപാത്രത്തെക്കുറിച്ച് ലിഷോയ്, വിമർശനവുമായി ആരാധകർ |url=https://www.asianetnews.com/entertainment-news/actor-lishoy-about-his-drishyam-3-character-fans-criticising-him-for-leaking-spoilers-mohanlal-jeethu-joseph-articleshow-ocy6szo |access-date=5 March 2026 |website=[[Asianet News|Asianet News Malayalam]] |language=ml}}</ref> * [[മഞ്ജു പിള്ള]] == നിർമ്മാണം == === വികസനം === ''[[ദൃശ്യം 2]]'' പൂർത്തിയാക്കിയതിന് ശേഷം മൂന്നാം ഭാഗത്തിനായുള്ള ആശയം തനിക്ക് ലഭിച്ചുവെന്നും, തന്റെ മനസ്സിൽ ആദ്യം രൂപപ്പെട്ടത് ചിത്രത്തിന്റെ ക്ലൈമാക്സ് ആണെന്നും [[ജീത്തു ജോസഫ്]] വ്യക്തമാക്കി. ചിത്രത്തിന്റെ റിലീസ് സമയത്ത്, മറ്റൊരു തുടർച്ചയ്ക്ക് സാധ്യതയുണ്ടോ എന്ന് [[മോഹൻലാൽ]] ചോദിച്ചപ്പോൾ, തന്റെ മനസ്സിലുള്ള ക്ലൈമാക്സ് അദ്ദേഹം മോഹൻലാലുമായി പങ്കുവെച്ചു. ഇത് ഇഷ്ടപ്പെട്ട മോഹൻലാൽ കഥ കൂടുതൽ വികസിപ്പിക്കാൻ ജീത്തുവിനെ പ്രോത്സാഹിപ്പിച്ചു.<ref name="Mathrubhumi-interview1">{{cite news |last1=Prajith |first1=P. |title='ദൃശ്യം -3യുടെ സാധ്യതയേക്കുറിച്ച് ആദ്യം ചോദിച്ചത് ലാലേട്ടൻ, ക്ലൈമാക്സാണ് ആദ്യം എഴുതിയത്' |url=https://www.mathrubhumi.com/movies-music/interview/drishyam-3-jeethu-joseph-interview-1.10763114 |access-date=5 September 2025 |work=[[മാതൃഭൂമി|Mathrubhumi]] |date=20 July 2025 |language=ml}}</ref> 2021 ഫെബ്രുവരിയിൽ, ''ദൃശ്യം 2'' പുറത്തിറങ്ങി കുറച്ചു കഴിഞ്ഞപ്പോൾ, നിർമ്മാതാവ് [[ആന്റണി പെരുമ്പാവൂർ]] ജീത്തു ''ദൃശ്യം 3''-നെക്കുറിച്ച് ആലോചിക്കുന്നുണ്ടെന്നും മോഹൻലാലുമായി ഇത് ചർച്ച ചെയ്തിട്ടുണ്ടെന്നും അത് സംഭവിക്കുമെന്ന് പ്രതീക്ഷ പ്രകടിപ്പിച്ചതായും ''[[മനോരമ ന്യൂസ്|മനോരമ ന്യൂസിനോട്]]'' പറഞ്ഞു.<ref>{{cite news |last1=Prakash |first1=M. Dinu |title=Will there be a 'Drishyam 3'? Antony Perumbavur spills the beans |url=https://www.onmanorama.com/entertainment/entertainment-news/2021/02/20/drishyam-3-antony-perumbavur-reveals-new-information.html |access-date=5 September 2025 |work=[[Onmanorama.com]] |date=20 February 2021}}</ref> കുറച്ചു ദിവസങ്ങൾക്ക് ശേഷം ജീത്തു ''ദ ക്വിന്റിനോട്'' (The Quint) പറഞ്ഞു, "എനിക്ക് വികസിപ്പിക്കാൻ പാകത്തിലുള്ള നല്ലൊരു കഥാതന്തു ലഭിക്കുകയാണെങ്കിൽ, ഞാൻ അതിൽ പ്രവർത്തിക്കാൻ തുടങ്ങും. അങ്ങനെ ചെയ്തില്ലെങ്കിൽ അതൊരു തെറ്റായിരിക്കും".<ref name=":0">{{cite news |last1=Vilakudy |first1=Rajaneesh |title=Exclusive: Jeethu Joseph On Making 'Drishyam 3' With Mohanlal |url=https://www.thequint.com/entertainment/indian-cinema/jeethu-josepth-drishyam-2-mohanlal-interview |access-date=5 September 2025 |work=[[The Quint]] |date=22 February 2021}}</ref> 2022 ഓഗസ്റ്റിൽ നടന്ന മഴവിൽ എന്റർടൈൻമെന്റ് അവാർഡ്‌സിൽ, ''ദൃശ്യം 3'' "തീർച്ചയായും സംഭവിക്കുമെന്നും" അതിനായുള്ള ആശയങ്ങളിൽ തങ്ങൾ പ്രവർത്തിക്കുകയാണെന്നും ആന്റണി സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2022-08-28 |title=South Indian star Mohanlal's 'Drishyam 3' confirmed, fans say ‘George Kutty is back’ |url=https://gulfnews.com/entertainment/south-indian/south-indian-star-mohanlals-drishyam-3-confirmed-fans-say-george-kutty-is-back-1.1661675426482 |access-date=2026-03-05 |website=[[Gulf News]] |language=en}}</ref> ആ വർഷം നവംബറിൽ, തന്റെ "മനസ്സിൽ ചിലതുണ്ട്, എങ്കിലും അത് മുന്നോട്ട് കൊണ്ടുപോകാനുള്ള ഒരു തീപ്പൊരിക്കായി ഞാൻ ഇപ്പോഴും തിരയുകയാണ്" എന്ന് ജീത്തു പ്രസ്താവിച്ചു.<ref>{{cite news |last1=R. |first1=Chandhini |title=Jeethu Joseph Interview: Commercial success is more important than awards and accolades |url=https://www.cinemaexpress.com/malayalam/interviews/2022/Nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |access-date=28 November 2025 |work=[[Cinema Express]] |date=8 November 2022 |archive-date=2 May 2023 |archive-url=https://web.archive.org/web/20230502134155/https://www.cinemaexpress.com/malayalam/interviews/2022/nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |url-status=live }}</ref> 2024 മാർച്ചിൽ ''ഡെക്കാൻ ക്രോണിക്കിളിന്'' നൽകിയ ഒരു അഭിമുഖത്തിൽ, താൻ ചിത്രത്തിന്റെ തുടർച്ചയ്ക്കുള്ള സാധ്യതകൾ അന്വേഷിക്കുകയാണെന്നും നല്ലൊരു ആശയം ലഭിച്ചാൽ മാത്രമേ മുന്നോട്ട് പോകൂ എന്നും ജീത്തു പറഞ്ഞു. കേവലം സാമ്പത്തിക ലാഭത്തിന് വേണ്ടി മാത്രം താനൊരു രണ്ടാം ഭാഗം ചെയ്യില്ലെന്നും അദ്ദേഹം ഊന്നിപ്പറഞ്ഞു.<ref>{{cite news |last1=A. R. |first1=Reshmi |title=I Will Not Make Drishyam 3 Just For Money, Says Jeethu Joseph |url=https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |access-date=5 September 2025 |work=[[Deccan Chronicle]] |date=16 March 2024 |archive-date=11 February 2025 |archive-url=https://web.archive.org/web/20250211080733/https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |url-status=live }}</ref> 2024 ഓഗസ്റ്റിൽ, [[റെഡ് എഫ്.എം. (ഇന്ത്യ)|റെഡ് എഫ്.എമ്മിന്]] നൽകിയ അഭിമുഖത്തിൽ, സിനിമ എങ്ങനെ അവസാനിക്കുമെന്ന് തനിക്കറിയാമെങ്കിലും, കഥയുടെ ഒരു പ്രത്യേക ഭാഗത്ത് താൻ കുടുങ്ങിക്കിടക്കുകയാണെന്ന് അദ്ദേഹം വെളിപ്പെടുത്തി.<ref>{{cite news|author1=India Today Entertainment Desk|title=Director Jeethu Joseph hints at 'Drishyam 3': I've written the climax, but...|url=https://www.indiatoday.in/movies/regional-cinema/story/jeethu-joseph-drishyam-3-mohanlal-climax-ks-chithra-2585503-2024-08-21|access-date=5 September 2025|work=[[India Today]]|date=21 August 2024}}</ref> 2025 ഫെബ്രുവരി 20-ന്, മോഹൻലാൽ തന്റെ സോഷ്യൽ മീഡിയ അക്കൗണ്ടുകളിലൂടെ ''ദൃശ്യം 3'' ഔദ്യോഗികമായി പ്രഖ്യാപിച്ചു.<ref>{{Cite news |date=2025-02-20 |title=Mohanlal confirms 'Drishyam 3' with Jeethu Joseph and Antony Perumbavoor |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/mohanlal-confirms-drishyam-3-with-jeethu-joseph-and-antony-perumbavoor/articleshow/118425389.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> ജോർജുകുട്ടിയുടെ കഥയുടെ അവസാനമായിരിക്കില്ല ''ദൃശ്യം 3'' എന്ന് ജീത്തു വെളിപ്പെടുത്തിയിരുന്നു.<ref name="pinkvilla1">{{cite web |last1=S. |first1=Goutham |title=Jeethu Joseph Exclusive Interview: ‘We will release Drishyam 3’s Malayalam version first, just like before’ |url=https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |publisher= |access-date=27 November 2025 |date=31 October 2025 |archive-date=9 November 2025 |archive-url=https://web.archive.org/web/20251109005841/https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |url-status=live |website=[[Pinkvilla]]}}</ref> എന്നിരുന്നാലും, 2026 ഫെബ്രുവരിയിൽ, ഇത് ഫ്രാഞ്ചൈസിയിലെ അവസാന ചിത്രമായിരിക്കുമെന്ന് അദ്ദേഹം സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2026-02-04 |title=Jeethu Joseph says Mohanlal’s Drishyam 3 will be last in the franchise |url=https://www.mid-day.com/entertainment/regional-indian-cinema-news/article/jeethu-joseph-confirms-mohanlal-drishyam-3-will-be-last-film-in-the-franchise-23615155 |access-date=2026-03-05 |website=[[Mid-day]] |language=en}}</ref> === ചിത്രീകരണം === എറണാകുളം പൂത്തോട്ടയിലുള്ള ശ്രീ നാരായണ ലോ കോളേജിൽ വെച്ച് നടന്ന പരമ്പരാഗത [[പൂജ (ഹിന്ദുമതം)|പൂജയോടുകൂടി]] 2025 സെപ്റ്റംബർ 22-ന് ചിത്രത്തിന്റെ [[പ്രധാന ചിത്രീകരണം]] ആരംഭിച്ചു.<ref>{{cite news |author1=[[Press Trust of India|പ്രസ് ട്രസ്റ്റ് ഓഫ് ഇന്ത്യ]] |title=Drishyam 3 shooting begins with pooja in Kerala, Mohanlal shares new pics: 'Bringing Georgekutty's world alive' |url=https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |access-date=22 September 2025 |work=[[Hindustan Times]] |date=22 September 2025 |archive-date=8 December 2025 |archive-url=https://web.archive.org/web/20251208052121/https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |url-status=live }}</ref> [[തൊടുപുഴ]], [[വാഗമൺ]], [[എറണാകുളം ജില്ല|എറണാകുളം]], [[തിരുവല്ല]] എന്നിവിടങ്ങളിലായിരുന്നു ചിത്രീകരണം നടന്നത്.<ref>{{Cite news |date=2026-01-29 |title=Jeethu Joseph on Mohanlal’s ‘Drishyam 3’: 'A story set in rural Idukki can’t look like a Scandinavian thriller' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/jeethu-joseph-on-mohanlals-drishyam-3-a-story-set-in-rural-idukki-cant-look-like-a-scandinavian-thriller/articleshow/127758059.cms |access-date=2026-02-16 |work=The Times of India |issn=0971-8257}}</ref> 2025 ഡിസംബർ 2-ന് ചിത്രീകരണം പൂർത്തിയായി.<ref>{{Cite web |date=3 December 2025 |title=‘See you in cinemas’: Mohanlal wraps filming for Jeethu Joseph’s ‘Drishyam 3’ |url=https://www.telegraphindia.com/entertainment/mohanlal-wraps-filming-for-jeethu-joseph-directed-crime-thriller-drishyam-3/cid/2136016 |access-date=5 March 2026 |website=[[Telegraph India]]}}</ref> == റിലീസ് == === തിയേറ്റർ === ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്തു.<ref name=":2" /> === വിതരണം === നിർമ്മാണ കമ്പനിയായ [[ആശീർവാദ് സിനിമാസ്]] ചിത്രം [[കേരളം|കേരളത്തിൽ]] വിതരണം ചെയ്യും. പനോരമ സ്റ്റുഡിയോസ്, പെൻ സ്റ്റുഡിയോസ് എന്നിവർ ഉത്തരേന്ത്യയിലെ വിതരണാവകാശവും ചിത്രത്തിന്റെ ഡിജിറ്റൽ അവകാശവും സ്വന്തമാക്കി. പ്രത്യംഗിര സിനിമാസ് [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കയിലെയും]] ഹംസിനി എന്റർടൈൻമെന്റ്സ് [[കാനഡ|കാനഡയിലെയും]] വിതരണാവകാശം നേടി. ഇവ രണ്ടും ചേർന്ന് 10 കോടി രൂപയ്ക്കാണ് ($1.1M) വിറ്റുപോയത്.<ref>{{Cite web |last=More |first=Shalmesh |date=26 February 2026 |title=Mohanlal-starrer ''Drishyam 3'' makes history in the distribution of Mollywood. |url=https://www.koimoi.com/south-indian-cinema/drishyam-3-mohanlal-starrer-makes-history-in-north-america-before-even-before-its-box-office-run-begins/ |website=Koimoi}}</ref> == അവലംബങ്ങൾ == {{reflist}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * {{IMDb title|tt14113634}} [[വർഗ്ഗം:വരാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:2026-ൽ പുറത്തിറങ്ങുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ജീത്തു ജോസഫ് സംവിധാനം ചെയ്ത ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ആശീർവാദ് സിനിമാസ് ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ചലച്ചിത്ര പരമ്പരകൾ]] [[വർഗ്ഗം:കൊച്ചിയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:തൊടുപുഴയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വാഗമണ്ണിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പത്തനംതിട്ട ജില്ലയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:കൊലപാതകികളെക്കുറിച്ചുള്ള ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പുറത്തിറങ്ങാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] 2fqy6hanknysq4j1drsswxacowy4g6w 4622082 4621625 2026-05-22T23:50:15Z Cyanide Killer 206116 4622082 wikitext text/x-wiki {{Infobox film | name = ദൃശ്യം 3 | image = | alt = | caption = തിയേറ്റർ റിലീസ് പോസ്റ്റർ | director = [[ജീത്തു ജോസഫ്]] | producer = [[ആന്റണി പെരുമ്പാവൂർ]] | writer = ജീത്തു ജോസഫ് | starring = {{Plainlist| * [[മോഹൻലാൽ]] * [[മീന (നടി)|മീന]] * [[അൻസിബ ഹസ്സൻ]] * [[എസ്തർ അനിൽ]] }} | narrator = | music = [[അനിൽ ജോൺസൺ]] | cinematography = [[സതീഷ് കുറുപ്പ്]] | editing = വി. എസ്. വിനായക് | studio = [[ആശീർവാദ് സിനിമാസ്]] | distributor = [[#വിതരണം|താഴെ കാണുക]] | released = 21 മേയ് 2026 | runtime = 157 മിനിറ്റ് | country = ഇന്ത്യ | language = മലയാളം | budget = ₹16 കോടി | gross = }} [[ജീത്തു ജോസഫ്]] രചനയും സംവിധാനവും നിർവ്വഹിച്ച് 2026-ൽ പുറത്തിറങ്ങിയ ഒരു [[മലയാളം|മലയാള ഭാഷാ]] [[ക്രൈം ത്രില്ലർ (ചലച്ചിത്രം)|ക്രൈം ത്രില്ലർ ചിത്രമാണ്]] '''''ദൃശ്യം 3'''''.<ref name=":1">{{Langx|mal|ദൃശ്യം|Drishyam|Visual}}</ref> [[ആശീർവാദ് സിനിമാസ്|ആശീർവാദ് സിനിമാസിന്റെ]] ബാനറിൽ [[ആന്റണി പെരുമ്പാവൂർ]] നിർമ്മിക്കുന്ന ഈ ചിത്രം, ''[[ദൃശ്യം (ചലച്ചിത്ര പരമ്പര)|ദൃശ്യം]]'' ഫ്രാഞ്ചൈസിയിലെ മൂന്നാമത്തെ ചിത്രവും ''[[ദൃശ്യം 2|ദൃശ്യം 2-ന്റെ]]'' (2021) തുടർച്ചയുമാണ്. [[മോഹൻലാൽ]], [[മീന (നടി)|മീന]], [[അൻസിബ ഹസ്സൻ]], [[എസ്തർ അനിൽ]] എന്നിവർ ഈ ചിത്രത്തിൽ പ്രധാന കഥാപാത്രങ്ങളെ അവതരിപ്പിക്കുന്നു. ചിത്രത്തിന്റെ പ്രധാന ചിത്രീകരണം 2025 സെപ്റ്റംബർ 22-ന് ആരംഭിച്ച് 2025 ഡിസംബർ 2-ന് അവസാനിച്ചു.<ref>{{Cite news |date=2025-09-22 |title='Drishyam 3' shooting begins: Mohanlal shares picture from pooja ceremony; says, 'Bringing Georgekutty's world alive once again' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |access-date=2025-10-11 |work=The Times of India |issn=0971-8257 |archive-date=13 October 2025 |archive-url=https://web.archive.org/web/20251013044158/https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-shooting-begins-mohanlal-shares-picture-from-pooja-ceremony-says-bringing-georgekuttys-world-alive-once-again/articleshow/124040372.cms |url-status=live }}</ref> ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്തു.<ref name=":2">{{Cite news |date=2026-01-14 |title='Drishyam 3' release date unveiled: Mohanlal and Jeethu Joseph's film locks April release around Vishu |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/drishyam-3-release-date-unveiled-mohanlal-and-jeethu-josephs-film-locks-april-release-around-vishu/articleshow/126527326.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> == അഭിനയിച്ചവർ == * [[മോഹൻലാൽ]] - ജോർജുകുട്ടി * [[മീന (നടി)|മീന]] - റാണി ജോർജ് * [[അൻസിബ ഹസ്സൻ]] - അഞ്ചു ജോർജ് * [[എസ്തർ അനിൽ]] - അനു ജോർജ് * [[ആശ ശരത്]] - ഗീത പ്രഭാകർ * [[സിദ്ദിഖ് (നടൻ)|സിദ്ദിഖ്]] - പ്രഭാകർ * [[മുരളി ഗോപി]] - [[ഇൻസ്പെക്ടർ ജനറൽ ഓഫ് പോലീസ് (ഇന്ത്യ)|ഐ.ജി.]] തോമസ് ബാസ്റ്റിൻ [[ഇന്ത്യൻ പോലീസ് സർവ്വീസ്|ഐ.പി.എസ്.]] * [[കെ.ബി. ഗണേഷ് കുമാർ]] - സി.ഐ. ഫിലിപ്പ് മാത്യു * [[കോഴിക്കോട് നാരായണൻ നായർ]] - സുലൈമാൻ * [[ശാന്തി മായാദേവി]] - [[അഭിഭാഷകൻ|അഡ്വക്കേറ്റ്]] രേണുക * [[ശ്രീകാന്ത് മുരളി]]<ref>{{Cite web |last= |date=25 February 2026 |title=Drishyam 3: Srikant Murali Teases a Completely New Storyline Fans Can’t Stop Anticipating |url=https://newsable.asianetnews.com/entertainment/drishyam-3-srikant-murali-teases-completely-new-storyline-fans-cant-stop-anticipating-articleshow-aqwbcgt |access-date=5 March 2026 |website=Asianet Newsable |language=en}}</ref> * [[ലിഷോയ്]]<ref>{{Cite web |last= |last2= |first5= |date=28 February 2026 |title='ജോർജുകുട്ടിയുടെ മകളുടെ...'; 'ദൃശ്യം 3' ലെ നിർണായക കഥാപാത്രത്തെക്കുറിച്ച് ലിഷോയ്, വിമർശനവുമായി ആരാധകർ |url=https://www.asianetnews.com/entertainment-news/actor-lishoy-about-his-drishyam-3-character-fans-criticising-him-for-leaking-spoilers-mohanlal-jeethu-joseph-articleshow-ocy6szo |access-date=5 March 2026 |website=[[Asianet News|Asianet News Malayalam]] |language=ml}}</ref> * [[മഞ്ജു പിള്ള]] == നിർമ്മാണം == === വികസനം === ''[[ദൃശ്യം 2]]'' പൂർത്തിയാക്കിയതിന് ശേഷം മൂന്നാം ഭാഗത്തിനായുള്ള ആശയം തനിക്ക് ലഭിച്ചുവെന്നും, തന്റെ മനസ്സിൽ ആദ്യം രൂപപ്പെട്ടത് ചിത്രത്തിന്റെ ക്ലൈമാക്സ് ആണെന്നും [[ജീത്തു ജോസഫ്]] വ്യക്തമാക്കി. ചിത്രത്തിന്റെ റിലീസ് സമയത്ത്, മറ്റൊരു തുടർച്ചയ്ക്ക് സാധ്യതയുണ്ടോ എന്ന് [[മോഹൻലാൽ]] ചോദിച്ചപ്പോൾ, തന്റെ മനസ്സിലുള്ള ക്ലൈമാക്സ് അദ്ദേഹം മോഹൻലാലുമായി പങ്കുവെച്ചു. ഇത് ഇഷ്ടപ്പെട്ട മോഹൻലാൽ കഥ കൂടുതൽ വികസിപ്പിക്കാൻ ജീത്തുവിനെ പ്രോത്സാഹിപ്പിച്ചു.<ref name="Mathrubhumi-interview1">{{cite news |last1=Prajith |first1=P. |title='ദൃശ്യം -3യുടെ സാധ്യതയേക്കുറിച്ച് ആദ്യം ചോദിച്ചത് ലാലേട്ടൻ, ക്ലൈമാക്സാണ് ആദ്യം എഴുതിയത്' |url=https://www.mathrubhumi.com/movies-music/interview/drishyam-3-jeethu-joseph-interview-1.10763114 |access-date=5 September 2025 |work=[[മാതൃഭൂമി|Mathrubhumi]] |date=20 July 2025 |language=ml}}</ref> 2021 ഫെബ്രുവരിയിൽ, ''ദൃശ്യം 2'' പുറത്തിറങ്ങി കുറച്ചു കഴിഞ്ഞപ്പോൾ, നിർമ്മാതാവ് [[ആന്റണി പെരുമ്പാവൂർ]] ജീത്തു ''ദൃശ്യം 3''-നെക്കുറിച്ച് ആലോചിക്കുന്നുണ്ടെന്നും മോഹൻലാലുമായി ഇത് ചർച്ച ചെയ്തിട്ടുണ്ടെന്നും അത് സംഭവിക്കുമെന്ന് പ്രതീക്ഷ പ്രകടിപ്പിച്ചതായും ''[[മനോരമ ന്യൂസ്|മനോരമ ന്യൂസിനോട്]]'' പറഞ്ഞു.<ref>{{cite news |last1=Prakash |first1=M. Dinu |title=Will there be a 'Drishyam 3'? Antony Perumbavur spills the beans |url=https://www.onmanorama.com/entertainment/entertainment-news/2021/02/20/drishyam-3-antony-perumbavur-reveals-new-information.html |access-date=5 September 2025 |work=[[Onmanorama.com]] |date=20 February 2021}}</ref> കുറച്ചു ദിവസങ്ങൾക്ക് ശേഷം ജീത്തു ''ദ ക്വിന്റിനോട്'' (The Quint) പറഞ്ഞു, "എനിക്ക് വികസിപ്പിക്കാൻ പാകത്തിലുള്ള നല്ലൊരു കഥാതന്തു ലഭിക്കുകയാണെങ്കിൽ, ഞാൻ അതിൽ പ്രവർത്തിക്കാൻ തുടങ്ങും. അങ്ങനെ ചെയ്തില്ലെങ്കിൽ അതൊരു തെറ്റായിരിക്കും".<ref name=":0">{{cite news |last1=Vilakudy |first1=Rajaneesh |title=Exclusive: Jeethu Joseph On Making 'Drishyam 3' With Mohanlal |url=https://www.thequint.com/entertainment/indian-cinema/jeethu-josepth-drishyam-2-mohanlal-interview |access-date=5 September 2025 |work=[[The Quint]] |date=22 February 2021}}</ref> 2022 ഓഗസ്റ്റിൽ നടന്ന മഴവിൽ എന്റർടൈൻമെന്റ് അവാർഡ്‌സിൽ, ''ദൃശ്യം 3'' "തീർച്ചയായും സംഭവിക്കുമെന്നും" അതിനായുള്ള ആശയങ്ങളിൽ തങ്ങൾ പ്രവർത്തിക്കുകയാണെന്നും ആന്റണി സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2022-08-28 |title=South Indian star Mohanlal's 'Drishyam 3' confirmed, fans say ‘George Kutty is back’ |url=https://gulfnews.com/entertainment/south-indian/south-indian-star-mohanlals-drishyam-3-confirmed-fans-say-george-kutty-is-back-1.1661675426482 |access-date=2026-03-05 |website=[[Gulf News]] |language=en}}</ref> ആ വർഷം നവംബറിൽ, തന്റെ "മനസ്സിൽ ചിലതുണ്ട്, എങ്കിലും അത് മുന്നോട്ട് കൊണ്ടുപോകാനുള്ള ഒരു തീപ്പൊരിക്കായി ഞാൻ ഇപ്പോഴും തിരയുകയാണ്" എന്ന് ജീത്തു പ്രസ്താവിച്ചു.<ref>{{cite news |last1=R. |first1=Chandhini |title=Jeethu Joseph Interview: Commercial success is more important than awards and accolades |url=https://www.cinemaexpress.com/malayalam/interviews/2022/Nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |access-date=28 November 2025 |work=[[Cinema Express]] |date=8 November 2022 |archive-date=2 May 2023 |archive-url=https://web.archive.org/web/20230502134155/https://www.cinemaexpress.com/malayalam/interviews/2022/nov/08/jeethu-joseph-interview-the-filmmaker-on-kooman-ram-dirshyam-mohanlal-36370.html |url-status=live }}</ref> 2024 മാർച്ചിൽ ''ഡെക്കാൻ ക്രോണിക്കിളിന്'' നൽകിയ ഒരു അഭിമുഖത്തിൽ, താൻ ചിത്രത്തിന്റെ തുടർച്ചയ്ക്കുള്ള സാധ്യതകൾ അന്വേഷിക്കുകയാണെന്നും നല്ലൊരു ആശയം ലഭിച്ചാൽ മാത്രമേ മുന്നോട്ട് പോകൂ എന്നും ജീത്തു പറഞ്ഞു. കേവലം സാമ്പത്തിക ലാഭത്തിന് വേണ്ടി മാത്രം താനൊരു രണ്ടാം ഭാഗം ചെയ്യില്ലെന്നും അദ്ദേഹം ഊന്നിപ്പറഞ്ഞു.<ref>{{cite news |last1=A. R. |first1=Reshmi |title=I Will Not Make Drishyam 3 Just For Money, Says Jeethu Joseph |url=https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |access-date=5 September 2025 |work=[[Deccan Chronicle]] |date=16 March 2024 |archive-date=11 February 2025 |archive-url=https://web.archive.org/web/20250211080733/https://www.deccanchronicle.com/entertainment/mollywood/heroism-in-telugu-and-malayalam-are-different-jeethu-on-neru-remake-885414 |url-status=live }}</ref> 2024 ഓഗസ്റ്റിൽ, [[റെഡ് എഫ്.എം. (ഇന്ത്യ)|റെഡ് എഫ്.എമ്മിന്]] നൽകിയ അഭിമുഖത്തിൽ, സിനിമ എങ്ങനെ അവസാനിക്കുമെന്ന് തനിക്കറിയാമെങ്കിലും, കഥയുടെ ഒരു പ്രത്യേക ഭാഗത്ത് താൻ കുടുങ്ങിക്കിടക്കുകയാണെന്ന് അദ്ദേഹം വെളിപ്പെടുത്തി.<ref>{{cite news|author1=India Today Entertainment Desk|title=Director Jeethu Joseph hints at 'Drishyam 3': I've written the climax, but...|url=https://www.indiatoday.in/movies/regional-cinema/story/jeethu-joseph-drishyam-3-mohanlal-climax-ks-chithra-2585503-2024-08-21|access-date=5 September 2025|work=[[India Today]]|date=21 August 2024}}</ref> 2025 ഫെബ്രുവരി 20-ന്, മോഹൻലാൽ തന്റെ സോഷ്യൽ മീഡിയ അക്കൗണ്ടുകളിലൂടെ ''ദൃശ്യം 3'' ഔദ്യോഗികമായി പ്രഖ്യാപിച്ചു.<ref>{{Cite news |date=2025-02-20 |title=Mohanlal confirms 'Drishyam 3' with Jeethu Joseph and Antony Perumbavoor |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/mohanlal-confirms-drishyam-3-with-jeethu-joseph-and-antony-perumbavoor/articleshow/118425389.cms |access-date=2026-03-05 |work=The Times of India |issn=0971-8257}}</ref> ജോർജുകുട്ടിയുടെ കഥയുടെ അവസാനമായിരിക്കില്ല ''ദൃശ്യം 3'' എന്ന് ജീത്തു വെളിപ്പെടുത്തിയിരുന്നു.<ref name="pinkvilla1">{{cite web |last1=S. |first1=Goutham |title=Jeethu Joseph Exclusive Interview: ‘We will release Drishyam 3’s Malayalam version first, just like before’ |url=https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |publisher= |access-date=27 November 2025 |date=31 October 2025 |archive-date=9 November 2025 |archive-url=https://web.archive.org/web/20251109005841/https://www.pinkvilla.com/entertainment/south/jeethu-joseph-exclusive-interview-we-will-release-drishyam-3s-malayalam-version-first-just-like-before-1398128 |url-status=live |website=[[Pinkvilla]]}}</ref> എന്നിരുന്നാലും, 2026 ഫെബ്രുവരിയിൽ, ഇത് ഫ്രാഞ്ചൈസിയിലെ അവസാന ചിത്രമായിരിക്കുമെന്ന് അദ്ദേഹം സ്ഥിരീകരിച്ചു.<ref>{{Cite web |date=2026-02-04 |title=Jeethu Joseph says Mohanlal’s Drishyam 3 will be last in the franchise |url=https://www.mid-day.com/entertainment/regional-indian-cinema-news/article/jeethu-joseph-confirms-mohanlal-drishyam-3-will-be-last-film-in-the-franchise-23615155 |access-date=2026-03-05 |website=[[Mid-day]] |language=en}}</ref> === ചിത്രീകരണം === എറണാകുളം പൂത്തോട്ടയിലുള്ള ശ്രീ നാരായണ ലോ കോളേജിൽ വെച്ച് നടന്ന പരമ്പരാഗത [[പൂജ (ഹിന്ദുമതം)|പൂജയോടുകൂടി]] 2025 സെപ്റ്റംബർ 22-ന് ചിത്രത്തിന്റെ [[പ്രധാന ചിത്രീകരണം]] ആരംഭിച്ചു.<ref>{{cite news |author1=[[Press Trust of India|പ്രസ് ട്രസ്റ്റ് ഓഫ് ഇന്ത്യ]] |title=Drishyam 3 shooting begins with pooja in Kerala, Mohanlal shares new pics: 'Bringing Georgekutty's world alive' |url=https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |access-date=22 September 2025 |work=[[Hindustan Times]] |date=22 September 2025 |archive-date=8 December 2025 |archive-url=https://web.archive.org/web/20251208052121/https://www.hindustantimes.com/entertainment/others/drishyam-3-shooting-begins-with-pooja-in-kerala-mohanlal-shares-new-pics-101758527359898.html |url-status=live }}</ref> [[തൊടുപുഴ]], [[വാഗമൺ]], [[എറണാകുളം ജില്ല|എറണാകുളം]], [[തിരുവല്ല]] എന്നിവിടങ്ങളിലായിരുന്നു ചിത്രീകരണം നടന്നത്.<ref>{{Cite news |date=2026-01-29 |title=Jeethu Joseph on Mohanlal’s ‘Drishyam 3’: 'A story set in rural Idukki can’t look like a Scandinavian thriller' |url=https://timesofindia.indiatimes.com/entertainment/malayalam/movies/news/jeethu-joseph-on-mohanlals-drishyam-3-a-story-set-in-rural-idukki-cant-look-like-a-scandinavian-thriller/articleshow/127758059.cms |access-date=2026-02-16 |work=The Times of India |issn=0971-8257}}</ref> 2025 ഡിസംബർ 2-ന് ചിത്രീകരണം പൂർത്തിയായി.<ref>{{Cite web |date=3 December 2025 |title=‘See you in cinemas’: Mohanlal wraps filming for Jeethu Joseph’s ‘Drishyam 3’ |url=https://www.telegraphindia.com/entertainment/mohanlal-wraps-filming-for-jeethu-joseph-directed-crime-thriller-drishyam-3/cid/2136016 |access-date=5 March 2026 |website=[[Telegraph India]]}}</ref> == റിലീസ് == === തിയേറ്റർ === ദൃശ്യം 3, 2026 മേയ് 21-ന് തിയേറ്ററുകളിൽ റിലീസ് ചെയ്തു.<ref name=":2" /> === വിതരണം === നിർമ്മാണ കമ്പനിയായ [[ആശീർവാദ് സിനിമാസ്]] ചിത്രം [[കേരളം|കേരളത്തിൽ]] വിതരണം ചെയ്യും. പനോരമ സ്റ്റുഡിയോസ്, പെൻ സ്റ്റുഡിയോസ് എന്നിവർ ഉത്തരേന്ത്യയിലെ വിതരണാവകാശവും ചിത്രത്തിന്റെ ഡിജിറ്റൽ അവകാശവും സ്വന്തമാക്കി. പ്രത്യംഗിര സിനിമാസ് [[അമേരിക്കൻ ഐക്യനാടുകൾ|അമേരിക്കയിലെയും]] ഹംസിനി എന്റർടൈൻമെന്റ്സ് [[കാനഡ|കാനഡയിലെയും]] വിതരണാവകാശം നേടി. ഇവ രണ്ടും ചേർന്ന് 10 കോടി രൂപയ്ക്കാണ് ($1.1M) വിറ്റുപോയത്.<ref>{{Cite web |last=More |first=Shalmesh |date=26 February 2026 |title=Mohanlal-starrer ''Drishyam 3'' makes history in the distribution of Mollywood. |url=https://www.koimoi.com/south-indian-cinema/drishyam-3-mohanlal-starrer-makes-history-in-north-america-before-even-before-its-box-office-run-begins/ |website=Koimoi}}</ref> == അവലംബങ്ങൾ == {{reflist}} == പുറത്തേക്കുള്ള കണ്ണികൾ == * {{IMDb title|tt14113634}} [[വർഗ്ഗം:വരാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വരാനിരിക്കുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:2026-ൽ പുറത്തിറങ്ങുന്ന മലയാളചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ജീത്തു ജോസഫ് സംവിധാനം ചെയ്ത ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ആശീർവാദ് സിനിമാസ് ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ക്രൈം ത്രില്ലർ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:ഇന്ത്യൻ രണ്ടാംഭാഗ ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:മലയാളം ചലച്ചിത്ര പരമ്പരകൾ]] [[വർഗ്ഗം:കൊച്ചിയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:തൊടുപുഴയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:വാഗമണ്ണിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പത്തനംതിട്ട ജില്ലയിൽ ചിത്രീകരിച്ച ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:കൊലപാതകികളെക്കുറിച്ചുള്ള ചലച്ചിത്രങ്ങൾ]] [[വർഗ്ഗം:പുറത്തിറങ്ങാനിരിക്കുന്ന ചലച്ചിത്രങ്ങൾ]] py7zrkj040r5hvkuor2c0i0fr8sag5v കരട്:കാതോലിക്കാ 118 665608 4621677 4608766 2026-05-22T22:41:51Z Jacob.jose 1784 4621677 wikitext text/x-wiki കാതോലികം എന്ന പദം ( KATA + HOLOS ) എന്ന ​ഗ്രീക്ക് വാക്കിൽ‍ നിന്നാണ് ഉത്ഭവിക്കുന്നത്. സാർവത്രികമായത് സകലത്തെയും ഉൾക്കൊള്ളുന്നത് എന്നാണ് അതിന്റെ അർത്ഥം. നിഖ്യാവിശ്വാസപ്രമാണത്തിൽ സഭയെക്കുറിച്ചുള്ള  നാല് വിശേഷണങ്ങളിൽ ഒന്നാണ് കാതോലികം. വിശ്വാസത്തോട് ബന്ധപ്പെടുത്തി കാതോലികം എന്ന് പറയുമ്പോൾ അതിന് സത്യവിശ്വാസം എന്നുള്ള അർത്ഥം കൈവരുന്നു. ഓർത്തഡോക്സ് വിശ്വാസം ( സത്യവിശ്വാസം) എന്നതിന്റെ പര്യായമായി കാതോലികം എന്ന് പ്രയോ​ഗിക്കാറുണ്ട്.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> കാതോലികസഭ എന്നുള്ളതിന് കത്തോലിക്കാ സഭ ( റോമാ സഭ ) എന്ന് തെറ്റിദ്ധരിച്ച് പറയാറുണ്ട്. റോമൻ കത്തോലിക്കാ പാരമ്പര്യം അനുസരിച്ച് സഭയുടെ കാതോലിക സ്വാഭാവത്തിന്റെയും ഏകത്വത്തിന്റെയും മുഖ്യ അളവ് കോൽ മാർപാപ്പായോടുള്ള വിധേയത്വമാണ്. ഏതെങ്കിലും ഒരു പ്രദേശത്തെ സഭ കാതോലികമാണ് എന്ന് അവകാശപ്പെടണമെങ്കിൽ ആ സഭ മാർപാപ്പായോടുള്ള വിധേയത്വവും സംസർ​ഗവും നിലനിർത്തണം എന്ന് റോമൻ കത്തോലിക്കാ സഭ പഠിപ്പിക്കുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ഓർത്തഡോക്സ് സഭയുടെ പാരമ്പര്യത്തിൽ സഭയുടെ കാതോലിക സ്വഭാവം നിലനിർത്തുന്നത് ഏതെങ്കിലും പാത്രിയർക്കീസിനോടോ മാർപാപ്പായോടോ ഉള്ള വിധേയത്വമല്ല. ഓരോ പ്രദേശത്തുള്ള സഭ ഏകവിശ്വാസത്തിലും വി കുർബാനയിലും അതിന്റെ മെത്രാപ്പോലീത്തായോട് ചേർന്ന് ത്രിത്വത്തെ ആരാധിക്കുകയും ക്രിസ്തീയ ജീവിതം നയിക്കുകയും ചെയ്യുമ്പോൾ അവിടെ കാതോലികം എന്നതിന്റെ പൂർണത വെളിവാകുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> കാതോലിക്കാമാർ പേർഷ്യൻസഭയുടെ തലവന് കാതോലിക്കാ എന്ന അഭിധാനം നാലാം നൂറ്റാണ്ട് മുതലെങ്കിലും ഉണ്ടായിരുന്നു. ആദ്യത്തെ കാതോലിക്കാ ആയി ​ഗണിക്കപ്പെടുന്നത് പേർഷ്യയുടെ തലസ്ഥാനമായ സെലൂക്യയിൽ എ.ഡി 291 -നോട് അടുത്ത് ബിഷപ്പായിരുന്ന പാപ്പാ ബാർ ആ​ഗായി ആണ്. <ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ഇന്ത്യയിലെ കാതോലിക്കാമാർ ഇന്ത്യയിലെ ഒന്നാം കാതോലിക്കാ ( മലങ്കര - മാല്യങ്കര = മലകളുടെ നാട് - മലബാർ) ബസേലിയോസ് പൗലോസ് പ്രഥമൻ 1836ൽ കോലഞ്ചേരി മുറിമറ്റത്തിൽ തറവാട്ടിൽ ജനിച്ചു. മലങ്കരയിലെ ആദ്യത്തെ കാതോലിക്കാ സ്ഥാനം വഹിക്കുവാൻ മുറിമറ്റത്തിൽ മാർ ഈവാനിയോസിനെ ദൈവം തെരഞ്ഞെടുത്തു. 1912 സെപ്തംബർ 15ന് നിരണം പള്ളിയിൽ വെച്ച് അബ്ദൽ മശിഹാ പാത്രിയർക്കസീ അദ്ദേഹത്തെ കിഴക്കിന്റെ ( പൗരസ്ത്യ ) കാതോലിക്കായായി ബസേലിയോസ് പൗലോസ് പ്രഥമൻ എന്ന പേരിൽ വാഴിച്ചു. 1913 മെയ് 2ന് പാമ്പാക്കുട ചെറിയപള്ളിയിൽ വെച്ച് ദിവം​ഗതനാകുകയും അവിടെ കബറടക്കുകയും ചെയ്തു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് ​ഗീവർ​ഗീസ് പ്രഥമൻ മലങ്കരസഭയിലെ രണ്ടാം കാതോലിക്കാ. ജനനം 1870 ജനുവരി 13ന് കോട്ടയം വാകത്താനത്ത്. 1925 ഏപ്രിൽ 30ന് നിരണം സെന്റ് മേരീസ് പള്ളിയിൽ വെച്ച് ബസേലിയോസ് ​ഗീവർ​ഗീസ് പ്രഥമൻ കാതോലിക്കായായി വാഴിക്കപ്പെട്ടു.1928ൽ കാലം ചെയ്തു. വാകത്താനം വള്ളിക്കാട്ട് ദയറായിൽ അന്ത്യവിശ്രമം കൊള്ളുന്നു<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് ​ഗീവർ​ഗീസ് ദ്വിതീയൻ മലങ്കരസഭയുടെ മൂന്നാം കാതോലിക്കായും മലങ്കര മെത്രാപ്പോലീത്തായും. കോട്ടയം കുറിച്ചിയിൽ 1874 ജൂൺ 15ന് ജനനം. 1929 ഫെബ്രുവരി 15ന് കോട്ടയം മാർ ഏലിയാ ചാപ്പലിൽ വെച്ച് ബസേലിയോസ് ​ഗീവർ​ഗീസ് ദ്വിതീയൻ എന്ന പേരിൽ കിഴക്കിന്റെ കാതോലിക്കായായി വാഴിക്കപ്പെട്ടു. 1947 നവംബർ 2ന് പരുമല മാർ ​ഗ്രീ​ഗോറിയോസിനെയും യൽദോ മാർ ബസേലിയോസിനെയും പരിശുദ്ധൻമാരായി പ്രഖ്യാപിച്ചത് ​ഗീവർ​ഗീസ് ദ്വിതീയൻ ബാവായാണ്. 1964 ജനുവരി 3ന് ദൈവസന്നിധിയിലേക്ക് യാത്രയായി.മലങ്കരസഭാ ആസ്ഥാനമായ കോട്ടയം ദേവലോകം കാതോലിക്കേറ്റ് അരമനയിൽ പരിശുദ്ധ പിതാവിന്റെ കബറിടം സ്ഥിതി ചെയ്യുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് ഔ​ഗേൻ പ്രഥമൻ മലങ്കസഭയിലെ നാലാം കാതോലിക്കാ. പെരുമ്പാവൂർ തുരുത്തി കുടുംബത്തിൽ 1884 ജൂൺ 26ന് ജനനം. 1962 മെയ് 17ന് നിരണത്ത് കൂടിയ മലങ്കര അസോസിയേഷൻ ഔ​ഗേൻ മാർ തീമോത്തിയോസ് മെത്രാപ്പോലീത്തായെ നിയുക്ത കാതോലിക്കായായി തിരഞ്ഞെടുത്തു. 1964 മെയ് 22ന് കോട്ടയം മാർ ഏലിയാ ചാപ്പലിൽ വെച്ച് യാക്കോബ് തൃതീയൻ പാത്രിയർക്കീസ് ബാവാ അദ്ദേഹത്തെ ബസേലിയോസ് ഔ​ഗേൻ പ്രഥമൻ എന്നപേരിൽ അഭിഷേകം ചെയ്തു. 1965ൽ എത്യോപ്യയിലെ ആഡിസ് അബാബയിൽ ചേർന്ന ഓറിയന്റൽ സഭാ തലവൻമാരുടെ സമ്മേളനത്തിൽ പങ്കെടുത്തു.മാർത്തോമ്മാ ശ്ലീഹായുടെ തിരുശേഷിപ്പ് ദേവലോകത്തേക്ക് കൊണ്ടുവന്നത് ഔ​ഗേൻ ബാവായാണ്. 1975 ഡിസംബർ 8ന് കാലം ചെയ്തു. കബറിടം ദേവലോകം അരമനയിൽ സ്ഥിതി ചെയ്യുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ മാത്യൂസ് പ്രഥമൻ മലങ്കരസഭയുടെ അഞ്ചാം കാതോലിക്കാ. ജനനം 1907 മാർച്ച് 21ന്. 1975 സെപ്തംബർ 24ന് മലങ്കര മെത്രാപ്പോലീത്തായായും 1975 ഒക്ടോബർ 27ന് പൗരസ്ത്യ കാതോലിക്കായായും സ്ഥാനാരോഹണം ചെയ്തു.  1996ൽ കാലം ചെയ്തു. കബറിടം ദേവലോകം അരമനയിൽ.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ മാത്യൂസ് ദ്വിതീയൻ മലങ്കരസഭയുടെ ആറാം കാതോലിക്കാ. കൊല്ലത്ത് 1915ൽ ജനിച്ചു. 1991 ഏപ്രിൽ മാസം 29ന് കിഴക്കിന്റെ കാതോലിക്കായായി അവരോധിച്ചു. 2006 ജനുവരി 26ന് കാലം ചെയ്തു. കബറിടം ശാസ്താംകോട്ട മൗണ്ട് ഹോറേബ് ആശ്രമം.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ ദിദിമോസ് പ്രഥമൻ മലങ്കരസഭയുടെ ഏഴാം കാതോലിക്കാ. 1921ൽ ജനനം. 2005ൽ കാതോലിക്കാ സ്ഥാനത്തേക്ക് അവരോധിക്കപ്പെട്ടു. 2014 മെയ് 26 ന് കാലം ചെയ്തു. കബറിടം പത്തനാപുരം മൗണ്ട് താബോർ ദയറായിൽ.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ പൗലോസ് ദ്വിതീയൻ മലങ്കരസഭയുടെ എട്ടാം കാതോലിക്കാ. 1946 ഓ​ഗസ്റ്റ് 30ന് ജനനം. 2010 നവംബർ 1ന് പൗരസ്ത്യ കാതോലിക്കായായി വാഴിക്കപ്പെട്ടു. 2021 ജൂലൈ 12ന് ദൈവസന്നിധിയിലേക്ക് ചേർക്കപ്പെട്ടു.കബറിടം ദേവലോകം കാതോലിക്കേറ്റ് അരമനയിൽ.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ മാത്യൂസ് തൃതീയൻ മലങ്കരസഭയുടെ ഒൻപതാം കാതോലിക്കാ. ജനനം 1949 ഫെബ്രുവരി 12ന്. 2021 ഒക്ടോബർ 15ന് പൗരസ്ത്യ കാതോലിക്കായായും മലങ്കര മെത്രാപ്പോലീത്തായായും സ്ഥാനാരോഹണം ചെയ്യപ്പെട്ടു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> {{അപൂർണ്ണം}} k8lwgr7xfndz5fv7bh5ext7akjtfkwi 4621678 4621677 2026-05-22T22:42:31Z Jacob.jose 1784 4621678 wikitext text/x-wiki കാതോലികം എന്ന പദം ( KATA + HOLOS ) എന്ന ​ഗ്രീക്ക് വാക്കിൽ‍ നിന്നാണ് ഉത്ഭവിക്കുന്നത്. സാർവത്രികമായത് സകലത്തെയും ഉൾക്കൊള്ളുന്നത് എന്നാണ് അതിന്റെ അർത്ഥം. നിഖ്യാവിശ്വാസപ്രമാണത്തിൽ സഭയെക്കുറിച്ചുള്ള  നാല് വിശേഷണങ്ങളിൽ ഒന്നാണ് കാതോലികം. വിശ്വാസത്തോട് ബന്ധപ്പെടുത്തി കാതോലികം എന്ന് പറയുമ്പോൾ അതിന് സത്യവിശ്വാസം എന്നുള്ള അർത്ഥം കൈവരുന്നു. ഓർത്തഡോക്സ് വിശ്വാസം ( സത്യവിശ്വാസം) എന്നതിന്റെ പര്യായമായി കാതോലികം എന്ന് പ്രയോ​ഗിക്കാറുണ്ട്.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> കാതോലികസഭ എന്നുള്ളതിന് കത്തോലിക്കാ സഭ ( റോമാ സഭ ) എന്ന് തെറ്റിദ്ധരിച്ച് പറയാറുണ്ട്. റോമൻ കത്തോലിക്കാ പാരമ്പര്യം അനുസരിച്ച് സഭയുടെ കാതോലിക സ്വാഭാവത്തിന്റെയും ഏകത്വത്തിന്റെയും മുഖ്യ അളവ് കോൽ മാർപാപ്പായോടുള്ള വിധേയത്വമാണ്. ഏതെങ്കിലും ഒരു പ്രദേശത്തെ സഭ കാതോലികമാണ് എന്ന് അവകാശപ്പെടണമെങ്കിൽ ആ സഭ മാർപാപ്പായോടുള്ള വിധേയത്വവും സംസർ​ഗവും നിലനിർത്തണം എന്ന് റോമൻ കത്തോലിക്കാ സഭ പഠിപ്പിക്കുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ഓർത്തഡോക്സ് സഭയുടെ പാരമ്പര്യത്തിൽ സഭയുടെ കാതോലിക സ്വഭാവം നിലനിർത്തുന്നത് ഏതെങ്കിലും പാത്രിയർക്കീസിനോടോ മാർപാപ്പായോടോ ഉള്ള വിധേയത്വമല്ല. ഓരോ പ്രദേശത്തുള്ള സഭ ഏകവിശ്വാസത്തിലും വി കുർബാനയിലും അതിന്റെ മെത്രാപ്പോലീത്തായോട് ചേർന്ന് ത്രിത്വത്തെ ആരാധിക്കുകയും ക്രിസ്തീയ ജീവിതം നയിക്കുകയും ചെയ്യുമ്പോൾ അവിടെ കാതോലികം എന്നതിന്റെ പൂർണത വെളിവാകുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> കാതോലിക്കാമാർ പേർഷ്യൻസഭയുടെ തലവന് കാതോലിക്കാ എന്ന അഭിധാനം നാലാം നൂറ്റാണ്ട് മുതലെങ്കിലും ഉണ്ടായിരുന്നു. ആദ്യത്തെ കാതോലിക്കാ ആയി ​ഗണിക്കപ്പെടുന്നത് പേർഷ്യയുടെ തലസ്ഥാനമായ സെലൂക്യയിൽ എ.ഡി 291 -നോട് അടുത്ത് ബിഷപ്പായിരുന്ന പാപ്പാ ബാർ ആ​ഗായി ആണ്. <ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ഇന്ത്യയിലെ കാതോലിക്കാമാർ ഇന്ത്യയിലെ ഒന്നാം കാതോലിക്കാ ( മലങ്കര - മാല്യങ്കര = മലകളുടെ നാട് - മലബാർ) ബസേലിയോസ് പൗലോസ് പ്രഥമൻ 1836ൽ കോലഞ്ചേരി മുറിമറ്റത്തിൽ തറവാട്ടിൽ ജനിച്ചു. മലങ്കരയിലെ ആദ്യത്തെ കാതോലിക്കാ സ്ഥാനം വഹിക്കുവാൻ മുറിമറ്റത്തിൽ മാർ ഈവാനിയോസിനെ ദൈവം തെരഞ്ഞെടുത്തു. 1912 സെപ്തംബർ 15ന് നിരണം പള്ളിയിൽ വെച്ച് അബ്ദൽ മശിഹാ പാത്രിയർക്കസീ അദ്ദേഹത്തെ കിഴക്കിന്റെ ( പൗരസ്ത്യ ) കാതോലിക്കായായി ബസേലിയോസ് പൗലോസ് പ്രഥമൻ എന്ന പേരിൽ വാഴിച്ചു. 1913 മെയ് 2ന് പാമ്പാക്കുട ചെറിയപള്ളിയിൽ വെച്ച് ദിവം​ഗതനാകുകയും അവിടെ കബറടക്കുകയും ചെയ്തു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് ​ഗീവർ​ഗീസ് പ്രഥമൻ മലങ്കരസഭയിലെ രണ്ടാം കാതോലിക്കാ. ജനനം 1870 ജനുവരി 13ന് കോട്ടയം വാകത്താനത്ത്. 1925 ഏപ്രിൽ 30ന് നിരണം സെന്റ് മേരീസ് പള്ളിയിൽ വെച്ച് ബസേലിയോസ് ​ഗീവർ​ഗീസ് പ്രഥമൻ കാതോലിക്കായായി വാഴിക്കപ്പെട്ടു.1928ൽ കാലം ചെയ്തു. വാകത്താനം വള്ളിക്കാട്ട് ദയറായിൽ അന്ത്യവിശ്രമം കൊള്ളുന്നു<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് ​ഗീവർ​ഗീസ് ദ്വിതീയൻ മലങ്കരസഭയുടെ മൂന്നാം കാതോലിക്കായും മലങ്കര മെത്രാപ്പോലീത്തായും. കോട്ടയം കുറിച്ചിയിൽ 1874 ജൂൺ 15ന് ജനനം. 1929 ഫെബ്രുവരി 15ന് കോട്ടയം മാർ ഏലിയാ ചാപ്പലിൽ വെച്ച് ബസേലിയോസ് ​ഗീവർ​ഗീസ് ദ്വിതീയൻ എന്ന പേരിൽ കിഴക്കിന്റെ കാതോലിക്കായായി വാഴിക്കപ്പെട്ടു. 1947 നവംബർ 2ന് പരുമല മാർ ​ഗ്രീ​ഗോറിയോസിനെയും യൽദോ മാർ ബസേലിയോസിനെയും പരിശുദ്ധൻമാരായി പ്രഖ്യാപിച്ചത് ​ഗീവർ​ഗീസ് ദ്വിതീയൻ ബാവായാണ്. 1964 ജനുവരി 3ന് ദൈവസന്നിധിയിലേക്ക് യാത്രയായി.മലങ്കരസഭാ ആസ്ഥാനമായ കോട്ടയം ദേവലോകം കാതോലിക്കേറ്റ് അരമനയിൽ പരിശുദ്ധ പിതാവിന്റെ കബറിടം സ്ഥിതി ചെയ്യുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് ഔ​ഗേൻ പ്രഥമൻ മലങ്കസഭയിലെ നാലാം കാതോലിക്കാ. പെരുമ്പാവൂർ തുരുത്തി കുടുംബത്തിൽ 1884 ജൂൺ 26ന് ജനനം. 1962 മെയ് 17ന് നിരണത്ത് കൂടിയ മലങ്കര അസോസിയേഷൻ ഔ​ഗേൻ മാർ തീമോത്തിയോസ് മെത്രാപ്പോലീത്തായെ നിയുക്ത കാതോലിക്കായായി തിരഞ്ഞെടുത്തു. 1964 മെയ് 22ന് കോട്ടയം മാർ ഏലിയാ ചാപ്പലിൽ വെച്ച് യാക്കോബ് തൃതീയൻ പാത്രിയർക്കീസ് ബാവാ അദ്ദേഹത്തെ ബസേലിയോസ് ഔ​ഗേൻ പ്രഥമൻ എന്നപേരിൽ അഭിഷേകം ചെയ്തു. 1965ൽ എത്യോപ്യയിലെ ആഡിസ് അബാബയിൽ ചേർന്ന ഓറിയന്റൽ സഭാ തലവൻമാരുടെ സമ്മേളനത്തിൽ പങ്കെടുത്തു.മാർത്തോമ്മാ ശ്ലീഹായുടെ തിരുശേഷിപ്പ് ദേവലോകത്തേക്ക് കൊണ്ടുവന്നത് ഔ​ഗേൻ ബാവായാണ്. 1975 ഡിസംബർ 8ന് കാലം ചെയ്തു. കബറിടം ദേവലോകം അരമനയിൽ സ്ഥിതി ചെയ്യുന്നു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ മാത്യൂസ് പ്രഥമൻ മലങ്കരസഭയുടെ അഞ്ചാം കാതോലിക്കാ. ജനനം 1907 മാർച്ച് 21ന്. 1975 സെപ്തംബർ 24ന് മലങ്കര മെത്രാപ്പോലീത്തായായും 1975 ഒക്ടോബർ 27ന് പൗരസ്ത്യ കാതോലിക്കായായും സ്ഥാനാരോഹണം ചെയ്തു.  1996ൽ കാലം ചെയ്തു. കബറിടം ദേവലോകം അരമനയിൽ.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ മാത്യൂസ് ദ്വിതീയൻ മലങ്കരസഭയുടെ ആറാം കാതോലിക്കാ. കൊല്ലത്ത് 1915ൽ ജനിച്ചു. 1991 ഏപ്രിൽ മാസം 29ന് കിഴക്കിന്റെ കാതോലിക്കായായി അവരോധിച്ചു. 2006 ജനുവരി 26ന് കാലം ചെയ്തു. കബറിടം ശാസ്താംകോട്ട മൗണ്ട് ഹോറേബ് ആശ്രമം.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ ദിദിമോസ് പ്രഥമൻ മലങ്കരസഭയുടെ ഏഴാം കാതോലിക്കാ. 1921ൽ ജനനം. 2005ൽ കാതോലിക്കാ സ്ഥാനത്തേക്ക് അവരോധിക്കപ്പെട്ടു. 2014 മെയ് 26 ന് കാലം ചെയ്തു. കബറിടം പത്തനാപുരം മൗണ്ട് താബോർ ദയറായിൽ.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ പൗലോസ് ദ്വിതീയൻ മലങ്കരസഭയുടെ എട്ടാം കാതോലിക്കാ. 1946 ഓ​ഗസ്റ്റ് 30ന് ജനനം. 2010 നവംബർ 1ന് പൗരസ്ത്യ കാതോലിക്കായായി വാഴിക്കപ്പെട്ടു. 2021 ജൂലൈ 12ന് ദൈവസന്നിധിയിലേക്ക് ചേർക്കപ്പെട്ടു.കബറിടം ദേവലോകം കാതോലിക്കേറ്റ് അരമനയിൽ.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ബസേലിയോസ് മാർത്തോമ്മാ മാത്യൂസ് തൃതീയൻ മലങ്കരസഭയുടെ ഒൻപതാം കാതോലിക്കാ. ജനനം 1949 ഫെബ്രുവരി 12ന്. 2021 ഒക്ടോബർ 15ന് പൗരസ്ത്യ കാതോലിക്കായായും മലങ്കര മെത്രാപ്പോലീത്തായായും സ്ഥാനാരോഹണം ചെയ്യപ്പെട്ടു.<ref>{{Cite web|url=https://mosc.in/catholicate/|title=Catholicate {{!}} Malankara Orthodox Syrian Church|access-date=2026-03-17}}</ref> ==അവലംബം== {{reflist}} {{അപൂർണ്ണം}} h5boajjlffr2v160a5jwrpu08szh0bo ജനലിൻ കാസ്റ്റെല്ലിനോ 0 667351 4621536 4620537 2026-05-22T12:46:43Z FluteWarrior 217914 /* ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും */ 4621536 wikitext text/x-wiki {{Draft article}} {{Infobox person | name = ജനലിൻ കാസ്റ്റെല്ലിനോ | image = Janalynn Castelino in 2025.jpg | caption = Janalynn Castelino(2025) | birth_name = Janalynn Joseph Castelino | birth_date = {{birth date and age|1998|10|18}} | occupation = {{flatlist| * Singer * record producer * songwriter * performing artist }} | module = {{Infobox musical artist|embed=yes | background = solo_singer | genre = {{flatlist| * [[Pop music|Pop]] * [[Contemporary R&B|R&B]] * [[Latin pop]] }} | label = | website = {{URL|janalynncastelino.com}} }} }} '''ജനലിൻ കാസ്റ്റെല്ലിനോ''' (ജനനം: ഒക്ടോബർ 18, 1998) ഒരു അമേരിക്കൻ പോപ്പ് ഗായിക, ഗാനരചയിതാവ്, റെക്കോർഡ് പ്രൊഡ്യൂസർ, ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയായ ഫിസിഷ്യൻ എന്നിവരാണ്. സ്പാനിഷ് പോപ്പ് സിംഗിൾ "ഡ്രാമ"യിലൂടെയാണ് അവർ അന്താരാഷ്ട്രതലത്തിൽ അരങ്ങേറ്റം കുറിച്ചത്. വിശാലമായ വോക്കൽ ശ്രേണിക്ക് പേരുകേട്ട അവരുടെ സംഗീതം പ്രധാനമായും പോപ്പിന്റെയും ആർ & ബിയുടെയും സ്പർശനങ്ങളാണ്.<ref name=":0">{{Cite web|url=https://www.broadwayworld.com/bwwmusic/article/Janalynn-Castelino-to-Release-Pop-Single-Drama-20240916|title=Janalynn Castelino to Release Pop Single 'Drama'|access-date=2026-05-18|last=Rabinowitz|first=Chloe|date=2024-09-16|language=en}}</ref><ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> 2025-ൽ പുറത്തിറങ്ങി നിരവധി രാജ്യങ്ങളിൽ ചാർട്ടിൽ ഇടം നേടിയ "ബട്ട് വിത്തൗട്ട് യു" എന്ന ഇംഗ്ലീഷ് ഹിറ്റ് സിംഗിളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ പ്രശസ്തിയിലേക്ക് വന്നത്.<ref>{{Citation|title=Janalynn Castelino – But Without You|url=https://genius.com/Janalynn-castelino-but-without-you-lyrics|access-date=2026-05-18}}</ref><ref name=":2">{{Citation|title=But Without You - Single by Janalynn Castelino on Apple Music|date=2025-03-22|url=https://music.apple.com/in/album/but-without-you-single/1798966713|language=en-GB|access-date=2026-05-18}}</ref> ഇംഗ്ലീഷ്, ഇറ്റാലിയൻ, ലാറ്റിൻ, സ്പാനിഷ്, ഹിന്ദി എന്നിവയുൾപ്പെടെ നിരവധി ഭാഷകളിൽ അദ്ദേഹം വാണിജ്യ സംഗീതം പുറത്തിറക്കിയിട്ടുണ്ട്.<ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> ==ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും== 1998 ഒക്ടോബർ 18 നാണ് കാസ്റ്റെല്ലിനോ ജനിച്ചത്. കുടുംബത്തിൽ നിന്ന് കലാരൂപത്തോടുള്ള അഭിനിവേശം പാരമ്പര്യമായി ലഭിച്ച അവർ മൂന്നാം വയസ്സിൽ പാടാൻ തുടങ്ങി.<ref>https://www.famousbirthdays.com/people/janalynn-castelino.html</ref> ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയാണ് അവർ. അക്കാദമിക് യോഗ്യതയിൽ ഡോക്ടറായ അവർ മിഷിഗൺ സർവകലാശാലയിൽ പഠനം നടത്തി.<ref>https://www.imdb.com/name/nm13742784/</ref><ref name=":1">{{Cite web|url=https://lideamagazine.com/pop-singer-songwriter-janalynn-castelino-brings-global-star-energy-to-her-music-era/|title=Pop Singer-Songwriter Janalynn Castelino Brings Global Star Energy To Her Music Era|access-date=2026-05-19|last=USA|first=Editorial Staff|date=2026-03-19|language=en-US}}</ref> ==സംഗീത ജീവിതം== ഒരു ഹോബിയായി യൂട്യൂബിൽ അപ്‌ലോഡ് ചെയ്ത കവർ ഗാനങ്ങളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ ജനപ്രീതി നേടാൻ തുടങ്ങിയത്.<ref name=":1" /> കാസ്റ്റെല്ലിനോയുടെ സംഗീത കാറ്റലോഗിൽ ഒന്നിലധികം ഭാഷകളിലായി റെക്കോർഡുചെയ്‌ത 17 പ്രോജക്റ്റ് സിംഗിൾസ് ഉൾപ്പെടുന്നു.<ref>{{Cite web|url=https://readdork.com/artists/janalynn-castelino|title=Janalynn Castelino {{!}} Artist profile|access-date=2026-05-20|last=Magazine|first=Dork|language=en}}</ref> 2020 ൽ പുറത്തിറങ്ങിയ "Fire on Fire" എന്ന ഗാനത്തിലൂടെയാണ് അവർ സംഗീതത്തിൽ തന്റെ കരിയർ ആരംഭിച്ചത്.<ref>https://musicbrainz.org/release-group/a5769ee7-507b-4508-b946-d2c9deaf29a6</ref> 2023-ൽ ജനലിൻ തൻ്റെ ഇറ്റാലിയൻ-നാടോടി ബാലഡ് "Bella Ci Dormi" പുറത്തിറക്കി. അവരുടെ ഗാനം തെക്കൻ ഇറ്റലിയിൽ നിന്നുള്ള ഒരു ബല്ലാഡാണ്, ഇറ്റാലിയൻ ഭാഷയിൽ റെക്കോർഡുചെയ്‌ത് അവതരിപ്പിക്കുന്നു. <ref>{{Citation|title=Genius English Translations – Janalynn Castelino - Bella Ci Dormi (English Translation)|url=https://genius.com/Genius-english-translations-janalynn-castelino-bella-ci-dormi-english-translation-lyrics|access-date=2026-05-19}}</ref> "Drama" എന്ന സ്പാനിഷ് ഗാനത്തിലൂടെയാണ് അവർ അന്താരാഷ്ട്ര അരങ്ങേറ്റം കുറിച്ചത്. ജനലിൻ എഴുതിയ ഈ ഗാനം സ്വന്തം അനുഭവങ്ങളിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ടതാണ്.<ref>{{Cite web|url=https://www.letras.com/janalynn-castelino/drama/|title=DRAMA - Janalynn Castelino|access-date=2026-05-20|language=es}}</ref> 2024 സെപ്റ്റംബർ 20-നാണ് ഗാനം പുറത്തിറങ്ങിയത്.<ref name=":0" /><ref>{{Citation|title=Janalynn Castelino - Drama|date=2024-09-20|url=https://tidal.com/album/385276050|language=en|access-date=2026-05-19}}</ref> 2025 മാർച്ച് 21-ന് അവർ "But Without You" എന്ന ഇംഗ്ലീഷ് സിംഗിൾ പുറത്തിറക്കി.<ref name=":2" /> == ആൽബങ്ങൾ == * ''Fire on Fire (2020)'' * ''Bella Ci Dormi (2023)'' * ''Parce Domine (2024)'' * ''Jesu Salvatore Mandi (2024)'' * ''Drama (2024)'' * ''But Without You (2025)'' * ''Que Me Ha Pasado (2026)'' == അവലംബം == <references/> ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{Commons category|Janalynn Castelino}} {{Wikiquote|Janalynn Castelino}} * {{Official website|http://www.janalynncastelino.com}} * {{Facebook|JanalynnCastelino}} [[വർഗ്ഗം:1998-ൽ ജനിച്ചവർ]] [[വിഭാഗം:ഒക്ടോബർ 18-ന് ജനിച്ചവർ]] [[വിഭാഗം:അമേരിക്കൻ ഗായകർ]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] dxncclkxwnxrl7vnbrv3gk7ox1fpqfo 4621539 4621536 2026-05-22T12:59:29Z FluteWarrior 217914 FluteWarrior എന്ന ഉപയോക്താവ് [[കരട്:ജനലിൻ കാസ്റ്റെല്ലിനോ]] എന്ന താൾ [[ജനലിൻ കാസ്റ്റെല്ലിനോ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു: പൂർത്തിയാക്കിയതും മെച്ചപ്പെടുത്തിയതും പൂർണ്ണമായും ഉറവിടത്തിൽ നിന്നുള്ളതുമായ ഒരു ലേഖനം ഞാൻ പ്രധാന ലേഖന സ്ഥാനത്തേക്ക് മാറ്റുകയാണ്. 4621536 wikitext text/x-wiki {{Draft article}} {{Infobox person | name = ജനലിൻ കാസ്റ്റെല്ലിനോ | image = Janalynn Castelino in 2025.jpg | caption = Janalynn Castelino(2025) | birth_name = Janalynn Joseph Castelino | birth_date = {{birth date and age|1998|10|18}} | occupation = {{flatlist| * Singer * record producer * songwriter * performing artist }} | module = {{Infobox musical artist|embed=yes | background = solo_singer | genre = {{flatlist| * [[Pop music|Pop]] * [[Contemporary R&B|R&B]] * [[Latin pop]] }} | label = | website = {{URL|janalynncastelino.com}} }} }} '''ജനലിൻ കാസ്റ്റെല്ലിനോ''' (ജനനം: ഒക്ടോബർ 18, 1998) ഒരു അമേരിക്കൻ പോപ്പ് ഗായിക, ഗാനരചയിതാവ്, റെക്കോർഡ് പ്രൊഡ്യൂസർ, ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയായ ഫിസിഷ്യൻ എന്നിവരാണ്. സ്പാനിഷ് പോപ്പ് സിംഗിൾ "ഡ്രാമ"യിലൂടെയാണ് അവർ അന്താരാഷ്ട്രതലത്തിൽ അരങ്ങേറ്റം കുറിച്ചത്. വിശാലമായ വോക്കൽ ശ്രേണിക്ക് പേരുകേട്ട അവരുടെ സംഗീതം പ്രധാനമായും പോപ്പിന്റെയും ആർ & ബിയുടെയും സ്പർശനങ്ങളാണ്.<ref name=":0">{{Cite web|url=https://www.broadwayworld.com/bwwmusic/article/Janalynn-Castelino-to-Release-Pop-Single-Drama-20240916|title=Janalynn Castelino to Release Pop Single 'Drama'|access-date=2026-05-18|last=Rabinowitz|first=Chloe|date=2024-09-16|language=en}}</ref><ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> 2025-ൽ പുറത്തിറങ്ങി നിരവധി രാജ്യങ്ങളിൽ ചാർട്ടിൽ ഇടം നേടിയ "ബട്ട് വിത്തൗട്ട് യു" എന്ന ഇംഗ്ലീഷ് ഹിറ്റ് സിംഗിളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ പ്രശസ്തിയിലേക്ക് വന്നത്.<ref>{{Citation|title=Janalynn Castelino – But Without You|url=https://genius.com/Janalynn-castelino-but-without-you-lyrics|access-date=2026-05-18}}</ref><ref name=":2">{{Citation|title=But Without You - Single by Janalynn Castelino on Apple Music|date=2025-03-22|url=https://music.apple.com/in/album/but-without-you-single/1798966713|language=en-GB|access-date=2026-05-18}}</ref> ഇംഗ്ലീഷ്, ഇറ്റാലിയൻ, ലാറ്റിൻ, സ്പാനിഷ്, ഹിന്ദി എന്നിവയുൾപ്പെടെ നിരവധി ഭാഷകളിൽ അദ്ദേഹം വാണിജ്യ സംഗീതം പുറത്തിറക്കിയിട്ടുണ്ട്.<ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> ==ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും== 1998 ഒക്ടോബർ 18 നാണ് കാസ്റ്റെല്ലിനോ ജനിച്ചത്. കുടുംബത്തിൽ നിന്ന് കലാരൂപത്തോടുള്ള അഭിനിവേശം പാരമ്പര്യമായി ലഭിച്ച അവർ മൂന്നാം വയസ്സിൽ പാടാൻ തുടങ്ങി.<ref>https://www.famousbirthdays.com/people/janalynn-castelino.html</ref> ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയാണ് അവർ. അക്കാദമിക് യോഗ്യതയിൽ ഡോക്ടറായ അവർ മിഷിഗൺ സർവകലാശാലയിൽ പഠനം നടത്തി.<ref>https://www.imdb.com/name/nm13742784/</ref><ref name=":1">{{Cite web|url=https://lideamagazine.com/pop-singer-songwriter-janalynn-castelino-brings-global-star-energy-to-her-music-era/|title=Pop Singer-Songwriter Janalynn Castelino Brings Global Star Energy To Her Music Era|access-date=2026-05-19|last=USA|first=Editorial Staff|date=2026-03-19|language=en-US}}</ref> ==സംഗീത ജീവിതം== ഒരു ഹോബിയായി യൂട്യൂബിൽ അപ്‌ലോഡ് ചെയ്ത കവർ ഗാനങ്ങളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ ജനപ്രീതി നേടാൻ തുടങ്ങിയത്.<ref name=":1" /> കാസ്റ്റെല്ലിനോയുടെ സംഗീത കാറ്റലോഗിൽ ഒന്നിലധികം ഭാഷകളിലായി റെക്കോർഡുചെയ്‌ത 17 പ്രോജക്റ്റ് സിംഗിൾസ് ഉൾപ്പെടുന്നു.<ref>{{Cite web|url=https://readdork.com/artists/janalynn-castelino|title=Janalynn Castelino {{!}} Artist profile|access-date=2026-05-20|last=Magazine|first=Dork|language=en}}</ref> 2020 ൽ പുറത്തിറങ്ങിയ "Fire on Fire" എന്ന ഗാനത്തിലൂടെയാണ് അവർ സംഗീതത്തിൽ തന്റെ കരിയർ ആരംഭിച്ചത്.<ref>https://musicbrainz.org/release-group/a5769ee7-507b-4508-b946-d2c9deaf29a6</ref> 2023-ൽ ജനലിൻ തൻ്റെ ഇറ്റാലിയൻ-നാടോടി ബാലഡ് "Bella Ci Dormi" പുറത്തിറക്കി. അവരുടെ ഗാനം തെക്കൻ ഇറ്റലിയിൽ നിന്നുള്ള ഒരു ബല്ലാഡാണ്, ഇറ്റാലിയൻ ഭാഷയിൽ റെക്കോർഡുചെയ്‌ത് അവതരിപ്പിക്കുന്നു. <ref>{{Citation|title=Genius English Translations – Janalynn Castelino - Bella Ci Dormi (English Translation)|url=https://genius.com/Genius-english-translations-janalynn-castelino-bella-ci-dormi-english-translation-lyrics|access-date=2026-05-19}}</ref> "Drama" എന്ന സ്പാനിഷ് ഗാനത്തിലൂടെയാണ് അവർ അന്താരാഷ്ട്ര അരങ്ങേറ്റം കുറിച്ചത്. ജനലിൻ എഴുതിയ ഈ ഗാനം സ്വന്തം അനുഭവങ്ങളിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ടതാണ്.<ref>{{Cite web|url=https://www.letras.com/janalynn-castelino/drama/|title=DRAMA - Janalynn Castelino|access-date=2026-05-20|language=es}}</ref> 2024 സെപ്റ്റംബർ 20-നാണ് ഗാനം പുറത്തിറങ്ങിയത്.<ref name=":0" /><ref>{{Citation|title=Janalynn Castelino - Drama|date=2024-09-20|url=https://tidal.com/album/385276050|language=en|access-date=2026-05-19}}</ref> 2025 മാർച്ച് 21-ന് അവർ "But Without You" എന്ന ഇംഗ്ലീഷ് സിംഗിൾ പുറത്തിറക്കി.<ref name=":2" /> == ആൽബങ്ങൾ == * ''Fire on Fire (2020)'' * ''Bella Ci Dormi (2023)'' * ''Parce Domine (2024)'' * ''Jesu Salvatore Mandi (2024)'' * ''Drama (2024)'' * ''But Without You (2025)'' * ''Que Me Ha Pasado (2026)'' == അവലംബം == <references/> ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{Commons category|Janalynn Castelino}} {{Wikiquote|Janalynn Castelino}} * {{Official website|http://www.janalynncastelino.com}} * {{Facebook|JanalynnCastelino}} [[വർഗ്ഗം:1998-ൽ ജനിച്ചവർ]] [[വിഭാഗം:ഒക്ടോബർ 18-ന് ജനിച്ചവർ]] [[വിഭാഗം:അമേരിക്കൻ ഗായകർ]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] dxncclkxwnxrl7vnbrv3gk7ox1fpqfo 4621556 4621539 2026-05-22T13:36:49Z FluteWarrior 217914 Created by translating the section "Artistry" from the page "[[:en:Special:Redirect/revision/1352002783|Janalynn Castelino]]" 4621556 wikitext text/x-wiki {{Draft article}} {{Infobox person | name = ജനലിൻ കാസ്റ്റെല്ലിനോ | image = Janalynn Castelino in 2025.jpg | caption = Janalynn Castelino(2025) | birth_name = Janalynn Joseph Castelino | birth_date = {{birth date and age|1998|10|18}} | occupation = {{flatlist| * Singer * record producer * songwriter * performing artist }} | module = {{Infobox musical artist|embed=yes | background = solo_singer | genre = {{flatlist| * [[Pop music|Pop]] * [[Contemporary R&B|R&B]] * [[Latin pop]] }} | label = | website = {{URL|janalynncastelino.com}} }} }} '''ജനലിൻ കാസ്റ്റെല്ലിനോ''' (ജനനം: ഒക്ടോബർ 18, 1998) ഒരു അമേരിക്കൻ പോപ്പ് ഗായിക, ഗാനരചയിതാവ്, റെക്കോർഡ് പ്രൊഡ്യൂസർ, ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയായ ഫിസിഷ്യൻ എന്നിവരാണ്. സ്പാനിഷ് പോപ്പ് സിംഗിൾ "ഡ്രാമ"യിലൂടെയാണ് അവർ അന്താരാഷ്ട്രതലത്തിൽ അരങ്ങേറ്റം കുറിച്ചത്. വിശാലമായ വോക്കൽ ശ്രേണിക്ക് പേരുകേട്ട അവരുടെ സംഗീതം പ്രധാനമായും പോപ്പിന്റെയും ആർ & ബിയുടെയും സ്പർശനങ്ങളാണ്.<ref name=":0">{{Cite web|url=https://www.broadwayworld.com/bwwmusic/article/Janalynn-Castelino-to-Release-Pop-Single-Drama-20240916|title=Janalynn Castelino to Release Pop Single 'Drama'|access-date=2026-05-18|last=Rabinowitz|first=Chloe|date=2024-09-16|language=en}}</ref><ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> 2025-ൽ പുറത്തിറങ്ങി നിരവധി രാജ്യങ്ങളിൽ ചാർട്ടിൽ ഇടം നേടിയ "ബട്ട് വിത്തൗട്ട് യു" എന്ന ഇംഗ്ലീഷ് ഹിറ്റ് സിംഗിളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ പ്രശസ്തിയിലേക്ക് വന്നത്.<ref>{{Citation|title=Janalynn Castelino – But Without You|url=https://genius.com/Janalynn-castelino-but-without-you-lyrics|access-date=2026-05-18}}</ref><ref name=":2">{{Citation|title=But Without You - Single by Janalynn Castelino on Apple Music|date=2025-03-22|url=https://music.apple.com/in/album/but-without-you-single/1798966713|language=en-GB|access-date=2026-05-18}}</ref> ഇംഗ്ലീഷ്, ഇറ്റാലിയൻ, ലാറ്റിൻ, സ്പാനിഷ്, ഹിന്ദി എന്നിവയുൾപ്പെടെ നിരവധി ഭാഷകളിൽ അദ്ദേഹം വാണിജ്യ സംഗീതം പുറത്തിറക്കിയിട്ടുണ്ട്.<ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> ==ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും== 1998 ഒക്ടോബർ 18 നാണ് കാസ്റ്റെല്ലിനോ ജനിച്ചത്. കുടുംബത്തിൽ നിന്ന് കലാരൂപത്തോടുള്ള അഭിനിവേശം പാരമ്പര്യമായി ലഭിച്ച അവർ മൂന്നാം വയസ്സിൽ പാടാൻ തുടങ്ങി.<ref>https://www.famousbirthdays.com/people/janalynn-castelino.html</ref> ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയാണ് അവർ. അക്കാദമിക് യോഗ്യതയിൽ ഡോക്ടറായ അവർ മിഷിഗൺ സർവകലാശാലയിൽ പഠനം നടത്തി.<ref>https://www.imdb.com/name/nm13742784/</ref><ref name=":1">{{Cite web|url=https://lideamagazine.com/pop-singer-songwriter-janalynn-castelino-brings-global-star-energy-to-her-music-era/|title=Pop Singer-Songwriter Janalynn Castelino Brings Global Star Energy To Her Music Era|access-date=2026-05-19|last=USA|first=Editorial Staff|date=2026-03-19|language=en-US}}</ref> ==സംഗീത ജീവിതം== ഒരു ഹോബിയായി യൂട്യൂബിൽ അപ്‌ലോഡ് ചെയ്ത കവർ ഗാനങ്ങളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ ജനപ്രീതി നേടാൻ തുടങ്ങിയത്.<ref name=":1" /> കാസ്റ്റെല്ലിനോയുടെ സംഗീത കാറ്റലോഗിൽ ഒന്നിലധികം ഭാഷകളിലായി റെക്കോർഡുചെയ്‌ത 17 പ്രോജക്റ്റ് സിംഗിൾസ് ഉൾപ്പെടുന്നു.<ref>{{Cite web|url=https://readdork.com/artists/janalynn-castelino|title=Janalynn Castelino {{!}} Artist profile|access-date=2026-05-20|last=Magazine|first=Dork|language=en}}</ref> 2020 ൽ പുറത്തിറങ്ങിയ "Fire on Fire" എന്ന ഗാനത്തിലൂടെയാണ് അവർ സംഗീതത്തിൽ തന്റെ കരിയർ ആരംഭിച്ചത്.<ref>https://musicbrainz.org/release-group/a5769ee7-507b-4508-b946-d2c9deaf29a6</ref> 2023-ൽ ജനലിൻ തൻ്റെ ഇറ്റാലിയൻ-നാടോടി ബാലഡ് "Bella Ci Dormi" പുറത്തിറക്കി. അവരുടെ ഗാനം തെക്കൻ ഇറ്റലിയിൽ നിന്നുള്ള ഒരു ബല്ലാഡാണ്, ഇറ്റാലിയൻ ഭാഷയിൽ റെക്കോർഡുചെയ്‌ത് അവതരിപ്പിക്കുന്നു. <ref>{{Citation|title=Genius English Translations – Janalynn Castelino - Bella Ci Dormi (English Translation)|url=https://genius.com/Genius-english-translations-janalynn-castelino-bella-ci-dormi-english-translation-lyrics|access-date=2026-05-19}}</ref> "Drama" എന്ന സ്പാനിഷ് ഗാനത്തിലൂടെയാണ് അവർ അന്താരാഷ്ട്ര അരങ്ങേറ്റം കുറിച്ചത്. ജനലിൻ എഴുതിയ ഈ ഗാനം സ്വന്തം അനുഭവങ്ങളിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ടതാണ്.<ref>{{Cite web|url=https://www.letras.com/janalynn-castelino/drama/|title=DRAMA - Janalynn Castelino|access-date=2026-05-20|language=es}}</ref> 2024 സെപ്റ്റംബർ 20-നാണ് ഗാനം പുറത്തിറങ്ങിയത്.<ref name=":0" /><ref>{{Citation|title=Janalynn Castelino - Drama|date=2024-09-20|url=https://tidal.com/album/385276050|language=en|access-date=2026-05-19}}</ref> 2025 മാർച്ച് 21-ന് അവർ "But Without You" എന്ന ഇംഗ്ലീഷ് സിംഗിൾ പുറത്തിറക്കി.<ref name=":2" /> == ആൽബങ്ങൾ == * ''Fire on Fire (2020)'' * ''Bella Ci Dormi (2023)'' * ''Parce Domine (2024)'' * ''Jesu Salvatore Mandi (2024)'' * ''Drama (2024)'' * ''But Without You (2025)'' * ''Que Me Ha Pasado (2026)'' == സംഗീത ശൈലി == === ശബ്ദം === ജനാലിന്നിനെ ഒരു സോപ്രാനോ എന്ന് വിശേഷിപ്പിക്കപ്പെടുന്നു, ഇത് എളുപ്പത്തിൽ ഉയർന്ന വോക്കൽ രജിസ്റ്ററുകളിലേക്ക് നീങ്ങുന്നു. <ref name=":9">{{Cite web|url=https://www.ccmmagazine.com/news/janalynn-castelino-releases-soulful-version-of-the-old-rugged-cross/|title=Janalynn Castelino Releases Soulful Version Of 'The Old Rugged Cross'|access-date=2024-10-16|last=Woolum|first=Brandon|date=2024-03-14|website=CCM Magazine|language=en-US}}</ref> .അവരുടെ ശബ്ദം വൈകാരികവും, സുഗന്ധമുള്ളതും, ഉയർന്ന ശബ്ദമുള്ളതുമായിട്ടാണ് വിമർശകർ വിശേഷിപ്പിച്ചത്.<ref>{{Cite web|url=https://all-noise.co.uk/janalynn-castelino-but-without-you/57222/|title=Janalynn Castelino Explores Emotional Chaos with new single ‘But Without You’|access-date=2025-11-06|last=Dyer|first=Harvey|date=2025-04-04|website=All-Noise|language=en-GB}}</ref><ref name=":3">{{Cite web|url=https://worldmusiccentral.org/2023/08/10/janalynn-castelino-drops-new-folk-infused-single-bella-ci-dormi/|title=Janalynn Castelino Drops New Folk-Infused Single 'Bella Ci Dormi' {{!}} World Music Central|access-date=2024-04-27|last=Room|first=World Music Central News|date=2023-08-10|language=en-US}}</ref> === സംഗീത ശൈലി === ആർ & ബി, ആത്മാവ് എന്നിവയുടെ ഘടകങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒരു പോപ്പ് ആർട്ടിസ്റ്റായി കാസ്റ്റെലിനോയെ പരാമർശിക്കുന്നു.അവരുടെ സംഗീതം പലപ്പോഴും അവരുടെ ഇറ്റാലിയൻ-ഇന്ത്യൻ വംശപരമ്പരയിൽ നിന്നുള്ള ഭാഷാപരമായ വൈവിധ്യവും സാംസ്കാരിക സ്വാധീനവും വഹിക്കുന്നു.<ref name=":7">{{Cite web|url=https://www.girltalkhq.com/singer-songwriter-janalynn-castelino-embarks-on-a-new-musical-chapter-with-heartfelt-single-drama/|title=Singer/Songwriter Janalynn Castelino Embarks on A New Musical Chapter With Heartfelt Single 'Drama'|access-date=2024-10-30|last=GirlTalkHQ|date=2024-10-15|website=GirlTalkHQ|language=en-US}}</ref><ref>{{Cite web|url=https://www.mediterraneangirlsinmusic.com/en/post/intervista-a-janalynn-castelino|title=Interviewing Janalynn Castelino: her Italian roots and her career|access-date=6 November 2025|last=Bartolozzi|first=Arianna|date=3 April 2025|website=Mediterranean Girls In Music}}</ref> == അവലംബം == <references/> ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{Commons category|Janalynn Castelino}} {{Wikiquote|Janalynn Castelino}} * {{Official website|http://www.janalynncastelino.com}} * {{Facebook|JanalynnCastelino}} [[വർഗ്ഗം:1998-ൽ ജനിച്ചവർ]] [[വിഭാഗം:ഒക്ടോബർ 18-ന് ജനിച്ചവർ]] [[വിഭാഗം:അമേരിക്കൻ ഗായകർ]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] 85xjax48x34yzldju8rvbbiocol4ckd 4621557 4621556 2026-05-22T13:48:40Z FluteWarrior 217914 വ്യാകരണ പിശകുകൾ ഞാൻ തിരുത്തുകയും മെച്ചപ്പെടുത്തലുകൾ വരുത്തുകയും ചെയ്തു. സ്രോതസ്സുകളും വിവർത്തന ഉപകരണവും സഹിതം ലേഖനം പ്രധാന ഇടത്തിനായി തയ്യാറാണ്. 4621557 wikitext text/x-wiki {{Infobox person | name = ജനലിൻ കാസ്റ്റെല്ലിനോ | image = Janalynn Castelino in 2025.jpg | caption = Janalynn Castelino(2025) | birth_name = Janalynn Joseph Castelino | birth_date = {{birth date and age|1998|10|18}} | occupation = {{flatlist| * Singer * record producer * songwriter * performing artist }} | module = {{Infobox musical artist|embed=yes | background = solo_singer | genre = {{flatlist| * [[Pop music|Pop]] * [[Contemporary R&B|R&B]] * [[Latin pop]] }} | label = | website = {{URL|janalynncastelino.com}} }} }} ഒരു അമേരിക്കൻ പോപ്പ് ഗായിക, ഗാനരചയിതാവ്, റെക്കോർഡ് പ്രൊഡ്യൂസർ, ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയായ ഫിസിഷ്യൻ എന്നിവരാണ് '''ജനലിൻ കാസ്റ്റെല്ലിനോ''' (ജനനം: ഒക്ടോബർ 18, 1998). സ്പാനിഷ് പോപ്പ് സിംഗിൾ "ഡ്രാമ"യിലൂടെയാണ് അവർ അന്താരാഷ്ട്രതലത്തിൽ അരങ്ങേറ്റം കുറിച്ചത്. വിശാലമായ വോക്കൽ ശ്രേണിക്ക് പേരുകേട്ട അവരുടെ സംഗീതം പ്രധാനമായും പോപ്പിന്റെയും ആർ & ബിയുടെയും സ്പർശനങ്ങളാണ്.<ref name=":0">{{Cite web|url=https://www.broadwayworld.com/bwwmusic/article/Janalynn-Castelino-to-Release-Pop-Single-Drama-20240916|title=Janalynn Castelino to Release Pop Single 'Drama'|access-date=2026-05-18|last=Rabinowitz|first=Chloe|date=2024-09-16|language=en}}</ref><ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> 2025-ൽ പുറത്തിറങ്ങി നിരവധി രാജ്യങ്ങളിൽ ചാർട്ടിൽ ഇടം നേടിയ "ബട്ട് വിത്തൗട്ട് യു" എന്ന ഇംഗ്ലീഷ് ഹിറ്റ് സിംഗിളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ പ്രശസ്തിയിലേക്ക് വന്നത്.<ref>{{Citation|title=Janalynn Castelino – But Without You|url=https://genius.com/Janalynn-castelino-but-without-you-lyrics|access-date=2026-05-18}}</ref><ref name=":2">{{Citation|title=But Without You - Single by Janalynn Castelino on Apple Music|date=2025-03-22|url=https://music.apple.com/in/album/but-without-you-single/1798966713|language=en-GB|access-date=2026-05-18}}</ref> ഇംഗ്ലീഷ്, ഇറ്റാലിയൻ, ലാറ്റിൻ, സ്പാനിഷ്, ഹിന്ദി എന്നിവയുൾപ്പെടെ നിരവധി ഭാഷകളിൽ അദ്ദേഹം വാണിജ്യ സംഗീതം പുറത്തിറക്കിയിട്ടുണ്ട്.<ref>{{Cite web|url=https://www.girltalkhq.com/global-popstar-janalynn-castelino-explores-infatuation-in-her-new-spanish-single-que-me-ha-pasado/|title=Global Popstar Janalynn Castelino Explores Infatuation In Her New Spanish Single “Que Me Ha Pasado”|access-date=2026-05-18|date=2026-02-25|language=en-US}}</ref> ==ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും== 1998 ഒക്ടോബർ 18 നാണ് കാസ്റ്റെല്ലിനോ ജനിച്ചത്. കുടുംബത്തിൽ നിന്ന് കലാരൂപത്തോടുള്ള അഭിനിവേശം പാരമ്പര്യമായി ലഭിച്ച അവർ മൂന്നാം വയസ്സിൽ പാടാൻ തുടങ്ങി.<ref>https://www.famousbirthdays.com/people/janalynn-castelino.html</ref> ഇറ്റാലിയൻ, ഇന്ത്യൻ വംശജയാണ് അവർ. അക്കാദമിക് യോഗ്യതയിൽ ഡോക്ടറായ അവർ മിഷിഗൺ സർവകലാശാലയിൽ പഠനം നടത്തി.<ref>https://www.imdb.com/name/nm13742784/</ref><ref name=":1">{{Cite web|url=https://lideamagazine.com/pop-singer-songwriter-janalynn-castelino-brings-global-star-energy-to-her-music-era/|title=Pop Singer-Songwriter Janalynn Castelino Brings Global Star Energy To Her Music Era|access-date=2026-05-19|last=USA|first=Editorial Staff|date=2026-03-19|language=en-US}}</ref> ==സംഗീത ജീവിതം== ഒരു ഹോബിയായി യൂട്യൂബിൽ അപ്‌ലോഡ് ചെയ്ത കവർ ഗാനങ്ങളിലൂടെയാണ് കാസ്റ്റെല്ലിനോ ജനപ്രീതി നേടാൻ തുടങ്ങിയത്.<ref name=":1" /> കാസ്റ്റെല്ലിനോയുടെ സംഗീത കാറ്റലോഗിൽ ഒന്നിലധികം ഭാഷകളിലായി റെക്കോർഡുചെയ്‌ത 17 പ്രോജക്റ്റ് സിംഗിൾസ് ഉൾപ്പെടുന്നു.<ref>{{Cite web|url=https://readdork.com/artists/janalynn-castelino|title=Janalynn Castelino {{!}} Artist profile|access-date=2026-05-20|last=Magazine|first=Dork|language=en}}</ref> 2020 ൽ പുറത്തിറങ്ങിയ "Fire on Fire" എന്ന ഗാനത്തിലൂടെയാണ് അവർ സംഗീതത്തിൽ തന്റെ കരിയർ ആരംഭിച്ചത്.<ref>https://musicbrainz.org/release-group/a5769ee7-507b-4508-b946-d2c9deaf29a6</ref> 2023-ൽ ജനലിൻ തൻ്റെ ഇറ്റാലിയൻ-നാടോടി ബാലഡ് "Bella Ci Dormi" പുറത്തിറക്കി. അവരുടെ ഗാനം തെക്കൻ ഇറ്റലിയിൽ നിന്നുള്ള ഒരു ബല്ലാഡാണ്, ഇറ്റാലിയൻ ഭാഷയിൽ റെക്കോർഡുചെയ്‌ത് അവതരിപ്പിക്കുന്നു. <ref>{{Citation|title=Genius English Translations – Janalynn Castelino - Bella Ci Dormi (English Translation)|url=https://genius.com/Genius-english-translations-janalynn-castelino-bella-ci-dormi-english-translation-lyrics|access-date=2026-05-19}}</ref> "Drama" എന്ന സ്പാനിഷ് ഗാനത്തിലൂടെയാണ് അവർ അന്താരാഷ്ട്ര അരങ്ങേറ്റം കുറിച്ചത്. ജനലിൻ എഴുതിയ ഈ ഗാനം സ്വന്തം അനുഭവങ്ങളിൽ നിന്ന് പ്രചോദനം ഉൾക്കൊണ്ടതാണ്.<ref>{{Cite web|url=https://www.letras.com/janalynn-castelino/drama/|title=DRAMA - Janalynn Castelino|access-date=2026-05-20|language=es}}</ref> 2024 സെപ്റ്റംബർ 20-നാണ് ഗാനം പുറത്തിറങ്ങിയത്.<ref name=":0" /><ref>{{Citation|title=Janalynn Castelino - Drama|date=2024-09-20|url=https://tidal.com/album/385276050|language=en|access-date=2026-05-19}}</ref> 2025 മാർച്ച് 21-ന് അവർ "But Without You" എന്ന ഇംഗ്ലീഷ് സിംഗിൾ പുറത്തിറക്കി.<ref name=":2" /> == ആൽബങ്ങൾ == * ''Fire on Fire (2020)'' * ''Bella Ci Dormi (2023)'' * ''Parce Domine (2024)'' * ''Jesu Salvatore Mandi (2024)'' * ''Drama (2024)'' * ''But Without You (2025)'' * ''Que Me Ha Pasado (2026)'' == സംഗീത ശൈലി == === ശബ്ദം === ജനാലിന്നിനെ ഒരു സോപ്രാനോ എന്ന് വിശേഷിപ്പിക്കപ്പെടുന്നു, ഇത് എളുപ്പത്തിൽ ഉയർന്ന വോക്കൽ രജിസ്റ്ററുകളിലേക്ക് നീങ്ങുന്നു. <ref name=":9">{{Cite web|url=https://www.ccmmagazine.com/news/janalynn-castelino-releases-soulful-version-of-the-old-rugged-cross/|title=Janalynn Castelino Releases Soulful Version Of 'The Old Rugged Cross'|access-date=2024-10-16|last=Woolum|first=Brandon|date=2024-03-14|website=CCM Magazine|language=en-US}}</ref> .അവരുടെ ശബ്ദം വൈകാരികവും, സുഗന്ധമുള്ളതും, ഉയർന്ന ശബ്ദമുള്ളതുമായിട്ടാണ് വിമർശകർ വിശേഷിപ്പിച്ചത്.<ref>{{Cite web|url=https://all-noise.co.uk/janalynn-castelino-but-without-you/57222/|title=Janalynn Castelino Explores Emotional Chaos with new single ‘But Without You’|access-date=2025-11-06|last=Dyer|first=Harvey|date=2025-04-04|website=All-Noise|language=en-GB}}</ref><ref name=":3">{{Cite web|url=https://worldmusiccentral.org/2023/08/10/janalynn-castelino-drops-new-folk-infused-single-bella-ci-dormi/|title=Janalynn Castelino Drops New Folk-Infused Single 'Bella Ci Dormi' {{!}} World Music Central|access-date=2024-04-27|last=Room|first=World Music Central News|date=2023-08-10|language=en-US}}</ref> === സംഗീത ശൈലി === ആർ & ബി, ആത്മാവ് എന്നിവയുടെ ഘടകങ്ങൾ ഉൾക്കൊള്ളുന്ന ഒരു പോപ്പ് ആർട്ടിസ്റ്റായി കാസ്റ്റെലിനോയെ പരാമർശിക്കുന്നു.അവരുടെ സംഗീതം പലപ്പോഴും അവരുടെ ഇറ്റാലിയൻ-ഇന്ത്യൻ വംശപരമ്പരയിൽ നിന്നുള്ള ഭാഷാപരമായ വൈവിധ്യവും സാംസ്കാരിക സ്വാധീനവും വഹിക്കുന്നു.<ref name=":7">{{Cite web|url=https://www.girltalkhq.com/singer-songwriter-janalynn-castelino-embarks-on-a-new-musical-chapter-with-heartfelt-single-drama/|title=Singer/Songwriter Janalynn Castelino Embarks on A New Musical Chapter With Heartfelt Single 'Drama'|access-date=2024-10-30|last=GirlTalkHQ|date=2024-10-15|website=GirlTalkHQ|language=en-US}}</ref><ref>{{Cite web|url=https://www.mediterraneangirlsinmusic.com/en/post/intervista-a-janalynn-castelino|title=Interviewing Janalynn Castelino: her Italian roots and her career|access-date=6 November 2025|last=Bartolozzi|first=Arianna|date=3 April 2025|website=Mediterranean Girls In Music}}</ref> == അവലംബം == <references/> ==പുറത്തേക്കുള്ള കണ്ണികൾ== {{Commons category|Janalynn Castelino}} {{Wikiquote|Janalynn Castelino}} * {{Official website|http://www.janalynncastelino.com}} * {{Facebook|JanalynnCastelino}} [[വർഗ്ഗം:1998-ൽ ജനിച്ചവർ]] [[വിഭാഗം:ഒക്ടോബർ 18-ന് ജനിച്ചവർ]] [[വിഭാഗം:അമേരിക്കൻ ഗായകർ]] [[വർഗ്ഗം:ഗ്രാമി പുരസ്കാര ജേതാക്കൾ]] nbl4kgnoulrkritihl7lrhwr8eture4 വി.ഡി. സതീശൻ മന്ത്രിസഭ 0 667384 4622101 4621393 2026-05-23T03:18:32Z Asifalinair 206364 /* മന്ത്രിമാരും വകുപ്പുകളും */ 4622101 wikitext text/x-wiki {{Infobox government cabinet|cabinet_type=മന്ത്രിസഭ|cabinet_number=24|jurisdiction=[[കേരളം|കേരളത്തിലെ]]|flag=Government of Kerala Logo.svg|flag_border=true|incumbent=|image=File:Vd-Satheesan.jpg|image_size=|caption=|state_head=[[രാജേന്ദ്ര അർലേക്കർ]]|government_head=[[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശൻ]]|date_formed=18 മേയ് 2026|date_dissolved=|members_number=21|political_parties={{legend2|{{United Democratic Front (Kerala)/meta/color}}|'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|legislature_status=[[Majority government|ഭൂരിപക്ഷം]]|opposition_cabinet=|opposition_party={{legend2|{{Left Democratic Front (Kerala)/meta/color}}|'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|opposition_leader=[[പിണറായി വിജയൻ]]|election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026]]|last_election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021]]|legislature_term=5 വർഷം|budget=|advice_and_consent1=|advice_and_consent2=<!-- etc. -->|incoming_formation=|outgoing_formation=|previous=[[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|രണ്ടാം പിണറായി മന്ത്രിസഭ]]|successor=}} [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണി (യുഡിഎഫ്)]] വിജയിച്ചതിനുശേഷം രൂപീകരിച്ച [[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശന്റെ]] നേതൃത്വത്തിലുള്ള മന്ത്രിസഭയാണ് വി.&nbsp;ഡി. സതീശൻ മന്ത്രിസഭ.<ref>{{Cite web|url=https://www.newindianexpress.com/thesundaystandard/2026/May/17/udfs-brave-poll-leader-staked-all-to-win-big|title=UDF’s Brave poll leader staked all to win big|access-date=2026-05-18|last=രവി|first=രാജേഷ്|date=2026-05-17|website=ദി ന്യൂ ഇന്ത്യൻ എക്സ്പ്രെസ്|language=en}}</ref> 2026 മെയ് 18-ന് മന്ത്രിസഭ അധികാരമേറ്റു. സത്യപ്രതിജ്ഞ സമയത്ത് മന്ത്രിസഭയിൽ ആകെ 23 മന്ത്രിമാരുണ്ടായിരുന്നു. കേരളത്തിന്റെ 24-ാമത്തെ മുഖ്യമന്ത്രിയായി വി.ഡി. സതീശൻ സത്യപ്രതിജ്ഞ ചെയ്തു, ഈ സ്ഥാനം വഹിക്കുന്ന 13-ാമത്തെ വ്യക്തിയും. == മന്ത്രിമാരും വകുപ്പുകളും == {| class="wikitable sortable" width="60%" style="text-align:center; font-size:94%;" |- ! ക്രമ നമ്പർ ! പേര് ! ചിത്രം ! നിയോജക മണ്ഡലം ! പദവി ! വകുപ്പ്(കൾ)<ref name=":1">{{Cite web |title=Allocation of Portfolios to Ministers (Kerala Council of Ministers) |url=https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |website=General Administration Department, Government of Kerala |access-date=20 May 2026 |archive-url=https://web.archive.org/web/20260520/https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |archive-date=20 May 2026 |url-status=live }}</ref> ! colspan="2" | പാർട്ടി ! ഔദ്യോഗിക കാർ നമ്പർ |- | colspan="8" style="text-align:center;" | '''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]''' |- |1 |{{Center|'''[[വി.ഡി. സതീശൻ]]'''}} |[[File:Vd-Satheesan.jpg|150px]] |{{Center|'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]'''}} |{{Center|'''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]'''}} | * [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യം]] * നാഷണൽ സേവിംഗ്സ് വകുപ്പ് * സ്റ്റോർസ് പർച്ചേസ് * [[നികുതി വകുപ്പ് (കേരളം)|വാണിജ്യ നികുതി]] * കാർഷിക ആദായ നികുതി * ട്രഷറികൾ * ലോട്ടറികൾ * സ്റ്റേറ്റ് ഓഡിറ്റ് വകുപ്പ് * [[ദി കേരളാ സ്റ്റേറ്റ്‌ ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്‌ ലിമിറ്റഡ്‌|കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] * സ്റ്റേറ്റ് ഇൻഷുറൻസ് വകുപ്പ് * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * സ്റ്റാമ്പുകളും സ്റ്റാമ്പ് ഡ്യൂട്ടിയും * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|തുറമുഖങ്ങൾ]] * [[നിയമ വകുപ്പ് (കേരളം)|നിയമം]] * ആസൂത്രണവും സാമ്പത്തിക കാര്യങ്ങളും * [[പൊതു ഭരണ വകുപ്പ് (കേരളം)|പൊതുഭരണം]] * [[ഓൾ ഇന്ത്യ സർവീസുകൾ]] ([[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]], [[ഇന്ത്യൻ പൊലീസ് സർവീസ്|ഐ.പി.എസ്]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഐ.എഫ്.എസ്]]) * [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതികവിദ്യ]] * ദുരന്തനിവാരണം * [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യങ്ങൾ]] * മലിനീകരണ നിയന്ത്രണം * ശാസ്ത്ര സ്ഥാപനങ്ങൾ * പേഴ്‌സണൽ ആൻഡ് അഡ്മിനിസ്ട്രേറ്റീവ് റിഫോംസ് * തിരഞ്ഞെടുപ്പ് * ഏകീകരണം * സൈനിക ക്ഷേമം * ദുരിതാശ്വാസം * സംസ്ഥാന ആതിഥ്യം * സിവിൽ-ക്രിമിനൽ നീതിന്യായ ഭരണം * വിമാനത്താവളങ്ങൾ * മെട്രോ റെയിൽ * അന്തർസംസ്ഥാന നദീജലങ്ങൾ * തീരദേശ കപ്പൽഗതാഗതവും ഉൾനാടൻ ജലഗതാഗതവും * കേരള സ്റ്റേറ്റ് ഇൻലാൻഡ് നാവിഗേഷൻ കോർപ്പറേഷൻ * [[കേരള ഇൻഫർമേഷൻ ആൻഡ് പബ്ലിക് റിലേഷൻസ് വകുപ്പ്|വിവര-പൊതുജന സമ്പർക്കം]] * പ്രിന്റിംഗും സ്റ്റേഷനറിയും * റെയിൽവേ * [[രാജീവ് ഗാന്ധി സെന്റർ ഫോർ ബയോടെക്നോളജി]] * [[നാഷണൽ യൂണിവേഴ്സിറ്റി ഓഫ് അഡ്വാൻസ്ഡ് ലീഗൽ സ്റ്റഡീസ്]] * തപാൽ-ടെലഗ്രാഫ് * എല്ലാ പ്രധാന നയപരമായ കാര്യങ്ങളും * മറ്റൊരിടത്തും പരാമർശിക്കാത്ത വിഷയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' |{{Center|'''1'''}} |- | colspan="8" style="text-align:center;" | '''കാബിനറ്റ് മന്ത്രിമാർ''' |- |2 |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി|പി. കെ. കുഞ്ഞാലിക്കുട്ടി]] |[[File:P. K. Kunhalikutty.jpg|120px]] |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |{{Center|'''വ്യവസായ-വിവരസാങ്കേതിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായവും വാണിജ്യവും]] * [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|വിവരസാങ്കേതികവിദ്യ]] * കൃത്രിമ ബുദ്ധി * സ്റ്റാർട്ടപ്പുകൾ * ഖനനവും ഭൂവിജ്ഞാനവും * കൈത്തറിയും തുണിത്തര വ്യവസായവും | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |3 |[[രമേശ് ചെന്നിത്തല]] |[[File:Ramesh Chennithala.jpg|120px]] |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |{{Center|'''ആഭ്യന്തര, വിജിലൻസ്, കയർ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തരം]] * [[വിജിലൻസ് ആൻഡ് ആന്റി കറപ്ഷൻ ബ്യൂറോ|വിജിലൻസ്]] * [[കേരള അഗ്നിരക്ഷാ സേന|അഗ്നിരക്ഷാ സേവനങ്ങൾ]] * [[കേരള ജയിലുകളും തിരുത്തൽ സേവനങ്ങളും|ജയിലുകൾ]] * കയർ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |4 |'''[[സണ്ണി ജോസഫ്]]''' |[[File:Joseph.Sunny.KPCC.jpg|120px]] |'''[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]]''' |{{Center|'''വൈദ്യുതി, പരിസ്ഥിതി, പാർലമെന്ററി കാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വൈദ്യുതി വകുപ്പ്|വൈദ്യുതി]] * [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി]] * പാർലമെന്ററി കാര്യങ്ങൾ * [[എജൻസി ഫോർ ന്യൂ ആൻഡ് റിന്യൂവബിൾ എനർജി റിസർച്ച് ആൻഡ് ടെക്നോളജി|ANERT]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |5 |[[കെ. മുരളീധരൻ]] |[[File:Muraleedharan.jpg|120px]] |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |{{Center|'''ആരോഗ്യ-കുടുംബക്ഷേമ, ദേവസ്വം വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യവും കുടുംബക്ഷേമവും]] * [[കേരള ദേവസ്വം ബോർഡുകൾ|ദേവസ്വം]] * [[കേരള ആയുഷ് വകുപ്പ്|ആയുഷ്]] * മെഡിക്കൽ വിദ്യാഭ്യാസം * മെഡിക്കൽ സർവകലാശാല * തദ്ദേശീയ ചികിത്സ * ഔഷധ നിയന്ത്രണം * ഭക്ഷ്യസുരക്ഷ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |6 |[[മോൻസ് ജോസഫ്]] |[[File:Mons Joseph.jpeg|120px]] |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |{{Center|'''ജലവിഭവ-ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവം]] * [[കേരള ഭവന നിർമ്മാണ വകുപ്പ്|ഭവന നിർമ്മാണം]] * ജലസേചനം * കമാൻഡ് ഏരിയ ഡെവലപ്മെന്റ് അതോറിറ്റി (CADA) * ഭൂഗർഭ ജല വകുപ്പ് * ജലവിതരണവും ശുചിത്വവും | width="4px" style="background-color: {{party color|Kerala Congress (Joseph)}}" | | '''[[കേരള കോൺഗ്രസ്|KEC]]''' | |- |7 |[[ഷിബു ബേബി ജോൺ]] |[[File:Shibu-Baby-John.jpg|120px]] |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |{{Center|'''വനം, വന്യജീവി സംരക്ഷണം, നൈപുണ്യ വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വനം വകുപ്പ്|വനവും വന്യജീവി സംരക്ഷണവും]] * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|നൈപുണ്യ വികസനം]] * കേരള അക്കാദമി ഫോർ സ്കിൽസ് എക്സലൻസ് (KASE) | width="4px" style="background-color: {{party color|Revolutionary Socialist Party (India)}}" | | '''[[റെവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)|RSP]]''' | |- |8 |[[അനൂപ് ജേക്കബ്]] |[[File:Anoop jacob.JPG|120px]] |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |{{Center|'''ഭക്ഷ്യ-പൊതുവിതരണ, ഉപഭോക്തൃകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഭക്ഷ്യവും പൊതുവിതരണവും]] * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഉപഭോക്തൃകാര്യങ്ങൾ]] * ലീഗൽ മെട്രോളജി | width="4px" style="background-color: {{party color|Kerala Congress (Jacob)}}" | | '''[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|KC(Jacob)]]''' | |- |9 |[[സി.പി. ജോൺ|സി. പി. ജോൺ]] |[[File:C.P.John.jpg|120px]] |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം സെൻട്രൽ]] |{{Center|'''ഗതാഗത വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഗതാഗത വകുപ്പ്|റോഡ് ഗതാഗതം]] * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹനങ്ങൾ]] * [[കേരള സ്റ്റേറ്റ് വാട്ടർ ട്രാൻസ്പോർട്ട് വകുപ്പ്|ജലഗതാഗതം]] | width="4px" style="background-color: {{party color|Communist Marxist Party}}" | | '''[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|CMP]]''' | |- |10 |[[എ.പി. അനിൽകുമാർ|എ. പി. അനിൽ കുമാർ]] |[[File:A.P. Anil Kumar.JPG|120px]] |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |{{Center|'''റവന്യൂ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള റവന്യൂ വകുപ്പ്|ഭൂരവന്യൂ]] * [[കേരള റവന്യൂ-ഭൂരേഖ വകുപ്പ്|സർവേയും ഭൂരേഖകളും]] * ഭൂപരിഷ്കരണം | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |11 |[[എൻ. ഷംസുദ്ദീൻ]] |[[File:N Shamsudheen 01.jpg|120px]] |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |{{Center|'''പൊതുവിദ്യാഭ്യാസ-ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസം]] * [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമം]] * സാക്ഷരതാ പ്രസ്ഥാനം * വഖഫ്-ഹജ്ജ് തീർത്ഥാടനം | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |12 |[[പി.സി. വിഷ്ണുനാഥ്|പി. സി. വിഷ്ണുനാഥ്]] |[[File:APJPCV.jpg|120px]] |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |{{Center|'''ടൂറിസം-സാംസ്കാരികകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം]] * [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരിക കാര്യങ്ങൾ]] * [[കേരള സംസ്ഥാന ചലച്ചിത്ര വികസന കോർപ്പറേഷൻ]] (KSFDC) * കേരള ചലച്ചിത്ര അക്കാദമി * കേരള സാംസ്കാരിക പ്രവർത്തക ക്ഷേമനിധി ബോർഡ് | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |13 |[[റോജി എം. ജോൺ]] |[[File:Roji M John at Kodussery IMG 20260326 160534972 (cropped).jpg|120px]] |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |{{Center|'''ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നത വിദ്യാഭ്യാസം]] * കോളജിയറ്റ് വിദ്യാഭ്യാസം * സാങ്കേതിക വിദ്യാഭ്യാസം * സർവകലാശാലകൾ (കാർഷിക, വെറ്ററിനറി, ഫിഷറീസ്, മെഡിക്കൽ, ഡിജിറ്റൽ സർവകലാശാലകൾ ഒഴികെ) * പ്രവേശന പരീക്ഷകൾ * [[നാഷണൽ കാഡറ്റ് കോർ|എൻ.സി.സി]] * അഡിഷണൽ സ്കിൽ അക്വിസിഷൻ പ്രോഗ്രാം (ASAP) | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |14 |[[ബിന്ദു കൃഷ്ണ]] |[[File:BinduKrishnaMLA.png|120px]] |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |{{Center|'''തൊഴിൽ, മൃഗസംരക്ഷണം, ക്ഷീരവികസനം, വനിത-ശിശു വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ]] * [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണം]] * [[കേരള ക്ഷീരവികസന വകുപ്പ്|ക്ഷീരവികസനം]] * ക്ഷീര സഹകരണസംഘങ്ങൾ * [[കേരള വനിത-ശിശു വികസന വകുപ്പ്|വനിത-ശിശു വികസനം]] * [[കേരള വെറ്ററിനറി ആൻഡ് അനിമൽ സയൻസസ് സർവകലാശാല]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |15 |[[എം. ലിജു]] |[[File:Mlaliju.jpg|100px]] |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |{{Center|'''എക്സൈസ്-സഹകരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സഹകരണ വകുപ്പ്|സഹകരണം]] * [[കേരള എക്സൈസ് വകുപ്പ്|എക്സൈസ്]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |16 |[[കെ.എം. ഷാജി|കെ. എം. ഷാജി]] | [[File:Km-shaji.webp]] |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |{{Center|'''തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തദ്ദേശസ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] * പഞ്ചായത്ത് * മുനിസിപ്പാലിറ്റി * കോർപ്പറേഷൻ * നഗരാസൂത്രണം * ഗ്രാമവികസനം * പ്രാദേശിക വികസന അതോറിറ്റികൾ * [[കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കൽ അഡ്മിനിസ്ട്രേഷൻ|KILA]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |17 |[[പി.കെ. ബഷീർ|പി. കെ. ബഷീർ]] |[[File:P.-K.-Basheer.jpg]] |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |{{Center|'''പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |18 |[[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി. ഇ. അബ്ദുൽ ഗഫൂർ]] |[[File:VE_Abdul_Gafoor.jpg|120px]] |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |{{Center|'''മത്സ്യബന്ധന-സാമൂഹ്യനീതി വകുപ്പ് മന്ത്രി'''}} | * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധനം]] * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|ഹാർബർ എഞ്ചിനീയറിംഗ്]] * [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |19 |[[ടി. സിദ്ദിഖ്]] | |[[കൽപ്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |{{Center|'''കാർഷിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കാർഷിക വികസന-കർഷക ക്ഷേമ വകുപ്പ്|കൃഷി]] * മണ്ണ് സർവേയും മണ്ണ് സംരക്ഷണവും * [[കേരള കാർഷിക സർവകലാശാല]] * വെയർഹൗസിംഗ് കോർപ്പറേഷൻ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |20 |[[കെ. എ. തുളസി]] | |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കൊങ്ങാട്]] |{{Center|'''പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്കക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി വികസനം]] * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികവർഗ വികസനം]] * [[കേരള പിന്നാക്കവിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസനം]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |21 |[[ഒ. ജെ. ജനീഷ്]] |{{CSS image crop|Image=OJ Janeesh.jpg|bSize = 100|cWidth = 100|cHeight = 120|oTop = 5|oLeft = 0}} |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |{{Center|'''കായികം, യുവജനക്ഷേമം, രജിസ്ട്രേഷൻ, പുരാവസ്തു വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായികം]] * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|യുവജനകാര്യങ്ങൾ]] * [[കേരള നികുതി വകുപ്പ്|രജിസ്ട്രേഷൻ]] * [[കേരള പുരാവസ്തു വകുപ്പ്|പുരാവസ്തു]] * പുരാരേഖകൾ * മൃഗശാലകൾ * മ്യൂസിയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |} ==സ്പീക്കറും ചീഫ് വിപ്പും== {| class="wikitable sortable" ! colspan="8" |സ്പീക്കർ - സഭാധ്യക്ഷൻ |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |[[File:Thiruvanchoor Radhakrishnan.jpg|80px]] | [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] || [[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] || [[കോട്ടയം ജില്ല|കോട്ടയം]] || {{party name with color|Indian National Congress}} |- |2|| [[ഷാനിമോൾ ഉസ്മാൻ]] |[[File:Shanimol Osman.jpg|80px]] | [[ഡെപ്യൂട്ടി സ്പീക്കർ]] || [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] || [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] || {{party name with color|Indian National Congress}} |- |} {| class="wikitable sortable" ! colspan="8" |ചീഫ് വിപ്പ് |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[അപ്പു ജോൺ ജോസഫ്]] |[[File:Apu John Joseph.jpg|90px]] | [[ചീഫ് വിപ്പ്]] || [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] || [[ഇടുക്കി ജില്ല|ഇടുക്കി]] || {{party name with color|Kerala Congress}} |- |} == മന്ത്രിമാർ പാർട്ടിതിരിച്ച് == {{Pie chart | caption = ക്യാബിനറ്റ് മന്ത്രിമാർ പാർട്ടി തിരിച്ച് | value1 = 57.14 | label1 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | color1 = {{party color|Indian National Congress}} | value2 = 23.8 | label2 = ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് | color2 = {{party color|Indian Union Muslim League}} | value3 = 4.76 | label3 = കേരള കോൺഗ്രസ് | color3 = {{party color|Kerala Congress}} | value4 = 4.76 | label4 = റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ) | color4 = {{party color|Revolutionary Socialist Party (India)}} | value5 = 4.76 | label5 = കേരള കോൺഗ്രസ് (ജേക്കബ്) | color5 = {{party color|Kerala Congress (Jacob)}} | value6 = 4.76 | label6 = കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി | color6 = {{party color|Communist Marxist Party}} }} {| class="wikitable sortable" ! colspan="2" |പാർട്ടി !ക്യാബിനറ്റ് മന്ത്രിമാർ |- | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |12 |- | width="4px" bgcolor="{{party color|Indian Union Muslim League}}" | |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ്]] |5 |- | width="4px" bgcolor="{{party color|Kerala Congress}}" | |[[കേരള കോൺഗ്രസ്]] |1 |- | width="4px" bgcolor="{{party color|Revolutionary Socialist Party (India)}}" | |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)]] |1 |- | width="4px" bgcolor="{{party color|Kerala Congress (Jacob)}}" | |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കേരള കോൺഗ്രസ്( ജേക്കബ്)]] |1 |- | width="4px" bgcolor="{{party color|Communist Marxist Party}}" | |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]] |1 |} == മന്ത്രിമാർ ജില്ല തിരിച്ച് == {{Pie chart |caption=ക്യാബിനറ്റ് മന്ത്രിമാർ ജില്ലതിരിച്ച് |label1=എറണാകുളം |value1=19.04 |color1=#1E90FF |label2=മലപ്പുറം |value2=19.04 |color2=#32CD32 |label3=കൊല്ലം |value3=14.28 |color3=#FF8C00 |label4=ആലപ്പുഴ |value4=9.52 |color4=#DC143C |label5=തിരുവനന്തപുരം |value5=9.52 |color5=#8A2BE2 |label6=പാലക്കാട് |value6=9.52 |color6=#20B2AA |label7=കണ്ണൂർ |value7=4.76 |color7=#FFD700 |label8=വയനാട് |value8=4.76 |color8=#A0522D |label9=തൃശ്ശൂർ |value9=4.76 |color9=#708090 |label10=കോട്ടയം |value10=4.76 |color10=#FF69B4 }} {| class="wikitable sortable" |+ ജില്ല തിരിച്ചുള്ള മന്ത്രിമാരുടെ പ്രാതിനിധ്യം ! ജില്ല ! മന്ത്രിമാരുടെ എണ്ണം ! മന്ത്രിമാർ |- | [[എറണാകുളം ജില്ല|എറണാകുളം]] | {{Center|'''4'''}} |[[വി.ഡി. സതീശൻ]],<br> [[റോജി എം. ജോൺ]],<br> [[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി.ഇ.അബ്ദുൾ ഗഫൂർ]], <br>[[അനൂപ് ജേക്കബ്]] |- | [[മലപ്പുറം ജില്ല|മലപ്പുറം]] | {{Center|'''4'''}} |[[എ.പി. അനിൽകുമാർ]],<br> [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]],<br>[[കെ.എം. ഷാജി]],<br>[[പി.കെ. ബഷീർ]] |- | [[കൊല്ലം ജില്ല|കൊല്ലം]] | {{Center|'''3'''}} |[[ബിന്ദു കൃഷ്ണ]],<br>[[പി.സി. വിഷ്ണുനാഥ്]],<br>[[ഷിബു ബേബി ജോൺ]] |- | [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | {{Center|'''2'''}} |[[രമേശ് ചെന്നിത്തല]],<br>[[എം. ലിജു]] |- | [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | {{Center|'''2'''}} |[[കെ. മുരളീധരൻ|കെ.മുരളീധരൻ]],<br>[[സി.പി. ജോൺ]] |- | [[പാലക്കാട് ജില്ല|പാലക്കാട്]] | {{Center|'''2'''}} |[[കെ.എ. തുളസി]],<br>[[എൻ. ഷംസുദ്ദീൻ]] |- | [[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | {{Center|'''1'''}} |[[സണ്ണി ജോസഫ്]] |- | [[വയനാട് ജില്ല|വയനാട്]] | {{Center|'''1'''}} |[[ടി. സിദ്ദിഖ്]] |- | [[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | {{Center|'''1'''}} |[[ഒ.ജെ. ജനീഷ്]] |- | [[കോട്ടയം ജില്ല|കോട്ടയം]] | {{Center|'''1'''}} |[[മോൻസ് ജോസഫ്]] |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] |rowspan="4"|{{Center|'''0'''}} |rowspan="4"|- |- |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] |- |} ==അവലംബങ്ങൾ== {{Reflist|}} [[വർഗ്ഗം:കേരളത്തിലെ മന്ത്രിസഭകൾ]] k98218jttslfuqnck6kjzokpiq3r66x 4622102 4622101 2026-05-23T03:21:11Z Asifalinair 206364 /* മന്ത്രിമാരും വകുപ്പുകളും */ 4622102 wikitext text/x-wiki {{Infobox government cabinet|cabinet_type=മന്ത്രിസഭ|cabinet_number=24|jurisdiction=[[കേരളം|കേരളത്തിലെ]]|flag=Government of Kerala Logo.svg|flag_border=true|incumbent=|image=File:Vd-Satheesan.jpg|image_size=|caption=|state_head=[[രാജേന്ദ്ര അർലേക്കർ]]|government_head=[[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശൻ]]|date_formed=18 മേയ് 2026|date_dissolved=|members_number=21|political_parties={{legend2|{{United Democratic Front (Kerala)/meta/color}}|'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|legislature_status=[[Majority government|ഭൂരിപക്ഷം]]|opposition_cabinet=|opposition_party={{legend2|{{Left Democratic Front (Kerala)/meta/color}}|'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|opposition_leader=[[പിണറായി വിജയൻ]]|election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026]]|last_election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021]]|legislature_term=5 വർഷം|budget=|advice_and_consent1=|advice_and_consent2=<!-- etc. -->|incoming_formation=|outgoing_formation=|previous=[[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|രണ്ടാം പിണറായി മന്ത്രിസഭ]]|successor=}} [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണി (യുഡിഎഫ്)]] വിജയിച്ചതിനുശേഷം രൂപീകരിച്ച [[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശന്റെ]] നേതൃത്വത്തിലുള്ള മന്ത്രിസഭയാണ് വി.&nbsp;ഡി. സതീശൻ മന്ത്രിസഭ.<ref>{{Cite web|url=https://www.newindianexpress.com/thesundaystandard/2026/May/17/udfs-brave-poll-leader-staked-all-to-win-big|title=UDF’s Brave poll leader staked all to win big|access-date=2026-05-18|last=രവി|first=രാജേഷ്|date=2026-05-17|website=ദി ന്യൂ ഇന്ത്യൻ എക്സ്പ്രെസ്|language=en}}</ref> 2026 മെയ് 18-ന് മന്ത്രിസഭ അധികാരമേറ്റു. സത്യപ്രതിജ്ഞ സമയത്ത് മന്ത്രിസഭയിൽ ആകെ 23 മന്ത്രിമാരുണ്ടായിരുന്നു. കേരളത്തിന്റെ 24-ാമത്തെ മുഖ്യമന്ത്രിയായി വി.ഡി. സതീശൻ സത്യപ്രതിജ്ഞ ചെയ്തു, ഈ സ്ഥാനം വഹിക്കുന്ന 13-ാമത്തെ വ്യക്തിയും. == മന്ത്രിമാരും വകുപ്പുകളും == {| class="wikitable sortable" width="60%" style="text-align:center; font-size:94%;" |- ! ക്രമ നമ്പർ ! പേര് ! ചിത്രം ! നിയോജക മണ്ഡലം ! പദവി ! വകുപ്പ്(കൾ)<ref name=":1">{{Cite web |title=Allocation of Portfolios to Ministers (Kerala Council of Ministers) |url=https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |website=General Administration Department, Government of Kerala |access-date=20 May 2026 |archive-url=https://web.archive.org/web/20260520/https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |archive-date=20 May 2026 |url-status=live }}</ref> ! colspan="2" | പാർട്ടി ! ഔദ്യോഗിക കാർ നമ്പർ |- | colspan="8" style="text-align:center;" | '''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]''' |- |1 |{{Center|'''[[വി.ഡി. സതീശൻ]]'''}} |[[File:Vd-Satheesan.jpg|150px]] |{{Center|'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]'''}} |{{Center|'''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]'''}} | * [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യം]] * നാഷണൽ സേവിംഗ്സ് വകുപ്പ് * സ്റ്റോർസ് പർച്ചേസ് * [[നികുതി വകുപ്പ് (കേരളം)|വാണിജ്യ നികുതി]] * കാർഷിക ആദായ നികുതി * ട്രഷറികൾ * ലോട്ടറികൾ * സ്റ്റേറ്റ് ഓഡിറ്റ് വകുപ്പ് * [[ദി കേരളാ സ്റ്റേറ്റ്‌ ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്‌ ലിമിറ്റഡ്‌|കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] * സ്റ്റേറ്റ് ഇൻഷുറൻസ് വകുപ്പ് * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * സ്റ്റാമ്പുകളും സ്റ്റാമ്പ് ഡ്യൂട്ടിയും * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|തുറമുഖങ്ങൾ]] * [[നിയമ വകുപ്പ് (കേരളം)|നിയമം]] * ആസൂത്രണവും സാമ്പത്തിക കാര്യങ്ങളും * [[പൊതു ഭരണ വകുപ്പ് (കേരളം)|പൊതുഭരണം]] * [[ഓൾ ഇന്ത്യ സർവീസുകൾ]] ([[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]], [[ഇന്ത്യൻ പൊലീസ് സർവീസ്|ഐ.പി.എസ്]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഐ.എഫ്.എസ്]]) * [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതികവിദ്യ]] * ദുരന്തനിവാരണം * [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യങ്ങൾ]] * മലിനീകരണ നിയന്ത്രണം * ശാസ്ത്ര സ്ഥാപനങ്ങൾ * പേഴ്‌സണൽ ആൻഡ് അഡ്മിനിസ്ട്രേറ്റീവ് റിഫോംസ് * തിരഞ്ഞെടുപ്പ് * ഏകീകരണം * സൈനിക ക്ഷേമം * ദുരിതാശ്വാസം * സംസ്ഥാന ആതിഥ്യം * സിവിൽ-ക്രിമിനൽ നീതിന്യായ ഭരണം * വിമാനത്താവളങ്ങൾ * മെട്രോ റെയിൽ * അന്തർസംസ്ഥാന നദീജലങ്ങൾ * തീരദേശ കപ്പൽഗതാഗതവും ഉൾനാടൻ ജലഗതാഗതവും * കേരള സ്റ്റേറ്റ് ഇൻലാൻഡ് നാവിഗേഷൻ കോർപ്പറേഷൻ * [[കേരള ഇൻഫർമേഷൻ ആൻഡ് പബ്ലിക് റിലേഷൻസ് വകുപ്പ്|വിവര-പൊതുജന സമ്പർക്കം]] * പ്രിന്റിംഗും സ്റ്റേഷനറിയും * റെയിൽവേ * [[രാജീവ് ഗാന്ധി സെന്റർ ഫോർ ബയോടെക്നോളജി]] * [[നാഷണൽ യൂണിവേഴ്സിറ്റി ഓഫ് അഡ്വാൻസ്ഡ് ലീഗൽ സ്റ്റഡീസ്]] * തപാൽ-ടെലഗ്രാഫ് * എല്ലാ പ്രധാന നയപരമായ കാര്യങ്ങളും * മറ്റൊരിടത്തും പരാമർശിക്കാത്ത വിഷയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' |{{Center|'''1'''}} |- | colspan="8" style="text-align:center;" | '''കാബിനറ്റ് മന്ത്രിമാർ''' |- |2 |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി|പി. കെ. കുഞ്ഞാലിക്കുട്ടി]] |[[File:P. K. Kunhalikutty.jpg|120px]] |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |{{Center|'''വ്യവസായ-വിവരസാങ്കേതിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായവും വാണിജ്യവും]] * [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|വിവരസാങ്കേതികവിദ്യ]] * കൃത്രിമ ബുദ്ധി * സ്റ്റാർട്ടപ്പുകൾ * ഖനനവും ഭൂവിജ്ഞാനവും * കൈത്തറിയും തുണിത്തര വ്യവസായവും | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |3 |[[രമേശ് ചെന്നിത്തല]] |[[File:Ramesh Chennithala.jpg|120px]] |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |{{Center|'''ആഭ്യന്തര, വിജിലൻസ്, കയർ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തരം]] * [[വിജിലൻസ് ആൻഡ് ആന്റി കറപ്ഷൻ ബ്യൂറോ|വിജിലൻസ്]] * [[കേരള അഗ്നിരക്ഷാ സേന|അഗ്നിരക്ഷാ സേവനങ്ങൾ]] * [[കേരള ജയിലുകളും തിരുത്തൽ സേവനങ്ങളും|ജയിലുകൾ]] * കയർ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |4 |'''[[സണ്ണി ജോസഫ്]]''' |[[File:Joseph.Sunny.KPCC.jpg|120px]] |'''[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]]''' |{{Center|'''വൈദ്യുതി, പരിസ്ഥിതി, പാർലമെന്ററി കാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വൈദ്യുതി വകുപ്പ്|വൈദ്യുതി]] * [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി]] * പാർലമെന്ററി കാര്യങ്ങൾ * [[എജൻസി ഫോർ ന്യൂ ആൻഡ് റിന്യൂവബിൾ എനർജി റിസർച്ച് ആൻഡ് ടെക്നോളജി|ANERT]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |5 |[[കെ. മുരളീധരൻ]] |[[File:Muraleedharan.jpg|120px]] |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |{{Center|'''ആരോഗ്യ-കുടുംബക്ഷേമ, ദേവസ്വം വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യവും കുടുംബക്ഷേമവും]] * [[കേരള ദേവസ്വം ബോർഡുകൾ|ദേവസ്വം]] * [[കേരള ആയുഷ് വകുപ്പ്|ആയുഷ്]] * മെഡിക്കൽ വിദ്യാഭ്യാസം * മെഡിക്കൽ സർവകലാശാല * തദ്ദേശീയ ചികിത്സ * ഔഷധ നിയന്ത്രണം * ഭക്ഷ്യസുരക്ഷ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |6 |[[മോൻസ് ജോസഫ്]] |[[File:Mons Joseph.jpeg|120px]] |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |{{Center|'''ജലവിഭവ-ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവം]] * [[കേരള ഭവന നിർമ്മാണ വകുപ്പ്|ഭവന നിർമ്മാണം]] * ജലസേചനം * കമാൻഡ് ഏരിയ ഡെവലപ്മെന്റ് അതോറിറ്റി (CADA) * ഭൂഗർഭ ജല വകുപ്പ് * ജലവിതരണവും ശുചിത്വവും | width="4px" style="background-color: {{party color|Kerala Congress (Joseph)}}" | | '''[[കേരള കോൺഗ്രസ്|KEC]]''' | |- |7 |[[ഷിബു ബേബി ജോൺ]] |[[File:Shibu-Baby-John.jpg|120px]] |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |{{Center|'''വനം, വന്യജീവി സംരക്ഷണം, നൈപുണ്യ വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വനം വകുപ്പ്|വനവും വന്യജീവി സംരക്ഷണവും]] * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|നൈപുണ്യ വികസനം]] * കേരള അക്കാദമി ഫോർ സ്കിൽസ് എക്സലൻസ് (KASE) | width="4px" style="background-color: {{party color|Revolutionary Socialist Party (India)}}" | | '''[[റെവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)|RSP]]''' | |- |8 |[[അനൂപ് ജേക്കബ്]] |[[File:Anoop jacob.JPG|120px]] |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |{{Center|'''ഭക്ഷ്യ-പൊതുവിതരണ, ഉപഭോക്തൃകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഭക്ഷ്യവും പൊതുവിതരണവും]] * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഉപഭോക്തൃകാര്യങ്ങൾ]] * ലീഗൽ മെട്രോളജി | width="4px" style="background-color: {{party color|Kerala Congress (Jacob)}}" | | '''[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|KC(Jacob)]]''' | |- |9 |[[സി.പി. ജോൺ|സി. പി. ജോൺ]] |[[File:C.P.John.jpg|120px]] |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം സെൻട്രൽ]] |{{Center|'''ഗതാഗത വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഗതാഗത വകുപ്പ്|റോഡ് ഗതാഗതം]] * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹനങ്ങൾ]] * [[കേരള സ്റ്റേറ്റ് വാട്ടർ ട്രാൻസ്പോർട്ട് വകുപ്പ്|ജലഗതാഗതം]] | width="4px" style="background-color: {{party color|Communist Marxist Party}}" | | '''[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|CMP]]''' | |- |10 |[[എ.പി. അനിൽകുമാർ|എ. പി. അനിൽ കുമാർ]] |[[File:A.P. Anil Kumar.JPG|120px]] |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |{{Center|'''റവന്യൂ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള റവന്യൂ വകുപ്പ്|ഭൂരവന്യൂ]] * [[കേരള റവന്യൂ-ഭൂരേഖ വകുപ്പ്|സർവേയും ഭൂരേഖകളും]] * ഭൂപരിഷ്കരണം | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |11 |[[എൻ. ഷംസുദ്ദീൻ]] |[[File:N Shamsudheen 01.jpg|120px]] |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |{{Center|'''പൊതുവിദ്യാഭ്യാസ-ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസം]] * [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമം]] * സാക്ഷരതാ പ്രസ്ഥാനം * വഖഫ്-ഹജ്ജ് തീർത്ഥാടനം | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |12 |[[പി.സി. വിഷ്ണുനാഥ്|പി. സി. വിഷ്ണുനാഥ്]] |[[File:APJPCV.jpg|120px]] |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |{{Center|'''ടൂറിസം-സാംസ്കാരികകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം]] * [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരിക കാര്യങ്ങൾ]] * [[കേരള സംസ്ഥാന ചലച്ചിത്ര വികസന കോർപ്പറേഷൻ]] (KSFDC) * കേരള ചലച്ചിത്ര അക്കാദമി * കേരള സാംസ്കാരിക പ്രവർത്തക ക്ഷേമനിധി ബോർഡ് | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |13 |[[റോജി എം. ജോൺ]] |[[File:Roji M John at Kodussery IMG 20260326 160534972 (cropped).jpg|120px]] |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |{{Center|'''ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നത വിദ്യാഭ്യാസം]] * കോളജിയറ്റ് വിദ്യാഭ്യാസം * സാങ്കേതിക വിദ്യാഭ്യാസം * സർവകലാശാലകൾ (കാർഷിക, വെറ്ററിനറി, ഫിഷറീസ്, മെഡിക്കൽ, ഡിജിറ്റൽ സർവകലാശാലകൾ ഒഴികെ) * പ്രവേശന പരീക്ഷകൾ * [[നാഷണൽ കാഡറ്റ് കോർ|എൻ.സി.സി]] * അഡിഷണൽ സ്കിൽ അക്വിസിഷൻ പ്രോഗ്രാം (ASAP) | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |14 |[[ബിന്ദു കൃഷ്ണ]] |[[File:BinduKrishnaMLA.png|120px]] |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |{{Center|'''തൊഴിൽ, മൃഗസംരക്ഷണം, ക്ഷീരവികസനം, വനിത-ശിശു വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ]] * [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണം]] * [[കേരള ക്ഷീരവികസന വകുപ്പ്|ക്ഷീരവികസനം]] * ക്ഷീര സഹകരണസംഘങ്ങൾ * [[കേരള വനിത-ശിശു വികസന വകുപ്പ്|വനിത-ശിശു വികസനം]] * [[കേരള വെറ്ററിനറി ആൻഡ് അനിമൽ സയൻസസ് സർവകലാശാല]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |15 |[[എം. ലിജു]] |[[File:Mlaliju.jpg|100px]] |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |{{Center|'''എക്സൈസ്-സഹകരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സഹകരണ വകുപ്പ്|സഹകരണം]] * [[കേരള എക്സൈസ് വകുപ്പ്|എക്സൈസ്]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |16 |[[കെ.എം. ഷാജി|കെ. എം. ഷാജി]] | [[File:Km-shaji.webp]] |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |{{Center|'''തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തദ്ദേശസ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] * പഞ്ചായത്ത് * മുനിസിപ്പാലിറ്റി * കോർപ്പറേഷൻ * നഗരാസൂത്രണം * ഗ്രാമവികസനം * പ്രാദേശിക വികസന അതോറിറ്റികൾ * [[കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കൽ അഡ്മിനിസ്ട്രേഷൻ|KILA]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |17 |[[പി.കെ. ബഷീർ|പി. കെ. ബഷീർ]] |[[File:P.-K.-Basheer.jpg]] |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |{{Center|'''പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |18 |[[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി. ഇ. അബ്ദുൽ ഗഫൂർ]] |[[File:VE_Abdul_Gafoor.jpg|120px]] |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |{{Center|'''മത്സ്യബന്ധന-സാമൂഹ്യനീതി വകുപ്പ് മന്ത്രി'''}} | * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധനം]] * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|ഹാർബർ എഞ്ചിനീയറിംഗ്]] * [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |19 |[[ടി. സിദ്ദിഖ്]] |[[File:T-siddique-1-09-1502280811-1553345512.jpg|150px]] |[[കൽപ്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |{{Center|'''കാർഷിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കാർഷിക വികസന-കർഷക ക്ഷേമ വകുപ്പ്|കൃഷി]] * മണ്ണ് സർവേയും മണ്ണ് സംരക്ഷണവും * [[കേരള കാർഷിക സർവകലാശാല]] * വെയർഹൗസിംഗ് കോർപ്പറേഷൻ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |20 |[[കെ. എ. തുളസി]] |[[File:K-a-thulasi-thulasi-teacher-77695.jpg]] |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കൊങ്ങാട്]] |{{Center|'''പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്കക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി വികസനം]] * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികവർഗ വികസനം]] * [[കേരള പിന്നാക്കവിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസനം]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |21 |[[ഒ. ജെ. ജനീഷ്]] |{{CSS image crop|Image=OJ Janeesh.jpg|bSize = 100|cWidth = 100|cHeight = 120|oTop = 5|oLeft = 0}} |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |{{Center|'''കായികം, യുവജനക്ഷേമം, രജിസ്ട്രേഷൻ, പുരാവസ്തു വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായികം]] * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|യുവജനകാര്യങ്ങൾ]] * [[കേരള നികുതി വകുപ്പ്|രജിസ്ട്രേഷൻ]] * [[കേരള പുരാവസ്തു വകുപ്പ്|പുരാവസ്തു]] * പുരാരേഖകൾ * മൃഗശാലകൾ * മ്യൂസിയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |} ==സ്പീക്കറും ചീഫ് വിപ്പും== {| class="wikitable sortable" ! colspan="8" |സ്പീക്കർ - സഭാധ്യക്ഷൻ |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |[[File:Thiruvanchoor Radhakrishnan.jpg|80px]] | [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] || [[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] || [[കോട്ടയം ജില്ല|കോട്ടയം]] || {{party name with color|Indian National Congress}} |- |2|| [[ഷാനിമോൾ ഉസ്മാൻ]] |[[File:Shanimol Osman.jpg|80px]] | [[ഡെപ്യൂട്ടി സ്പീക്കർ]] || [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] || [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] || {{party name with color|Indian National Congress}} |- |} {| class="wikitable sortable" ! colspan="8" |ചീഫ് വിപ്പ് |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[അപ്പു ജോൺ ജോസഫ്]] |[[File:Apu John Joseph.jpg|90px]] | [[ചീഫ് വിപ്പ്]] || [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] || [[ഇടുക്കി ജില്ല|ഇടുക്കി]] || {{party name with color|Kerala Congress}} |- |} == മന്ത്രിമാർ പാർട്ടിതിരിച്ച് == {{Pie chart | caption = ക്യാബിനറ്റ് മന്ത്രിമാർ പാർട്ടി തിരിച്ച് | value1 = 57.14 | label1 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | color1 = {{party color|Indian National Congress}} | value2 = 23.8 | label2 = ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് | color2 = {{party color|Indian Union Muslim League}} | value3 = 4.76 | label3 = കേരള കോൺഗ്രസ് | color3 = {{party color|Kerala Congress}} | value4 = 4.76 | label4 = റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ) | color4 = {{party color|Revolutionary Socialist Party (India)}} | value5 = 4.76 | label5 = കേരള കോൺഗ്രസ് (ജേക്കബ്) | color5 = {{party color|Kerala Congress (Jacob)}} | value6 = 4.76 | label6 = കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി | color6 = {{party color|Communist Marxist Party}} }} {| class="wikitable sortable" ! colspan="2" |പാർട്ടി !ക്യാബിനറ്റ് മന്ത്രിമാർ |- | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |12 |- | width="4px" bgcolor="{{party color|Indian Union Muslim League}}" | |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ്]] |5 |- | width="4px" bgcolor="{{party color|Kerala Congress}}" | |[[കേരള കോൺഗ്രസ്]] |1 |- | width="4px" bgcolor="{{party color|Revolutionary Socialist Party (India)}}" | |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)]] |1 |- | width="4px" bgcolor="{{party color|Kerala Congress (Jacob)}}" | |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കേരള കോൺഗ്രസ്( ജേക്കബ്)]] |1 |- | width="4px" bgcolor="{{party color|Communist Marxist Party}}" | |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]] |1 |} == മന്ത്രിമാർ ജില്ല തിരിച്ച് == {{Pie chart |caption=ക്യാബിനറ്റ് മന്ത്രിമാർ ജില്ലതിരിച്ച് |label1=എറണാകുളം |value1=19.04 |color1=#1E90FF |label2=മലപ്പുറം |value2=19.04 |color2=#32CD32 |label3=കൊല്ലം |value3=14.28 |color3=#FF8C00 |label4=ആലപ്പുഴ |value4=9.52 |color4=#DC143C |label5=തിരുവനന്തപുരം |value5=9.52 |color5=#8A2BE2 |label6=പാലക്കാട് |value6=9.52 |color6=#20B2AA |label7=കണ്ണൂർ |value7=4.76 |color7=#FFD700 |label8=വയനാട് |value8=4.76 |color8=#A0522D |label9=തൃശ്ശൂർ |value9=4.76 |color9=#708090 |label10=കോട്ടയം |value10=4.76 |color10=#FF69B4 }} {| class="wikitable sortable" |+ ജില്ല തിരിച്ചുള്ള മന്ത്രിമാരുടെ പ്രാതിനിധ്യം ! ജില്ല ! മന്ത്രിമാരുടെ എണ്ണം ! മന്ത്രിമാർ |- | [[എറണാകുളം ജില്ല|എറണാകുളം]] | {{Center|'''4'''}} |[[വി.ഡി. സതീശൻ]],<br> [[റോജി എം. ജോൺ]],<br> [[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി.ഇ.അബ്ദുൾ ഗഫൂർ]], <br>[[അനൂപ് ജേക്കബ്]] |- | [[മലപ്പുറം ജില്ല|മലപ്പുറം]] | {{Center|'''4'''}} |[[എ.പി. അനിൽകുമാർ]],<br> [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]],<br>[[കെ.എം. ഷാജി]],<br>[[പി.കെ. ബഷീർ]] |- | [[കൊല്ലം ജില്ല|കൊല്ലം]] | {{Center|'''3'''}} |[[ബിന്ദു കൃഷ്ണ]],<br>[[പി.സി. വിഷ്ണുനാഥ്]],<br>[[ഷിബു ബേബി ജോൺ]] |- | [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | {{Center|'''2'''}} |[[രമേശ് ചെന്നിത്തല]],<br>[[എം. ലിജു]] |- | [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | {{Center|'''2'''}} |[[കെ. മുരളീധരൻ|കെ.മുരളീധരൻ]],<br>[[സി.പി. ജോൺ]] |- | [[പാലക്കാട് ജില്ല|പാലക്കാട്]] | {{Center|'''2'''}} |[[കെ.എ. തുളസി]],<br>[[എൻ. ഷംസുദ്ദീൻ]] |- | [[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | {{Center|'''1'''}} |[[സണ്ണി ജോസഫ്]] |- | [[വയനാട് ജില്ല|വയനാട്]] | {{Center|'''1'''}} |[[ടി. സിദ്ദിഖ്]] |- | [[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | {{Center|'''1'''}} |[[ഒ.ജെ. ജനീഷ്]] |- | [[കോട്ടയം ജില്ല|കോട്ടയം]] | {{Center|'''1'''}} |[[മോൻസ് ജോസഫ്]] |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] |rowspan="4"|{{Center|'''0'''}} |rowspan="4"|- |- |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] |- |} ==അവലംബങ്ങൾ== {{Reflist|}} [[വർഗ്ഗം:കേരളത്തിലെ മന്ത്രിസഭകൾ]] kotz528s3n2kx6bnt8u6merz0yzdcyk 4622105 4622102 2026-05-23T03:38:11Z Asifalinair 206364 /* മന്ത്രിമാരും വകുപ്പുകളും */ 4622105 wikitext text/x-wiki {{Infobox government cabinet|cabinet_type=മന്ത്രിസഭ|cabinet_number=24|jurisdiction=[[കേരളം|കേരളത്തിലെ]]|flag=Government of Kerala Logo.svg|flag_border=true|incumbent=|image=File:Vd-Satheesan.jpg|image_size=|caption=|state_head=[[രാജേന്ദ്ര അർലേക്കർ]]|government_head=[[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശൻ]]|date_formed=18 മേയ് 2026|date_dissolved=|members_number=21|political_parties={{legend2|{{United Democratic Front (Kerala)/meta/color}}|'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|legislature_status=[[Majority government|ഭൂരിപക്ഷം]]|opposition_cabinet=|opposition_party={{legend2|{{Left Democratic Front (Kerala)/meta/color}}|'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|opposition_leader=[[പിണറായി വിജയൻ]]|election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026]]|last_election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021]]|legislature_term=5 വർഷം|budget=|advice_and_consent1=|advice_and_consent2=<!-- etc. -->|incoming_formation=|outgoing_formation=|previous=[[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|രണ്ടാം പിണറായി മന്ത്രിസഭ]]|successor=}} [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണി (യുഡിഎഫ്)]] വിജയിച്ചതിനുശേഷം രൂപീകരിച്ച [[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശന്റെ]] നേതൃത്വത്തിലുള്ള മന്ത്രിസഭയാണ് വി.&nbsp;ഡി. സതീശൻ മന്ത്രിസഭ.<ref>{{Cite web|url=https://www.newindianexpress.com/thesundaystandard/2026/May/17/udfs-brave-poll-leader-staked-all-to-win-big|title=UDF’s Brave poll leader staked all to win big|access-date=2026-05-18|last=രവി|first=രാജേഷ്|date=2026-05-17|website=ദി ന്യൂ ഇന്ത്യൻ എക്സ്പ്രെസ്|language=en}}</ref> 2026 മെയ് 18-ന് മന്ത്രിസഭ അധികാരമേറ്റു. സത്യപ്രതിജ്ഞ സമയത്ത് മന്ത്രിസഭയിൽ ആകെ 23 മന്ത്രിമാരുണ്ടായിരുന്നു. കേരളത്തിന്റെ 24-ാമത്തെ മുഖ്യമന്ത്രിയായി വി.ഡി. സതീശൻ സത്യപ്രതിജ്ഞ ചെയ്തു, ഈ സ്ഥാനം വഹിക്കുന്ന 13-ാമത്തെ വ്യക്തിയും. == മന്ത്രിമാരും വകുപ്പുകളും == {| class="wikitable sortable" width="60%" style="text-align:center; font-size:94%;" |- ! ക്രമ നമ്പർ ! പേര് ! ചിത്രം ! നിയോജക മണ്ഡലം ! പദവി ! വകുപ്പ്(കൾ)<ref name=":1">{{Cite web |title=Allocation of Portfolios to Ministers (Kerala Council of Ministers) |url=https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |website=General Administration Department, Government of Kerala |access-date=20 May 2026 |archive-url=https://web.archive.org/web/20260520/https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |archive-date=20 May 2026 |url-status=live }}</ref> ! colspan="2" | പാർട്ടി ! ഔദ്യോഗിക കാർ നമ്പർ |- | colspan="8" style="text-align:center;" | '''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]''' |- |1 |{{Center|'''[[വി.ഡി. സതീശൻ]]'''}} |[[File:Vd-Satheesan.jpg|150px]] |{{Center|'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]'''}} |{{Center|'''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]'''}} | * [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യം]] * നാഷണൽ സേവിംഗ്സ് വകുപ്പ് * സ്റ്റോർസ് പർച്ചേസ് * [[നികുതി വകുപ്പ് (കേരളം)|വാണിജ്യ നികുതി]] * കാർഷിക ആദായ നികുതി * ട്രഷറികൾ * ലോട്ടറികൾ * സ്റ്റേറ്റ് ഓഡിറ്റ് വകുപ്പ് * [[ദി കേരളാ സ്റ്റേറ്റ്‌ ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്‌ ലിമിറ്റഡ്‌|കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] * സ്റ്റേറ്റ് ഇൻഷുറൻസ് വകുപ്പ് * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * സ്റ്റാമ്പുകളും സ്റ്റാമ്പ് ഡ്യൂട്ടിയും * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|തുറമുഖങ്ങൾ]] * [[നിയമ വകുപ്പ് (കേരളം)|നിയമം]] * ആസൂത്രണവും സാമ്പത്തിക കാര്യങ്ങളും * [[പൊതു ഭരണ വകുപ്പ് (കേരളം)|പൊതുഭരണം]] * [[ഓൾ ഇന്ത്യ സർവീസുകൾ]] ([[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]], [[ഇന്ത്യൻ പൊലീസ് സർവീസ്|ഐ.പി.എസ്]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഐ.എഫ്.എസ്]]) * [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതികവിദ്യ]] * ദുരന്തനിവാരണം * [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യങ്ങൾ]] * മലിനീകരണ നിയന്ത്രണം * ശാസ്ത്ര സ്ഥാപനങ്ങൾ * പേഴ്‌സണൽ ആൻഡ് അഡ്മിനിസ്ട്രേറ്റീവ് റിഫോംസ് * തിരഞ്ഞെടുപ്പ് * ഏകീകരണം * സൈനിക ക്ഷേമം * ദുരിതാശ്വാസം * സംസ്ഥാന ആതിഥ്യം * സിവിൽ-ക്രിമിനൽ നീതിന്യായ ഭരണം * വിമാനത്താവളങ്ങൾ * മെട്രോ റെയിൽ * അന്തർസംസ്ഥാന നദീജലങ്ങൾ * തീരദേശ കപ്പൽഗതാഗതവും ഉൾനാടൻ ജലഗതാഗതവും * കേരള സ്റ്റേറ്റ് ഇൻലാൻഡ് നാവിഗേഷൻ കോർപ്പറേഷൻ * [[കേരള ഇൻഫർമേഷൻ ആൻഡ് പബ്ലിക് റിലേഷൻസ് വകുപ്പ്|വിവര-പൊതുജന സമ്പർക്കം]] * പ്രിന്റിംഗും സ്റ്റേഷനറിയും * റെയിൽവേ * [[രാജീവ് ഗാന്ധി സെന്റർ ഫോർ ബയോടെക്നോളജി]] * [[നാഷണൽ യൂണിവേഴ്സിറ്റി ഓഫ് അഡ്വാൻസ്ഡ് ലീഗൽ സ്റ്റഡീസ്]] * തപാൽ-ടെലഗ്രാഫ് * എല്ലാ പ്രധാന നയപരമായ കാര്യങ്ങളും * മറ്റൊരിടത്തും പരാമർശിക്കാത്ത വിഷയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' |{{Center|'''1'''}} |- | colspan="8" style="text-align:center;" | '''കാബിനറ്റ് മന്ത്രിമാർ''' |- |2 |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി|പി. കെ. കുഞ്ഞാലിക്കുട്ടി]] |[[File:P. K. Kunhalikutty.jpg|120px]] |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |{{Center|'''വ്യവസായ-വിവരസാങ്കേതിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായവും വാണിജ്യവും]] * [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|വിവരസാങ്കേതികവിദ്യ]] * കൃത്രിമ ബുദ്ധി * സ്റ്റാർട്ടപ്പുകൾ * ഖനനവും ഭൂവിജ്ഞാനവും * കൈത്തറിയും തുണിത്തര വ്യവസായവും | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |3 |[[രമേശ് ചെന്നിത്തല]] |[[File:Ramesh Chennithala.jpg|120px]] |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |{{Center|'''ആഭ്യന്തര, വിജിലൻസ്, കയർ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തരം]] * [[വിജിലൻസ് ആന്റ് ആന്റി കറപ്ഷൻ ബ്യൂറോ, കേരളം|വിജിലൻസ്]] * [[കേരള ഫയർ ആൻഡ് റെസ്ക്യൂ സർവീസസ്|ഫയർ ആൻഡ് റെസ്ക്യൂ]] * [[കേരള പ്രിസൺസ് ആൻഡ് കറക്ഷണൽ സർവീസസ്|ജയിലുകൾ]] * [[കയർ]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |4 |'''[[സണ്ണി ജോസഫ്]]''' |[[File:Joseph.Sunny.KPCC.jpg|120px]] |'''[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]]''' |{{Center|'''വൈദ്യുതി, പരിസ്ഥിതി, പാർലമെന്ററി കാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വൈദ്യുതി വകുപ്പ്|വൈദ്യുതി]] * [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി]] * പാർലമെന്ററി കാര്യങ്ങൾ * [[എജൻസി ഫോർ ന്യൂ ആൻഡ് റിന്യൂവബിൾ എനർജി റിസർച്ച് ആൻഡ് ടെക്നോളജി|ANERT]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |5 |[[കെ. മുരളീധരൻ]] |[[File:Muraleedharan.jpg|120px]] |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |{{Center|'''ആരോഗ്യ-കുടുംബക്ഷേമ, ദേവസ്വം വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യവും കുടുംബക്ഷേമവും]] * [[കേരള ദേവസ്വം ബോർഡുകൾ|ദേവസ്വം]] * [[കേരള ആയുഷ് വകുപ്പ്|ആയുഷ്]] * മെഡിക്കൽ വിദ്യാഭ്യാസം * മെഡിക്കൽ സർവകലാശാല * തദ്ദേശീയ ചികിത്സ * ഔഷധ നിയന്ത്രണം * ഭക്ഷ്യസുരക്ഷ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |6 |[[മോൻസ് ജോസഫ്]] |[[File:Mons Joseph.jpeg|120px]] |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |{{Center|'''ജലവിഭവ-ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവം]] * [[കേരള ഭവന നിർമ്മാണ വകുപ്പ്|ഭവന നിർമ്മാണം]] * ജലസേചനം * കമാൻഡ് ഏരിയ ഡെവലപ്മെന്റ് അതോറിറ്റി (CADA) * ഭൂഗർഭ ജല വകുപ്പ് * ജലവിതരണവും ശുചിത്വവും | width="4px" style="background-color: {{party color|Kerala Congress (Joseph)}}" | | '''[[കേരള കോൺഗ്രസ്|KEC]]''' | |- |7 |[[ഷിബു ബേബി ജോൺ]] |[[File:Shibu-Baby-John.jpg|120px]] |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |{{Center|'''വനം, വന്യജീവി സംരക്ഷണം, നൈപുണ്യ വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വനം വകുപ്പ്|വനവും വന്യജീവി സംരക്ഷണവും]] * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|നൈപുണ്യ വികസനം]] * കേരള അക്കാദമി ഫോർ സ്കിൽസ് എക്സലൻസ് (KASE) | width="4px" style="background-color: {{party color|Revolutionary Socialist Party (India)}}" | | '''[[റെവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)|RSP]]''' | |- |8 |[[അനൂപ് ജേക്കബ്]] |[[File:Anoop jacob.JPG|120px]] |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |{{Center|'''ഭക്ഷ്യ-പൊതുവിതരണ, ഉപഭോക്തൃകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഭക്ഷ്യവും പൊതുവിതരണവും]] * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഉപഭോക്തൃകാര്യങ്ങൾ]] * ലീഗൽ മെട്രോളജി | width="4px" style="background-color: {{party color|Kerala Congress (Jacob)}}" | | '''[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|KC(Jacob)]]''' | |- |9 |[[സി.പി. ജോൺ|സി. പി. ജോൺ]] |[[File:C.P.John.jpg|120px]] |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം സെൻട്രൽ]] |{{Center|'''ഗതാഗത വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഗതാഗത വകുപ്പ്|റോഡ് ഗതാഗതം]] * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹനങ്ങൾ]] * [[കേരള സ്റ്റേറ്റ് വാട്ടർ ട്രാൻസ്പോർട്ട് വകുപ്പ്|ജലഗതാഗതം]] | width="4px" style="background-color: {{party color|Communist Marxist Party}}" | | '''[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|CMP]]''' | |- |10 |[[എ.പി. അനിൽകുമാർ|എ. പി. അനിൽ കുമാർ]] |[[File:A.P. Anil Kumar.JPG|120px]] |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |{{Center|'''റവന്യൂ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള റവന്യൂ വകുപ്പ്|ഭൂരവന്യൂ]] * [[കേരള റവന്യൂ-ഭൂരേഖ വകുപ്പ്|സർവേയും ഭൂരേഖകളും]] * ഭൂപരിഷ്കരണം | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |11 |[[എൻ. ഷംസുദ്ദീൻ]] |[[File:N Shamsudheen 01.jpg|120px]] |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |{{Center|'''പൊതുവിദ്യാഭ്യാസ-ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസം]] * [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമം]] * സാക്ഷരതാ പ്രസ്ഥാനം * വഖഫ്-ഹജ്ജ് തീർത്ഥാടനം | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |12 |[[പി.സി. വിഷ്ണുനാഥ്|പി. സി. വിഷ്ണുനാഥ്]] |[[File:APJPCV.jpg|120px]] |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |{{Center|'''ടൂറിസം-സാംസ്കാരികകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം]] * [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരിക കാര്യങ്ങൾ]] * [[കേരള സംസ്ഥാന ചലച്ചിത്ര വികസന കോർപ്പറേഷൻ]] (KSFDC) * കേരള ചലച്ചിത്ര അക്കാദമി * കേരള സാംസ്കാരിക പ്രവർത്തക ക്ഷേമനിധി ബോർഡ് | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |13 |[[റോജി എം. ജോൺ]] |[[File:Roji M John at Kodussery IMG 20260326 160534972 (cropped).jpg|120px]] |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |{{Center|'''ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നത വിദ്യാഭ്യാസം]] * കോളജിയറ്റ് വിദ്യാഭ്യാസം * സാങ്കേതിക വിദ്യാഭ്യാസം * സർവകലാശാലകൾ (കാർഷിക, വെറ്ററിനറി, ഫിഷറീസ്, മെഡിക്കൽ, ഡിജിറ്റൽ സർവകലാശാലകൾ ഒഴികെ) * പ്രവേശന പരീക്ഷകൾ * [[നാഷണൽ കാഡറ്റ് കോർ|എൻ.സി.സി]] * അഡിഷണൽ സ്കിൽ അക്വിസിഷൻ പ്രോഗ്രാം (ASAP) | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |14 |[[ബിന്ദു കൃഷ്ണ]] |[[File:BinduKrishnaMLA.png|120px]] |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |{{Center|'''തൊഴിൽ, മൃഗസംരക്ഷണം, ക്ഷീരവികസനം, വനിത-ശിശു വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ]] * [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണം]] * [[കേരള ക്ഷീരവികസന വകുപ്പ്|ക്ഷീരവികസനം]] * ക്ഷീര സഹകരണസംഘങ്ങൾ * [[കേരള വനിത-ശിശു വികസന വകുപ്പ്|വനിത-ശിശു വികസനം]] * [[കേരള വെറ്ററിനറി ആൻഡ് അനിമൽ സയൻസസ് സർവകലാശാല]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |15 |[[എം. ലിജു]] |[[File:Mlaliju.jpg|100px]] |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |{{Center|'''എക്സൈസ്-സഹകരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സഹകരണ വകുപ്പ്|സഹകരണം]] * [[കേരള എക്സൈസ് വകുപ്പ്|എക്സൈസ്]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |16 |[[കെ.എം. ഷാജി|കെ. എം. ഷാജി]] | [[File:Km-shaji.webp]] |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |{{Center|'''തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ തദ്ദേശ സ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] * പഞ്ചായത്ത് * മുനിസിപ്പാലിറ്റി * കോർപ്പറേഷൻ * നഗരാസൂത്രണം * ഗ്രാമവികസനം * പ്രാദേശിക വികസന അതോറിറ്റികൾ * [[കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കൽ അഡ്മിനിസ്ട്രേഷൻ|KILA]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |17 |[[പി.കെ. ബഷീർ|പി. കെ. ബഷീർ]] |[[File:P.-K.-Basheer.jpg]] |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |{{Center|'''പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |18 |[[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി. ഇ. അബ്ദുൽ ഗഫൂർ]] |[[File:VE_Abdul_Gafoor.jpg|120px]] |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |{{Center|'''മത്സ്യബന്ധന-സാമൂഹ്യനീതി വകുപ്പ് മന്ത്രി'''}} | * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധനം]] * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|ഹാർബർ എഞ്ചിനീയറിംഗ്]] * [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |19 |[[ടി. സിദ്ദിഖ്]] |[[File:T-siddique-1-09-1502280811-1553345512.jpg|150px]] |[[കൽപ്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |{{Center|'''കാർഷിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കാർഷിക വികസന-കർഷക ക്ഷേമ വകുപ്പ്|കൃഷി]] * മണ്ണ് സർവേയും മണ്ണ് സംരക്ഷണവും * [[കേരള കാർഷിക സർവകലാശാല]] * വെയർഹൗസിംഗ് കോർപ്പറേഷൻ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |20 |[[കെ. എ. തുളസി]] |[[File:K-a-thulasi-thulasi-teacher-77695.jpg]] |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കൊങ്ങാട്]] |{{Center|'''പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്കക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി വികസനം]] * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികവർഗ വികസനം]] * [[കേരള പിന്നാക്കവിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസനം]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |21 |[[ഒ. ജെ. ജനീഷ്]] |{{CSS image crop|Image=OJ Janeesh.jpg|bSize = 100|cWidth = 100|cHeight = 120|oTop = 5|oLeft = 0}} |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |{{Center|'''കായികം, യുവജനക്ഷേമം, രജിസ്ട്രേഷൻ, പുരാവസ്തു വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായികം]] * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|യുവജനകാര്യങ്ങൾ]] * [[കേരള നികുതി വകുപ്പ്|രജിസ്ട്രേഷൻ]] * [[കേരള പുരാവസ്തു വകുപ്പ്|പുരാവസ്തു]] * പുരാരേഖകൾ * മൃഗശാലകൾ * മ്യൂസിയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |} ==സ്പീക്കറും ചീഫ് വിപ്പും== {| class="wikitable sortable" ! colspan="8" |സ്പീക്കർ - സഭാധ്യക്ഷൻ |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |[[File:Thiruvanchoor Radhakrishnan.jpg|80px]] | [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] || [[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] || [[കോട്ടയം ജില്ല|കോട്ടയം]] || {{party name with color|Indian National Congress}} |- |2|| [[ഷാനിമോൾ ഉസ്മാൻ]] |[[File:Shanimol Osman.jpg|80px]] | [[ഡെപ്യൂട്ടി സ്പീക്കർ]] || [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] || [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] || {{party name with color|Indian National Congress}} |- |} {| class="wikitable sortable" ! colspan="8" |ചീഫ് വിപ്പ് |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[അപ്പു ജോൺ ജോസഫ്]] |[[File:Apu John Joseph.jpg|90px]] | [[ചീഫ് വിപ്പ്]] || [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] || [[ഇടുക്കി ജില്ല|ഇടുക്കി]] || {{party name with color|Kerala Congress}} |- |} == മന്ത്രിമാർ പാർട്ടിതിരിച്ച് == {{Pie chart | caption = ക്യാബിനറ്റ് മന്ത്രിമാർ പാർട്ടി തിരിച്ച് | value1 = 57.14 | label1 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | color1 = {{party color|Indian National Congress}} | value2 = 23.8 | label2 = ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് | color2 = {{party color|Indian Union Muslim League}} | value3 = 4.76 | label3 = കേരള കോൺഗ്രസ് | color3 = {{party color|Kerala Congress}} | value4 = 4.76 | label4 = റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ) | color4 = {{party color|Revolutionary Socialist Party (India)}} | value5 = 4.76 | label5 = കേരള കോൺഗ്രസ് (ജേക്കബ്) | color5 = {{party color|Kerala Congress (Jacob)}} | value6 = 4.76 | label6 = കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി | color6 = {{party color|Communist Marxist Party}} }} {| class="wikitable sortable" ! colspan="2" |പാർട്ടി !ക്യാബിനറ്റ് മന്ത്രിമാർ |- | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |12 |- | width="4px" bgcolor="{{party color|Indian Union Muslim League}}" | |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ്]] |5 |- | width="4px" bgcolor="{{party color|Kerala Congress}}" | |[[കേരള കോൺഗ്രസ്]] |1 |- | width="4px" bgcolor="{{party color|Revolutionary Socialist Party (India)}}" | |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)]] |1 |- | width="4px" bgcolor="{{party color|Kerala Congress (Jacob)}}" | |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കേരള കോൺഗ്രസ്( ജേക്കബ്)]] |1 |- | width="4px" bgcolor="{{party color|Communist Marxist Party}}" | |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]] |1 |} == മന്ത്രിമാർ ജില്ല തിരിച്ച് == {{Pie chart |caption=ക്യാബിനറ്റ് മന്ത്രിമാർ ജില്ലതിരിച്ച് |label1=എറണാകുളം |value1=19.04 |color1=#1E90FF |label2=മലപ്പുറം |value2=19.04 |color2=#32CD32 |label3=കൊല്ലം |value3=14.28 |color3=#FF8C00 |label4=ആലപ്പുഴ |value4=9.52 |color4=#DC143C |label5=തിരുവനന്തപുരം |value5=9.52 |color5=#8A2BE2 |label6=പാലക്കാട് |value6=9.52 |color6=#20B2AA |label7=കണ്ണൂർ |value7=4.76 |color7=#FFD700 |label8=വയനാട് |value8=4.76 |color8=#A0522D |label9=തൃശ്ശൂർ |value9=4.76 |color9=#708090 |label10=കോട്ടയം |value10=4.76 |color10=#FF69B4 }} {| class="wikitable sortable" |+ ജില്ല തിരിച്ചുള്ള മന്ത്രിമാരുടെ പ്രാതിനിധ്യം ! ജില്ല ! മന്ത്രിമാരുടെ എണ്ണം ! മന്ത്രിമാർ |- | [[എറണാകുളം ജില്ല|എറണാകുളം]] | {{Center|'''4'''}} |[[വി.ഡി. സതീശൻ]],<br> [[റോജി എം. ജോൺ]],<br> [[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി.ഇ.അബ്ദുൾ ഗഫൂർ]], <br>[[അനൂപ് ജേക്കബ്]] |- | [[മലപ്പുറം ജില്ല|മലപ്പുറം]] | {{Center|'''4'''}} |[[എ.പി. അനിൽകുമാർ]],<br> [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]],<br>[[കെ.എം. ഷാജി]],<br>[[പി.കെ. ബഷീർ]] |- | [[കൊല്ലം ജില്ല|കൊല്ലം]] | {{Center|'''3'''}} |[[ബിന്ദു കൃഷ്ണ]],<br>[[പി.സി. വിഷ്ണുനാഥ്]],<br>[[ഷിബു ബേബി ജോൺ]] |- | [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | {{Center|'''2'''}} |[[രമേശ് ചെന്നിത്തല]],<br>[[എം. ലിജു]] |- | [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | {{Center|'''2'''}} |[[കെ. മുരളീധരൻ|കെ.മുരളീധരൻ]],<br>[[സി.പി. ജോൺ]] |- | [[പാലക്കാട് ജില്ല|പാലക്കാട്]] | {{Center|'''2'''}} |[[കെ.എ. തുളസി]],<br>[[എൻ. ഷംസുദ്ദീൻ]] |- | [[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | {{Center|'''1'''}} |[[സണ്ണി ജോസഫ്]] |- | [[വയനാട് ജില്ല|വയനാട്]] | {{Center|'''1'''}} |[[ടി. സിദ്ദിഖ്]] |- | [[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | {{Center|'''1'''}} |[[ഒ.ജെ. ജനീഷ്]] |- | [[കോട്ടയം ജില്ല|കോട്ടയം]] | {{Center|'''1'''}} |[[മോൻസ് ജോസഫ്]] |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] |rowspan="4"|{{Center|'''0'''}} |rowspan="4"|- |- |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] |- |} ==അവലംബങ്ങൾ== {{Reflist|}} [[വർഗ്ഗം:കേരളത്തിലെ മന്ത്രിസഭകൾ]] lobrx6ev1p8t8j5h8zars2qvw8hmp7z 4622129 4622105 2026-05-23T05:48:03Z CatholicChristian 209870 4622129 wikitext text/x-wiki {{Infobox government cabinet|cabinet_type=മന്ത്രിസഭ|cabinet_number=24|jurisdiction=[[കേരളം|കേരളത്തിലെ]]|flag=Government of Kerala Logo.svg|flag_border=true|incumbent=|image=File:Vd-Satheesan.jpg|image_size=|caption=|state_head=[[രാജേന്ദ്ര അർലേക്കർ]]|government_head=[[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശൻ]]|date_formed=18 മേയ് 2026|date_dissolved=|members_number=21|political_parties={{legend2|{{United Democratic Front (Kerala)/meta/color}}|'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|legislature_status={{ill|ഭൂരിപക്ഷം|en|Majority government}}|opposition_cabinet=|opposition_party={{legend2|{{Left Democratic Front (Kerala)/meta/color}}|'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|opposition_leader=[[പിണറായി വിജയൻ]]|election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026]]|last_election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021]]|legislature_term=5 വർഷം|budget=|advice_and_consent1=|advice_and_consent2=<!-- etc. -->|incoming_formation=|outgoing_formation=|previous=[[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|രണ്ടാം പിണറായി മന്ത്രിസഭ]]|successor=}} [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണി (യുഡിഎഫ്)]] വിജയിച്ചതിനുശേഷം രൂപീകരിച്ച [[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശന്റെ]] നേതൃത്വത്തിലുള്ള മന്ത്രിസഭയാണ് വി.&nbsp;ഡി. സതീശൻ മന്ത്രിസഭ.<ref>{{Cite web|url=https://www.newindianexpress.com/thesundaystandard/2026/May/17/udfs-brave-poll-leader-staked-all-to-win-big|title=UDF’s Brave poll leader staked all to win big|access-date=2026-05-18|last=രവി|first=രാജേഷ്|date=2026-05-17|website=ദി ന്യൂ ഇന്ത്യൻ എക്സ്പ്രെസ്|language=en}}</ref> 2026 മെയ് 18-ന് മന്ത്രിസഭ അധികാരമേറ്റു. സത്യപ്രതിജ്ഞ സമയത്ത് മന്ത്രിസഭയിൽ ആകെ 23 മന്ത്രിമാരുണ്ടായിരുന്നു. കേരളത്തിന്റെ 24-ാമത്തെ മുഖ്യമന്ത്രിയായി വി.ഡി. സതീശൻ സത്യപ്രതിജ്ഞ ചെയ്തു, ഈ സ്ഥാനം വഹിക്കുന്ന 13-ാമത്തെ വ്യക്തിയും. == മന്ത്രിമാരും വകുപ്പുകളും == {| class="wikitable sortable" width="60%" style="text-align:center; font-size:94%;" |- ! ക്രമ നമ്പർ ! പേര് ! ചിത്രം ! നിയോജക മണ്ഡലം ! പദവി ! വകുപ്പ്(കൾ)<ref name=":1">{{Cite web |title=Allocation of Portfolios to Ministers (Kerala Council of Ministers) |url=https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |website=General Administration Department, Government of Kerala |access-date=20 May 2026 |archive-url=https://web.archive.org/web/20260520/https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |archive-date=20 May 2026 |url-status=live }}</ref> ! colspan="2" | പാർട്ടി ! ഔദ്യോഗിക കാർ നമ്പർ |- | colspan="8" style="text-align:center;" | '''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]''' |- |1 |{{Center|'''[[വി.ഡി. സതീശൻ]]'''}} |[[File:Vd-Satheesan.jpg|150px]] |{{Center|'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]'''}} |{{Center|'''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]'''}} | * [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യം]] * നാഷണൽ സേവിംഗ്സ് വകുപ്പ് * സ്റ്റോർസ് പർച്ചേസ് * [[നികുതി വകുപ്പ് (കേരളം)|വാണിജ്യ നികുതി]] * കാർഷിക ആദായ നികുതി * ട്രഷറികൾ * ലോട്ടറികൾ * സ്റ്റേറ്റ് ഓഡിറ്റ് വകുപ്പ് * [[ദി കേരളാ സ്റ്റേറ്റ്‌ ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്‌ ലിമിറ്റഡ്‌|കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] * സ്റ്റേറ്റ് ഇൻഷുറൻസ് വകുപ്പ് * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * സ്റ്റാമ്പുകളും സ്റ്റാമ്പ് ഡ്യൂട്ടിയും * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|തുറമുഖങ്ങൾ]] * [[നിയമ വകുപ്പ് (കേരളം)|നിയമം]] * ആസൂത്രണവും സാമ്പത്തിക കാര്യങ്ങളും * [[പൊതു ഭരണ വകുപ്പ് (കേരളം)|പൊതുഭരണം]] * [[ഓൾ ഇന്ത്യ സർവീസുകൾ]] ([[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]], [[ഇന്ത്യൻ പൊലീസ് സർവീസ്|ഐ.പി.എസ്]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഐ.എഫ്.എസ്]]) * [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതികവിദ്യ]] * ദുരന്തനിവാരണം * [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യങ്ങൾ]] * മലിനീകരണ നിയന്ത്രണം * ശാസ്ത്ര സ്ഥാപനങ്ങൾ * പേഴ്‌സണൽ ആൻഡ് അഡ്മിനിസ്ട്രേറ്റീവ് റിഫോംസ് * തിരഞ്ഞെടുപ്പ് * ഏകീകരണം * സൈനിക ക്ഷേമം * ദുരിതാശ്വാസം * സംസ്ഥാന ആതിഥ്യം * സിവിൽ-ക്രിമിനൽ നീതിന്യായ ഭരണം * വിമാനത്താവളങ്ങൾ * മെട്രോ റെയിൽ * അന്തർസംസ്ഥാന നദീജലങ്ങൾ * തീരദേശ കപ്പൽഗതാഗതവും ഉൾനാടൻ ജലഗതാഗതവും * കേരള സ്റ്റേറ്റ് ഇൻലാൻഡ് നാവിഗേഷൻ കോർപ്പറേഷൻ * [[കേരള ഇൻഫർമേഷൻ ആൻഡ് പബ്ലിക് റിലേഷൻസ് വകുപ്പ്|വിവര-പൊതുജന സമ്പർക്കം]] * പ്രിന്റിംഗും സ്റ്റേഷനറിയും * റെയിൽവേ * [[രാജീവ് ഗാന്ധി സെന്റർ ഫോർ ബയോടെക്നോളജി]] * [[നാഷണൽ യൂണിവേഴ്സിറ്റി ഓഫ് അഡ്വാൻസ്ഡ് ലീഗൽ സ്റ്റഡീസ്]] * തപാൽ-ടെലഗ്രാഫ് * എല്ലാ പ്രധാന നയപരമായ കാര്യങ്ങളും * മറ്റൊരിടത്തും പരാമർശിക്കാത്ത വിഷയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' |{{Center|'''1'''}} |- | colspan="8" style="text-align:center;" | '''കാബിനറ്റ് മന്ത്രിമാർ''' |- |2 |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി|പി. കെ. കുഞ്ഞാലിക്കുട്ടി]] |[[File:P. K. Kunhalikutty.jpg|120px]] |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |{{Center|'''വ്യവസായ-വിവരസാങ്കേതിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായവും വാണിജ്യവും]] * [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|വിവരസാങ്കേതികവിദ്യ]] * കൃത്രിമ ബുദ്ധി * സ്റ്റാർട്ടപ്പുകൾ * ഖനനവും ഭൂവിജ്ഞാനവും * കൈത്തറിയും തുണിത്തര വ്യവസായവും | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |3 |[[രമേശ് ചെന്നിത്തല]] |[[File:Ramesh Chennithala.jpg|120px]] |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |{{Center|'''ആഭ്യന്തര, വിജിലൻസ്, കയർ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തരം]] * [[വിജിലൻസ് ആന്റ് ആന്റി കറപ്ഷൻ ബ്യൂറോ, കേരളം|വിജിലൻസ്]] * [[കേരള ഫയർ ആൻഡ് റെസ്ക്യൂ സർവീസസ്|ഫയർ ആൻഡ് റെസ്ക്യൂ]] * [[കേരള പ്രിസൺസ് ആൻഡ് കറക്ഷണൽ സർവീസസ്|ജയിലുകൾ]] * [[കയർ]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |4 |'''[[സണ്ണി ജോസഫ്]]''' |[[File:Joseph.Sunny.KPCC.jpg|120px]] |'''[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]]''' |{{Center|'''വൈദ്യുതി, പരിസ്ഥിതി, പാർലമെന്ററി കാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വൈദ്യുതി വകുപ്പ്|വൈദ്യുതി]] * [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി]] * പാർലമെന്ററി കാര്യങ്ങൾ * [[എജൻസി ഫോർ ന്യൂ ആൻഡ് റിന്യൂവബിൾ എനർജി റിസർച്ച് ആൻഡ് ടെക്നോളജി|ANERT]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |5 |[[കെ. മുരളീധരൻ]] |[[File:Muraleedharan.jpg|120px]] |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |{{Center|'''ആരോഗ്യ-കുടുംബക്ഷേമ, ദേവസ്വം വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യവും കുടുംബക്ഷേമവും]] * [[കേരള ദേവസ്വം ബോർഡുകൾ|ദേവസ്വം]] * [[കേരള ആയുഷ് വകുപ്പ്|ആയുഷ്]] * മെഡിക്കൽ വിദ്യാഭ്യാസം * മെഡിക്കൽ സർവകലാശാല * തദ്ദേശീയ ചികിത്സ * ഔഷധ നിയന്ത്രണം * ഭക്ഷ്യസുരക്ഷ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |6 |[[മോൻസ് ജോസഫ്]] |[[File:Mons Joseph.jpeg|120px]] |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |{{Center|'''ജലവിഭവ-ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവം]] * [[കേരള ഭവന നിർമ്മാണ വകുപ്പ്|ഭവന നിർമ്മാണം]] * ജലസേചനം * കമാൻഡ് ഏരിയ ഡെവലപ്മെന്റ് അതോറിറ്റി (CADA) * ഭൂഗർഭ ജല വകുപ്പ് * ജലവിതരണവും ശുചിത്വവും | width="4px" style="background-color: {{party color|Kerala Congress (Joseph)}}" | | '''[[കേരള കോൺഗ്രസ്|KEC]]''' | |- |7 |[[ഷിബു ബേബി ജോൺ]] |[[File:Shibu-Baby-John.jpg|120px]] |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |{{Center|'''വനം, വന്യജീവി സംരക്ഷണം, നൈപുണ്യ വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വനം വകുപ്പ്|വനവും വന്യജീവി സംരക്ഷണവും]] * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|നൈപുണ്യ വികസനം]] * കേരള അക്കാദമി ഫോർ സ്കിൽസ് എക്സലൻസ് (KASE) | width="4px" style="background-color: {{party color|Revolutionary Socialist Party (India)}}" | | '''[[റെവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)|RSP]]''' | |- |8 |[[അനൂപ് ജേക്കബ്]] |[[File:Anoop jacob.JPG|120px]] |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |{{Center|'''ഭക്ഷ്യ-പൊതുവിതരണ, ഉപഭോക്തൃകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഭക്ഷ്യവും പൊതുവിതരണവും]] * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഉപഭോക്തൃകാര്യങ്ങൾ]] * ലീഗൽ മെട്രോളജി | width="4px" style="background-color: {{party color|Kerala Congress (Jacob)}}" | | '''[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|KC(Jacob)]]''' | |- |9 |[[സി.പി. ജോൺ|സി. പി. ജോൺ]] |[[File:C.P.John.jpg|120px]] |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം സെൻട്രൽ]] |{{Center|'''ഗതാഗത വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഗതാഗത വകുപ്പ്|റോഡ് ഗതാഗതം]] * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹനങ്ങൾ]] * [[കേരള സ്റ്റേറ്റ് വാട്ടർ ട്രാൻസ്പോർട്ട് വകുപ്പ്|ജലഗതാഗതം]] | width="4px" style="background-color: {{party color|Communist Marxist Party}}" | | '''[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|CMP]]''' | |- |10 |[[എ.പി. അനിൽകുമാർ|എ. പി. അനിൽ കുമാർ]] |[[File:A.P. Anil Kumar.JPG|120px]] |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |{{Center|'''റവന്യൂ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള റവന്യൂ വകുപ്പ്|ഭൂരവന്യൂ]] * [[കേരള റവന്യൂ-ഭൂരേഖ വകുപ്പ്|സർവേയും ഭൂരേഖകളും]] * ഭൂപരിഷ്കരണം | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |11 |[[എൻ. ഷംസുദ്ദീൻ]] |[[File:N Shamsudheen 01.jpg|120px]] |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |{{Center|'''പൊതുവിദ്യാഭ്യാസ-ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസം]] * [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമം]] * സാക്ഷരതാ പ്രസ്ഥാനം * വഖഫ്-ഹജ്ജ് തീർത്ഥാടനം | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |12 |[[പി.സി. വിഷ്ണുനാഥ്|പി. സി. വിഷ്ണുനാഥ്]] |[[File:APJPCV.jpg|120px]] |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |{{Center|'''ടൂറിസം-സാംസ്കാരികകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം]] * [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരിക കാര്യങ്ങൾ]] * [[കേരള സംസ്ഥാന ചലച്ചിത്ര വികസന കോർപ്പറേഷൻ]] (KSFDC) * കേരള ചലച്ചിത്ര അക്കാദമി * കേരള സാംസ്കാരിക പ്രവർത്തക ക്ഷേമനിധി ബോർഡ് | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |13 |[[റോജി എം. ജോൺ]] |[[File:Roji M John at Kodussery IMG 20260326 160534972 (cropped).jpg|120px]] |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |{{Center|'''ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നത വിദ്യാഭ്യാസം]] * കോളജിയറ്റ് വിദ്യാഭ്യാസം * സാങ്കേതിക വിദ്യാഭ്യാസം * സർവകലാശാലകൾ (കാർഷിക, വെറ്ററിനറി, ഫിഷറീസ്, മെഡിക്കൽ, ഡിജിറ്റൽ സർവകലാശാലകൾ ഒഴികെ) * പ്രവേശന പരീക്ഷകൾ * [[നാഷണൽ കാഡറ്റ് കോർ|എൻ.സി.സി]] * അഡിഷണൽ സ്കിൽ അക്വിസിഷൻ പ്രോഗ്രാം (ASAP) | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |14 |[[ബിന്ദു കൃഷ്ണ]] |[[File:BinduKrishnaMLA.png|120px]] |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |{{Center|'''തൊഴിൽ, മൃഗസംരക്ഷണം, ക്ഷീരവികസനം, വനിത-ശിശു വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ]] * [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണം]] * [[കേരള ക്ഷീരവികസന വകുപ്പ്|ക്ഷീരവികസനം]] * ക്ഷീര സഹകരണസംഘങ്ങൾ * [[കേരള വനിത-ശിശു വികസന വകുപ്പ്|വനിത-ശിശു വികസനം]] * [[കേരള വെറ്ററിനറി ആൻഡ് അനിമൽ സയൻസസ് സർവകലാശാല]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |15 |[[എം. ലിജു]] |[[File:Mlaliju.jpg|100px]] |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |{{Center|'''എക്സൈസ്-സഹകരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സഹകരണ വകുപ്പ്|സഹകരണം]] * [[കേരള എക്സൈസ് വകുപ്പ്|എക്സൈസ്]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |16 |[[കെ.എം. ഷാജി|കെ. എം. ഷാജി]] | [[File:Km-shaji.webp]] |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |{{Center|'''തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ തദ്ദേശ സ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] * പഞ്ചായത്ത് * മുനിസിപ്പാലിറ്റി * കോർപ്പറേഷൻ * നഗരാസൂത്രണം * ഗ്രാമവികസനം * പ്രാദേശിക വികസന അതോറിറ്റികൾ * [[കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കൽ അഡ്മിനിസ്ട്രേഷൻ|KILA]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |17 |[[പി.കെ. ബഷീർ|പി. കെ. ബഷീർ]] |[[File:P.-K.-Basheer.jpg]] |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |{{Center|'''പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |18 |[[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി. ഇ. അബ്ദുൽ ഗഫൂർ]] |[[File:VE_Abdul_Gafoor.jpg|120px]] |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |{{Center|'''മത്സ്യബന്ധന-സാമൂഹ്യനീതി വകുപ്പ് മന്ത്രി'''}} | * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധനം]] * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|ഹാർബർ എഞ്ചിനീയറിംഗ്]] * [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |19 |[[ടി. സിദ്ദിഖ്]] |[[File:T-siddique-1-09-1502280811-1553345512.jpg|150px]] |[[കൽപ്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |{{Center|'''കാർഷിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കാർഷിക വികസന-കർഷക ക്ഷേമ വകുപ്പ്|കൃഷി]] * മണ്ണ് സർവേയും മണ്ണ് സംരക്ഷണവും * [[കേരള കാർഷിക സർവകലാശാല]] * വെയർഹൗസിംഗ് കോർപ്പറേഷൻ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |20 |[[കെ. എ. തുളസി]] |[[File:K-a-thulasi-thulasi-teacher-77695.jpg]] |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കൊങ്ങാട്]] |{{Center|'''പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്കക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി വികസനം]] * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികവർഗ വികസനം]] * [[കേരള പിന്നാക്കവിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസനം]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |21 |[[ഒ. ജെ. ജനീഷ്]] |{{CSS image crop|Image=OJ Janeesh.jpg|bSize = 100|cWidth = 100|cHeight = 120|oTop = 5|oLeft = 0}} |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |{{Center|'''കായികം, യുവജനക്ഷേമം, രജിസ്ട്രേഷൻ, പുരാവസ്തു വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായികം]] * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|യുവജനകാര്യങ്ങൾ]] * [[കേരള നികുതി വകുപ്പ്|രജിസ്ട്രേഷൻ]] * [[കേരള പുരാവസ്തു വകുപ്പ്|പുരാവസ്തു]] * പുരാരേഖകൾ * മൃഗശാലകൾ * മ്യൂസിയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |} ==സ്പീക്കറും ചീഫ് വിപ്പും== {| class="wikitable sortable" ! colspan="8" |സ്പീക്കർ - സഭാധ്യക്ഷൻ |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |[[File:Thiruvanchoor Radhakrishnan.jpg|80px]] | [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] || [[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] || [[കോട്ടയം ജില്ല|കോട്ടയം]] || {{party name with color|Indian National Congress}} |- |2|| [[ഷാനിമോൾ ഉസ്മാൻ]] |[[File:Shanimol Osman.jpg|80px]] | [[ഡെപ്യൂട്ടി സ്പീക്കർ]] || [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] || [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] || {{party name with color|Indian National Congress}} |- |} {| class="wikitable sortable" ! colspan="8" |ചീഫ് വിപ്പ് |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[അപ്പു ജോൺ ജോസഫ്]] |[[File:Apu John Joseph.jpg|90px]] | [[ചീഫ് വിപ്പ്]] || [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] || [[ഇടുക്കി ജില്ല|ഇടുക്കി]] || {{party name with color|Kerala Congress}} |- |} == മന്ത്രിമാർ പാർട്ടിതിരിച്ച് == {{Pie chart | caption = ക്യാബിനറ്റ് മന്ത്രിമാർ പാർട്ടി തിരിച്ച് | value1 = 57.14 | label1 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | color1 = {{party color|Indian National Congress}} | value2 = 23.8 | label2 = ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് | color2 = {{party color|Indian Union Muslim League}} | value3 = 4.76 | label3 = കേരള കോൺഗ്രസ് | color3 = {{party color|Kerala Congress}} | value4 = 4.76 | label4 = റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ) | color4 = {{party color|Revolutionary Socialist Party (India)}} | value5 = 4.76 | label5 = കേരള കോൺഗ്രസ് (ജേക്കബ്) | color5 = {{party color|Kerala Congress (Jacob)}} | value6 = 4.76 | label6 = കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി | color6 = {{party color|Communist Marxist Party}} }} {| class="wikitable sortable" ! colspan="2" |പാർട്ടി !ക്യാബിനറ്റ് മന്ത്രിമാർ |- | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |12 |- | width="4px" bgcolor="{{party color|Indian Union Muslim League}}" | |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ്]] |5 |- | width="4px" bgcolor="{{party color|Kerala Congress}}" | |[[കേരള കോൺഗ്രസ്]] |1 |- | width="4px" bgcolor="{{party color|Revolutionary Socialist Party (India)}}" | |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)]] |1 |- | width="4px" bgcolor="{{party color|Kerala Congress (Jacob)}}" | |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കേരള കോൺഗ്രസ്( ജേക്കബ്)]] |1 |- | width="4px" bgcolor="{{party color|Communist Marxist Party}}" | |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]] |1 |} == മന്ത്രിമാർ ജില്ല തിരിച്ച് == {{Pie chart |caption=ക്യാബിനറ്റ് മന്ത്രിമാർ ജില്ലതിരിച്ച് |label1=എറണാകുളം |value1=19.04 |color1=#1E90FF |label2=മലപ്പുറം |value2=19.04 |color2=#32CD32 |label3=കൊല്ലം |value3=14.28 |color3=#FF8C00 |label4=ആലപ്പുഴ |value4=9.52 |color4=#DC143C |label5=തിരുവനന്തപുരം |value5=9.52 |color5=#8A2BE2 |label6=പാലക്കാട് |value6=9.52 |color6=#20B2AA |label7=കണ്ണൂർ |value7=4.76 |color7=#FFD700 |label8=വയനാട് |value8=4.76 |color8=#A0522D |label9=തൃശ്ശൂർ |value9=4.76 |color9=#708090 |label10=കോട്ടയം |value10=4.76 |color10=#FF69B4 }} {| class="wikitable sortable" |+ ജില്ല തിരിച്ചുള്ള മന്ത്രിമാരുടെ പ്രാതിനിധ്യം ! ജില്ല ! മന്ത്രിമാരുടെ എണ്ണം ! മന്ത്രിമാർ |- | [[എറണാകുളം ജില്ല|എറണാകുളം]] | {{Center|'''4'''}} |[[വി.ഡി. സതീശൻ]],<br> [[റോജി എം. ജോൺ]],<br> [[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി.ഇ.അബ്ദുൾ ഗഫൂർ]], <br>[[അനൂപ് ജേക്കബ്]] |- | [[മലപ്പുറം ജില്ല|മലപ്പുറം]] | {{Center|'''4'''}} |[[എ.പി. അനിൽകുമാർ]],<br> [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]],<br>[[കെ.എം. ഷാജി]],<br>[[പി.കെ. ബഷീർ]] |- | [[കൊല്ലം ജില്ല|കൊല്ലം]] | {{Center|'''3'''}} |[[ബിന്ദു കൃഷ്ണ]],<br>[[പി.സി. വിഷ്ണുനാഥ്]],<br>[[ഷിബു ബേബി ജോൺ]] |- | [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | {{Center|'''2'''}} |[[രമേശ് ചെന്നിത്തല]],<br>[[എം. ലിജു]] |- | [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | {{Center|'''2'''}} |[[കെ. മുരളീധരൻ|കെ.മുരളീധരൻ]],<br>[[സി.പി. ജോൺ]] |- | [[പാലക്കാട് ജില്ല|പാലക്കാട്]] | {{Center|'''2'''}} |[[കെ.എ. തുളസി]],<br>[[എൻ. ഷംസുദ്ദീൻ]] |- | [[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | {{Center|'''1'''}} |[[സണ്ണി ജോസഫ്]] |- | [[വയനാട് ജില്ല|വയനാട്]] | {{Center|'''1'''}} |[[ടി. സിദ്ദിഖ്]] |- | [[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | {{Center|'''1'''}} |[[ഒ.ജെ. ജനീഷ്]] |- | [[കോട്ടയം ജില്ല|കോട്ടയം]] | {{Center|'''1'''}} |[[മോൻസ് ജോസഫ്]] |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] |rowspan="4"|{{Center|'''0'''}} |rowspan="4"|- |- |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] |- |} ==അവലംബങ്ങൾ== {{Reflist|}} [[വർഗ്ഗം:കേരളത്തിലെ മന്ത്രിസഭകൾ]] sgs2tfmhgi0t17it09q3sae19kzchtg 4622176 4622129 2026-05-23T07:53:28Z CatholicChristian 209870 4622176 wikitext text/x-wiki {{Infobox government cabinet|cabinet_type=മന്ത്രിസഭ|cabinet_number=24|jurisdiction=[[കേരളം|കേരളത്തിലെ]]|flag=Government of Kerala Logo.svg|flag_border=true|incumbent=|image=File:Vd-Satheesan.jpg|image_size=|caption=|state_head=[[രാജേന്ദ്ര അർലേക്കർ]]|government_head=[[വി.ഡി. സതീശൻ|വി.&nbsp;ഡി. സതീശൻ]]|date_formed=18 മേയ് 2026|date_dissolved=|members_number=21|political_parties={{legend2|{{United Democratic Front (Kerala)/meta/color}}|'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|legislature_status={{ill|ഭൂരിപക്ഷം|en|Majority government}}|opposition_cabinet=|opposition_party={{legend2|{{Left Democratic Front (Kerala)/meta/color}}|'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|opposition_leader=[[പിണറായി വിജയൻ]]|election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026]]|last_election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021]]|legislature_term=5 വർഷം|budget=|advice_and_consent1=|advice_and_consent2=<!-- etc. -->|incoming_formation=|outgoing_formation=|previous=[[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|രണ്ടാം പിണറായി മന്ത്രിസഭ]]|successor=}} [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണി (യുഡിഎഫ്)]] വിജയിച്ചതിനുശേഷം രൂപീകരിച്ച [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശന്റെ]] നേതൃത്വത്തിലുള്ള മന്ത്രിസഭയാണ് വി.&nbsp;ഡി. സതീശൻ മന്ത്രിസഭ.<ref>{{Cite web|url=https://www.newindianexpress.com/thesundaystandard/2026/May/17/udfs-brave-poll-leader-staked-all-to-win-big|title=UDF’s Brave poll leader staked all to win big|access-date=2026-05-18|last=രവി|first=രാജേഷ്|date=2026-05-17|website=ദി ന്യൂ ഇന്ത്യൻ എക്സ്പ്രെസ്|language=en}}</ref> 2026 മെയ് 18-ന് മന്ത്രിസഭ അധികാരമേറ്റു. സത്യപ്രതിജ്ഞ സമയത്ത് മന്ത്രിസഭയിൽ ആകെ 23 മന്ത്രിമാരുണ്ടായിരുന്നു. കേരളത്തിന്റെ 24-ാമത്തെ മുഖ്യമന്ത്രിയായി വി.ഡി. സതീശൻ സത്യപ്രതിജ്ഞ ചെയ്തു, ഈ സ്ഥാനം വഹിക്കുന്ന 13-ാമത്തെ വ്യക്തിയും. == മന്ത്രിമാരും വകുപ്പുകളും == {| class="wikitable sortable" width="60%" style="text-align:center; font-size:94%;" |- ! ക്രമ നമ്പർ ! പേര് ! ചിത്രം ! നിയോജക മണ്ഡലം ! പദവി ! വകുപ്പ്(കൾ)<ref name=":1">{{Cite web |title=Allocation of Portfolios to Ministers (Kerala Council of Ministers) |url=https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |website=General Administration Department, Government of Kerala |access-date=20 May 2026 |archive-url=https://web.archive.org/web/20260520/https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |archive-date=20 May 2026 |url-status=live }}</ref> ! colspan="2" | പാർട്ടി ! ഔദ്യോഗിക കാർ നമ്പർ |- | colspan="8" style="text-align:center;" | '''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]''' |- |1 |{{Center|'''[[വി.ഡി. സതീശൻ]]'''}} |[[File:Vd-Satheesan.jpg|150px]] |{{Center|'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]'''}} |{{Center|'''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]'''}} | * [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യം]] * നാഷണൽ സേവിംഗ്സ് വകുപ്പ് * സ്റ്റോർസ് പർച്ചേസ് * [[നികുതി വകുപ്പ് (കേരളം)|വാണിജ്യ നികുതി]] * കാർഷിക ആദായ നികുതി * ട്രഷറികൾ * ലോട്ടറികൾ * സ്റ്റേറ്റ് ഓഡിറ്റ് വകുപ്പ് * [[ദി കേരളാ സ്റ്റേറ്റ്‌ ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്‌ ലിമിറ്റഡ്‌|കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] * സ്റ്റേറ്റ് ഇൻഷുറൻസ് വകുപ്പ് * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * സ്റ്റാമ്പുകളും സ്റ്റാമ്പ് ഡ്യൂട്ടിയും * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|തുറമുഖങ്ങൾ]] * [[നിയമ വകുപ്പ് (കേരളം)|നിയമം]] * ആസൂത്രണവും സാമ്പത്തിക കാര്യങ്ങളും * [[പൊതു ഭരണ വകുപ്പ് (കേരളം)|പൊതുഭരണം]] * [[ഓൾ ഇന്ത്യ സർവീസുകൾ]] ([[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]], [[ഇന്ത്യൻ പൊലീസ് സർവീസ്|ഐ.പി.എസ്]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഐ.എഫ്.എസ്]]) * [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതികവിദ്യ]] * ദുരന്തനിവാരണം * [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യങ്ങൾ]] * മലിനീകരണ നിയന്ത്രണം * ശാസ്ത്ര സ്ഥാപനങ്ങൾ * പേഴ്‌സണൽ ആൻഡ് അഡ്മിനിസ്ട്രേറ്റീവ് റിഫോംസ് * തിരഞ്ഞെടുപ്പ് * ഏകീകരണം * സൈനിക ക്ഷേമം * ദുരിതാശ്വാസം * സംസ്ഥാന ആതിഥ്യം * സിവിൽ-ക്രിമിനൽ നീതിന്യായ ഭരണം * വിമാനത്താവളങ്ങൾ * മെട്രോ റെയിൽ * അന്തർസംസ്ഥാന നദീജലങ്ങൾ * തീരദേശ കപ്പൽഗതാഗതവും ഉൾനാടൻ ജലഗതാഗതവും * കേരള സ്റ്റേറ്റ് ഇൻലാൻഡ് നാവിഗേഷൻ കോർപ്പറേഷൻ * [[കേരള ഇൻഫർമേഷൻ ആൻഡ് പബ്ലിക് റിലേഷൻസ് വകുപ്പ്|വിവര-പൊതുജന സമ്പർക്കം]] * പ്രിന്റിംഗും സ്റ്റേഷനറിയും * റെയിൽവേ * [[രാജീവ് ഗാന്ധി സെന്റർ ഫോർ ബയോടെക്നോളജി]] * [[നാഷണൽ യൂണിവേഴ്സിറ്റി ഓഫ് അഡ്വാൻസ്ഡ് ലീഗൽ സ്റ്റഡീസ്]] * തപാൽ-ടെലഗ്രാഫ് * എല്ലാ പ്രധാന നയപരമായ കാര്യങ്ങളും * മറ്റൊരിടത്തും പരാമർശിക്കാത്ത വിഷയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' |{{Center|'''1'''}} |- | colspan="8" style="text-align:center;" | '''കാബിനറ്റ് മന്ത്രിമാർ''' |- |2 |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി|പി. കെ. കുഞ്ഞാലിക്കുട്ടി]] |[[File:P. K. Kunhalikutty.jpg|120px]] |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |{{Center|'''വ്യവസായ-വിവരസാങ്കേതിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായവും വാണിജ്യവും]] * [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|വിവരസാങ്കേതികവിദ്യ]] * കൃത്രിമ ബുദ്ധി * സ്റ്റാർട്ടപ്പുകൾ * ഖനനവും ഭൂവിജ്ഞാനവും * കൈത്തറിയും തുണിത്തര വ്യവസായവും | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |3 |[[രമേശ് ചെന്നിത്തല]] |[[File:Ramesh Chennithala.jpg|120px]] |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |{{Center|'''ആഭ്യന്തര, വിജിലൻസ്, കയർ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തരം]] * [[വിജിലൻസ് ആന്റ് ആന്റി കറപ്ഷൻ ബ്യൂറോ, കേരളം|വിജിലൻസ്]] * [[കേരള ഫയർ ആൻഡ് റെസ്ക്യൂ സർവീസസ്|ഫയർ ആൻഡ് റെസ്ക്യൂ]] * [[കേരള പ്രിസൺസ് ആൻഡ് കറക്ഷണൽ സർവീസസ്|ജയിലുകൾ]] * [[കയർ]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |4 |'''[[സണ്ണി ജോസഫ്]]''' |[[File:Joseph.Sunny.KPCC.jpg|120px]] |'''[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]]''' |{{Center|'''വൈദ്യുതി, പരിസ്ഥിതി, പാർലമെന്ററി കാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വൈദ്യുതി വകുപ്പ്|വൈദ്യുതി]] * [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി]] * പാർലമെന്ററി കാര്യങ്ങൾ * [[എജൻസി ഫോർ ന്യൂ ആൻഡ് റിന്യൂവബിൾ എനർജി റിസർച്ച് ആൻഡ് ടെക്നോളജി|ANERT]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |5 |[[കെ. മുരളീധരൻ]] |[[File:Muraleedharan.jpg|120px]] |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |{{Center|'''ആരോഗ്യ-കുടുംബക്ഷേമ, ദേവസ്വം വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യവും കുടുംബക്ഷേമവും]] * [[കേരള ദേവസ്വം ബോർഡുകൾ|ദേവസ്വം]] * [[കേരള ആയുഷ് വകുപ്പ്|ആയുഷ്]] * മെഡിക്കൽ വിദ്യാഭ്യാസം * മെഡിക്കൽ സർവകലാശാല * തദ്ദേശീയ ചികിത്സ * ഔഷധ നിയന്ത്രണം * ഭക്ഷ്യസുരക്ഷ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |6 |[[മോൻസ് ജോസഫ്]] |[[File:Mons Joseph.jpeg|120px]] |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |{{Center|'''ജലവിഭവ-ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവം]] * [[കേരള ഭവന നിർമ്മാണ വകുപ്പ്|ഭവന നിർമ്മാണം]] * ജലസേചനം * കമാൻഡ് ഏരിയ ഡെവലപ്മെന്റ് അതോറിറ്റി (CADA) * ഭൂഗർഭ ജല വകുപ്പ് * ജലവിതരണവും ശുചിത്വവും | width="4px" style="background-color: {{party color|Kerala Congress (Joseph)}}" | | '''[[കേരള കോൺഗ്രസ്|KEC]]''' | |- |7 |[[ഷിബു ബേബി ജോൺ]] |[[File:Shibu-Baby-John.jpg|120px]] |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |{{Center|'''വനം, വന്യജീവി സംരക്ഷണം, നൈപുണ്യ വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വനം വകുപ്പ്|വനവും വന്യജീവി സംരക്ഷണവും]] * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|നൈപുണ്യ വികസനം]] * കേരള അക്കാദമി ഫോർ സ്കിൽസ് എക്സലൻസ് (KASE) | width="4px" style="background-color: {{party color|Revolutionary Socialist Party (India)}}" | | '''[[റെവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)|RSP]]''' | |- |8 |[[അനൂപ് ജേക്കബ്]] |[[File:Anoop jacob.JPG|120px]] |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |{{Center|'''ഭക്ഷ്യ-പൊതുവിതരണ, ഉപഭോക്തൃകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഭക്ഷ്യവും പൊതുവിതരണവും]] * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഉപഭോക്തൃകാര്യങ്ങൾ]] * ലീഗൽ മെട്രോളജി | width="4px" style="background-color: {{party color|Kerala Congress (Jacob)}}" | | '''[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|KC(Jacob)]]''' | |- |9 |[[സി.പി. ജോൺ|സി. പി. ജോൺ]] |[[File:C.P.John.jpg|120px]] |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം സെൻട്രൽ]] |{{Center|'''ഗതാഗത വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഗതാഗത വകുപ്പ്|റോഡ് ഗതാഗതം]] * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹനങ്ങൾ]] * [[കേരള സ്റ്റേറ്റ് വാട്ടർ ട്രാൻസ്പോർട്ട് വകുപ്പ്|ജലഗതാഗതം]] | width="4px" style="background-color: {{party color|Communist Marxist Party}}" | | '''[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|CMP]]''' | |- |10 |[[എ.പി. അനിൽകുമാർ|എ. പി. അനിൽ കുമാർ]] |[[File:A.P. Anil Kumar.JPG|120px]] |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |{{Center|'''റവന്യൂ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള റവന്യൂ വകുപ്പ്|ഭൂരവന്യൂ]] * [[കേരള റവന്യൂ-ഭൂരേഖ വകുപ്പ്|സർവേയും ഭൂരേഖകളും]] * ഭൂപരിഷ്കരണം | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |11 |[[എൻ. ഷംസുദ്ദീൻ]] |[[File:N Shamsudheen 01.jpg|120px]] |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |{{Center|'''പൊതുവിദ്യാഭ്യാസ-ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസം]] * [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമം]] * സാക്ഷരതാ പ്രസ്ഥാനം * വഖഫ്-ഹജ്ജ് തീർത്ഥാടനം | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |12 |[[പി.സി. വിഷ്ണുനാഥ്|പി. സി. വിഷ്ണുനാഥ്]] |[[File:APJPCV.jpg|120px]] |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |{{Center|'''ടൂറിസം-സാംസ്കാരികകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം]] * [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരിക കാര്യങ്ങൾ]] * [[കേരള സംസ്ഥാന ചലച്ചിത്ര വികസന കോർപ്പറേഷൻ]] (KSFDC) * കേരള ചലച്ചിത്ര അക്കാദമി * കേരള സാംസ്കാരിക പ്രവർത്തക ക്ഷേമനിധി ബോർഡ് | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |13 |[[റോജി എം. ജോൺ]] |[[File:Roji M John at Kodussery IMG 20260326 160534972 (cropped).jpg|120px]] |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |{{Center|'''ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നത വിദ്യാഭ്യാസം]] * കോളജിയറ്റ് വിദ്യാഭ്യാസം * സാങ്കേതിക വിദ്യാഭ്യാസം * സർവകലാശാലകൾ (കാർഷിക, വെറ്ററിനറി, ഫിഷറീസ്, മെഡിക്കൽ, ഡിജിറ്റൽ സർവകലാശാലകൾ ഒഴികെ) * പ്രവേശന പരീക്ഷകൾ * [[നാഷണൽ കാഡറ്റ് കോർ|എൻ.സി.സി]] * അഡിഷണൽ സ്കിൽ അക്വിസിഷൻ പ്രോഗ്രാം (ASAP) | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |14 |[[ബിന്ദു കൃഷ്ണ]] |[[File:BinduKrishnaMLA.png|120px]] |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |{{Center|'''തൊഴിൽ, മൃഗസംരക്ഷണം, ക്ഷീരവികസനം, വനിത-ശിശു വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ]] * [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണം]] * [[കേരള ക്ഷീരവികസന വകുപ്പ്|ക്ഷീരവികസനം]] * ക്ഷീര സഹകരണസംഘങ്ങൾ * [[കേരള വനിത-ശിശു വികസന വകുപ്പ്|വനിത-ശിശു വികസനം]] * [[കേരള വെറ്ററിനറി ആൻഡ് അനിമൽ സയൻസസ് സർവകലാശാല]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |15 |[[എം. ലിജു]] |[[File:Mlaliju.jpg|100px]] |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |{{Center|'''എക്സൈസ്-സഹകരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സഹകരണ വകുപ്പ്|സഹകരണം]] * [[കേരള എക്സൈസ് വകുപ്പ്|എക്സൈസ്]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |16 |[[കെ.എം. ഷാജി|കെ. എം. ഷാജി]] | [[File:Km-shaji.webp]] |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |{{Center|'''തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ തദ്ദേശ സ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] * പഞ്ചായത്ത് * മുനിസിപ്പാലിറ്റി * കോർപ്പറേഷൻ * നഗരാസൂത്രണം * ഗ്രാമവികസനം * പ്രാദേശിക വികസന അതോറിറ്റികൾ * [[കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കൽ അഡ്മിനിസ്ട്രേഷൻ|KILA]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |17 |[[പി.കെ. ബഷീർ|പി. കെ. ബഷീർ]] |[[File:P.-K.-Basheer.jpg]] |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |{{Center|'''പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |18 |[[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി. ഇ. അബ്ദുൽ ഗഫൂർ]] |[[File:VE_Abdul_Gafoor.jpg|120px]] |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |{{Center|'''മത്സ്യബന്ധന-സാമൂഹ്യനീതി വകുപ്പ് മന്ത്രി'''}} | * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധനം]] * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|ഹാർബർ എഞ്ചിനീയറിംഗ്]] * [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |19 |[[ടി. സിദ്ദിഖ്]] |[[File:T-siddique-1-09-1502280811-1553345512.jpg|150px]] |[[കൽപ്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |{{Center|'''കാർഷിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കാർഷിക വികസന-കർഷക ക്ഷേമ വകുപ്പ്|കൃഷി]] * മണ്ണ് സർവേയും മണ്ണ് സംരക്ഷണവും * [[കേരള കാർഷിക സർവകലാശാല]] * വെയർഹൗസിംഗ് കോർപ്പറേഷൻ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |20 |[[കെ. എ. തുളസി]] |[[File:K-a-thulasi-thulasi-teacher-77695.jpg]] |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കൊങ്ങാട്]] |{{Center|'''പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്കക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി വികസനം]] * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികവർഗ വികസനം]] * [[കേരള പിന്നാക്കവിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസനം]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |21 |[[ഒ. ജെ. ജനീഷ്]] |{{CSS image crop|Image=OJ Janeesh.jpg|bSize = 100|cWidth = 100|cHeight = 120|oTop = 5|oLeft = 0}} |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |{{Center|'''കായികം, യുവജനക്ഷേമം, രജിസ്ട്രേഷൻ, പുരാവസ്തു വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായികം]] * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|യുവജനകാര്യങ്ങൾ]] * [[കേരള നികുതി വകുപ്പ്|രജിസ്ട്രേഷൻ]] * [[കേരള പുരാവസ്തു വകുപ്പ്|പുരാവസ്തു]] * പുരാരേഖകൾ * മൃഗശാലകൾ * മ്യൂസിയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |} ==സ്പീക്കറും ചീഫ് വിപ്പും== {| class="wikitable sortable" ! colspan="8" |സ്പീക്കർ - സഭാധ്യക്ഷൻ |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |[[File:Thiruvanchoor Radhakrishnan.jpg|80px]] | [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] || [[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] || [[കോട്ടയം ജില്ല|കോട്ടയം]] || {{party name with color|Indian National Congress}} |- |2|| [[ഷാനിമോൾ ഉസ്മാൻ]] |[[File:Shanimol Osman.jpg|80px]] | [[ഡെപ്യൂട്ടി സ്പീക്കർ]] || [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] || [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] || {{party name with color|Indian National Congress}} |- |} {| class="wikitable sortable" ! colspan="8" |ചീഫ് വിപ്പ് |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[അപ്പു ജോൺ ജോസഫ്]] |[[File:Apu John Joseph.jpg|90px]] | [[ചീഫ് വിപ്പ്]] || [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] || [[ഇടുക്കി ജില്ല|ഇടുക്കി]] || {{party name with color|Kerala Congress}} |- |} == മന്ത്രിമാർ പാർട്ടിതിരിച്ച് == {{Pie chart | caption = ക്യാബിനറ്റ് മന്ത്രിമാർ പാർട്ടി തിരിച്ച് | value1 = 57.14 | label1 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | color1 = {{party color|Indian National Congress}} | value2 = 23.8 | label2 = ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് | color2 = {{party color|Indian Union Muslim League}} | value3 = 4.76 | label3 = കേരള കോൺഗ്രസ് | color3 = {{party color|Kerala Congress}} | value4 = 4.76 | label4 = റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ) | color4 = {{party color|Revolutionary Socialist Party (India)}} | value5 = 4.76 | label5 = കേരള കോൺഗ്രസ് (ജേക്കബ്) | color5 = {{party color|Kerala Congress (Jacob)}} | value6 = 4.76 | label6 = കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി | color6 = {{party color|Communist Marxist Party}} }} {| class="wikitable sortable" ! colspan="2" |പാർട്ടി !ക്യാബിനറ്റ് മന്ത്രിമാർ |- | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |12 |- | width="4px" bgcolor="{{party color|Indian Union Muslim League}}" | |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ്]] |5 |- | width="4px" bgcolor="{{party color|Kerala Congress}}" | |[[കേരള കോൺഗ്രസ്]] |1 |- | width="4px" bgcolor="{{party color|Revolutionary Socialist Party (India)}}" | |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)]] |1 |- | width="4px" bgcolor="{{party color|Kerala Congress (Jacob)}}" | |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കേരള കോൺഗ്രസ്( ജേക്കബ്)]] |1 |- | width="4px" bgcolor="{{party color|Communist Marxist Party}}" | |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]] |1 |} == മന്ത്രിമാർ ജില്ല തിരിച്ച് == {{Pie chart |caption=ക്യാബിനറ്റ് മന്ത്രിമാർ ജില്ലതിരിച്ച് |label1=എറണാകുളം |value1=19.04 |color1=#1E90FF |label2=മലപ്പുറം |value2=19.04 |color2=#32CD32 |label3=കൊല്ലം |value3=14.28 |color3=#FF8C00 |label4=ആലപ്പുഴ |value4=9.52 |color4=#DC143C |label5=തിരുവനന്തപുരം |value5=9.52 |color5=#8A2BE2 |label6=പാലക്കാട് |value6=9.52 |color6=#20B2AA |label7=കണ്ണൂർ |value7=4.76 |color7=#FFD700 |label8=വയനാട് |value8=4.76 |color8=#A0522D |label9=തൃശ്ശൂർ |value9=4.76 |color9=#708090 |label10=കോട്ടയം |value10=4.76 |color10=#FF69B4 }} {| class="wikitable sortable" |+ ജില്ല തിരിച്ചുള്ള മന്ത്രിമാരുടെ പ്രാതിനിധ്യം ! ജില്ല ! മന്ത്രിമാരുടെ എണ്ണം ! മന്ത്രിമാർ |- | [[എറണാകുളം ജില്ല|എറണാകുളം]] | {{Center|'''4'''}} |[[വി.ഡി. സതീശൻ]],<br> [[റോജി എം. ജോൺ]],<br> [[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി.ഇ.അബ്ദുൾ ഗഫൂർ]], <br>[[അനൂപ് ജേക്കബ്]] |- | [[മലപ്പുറം ജില്ല|മലപ്പുറം]] | {{Center|'''4'''}} |[[എ.പി. അനിൽകുമാർ]],<br> [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]],<br>[[കെ.എം. ഷാജി]],<br>[[പി.കെ. ബഷീർ]] |- | [[കൊല്ലം ജില്ല|കൊല്ലം]] | {{Center|'''3'''}} |[[ബിന്ദു കൃഷ്ണ]],<br>[[പി.സി. വിഷ്ണുനാഥ്]],<br>[[ഷിബു ബേബി ജോൺ]] |- | [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | {{Center|'''2'''}} |[[രമേശ് ചെന്നിത്തല]],<br>[[എം. ലിജു]] |- | [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | {{Center|'''2'''}} |[[കെ. മുരളീധരൻ|കെ.മുരളീധരൻ]],<br>[[സി.പി. ജോൺ]] |- | [[പാലക്കാട് ജില്ല|പാലക്കാട്]] | {{Center|'''2'''}} |[[കെ.എ. തുളസി]],<br>[[എൻ. ഷംസുദ്ദീൻ]] |- | [[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | {{Center|'''1'''}} |[[സണ്ണി ജോസഫ്]] |- | [[വയനാട് ജില്ല|വയനാട്]] | {{Center|'''1'''}} |[[ടി. സിദ്ദിഖ്]] |- | [[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | {{Center|'''1'''}} |[[ഒ.ജെ. ജനീഷ്]] |- | [[കോട്ടയം ജില്ല|കോട്ടയം]] | {{Center|'''1'''}} |[[മോൻസ് ജോസഫ്]] |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] |rowspan="4"|{{Center|'''0'''}} |rowspan="4"|- |- |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] |- |} ==അവലംബങ്ങൾ== {{Reflist|}} [[വർഗ്ഗം:കേരളത്തിലെ മന്ത്രിസഭകൾ]] li95jvwgu7zubpeka2hzb4ritts5xi0 4622177 4622176 2026-05-23T07:56:28Z CatholicChristian 209870 4622177 wikitext text/x-wiki {{Infobox government cabinet|cabinet_type=മന്ത്രിസഭ|cabinet_number=24|jurisdiction=[[കേരളം|കേരളത്തിലെ]]|flag=Government of Kerala Logo.svg|flag_border=true|incumbent=|image=File:Vd-Satheesan.jpg|image_size=|caption=|state_head=[[രാജേന്ദ്ര അർലേക്കർ]]|government_head=[[വി.ഡി. സതീശൻ]]|date_formed=18 മേയ് 2026|date_dissolved=|members_number=21|political_parties={{legend2|{{United Democratic Front (Kerala)/meta/color}}|'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|legislature_status={{ill|ഭൂരിപക്ഷം|en|Majority government}}|opposition_cabinet=|opposition_party={{legend2|{{Left Democratic Front (Kerala)/meta/color}}|'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|opposition_leader=[[പിണറായി വിജയൻ]]|election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026]]|last_election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021]]|legislature_term=5 വർഷം|budget=|advice_and_consent1=|advice_and_consent2=<!-- etc. -->|incoming_formation=|outgoing_formation=|previous=[[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|രണ്ടാം പിണറായി മന്ത്രിസഭ]]|successor=}} [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണി (യുഡിഎഫ്)]] വിജയിച്ചതിനുശേഷം രൂപീകരിച്ച [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശന്റെ]] നേതൃത്വത്തിലുള്ള മന്ത്രിസഭയാണ് വി.ഡി. സതീശൻ മന്ത്രിസഭ.<ref>{{Cite web|url=https://www.newindianexpress.com/thesundaystandard/2026/May/17/udfs-brave-poll-leader-staked-all-to-win-big|title=UDF’s Brave poll leader staked all to win big|access-date=2026-05-18|last=രവി|first=രാജേഷ്|date=2026-05-17|website=ദി ന്യൂ ഇന്ത്യൻ എക്സ്പ്രെസ്|language=en}}</ref> 2026 മെയ് 18-ന് മന്ത്രിസഭ അധികാരമേറ്റു. സത്യപ്രതിജ്ഞ സമയത്ത് മന്ത്രിസഭയിൽ ആകെ 23 മന്ത്രിമാരുണ്ടായിരുന്നു. കേരളത്തിന്റെ 24-ാമത്തെ മുഖ്യമന്ത്രിയായി വി.ഡി. സതീശൻ സത്യപ്രതിജ്ഞ ചെയ്തു, ഈ സ്ഥാനം വഹിക്കുന്ന 13-ാമത്തെ വ്യക്തിയും. == മന്ത്രിമാരും വകുപ്പുകളും == {| class="wikitable sortable" width="60%" style="text-align:center; font-size:94%;" |- ! ക്രമ നമ്പർ ! പേര് ! ചിത്രം ! നിയോജക മണ്ഡലം ! പദവി ! വകുപ്പ്(കൾ)<ref name=":1">{{Cite web |title=Allocation of Portfolios to Ministers (Kerala Council of Ministers) |url=https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |website=General Administration Department, Government of Kerala |access-date=20 May 2026 |archive-url=https://web.archive.org/web/20260520/https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |archive-date=20 May 2026 |url-status=live }}</ref> ! colspan="2" | പാർട്ടി ! ഔദ്യോഗിക കാർ നമ്പർ |- | colspan="8" style="text-align:center;" | '''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]''' |- |1 |{{Center|'''[[വി.ഡി. സതീശൻ]]'''}} |[[File:Vd-Satheesan.jpg|150px]] |{{Center|'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]'''}} |{{Center|'''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]'''}} | * [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യം]] * നാഷണൽ സേവിംഗ്സ് വകുപ്പ് * സ്റ്റോർസ് പർച്ചേസ് * [[നികുതി വകുപ്പ് (കേരളം)|വാണിജ്യ നികുതി]] * കാർഷിക ആദായ നികുതി * ട്രഷറികൾ * ലോട്ടറികൾ * സ്റ്റേറ്റ് ഓഡിറ്റ് വകുപ്പ് * [[ദി കേരളാ സ്റ്റേറ്റ്‌ ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്‌ ലിമിറ്റഡ്‌|കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] * സ്റ്റേറ്റ് ഇൻഷുറൻസ് വകുപ്പ് * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * സ്റ്റാമ്പുകളും സ്റ്റാമ്പ് ഡ്യൂട്ടിയും * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|തുറമുഖങ്ങൾ]] * [[നിയമ വകുപ്പ് (കേരളം)|നിയമം]] * ആസൂത്രണവും സാമ്പത്തിക കാര്യങ്ങളും * [[പൊതു ഭരണ വകുപ്പ് (കേരളം)|പൊതുഭരണം]] * [[ഓൾ ഇന്ത്യ സർവീസുകൾ]] ([[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]], [[ഇന്ത്യൻ പൊലീസ് സർവീസ്|ഐ.പി.എസ്]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഐ.എഫ്.എസ്]]) * [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതികവിദ്യ]] * ദുരന്തനിവാരണം * [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യങ്ങൾ]] * മലിനീകരണ നിയന്ത്രണം * ശാസ്ത്ര സ്ഥാപനങ്ങൾ * പേഴ്‌സണൽ ആൻഡ് അഡ്മിനിസ്ട്രേറ്റീവ് റിഫോംസ് * തിരഞ്ഞെടുപ്പ് * ഏകീകരണം * സൈനിക ക്ഷേമം * ദുരിതാശ്വാസം * സംസ്ഥാന ആതിഥ്യം * സിവിൽ-ക്രിമിനൽ നീതിന്യായ ഭരണം * വിമാനത്താവളങ്ങൾ * മെട്രോ റെയിൽ * അന്തർസംസ്ഥാന നദീജലങ്ങൾ * തീരദേശ കപ്പൽഗതാഗതവും ഉൾനാടൻ ജലഗതാഗതവും * കേരള സ്റ്റേറ്റ് ഇൻലാൻഡ് നാവിഗേഷൻ കോർപ്പറേഷൻ * [[കേരള ഇൻഫർമേഷൻ ആൻഡ് പബ്ലിക് റിലേഷൻസ് വകുപ്പ്|വിവര-പൊതുജന സമ്പർക്കം]] * പ്രിന്റിംഗും സ്റ്റേഷനറിയും * റെയിൽവേ * [[രാജീവ് ഗാന്ധി സെന്റർ ഫോർ ബയോടെക്നോളജി]] * [[നാഷണൽ യൂണിവേഴ്സിറ്റി ഓഫ് അഡ്വാൻസ്ഡ് ലീഗൽ സ്റ്റഡീസ്]] * തപാൽ-ടെലഗ്രാഫ് * എല്ലാ പ്രധാന നയപരമായ കാര്യങ്ങളും * മറ്റൊരിടത്തും പരാമർശിക്കാത്ത വിഷയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' |{{Center|'''1'''}} |- | colspan="8" style="text-align:center;" | '''കാബിനറ്റ് മന്ത്രിമാർ''' |- |2 |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി|പി. കെ. കുഞ്ഞാലിക്കുട്ടി]] |[[File:P. K. Kunhalikutty.jpg|120px]] |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |{{Center|'''വ്യവസായ-വിവരസാങ്കേതിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായവും വാണിജ്യവും]] * [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|വിവരസാങ്കേതികവിദ്യ]] * കൃത്രിമ ബുദ്ധി * സ്റ്റാർട്ടപ്പുകൾ * ഖനനവും ഭൂവിജ്ഞാനവും * കൈത്തറിയും തുണിത്തര വ്യവസായവും | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |3 |[[രമേശ് ചെന്നിത്തല]] |[[File:Ramesh Chennithala.jpg|120px]] |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |{{Center|'''ആഭ്യന്തര, വിജിലൻസ്, കയർ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തരം]] * [[വിജിലൻസ് ആന്റ് ആന്റി കറപ്ഷൻ ബ്യൂറോ, കേരളം|വിജിലൻസ്]] * [[കേരള ഫയർ ആൻഡ് റെസ്ക്യൂ സർവീസസ്|ഫയർ ആൻഡ് റെസ്ക്യൂ]] * [[കേരള പ്രിസൺസ് ആൻഡ് കറക്ഷണൽ സർവീസസ്|ജയിലുകൾ]] * [[കയർ]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |4 |'''[[സണ്ണി ജോസഫ്]]''' |[[File:Joseph.Sunny.KPCC.jpg|120px]] |'''[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]]''' |{{Center|'''വൈദ്യുതി, പരിസ്ഥിതി, പാർലമെന്ററി കാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വൈദ്യുതി വകുപ്പ്|വൈദ്യുതി]] * [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി]] * പാർലമെന്ററി കാര്യങ്ങൾ * [[എജൻസി ഫോർ ന്യൂ ആൻഡ് റിന്യൂവബിൾ എനർജി റിസർച്ച് ആൻഡ് ടെക്നോളജി|ANERT]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |5 |[[കെ. മുരളീധരൻ]] |[[File:Muraleedharan.jpg|120px]] |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |{{Center|'''ആരോഗ്യ-കുടുംബക്ഷേമ, ദേവസ്വം വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യവും കുടുംബക്ഷേമവും]] * [[കേരള ദേവസ്വം ബോർഡുകൾ|ദേവസ്വം]] * [[കേരള ആയുഷ് വകുപ്പ്|ആയുഷ്]] * മെഡിക്കൽ വിദ്യാഭ്യാസം * മെഡിക്കൽ സർവകലാശാല * തദ്ദേശീയ ചികിത്സ * ഔഷധ നിയന്ത്രണം * ഭക്ഷ്യസുരക്ഷ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |6 |[[മോൻസ് ജോസഫ്]] |[[File:Mons Joseph.jpeg|120px]] |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |{{Center|'''ജലവിഭവ-ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവം]] * [[കേരള ഭവന നിർമ്മാണ വകുപ്പ്|ഭവന നിർമ്മാണം]] * ജലസേചനം * കമാൻഡ് ഏരിയ ഡെവലപ്മെന്റ് അതോറിറ്റി (CADA) * ഭൂഗർഭ ജല വകുപ്പ് * ജലവിതരണവും ശുചിത്വവും | width="4px" style="background-color: {{party color|Kerala Congress (Joseph)}}" | | '''[[കേരള കോൺഗ്രസ്|KEC]]''' | |- |7 |[[ഷിബു ബേബി ജോൺ]] |[[File:Shibu-Baby-John.jpg|120px]] |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |{{Center|'''വനം, വന്യജീവി സംരക്ഷണം, നൈപുണ്യ വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വനം വകുപ്പ്|വനവും വന്യജീവി സംരക്ഷണവും]] * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|നൈപുണ്യ വികസനം]] * കേരള അക്കാദമി ഫോർ സ്കിൽസ് എക്സലൻസ് (KASE) | width="4px" style="background-color: {{party color|Revolutionary Socialist Party (India)}}" | | '''[[റെവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)|RSP]]''' | |- |8 |[[അനൂപ് ജേക്കബ്]] |[[File:Anoop jacob.JPG|120px]] |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |{{Center|'''ഭക്ഷ്യ-പൊതുവിതരണ, ഉപഭോക്തൃകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഭക്ഷ്യവും പൊതുവിതരണവും]] * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഉപഭോക്തൃകാര്യങ്ങൾ]] * ലീഗൽ മെട്രോളജി | width="4px" style="background-color: {{party color|Kerala Congress (Jacob)}}" | | '''[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|KC(Jacob)]]''' | |- |9 |[[സി.പി. ജോൺ|സി. പി. ജോൺ]] |[[File:C.P.John.jpg|120px]] |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം സെൻട്രൽ]] |{{Center|'''ഗതാഗത വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഗതാഗത വകുപ്പ്|റോഡ് ഗതാഗതം]] * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹനങ്ങൾ]] * [[കേരള സ്റ്റേറ്റ് വാട്ടർ ട്രാൻസ്പോർട്ട് വകുപ്പ്|ജലഗതാഗതം]] | width="4px" style="background-color: {{party color|Communist Marxist Party}}" | | '''[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|CMP]]''' | |- |10 |[[എ.പി. അനിൽകുമാർ|എ. പി. അനിൽ കുമാർ]] |[[File:A.P. Anil Kumar.JPG|120px]] |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |{{Center|'''റവന്യൂ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള റവന്യൂ വകുപ്പ്|ഭൂരവന്യൂ]] * [[കേരള റവന്യൂ-ഭൂരേഖ വകുപ്പ്|സർവേയും ഭൂരേഖകളും]] * ഭൂപരിഷ്കരണം | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |11 |[[എൻ. ഷംസുദ്ദീൻ]] |[[File:N Shamsudheen 01.jpg|120px]] |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |{{Center|'''പൊതുവിദ്യാഭ്യാസ-ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസം]] * [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമം]] * സാക്ഷരതാ പ്രസ്ഥാനം * വഖഫ്-ഹജ്ജ് തീർത്ഥാടനം | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |12 |[[പി.സി. വിഷ്ണുനാഥ്|പി. സി. വിഷ്ണുനാഥ്]] |[[File:APJPCV.jpg|120px]] |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |{{Center|'''ടൂറിസം-സാംസ്കാരികകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം]] * [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരിക കാര്യങ്ങൾ]] * [[കേരള സംസ്ഥാന ചലച്ചിത്ര വികസന കോർപ്പറേഷൻ]] (KSFDC) * കേരള ചലച്ചിത്ര അക്കാദമി * കേരള സാംസ്കാരിക പ്രവർത്തക ക്ഷേമനിധി ബോർഡ് | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |13 |[[റോജി എം. ജോൺ]] |[[File:Roji M John at Kodussery IMG 20260326 160534972 (cropped).jpg|120px]] |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |{{Center|'''ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നത വിദ്യാഭ്യാസം]] * കോളജിയറ്റ് വിദ്യാഭ്യാസം * സാങ്കേതിക വിദ്യാഭ്യാസം * സർവകലാശാലകൾ (കാർഷിക, വെറ്ററിനറി, ഫിഷറീസ്, മെഡിക്കൽ, ഡിജിറ്റൽ സർവകലാശാലകൾ ഒഴികെ) * പ്രവേശന പരീക്ഷകൾ * [[നാഷണൽ കാഡറ്റ് കോർ|എൻ.സി.സി]] * അഡിഷണൽ സ്കിൽ അക്വിസിഷൻ പ്രോഗ്രാം (ASAP) | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |14 |[[ബിന്ദു കൃഷ്ണ]] |[[File:BinduKrishnaMLA.png|120px]] |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |{{Center|'''തൊഴിൽ, മൃഗസംരക്ഷണം, ക്ഷീരവികസനം, വനിത-ശിശു വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ]] * [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണം]] * [[കേരള ക്ഷീരവികസന വകുപ്പ്|ക്ഷീരവികസനം]] * ക്ഷീര സഹകരണസംഘങ്ങൾ * [[കേരള വനിത-ശിശു വികസന വകുപ്പ്|വനിത-ശിശു വികസനം]] * [[കേരള വെറ്ററിനറി ആൻഡ് അനിമൽ സയൻസസ് സർവകലാശാല]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |15 |[[എം. ലിജു]] |[[File:Mlaliju.jpg|100px]] |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |{{Center|'''എക്സൈസ്-സഹകരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സഹകരണ വകുപ്പ്|സഹകരണം]] * [[കേരള എക്സൈസ് വകുപ്പ്|എക്സൈസ്]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |16 |[[കെ.എം. ഷാജി|കെ. എം. ഷാജി]] | [[File:Km-shaji.webp]] |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |{{Center|'''തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ തദ്ദേശ സ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] * പഞ്ചായത്ത് * മുനിസിപ്പാലിറ്റി * കോർപ്പറേഷൻ * നഗരാസൂത്രണം * ഗ്രാമവികസനം * പ്രാദേശിക വികസന അതോറിറ്റികൾ * [[കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കൽ അഡ്മിനിസ്ട്രേഷൻ|KILA]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |17 |[[പി.കെ. ബഷീർ|പി. കെ. ബഷീർ]] |[[File:P.-K.-Basheer.jpg]] |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |{{Center|'''പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |18 |[[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി. ഇ. അബ്ദുൽ ഗഫൂർ]] |[[File:VE_Abdul_Gafoor.jpg|120px]] |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |{{Center|'''മത്സ്യബന്ധന-സാമൂഹ്യനീതി വകുപ്പ് മന്ത്രി'''}} | * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധനം]] * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|ഹാർബർ എഞ്ചിനീയറിംഗ്]] * [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |19 |[[ടി. സിദ്ദിഖ്]] |[[File:T-siddique-1-09-1502280811-1553345512.jpg|150px]] |[[കൽപ്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |{{Center|'''കാർഷിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കാർഷിക വികസന-കർഷക ക്ഷേമ വകുപ്പ്|കൃഷി]] * മണ്ണ് സർവേയും മണ്ണ് സംരക്ഷണവും * [[കേരള കാർഷിക സർവകലാശാല]] * വെയർഹൗസിംഗ് കോർപ്പറേഷൻ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |20 |[[കെ. എ. തുളസി]] |[[File:K-a-thulasi-thulasi-teacher-77695.jpg]] |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കൊങ്ങാട്]] |{{Center|'''പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്കക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി വികസനം]] * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികവർഗ വികസനം]] * [[കേരള പിന്നാക്കവിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസനം]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |21 |[[ഒ. ജെ. ജനീഷ്]] |{{CSS image crop|Image=OJ Janeesh.jpg|bSize = 100|cWidth = 100|cHeight = 120|oTop = 5|oLeft = 0}} |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |{{Center|'''കായികം, യുവജനക്ഷേമം, രജിസ്ട്രേഷൻ, പുരാവസ്തു വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായികം]] * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|യുവജനകാര്യങ്ങൾ]] * [[കേരള നികുതി വകുപ്പ്|രജിസ്ട്രേഷൻ]] * [[കേരള പുരാവസ്തു വകുപ്പ്|പുരാവസ്തു]] * പുരാരേഖകൾ * മൃഗശാലകൾ * മ്യൂസിയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |} ==സ്പീക്കറും ചീഫ് വിപ്പും== {| class="wikitable sortable" ! colspan="8" |സ്പീക്കർ - സഭാധ്യക്ഷൻ |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |[[File:Thiruvanchoor Radhakrishnan.jpg|80px]] | [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] || [[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] || [[കോട്ടയം ജില്ല|കോട്ടയം]] || {{party name with color|Indian National Congress}} |- |2|| [[ഷാനിമോൾ ഉസ്മാൻ]] |[[File:Shanimol Osman.jpg|80px]] | [[ഡെപ്യൂട്ടി സ്പീക്കർ]] || [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] || [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] || {{party name with color|Indian National Congress}} |- |} {| class="wikitable sortable" ! colspan="8" |ചീഫ് വിപ്പ് |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[അപ്പു ജോൺ ജോസഫ്]] |[[File:Apu John Joseph.jpg|90px]] | [[ചീഫ് വിപ്പ്]] || [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] || [[ഇടുക്കി ജില്ല|ഇടുക്കി]] || {{party name with color|Kerala Congress}} |- |} == മന്ത്രിമാർ പാർട്ടിതിരിച്ച് == {{Pie chart | caption = ക്യാബിനറ്റ് മന്ത്രിമാർ പാർട്ടി തിരിച്ച് | value1 = 57.14 | label1 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | color1 = {{party color|Indian National Congress}} | value2 = 23.8 | label2 = ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് | color2 = {{party color|Indian Union Muslim League}} | value3 = 4.76 | label3 = കേരള കോൺഗ്രസ് | color3 = {{party color|Kerala Congress}} | value4 = 4.76 | label4 = റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ) | color4 = {{party color|Revolutionary Socialist Party (India)}} | value5 = 4.76 | label5 = കേരള കോൺഗ്രസ് (ജേക്കബ്) | color5 = {{party color|Kerala Congress (Jacob)}} | value6 = 4.76 | label6 = കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി | color6 = {{party color|Communist Marxist Party}} }} {| class="wikitable sortable" ! colspan="2" |പാർട്ടി !ക്യാബിനറ്റ് മന്ത്രിമാർ |- | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |12 |- | width="4px" bgcolor="{{party color|Indian Union Muslim League}}" | |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ്]] |5 |- | width="4px" bgcolor="{{party color|Kerala Congress}}" | |[[കേരള കോൺഗ്രസ്]] |1 |- | width="4px" bgcolor="{{party color|Revolutionary Socialist Party (India)}}" | |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)]] |1 |- | width="4px" bgcolor="{{party color|Kerala Congress (Jacob)}}" | |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കേരള കോൺഗ്രസ്( ജേക്കബ്)]] |1 |- | width="4px" bgcolor="{{party color|Communist Marxist Party}}" | |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]] |1 |} == മന്ത്രിമാർ ജില്ല തിരിച്ച് == {{Pie chart |caption=ക്യാബിനറ്റ് മന്ത്രിമാർ ജില്ലതിരിച്ച് |label1=എറണാകുളം |value1=19.04 |color1=#1E90FF |label2=മലപ്പുറം |value2=19.04 |color2=#32CD32 |label3=കൊല്ലം |value3=14.28 |color3=#FF8C00 |label4=ആലപ്പുഴ |value4=9.52 |color4=#DC143C |label5=തിരുവനന്തപുരം |value5=9.52 |color5=#8A2BE2 |label6=പാലക്കാട് |value6=9.52 |color6=#20B2AA |label7=കണ്ണൂർ |value7=4.76 |color7=#FFD700 |label8=വയനാട് |value8=4.76 |color8=#A0522D |label9=തൃശ്ശൂർ |value9=4.76 |color9=#708090 |label10=കോട്ടയം |value10=4.76 |color10=#FF69B4 }} {| class="wikitable sortable" |+ ജില്ല തിരിച്ചുള്ള മന്ത്രിമാരുടെ പ്രാതിനിധ്യം ! ജില്ല ! മന്ത്രിമാരുടെ എണ്ണം ! മന്ത്രിമാർ |- | [[എറണാകുളം ജില്ല|എറണാകുളം]] | {{Center|'''4'''}} |[[വി.ഡി. സതീശൻ]],<br> [[റോജി എം. ജോൺ]],<br> [[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി.ഇ.അബ്ദുൾ ഗഫൂർ]], <br>[[അനൂപ് ജേക്കബ്]] |- | [[മലപ്പുറം ജില്ല|മലപ്പുറം]] | {{Center|'''4'''}} |[[എ.പി. അനിൽകുമാർ]],<br> [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]],<br>[[കെ.എം. ഷാജി]],<br>[[പി.കെ. ബഷീർ]] |- | [[കൊല്ലം ജില്ല|കൊല്ലം]] | {{Center|'''3'''}} |[[ബിന്ദു കൃഷ്ണ]],<br>[[പി.സി. വിഷ്ണുനാഥ്]],<br>[[ഷിബു ബേബി ജോൺ]] |- | [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | {{Center|'''2'''}} |[[രമേശ് ചെന്നിത്തല]],<br>[[എം. ലിജു]] |- | [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | {{Center|'''2'''}} |[[കെ. മുരളീധരൻ|കെ.മുരളീധരൻ]],<br>[[സി.പി. ജോൺ]] |- | [[പാലക്കാട് ജില്ല|പാലക്കാട്]] | {{Center|'''2'''}} |[[കെ.എ. തുളസി]],<br>[[എൻ. ഷംസുദ്ദീൻ]] |- | [[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | {{Center|'''1'''}} |[[സണ്ണി ജോസഫ്]] |- | [[വയനാട് ജില്ല|വയനാട്]] | {{Center|'''1'''}} |[[ടി. സിദ്ദിഖ്]] |- | [[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | {{Center|'''1'''}} |[[ഒ.ജെ. ജനീഷ്]] |- | [[കോട്ടയം ജില്ല|കോട്ടയം]] | {{Center|'''1'''}} |[[മോൻസ് ജോസഫ്]] |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] |rowspan="4"|{{Center|'''0'''}} |rowspan="4"|- |- |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] |- |} ==അവലംബങ്ങൾ== {{Reflist|}} [[വർഗ്ഗം:കേരളത്തിലെ മന്ത്രിസഭകൾ]] 07q0dmebn4pqwjs617cwqdk96n9o5k3 4622198 4622177 2026-05-23T10:25:23Z Asifalinair 206364 /* മന്ത്രിമാരും വകുപ്പുകളും */ 4622198 wikitext text/x-wiki {{Infobox government cabinet|cabinet_type=മന്ത്രിസഭ|cabinet_number=24|jurisdiction=[[കേരളം|കേരളത്തിലെ]]|flag=Government of Kerala Logo.svg|flag_border=true|incumbent=|image=File:Vd-Satheesan.jpg|image_size=|caption=|state_head=[[രാജേന്ദ്ര അർലേക്കർ]]|government_head=[[വി.ഡി. സതീശൻ]]|date_formed=18 മേയ് 2026|date_dissolved=|members_number=21|political_parties={{legend2|{{United Democratic Front (Kerala)/meta/color}}|'''[[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|legislature_status={{ill|ഭൂരിപക്ഷം|en|Majority government}}|opposition_cabinet=|opposition_party={{legend2|{{Left Democratic Front (Kerala)/meta/color}}|'''[[ഇടതുപക്ഷ ജനാധിപത്യ മുന്നണി|എൽഡിഎഫ്]]'''|border=solid 1px #AAAAAA}}|opposition_leader=[[പിണറായി വിജയൻ]]|election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026]]|last_election=[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2021)|2021]]|legislature_term=5 വർഷം|budget=|advice_and_consent1=|advice_and_consent2=<!-- etc. -->|incoming_formation=|outgoing_formation=|previous=[[രണ്ടാം പിണറായി വിജയൻ മന്ത്രിസഭ|രണ്ടാം പിണറായി മന്ത്രിസഭ]]|successor=}} [[ഐക്യ ജനാധിപത്യ മുന്നണി|ഐക്യ ജനാധിപത്യ മുന്നണി (യുഡിഎഫ്)]] വിജയിച്ചതിനുശേഷം രൂപീകരിച്ച [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശന്റെ]] നേതൃത്വത്തിലുള്ള മന്ത്രിസഭയാണ് വി.ഡി. സതീശൻ മന്ത്രിസഭ.<ref>{{Cite web|url=https://www.newindianexpress.com/thesundaystandard/2026/May/17/udfs-brave-poll-leader-staked-all-to-win-big|title=UDF’s Brave poll leader staked all to win big|access-date=2026-05-18|last=രവി|first=രാജേഷ്|date=2026-05-17|website=ദി ന്യൂ ഇന്ത്യൻ എക്സ്പ്രെസ്|language=en}}</ref> 2026 മെയ് 18-ന് മന്ത്രിസഭ അധികാരമേറ്റു. സത്യപ്രതിജ്ഞ സമയത്ത് മന്ത്രിസഭയിൽ ആകെ 23 മന്ത്രിമാരുണ്ടായിരുന്നു. കേരളത്തിന്റെ 24-ാമത്തെ മുഖ്യമന്ത്രിയായി വി.ഡി. സതീശൻ സത്യപ്രതിജ്ഞ ചെയ്തു, ഈ സ്ഥാനം വഹിക്കുന്ന 13-ാമത്തെ വ്യക്തിയും. == മന്ത്രിമാരും വകുപ്പുകളും == {| class="wikitable sortable" width="60%" style="text-align:center; font-size:94%;" |- ! ക്രമ നമ്പർ ! പേര് ! ചിത്രം ! നിയോജക മണ്ഡലം ! പദവി ! വകുപ്പ്(കൾ)<ref name=":1">{{Cite web |title=Allocation of Portfolios to Ministers (Kerala Council of Ministers) |url=https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |website=General Administration Department, Government of Kerala |access-date=20 May 2026 |archive-url=https://web.archive.org/web/20260520/https://document.kerala.gov.in/documents/notifications/notification2005202618:21:17.pdf |archive-date=20 May 2026 |url-status=live }}</ref> ! colspan="2" | പാർട്ടി ! ഔദ്യോഗിക കാർ നമ്പർ |- | colspan="8" style="text-align:center;" | '''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]''' |- |1 |{{Center|'''[[വി.ഡി. സതീശൻ]]'''}} |[[File:Vd-Satheesan.jpg|150px]] |{{Center|'''[[പറവൂർ നിയമസഭാമണ്ഡലം|പറവൂർ]]'''}} |{{Center|'''[[കേരള മുഖ്യമന്ത്രി|മുഖ്യമന്ത്രി]]'''}} | * [[ധനകാര്യ വകുപ്പ് (കേരളം)|ധനകാര്യം]] * നാഷണൽ സേവിംഗ്സ് വകുപ്പ് * സ്റ്റോർസ് പർച്ചേസ് * [[കേരള വാണിജ്യനികുതി വകുപ്പ്|വാണിജ്യ നികുതി]] * കാർഷിക ആദായ നികുതി * [[ട്രഷറി വകുപ്പ്|ട്രഷറികൾ]] * ലോട്ടറികൾ * [[സംസ്ഥാന ഓഡിറ്റ് വകുപ്പ്|സ്റ്റേറ്റ് ഓഡിറ്റ് വകുപ്പ്]] * [[ദി കേരളാ സ്റ്റേറ്റ്‌ ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്‌ ലിമിറ്റഡ്‌|കേരള സ്റ്റേറ്റ് ഫിനാൻഷ്യൽ എന്റർപ്രൈസസ്]] * സംസ്ഥാന ഇൻഷുറൻസ് വകുപ്പ് * [[കേരള ഫിനാൻഷ്യൽ കോർപ്പറേഷൻ]] * സ്റ്റാമ്പുകളും സ്റ്റാമ്പ് ഡ്യൂട്ടിയും * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|തുറമുഖങ്ങൾ]] * [[നിയമ വകുപ്പ് (കേരളം)|നിയമം]] * ആസൂത്രണവും സാമ്പത്തിക കാര്യങ്ങളും * [[പൊതു ഭരണ വകുപ്പ് (കേരളം)|പൊതുഭരണം]] * [[അഖിലേന്ത്യാ സേവനങ്ങൾ|ഓൾ ഇന്ത്യ സർവീസുകൾ]] ([[ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഐ.എ.എസ്]], [[ഇന്ത്യൻ പൊലീസ് സർവീസ്|ഐ.പി.എസ്]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഐ.എഫ്.എസ്]]) * [[കേരള ശാസ്ത്ര-സാങ്കേതിക വകുപ്പ്|ശാസ്ത്ര-സാങ്കേതികവിദ്യ]] * ദുരന്തനിവാരണം * [[പ്രവാസി കേരളീയകാര്യ വകുപ്പ്|പ്രവാസികാര്യങ്ങൾ]] * മലിനീകരണ നിയന്ത്രണം * ശാസ്ത്ര സ്ഥാപനങ്ങൾ * പേഴ്‌സണൽ ആൻഡ് അഡ്മിനിസ്ട്രേറ്റീവ് റിഫോംസ് * തിരഞ്ഞെടുപ്പ് * ഏകീകരണം * സൈനിക ക്ഷേമം * ദുരിതാശ്വാസം * സംസ്ഥാന ആതിഥ്യം * സിവിൽ-ക്രിമിനൽ നീതിന്യായ ഭരണം * വിമാനത്താവളങ്ങൾ * മെട്രോ റെയിൽ * അന്തർസംസ്ഥാന നദീജലങ്ങൾ * തീരദേശ കപ്പൽഗതാഗതവും ഉൾനാടൻ ജലഗതാഗതവും * കേരള സ്റ്റേറ്റ് ഇൻലാൻഡ് നാവിഗേഷൻ കോർപ്പറേഷൻ * [[കേരള ഇൻഫർമേഷൻ ആൻഡ് പബ്ലിക് റിലേഷൻസ് വകുപ്പ്|വിവര-പൊതുജന സമ്പർക്കം]] * പ്രിന്റിംഗും സ്റ്റേഷനറിയും * റെയിൽവേ * [[രാജീവ് ഗാന്ധി സെന്റർ ഫോർ ബയോടെക്നോളജി]] * [[നാഷണൽ യൂണിവേഴ്സിറ്റി ഓഫ് അഡ്വാൻസ്ഡ് ലീഗൽ സ്റ്റഡീസ്]] * തപാൽ-ടെലഗ്രാഫ് * എല്ലാ പ്രധാന നയപരമായ കാര്യങ്ങളും * മറ്റൊരിടത്തും പരാമർശിക്കാത്ത വിഷയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' |{{Center|'''1'''}} |- | colspan="8" style="text-align:center;" | '''കാബിനറ്റ് മന്ത്രിമാർ''' |- |2 |[[പി.കെ. കുഞ്ഞാലിക്കുട്ടി|പി. കെ. കുഞ്ഞാലിക്കുട്ടി]] |[[File:P. K. Kunhalikutty.jpg|120px]] |[[മലപ്പുറം നിയമസഭാമണ്ഡലം|മലപ്പുറം]] |{{Center|'''വ്യവസായ-വിവരസാങ്കേതിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വ്യവസായ-വാണിജ്യ വകുപ്പ്|വ്യവസായവും വാണിജ്യവും]] * [[കേരള ഇലക്ട്രോണിക്സ്-വിവരസാങ്കേതിക വകുപ്പ്|വിവരസാങ്കേതികവിദ്യ]] * കൃത്രിമ ബുദ്ധി * സ്റ്റാർട്ടപ്പുകൾ * ഖനനവും ഭൂവിജ്ഞാനവും * കൈത്തറിയും തുണിത്തര വ്യവസായവും | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' |2 |- |3 |[[രമേശ് ചെന്നിത്തല]] |[[File:Ramesh Chennithala.jpg|120px]] |[[ഹരിപ്പാട് നിയമസഭാമണ്ഡലം|ഹരിപ്പാട്]] |{{Center|'''ആഭ്യന്തര, വിജിലൻസ്, കയർ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആഭ്യന്തര വകുപ്പ്|ആഭ്യന്തരം]] * [[വിജിലൻസ് ആന്റ് ആന്റി കറപ്ഷൻ ബ്യൂറോ, കേരളം|വിജിലൻസ്]] * [[കേരള ഫയർ ആൻഡ് റെസ്ക്യൂ സർവീസസ്|ഫയർ ആൻഡ് റെസ്ക്യൂ]] * [[കേരള പ്രിസൺസ് ആൻഡ് കറക്ഷണൽ സർവീസസ്|ജയിലുകൾ]] * [[കയർ]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |4 |'''[[സണ്ണി ജോസഫ്]]''' |[[File:Joseph.Sunny.KPCC.jpg|120px]] |'''[[പേരാവൂർ നിയമസഭാമണ്ഡലം|പേരാവൂർ]]''' |{{Center|'''വൈദ്യുതി, പരിസ്ഥിതി, പാർലമെന്ററി കാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഊർജ വകുപ്പ്|വൈദ്യുതി]] * [[കേരള പരിസ്ഥിതി വകുപ്പ്|പരിസ്ഥിതി]] * പാർലമെന്ററി കാര്യങ്ങൾ * [[എജൻസി ഫോർ ന്യൂ ആൻഡ് റിന്യൂവബിൾ എനർജി റിസർച്ച് ആൻഡ് ടെക്നോളജി|ANERT]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |5 |[[കെ. മുരളീധരൻ]] |[[File:Muraleedharan.jpg|120px]] |[[വട്ടിയൂർക്കാവ് നിയമസഭാമണ്ഡലം|വട്ടിയൂർക്കാവ്]] |{{Center|'''ആരോഗ്യ-കുടുംബക്ഷേമ, ദേവസ്വം വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ആരോഗ്യ-കുടുംബക്ഷേമ വകുപ്പ്|ആരോഗ്യവും കുടുംബക്ഷേമവും]] * [[കേരള ദേവസ്വം ബോർഡുകൾ|ദേവസ്വം]] * [[കേരള ആയുഷ് വകുപ്പ്|ആയുഷ്]] * മെഡിക്കൽ വിദ്യാഭ്യാസം * മെഡിക്കൽ സർവകലാശാല * തദ്ദേശീയ ചികിത്സ * ഔഷധ നിയന്ത്രണം * ഭക്ഷ്യസുരക്ഷ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |6 |[[മോൻസ് ജോസഫ്]] |[[File:Mons Joseph.jpeg|120px]] |[[കടുത്തുരുത്തി നിയമസഭാമണ്ഡലം|കടുത്തുരുത്തി]] |{{Center|'''ജലവിഭവ-ഭവന നിർമ്മാണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ജലവിഭവ വകുപ്പ്|ജലവിഭവം]] * [[കേരള ഭവന നിർമ്മാണ വകുപ്പ്|ഭവന നിർമ്മാണം]] * ജലസേചനം * കമാൻഡ് ഏരിയ ഡെവലപ്മെന്റ് അതോറിറ്റി (CADA) * [[കേരള ഭൂഗർഭജല വകുപ്പ്|ഭൂഗർഭ ജല വകുപ്പ്]] * ജലവിതരണവും ശുചിത്വവും | width="4px" style="background-color: {{party color|Kerala Congress (Joseph)}}" | | '''[[കേരള കോൺഗ്രസ്|KEC]]''' | |- |7 |[[ഷിബു ബേബി ജോൺ]] |[[File:Shibu-Baby-John.jpg|120px]] |[[ചവറ നിയമസഭാമണ്ഡലം|ചവറ]] |{{Center|'''വനം, വന്യജീവി സംരക്ഷണം, നൈപുണ്യ വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള വനം വകുപ്പ്|വനവും വന്യജീവി സംരക്ഷണവും]] * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|നൈപുണ്യ വികസനം]] * കേരള അക്കാദമി ഫോർ സ്കിൽസ് എക്സലൻസ് (KASE) | width="4px" style="background-color: {{party color|Revolutionary Socialist Party (India)}}" | | '''[[റെവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)|RSP]]''' | |- |8 |[[അനൂപ് ജേക്കബ്]] |[[File:Anoop jacob.JPG|120px]] |[[പിറവം നിയമസഭാമണ്ഡലം|പിറവം]] |{{Center|'''ഭക്ഷ്യ-പൊതുവിതരണ, ഉപഭോക്തൃകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഭക്ഷ്യവും പൊതുവിതരണവും]] * [[കേരള ഭക്ഷ്യ-പൊതുവിതരണ വകുപ്പ്|ഉപഭോക്തൃകാര്യങ്ങൾ]] * ലീഗൽ മെട്രോളജി | width="4px" style="background-color: {{party color|Kerala Congress (Jacob)}}" | | '''[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|KC(Jacob)]]''' | |- |9 |[[സി.പി. ജോൺ|സി. പി. ജോൺ]] |[[File:C.P.John.jpg|120px]] |[[തിരുവനന്തപുരം നിയമസഭാമണ്ഡലം|തിരുവനന്തപുരം സെൻട്രൽ]] |{{Center|'''ഗതാഗത വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഗതാഗത വകുപ്പ്|റോഡ് ഗതാഗതം]] * [[കേരള മോട്ടോർ വാഹന വകുപ്പ്|മോട്ടോർ വാഹനങ്ങൾ]] * [[കേരള സ്റ്റേറ്റ് വാട്ടർ ട്രാൻസ്പോർട്ട് വകുപ്പ്|ജലഗതാഗതം]] | width="4px" style="background-color: {{party color|Communist Marxist Party}}" | | '''[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|CMP]]''' | |- |10 |[[എ.പി. അനിൽകുമാർ|എ. പി. അനിൽ കുമാർ]] |[[File:A.P. Anil Kumar.JPG|120px]] |[[വണ്ടൂർ നിയമസഭാമണ്ഡലം|വണ്ടൂർ]] |{{Center|'''റവന്യൂ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള റവന്യൂ വകുപ്പ്|ഭൂരവന്യൂ]] * [[കേരള റവന്യൂ-ഭൂരേഖ വകുപ്പ്|സർവേയും ഭൂരേഖകളും]] * ഭൂപരിഷ്കരണം | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |11 |[[എൻ. ഷംസുദ്ദീൻ]] |[[File:N Shamsudheen 01.jpg|120px]] |[[മണ്ണാർക്കാട് നിയമസഭാമണ്ഡലം|മണ്ണാർക്കാട്]] |{{Center|'''പൊതുവിദ്യാഭ്യാസ-ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ പൊതുവിദ്യാഭ്യാസ വകുപ്പ്|പൊതുവിദ്യാഭ്യാസം]] * [[കേരള ന്യൂനപക്ഷ ക്ഷേമ വകുപ്പ്|ന്യൂനപക്ഷ ക്ഷേമം]] * സാക്ഷരതാ പ്രസ്ഥാനം * വഖഫ്-ഹജ്ജ് തീർത്ഥാടനം | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |12 |[[പി.സി. വിഷ്ണുനാഥ്|പി. സി. വിഷ്ണുനാഥ്]] |[[File:APJPCV.jpg|120px]] |[[കുണ്ടറ നിയമസഭാമണ്ഡലം|കുണ്ടറ]] |{{Center|'''ടൂറിസം-സാംസ്കാരികകാര്യ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ടൂറിസം വകുപ്പ്|ടൂറിസം]] * [[കേരള സാംസ്കാരികകാര്യ വകുപ്പ്|സാംസ്കാരിക കാര്യങ്ങൾ]] * [[കേരള സംസ്ഥാന ചലച്ചിത്ര വികസന കോർപ്പറേഷൻ]] (KSFDC) * കേരള ചലച്ചിത്ര അക്കാദമി * കേരള സാംസ്കാരിക പ്രവർത്തക ക്ഷേമനിധി ബോർഡ് | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |13 |[[റോജി എം. ജോൺ]] |[[File:Roji M John at Kodussery IMG 20260326 160534972 (cropped).jpg|120px]] |[[അങ്കമാലി നിയമസഭാമണ്ഡലം|അങ്കമാലി]] |{{Center|'''ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള ഉന്നത വിദ്യാഭ്യാസ വകുപ്പ്|ഉന്നത വിദ്യാഭ്യാസം]] * കോളജിയറ്റ് വിദ്യാഭ്യാസം * സാങ്കേതിക വിദ്യാഭ്യാസം * സർവകലാശാലകൾ (കാർഷിക, വെറ്ററിനറി, ഫിഷറീസ്, മെഡിക്കൽ, ഡിജിറ്റൽ സർവകലാശാലകൾ ഒഴികെ) * പ്രവേശന പരീക്ഷകൾ * [[നാഷണൽ കാഡറ്റ് കോർ|എൻ.സി.സി]] * അഡിഷണൽ സ്കിൽ അക്വിസിഷൻ പ്രോഗ്രാം (ASAP) | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |14 |[[ബിന്ദു കൃഷ്ണ]] |[[File:BinduKrishnaMLA.png|120px]] |[[കൊല്ലം നിയമസഭാമണ്ഡലം|കൊല്ലം]] |{{Center|'''തൊഴിൽ, മൃഗസംരക്ഷണം, ക്ഷീരവികസനം, വനിത-ശിശു വികസന വകുപ്പ് മന്ത്രി'''}} | * [[കേരള തൊഴിൽ-നൈപുണ്യ വകുപ്പ്|തൊഴിൽ]] * [[കേരള മൃഗസംരക്ഷണ വകുപ്പ്|മൃഗസംരക്ഷണം]] * [[കേരള ക്ഷീരവികസന വകുപ്പ്|ക്ഷീരവികസനം]] * ക്ഷീര സഹകരണസംഘങ്ങൾ * [[കേരള വനിത-ശിശു വികസന വകുപ്പ്|വനിത-ശിശു വികസനം]] * [[കേരള വെറ്ററിനറി ആൻഡ് അനിമൽ സയൻസസ് സർവകലാശാല]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |15 |[[എം. ലിജു]] |[[File:Mlaliju.jpg|100px]] |[[കായംകുളം നിയമസഭാമണ്ഡലം|കായംകുളം]] |{{Center|'''എക്സൈസ്-സഹകരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സഹകരണ വകുപ്പ്|സഹകരണം]] * [[കേരള എക്സൈസ് വകുപ്പ്|എക്സൈസ്]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |16 |[[കെ.എം. ഷാജി|കെ. എം. ഷാജി]] | [[File:Km-shaji.webp]] |[[വേങ്ങര നിയമസഭാമണ്ഡലം|വേങ്ങര]] |{{Center|'''തദ്ദേശസ്വയംഭരണ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള സർക്കാർ തദ്ദേശ സ്വയംഭരണ വകുപ്പ്|തദ്ദേശസ്വയംഭരണ വകുപ്പ്]] * പഞ്ചായത്ത് * മുനിസിപ്പാലിറ്റി * കോർപ്പറേഷൻ * നഗരാസൂത്രണം * ഗ്രാമവികസനം * പ്രാദേശിക വികസന അതോറിറ്റികൾ * [[കേരള ഇൻസ്റ്റിറ്റ്യൂട്ട് ഓഫ് ലോക്കൽ അഡ്മിനിസ്ട്രേഷൻ|KILA]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |17 |[[പി.കെ. ബഷീർ|പി. കെ. ബഷീർ]] |[[File:P.-K.-Basheer.jpg]] |[[ഏറനാട് നിയമസഭാമണ്ഡലം|ഏറനാട്]] |{{Center|'''പൊതുമരാമത്ത് വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പൊതുമരാമത്ത് വകുപ്പ്|പൊതുമരാമത്ത് വകുപ്പ്]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |18 |[[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി. ഇ. അബ്ദുൽ ഗഫൂർ]] |[[File:VE_Abdul_Gafoor.jpg|120px]] |[[കളമശ്ശേരി നിയമസഭാമണ്ഡലം|കളമശ്ശേരി]] |{{Center|'''മത്സ്യബന്ധന-സാമൂഹ്യനീതി വകുപ്പ് മന്ത്രി'''}} | * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|മത്സ്യബന്ധനം]] * [[കേരള മത്സ്യബന്ധന-തുറമുഖ വകുപ്പ്|ഹാർബർ എഞ്ചിനീയറിംഗ്]] * [[കേരള സാമൂഹ്യനീതി വകുപ്പ്|സാമൂഹ്യനീതി]] | width="4px" style="background-color: {{party color|Indian Union Muslim League}}" | | '''[[ഇന്ത്യൻ യൂണിയൻ മുസ്ലിം ലീഗ്|IUML]]''' | |- |19 |[[ടി. സിദ്ദിഖ്]] |[[File:T-siddique-1-09-1502280811-1553345512.jpg|150px]] |[[കൽപ്പറ്റ നിയമസഭാമണ്ഡലം|കൽപ്പറ്റ]] |{{Center|'''കാർഷിക വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കൃഷി വകുപ്പ്|കൃഷി]] * മണ്ണ് സർവേയും മണ്ണ് സംരക്ഷണവും * [[കേരള കാർഷിക സർവകലാശാല]] * വെയർഹൗസിംഗ് കോർപ്പറേഷൻ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |20 |[[കെ. എ. തുളസി]] |[[File:K-a-thulasi-thulasi-teacher-77695.jpg]] |[[കോങ്ങാട് നിയമസഭാമണ്ഡലം|കൊങ്ങാട്]] |{{Center|'''പട്ടികജാതി, പട്ടികവർഗ, പിന്നാക്കക്ഷേമ വകുപ്പ് മന്ത്രി'''}} | * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികജാതി വികസനം]] * [[കേരള പട്ടികജാതി-പട്ടികവർഗ വികസന വകുപ്പ്|പട്ടികവർഗ വികസനം]] * [[കേരള പിന്നാക്കവിഭാഗ വികസന വകുപ്പ്|പിന്നാക്ക വിഭാഗ വികസനം]] | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |- |21 |[[ഒ. ജെ. ജനീഷ്]] |{{CSS image crop|Image=OJ Janeesh.jpg|bSize = 100|cWidth = 100|cHeight = 120|oTop = 5|oLeft = 0}} |[[കൊടുങ്ങല്ലൂർ നിയമസഭാമണ്ഡലം|കൊടുങ്ങല്ലൂർ]] |{{Center|'''കായികം, യുവജനക്ഷേമം, രജിസ്ട്രേഷൻ, പുരാവസ്തു വകുപ്പ് മന്ത്രി'''}} | * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|കായികം]] * [[കേരള കായിക-യുവജനകാര്യ വകുപ്പ്|യുവജനകാര്യങ്ങൾ]] * [[കേരള നികുതി വകുപ്പ്|രജിസ്ട്രേഷൻ]] * [[കേരള പുരാവസ്തു വകുപ്പ്|പുരാവസ്തു]] * പുരാരേഖകൾ * മൃഗശാലകൾ * മ്യൂസിയങ്ങൾ | width="4px" style="background-color: {{party color|Indian National Congress}}" | | '''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|INC]]''' | |} ==സ്പീക്കറും ചീഫ് വിപ്പും== {| class="wikitable sortable" ! colspan="8" |സ്പീക്കർ - സഭാധ്യക്ഷൻ |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ]] |[[File:Thiruvanchoor Radhakrishnan.jpg|80px]] | [[സ്പീക്കർ (രാഷ്ട്രീയം)|സ്പീക്കർ]] || [[കോട്ടയം നിയമസഭാമണ്ഡലം|കോട്ടയം]] || [[കോട്ടയം ജില്ല|കോട്ടയം]] || {{party name with color|Indian National Congress}} |- |2|| [[ഷാനിമോൾ ഉസ്മാൻ]] |[[File:Shanimol Osman.jpg|80px]] | [[ഡെപ്യൂട്ടി സ്പീക്കർ]] || [[അരൂർ നിയമസഭാമണ്ഡലം|അരൂർ]] || [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] || {{party name with color|Indian National Congress}} |- |} {| class="wikitable sortable" ! colspan="8" |ചീഫ് വിപ്പ് |- ! scope="col" style="width: 10px;" | ! scope="col" style="width: 200px;" | പേര് ! ചിത്രം ! scope="col" style="width: 200px;" | പദവി ! scope="col" style="width: 50px;" | നിയോജക മണ്ഡലം ! scope="col" style="width: 50px;" | ജില്ല ! colspan="2" scope="col" | പാർട്ടി |- |1|| [[അപ്പു ജോൺ ജോസഫ്]] |[[File:Apu John Joseph.jpg|90px]] | [[ചീഫ് വിപ്പ്]] || [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ]] || [[ഇടുക്കി ജില്ല|ഇടുക്കി]] || {{party name with color|Kerala Congress}} |- |} == മന്ത്രിമാർ പാർട്ടിതിരിച്ച് == {{Pie chart | caption = ക്യാബിനറ്റ് മന്ത്രിമാർ പാർട്ടി തിരിച്ച് | value1 = 57.14 | label1 = ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് | color1 = {{party color|Indian National Congress}} | value2 = 23.8 | label2 = ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ് | color2 = {{party color|Indian Union Muslim League}} | value3 = 4.76 | label3 = കേരള കോൺഗ്രസ് | color3 = {{party color|Kerala Congress}} | value4 = 4.76 | label4 = റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ) | color4 = {{party color|Revolutionary Socialist Party (India)}} | value5 = 4.76 | label5 = കേരള കോൺഗ്രസ് (ജേക്കബ്) | color5 = {{party color|Kerala Congress (Jacob)}} | value6 = 4.76 | label6 = കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി | color6 = {{party color|Communist Marxist Party}} }} {| class="wikitable sortable" ! colspan="2" |പാർട്ടി !ക്യാബിനറ്റ് മന്ത്രിമാർ |- | width="4px" bgcolor="{{party color|Indian National Congress}}" | |[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] |12 |- | width="4px" bgcolor="{{party color|Indian Union Muslim League}}" | |[[ഇന്ത്യൻ യൂണിയൻ മുസ്‌ലിം ലീഗ്|ഇന്ത്യൻ യൂണിയൻ മുസ്ലീം ലീഗ്]] |5 |- | width="4px" bgcolor="{{party color|Kerala Congress}}" | |[[കേരള കോൺഗ്രസ്]] |1 |- | width="4px" bgcolor="{{party color|Revolutionary Socialist Party (India)}}" | |[[റെവല്യൂഷനറി സോഷ്യലിസ്റ്റ് പാർട്ടി|റവല്യൂഷണറി സോഷ്യലിസ്റ്റ് പാർട്ടി (ഇന്ത്യ)]] |1 |- | width="4px" bgcolor="{{party color|Kerala Congress (Jacob)}}" | |[[കേരള കോൺഗ്രസ് (ജേക്കബ്)|കേരള കോൺഗ്രസ്( ജേക്കബ്)]] |1 |- | width="4px" bgcolor="{{party color|Communist Marxist Party}}" | |[[കമ്മ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി|കമ്യൂണിസ്റ്റ് മാർക്സിസ്റ്റ് പാർട്ടി]] |1 |} == മന്ത്രിമാർ ജില്ല തിരിച്ച് == {{Pie chart |caption=ക്യാബിനറ്റ് മന്ത്രിമാർ ജില്ലതിരിച്ച് |label1=എറണാകുളം |value1=19.04 |color1=#1E90FF |label2=മലപ്പുറം |value2=19.04 |color2=#32CD32 |label3=കൊല്ലം |value3=14.28 |color3=#FF8C00 |label4=ആലപ്പുഴ |value4=9.52 |color4=#DC143C |label5=തിരുവനന്തപുരം |value5=9.52 |color5=#8A2BE2 |label6=പാലക്കാട് |value6=9.52 |color6=#20B2AA |label7=കണ്ണൂർ |value7=4.76 |color7=#FFD700 |label8=വയനാട് |value8=4.76 |color8=#A0522D |label9=തൃശ്ശൂർ |value9=4.76 |color9=#708090 |label10=കോട്ടയം |value10=4.76 |color10=#FF69B4 }} {| class="wikitable sortable" |+ ജില്ല തിരിച്ചുള്ള മന്ത്രിമാരുടെ പ്രാതിനിധ്യം ! ജില്ല ! മന്ത്രിമാരുടെ എണ്ണം ! മന്ത്രിമാർ |- | [[എറണാകുളം ജില്ല|എറണാകുളം]] | {{Center|'''4'''}} |[[വി.ഡി. സതീശൻ]],<br> [[റോജി എം. ജോൺ]],<br> [[വി.ഇ. അബ്ദുൽ ഗഫൂർ|വി.ഇ.അബ്ദുൾ ഗഫൂർ]], <br>[[അനൂപ് ജേക്കബ്]] |- | [[മലപ്പുറം ജില്ല|മലപ്പുറം]] | {{Center|'''4'''}} |[[എ.പി. അനിൽകുമാർ]],<br> [[പി.കെ. കുഞ്ഞാലിക്കുട്ടി]],<br>[[കെ.എം. ഷാജി]],<br>[[പി.കെ. ബഷീർ]] |- | [[കൊല്ലം ജില്ല|കൊല്ലം]] | {{Center|'''3'''}} |[[ബിന്ദു കൃഷ്ണ]],<br>[[പി.സി. വിഷ്ണുനാഥ്]],<br>[[ഷിബു ബേബി ജോൺ]] |- | [[ആലപ്പുഴ ജില്ല|ആലപ്പുഴ]] | {{Center|'''2'''}} |[[രമേശ് ചെന്നിത്തല]],<br>[[എം. ലിജു]] |- | [[തിരുവനന്തപുരം ജില്ല|തിരുവനന്തപുരം]] | {{Center|'''2'''}} |[[കെ. മുരളീധരൻ|കെ.മുരളീധരൻ]],<br>[[സി.പി. ജോൺ]] |- | [[പാലക്കാട് ജില്ല|പാലക്കാട്]] | {{Center|'''2'''}} |[[കെ.എ. തുളസി]],<br>[[എൻ. ഷംസുദ്ദീൻ]] |- | [[കണ്ണൂർ ജില്ല|കണ്ണൂർ]] | {{Center|'''1'''}} |[[സണ്ണി ജോസഫ്]] |- | [[വയനാട് ജില്ല|വയനാട്]] | {{Center|'''1'''}} |[[ടി. സിദ്ദിഖ്]] |- | [[തൃശ്ശൂർ ജില്ല|തൃശ്ശൂർ]] | {{Center|'''1'''}} |[[ഒ.ജെ. ജനീഷ്]] |- | [[കോട്ടയം ജില്ല|കോട്ടയം]] | {{Center|'''1'''}} |[[മോൻസ് ജോസഫ്]] |- |[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] |rowspan="4"|{{Center|'''0'''}} |rowspan="4"|- |- |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- |[[പത്തനംതിട്ട ജില്ല|പത്തനംതിട്ട]] |- |[[ഇടുക്കി ജില്ല|ഇടുക്കി]] |- |} ==അവലംബങ്ങൾ== {{Reflist|}} [[വർഗ്ഗം:കേരളത്തിലെ മന്ത്രിസഭകൾ]] s1kl5zckdw7uyvzh7yr182hfm38rnco എം. ലിജു 0 667389 4622115 4621354 2026-05-23T04:54:52Z Akbarali 17542 /* അവലംബം */ 4622115 wikitext text/x-wiki {{Infobox officeholder | name = M. Liju | image = Mlaliju.jpg | caption = | office = [[Satheesan ministry|Minister for Excise and Cooperation]],<br />[[Government of Kerala]] | term_start = {{Start date|2026|05|18|df=yes}} | term_end = | 1blankname = Chief Minister | 1namedata = [[V.D. Satheesan]] | 2blankname = Departments | 2namedata = * [[Department of Taxes (Kerala)|Excise]] * [[Department of Co-operation (Kerala)|Cooperation]] | predecessor = [[M. B. Rajesh]] (Excise)<br/>[[V. N. Vasavan]] (Cooperation) | office2 = [[Member of the Legislative Assembly (India)|Member]] of the [[Kerala Legislative Assembly]] | term_start2 = {{Start date|2026|05|18|df=yes}} | term_end2 = | predecessor2 = [[U. Prathibha]] | successor2 = | birth_date = | birth_place = [[Haripad]], [[Alappuzha district|Alappuzha]], [[Kerala]], India | party = [[Indian National Congress]] | parents = Mohanlal M. | alma_mater = {{Unbulleted_list|[[Government Law College, Thiruvananthapuram]] <ref>https://www.myneta.info/Kerala2021/candidate.php?candidate_id=234</ref>|[[Kuvempu University]] <ref>https://www.myneta.info/Kerala2026/candidate.php?candidate_id=695</ref>}} | education = {{Unbulleted_list|[[Bachelor of Science]]|[[Bachelor of Laws]]|[[Master of Laws]]}} | occupation = {{hlist|Politician|Social worker|Lawyer}} }} ഒരു ഇന്ത്യൻ രാഷ്ട്രീയ പ്രവർത്തകനും അഭിഭാഷകനും സാമൂഹ്യ പ്രവർത്തകനുമാണ് '''എം. ലിജു'''. ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസിന്റെ അംഗമാണ്. 2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ കായംകുളം നിയോജകമണ്ഡലത്തെ പ്രതിനിധീകരിച്ച് കേരള നിയമസഭാംഗമായി അദ്ദേഹം തിരഞ്ഞെടുക്കപ്പെട്ടു.<ref>{{Cite web|url=https://www.manoramaonline.com/premium/opinion-and-analysis/2026/04/08/kayamkulam-and-ambalappuzha-assembly-constituency-m-liju-u-prathibha-g-sudhakaran-candidateship-election-analysis-prm.html|title=അമ്പലപ്പുഴയിൽ സുധാകരനു നൽകിയ 'സഹായം' ലിജുവിന് കായംകുളത്ത് വോട്ടാകുമോ? 'കണക്കു ചോദിക്കാൻ' പ്രതിഭ; കോൺഗ്രസ് പ്രതീക്ഷിക്കുന്ന 'ഇഫക്ട്' എവിടെയെല്ലാം?|website=@manoramaonline}}</ref><ref>{{Cite web|url=https://theprint.in/elections/kerala-election-results-congress-led-udf-dominates-alappuzha-once-a-left-stronghold/2920280/|title=Kerala election results: Congress-led UDF dominates Alappuzha, once a Left stronghold|first=Aneesa|last=PA|website=[[ThePrint]] |date=May 4, 2026}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ എക്സൈസ് വകുപ്പ് മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ സഹകരണവകുപ്പ് മന്ത്രിമാർ]] o3w5zn5g9ae3nppodhoz43i4e435dv5 സതീശൻ മന്ത്രിസഭ 0 667390 4621534 4620754 2026-05-22T12:31:23Z EmausBot 16706 യന്ത്രം: [[വി.ഡി. സതീശൻ മന്ത്രിസഭ]] എന്നതിലോട്ടുള്ള ഇരട്ട തിരിച്ചുവിടൽ ശരിയാക്കുന്നു 4621534 wikitext text/x-wiki #തിരിച്ചുവിടുക [[വി.ഡി. സതീശൻ മന്ത്രിസഭ]] t8dvlekf7osikyk2cue946fbgpg5mwv അപു ജോൺ ജോസഫ് 0 667392 4622139 4621394 2026-05-23T05:58:49Z ~2026-12275-19 214477 4622139 wikitext text/x-wiki {{Infobox officeholder | name = അപു ജോൺ ജോസഫ് | image = Apu John Joseph.jpg | caption = | office1 = Chief Whip of Kerala | termstart1 = 18 May 2026 | termend1 = | predecessor1 = [[N. Jayaraj]] | successor1 = | office2 = [[Member of the Legislative Assembly (India)|Member]] of the [[Kerala Legislative Assembly]] | termstart2 = {{Start date|2026|05|04|df=yes}} | termend2 = | predecessor2 = [[P. J. ജോസഫ് ]] | successor2 = | birth_date = {{Birth date and age|1973|05|31|df=yes}} | birth_place = [[Purapuzha]], [[Thodupuzha]], [[Idukki district]], [[Kerala]], [[India]] | party = [[കേരള കോൺഗ്രസ്. ജെ ]] | spouse = | children = | parents = [[P. J. Joseph]] (father) <br> Dr. Santha Joseph (mother) | education = [[Bachelor of Engineering]] | alma_mater = [[Kumaraguru College of Technology]], [[Coimbatore]] | occupation = {{hlist|Politician|Entrepreneur|Agriculturist}} | website = }} ഒരു ഇന്ത്യൻ രാഷ്ട്രീയക്കാരനും, സംരംഭകനും, സാമൂഹിക പ്രവർത്തകനുമാണ് '''അപു ജോൺ ജോസഫ്''' (ജനനം: 1973 മെയ് 31). നിലവിൽ [[കേരള സർക്കാർ|കേരള സർക്കാരിൽ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായി]] സേവനമനുഷ്ഠിക്കുന്നു. 2026 മെയ് മുതൽ [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴ നിയോജകമണ്ഡലത്തെ]] പ്രതിനിധീകരിക്കുന്ന അദ്ദേഹം [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] അംഗമാണ്. <ref>{{Cite web|url=https://prsindia.org/mlatrack/apu-john-joseph|title=Apu John Joseph - MLA Track|access-date=18 May 2026|website=[[PRS Legislative Research]]}}</ref> [[കേരള കോൺഗ്രസ്]] പാർട്ടിയിൽ നിന്നുള്ള ഇദ്ദേഹം , മുതിർന്ന രാഷ്ട്രീയ നേതാവ് [[പി.ജെ. ജോസഫ്|പി.ജെ. ജോസഫിന്റെ]] മകനാണ്. ==ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും== 1973 മെയ് 31 ന് കേരളത്തിലെ തൊടുപുഴയിലെ പുറപ്പുഴയിൽ ജനിച്ചു. മുതിർന്ന കേരള കോൺഗ്രസ് നേതാവും മുൻ മന്ത്രിയുമായിരുന്ന [[പി.ജെ. ജോസഫ്|പി.ജെ. ജോസഫിന്റെയും]] ഡോ. ശാന്ത ജോസഫിന്റെയും മകനാണ് ഇദ്ദേഹം. <ref name="myneta">{{Cite web|url=https://www.myneta.info/Kerala2026/candidate.php?candidate_id=565|title=Apu John Joseph Affidavit Information|access-date=18 May 2026|website=MyNeta (Association for Democratic Reforms)}}</ref> 1995-ൽ തമിഴ്‌നാട്ടിലെ കോയമ്പത്തൂരിലെ [[Kumaraguru College of Technology|കുമാരഗുരു കോളേജ് ഓഫ് ടെക്‌നോളജിയിൽ]] ( [[ഭാരതിയാർ സർവ്വകലാശാല|ഭാരതിയാർ യൂണിവേഴ്‌സിറ്റിയുമായി]] അഫിലിയേറ്റ് ചെയ്‌തത്) നിന്ന് ഇലക്ട്രോണിക്‌സ് ആൻഡ് കമ്മ്യൂണിക്കേഷൻ എഞ്ചിനീയറിംഗിൽ ബാച്ചിലർ ഓഫ് എഞ്ചിനീയറിംഗ് (ബിഇ) ബിരുദം നേടി <ref name="myneta">{{Cite web|url=https://www.myneta.info/Kerala2026/candidate.php?candidate_id=565|title=Apu John Joseph Affidavit Information|access-date=18 May 2026|website=MyNeta (Association for Democratic Reforms)}}</ref> മുഖ്യധാരാ രാഷ്ട്രീയത്തിൽ പ്രവേശിക്കുന്നതിനുമുമ്പ്, ഒരു കർഷകനായും പ്രാദേശിക ബിസിനസ് സംരംഭങ്ങൾ കൈകാര്യം ചെയ്യുന്ന ഒരു സംരംഭകനായും പ്രവർത്തിച്ചു. ==രാഷ്ട്രീയ ജീവിതം== കേരള കോൺഗ്രസിന്റെ സംഘടനാ വിഭാഗങ്ങളിലൂടെയാണ് ജോസഫ് പൊതുപ്രവർത്തനത്തിൽ പ്രവേശിച്ചത്. തിരഞ്ഞെടുപ്പിൽ മത്സരിക്കുന്നതിന് മുമ്പ് അദ്ദേഹം കേരള കോൺഗ്രസ് പാർട്ടിയുടെ സംസ്ഥാന കോർഡിനേറ്ററായി സേവനമനുഷ്ഠിച്ചു. [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026-ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ]], പാർട്ടി ശക്തികേന്ദ്രമായ [[തൊടുപുഴ നിയമസഭാമണ്ഡലം|തൊടുപുഴയിൽ]] നിന്ന് മത്സരിക്കാൻ തിരഞ്ഞെടുക്കപ്പെട്ടു, 1970 മുതൽ പത്ത് തവണ ഈ സീറ്റിനെ പ്രതിനിധീകരിച്ചിരുന്ന തന്റെ പിതാവിന്റെ പിൻഗാമിയായി <ref name="constituency">{{Cite news}}</ref> ജോസഫ് 2026ലെ തിരഞ്ഞെടുപ്പിൽ 44,291 വോട്ടുകളുടെ നിർണായക ഭൂരിപക്ഷത്തിൽ വിജയിച്ചു, 84,796 വോട്ടുകൾ (മൊത്തം പോൾ ഷെയറിന്റെ 58.01%) നേടി, തന്റെ ഏറ്റവും അടുത്ത എതിരാളിയായ [[കേരള കോൺഗ്രസ് (എം)]] ന്റെ സിറിയക് ചാഴികാടനെ പരാജയപ്പെടുത്തി. <ref name="constituency" /> 2026 ലെ തിരഞ്ഞെടുപ്പിൽ [[ഐക്യ ജനാധിപത്യ മുന്നണി|യുണൈറ്റഡ് ഡെമോക്രാറ്റിക് ഫ്രണ്ട് (യുഡിഎഫ്)]] നേടിയ വൻ വിജയത്തെത്തുടർന്ന്, സഖ്യത്തിന്റെ ഭാഗമായി [[വി. ഡി. സതീശൻ മന്ത്രിസഭ|വി ഡി സതീശൻ നയിച്ച മന്ത്രിസഭയ്ക്ക്]] കീഴിൽ [[കേരള സർക്കാർ|കേരള സർക്കാരിൽ]] [[ചീഫ് വിപ്പ്|ചീഫ് വിപ്പായി]] അദ്ദേഹത്തെ നിയമിച്ചു. <ref>{{Cite news}}</ref> ==അവലംബം== {{Reflist}} [[വർഗ്ഗം:ഇടുക്കി ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1973-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:മേയ് 31-ന് ജനിച്ചവർ]] [[വർഗ്ഗം:കേരള കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] 5q8ddsup5kcw6ta6c6jlqcetgig1yj0 ഫലകം:Friday Film House 10 667421 4621544 4621509 2026-05-22T13:04:18Z Ranjithsiji 22471 Revert to old navbox. There is some fine tuning needed. 4621544 wikitext text/x-wiki {{Navbox | name = ഫ്രൈഡേ ഫിലിം ഹൗസ് | title = [[ഫ്രൈഡേ ഫിലിം ഹൗസ്]] | listclass = hlist | state = | titlestyle = | groupstyle = | abovestyle = | group1 = Key People | list1 = {{Flatlist| * [[വിജയ് ബാബു]] * [[സാന്ദ്ര തോമസ്]] }} | group2 = Films | list2 = {{Flatlist| * ''[[Friday (2012 film)|Friday]]'' (2012) * ''[[Zachariayude Garbhinikal]]'' (2013) * ''[[Philips and the Monkey Pen]]'' (2013) * ''[[Peruchazhi]]'' (2014) * ''[[Aadu (film)|Aadu]]'' (2015) * ''[[Adi Kapyare Kootamani]]'' (2015) * ''[[Theri (film)|Theri]]'' (2016) * ''[[Mudhugauv]]'' (2016) * ''[[Angamaly Diaries]]'' (2017) * ''[[Aadu 2]]'' (2017) * ''[[June (2019 film)|June]]'' (2019) * ''[[Janamaithri]]'' (2019) * ''[[Jallikattu (2019 film)|Jallikattu]]'' (2019) * ''[[Under World]]'' (2019) * ''[[Thrissur Pooram (film)|Thrissur Pooram]]'' (2019) * ''Sullu'' (2019) * ''[[Sufiyum Sujatayum]]'' (2020) * ''[[Home (2021 film)|Home]]'' (2021) * ''[[Theerppu]]'' (2022) * ''[[Valatty]]'' (2023) * ''[[Enkilum Chandrike]]'' (2023) * ''[[Abbabba]]'' (2024) }} }}<noinclude> {{navbox documentation}} [[Category:Indian film producer navigational boxes]] </noinclude> nb5t1wti1inu9jfs48kt8gg26qv98d4 4621607 4621544 2026-05-22T19:02:30Z Ranjithsiji 22471 testing new module again 4621607 wikitext text/x-wiki {{NavboxMobile | name = ഫ്രൈഡേ ഫിലിം ഹൗസ് | title = [[ഫ്രൈഡേ ഫിലിം ഹൗസ്]] | listclass = hlist | state = | titlestyle = | groupstyle = | abovestyle = | group1 = Key People | list1 = {{Flatlist| * [[വിജയ് ബാബു]] * [[സാന്ദ്ര തോമസ്]] }} | group2 = Films | list2 = {{Flatlist| * ''[[Friday (2012 film)|Friday]]'' (2012) * ''[[Zachariayude Garbhinikal]]'' (2013) * ''[[Philips and the Monkey Pen]]'' (2013) * ''[[Peruchazhi]]'' (2014) * ''[[Aadu (film)|Aadu]]'' (2015) * ''[[Adi Kapyare Kootamani]]'' (2015) * ''[[Theri (film)|Theri]]'' (2016) * ''[[Mudhugauv]]'' (2016) * ''[[Angamaly Diaries]]'' (2017) * ''[[Aadu 2]]'' (2017) * ''[[June (2019 film)|June]]'' (2019) * ''[[Janamaithri]]'' (2019) * ''[[Jallikattu (2019 film)|Jallikattu]]'' (2019) * ''[[Under World]]'' (2019) * ''[[Thrissur Pooram (film)|Thrissur Pooram]]'' (2019) * ''Sullu'' (2019) * ''[[Sufiyum Sujatayum]]'' (2020) * ''[[Home (2021 film)|Home]]'' (2021) * ''[[Theerppu]]'' (2022) * ''[[Valatty]]'' (2023) * ''[[Enkilum Chandrike]]'' (2023) * ''[[Abbabba]]'' (2024) }} }}<noinclude> {{navbox documentation}} [[Category:Indian film producer navigational boxes]] </noinclude> bymoyt0rwpyw3g66lvta7vf9zwpy2qe ഘടകം:NavboxMobile 828 667422 4621528 4621519 2026-05-22T12:14:46Z Ranjithsiji 22471 going with flex css system on moble navbox 4621528 Scribunto text/plain -- -- Module:NavboxMobile (Malayalam Wikipedia) -- -- Single render. No skin detection. No dual output. -- Uses div + CSS flexbox so one HTML structure works on desktop and mobile. -- -- Why not .navbox on the outer wrapper: -- MobileFrontend strips elements with class "navbox" server-side via -- $wgMFRemovableClasses before the page reaches the browser. -- This module uses "navbox-mf" instead — not in the strip list — so -- the navbox always reaches the browser on both desktop and mobile. -- CSS in Common.css styles it on desktop; Mobile.css overrides on mobile. -- -- HTML structure emitted: -- -- <div role="navigation" class="navbox-mf [bodyclass]"> -- -- <!-- Title bar: flex row, navbar left · title centre · toggle right --> -- <div class="navbox-mf-title [titleclass]"> -- <div class="navbox-mf-navbar">v·d·e</div> -- <div class="navbox-mf-title-text">Title</div> -- <!-- MW JS injects toggle button here as last child --> -- </div> -- -- <!-- Body: hidden/shown by mw-collapsible on the outer div --> -- <div class="navbox-mf-body"> -- -- <div class="navbox-mf-abovebelow">above</div> -- -- <!-- Each group+list = one flex row --> -- <div class="navbox-mf-row navbox-mf-odd"> -- <div class="navbox-mf-group">Group label</div> -- <div class="navbox-mf-list">list content</div> -- </div> -- -- <div class="navbox-mf-abovebelow">below</div> -- </div> -- -- </div> -- -- Collapsible: -- mw-collapsible is placed on the OUTER div (.navbox-mf). -- MW JS keeps the FIRST child (.navbox-mf-title) visible and wraps -- everything else in .mw-collapsible-content, which it hides/shows. -- So the title bar (with toggle) always stays visible. -- -- CSS layout: -- Desktop → .navbox-mf-row { flex-direction: row } -- group is a narrow left column, list fills the rest -- Mobile → .navbox-mf-row { flex-wrap: wrap } -- group has min-width:100% so it always wraps to its own line -- list below it fills full width -- No media queries needed — flex-wrap handles it automatically. -- require('strict') local p = {} local getArgs local navbar_fn ------------------------------------------------------------------------ -- Helpers ------------------------------------------------------------------------ local function trimstr(s) return (mw.ustring.gsub(tostring(s or ''), '^%s*(.-)%s*$', '%1')) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s .. '\n' end return s end local function concatStyles(...) local parts = {} for _, v in ipairs({...}) do v = trimstr(v or '') v = v:gsub(';+$', '') if v ~= '' then table.insert(parts, v .. ';') end end return table.concat(parts, ' ') end ------------------------------------------------------------------------ -- Navbar ------------------------------------------------------------------------ local function makeNavbar(args) if args.navbar == 'off' or args.navbar == 'plain' then return '' end if not args.name then local ok, frame = pcall(mw.getCurrentFrame) if ok and frame then local ok2, parent = pcall(function() return frame:getParent() end) if ok2 and parent then local t = parent:getTitle():gsub('/sandbox$', '') if t == 'Template:Navbox' or t == 'Template:NavboxMobile' then return '' end end end return '' end if not navbar_fn then navbar_fn = require('Module:Navbar')._navbar end local fontstyle = concatStyles( args.basestyle or '', args.titlestyle or '', 'background:none transparent;border:none;box-shadow:none;' ) return navbar_fn{ args.name, mini = 1, fontstyle = fontstyle } end ------------------------------------------------------------------------ -- Build ------------------------------------------------------------------------ local function build(args, border, listnums) local res = mw.html.create() -- Outer class local outerClass = 'navbox-mf' if border == 'subgroup' then outerClass = 'navbox-mf navbox-mf-subgroup' end if args.bodyclass and args.bodyclass ~= '' then outerClass = outerClass .. ' ' .. args.bodyclass end -- Collapsible on the outer div so the title (first child) stays visible local isCollapsible = args.title and args.state ~= 'plain' and args.state ~= 'off' if isCollapsible then outerClass = outerClass .. ' mw-collapsible' local st = trimstr(args.state or '') if st == 'collapsed' or st == 'mw-collapsed' then outerClass = outerClass .. ' mw-collapsed' else outerClass = outerClass .. ' autocollapse' end end -- Outer div local outer if border == 'subgroup' then outer = res:tag('div') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) elseif border == 'none' then outer = res:tag('div'):addClass(outerClass) else outer = res:tag('div') :attr('role', 'navigation') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) end -- ── Title (FIRST child — stays visible when collapsed) ─────────── if args.title then local titleDiv = outer:tag('div') :addClass('navbox-mf-title') :addClass(args.titleclass or '') :cssText(concatStyles(args.basestyle or '', args.titlestyle or '')) local navbarText = makeNavbar(args) if navbarText ~= '' then titleDiv:tag('div') :addClass('navbox-mf-navbar') :wikitext(navbarText) end titleDiv:tag('div') :addClass('navbox-mf-title-text') :wikitext(addNewline(args.title)) -- MW JS appends the toggle button here as the last child of titleDiv end -- ── Body (everything after the title gets wrapped by mw-collapsible) ─ -- We don't need an explicit body wrapper — MW handles it. -- Above if args.above then outer:tag('div') :addClass('navbox-mf-abovebelow') :addClass(args.aboveclass or '') :cssText(concatStyles(args.basestyle or '', args.abovestyle or '')) :tag('div'):addClass('navbox-mf-abovebelow-inner') :wikitext(addNewline(args.above)) end -- Group + list rows for index, listnum in ipairs(listnums) do local isOdd = (index % 2) == 1 local rowstyle = isOdd and (args.oddstyle or '') or (args.evenstyle or '') local evenOdd if args.evenodd == 'swap' then evenOdd = isOdd and 'navbox-mf-even' or 'navbox-mf-odd' elseif args.evenodd and args.evenodd ~= '' then evenOdd = 'navbox-mf-' .. args.evenodd else evenOdd = isOdd and 'navbox-mf-odd' or 'navbox-mf-even' end local row = outer:tag('div') :addClass('navbox-mf-row') :addClass(evenOdd) :cssText(rowstyle) if args['group' .. listnum] then row:tag('div') :addClass('navbox-mf-group') :addClass(args.groupclass or '') :cssText(concatStyles( args.basestyle or '', args.groupstyle or '', args['group' .. listnum .. 'style'] or '' )) :wikitext(args['group' .. listnum]) end local listpadding = (listnum == 1 and args.list1padding ~= nil and args.list1padding ~= '' and args.list1padding) or (args.listpadding ~= nil and args.listpadding ~= '' and args.listpadding) or '0.25em' row:tag('div') :addClass('navbox-mf-list') :addClass(args.listclass or '') :cssText(concatStyles( args.liststyle or '', args['list' .. listnum .. 'style'] or '' )) :tag('div'):css('padding', listpadding) :wikitext(addNewline(args['list' .. listnum])) end -- Below if args.below then outer:tag('div') :addClass('navbox-mf-abovebelow') :addClass(args.belowclass or '') :cssText(concatStyles(args.basestyle or '', args.belowstyle or '')) :tag('div'):addClass('navbox-mf-abovebelow-inner') :wikitext(addNewline(args.below)) end return res end ------------------------------------------------------------------------ -- Tracking categories ------------------------------------------------------------------------ local function addTracking(res, args, border) if border == 'subgroup' or border == 'none' then return end if args.tracking == 'no' then return end local ok, title = pcall(mw.title.getCurrentTitle) if not ok or not title or title.namespace ~= 10 then return end local sub = title.subpageText if sub == 'doc' or sub == 'sandbox' or sub == 'testcases' then return end local hasHlist = false for _, cls in ipairs({ 'plainlist','hlist','hlist hnum','hlist hwrap', 'hlist vcard','vcard hlist','hlist vevent' }) do if args.listclass == cls or args.bodyclass == cls then hasHlist = true; break end end if not hasHlist then res:wikitext('[[Category:Navigational boxes without horizontal lists]]') end if mw.ustring.match(args.titlestyle or '', 'background') or mw.ustring.match(args.groupstyle or '', 'background') or mw.ustring.match(args.basestyle or '', 'background') then res:wikitext('[[Category:Navboxes using background colours]]') end local ok2, cc = pcall(require, 'Module:Color contrast') if ok2 then for key, val in pairs(args) do if tostring(key):match('style$') and type(val) == 'string' then if cc._styleratio{ mw.text.unstripNoWiki(val) } < 4.5 then res:wikitext('[[Category:Potentially illegible navboxes]]') break end end end end end ------------------------------------------------------------------------ -- Public API ------------------------------------------------------------------------ function p._navboxMobile(args) local listnums = {} for k in pairs(args) do local n = tostring(k):match('^list(%d+)$') if n then table.insert(listnums, tonumber(n)) end end table.sort(listnums) local border = trimstr(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end local res = build(args, border, listnums) addTracking(res, args, border) return tostring(res) end function p.navboxMobile(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, { wrappers = { 'Template:Navbox', 'Template:NavboxMobile' } }) local _ = args.title _ = args.above for i = 1, 20 do _ = args['group' .. i] _ = args['list' .. i] end _ = args.below return p._navboxMobile(args) end return p a3986vdoh52sx2muq15j8fgoqgeyxvo 4621532 4621528 2026-05-22T12:24:22Z Ranjithsiji 22471 update to fix the heading section of navbox 4621532 Scribunto text/plain -- -- Module:NavboxMobile (Malayalam Wikipedia) -- -- Single render. No skin detection. No dual output. No preprocess/callParserFunction. -- Uses div + CSS flexbox. One HTML structure, one CSS system, works everywhere. -- -- WHY navbox-mf NOT navbox: -- MobileFrontend strips class="navbox" server-side via $wgMFRemovableClasses. -- "navbox-mf" is not in that list — always reaches the browser. -- -- COLLAPSIBLE PATTERN (critical): -- mw-collapsible on the outer div causes MW JS to: -- 1. Insert toggle button as FIRST child of the outer div -- 2. Wrap ALL other children in <div class="mw-collapsible-content"> -- So the outer div must contain: -- [toggle button ← injected here by MW JS] -- [title div ← goes into mw-collapsible-content → WRONG, gets hidden] -- -- The CORRECT pattern is: put mw-collapsible on a WRAPPER that contains -- ONLY the collapsible body, and put the title OUTSIDE that wrapper. -- But since we can't control where MW JS injects the toggle, the solution is: -- -- Use a NAMED toggle: emit a <span class="mw-collapsible-toggle"> ourselves -- INSIDE the title div, then put mw-collapsible on the outer div. -- MW JS finds the existing toggle (doesn't inject a new one) and uses it. -- Everything works: title stays styled, toggle is inside title bar. -- -- HTML structure: -- <div class="navbox-mf [mw-collapsible] [mw-collapsed|autocollapse]"> -- <div class="navbox-mf-title"> -- <div class="navbox-mf-navbar">v·d·e</div> -- <div class="navbox-mf-title-text">Title</div> -- <span class="mw-collapsible-toggle ..."> ← we emit this -- <span class="mw-collapsible-text">ചുരുക്കുക/കാണിക്കുക</span> -- </span> -- </div> -- <div class="mw-collapsible-content"> ← MW wraps from here -- rows... -- </div> -- </div> -- require('strict') local p = {} local getArgs local navbar_fn ------------------------------------------------------------------------ -- Helpers ------------------------------------------------------------------------ local function trimstr(s) return (mw.ustring.gsub(tostring(s or ''), '^%s*(.-)%s*$', '%1')) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s .. '\n' end return s end local function concatStyles(...) local parts = {} for _, v in ipairs({...}) do v = trimstr(v or '') v = v:gsub(';+$', '') if v ~= '' then table.insert(parts, v .. ';') end end return table.concat(parts, ' ') end ------------------------------------------------------------------------ -- Navbar ------------------------------------------------------------------------ local function makeNavbar(args) if args.navbar == 'off' or args.navbar == 'plain' then return '' end if not args.name then local ok, frame = pcall(mw.getCurrentFrame) if ok and frame then local ok2, parent = pcall(function() return frame:getParent() end) if ok2 and parent then local t = parent:getTitle():gsub('/sandbox$', '') if t == 'Template:Navbox' or t == 'Template:NavboxMobile' then return '' end end end return '' end if not navbar_fn then navbar_fn = require('Module:Navbar')._navbar end local fontstyle = concatStyles( args.basestyle or '', args.titlestyle or '', 'background:none transparent;border:none;box-shadow:none;' ) return navbar_fn{ args.name, mini = 1, fontstyle = fontstyle } end ------------------------------------------------------------------------ -- Build ------------------------------------------------------------------------ local function build(args, border, listnums) local res = mw.html.create() -- Outer class local outerClass = 'navbox-mf' if border == 'subgroup' then outerClass = 'navbox-mf navbox-mf-subgroup' end if args.bodyclass and args.bodyclass ~= '' then outerClass = outerClass .. ' ' .. args.bodyclass end local isCollapsible = args.title and args.state ~= 'plain' and args.state ~= 'off' if isCollapsible then outerClass = outerClass .. ' mw-collapsible' local st = trimstr(args.state or '') if st == 'collapsed' or st == 'mw-collapsed' then outerClass = outerClass .. ' mw-collapsed' else outerClass = outerClass .. ' autocollapse' end end -- Outer div local outer if border == 'subgroup' then outer = res:tag('div') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) elseif border == 'none' then outer = res:tag('div'):addClass(outerClass) else outer = res:tag('div') :attr('role', 'navigation') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) end -- ── Title bar ──────────────────────────────────────────────────── -- The title div is the FIRST child of outer. -- We manually emit the mw-collapsible-toggle INSIDE the title div -- so MW JS reuses it instead of injecting a new one before it. if args.title then local titleDiv = outer:tag('div') :addClass('navbox-mf-title') :addClass(args.titleclass or '') :cssText(concatStyles(args.basestyle or '', args.titlestyle or '')) -- Navbar (v·d·e) — left flex item local navbarText = makeNavbar(args) if navbarText ~= '' then titleDiv:tag('div') :addClass('navbox-mf-navbar') :wikitext(navbarText) end -- Title text — centre flex item titleDiv:tag('div') :addClass('navbox-mf-title-text') :wikitext(addNewline(args.title)) -- Collapsible toggle — right flex item, emitted by us so MW JS -- finds it and doesn't inject a second one outside the title bar if isCollapsible then titleDiv:tag('span') :addClass('mw-collapsible-toggle') :addClass('mw-collapsible-toggle-default') :attr('tabindex', '0') :attr('role', 'button') :tag('span') :addClass('mw-collapsible-text') -- The text will be updated by MW JS to hide/show label :wikitext('ചുരുക്കുക') end end -- ── Content rows (MW JS wraps these in mw-collapsible-content) ─── -- Above if args.above then outer:tag('div') :addClass('navbox-mf-abovebelow') :addClass(args.aboveclass or '') :cssText(concatStyles(args.basestyle or '', args.abovestyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.above)) end -- Group + list rows for index, listnum in ipairs(listnums) do local isOdd = (index % 2) == 1 local rowstyle = isOdd and (args.oddstyle or '') or (args.evenstyle or '') local evenOdd if args.evenodd == 'swap' then evenOdd = isOdd and 'navbox-mf-even' or 'navbox-mf-odd' elseif args.evenodd and args.evenodd ~= '' then evenOdd = 'navbox-mf-' .. args.evenodd else evenOdd = isOdd and 'navbox-mf-odd' or 'navbox-mf-even' end local row = outer:tag('div') :addClass('navbox-mf-row') :addClass(evenOdd) :cssText(rowstyle) if args['group' .. listnum] then row:tag('div') :addClass('navbox-mf-group') :addClass(args.groupclass or '') :cssText(concatStyles( args.basestyle or '', args.groupstyle or '', args['group' .. listnum .. 'style'] or '' )) :wikitext(args['group' .. listnum]) end local listpadding = (listnum == 1 and args.list1padding and args.list1padding ~= '' and args.list1padding) or (args.listpadding and args.listpadding ~= '' and args.listpadding) or '0.25em' row:tag('div') :addClass('navbox-mf-list') :addClass(args.listclass or '') :cssText(concatStyles( args.liststyle or '', args['list' .. listnum .. 'style'] or '' )) :tag('div'):css('padding', listpadding) :wikitext(addNewline(args['list' .. listnum])) end -- Below if args.below then outer:tag('div') :addClass('navbox-mf-abovebelow') :addClass(args.belowclass or '') :cssText(concatStyles(args.basestyle or '', args.belowstyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.below)) end return res end ------------------------------------------------------------------------ -- Tracking categories ------------------------------------------------------------------------ local function addTracking(res, args, border) if border == 'subgroup' or border == 'none' then return end if args.tracking == 'no' then return end local ok, title = pcall(mw.title.getCurrentTitle) if not ok or not title or title.namespace ~= 10 then return end local sub = title.subpageText if sub == 'doc' or sub == 'sandbox' or sub == 'testcases' then return end local hasHlist = false for _, cls in ipairs({'plainlist','hlist','hlist hnum','hlist hwrap', 'hlist vcard','vcard hlist','hlist vevent'}) do if args.listclass == cls or args.bodyclass == cls then hasHlist = true; break end end if not hasHlist then res:wikitext('[[Category:Navigational boxes without horizontal lists]]') end if mw.ustring.match(args.titlestyle or '', 'background') or mw.ustring.match(args.groupstyle or '', 'background') or mw.ustring.match(args.basestyle or '', 'background') then res:wikitext('[[Category:Navboxes using background colours]]') end local ok2, cc = pcall(require, 'Module:Color contrast') if ok2 then for key, val in pairs(args) do if tostring(key):match('style$') and type(val) == 'string' then if cc._styleratio{ mw.text.unstripNoWiki(val) } < 4.5 then res:wikitext('[[Category:Potentially illegible navboxes]]') break end end end end end ------------------------------------------------------------------------ -- Public API ------------------------------------------------------------------------ function p._navboxMobile(args) local listnums = {} for k in pairs(args) do local n = tostring(k):match('^list(%d+)$') if n then table.insert(listnums, tonumber(n)) end end table.sort(listnums) local border = trimstr(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end local res = build(args, border, listnums) addTracking(res, args, border) return tostring(res) end function p.navboxMobile(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, { wrappers = { 'Template:Navbox', 'Template:NavboxMobile' } }) local _ = args.title _ = args.above for i = 1, 20 do _ = args['group' .. i] _ = args['list' .. i] end _ = args.below return p._navboxMobile(args) end return p fer8v970x4qfvfxd22fdcxllelx62wk 4621604 4621532 2026-05-22T18:59:23Z Ranjithsiji 22471 fix some button problems 4621604 Scribunto text/plain -- -- Module:NavboxMobile (Malayalam Wikipedia) -- -- Single render. Flex-based div layout. -- Works on desktop (Common.css) and mobile (Mobile.css). -- -- KEY DESIGN POINTS -- ================= -- * The title bar is OUTSIDE the collapsible body, so it stays -- visible even when the body is hidden. -- * The toggle is a single <button class="navbox-mf-toggle"> -- with an inline onclick that ONLY toggles the body. -- * do NOT use mw-collapsible / mw-collapsible-content -- anywhere. Any such classes coming in via user-supplied -- bodyclass/titleclass/listclass/groupclass/etc. are stripped, so -- MediaWiki's jquery.makeCollapsible.js never auto-adds a second -- [hide] link. -- * The outer div is NOT marked navigation/nav-collapsible — only the -- ARIA role is set. -- -- Structure: -- <div class="navbox-mf" role="navigation"> -- <div class="navbox-mf-title"> -- <div class="navbox-mf-navbar">v·d·e</div> -- <div class="navbox-mf-title-text">Title</div> -- <button class="navbox-mf-toggle" data-state="expanded">ചുരുക്കുക</button> -- </div> -- <div class="navbox-mf-body" id="navbox-mf-body-N"> -- rows... -- </div> -- </div> -- require('strict') local p = {} local getArgs local navbar_fn local navboxCount = 0 ------------------------------------------------------------------------ -- Helpers ------------------------------------------------------------------------ local function trimstr(s) return (mw.ustring.gsub(tostring(s or ''), '^%s*(.-)%s*$', '%1')) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s .. '\n' end return s end local function concatStyles(...) local parts = {} for _, v in ipairs({...}) do v = trimstr(v or '') v = v:gsub(';+$', '') if v ~= '' then table.insert(parts, v .. ';') end end return table.concat(parts, ' ') end -- Strip mw-collapsible / collapsible / mw-collapsed and other MW -- auto-toggle classes from user-supplied class strings, so MediaWiki's -- jquery.makeCollapsible.js never injects a duplicate [hide] link. local function sanitizeClass(s) if not s or s == '' then return '' end local result = ' ' .. tostring(s) .. ' ' local blocked = { 'mw%-collapsible', 'mw%-collapsed', 'mw%-made%-collapsible', 'collapsible', 'collapsed', 'autocollapse', 'navbox', -- prevent legacy .navbox CSS from interfering 'vertical%-navbox', } for _, pat in ipairs(blocked) do result = result:gsub('%s' .. pat .. '%s', ' ') end return trimstr(result) end ------------------------------------------------------------------------ -- Navbar ------------------------------------------------------------------------ local function makeNavbar(args) if args.navbar == 'off' or args.navbar == 'plain' then return '' end if not args.name then local ok, frame = pcall(mw.getCurrentFrame) if ok and frame then local ok2, parent = pcall(function() return frame:getParent() end) if ok2 and parent then local t = parent:getTitle():gsub('/sandbox$', '') if t == 'Template:Navbox' or t == 'Template:NavboxMobile' then return '' end end end return '' end if not navbar_fn then navbar_fn = require('Module:Navbar')._navbar end local fontstyle = concatStyles( args.basestyle or '', args.titlestyle or '', 'background:none transparent;border:none;box-shadow:none;' ) return navbar_fn{ args.name, mini = 1, fontstyle = fontstyle } end ------------------------------------------------------------------------ -- Build ------------------------------------------------------------------------ local function build(args, border, listnums) navboxCount = navboxCount + 1 local uid = 'navbox-mf-body-' .. navboxCount local res = mw.html.create() -- Outer class local outerClass = 'navbox-mf' if border == 'subgroup' then outerClass = 'navbox-mf navbox-mf-subgroup' end local extraBodyClass = sanitizeClass(args.bodyclass or '') if extraBodyClass ~= '' then outerClass = outerClass .. ' ' .. extraBodyClass end local isCollapsible = args.title and args.state ~= 'plain' and args.state ~= 'off' local st = trimstr(args.state or '') local startCollapsed = (st == 'collapsed' or st == 'mw-collapsed') -- Outer div local outer if border == 'subgroup' then outer = res:tag('div') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) elseif border == 'none' then outer = res:tag('div'):addClass(outerClass) else outer = res:tag('div') :attr('role', 'navigation') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) end -- ── Title bar (ALWAYS visible — outside the collapsible body) ── -- Layout: [navbar] [title-text flex:1] [toggle button] if args.title then local titleDiv = outer:tag('div') :addClass('navbox-mf-title') :addClass(sanitizeClass(args.titleclass or '')) :cssText(concatStyles(args.basestyle or '', args.titlestyle or '')) -- Left: navbar v·d·e local navbarText = makeNavbar(args) if navbarText ~= '' then titleDiv:tag('div') :addClass('navbox-mf-navbar') :wikitext(navbarText) else -- Empty spacer so flex centring still works titleDiv:tag('div') :addClass('navbox-mf-navbar') :addClass('navbox-mf-navbar-empty') :wikitext('') end -- Centre: title text titleDiv:tag('div') :addClass('navbox-mf-title-text') :wikitext(addNewline(args.title)) -- Right: toggle button (always last) if isCollapsible then local label = startCollapsed and 'കാണിക്കുക' or 'ചുരുക്കുക' local initState = startCollapsed and 'collapsed' or 'expanded' -- Click handler uses data-state, not textContent, so it can't -- desync if labels are translated or wrapped in extra elements. local onclick = "var t=this," .. "b=document.getElementById('" .. uid .. "');" .. "if(!b)return;" .. "var c=t.getAttribute('data-state')==='collapsed';" .. "b.style.display=c?'':'none';" .. "t.setAttribute('data-state',c?'expanded':'collapsed');" .. "t.textContent=c?'ചുരുക്കുക':'കാണിക്കുക';" .. "t.setAttribute('aria-expanded',c?'true':'false');" titleDiv:tag('button') :addClass('navbox-mf-toggle') :attr('type', 'button') :attr('data-state', initState) :attr('aria-controls', uid) :attr('aria-expanded', startCollapsed and 'false' or 'true') :attr('onclick', onclick) :wikitext(label) end end -- ── Body (hidden/shown by toggle) ──────────────────────────────── local body = outer:tag('div') :addClass('navbox-mf-body') :attr('id', uid) if startCollapsed then body:css('display', 'none') end -- Above if args.above then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.aboveclass or '')) :cssText(concatStyles(args.basestyle or '', args.abovestyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.above)) end -- Rows for index, listnum in ipairs(listnums) do local isOdd = (index % 2) == 1 local rowstyle = isOdd and (args.oddstyle or '') or (args.evenstyle or '') local evenOdd if args.evenodd == 'swap' then evenOdd = isOdd and 'navbox-mf-even' or 'navbox-mf-odd' elseif args.evenodd and args.evenodd ~= '' then evenOdd = 'navbox-mf-' .. args.evenodd else evenOdd = isOdd and 'navbox-mf-odd' or 'navbox-mf-even' end local row = body:tag('div') :addClass('navbox-mf-row') :addClass(evenOdd) :cssText(rowstyle) if args['group' .. listnum] then row:tag('div') :addClass('navbox-mf-group') :addClass(sanitizeClass(args.groupclass or '')) :cssText(concatStyles( args.basestyle or '', args.groupstyle or '', args['group' .. listnum .. 'style'] or '' )) :wikitext(args['group' .. listnum]) end local listpadding = (listnum == 1 and args.list1padding and args.list1padding ~= '' and args.list1padding) or (args.listpadding and args.listpadding ~= '' and args.listpadding) or '0.25em' row:tag('div') :addClass('navbox-mf-list') :addClass(sanitizeClass(args.listclass or '')) :cssText(concatStyles( args.liststyle or '', args['list' .. listnum .. 'style'] or '' )) :tag('div'):css('padding', listpadding) :wikitext(addNewline(args['list' .. listnum])) end -- Below if args.below then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.belowclass or '')) :cssText(concatStyles(args.basestyle or '', args.belowstyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.below)) end return res end ------------------------------------------------------------------------ -- Tracking categories ------------------------------------------------------------------------ local function addTracking(res, args, border) if border == 'subgroup' or border == 'none' then return end if args.tracking == 'no' then return end local ok, title = pcall(mw.title.getCurrentTitle) if not ok or not title or title.namespace ~= 10 then return end local sub = title.subpageText if sub == 'doc' or sub == 'sandbox' or sub == 'testcases' then return end local hasHlist = false for _, cls in ipairs({'plainlist','hlist','hlist hnum','hlist hwrap', 'hlist vcard','vcard hlist','hlist vevent'}) do if args.listclass == cls or args.bodyclass == cls then hasHlist = true; break end end if not hasHlist then res:wikitext('[[Category:Navigational boxes without horizontal lists]]') end if mw.ustring.match(args.titlestyle or '', 'background') or mw.ustring.match(args.groupstyle or '', 'background') or mw.ustring.match(args.basestyle or '', 'background') then res:wikitext('[[Category:Navboxes using background colours]]') end local ok2, cc = pcall(require, 'Module:Color contrast') if ok2 then for key, val in pairs(args) do if tostring(key):match('style$') and type(val) == 'string' then if cc._styleratio{ mw.text.unstripNoWiki(val) } < 4.5 then res:wikitext('[[Category:Potentially illegible navboxes]]') break end end end end end ------------------------------------------------------------------------ -- Public API ------------------------------------------------------------------------ function p._navboxMobile(args) local listnums = {} for k in pairs(args) do local n = tostring(k):match('^list(%d+)$') if n then table.insert(listnums, tonumber(n)) end end table.sort(listnums) local border = trimstr(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end local res = build(args, border, listnums) addTracking(res, args, border) return tostring(res) end function p.navboxMobile(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, { wrappers = { 'Template:Navbox', 'Template:NavboxMobile' } }) local _ = args.title _ = args.above for i = 1, 20 do _ = args['group' .. i] _ = args['list' .. i] end _ = args.below return p._navboxMobile(args) end return p jdcp0a73jlqypkyavmh8otyu8hy8r1v 4621608 4621604 2026-05-22T19:10:46Z Ranjithsiji 22471 update to solve hide button problem 4621608 Scribunto text/plain -- -- Module:NavboxMobile (Malayalam Wikipedia) -- -- Single render. Flex-based div layout. -- Works on desktop (Common.css) and mobile (Mobile.css). -- -- TOGGLE MECHANISM -- ================ -- Uses MediaWiki's built-in jquery.makeCollapsible: -- * The collapsible region is .navbox-mf-body, marked with the classes -- "mw-collapsible mw-collapsible-content" (plus optional -- mw-collapsed for start-collapsed state). -- * The toggle link is a <span class="mw-customtoggle-XXX"> placed -- INSIDE the title bar but OUTSIDE the collapsible body, so the -- title stays visible when collapsed. -- * The id of the collapsible body matches the suffix on -- mw-customtoggle-XXX so MediaWiki wires them together. -- * data-collapsetext / data-expandtext attributes on the body give -- localised Malayalam labels. -- -- A single user-visible [hide]/[show] link, native MW behaviour, no JS -- written by us, no <button> tags (those get stripped by Sanitizer). -- -- Structure (rendered HTML): -- <div class="navbox-mf" role="navigation"> -- <div class="navbox-mf-title"> -- <div class="navbox-mf-navbar">v·d·e</div> -- <div class="navbox-mf-title-text">Title</div> -- <span class="navbox-mf-toggle mw-customtoggle-N"></span> -- </div> -- <div class="navbox-mf-body mw-collapsible mw-collapsible-content" -- id="mw-customcollapsible-N" -- data-collapsetext="ചുരുക്കുക" -- data-expandtext="കാണിക്കുക"> -- rows... -- </div> -- </div> -- require('strict') local p = {} local getArgs local navbar_fn local navboxCount = 0 ------------------------------------------------------------------------ -- Helpers ------------------------------------------------------------------------ local function trimstr(s) return (mw.ustring.gsub(tostring(s or ''), '^%s*(.-)%s*$', '%1')) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s .. '\n' end return s end local function concatStyles(...) local parts = {} for _, v in ipairs({...}) do v = trimstr(v or '') v = v:gsub(';+$', '') if v ~= '' then table.insert(parts, v .. ';') end end return table.concat(parts, ' ') end -- Strip stale collapsible-related classes from user-supplied class -- strings. We add our own mw-collapsible to the body only; nothing else -- should carry it, otherwise MW will inject extra [hide] links. local function sanitizeClass(s) if not s or s == '' then return '' end local result = ' ' .. tostring(s) .. ' ' local blocked = { 'mw%-collapsible', 'mw%-collapsed', 'mw%-collapsible%-content', 'mw%-made%-collapsible', 'mw%-customtoggle[%w-]*', 'mw%-customcollapsible[%w-]*', 'collapsible', 'collapsed', 'autocollapse', 'navbox', 'vertical%-navbox', } for _, pat in ipairs(blocked) do result = result:gsub('%s' .. pat .. '%s', ' ') end return trimstr(result) end ------------------------------------------------------------------------ -- Navbar ------------------------------------------------------------------------ local function makeNavbar(args) if args.navbar == 'off' or args.navbar == 'plain' then return '' end if not args.name then local ok, frame = pcall(mw.getCurrentFrame) if ok and frame then local ok2, parent = pcall(function() return frame:getParent() end) if ok2 and parent then local t = parent:getTitle():gsub('/sandbox$', '') if t == 'Template:Navbox' or t == 'Template:NavboxMobile' then return '' end end end return '' end if not navbar_fn then navbar_fn = require('Module:Navbar')._navbar end local fontstyle = concatStyles( args.basestyle or '', args.titlestyle or '', 'background:none transparent;border:none;box-shadow:none;' ) return navbar_fn{ args.name, mini = 1, fontstyle = fontstyle } end ------------------------------------------------------------------------ -- Build ------------------------------------------------------------------------ local function build(args, border, listnums) navboxCount = navboxCount + 1 -- The id on the body and the suffix on the toggle MUST match the -- MediaWiki convention: mw-customcollapsible-XXX / mw-customtoggle-XXX local suffix = 'navbox-mf-' .. navboxCount local bodyId = 'mw-customcollapsible-' .. suffix local toggleCls = 'mw-customtoggle-' .. suffix local res = mw.html.create() -- Outer class local outerClass = 'navbox-mf' if border == 'subgroup' then outerClass = 'navbox-mf navbox-mf-subgroup' end local extraBodyClass = sanitizeClass(args.bodyclass or '') if extraBodyClass ~= '' then outerClass = outerClass .. ' ' .. extraBodyClass end local isCollapsible = args.title and border ~= 'subgroup' and border ~= 'none' and args.state ~= 'plain' and args.state ~= 'off' local st = trimstr(args.state or '') local startCollapsed = (st == 'collapsed' or st == 'mw-collapsed') -- Outer div local outer if border == 'subgroup' then outer = res:tag('div') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) elseif border == 'none' then outer = res:tag('div'):addClass(outerClass) else outer = res:tag('div') :attr('role', 'navigation') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) end -- ── Title bar (ALWAYS visible — outside the collapsible body) ── -- Layout: [navbar] [title-text flex:1] [toggle span] if args.title then local titleDiv = outer:tag('div') :addClass('navbox-mf-title') :addClass(sanitizeClass(args.titleclass or '')) :cssText(concatStyles(args.basestyle or '', args.titlestyle or '')) -- Left: navbar v·d·e (or invisible spacer so title stays centred) local navbarText = makeNavbar(args) if navbarText ~= '' then titleDiv:tag('div') :addClass('navbox-mf-navbar') :wikitext(navbarText) else titleDiv:tag('div') :addClass('navbox-mf-navbar') :addClass('navbox-mf-navbar-empty') :wikitext('') end -- Centre: title text titleDiv:tag('div') :addClass('navbox-mf-title-text') :wikitext(addNewline(args.title)) -- Right: MediaWiki custom-toggle span (empty text — MW fills it -- using data-collapsetext/data-expandtext on the body). -- A leading non-breaking space keeps the link area clickable -- even before makeCollapsible.js has run. if isCollapsible then titleDiv:tag('span') :addClass('navbox-mf-toggle') :addClass(toggleCls) :wikitext('&nbsp;') end end -- ── Body (MW makes this collapsible) ──────────────────────────── local body = outer:tag('div') :addClass('navbox-mf-body') if isCollapsible then body:addClass('mw-collapsible') :addClass('mw-collapsible-content') :attr('id', bodyId) :attr('data-collapsetext', 'ചുരുക്കുക') :attr('data-expandtext', 'കാണിക്കുക') if startCollapsed then body:addClass('mw-collapsed') end end -- Above if args.above then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.aboveclass or '')) :cssText(concatStyles(args.basestyle or '', args.abovestyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.above)) end -- Rows for index, listnum in ipairs(listnums) do local isOdd = (index % 2) == 1 local rowstyle = isOdd and (args.oddstyle or '') or (args.evenstyle or '') local evenOdd if args.evenodd == 'swap' then evenOdd = isOdd and 'navbox-mf-even' or 'navbox-mf-odd' elseif args.evenodd and args.evenodd ~= '' then evenOdd = 'navbox-mf-' .. args.evenodd else evenOdd = isOdd and 'navbox-mf-odd' or 'navbox-mf-even' end local row = body:tag('div') :addClass('navbox-mf-row') :addClass(evenOdd) :cssText(rowstyle) if args['group' .. listnum] then row:tag('div') :addClass('navbox-mf-group') :addClass(sanitizeClass(args.groupclass or '')) :cssText(concatStyles( args.basestyle or '', args.groupstyle or '', args['group' .. listnum .. 'style'] or '' )) :wikitext(args['group' .. listnum]) end local listpadding = (listnum == 1 and args.list1padding and args.list1padding ~= '' and args.list1padding) or (args.listpadding and args.listpadding ~= '' and args.listpadding) or '0.25em' row:tag('div') :addClass('navbox-mf-list') :addClass(sanitizeClass(args.listclass or '')) :cssText(concatStyles( args.liststyle or '', args['list' .. listnum .. 'style'] or '' )) :tag('div'):css('padding', listpadding) :wikitext(addNewline(args['list' .. listnum])) end -- Below if args.below then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.belowclass or '')) :cssText(concatStyles(args.basestyle or '', args.belowstyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.below)) end return res end ------------------------------------------------------------------------ -- Tracking categories ------------------------------------------------------------------------ local function addTracking(res, args, border) if border == 'subgroup' or border == 'none' then return end if args.tracking == 'no' then return end local ok, title = pcall(mw.title.getCurrentTitle) if not ok or not title or title.namespace ~= 10 then return end local sub = title.subpageText if sub == 'doc' or sub == 'sandbox' or sub == 'testcases' then return end local hasHlist = false for _, cls in ipairs({'plainlist','hlist','hlist hnum','hlist hwrap', 'hlist vcard','vcard hlist','hlist vevent'}) do if args.listclass == cls or args.bodyclass == cls then hasHlist = true; break end end if not hasHlist then res:wikitext('[[Category:Navigational boxes without horizontal lists]]') end if mw.ustring.match(args.titlestyle or '', 'background') or mw.ustring.match(args.groupstyle or '', 'background') or mw.ustring.match(args.basestyle or '', 'background') then res:wikitext('[[Category:Navboxes using background colours]]') end local ok2, cc = pcall(require, 'Module:Color contrast') if ok2 then for key, val in pairs(args) do if tostring(key):match('style$') and type(val) == 'string' then if cc._styleratio{ mw.text.unstripNoWiki(val) } < 4.5 then res:wikitext('[[Category:Potentially illegible navboxes]]') break end end end end end ------------------------------------------------------------------------ -- Public API ------------------------------------------------------------------------ function p._navboxMobile(args) local listnums = {} for k in pairs(args) do local n = tostring(k):match('^list(%d+)$') if n then table.insert(listnums, tonumber(n)) end end table.sort(listnums) local border = trimstr(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end local res = build(args, border, listnums) addTracking(res, args, border) return tostring(res) end function p.navboxMobile(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, { wrappers = { 'Template:Navbox', 'Template:NavboxMobile' } }) local _ = args.title _ = args.above for i = 1, 20 do _ = args['group' .. i] _ = args['list' .. i] end _ = args.below return p._navboxMobile(args) end return p lid0u15hkrotxztagt06u60anp0ux7j 4621612 4621608 2026-05-22T19:22:39Z Ranjithsiji 22471 fix the hide button label switch problem 4621612 Scribunto text/plain -- -- Module:NavboxMobile (Malayalam Wikipedia) -- -- Single render. Flex-based div layout. -- Works on desktop (Common.css) and mobile (Mobile.css). -- -- TOGGLE MECHANISM -- ================ -- Uses MediaWiki's built-in jquery.makeCollapsible: -- * The collapsible region is .navbox-mf-body, marked with the classes -- "mw-collapsible mw-collapsible-content" (plus optional -- mw-collapsed for start-collapsed state). -- * The toggle link is a <span class="mw-customtoggle-XXX"> placed -- INSIDE the title bar but OUTSIDE the collapsible body, so the -- title stays visible when collapsed. -- * MediaWiki does NOT inject text into mw-customtoggle spans (only -- into its own default toggle which we hide via CSS), so we supply -- two child spans — "ചുരുക്കുക" (hide) and "കാണിക്കുക" (show) — -- and swap them with CSS :has() based on whether the body has the -- .mw-collapsed class. -- -- A single user-visible toggle, native MW click behaviour, no JS -- written by us, no <button> tags (those get stripped by Sanitizer). -- -- Structure (rendered HTML): -- <div class="navbox-mf" role="navigation"> -- <div class="navbox-mf-title"> -- <div class="navbox-mf-navbar">v·d·e</div> -- <div class="navbox-mf-title-text">Title</div> -- <span class="navbox-mf-toggle mw-customtoggle-N" -- role="button" tabindex="0" aria-controls="mw-customcollapsible-N"> -- <span class="navbox-mf-toggle-hide">ചുരുക്കുക</span> -- <span class="navbox-mf-toggle-show">കാണിക്കുക</span> -- </span> -- </div> -- <div class="navbox-mf-body mw-collapsible mw-collapsible-content" -- id="mw-customcollapsible-N" -- data-collapsetext="ചുരുക്കുക" -- data-expandtext="കാണിക്കുക"> -- rows... -- </div> -- </div> -- require('strict') local p = {} local getArgs local navbar_fn local navboxCount = 0 ------------------------------------------------------------------------ -- Helpers ------------------------------------------------------------------------ local function trimstr(s) return (mw.ustring.gsub(tostring(s or ''), '^%s*(.-)%s*$', '%1')) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s .. '\n' end return s end local function concatStyles(...) local parts = {} for _, v in ipairs({...}) do v = trimstr(v or '') v = v:gsub(';+$', '') if v ~= '' then table.insert(parts, v .. ';') end end return table.concat(parts, ' ') end -- Strip stale collapsible-related classes from user-supplied class -- strings. We add our own mw-collapsible to the body only; nothing else -- should carry it, otherwise MW will inject extra [hide] links. local function sanitizeClass(s) if not s or s == '' then return '' end local result = ' ' .. tostring(s) .. ' ' local blocked = { 'mw%-collapsible', 'mw%-collapsed', 'mw%-collapsible%-content', 'mw%-made%-collapsible', 'mw%-customtoggle[%w-]*', 'mw%-customcollapsible[%w-]*', 'collapsible', 'collapsed', 'autocollapse', 'navbox', 'vertical%-navbox', } for _, pat in ipairs(blocked) do result = result:gsub('%s' .. pat .. '%s', ' ') end return trimstr(result) end ------------------------------------------------------------------------ -- Navbar ------------------------------------------------------------------------ local function makeNavbar(args) if args.navbar == 'off' or args.navbar == 'plain' then return '' end if not args.name then local ok, frame = pcall(mw.getCurrentFrame) if ok and frame then local ok2, parent = pcall(function() return frame:getParent() end) if ok2 and parent then local t = parent:getTitle():gsub('/sandbox$', '') if t == 'Template:Navbox' or t == 'Template:NavboxMobile' then return '' end end end return '' end if not navbar_fn then navbar_fn = require('Module:Navbar')._navbar end local fontstyle = concatStyles( args.basestyle or '', args.titlestyle or '', 'background:none transparent;border:none;box-shadow:none;' ) return navbar_fn{ args.name, mini = 1, fontstyle = fontstyle } end ------------------------------------------------------------------------ -- Build ------------------------------------------------------------------------ local function build(args, border, listnums) navboxCount = navboxCount + 1 -- The id on the body and the suffix on the toggle MUST match the -- MediaWiki convention: mw-customcollapsible-XXX / mw-customtoggle-XXX local suffix = 'navbox-mf-' .. navboxCount local bodyId = 'mw-customcollapsible-' .. suffix local toggleCls = 'mw-customtoggle-' .. suffix local res = mw.html.create() -- Outer class local outerClass = 'navbox-mf' if border == 'subgroup' then outerClass = 'navbox-mf navbox-mf-subgroup' end local extraBodyClass = sanitizeClass(args.bodyclass or '') if extraBodyClass ~= '' then outerClass = outerClass .. ' ' .. extraBodyClass end local isCollapsible = args.title and border ~= 'subgroup' and border ~= 'none' and args.state ~= 'plain' and args.state ~= 'off' local st = trimstr(args.state or '') local startCollapsed = (st == 'collapsed' or st == 'mw-collapsed') -- Outer div local outer if border == 'subgroup' then outer = res:tag('div') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) elseif border == 'none' then outer = res:tag('div'):addClass(outerClass) else outer = res:tag('div') :attr('role', 'navigation') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) end -- ── Title bar (ALWAYS visible — outside the collapsible body) ── -- Layout: [navbar] [title-text flex:1] [toggle span] if args.title then local titleDiv = outer:tag('div') :addClass('navbox-mf-title') :addClass(sanitizeClass(args.titleclass or '')) :cssText(concatStyles(args.basestyle or '', args.titlestyle or '')) -- Left: navbar v·d·e (or invisible spacer so title stays centred) local navbarText = makeNavbar(args) if navbarText ~= '' then titleDiv:tag('div') :addClass('navbox-mf-navbar') :wikitext(navbarText) else titleDiv:tag('div') :addClass('navbox-mf-navbar') :addClass('navbox-mf-navbar-empty') :wikitext('') end -- Centre: title text titleDiv:tag('div') :addClass('navbox-mf-title-text') :wikitext(addNewline(args.title)) -- Right: MediaWiki custom-toggle span. -- IMPORTANT: MediaWiki does NOT auto-inject text into -- mw-customtoggle-* elements (unlike its default toggle). -- We supply BOTH labels and swap them via CSS based on whether -- the sibling .navbox-mf-body carries .mw-collapsed. if isCollapsible then local toggle = titleDiv:tag('span') :addClass('navbox-mf-toggle') :addClass(toggleCls) :attr('role', 'button') :attr('tabindex', '0') :attr('aria-controls', bodyId) -- "Hide" label — shown when body is expanded toggle:tag('span') :addClass('navbox-mf-toggle-hide') :wikitext('ചുരുക്കുക') -- "Show" label — shown when body is collapsed toggle:tag('span') :addClass('navbox-mf-toggle-show') :wikitext('കാണിക്കുക') end end -- ── Body (MW makes this collapsible) ──────────────────────────── local body = outer:tag('div') :addClass('navbox-mf-body') if isCollapsible then body:addClass('mw-collapsible') :addClass('mw-collapsible-content') :attr('id', bodyId) :attr('data-collapsetext', 'ചുരുക്കുക') :attr('data-expandtext', 'കാണിക്കുക') if startCollapsed then body:addClass('mw-collapsed') end end -- Above if args.above then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.aboveclass or '')) :cssText(concatStyles(args.basestyle or '', args.abovestyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.above)) end -- Rows for index, listnum in ipairs(listnums) do local isOdd = (index % 2) == 1 local rowstyle = isOdd and (args.oddstyle or '') or (args.evenstyle or '') local evenOdd if args.evenodd == 'swap' then evenOdd = isOdd and 'navbox-mf-even' or 'navbox-mf-odd' elseif args.evenodd and args.evenodd ~= '' then evenOdd = 'navbox-mf-' .. args.evenodd else evenOdd = isOdd and 'navbox-mf-odd' or 'navbox-mf-even' end local row = body:tag('div') :addClass('navbox-mf-row') :addClass(evenOdd) :cssText(rowstyle) if args['group' .. listnum] then row:tag('div') :addClass('navbox-mf-group') :addClass(sanitizeClass(args.groupclass or '')) :cssText(concatStyles( args.basestyle or '', args.groupstyle or '', args['group' .. listnum .. 'style'] or '' )) :wikitext(args['group' .. listnum]) end local listpadding = (listnum == 1 and args.list1padding and args.list1padding ~= '' and args.list1padding) or (args.listpadding and args.listpadding ~= '' and args.listpadding) or '0.25em' row:tag('div') :addClass('navbox-mf-list') :addClass(sanitizeClass(args.listclass or '')) :cssText(concatStyles( args.liststyle or '', args['list' .. listnum .. 'style'] or '' )) :tag('div'):css('padding', listpadding) :wikitext(addNewline(args['list' .. listnum])) end -- Below if args.below then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.belowclass or '')) :cssText(concatStyles(args.basestyle or '', args.belowstyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.below)) end return res end ------------------------------------------------------------------------ -- Tracking categories ------------------------------------------------------------------------ local function addTracking(res, args, border) if border == 'subgroup' or border == 'none' then return end if args.tracking == 'no' then return end local ok, title = pcall(mw.title.getCurrentTitle) if not ok or not title or title.namespace ~= 10 then return end local sub = title.subpageText if sub == 'doc' or sub == 'sandbox' or sub == 'testcases' then return end local hasHlist = false for _, cls in ipairs({'plainlist','hlist','hlist hnum','hlist hwrap', 'hlist vcard','vcard hlist','hlist vevent'}) do if args.listclass == cls or args.bodyclass == cls then hasHlist = true; break end end if not hasHlist then res:wikitext('[[Category:Navigational boxes without horizontal lists]]') end if mw.ustring.match(args.titlestyle or '', 'background') or mw.ustring.match(args.groupstyle or '', 'background') or mw.ustring.match(args.basestyle or '', 'background') then res:wikitext('[[Category:Navboxes using background colours]]') end local ok2, cc = pcall(require, 'Module:Color contrast') if ok2 then for key, val in pairs(args) do if tostring(key):match('style$') and type(val) == 'string' then if cc._styleratio{ mw.text.unstripNoWiki(val) } < 4.5 then res:wikitext('[[Category:Potentially illegible navboxes]]') break end end end end end ------------------------------------------------------------------------ -- Public API ------------------------------------------------------------------------ function p._navboxMobile(args) local listnums = {} for k in pairs(args) do local n = tostring(k):match('^list(%d+)$') if n then table.insert(listnums, tonumber(n)) end end table.sort(listnums) local border = trimstr(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end local res = build(args, border, listnums) addTracking(res, args, border) return tostring(res) end function p.navboxMobile(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, { wrappers = { 'Template:Navbox', 'Template:NavboxMobile' } }) local _ = args.title _ = args.above for i = 1, 20 do _ = args['group' .. i] _ = args['list' .. i] end _ = args.below return p._navboxMobile(args) end return p q9zm80fus40x8sy7is4xty01q8a1c95 4621616 4621612 2026-05-22T19:30:43Z Ranjithsiji 22471 update the show/hide label in mobile navbox switch problem 4621616 Scribunto text/plain -- -- Module:NavboxMobile (Malayalam Wikipedia) -- -- Single render. Flex-based div layout. -- Works on desktop (Common.css) and mobile (Mobile.css). -- -- TOGGLE MECHANISM -- ================ -- Uses MediaWiki's built-in jquery.makeCollapsible: -- * The collapsible region is .navbox-mf-body, marked with the classes -- "mw-collapsible mw-collapsible-content" (plus optional -- mw-collapsed for start-collapsed state). -- * The toggle link is a <span class="mw-customtoggle-XXX"> placed -- INSIDE the title bar but OUTSIDE the collapsible body, so the -- title stays visible when collapsed. -- * MediaWiki does NOT inject text into mw-customtoggle spans (only -- into its own default toggle which we hide via CSS), so we supply -- two child spans — "ചുരുക്കുക" (hide) and "കാണിക്കുക" (show) — -- and swap them with CSS :has() based on whether the body has the -- .mw-collapsed class. -- -- A single user-visible toggle, native MW click behaviour, no JS -- written by us, no <button> tags (those get stripped by Sanitizer). -- -- Structure (rendered HTML): -- <div class="navbox-mf" role="navigation"> -- <div class="navbox-mf-title"> -- <div class="navbox-mf-navbar">v·d·e</div> -- <div class="navbox-mf-title-text">Title</div> -- <span class="navbox-mf-toggle mw-customtoggle-N" -- role="button" tabindex="0" aria-controls="mw-customcollapsible-N"> -- <span class="navbox-mf-toggle-hide">ചുരുക്കുക</span> -- <span class="navbox-mf-toggle-show">കാണിക്കുക</span> -- </span> -- </div> -- <div class="navbox-mf-body mw-collapsible mw-collapsible-content" -- id="mw-customcollapsible-N" -- data-collapsetext="ചുരുക്കുക" -- data-expandtext="കാണിക്കുക"> -- rows... -- </div> -- </div> -- require('strict') local p = {} local getArgs local navbar_fn local navboxCount = 0 ------------------------------------------------------------------------ -- Helpers ------------------------------------------------------------------------ local function trimstr(s) return (mw.ustring.gsub(tostring(s or ''), '^%s*(.-)%s*$', '%1')) end local function addNewline(s) if s:match('^[*:;#]') or s:match('^{|') then return '\n' .. s .. '\n' end return s end local function concatStyles(...) local parts = {} for _, v in ipairs({...}) do v = trimstr(v or '') v = v:gsub(';+$', '') if v ~= '' then table.insert(parts, v .. ';') end end return table.concat(parts, ' ') end -- Strip stale collapsible-related classes from user-supplied class -- strings. We add our own mw-collapsible to the body only; nothing else -- should carry it, otherwise MW will inject extra [hide] links. local function sanitizeClass(s) if not s or s == '' then return '' end local result = ' ' .. tostring(s) .. ' ' local blocked = { 'mw%-collapsible', 'mw%-collapsed', 'mw%-collapsible%-content', 'mw%-made%-collapsible', 'mw%-customtoggle[%w-]*', 'mw%-customcollapsible[%w-]*', 'collapsible', 'collapsed', 'autocollapse', 'navbox', 'vertical%-navbox', } for _, pat in ipairs(blocked) do result = result:gsub('%s' .. pat .. '%s', ' ') end return trimstr(result) end ------------------------------------------------------------------------ -- Navbar ------------------------------------------------------------------------ local function makeNavbar(args) if args.navbar == 'off' or args.navbar == 'plain' then return '' end if not args.name then local ok, frame = pcall(mw.getCurrentFrame) if ok and frame then local ok2, parent = pcall(function() return frame:getParent() end) if ok2 and parent then local t = parent:getTitle():gsub('/sandbox$', '') if t == 'Template:Navbox' or t == 'Template:NavboxMobile' then return '' end end end return '' end if not navbar_fn then navbar_fn = require('Module:Navbar')._navbar end local fontstyle = concatStyles( args.basestyle or '', args.titlestyle or '', 'background:none transparent;border:none;box-shadow:none;' ) return navbar_fn{ args.name, mini = 1, fontstyle = fontstyle } end ------------------------------------------------------------------------ -- Build ------------------------------------------------------------------------ local function build(args, border, listnums) navboxCount = navboxCount + 1 -- The id on the body and the suffix on the toggle MUST match the -- MediaWiki convention: mw-customcollapsible-XXX / mw-customtoggle-XXX local suffix = 'navbox-mf-' .. navboxCount local bodyId = 'mw-customcollapsible-' .. suffix local toggleCls = 'mw-customtoggle-' .. suffix local res = mw.html.create() -- Outer class local outerClass = 'navbox-mf' if border == 'subgroup' then outerClass = 'navbox-mf navbox-mf-subgroup' end local extraBodyClass = sanitizeClass(args.bodyclass or '') if extraBodyClass ~= '' then outerClass = outerClass .. ' ' .. extraBodyClass end local isCollapsible = args.title and border ~= 'subgroup' and border ~= 'none' and args.state ~= 'plain' and args.state ~= 'off' local st = trimstr(args.state or '') local startCollapsed = (st == 'collapsed' or st == 'mw-collapsed') -- Outer div local outer if border == 'subgroup' then outer = res:tag('div') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) elseif border == 'none' then outer = res:tag('div'):addClass(outerClass) else outer = res:tag('div') :attr('role', 'navigation') :addClass(outerClass) :cssText(concatStyles(args.bodystyle or '', args.style or '')) end -- ── Title bar (ALWAYS visible — outside the collapsible body) ── -- Layout: [navbar] [title-text flex:1] [toggle span] if args.title then local titleDiv = outer:tag('div') :addClass('navbox-mf-title') :addClass(sanitizeClass(args.titleclass or '')) :cssText(concatStyles(args.basestyle or '', args.titlestyle or '')) -- Left: navbar v·d·e (or invisible spacer so title stays centred) local navbarText = makeNavbar(args) if navbarText ~= '' then titleDiv:tag('div') :addClass('navbox-mf-navbar') :wikitext(navbarText) else titleDiv:tag('div') :addClass('navbox-mf-navbar') :addClass('navbox-mf-navbar-empty') :wikitext('') end -- Centre: title text titleDiv:tag('div') :addClass('navbox-mf-title-text') :wikitext(addNewline(args.title)) -- Right: MediaWiki custom-toggle span. -- IMPORTANT: MediaWiki does NOT auto-inject text into -- mw-customtoggle-* elements (unlike its default toggle). -- We supply BOTH labels and swap them via CSS based on whether -- the sibling .navbox-mf-body carries .mw-collapsed. if isCollapsible then local toggle = titleDiv:tag('span') :addClass('navbox-mf-toggle') :addClass(toggleCls) :attr('role', 'button') :attr('tabindex', '0') :attr('aria-controls', bodyId) -- "Hide" label — shown when body is expanded toggle:tag('span') :addClass('navbox-mf-toggle-hide') :wikitext('ചുരുക്കുക') -- "Show" label — shown when body is collapsed toggle:tag('span') :addClass('navbox-mf-toggle-show') :wikitext('കാണിക്കുക') end end -- ── Body (MW makes this collapsible) ──────────────────────────── local body = outer:tag('div') :addClass('navbox-mf-body') if isCollapsible then -- ONLY mw-collapsible (not mw-collapsible-content). Adding both -- to the same element confuses makeCollapsible.js — on Vector -- (desktop) it wraps the children in a new element so the -- .mw-collapsed class lands somewhere we can't reach with our -- :has() selector, while on Minerva (mobile) it Just Works. -- With only .mw-collapsible, MW toggles .mw-collapsed on this -- exact element on both skins. body:addClass('mw-collapsible') :attr('id', bodyId) :attr('data-collapsetext', 'ചുരുക്കുക') :attr('data-expandtext', 'കാണിക്കുക') if startCollapsed then body:addClass('mw-collapsed') end end -- Above if args.above then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.aboveclass or '')) :cssText(concatStyles(args.basestyle or '', args.abovestyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.above)) end -- Rows for index, listnum in ipairs(listnums) do local isOdd = (index % 2) == 1 local rowstyle = isOdd and (args.oddstyle or '') or (args.evenstyle or '') local evenOdd if args.evenodd == 'swap' then evenOdd = isOdd and 'navbox-mf-even' or 'navbox-mf-odd' elseif args.evenodd and args.evenodd ~= '' then evenOdd = 'navbox-mf-' .. args.evenodd else evenOdd = isOdd and 'navbox-mf-odd' or 'navbox-mf-even' end local row = body:tag('div') :addClass('navbox-mf-row') :addClass(evenOdd) :cssText(rowstyle) if args['group' .. listnum] then row:tag('div') :addClass('navbox-mf-group') :addClass(sanitizeClass(args.groupclass or '')) :cssText(concatStyles( args.basestyle or '', args.groupstyle or '', args['group' .. listnum .. 'style'] or '' )) :wikitext(args['group' .. listnum]) end local listpadding = (listnum == 1 and args.list1padding and args.list1padding ~= '' and args.list1padding) or (args.listpadding and args.listpadding ~= '' and args.listpadding) or '0.25em' row:tag('div') :addClass('navbox-mf-list') :addClass(sanitizeClass(args.listclass or '')) :cssText(concatStyles( args.liststyle or '', args['list' .. listnum .. 'style'] or '' )) :tag('div'):css('padding', listpadding) :wikitext(addNewline(args['list' .. listnum])) end -- Below if args.below then body:tag('div') :addClass('navbox-mf-abovebelow') :addClass(sanitizeClass(args.belowclass or '')) :cssText(concatStyles(args.basestyle or '', args.belowstyle or '')) :tag('div'):addClass('navbox-mf-cell') :wikitext(addNewline(args.below)) end return res end ------------------------------------------------------------------------ -- Tracking categories ------------------------------------------------------------------------ local function addTracking(res, args, border) if border == 'subgroup' or border == 'none' then return end if args.tracking == 'no' then return end local ok, title = pcall(mw.title.getCurrentTitle) if not ok or not title or title.namespace ~= 10 then return end local sub = title.subpageText if sub == 'doc' or sub == 'sandbox' or sub == 'testcases' then return end local hasHlist = false for _, cls in ipairs({'plainlist','hlist','hlist hnum','hlist hwrap', 'hlist vcard','vcard hlist','hlist vevent'}) do if args.listclass == cls or args.bodyclass == cls then hasHlist = true; break end end if not hasHlist then res:wikitext('[[Category:Navigational boxes without horizontal lists]]') end if mw.ustring.match(args.titlestyle or '', 'background') or mw.ustring.match(args.groupstyle or '', 'background') or mw.ustring.match(args.basestyle or '', 'background') then res:wikitext('[[Category:Navboxes using background colours]]') end local ok2, cc = pcall(require, 'Module:Color contrast') if ok2 then for key, val in pairs(args) do if tostring(key):match('style$') and type(val) == 'string' then if cc._styleratio{ mw.text.unstripNoWiki(val) } < 4.5 then res:wikitext('[[Category:Potentially illegible navboxes]]') break end end end end end ------------------------------------------------------------------------ -- Public API ------------------------------------------------------------------------ function p._navboxMobile(args) local listnums = {} for k in pairs(args) do local n = tostring(k):match('^list(%d+)$') if n then table.insert(listnums, tonumber(n)) end end table.sort(listnums) local border = trimstr(args.border or args[1] or '') if border == 'child' then border = 'subgroup' end local res = build(args, border, listnums) addTracking(res, args, border) return tostring(res) end function p.navboxMobile(frame) if not getArgs then getArgs = require('Module:Arguments').getArgs end local args = getArgs(frame, { wrappers = { 'Template:Navbox', 'Template:NavboxMobile' } }) local _ = args.title _ = args.above for i = 1, 20 do _ = args['group' .. i] _ = args['list' .. i] end _ = args.below return p._navboxMobile(args) end return p i8o0yr3i9e4ftp9h2nxjmrqk1ppewu3 ഉപയോക്താവിന്റെ സംവാദം:Rishu Shukla 3 667428 4621527 2026-05-22T12:05:33Z QueerEcofeminist 90504 QueerEcofeminist എന്ന ഉപയോക്താവ് [[ഉപയോക്താവിന്റെ സംവാദം:Rishu Shukla]] എന്ന താൾ [[ഉപയോക്താവിന്റെ സംവാദം:Mamkor]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു: "[[Special:CentralAuth/Rishu Shukla|Rishu Shukla]]" എന്ന ഉപയോക്താവിനെ "[[Special:CentralAuth/Mamkor|Mamkor]]" എന്നു പേരുമാറ്റിയപ്പോൾ താൾ കൂടെ സ്വയം മാറിയിട്ടുണ്ട്. 4621527 wikitext text/x-wiki #തിരിച്ചുവിടുക [[ഉപയോക്താവിന്റെ സംവാദം:Mamkor]] l9e70m1il2kq3yk11ouxj5xda0xbot9 കരട്:ജനലിൻ കാസ്റ്റെല്ലിനോ 118 667429 4621540 2026-05-22T12:59:30Z FluteWarrior 217914 FluteWarrior എന്ന ഉപയോക്താവ് [[കരട്:ജനലിൻ കാസ്റ്റെല്ലിനോ]] എന്ന താൾ [[ജനലിൻ കാസ്റ്റെല്ലിനോ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു: പൂർത്തിയാക്കിയതും മെച്ചപ്പെടുത്തിയതും പൂർണ്ണമായും ഉറവിടത്തിൽ നിന്നുള്ളതുമായ ഒരു ലേഖനം ഞാൻ പ്രധാന ലേഖന സ്ഥാനത്തേക്ക് മാറ്റുകയാണ്. 4621540 wikitext text/x-wiki #തിരിച്ചുവിടുക [[ജനലിൻ കാസ്റ്റെല്ലിനോ]] tk9dnwxiqjc3rqnh4grrone8rmprqji സംവാദം:ജനലിൻ കാസ്റ്റെല്ലിനോ 1 667430 4621542 2026-05-22T13:01:36Z FluteWarrior 217914 /* ലേഖനം പൂർത്തിയായി, ഉറവിടം കണ്ടെത്തി, മെച്ചപ്പെടുത്തലുകൾ വരുത്തിയിട്ടുണ്ട്. */ പുതിയ ഉപവിഭാഗം 4621542 wikitext text/x-wiki == ലേഖനം പൂർത്തിയായി, ഉറവിടം കണ്ടെത്തി, മെച്ചപ്പെടുത്തലുകൾ വരുത്തിയിട്ടുണ്ട്. == പൂർത്തിയാക്കിയതും മെച്ചപ്പെടുത്തിയതും പൂർണ്ണമായും ഉറവിടത്തിൽ നിന്നുള്ളതുമായ ഒരു ലേഖനം ഞാൻ പ്രധാന ലേഖന സ്ഥാനത്തേക്ക് മാറ്റുകയാണ്. [[ഉപയോക്താവ്:FluteWarrior|FluteWarrior]] ([[ഉപയോക്താവിന്റെ സംവാദം:FluteWarrior|സംവാദം]]) 13:01, 22 മേയ് 2026 (UTC) ld53x3ulu0bpp00mmhqvfgxfceeosrx ഫലകം:Ill2/doc 10 667431 4621563 2026-05-22T13:58:44Z CatholicChristian 209870 CatholicChristian എന്ന ഉപയോക്താവ് [[ഫലകം:Ill2/doc]] എന്ന താൾ [[ഫലകം:Interlanguage link/doc]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 4621563 wikitext text/x-wiki #തിരിച്ചുവിടുക [[ഫലകം:Interlanguage link/doc]] 2t1m50w7fkpffq90a5q7iey4enwxuht കവാടം:സമകാലികം/2026 മേയ് 21 100 667432 4621598 2026-05-22T17:56:52Z Aby John Vannilam 13754 പുതിയത് 4621598 wikitext text/x-wiki === 2026 മെയ് 21 വ്യാഴാഴ്ച === '''1201 ഇടവം 07''' ലോകം *[[ഇന്ത്യൻ പ്രധാനമന്ത്രി]] നരേന്ദ്ര മോദിയുടെ [[ഐക്യ അറബ് എമിറേറ്റുകൾ|യു.എ.ഇ]]., [[നെതർലന്റ്സ്|നെതർലാൻഡ്‌സ്]], [[സ്വീഡൻ]], [[നോർവെ|നോർവേ]], [[ഇറ്റലി]] സന്ദർശനം അവസാനിച്ചു *ഇബോള ഭീതിയെ തുടർന്ന് ഇന്ത്യ ആഫ്രിക്കൻ ഉച്ചകോടി മാറ്റിവച്ചു. ഇന്ത്യ *തൊഴിലാളികൾക്കുള്ള മിനിമം വേതനം: [[തെലംഗാണ|തെലങ്കാന]] സർക്കാർ ഒരു സുപ്രധാന തീരുമാനം എടുത്തതായി മുഖ്യമന്ത്രി രേവന്ത് റെഡ്ഡി *[[പശ്ചിമ ബംഗാൾ|പശ്ചിമ ബംഗാളിൽ]] [[മമത ബാനർജി|മമതബാനർജിയ്ക്ക്]] സ്വന്തം വാർഡിൽ പോലും ലീഡില്ല; ബൂത്ത് തിരിച്ചുള്ള കണക്ക് [[ഇന്ത്യൻ തിരഞ്ഞെടുപ്പ് കമ്മീഷൻ|തിരഞ്ഞെടുപ്പു കമ്മീഷൻ]] പുറത്തുവിട്ടു. *[[ഝാർഖണ്ഡ്‌|ജാർഖണ്ഡിൽ]] 25 ലധികം [[മാവോയിസം|മാവോയിസ്റ്റുകൾ]] പോലീസ് ആസ്ഥാനത്ത് കീഴടങ്ങി. *[[പശ്ചിമ ബംഗാൾ|പശ്ചിമ ബംഗാളിലെ]] ഫൽത്ത നിയമസഭാ മണ്ഡലത്തിൽ വീണ്ടും വോട്ടെടുപ്പു നടന്നു. *ബ്ലോക്ക് ചെയ്ത് മണിക്കൂറുകൾക്കുള്ളിൽ [[കോക്രോച്ച് ജനതാ പാർട്ടി]] പുതിയ [[എക്സ് (സോഷ്യൽ നെറ്റ്‌വർക്ക്)|എക്‌സ് അക്കൗണ്ട്]] സൃഷ്ടിച്ചു. കേരളം *സംസ്ഥാനത്തെ എം.എൽ.എ.മാരുടെ സത്യപ്രതിജ്ഞാ ചടങ്ങിന് ശേഷം നിയമസഭ അടുത്ത ദിവസത്തേയ്ക്കു പിരിഞ്ഞു *സർക്കാർ ഓണറേറിയം കൂട്ടിയതിൽ ആഹ്ലാദ പ്രകടനവുമായി [[ആശാ വർക്കർ|ആശാ പ്രവർത്തകർ]]. {{തിരുത്തുക|കവാടം:സമകാലികം/2026 മേയ് 21}} ------- <!-- ലോകം ഇന്ത്യ കേരളം --> p90yz1kha5q6ttbo2gsq4nz2t9ng295 കവാടം:സമകാലികം/2026 മേയ് 22 100 667433 4621615 2026-05-22T19:24:40Z Aby John Vannilam 13754 പുതിയത് 4621615 wikitext text/x-wiki === 2026 മെയ് 22 വെള്ളിയാഴ്ച === '''1201 ഇടവം 08''' ലോകം *യു.എസ്. പ്രസിഡന്റ് [[ഡോണൾഡ് ട്രംപ്|ഡൊണാൾഡ് ട്രംപിന്റെ]] ഇന്റലിജൻസ് മേധാവി സ്ഥാനം [[തുളസി ഗബ്ബാർഡ്]] രാജിവച്ചു *[[റഷ്യ|റഷ്യൻ]] സൈന്യത്തിൽ ചേർന്ന 49 ഇന്ത്യക്കാർ കൊല്ലപ്പെട്ടു; സുപ്രീം കോടതിയിൽ റിപ്പോർട്ട് നൽകി കേന്ദ്രം *[[ഹോർമൂസ് കടലിടുക്ക്|ഹോർമുസ് കടലിടുക്കിൽ]] ടോൾ സംവിധാനം ഏർപ്പെടുത്താനുള്ള ഇറാന്റെ നയം സ്വീകാര്യമല്ലെന്ന് [[യു.എസ്. സ്റ്റേറ്റ് സെക്രട്ടറി|യുഎസ് സ്റ്റേറ്റ് സെക്രട്ടറി]] *[[വെനസ്വേല|വെനിസ്വേലയുടെ]] ഇടക്കാല പ്രസിഡന്റ് [[ഡെൽസി റോഡ്രിഗസ്]] അടുത്ത ആഴ്ച ഇന്ത്യ സന്ദർശിക്കുമെന്നും എണ്ണ വിതരണവും ഊർജ്ജ സഹകരണവും സംബന്ധിച്ച സുപ്രധാന ചർച്ചകൾ നടക്കുമെന്നും യുഎസ് സ്റ്റേറ്റ് സെക്രട്ടറി [[മാർകോ റൂബിയോ|മാർക്കോ റൂബിയോ]] ഒരു സുപ്രധാന പ്രഖ്യാപനം നടത്തി. *സാങ്കേതിക തകരാർ; സ്റ്റാർഷിപ്പ് വി3 വിക്ഷേപണം അവസാന നിമിഷം മാറ്റിവെച്ച് [[സ്പേസ് എക്സ്|സ്‌പേസ് എക്‌സ്]] *[[ഡെമോക്രാറ്റിക് റിപബ്ലിക്ക് ഓഫ് കോംഗോ|ഡെമോക്രാറ്റിക് റിപ്പബ്ലിക് ഓഫ് കോംഗോയിൽ]] പടർന്നുപിടിക്കുന്ന [[എബോള വൈറസ്]] ബാധ അങ്ങേയറ്റം ആശങ്കാജനകമാണെന്ന് [[ലോകാരോഗ്യസംഘടന|ലോകാരോഗ്യ സംഘടനയുടെ]] മേധാവി [[ടെഡ്രോസ് അദാനോം ഗെബ്രിയേസസ്]]. ഔദ്യോഗികമായി സ്ഥിരീകരിച്ച കണക്കുകളേക്കാൾ എത്രയോ മടങ്ങ് വലുതാണ് യാഥാർത്ഥ്യത്തിലുള്ള രോഗവ്യാപനമെന്നും അദ്ദേഹം മുന്നറിയിപ്പ് നൽകി. *അൽബേർട്ട പ്രവിശ്യ [[കാനഡ|കാനഡയിൽ]] തുടരണോ അല്ലെങ്കിൽ കാനഡയിൽനിന്നു വേർപെടാൻ നടപടികൾ ആരംഭിക്കണോ എന്നു തീരുമാനിക്കാനായി അൽബേർട്ട പ്രവിശ്യയിൽ ഒക്‌ടോബർ 19നു ഹിതപരിശോധനാ വോട്ടെടുപ്പ് നടത്തുമെന്നു പ്രവിശ്യാ മുഖ്യമന്ത്രി ഡാനിയേൽ സ്മിത്ത് അറിയിച്ചു. ഇന്ത്യ *[[ഒഡീഷ|ഒഡീഷയിൽ]] നിന്ന് ഇന്ത്യ അഗ്നി-1 ബാലിസ്റ്റിക് മിസൈൽ വിജയകരമായി പരീക്ഷിച്ചു *[[ഉമർ ഖാലിദ്|ഉമർ ഖാലിദിന്]] മൂന്ന് ദിവസത്തെ ഇടക്കാല ജാമ്യം *സംസ്ഥാനത്ത് ജൂലൈ 31നകം പഞ്ചായത്ത് തിരഞ്ഞെടുപ്പ് നടത്തണമെന്ന് [[രാജസ്ഥാൻ]] ഹൈക്കോടതിയുടെ ഉത്തരവ് *മെയ് 26 ന് ഇന്ത്യ ക്വാഡ് വിദേശകാര്യ മന്ത്രിമാരുടെ യോഗം നടക്കും *12 സംസ്ഥാനങ്ങളിലായി 26 [[രാജ്യസഭ|രാജ്യസഭാ]] സീറ്റുകളിലേക്കുള്ള തിരഞ്ഞെടുപ്പ് തീയതി പ്രഖ്യാപിച്ചു * സമൂഹമാധ്യമങ്ങളിൽ വൈറലായിക്കൊണ്ടിരിക്കുന്ന [[കോക്രോച്ച് ജനതാ പാർട്ടി|കോക്രോച്ച് ജനതാ പാർട്ടിയുടെ]] രണ്ടാമത് തുടങ്ങിയ അക്കൗണ്ട് പതിനായിരങ്ങളാണ് ഫോളോ ചെയ്യുന്നത്. രണ്ടു ദിവസത്തിനുള്ളിൽ രണ്ടു കോടിയോളം ഫോളോവേഴ്സിലെത്തിയ സിജെപിയുടെ [[ഇൻസ്റ്റാഗ്രാം|ഇൻസ്റ്റഗ്രാം]] അക്കൗണ്ടിനെതിരേ ഇതുവരെയും നടപടികളൊന്നും സ്വീകരിച്ചിട്ടില്ല. ‘[[കോക്രോച്ച് ജനതാ പാർട്ടി|കോക്രോച്ച് ജനതാ പാർട്ടിയുടെ]] (സിജെപി)’ ആദ്യ [[എക്സ് (സോഷ്യൽ നെറ്റ്‌വർക്ക്)|എക്സ് അക്കൗണ്ട്]] കേന്ദ്രസർക്കാരിൻറെ നിർദേശപ്രകാരമാണു റദ്ദാക്കിയത്.കോക്രോച്ച് ജനതാ പാർട്ടിയുടെ (സിജെപി) സമൂഹമാധ്യമ അക്കൗണ്ടിൽ നിന്നും ദേശീയ സുരക്ഷയ്ക്ക് ഭീഷണി ഉയർത്തുന്ന ഉള്ളടക്കങ്ങൾ പോസ്റ്റ് ചെയ്യുന്നുവെന്ന് ചൂണ്ടിക്കാട്ടി ഇൻറലിജൻസ് ബ്യൂറോ നൽകിയ റിപ്പോർട്ടിൻറെ അടിസ്ഥാനത്തിലാണു നടപടി. ഐടി ആക്‌ടിലെ സെക്‌ഷൻ 69(എ) പ്രകാരമാണ് അക്കൗണ്ട് തടഞ്ഞുവയ്ക്കാൻ എക്സിന് കേന്ദ്രസർക്കാർ നിർദേശം നൽകിയത്. ചീഫ് ജസ്റ്റീസ് സൂര്യകാന്തിൻറെ വിവാദ പരാമർശത്തിനു പിന്നാലെയാണ് കോക്രോച്ച് ജനതാ പാർട്ടി സമൂഹമാധ്യമങ്ങളിൽ പ്രത്യക്ഷപ്പെടുന്നത്. ബോസ്റ്റൺ സർവകലാശാലാ വിദ്യാർഥിയായ അഭിജീത് ദിപ്കെയായിരുന്നു ഈ ആക്ഷേപഹാസ്യ കൂട്ടായ്മയ്ക്കു പിന്നിൽ. <ref>പാറ്റാപ്പടയെ കണ്ടു ഭയന്നു !; എക്സ് അക്കൗണ്ട് പൂട്ടാൻ നിർദേശിച്ചത് കേന്ദ്രസർക്കാർ - ദീപിക [https://www.deepika.com/national/scared-of-seeing-the-cockroaches-central-government-recommends-closing-x-s-account-123094 2026 മെയ് 22, രാത്രി 11:25 IST] </ref> കേരളം *[[എബോള വൈറസ്]]; നെടുമ്പാശേരി വിമാനത്താവളത്തിൽ മുൻകരുതൽ യോഗം ചേർന്നു *കെ-റെയിൽ പ്രക്ഷോഭം: കേസുകൾ എഴുതിത്തള്ളണോയെന്ന് തീരുമാനിക്കേണ്ടത് സർക്കാരല്ല, കോടതിയാണെന്ന് മുൻ മന്ത്രി പി രാജീവ് *സ്പീക്കർ തിരഞ്ഞെടുപ്പിൽ [[തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ|തിരുവഞ്ചൂർ രാധാകൃഷ്ണന്]] 101 വോട്ടുകൾ. തിരുവഞ്ചൂർ രാധാകൃഷ്ണൻ [[പതിനാറാം കേരളനിയമസഭ|പതിനാറാം കേരള നിയമസഭയുടെ]] സ്പീക്കറായി ചുമതലയേറ്റു. *[[കോഴിക്കോട് ജില്ല|കോഴിക്കോട്]] മലവെള്ളപ്പാച്ചിൽ താത്കാലിക പാലം ഒലിച്ചുപോയി. {{തിരുത്തുക|കവാടം:സമകാലികം/2026 മേയ് 22}} ------- <!-- ലോകം ഇന്ത്യ കേരളം --> 4v4fd49r86fvbdjcrb1hjsexsjc9gig ഫലകം:Dead Youtube links 10 667434 4621633 2022-02-08T02:42:21Z en>GoingBatty 0 GoingBatty moved page [[Template:Dead Youtube links]] to [[Template:Dead YouTube links]]: proper capitalization 4621633 wikitext text/x-wiki #REDIRECT [[Template:Dead YouTube links]] {{Redirect category shell| {{R from move}} }} 9vnxxsfmgt28lzg0ps5xb3iazyh4gib 4621634 4621633 2023-03-17T12:12:40Z en>Mclay1 0 fix double redirect 4621634 wikitext text/x-wiki #REDIRECT [[Template:Dead YouTube link]] {{Redirect category shell| {{R from move}} }} q893263oa1k3kvjv0b4hj83ihee65w8 4621635 4621634 2026-05-22T22:39:20Z Jacob.jose 1784 [[:en:Template:Dead_Youtube_links]] എന്നതിൽ നിന്ന് 2 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621634 wikitext text/x-wiki #REDIRECT [[Template:Dead YouTube link]] {{Redirect category shell| {{R from move}} }} q893263oa1k3kvjv0b4hj83ihee65w8 ഫലകത്തിന്റെ സംവാദം:Dead Youtube links 11 667435 4621638 2022-02-08T02:42:22Z en>GoingBatty 0 GoingBatty moved page [[Template talk:Dead Youtube links]] to [[Template talk:Dead YouTube links]]: proper capitalization 4621638 wikitext text/x-wiki #REDIRECT [[Template talk:Dead YouTube links]] {{Redirect category shell| {{R from move}} }} qvspuwpcy0scaq8v1n7qo3w23jwwr1a 4621639 4621638 2023-03-17T12:14:50Z en>Xqbot 0 Bot: Fixing double redirect to [[Template talk:Dead YouTube link]] 4621639 wikitext text/x-wiki #REDIRECT [[Template talk:Dead YouTube link]] {{Redirect category shell| {{R from move}} }} 0sbqlgxu9ore7xm5k9t3b9kbb9eeizh 4621640 4621639 2026-05-22T22:39:25Z Jacob.jose 1784 [[:en:Template_talk:Dead_Youtube_links]] എന്നതിൽ നിന്ന് 2 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621639 wikitext text/x-wiki #REDIRECT [[Template talk:Dead YouTube link]] {{Redirect category shell| {{R from move}} }} 0sbqlgxu9ore7xm5k9t3b9kbb9eeizh ഫലകം:Detroit Film Critics Society Award for Best Supporting Actress 10 667436 4621641 2020-12-29T09:32:34Z en>SibTower1987 0 [[WP:AES|←]]Created page with '{{Navbox | name = Detroit Film Critics Society Award for Best Supporting Actress | title = [[Detroit Film Critics Society Award for Best Supporting Actress]] | s...' 4621641 wikitext text/x-wiki {{Navbox | name = Detroit Film Critics Society Award for Best Supporting Actress | title = [[Detroit Film Critics Society Award for Best Supporting Actress]] | state = {{{state|autocollapse}}} | listclass = hlist | list1= * [[Tilda Swinton]] (2007) * [[Marisa Tomei]] (2008) * [[Mo'Nique]] (2009) * [[Amy Adams]] (2010) * [[Carey Mulligan]] (2011) * [[Anne Hathaway]] (2012) * [[Scarlett Johansson]] (2013) * [[Patricia Arquette]] (2014) * [[Alicia Vikander]] (2015) * [[Viola Davis]] / [[Greta Gerwig]] (2016) * [[Allison Janney]] (2017) * [[Regina King]] (2018) * [[Laura Dern]] (2019) }}<noinclude> {{collapsible option}} [[Category:Detroit Film Critics Society Awards templates|Supporting Actress]] </noinclude> o0ovbrhp1j0bhbae5p69hw3ekkdobrj 4621642 4621641 2021-03-14T23:51:23Z en>SibTower1987 0 4621642 wikitext text/x-wiki {{Navbox | name = Detroit Film Critics Society Award for Best Supporting Actress | title = [[Detroit Film Critics Society Award for Best Supporting Actress]] | state = {{{state|autocollapse}}} | listclass = hlist | list1= * [[Tilda Swinton]] (2007) * [[Marisa Tomei]] (2008) * [[Mo'Nique]] (2009) * [[Amy Adams]] (2010) * [[Carey Mulligan]] (2011) * [[Anne Hathaway]] (2012) * [[Scarlett Johansson]] (2013) * [[Patricia Arquette]] (2014) * [[Alicia Vikander]] (2015) * [[Viola Davis]] / [[Greta Gerwig]] (2016) * [[Allison Janney]] (2017) * [[Regina King]] (2018) * [[Laura Dern]] (2019) * [[Youn Yuh-jung]] (2020) }}<noinclude> {{collapsible option}} [[Category:Detroit Film Critics Society Awards templates|Supporting Actress]] </noinclude> etaa6ucvxprlntmayqcert18bwpnuqi 4621643 4621642 2021-12-08T07:59:28Z en>SibTower1987 0 4621643 wikitext text/x-wiki {{Navbox | name = Detroit Film Critics Society Award for Best Supporting Actress | title = [[Detroit Film Critics Society Award for Best Supporting Actress]] | state = {{{state|autocollapse}}} | listclass = hlist | list1= * [[Tilda Swinton]] (2007) * [[Marisa Tomei]] (2008) * [[Mo'Nique]] (2009) * [[Amy Adams]] (2010) * [[Carey Mulligan]] (2011) * [[Anne Hathaway]] (2012) * [[Scarlett Johansson]] (2013) * [[Patricia Arquette]] (2014) * [[Alicia Vikander]] (2015) * [[Viola Davis]] / [[Greta Gerwig]] (2016) * [[Allison Janney]] (2017) * [[Regina King]] (2018) * [[Laura Dern]] (2019) * [[Youn Yuh-jung]] (2020) * [[Ariana DeBose]] (2021) }}<noinclude> {{collapsible option}} [[Category:Detroit Film Critics Society Awards templates|Supporting Actress]] </noinclude> s4zhiftw75frt4puewfsh21yenbrcin 4621644 4621643 2023-03-01T07:15:35Z en>M. Armando 0 4621644 wikitext text/x-wiki {{Navbox | name = Detroit Film Critics Society Award for Best Supporting Actress | title = [[Detroit Film Critics Society Award for Best Supporting Actress]] | state = {{{state|autocollapse}}} | listclass = hlist | bodyclass = hlist | nowrapitems = yes | list1= * [[Tilda Swinton]] (2007) * [[Marisa Tomei]] (2008) * [[Mo'Nique]] (2009) * [[Amy Adams]] (2010) * [[Carey Mulligan]] (2011) * [[Anne Hathaway]] (2012) * [[Scarlett Johansson]] (2013) * [[Patricia Arquette]] (2014) * [[Alicia Vikander]] (2015) * [[Viola Davis]] / [[Greta Gerwig]] (2016) * [[Allison Janney]] (2017) * [[Regina King]] (2018) * [[Laura Dern]] (2019) * [[Youn Yuh-jung]] (2020) * [[Ariana DeBose]] (2021) }}<noinclude> {{collapsible option}} [[Category:Detroit Film Critics Society Awards templates|Supporting Actress]] </noinclude> 3032dww7amxiqd83q6pmf32wc18tdaj 4621645 4621644 2026-05-22T22:39:47Z Jacob.jose 1784 [[:en:Template:Detroit_Film_Critics_Society_Award_for_Best_Supporting_Actress]] എന്നതിൽ നിന്ന് 4 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621644 wikitext text/x-wiki {{Navbox | name = Detroit Film Critics Society Award for Best Supporting Actress | title = [[Detroit Film Critics Society Award for Best Supporting Actress]] | state = {{{state|autocollapse}}} | listclass = hlist | bodyclass = hlist | nowrapitems = yes | list1= * [[Tilda Swinton]] (2007) * [[Marisa Tomei]] (2008) * [[Mo'Nique]] (2009) * [[Amy Adams]] (2010) * [[Carey Mulligan]] (2011) * [[Anne Hathaway]] (2012) * [[Scarlett Johansson]] (2013) * [[Patricia Arquette]] (2014) * [[Alicia Vikander]] (2015) * [[Viola Davis]] / [[Greta Gerwig]] (2016) * [[Allison Janney]] (2017) * [[Regina King]] (2018) * [[Laura Dern]] (2019) * [[Youn Yuh-jung]] (2020) * [[Ariana DeBose]] (2021) }}<noinclude> {{collapsible option}} [[Category:Detroit Film Critics Society Awards templates|Supporting Actress]] </noinclude> 3032dww7amxiqd83q6pmf32wc18tdaj ഫലകം:Districts of Vienna 10 667437 4621646 2005-04-28T16:07:49Z en>Martg76 0 4621646 wikitext text/x-wiki <br clear="all" /> {| align="center" class="toccolours" cellspacing="0" |- ! bgcolor="#ccccff" align="center" | [[Districts of Vienna|Districts]] of [[Vienna]] |- | align="center" style="font-size: 90%;" | I. [[Innere Stadt]] | II. [[Leopoldstadt, Vienna|Leopoldstadt]] | III. [[Landstraße, Vienna|Landstraße]] | IV. [[Wieden]] | V. [[Margareten]] | VI. [[Mariahilf]] | VII. [[Neubau, Vienna|Neubau]] | VIII. [[Josefstadt]] | IX. [[Alsergrund, Vienna|Alsergrund]] | X. [[Favoriten]] | XI. [[Simmering, Vienna|Simmering]] | XII. [[Meidling, Vienna|Meidling]] | XIII. [[Hietzing]] | XIV. [[Penzing]] | XV. [[Rudolfsheim-Fünfhaus]] | XVI. [[Ottakring]] | XVII. [[Hernals]] | XVIII. [[Währing]] | XIX. [[Döbling]] | XX. [[Brigittenau]] | XXI. [[Floridsdorf]] | XXII. [[Donaustadt]] | XXIII. [[Liesing]] |} o2d3rur3e0f7p986jz8n9d4m3ewyx0b 4621647 4621646 2005-07-10T17:27:02Z en>Grubber 0 Lets try Arabic numerals for readibility... see talk 4621647 wikitext text/x-wiki <br clear="all" /> {| align="center" class="toccolours" cellspacing="0" |- ! bgcolor="#ccccff" align="center" | [[Districts of Vienna|Districts]] of [[Vienna]] |- | align="center" style="font-size: 90%;" | 1. [[Innere Stadt]] | 2. [[Leopoldstadt, Vienna|Leopoldstadt]] | 3. [[Landstraße, Vienna|Landstraße]] | 4. [[Wieden]] | 5. [[Margareten]] | 6. [[Mariahilf]] | 7. [[Neubau, Vienna|Neubau]] | 8. [[Josefstadt]] | 9. [[Alsergrund, Vienna|Alsergrund]] | 10. [[Favoriten]] | 11. [[Simmering, Vienna|Simmering]] | 12. [[Meidling, Vienna|Meidling]] | 13. [[Hietzing]] | 14. [[Penzing]] | 15. [[Rudolfsheim-Fünfhaus]] | 16. [[Ottakring]] | 17. [[Hernals]] | 18. [[Währing]] | 19. [[Döbling]] | 20. [[Brigittenau]] | 21. [[Floridsdorf]] | 22. [[Donaustadt]] | 23. [[Liesing]] |} frft85s6l1j7yzfh2fydz89wb9k3gc6 4621648 4621647 2005-07-31T09:42:34Z en>Martg76 0 rv to Roman numerals 4621648 wikitext text/x-wiki <br clear="all" /> {| align="center" class="toccolours" cellspacing="0" |- ! bgcolor="#ccccff" align="center" | [[Districts of Vienna|Districts]] of [[Vienna]] |- | align="center" style="font-size: 90%;" | I. [[Innere Stadt]] | II. [[Leopoldstadt, Vienna|Leopoldstadt]] | III. [[Landstraße, Vienna|Landstraße]] | IV. [[Wieden]] | V. [[Margareten]] | VI. [[Mariahilf]] | VII. [[Neubau, Vienna|Neubau]] | VIII. [[Josefstadt]] | IX. [[Alsergrund, Vienna|Alsergrund]] | X. [[Favoriten]] | XI. [[Simmering, Vienna|Simmering]] | XII. [[Meidling, Vienna|Meidling]] | XIII. [[Hietzing]] | XIV. [[Penzing]] | XV. [[Rudolfsheim-Fünfhaus]] | XVI. [[Ottakring]] | XVII. [[Hernals]] | XVIII. [[Währing]] | XIX. [[Döbling]] | XX. [[Brigittenau]] | XXI. [[Floridsdorf]] | XXII. [[Donaustadt]] | XXIII. [[Liesing]] |} o2d3rur3e0f7p986jz8n9d4m3ewyx0b 4621649 4621648 2005-08-01T10:20:59Z en>Grubber 0 Changing district links to match new changes in article names according to [[Wikipedia talk:WikiProject Vienna|this vote]] 4621649 wikitext text/x-wiki <br clear="all" /> {| align="center" class="toccolours" cellspacing="0" |- ! bgcolor="#ccccff" align="center" | [[Districts of Vienna|Districts]] of [[Vienna]] |- | align="center" style="font-size: 90%;" | I. [[Innere Stadt]] | II. [[Leopoldstadt]] | III. [[Landstraße]] | IV. [[Wieden]] | V. [[Margareten]] | VI. [[Mariahilf]] | VII. [[Neubau]] | VIII. [[Josefstadt]] | IX. [[Alsergrund]] | X. [[Favoriten]] | XI. [[Simmering (Vienna)|Simmering]] | XII. [[Meidling]] | XIII. [[Hietzing]] | XIV. [[Penzing]] | XV. [[Rudolfsheim-Fünfhaus]] | XVI. [[Ottakring]] | XVII. [[Hernals]] | XVIII. [[Währing]] | XIX. [[Döbling]] | XX. [[Brigittenau]] | XXI. [[Floridsdorf]] | XXII. [[Donaustadt]] | XXIII. [[Liesing]] |} 0z0rbo71m6ofvfm0jq08fgoshwsxvo4 4621650 4621649 2006-08-27T22:19:31Z en>Rmhermen 0 dab 4621650 wikitext text/x-wiki <br clear="all" /> {| align="center" class="toccolours" cellspacing="0" |- ! bgcolor="#ccccff" align="center" | [[Districts of Vienna|Districts]] of [[Vienna]] |- | align="center" style="font-size: 90%;" | I. [[Innere Stadt]] | II. [[Leopoldstadt]] | III. [[Landstraße]] | IV. [[Wieden]] | V. [[Margareten]] | VI. [[Mariahilf]] | VII. [[Neubau]] | VIII. [[Josefstadt]] | IX. [[Alsergrund]] | X. [[Favoriten]] | XI. [[Simmering (Vienna)|Simmering]] | XII. [[Meidling]] | XIII. [[Hietzing]] | XIV. [[Penzing (Vienna)|Penzing]] | XV. [[Rudolfsheim-Fünfhaus]] | XVI. [[Ottakring]] | XVII. [[Hernals]] | XVIII. [[Währing]] | XIX. [[Döbling]] | XX. [[Brigittenau]] | XXI. [[Floridsdorf]] | XXII. [[Donaustadt]] | XXIII. [[Liesing]] |} ooqkqqgunfjtdciajvlj8x2oeqlzqu9 4621651 4621650 2007-01-12T16:50:32Z en>Grstain 0 adding non-breaking spaces (see talk) 4621651 wikitext text/x-wiki <br clear="all" /> {| align="center" class="toccolours" cellspacing="0" |- ! bgcolor="#ccccff" align="center" | [[Districts of Vienna|Districts]] of [[Vienna]] |- | align="center" style="font-size: 90%;" | I.&nbsp;[[Innere Stadt]] | II.&nbsp;[[Leopoldstadt]] | III.&nbsp;[[Landstraße]] | IV.&nbsp;[[Wieden]] | V.&nbsp;[[Margareten]] | VI.&nbsp;[[Mariahilf]] | VII.&nbsp;[[Neubau]] | VIII.&nbsp;[[Josefstadt]] | IX.&nbsp;[[Alsergrund]] | X.&nbsp;[[Favoriten]] | XI.&nbsp;[[Simmering (Vienna)|Simmering]] | XII.&nbsp;[[Meidling]] | XIII.&nbsp;[[Hietzing]] | XIV.&nbsp;[[Penzing (Vienna)|Penzing]] | XV.&nbsp;[[Rudolfsheim-Fünfhaus]] | XVI.&nbsp;[[Ottakring]] | XVII.&nbsp;[[Hernals]] | XVIII.&nbsp;[[Währing]] | XIX.&nbsp;[[Döbling]] | XX.&nbsp;[[Brigittenau]] | XXI.&nbsp;[[Floridsdorf]] | XXII.&nbsp;[[Donaustadt]] | XXIII.&nbsp;[[Liesing]] |} 0isp7q4yveqzd5phr22y9w6k1yzmpru 4621652 4621651 2007-08-24T00:44:32Z en>Dispenser 0 [[User:Dispenser/Navbox|Navbox conformity]], better CSS/XHTML and collapsible using [[Project:AutoWikiBrowser|AWB]] 4621652 wikitext text/x-wiki {| class="navbox nowraplinks collapsible" |- ! {{tnavbar-collapsible| [[Districts of Vienna|Districts]] of [[Vienna]] |Districts of Vienna}} |- || I.&nbsp;[[Innere Stadt]] | II.&nbsp;[[Leopoldstadt]] | III.&nbsp;[[Landstraße]] | IV.&nbsp;[[Wieden]] | V.&nbsp;[[Margareten]] | VI.&nbsp;[[Mariahilf]] | VII.&nbsp;[[Neubau]] | VIII.&nbsp;[[Josefstadt]] | IX.&nbsp;[[Alsergrund]] | X.&nbsp;[[Favoriten]] | XI.&nbsp;[[Simmering (Vienna)|Simmering]] | XII.&nbsp;[[Meidling]] | XIII.&nbsp;[[Hietzing]] | XIV.&nbsp;[[Penzing (Vienna)|Penzing]] | XV.&nbsp;[[Rudolfsheim-Fünfhaus]] | XVI.&nbsp;[[Ottakring]] | XVII.&nbsp;[[Hernals]] | XVIII.&nbsp;[[Währing]] | XIX.&nbsp;[[Döbling]] | XX.&nbsp;[[Brigittenau]] | XXI.&nbsp;[[Floridsdorf]] | XXII.&nbsp;[[Donaustadt]] | XXIII.&nbsp;[[Liesing]] |}<noinclude> {{Uncategorized template|type=navbox|date=August 2007}} </noinclude> narwp8suoecwdqzsaud69qfso1pc7n0 4621653 4621652 2007-09-22T20:08:22Z 87.55.136.26 interwiki 4621653 wikitext text/x-wiki {| class="navbox nowraplinks collapsible" |- ! {{tnavbar-collapsible| [[Districts of Vienna|Districts]] of [[Vienna]] |Districts of Vienna}} |- || I.&nbsp;[[Innere Stadt]] | II.&nbsp;[[Leopoldstadt]] | III.&nbsp;[[Landstraße]] | IV.&nbsp;[[Wieden]] | V.&nbsp;[[Margareten]] | VI.&nbsp;[[Mariahilf]] | VII.&nbsp;[[Neubau]] | VIII.&nbsp;[[Josefstadt]] | IX.&nbsp;[[Alsergrund]] | X.&nbsp;[[Favoriten]] | XI.&nbsp;[[Simmering (Vienna)|Simmering]] | XII.&nbsp;[[Meidling]] | XIII.&nbsp;[[Hietzing]] | XIV.&nbsp;[[Penzing (Vienna)|Penzing]] | XV.&nbsp;[[Rudolfsheim-Fünfhaus]] | XVI.&nbsp;[[Ottakring]] | XVII.&nbsp;[[Hernals]] | XVIII.&nbsp;[[Währing]] | XIX.&nbsp;[[Döbling]] | XX.&nbsp;[[Brigittenau]] | XXI.&nbsp;[[Floridsdorf]] | XXII.&nbsp;[[Donaustadt]] | XXIII.&nbsp;[[Liesing]] |}<noinclude> {{Uncategorized template|type=navbox|date=August 2007}} [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> aj7vrmzr49bz1p1moey1z6glrs8lh55 4621654 4621653 2007-10-25T08:32:02Z en>Woohookitty 0 cat 4621654 wikitext text/x-wiki {| class="navbox nowraplinks collapsible" |- ! {{tnavbar-collapsible| [[Districts of Vienna|Districts]] of [[Vienna]] |Districts of Vienna}} |- || I.&nbsp;[[Innere Stadt]] | II.&nbsp;[[Leopoldstadt]] | III.&nbsp;[[Landstraße]] | IV.&nbsp;[[Wieden]] | V.&nbsp;[[Margareten]] | VI.&nbsp;[[Mariahilf]] | VII.&nbsp;[[Neubau]] | VIII.&nbsp;[[Josefstadt]] | IX.&nbsp;[[Alsergrund]] | X.&nbsp;[[Favoriten]] | XI.&nbsp;[[Simmering (Vienna)|Simmering]] | XII.&nbsp;[[Meidling]] | XIII.&nbsp;[[Hietzing]] | XIV.&nbsp;[[Penzing (Vienna)|Penzing]] | XV.&nbsp;[[Rudolfsheim-Fünfhaus]] | XVI.&nbsp;[[Ottakring]] | XVII.&nbsp;[[Hernals]] | XVIII.&nbsp;[[Währing]] | XIX.&nbsp;[[Döbling]] | XX.&nbsp;[[Brigittenau]] | XXI.&nbsp;[[Floridsdorf]] | XXII.&nbsp;[[Donaustadt]] | XXIII.&nbsp;[[Liesing]] |}<noinclude> [[Category:European country subdivision navigational boxes|{{PAGENAME}}]] [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> 8ujawcjirvsfptgubb77c81uafo7o2g 4621655 4621654 2008-01-27T23:58:47Z en>WOSlinker 0 Convert to Navbox 4621655 wikitext text/x-wiki {{Navbox |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} V.&nbsp;[[Margareten]]{{·}} VI.&nbsp;[[Mariahilf]]{{·}} VII.&nbsp;[[Neubau]]{{·}} VIII.&nbsp;[[Josefstadt]]{{·}} IX.&nbsp;[[Alsergrund]]{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} XVII.&nbsp;[[Hernals]]{{·}} XVIII.&nbsp;[[Währing]]{{·}} XIX.&nbsp;[[Döbling]]{{·}} XX.&nbsp;[[Brigittenau]]{{·}} XXI.&nbsp;[[Floridsdorf]]{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} XXIII.&nbsp;[[Liesing]] }}<noinclude> [[Category:European country subdivision navigational boxes|{{PAGENAME}}]] [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> 1jpvsvhaw2uhqb6i06kuegupwvudlo0 4621656 4621655 2008-03-28T10:41:55Z en>Woohookitty 0 cat 4621656 wikitext text/x-wiki {{Navbox |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} V.&nbsp;[[Margareten]]{{·}} VI.&nbsp;[[Mariahilf]]{{·}} VII.&nbsp;[[Neubau]]{{·}} VIII.&nbsp;[[Josefstadt]]{{·}} IX.&nbsp;[[Alsergrund]]{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} XVII.&nbsp;[[Hernals]]{{·}} XVIII.&nbsp;[[Währing]]{{·}} XIX.&nbsp;[[Döbling]]{{·}} XX.&nbsp;[[Brigittenau]]{{·}} XXI.&nbsp;[[Floridsdorf]]{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} XXIII.&nbsp;[[Liesing]] }}<noinclude> [[Category:Districts of Vienna navigational boxes|{{PAGENAME}}]] [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> sfcwvhubl0jrwmpcsaowhbxvuv4pprg 4621657 4621656 2008-05-03T08:20:59Z en>RussBot 0 Robot: moving pages out of redirected category 4621657 wikitext text/x-wiki {{Navbox |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} V.&nbsp;[[Margareten]]{{·}} VI.&nbsp;[[Mariahilf]]{{·}} VII.&nbsp;[[Neubau]]{{·}} VIII.&nbsp;[[Josefstadt]]{{·}} IX.&nbsp;[[Alsergrund]]{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} XVII.&nbsp;[[Hernals]]{{·}} XVIII.&nbsp;[[Währing]]{{·}} XIX.&nbsp;[[Döbling]]{{·}} XX.&nbsp;[[Brigittenau]]{{·}} XXI.&nbsp;[[Floridsdorf]]{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} XXIII.&nbsp;[[Liesing]] }}<noinclude> [[Category:Vienna district templates|{{PAGENAME}}]] [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> ilabp5nzxlvusz5bm1hkmevjr5e79fd 4621658 4621657 2008-12-20T14:35:49Z en>Wikid77 0 see talk-page: added map; put "Districts by Number" to balance map; used {nowrap} for Margareten,Josefstadt+Alsergrund, Wahring+Dobling etc. to avoid unbalanced split in wrapping --"&nbsp" still wraps 4621658 wikitext text/x-wiki {{Navbox |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} {{nowrap|V. [[Margareten]]}}{{·}} VI.&nbsp;[[Mariahilf]]{{·}} VII.&nbsp;[[Neubau]]{{·}} {{nowrap|VIII.[[Josefstadt]] '''·''' IX. [[Alsergrund]]}}{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} {{nowrap|XVII. [[Hernals]]}}{{·}} {{nowrap|XVIII. [[Währing]] '''·''' XIX. [[Döbling]]&nbsp;}}{{·}} {{nowrap|XX.&nbsp;[[Brigittenau]] '''·'''&nbsp;}} {{nowrap|XXI.&nbsp;&nbsp;[[Floridsdorf]]&nbsp;}}{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} {{nowrap|XXIII. [[Liesing]]}} }}<noinclude> [[Category:Vienna district templates|{{PAGENAME}}]] [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> qa0rc548ery2tvy5pxljlswu0az3y2a 4621659 4621658 2009-02-17T01:56:08Z en>Wikid77 0 To allow district names to fit on same line when one bolded, removed 2 spaces: after Neubau-dot & after "IX." 4621659 wikitext text/x-wiki {{Navbox |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} {{nowrap|V. [[Margareten]]}}{{·}} VI.&nbsp;[[Mariahilf]]{{·}} VII.&nbsp;[[Neubau]] '''·'''{{nowrap|VIII.[[Josefstadt]] '''·''' IX.[[Alsergrund]]}}{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} {{nowrap|XVII. [[Hernals]]}}{{·}} {{nowrap|XVIII. [[Währing]] '''·''' XIX. [[Döbling]]&nbsp;}}{{·}} {{nowrap|XX.&nbsp;[[Brigittenau]] '''·'''&nbsp;}} {{nowrap|XXI.&nbsp;&nbsp;[[Floridsdorf]]&nbsp;}}{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} {{nowrap|XXIII. [[Liesing]]}} }}<noinclude> [[Category:Vienna district templates|{{PAGENAME}}]] [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> lao50cn9vmckeyx6fu7i6iq4ttzrvty 4621660 4621659 2009-02-17T22:52:47Z en>Wikid77 0 typeset: to avoid leading middot at "*VIII", put space after middot but cut space @Mariahilf-dot [all 23 district articles had auto-reformatted by this time]; put internal NOTES & HISTORY comments 4621660 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} {{nowrap|V. [[Margareten]]}}{{·}} VI.&nbsp;[[Mariahilf]] '''·'''VII.&nbsp;[[Neubau]] '''·''' {{nowrap|VIII.[[Josefstadt]] '''·''' IX.[[Alsergrund]]}}{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} {{nowrap|XVII. [[Hernals]]}}{{·}} {{nowrap|XVIII. [[Währing]] '''·''' XIX. [[Döbling]]&nbsp;}}{{·}} {{nowrap|XX.&nbsp;[[Brigittenau]] '''·'''&nbsp;}} {{nowrap|XXI.&nbsp;&nbsp;[[Floridsdorf]]&nbsp;}}{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} {{nowrap|XXIII. [[Liesing]]}} }}<noinclude><!-- --========================================================= --NOTES: -- -- NOTE N1: This template uses {{nowrap|xxx}} to prevent -- word-wrapping of numerals ("&nbsp" will wrap). -- --====================================== --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by {{nowrap|}} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates|{{PAGENAME}}]] [[da:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[it:Template:Distretti di Vienna]] </noinclude> ojajoq3v7e92ugf8acjioq1x333brz5 4621661 4621660 2009-03-12T07:03:09Z en>Hégésippe Cormier 0 updated interwikis 4621661 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} {{nowrap|V. [[Margareten]]}}{{·}} VI.&nbsp;[[Mariahilf]] '''·'''VII.&nbsp;[[Neubau]] '''·''' {{nowrap|VIII.[[Josefstadt]] '''·''' IX.[[Alsergrund]]}}{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} {{nowrap|XVII. [[Hernals]]}}{{·}} {{nowrap|XVIII. [[Währing]] '''·''' XIX. [[Döbling]]&nbsp;}}{{·}} {{nowrap|XX.&nbsp;[[Brigittenau]] '''·'''&nbsp;}} {{nowrap|XXI.&nbsp;&nbsp;[[Floridsdorf]]&nbsp;}}{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} {{nowrap|XXIII. [[Liesing]]}} }}<noinclude><!-- --========================================================= --NOTES: -- -- NOTE N1: This template uses {{nowrap|xxx}} to prevent -- word-wrapping of numerals ("&nbsp" will wrap). -- --====================================== --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by {{nowrap|}} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates|{{PAGENAME}}]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] </noinclude> hssnsxp3yw20b58zfla2ik50s3jjsbw 4621662 4621661 2009-06-19T19:16:08Z en>DSisyphBot 0 robot Adding: [[pt:Predefinição:Distritos de Viena]] 4621662 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} {{nowrap|V. [[Margareten]]}}{{·}} VI.&nbsp;[[Mariahilf]] '''·'''VII.&nbsp;[[Neubau]] '''·''' {{nowrap|VIII.[[Josefstadt]] '''·''' IX.[[Alsergrund]]}}{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} {{nowrap|XVII. [[Hernals]]}}{{·}} {{nowrap|XVIII. [[Währing]] '''·''' XIX. [[Döbling]]&nbsp;}}{{·}} {{nowrap|XX.&nbsp;[[Brigittenau]] '''·'''&nbsp;}} {{nowrap|XXI.&nbsp;&nbsp;[[Floridsdorf]]&nbsp;}}{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} {{nowrap|XXIII. [[Liesing]]}} }}<noinclude><!-- --========================================================= --NOTES: -- -- NOTE N1: This template uses {{nowrap|xxx}} to prevent -- word-wrapping of numerals ("&nbsp" will wrap). -- --====================================== --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by {{nowrap|}} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates|{{PAGENAME}}]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[pt:Predefinição:Distritos de Viena]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] </noinclude> 5brcs1jxwfq9de3jxjetf04rzmb1r9x 4621663 4621662 2010-06-25T19:06:57Z en>Obersachsebot 0 robot Adding: [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]], [[bg:Шаблон:Окръзи на Виена]] 4621663 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} {{nowrap|V. [[Margareten]]}}{{·}} VI.&nbsp;[[Mariahilf]] '''·'''VII.&nbsp;[[Neubau]] '''·''' {{nowrap|VIII.[[Josefstadt]] '''·''' IX.[[Alsergrund]]}}{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} {{nowrap|XVII. [[Hernals]]}}{{·}} {{nowrap|XVIII. [[Währing]] '''·''' XIX. [[Döbling]]&nbsp;}}{{·}} {{nowrap|XX.&nbsp;[[Brigittenau]] '''·'''&nbsp;}} {{nowrap|XXI.&nbsp;&nbsp;[[Floridsdorf]]&nbsp;}}{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} {{nowrap|XXIII. [[Liesing]]}} }}<noinclude><!-- --========================================================= --NOTES: -- -- NOTE N1: This template uses {{nowrap|xxx}} to prevent -- word-wrapping of numerals ("&nbsp" will wrap). -- --====================================== --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by {{nowrap|}} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates|{{PAGENAME}}]] [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[bg:Шаблон:Окръзи на Виена]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[pt:Predefinição:Distritos de Viena]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] </noinclude> tfi3rokjlvosrqhxw5pwvt5zyman9z9 4621664 4621663 2010-12-03T08:59:49Z en>DerBorg 0 fix 4621664 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = I.&nbsp;[[Innere Stadt]]{{·}} II.&nbsp;[[Leopoldstadt]]{{·}} III.&nbsp;[[Landstraße]]{{·}} IV.&nbsp;[[Wieden]]{{·}} {{nowrap|V. [[Margareten]]}}{{·}} VI.&nbsp;[[Mariahilf]] '''·'''VII.&nbsp;[[Neubau]] '''·''' {{nowrap|VIII.[[Josefstadt]] '''·''' IX.[[Alsergrund]]}}{{·}} X.&nbsp;[[Favoriten]]{{·}} XI.&nbsp;[[Simmering (Vienna)|Simmering]]{{·}} XII.&nbsp;[[Meidling]]{{·}} XIII.&nbsp;[[Hietzing]]{{·}} XIV.&nbsp;[[Penzing (Vienna)|Penzing]]{{·}} XV.&nbsp;[[Rudolfsheim-Fünfhaus]]{{·}} XVI.&nbsp;[[Ottakring]]{{·}} {{nowrap|XVII. [[Hernals]]}}{{·}} {{nowrap|XVIII. [[Währing]] '''·''' XIX. [[Döbling]]&nbsp;}}{{·}} {{nowrap|XX.&nbsp;[[Brigittenau]] '''·'''&nbsp;}} {{nowrap|XXI.&nbsp;&nbsp;[[Floridsdorf]]&nbsp;}}{{·}} XXII.&nbsp;[[Donaustadt]]{{·}} {{nowrap|XXIII. [[Liesing]]}} }}<noinclude><!-- --========================================================= --NOTES: -- -- NOTE N1: This template uses {{nowrap|xxx}} to prevent -- word-wrapping of numerals ("&nbsp" will wrap). -- --====================================== --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by {{nowrap|}} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[bg:Шаблон:Окръзи на Виена]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[pt:Predefinição:Distritos de Viena]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] </noinclude> pfn8j9s3khrw7l0ugi096pxcqb12bh4 4621665 4621664 2011-11-27T19:16:10Z en>WOSlinker 0 use listclass = hlist in navbox as per [[WP:HLIST]] 4621665 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII.[[Josefstadt]] * IX.[[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude><!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[bg:Шаблон:Окръзи на Виена]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[pt:Predefinição:Distritos de Viena]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] </noinclude> 2pqeq1lsuc0mz8hbnyl18pw6l8x0veb 4621666 4621665 2012-01-11T14:39:52Z en>DSisyphBot 0 r2.5.1) (Robot: Adding cs, ja, la, mk, ro; modifying fr 4621666 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII.[[Josefstadt]] * IX.[[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude><!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] [[bg:Шаблон:Окръзи на Виена]] [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[cs:Šablona:Obvody Vídně]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Palette Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[la:Formula:Vindobonae regiones]] [[mk:Шаблон:Окрузи во Виена]] [[ja:Template:ウィーンの区]] [[pt:Predefinição:Distritos de Viena]] [[ro:Format:Cartierele Vienei]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] </noinclude> a9jq4sbu5uicg237tutd9lv2chwz08i 4621667 4621666 2012-06-07T01:28:09Z en>MastiBot 0 r2.7.2) (Robot: Adding [[pl:Szablon:Wiedeń]], [[uk:Шаблон:Райони Відня]] 4621667 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII.[[Josefstadt]] * IX.[[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude><!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] [[bg:Шаблон:Окръзи на Виена]] [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[cs:Šablona:Obvody Vídně]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Palette Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[la:Formula:Vindobonae regiones]] [[mk:Шаблон:Окрузи во Виена]] [[ja:Template:ウィーンの区]] [[pl:Szablon:Wiedeń]] [[pt:Predefinição:Distritos de Viena]] [[ro:Format:Cartierele Vienei]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] [[uk:Шаблон:Райони Відня]] </noinclude> al7mx3w23sy2r4bt8nls6aufsx5ok0r 4621668 4621667 2013-03-01T02:46:26Z en>TonyTheTiger 0 adding {{collapsible option}} and/or {{{state}}} 4621668 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII.[[Josefstadt]] * IX.[[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{collapsible option}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] [[bg:Шаблон:Окръзи на Виена]] [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[cs:Šablona:Obvody Vídně]] [[da:Skabelon:Wiens bydele]] [[de:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] [[fr:Modèle:Palette Arrondissements de Vienne]] [[it:Template:Distretti di Vienna]] [[la:Formula:Vindobonae regiones]] [[mk:Шаблон:Окрузи во Виена]] [[ja:Template:ウィーンの区]] [[pl:Szablon:Wiedeń]] [[pt:Predefinição:Distritos de Viena]] [[ro:Format:Cartierele Vienei]] [[ru:Шаблон:Районы Вены]] [[sk:Šablóna:Viedeň]] [[sr:Шаблон:Бечки окрузи]] [[tr:Şablon:Viyana'nın ilçeleri]] [[uk:Шаблон:Райони Відня]] </noinclude> ma8iajyc78shofaua928ja26aq8lwwq 4621669 4621668 2013-04-24T07:37:29Z en>Addbot 0 [[User:Addbot|Bot:]] Migrating 17 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:q10694691]] 4621669 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII.[[Josefstadt]] * IX.[[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{collapsible option}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] [[bar:Vorlage:Navigationsleiste Wiener Gemeindebezirke]] </noinclude> 2zwy3qbhen57h2hr4k25anzcfp52ta8 4621670 4621669 2013-05-29T06:31:27Z en>SamoaBot 0 [[User:SamoaBot|Bot:]] Migrating 1 interwiki link, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:q10694691]] 4621670 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII.[[Josefstadt]] * IX.[[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{collapsible option}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] </noinclude> prkuxwu5qm1hrty5fisobkzruxmyck4 4621671 4621670 2014-01-08T18:39:24Z 163.1.130.189 Spacing. 4621671 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna|Districts]] of [[Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII. [[Josefstadt]] * IX. [[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{collapsible option}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] </noinclude> dszvl8pfq67087b458dwtsl8wx44lft 4621672 4621671 2014-11-28T17:59:56Z en>FrescoBot 0 Bot: [[Wikipedia:Linking#Link_specificity|link specificity]] and minor changes 4621672 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = <center>Districts<br>by<br>Number</center> |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII. [[Josefstadt]] * IX. [[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{collapsible option}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] </noinclude> 8ymrf670ag16nljrxdwnhukb4o3f2mm 4621673 4621672 2015-04-17T13:00:55Z en>WOSlinker 0 tidy groupstyle 4621673 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |groupstyle = text-align:center; |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = Districts<br>by<br>Number |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII. [[Josefstadt]] * IX. [[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{collapsible option}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] </noinclude> j4ckchdereid58hxraho660s0uk5fnq 4621674 4621673 2024-11-17T10:27:12Z en>Omnipaedista 0 MOS:CAPS 4621674 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |groupstyle = text-align:center; |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = Districts<br>by number |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII. [[Josefstadt]] * IX. [[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{collapsible option}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] </noinclude> 3dgiw7apv6tsbj9iwzl8303iw1m18lh 4621675 4621674 2025-03-15T07:59:48Z en>Chew 0 replace collapsible option template with Navbox documentation template 4621675 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |groupstyle = text-align:center; |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = Districts<br>by number |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII. [[Josefstadt]] * IX. [[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{Navbox documentation}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] </noinclude> n5zmwcj55ky6kfu5czz24yopyqpi2tl 4621676 4621675 2026-05-22T22:40:03Z Jacob.jose 1784 [[:en:Template:Districts_of_Vienna]] എന്നതിൽ നിന്ന് 30 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621675 wikitext text/x-wiki {{Navbox<!-- --=========================================================== -- Template:Districts_of_Vienna - Navbox for 23 districts --=========================================================== -- (see "NOTES" below) --> |name = Districts of Vienna |title = [[Districts of Vienna]] |state = {{{state|autocollapse}}} |listclass = hlist |groupstyle = text-align:center; |image = [[Image:Vienna_districts_large_numbers.gif|140px]] <!-- width 140px depends on {nowrap} Josefstadt+Alsergrund--> |group1 = Districts<br>by number |list1 = * I. [[Innere Stadt]] * II. [[Leopoldstadt]] * III. [[Landstraße]] * IV. [[Wieden]] * V. [[Margareten]] * VI. [[Mariahilf]] * VII. [[Neubau]] * VIII. [[Josefstadt]] * IX. [[Alsergrund]] * X. [[Favoriten]] * XI. [[Simmering (Vienna)|Simmering]] * XII. [[Meidling]] * XIII. [[Hietzing]] * XIV. [[Penzing (Vienna)|Penzing]] * XV. [[Rudolfsheim-Fünfhaus]] * XVI. [[Ottakring]] * XVII. [[Hernals]] * XVIII. [[Währing]] * XIX. [[Döbling]] * XX. [[Brigittenau]] * XXI. [[Floridsdorf]] * XXII. [[Donaustadt]] * XXIII. [[Liesing]] }}<noinclude> {{Navbox documentation}} <!-- --========================================================= --HISTORY: -- 20Dec08 added map; put "Districts by Number" to balance map -- 20Dec08 typeset: by * }} to avoid wrapping numerals -- 17Feb09 typeset: put space @"VIII" & cut space @"Mariahilf" -- 17Feb09 added NOTES comments to explain template coding. -- 17Feb09 added HISTORY comments to log major changes. --> [[Category:Vienna district templates| ]] </noinclude> n5zmwcj55ky6kfu5czz24yopyqpi2tl ഫലകം:EmmyAward MusicLyrics 10 667438 4621679 2025-11-21T05:23:51Z en>Οἶδα 0 Οἶδα moved page [[Template:EmmyAward MusicLyrics]] to [[Template:Primetime Emmy Award for Outstanding Original Music and Lyrics]]: harmonize with article title 4621679 wikitext text/x-wiki #REDIRECT [[Template:Primetime Emmy Award for Outstanding Original Music and Lyrics]] {{Redirect category shell| {{R from move}} }} 3g5y9i7arkfv6b56vl1zr1jv7ks6bl5 4621680 4621679 2026-05-22T22:42:58Z Jacob.jose 1784 [[:en:Template:EmmyAward_MusicLyrics]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 4621679 wikitext text/x-wiki #REDIRECT [[Template:Primetime Emmy Award for Outstanding Original Music and Lyrics]] {{Redirect category shell| {{R from move}} }} 3g5y9i7arkfv6b56vl1zr1jv7ks6bl5 ഫലകം:Primetime Emmy Award for Outstanding Original Music and Lyrics 10 667439 4621683 2020-11-10T04:37:03Z en>SibTower1987 0 [[WP:AES|←]]Created page with '{{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle...' 4621683 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * " Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * " This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * " On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * " My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * " Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When (song)]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)| Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]]; <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> i5zujkhllow1cxuv4iqojvohjyadkf3 4621684 4621683 2020-11-12T00:54:25Z en>SibTower1987 0 4621684 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)| Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> cbgk3soky34vbf97lgftdbjzzgspbni 4621685 4621684 2020-11-12T15:44:14Z en>SibTower1987 0 4621685 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> 6jelzu1kd45cwni1s7bls5mpruz4au4 4621686 4621685 2021-02-17T22:35:26Z en>TMProofreader 0 4621686 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie Safka|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> qhkbclumcmg412nlsbfjtliozo4m52w 4621687 4621686 2021-09-13T00:55:23Z en>SibTower1987 0 4621687 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie Safka|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> 75s26c5pnrtvlju80ycoam5v5g84utv 4621688 4621687 2021-11-16T04:05:10Z en>דב מרקו1969 0 4621688 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & '''Arnold Margolin''' <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie Safka|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> qcp3akq4paxbxhava7txjz36954shpv 4621689 4621688 2021-11-16T04:08:12Z en>דב מרקו1969 0 4621689 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin (television producer)|Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie Safka|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> ktpzgsj74mh6j5xbv8aj65krzr4japr 4621690 4621689 2022-03-10T04:00:00Z en>GoAheadFan95 0 To make way for disambiguation 4621690 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin (television producer)|Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie Safka|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts (musician)|David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> faewjwucj32gcqqxjn6hlz024yqnlj0 4621691 4621690 2022-03-30T08:10:49Z en>Roman Spinner 0 Revising [[WP:PIPE]]: * ''[[Queen of the Stardust Ballroom]]'' – [[Alan and Marilyn Bergman]]|Alan & Marilyn Bergman & [[Billy Goldenberg]] → * ''[[Queen of the Stardust Ballroom]]'' – [[Alan & Marilyn Bergman]] & [[Billy Goldenberg]]; * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie Safka]]|Melanie → * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)]]|Melanie 4621691 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin (television producer)|Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts (musician)|David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[The Lonely Island]] <small>(lyrics)</small>; [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> 8sri3r1zdsnj2fnfm3ekvj2pb1306yj 4621692 4621691 2022-04-14T17:03:46Z en>SibTower1987 0 4621692 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin (television producer)|Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts (musician)|David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[Andy Samberg]] & [[Akiva Schaffer]] <small>(lyrics)</small>; [[Jorma Taccone]] & [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> k31s0dd2czz34bym7diggxpd421l526 4621693 4621692 2022-09-05T02:00:56Z en>SibTower1987 0 4621693 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin (television producer)|Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts (musician)|David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[Andy Samberg]] & [[Akiva Schaffer]] <small>(lyrics)</small>; [[Jorma Taccone]] & [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) * "Schmigadoon!" – [[Cinco Paul and Ken Daurio|Cinco Paul]] <small>(music & lyrics)</small> (2022) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> mo5qu6pnc73nhe3l0c48mddjk9fr3kk 4621694 4621693 2022-09-05T02:03:07Z en>SibTower1987 0 4621694 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – [[Charles Fox (composer)|Charles Fox]] & [[Arnold Margolin (television producer)|Arnold Margolin]] <small>(music & lyrics)</small> (1970) *''The First Nine Months Are the Hardest'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1971) * ''The Funny Side'' – [[Ray Charles (musician, born 1918)|Ray Charles]] <small>(music & lyrics)</small> (1972) * ''[[Liza with a Z]]'' – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1973) * "Light My Way" – [[David Paich]] & [[Marty Paich]] <small>(music & lyrics)</small> (1974) * ''[[Queen of the Stardust Ballroom]]'' – [[Alan & Marilyn Bergman]] & [[Billy Goldenberg]] <small>(music & lyrics)</small> (1975) * "Cinderella Gets It On" – Artie Malvin, Ken & Mitzie Welch <small>(music & lyrics)</small> (1976) * No Award (1977) * "Hi-Hat" – Stan Freeman & Arthur Malvin <small>(music & lyrics)</small> / "See You Tomorrow in Class" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Ken & Mitzie Welch <small>(music & lyrics)</small> (1981) * "On the Outside Looking In" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1982) * "We'll Win This World" – [[James Di Pasquale]] <small>(music)</small>; [[Dory Previn]] <small>(lyrics)</small> (1983) * "Gone Too Soon" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1984) * ''[[Love Lives On]]'' – [[James Di Pasquale]] <small>(music)</small>; Douglas Brayfield <small>(lyrics)</small> (1985) * "My Christmas Wish" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1986) * "Welcome to Liberty" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1987) * "The Sound of Christmas" – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1988) * "The First Time I Loved Forever" – [[Lee Holdridge]] <small>(music)</small>; [[Melanie (singer)|Melanie]] <small>(lyrics)</small> (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – [[Larry Grossman (composer)|Larry Grossman]] <small>(music)</small>; [[Buz Kohan]] <small>(lyrics)</small> (1990) * "He's Guilty!" – [[Randy Newman]] <small>(music & lyrics)</small> (1991) * "Why Do I Lie?" – [[Curt Sobel]] <small>(music)</small>; [[Dennis Spiegel]] <small>(lyrics)</small> (1992) * "Sorry I Asked" – [[John Kander]] <small>(music)</small>; [[Fred Ebb]] <small>(lyrics)</small> (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – [[Hugh Prestwood]] <small>(music & lyrics)</small> (1994) * "Ordinary Miracles" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1995) * "Let's Settle Down" – [[Charles Strouse]] <small>(music)</small>; [[Lee Adams]] <small>(lyrics)</small> (1996) * "We Put the Spring in Springfield" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – [[Alf Clausen]] <small>(music)</small>; [[Ken Keeler]] <small>(lyrics)</small> (1998) * "A Ticket to Dream" – [[Marvin Hamlisch]] <small>(music)</small>; [[Alan and Marilyn Bergman|Alan & Marilyn Bergman]] <small>(lyrics)</small> (1999) | group4 = 2000s | list4 = * "Up to You" – John Kimbrough <small>(music & lyrics)</small> (2000) * "A Dream That Only I Can Know" – [[Patrick Williams (composer)|Patrick Williams]] <small>(music & lyrics)</small> (2001) * "You've Got a Lot to See" – [[Walter Murphy]] <small>(music)</small>; [[Seth MacFarlane]] <small>(lyrics)</small> (2002) * "Aren't They All Our Children" – [[David Foster]] <small>(music)</small>; [[Linda Thompson (actress)|Linda Thompson]] <small>(lyrics)</small> (2003) * "Because You Are Beautiful" – [[Toni Childs]] <small>(music & lyrics)</small>; Eddy Free & [[David Ricketts (musician)|David Ricketts]] <small>(music)</small> (2004) * "Mary Jane/Mary Lane" – Dan Studney <small>(music)</small>; [[Kevin Murphy (screenwriter)|Kevin Murphy]] <small>(lyrics)</small> (2005) * "A Wonderfully Normal Day" – [[Greg O'Connor]] <small>(music)</small>; [[Jim Wise]] <small>(lyrics)</small> (2006) * "[[Dick in a Box]]" – Katreese Barnes & [[Asa Taccone]] <small>(music)</small>; [[Andy Samberg]] & [[Akiva Schaffer]] <small>(lyrics)</small>; [[Jorma Taccone]] & [[Justin Timberlake]] <small>(music & lyrics)</small> (2007) * "I'm F**king Matt Damon" – [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]] & Dan Warner <small>(music & lyrics)</small> (2008) * "Hugh Jackman Opening Number" – John Kimbrough, [[William Ross (composer)|William Ross]] & [[Rob Schrab]] <small>(music)</small>; [[Dan Harmon]] & [[Ben Schwartz]] <small>(lyrics)</small> (2009) | group5 = 2010s | list5 = * "When I'm Gone" – [[Randy Newman]] <small>(music & lyrics)</small> (2010) * "Justin Timberlake Monologue" – Katreese Barnes <small>(music)</small>; [[Seth Meyers]], [[John Mulaney]] & [[Justin Timberlake]] <small>(lyrics)</small> (2011) * "It's Not Just for Gays Anymore" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2012) * "If I Had Time" – [[Adam Schlesinger]] <small>(music)</small>; [[David Javerbaum]] <small>(lyrics)</small> (2013) * "Bigger!" – [[Tom Kitt (musician)|Tom Kitt]] <small>(music)</small>; [[Lin-Manuel Miranda]] <small>(lyrics)</small> (2014) * "Girl You Don't Need Make Up" – [[Kyle Dunnigan]] <small>(music & lyrics)</small>; Jim Roach <small>(music)</small> (2015) * "[[Til It Happens to You]]" – [[Diane Warren]] <small>(music & lyrics)</small> (2016) * "Letter to the Free" – [[Common (rapper)|Common]] <small>(music & lyrics)</small>; [[Robert Glasper]] & [[Karriem Riggins]] <small>(music)</small> (2017) * "Come Back Barack" – Eli Brueggemann <small>(music)</small>; [[Chris Redd]], Will Stephen & [[Kenan Thompson]] <small>(lyrics)</small> (2018) * "Antidepressants Are So Not a Big Deal" – [[Rachel Bloom]] & [[Adam Schlesinger]] <small>(music & lyrics)</small>; Jack Dolgen <small>(lyrics)</small> (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – [[Labrinth]] <small>(music & lyrics)</small> (2020) * "[[Agatha All Along]]" – [[Kristen Anderson-Lopez]] and [[Robert Lopez]] <small>(music & lyrics)</small> (2021) * "Corn Puddin'" – [[Cinco Paul and Ken Daurio|Cinco Paul]] <small>(music & lyrics)</small> (2022) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> 1qnilx4oxhazma1vahnfeaiac1ttu4u 4621695 4621694 2023-03-19T16:24:53Z en>SibTower1987 0 4621695 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson (actress)|Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by Katreese Barnes, [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by Katreese Barnes; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music]] </noinclude> 77346qexr8if1r83wfka4uakaixscxg 4621696 4621695 2023-03-26T16:57:22Z en>SibTower1987 0 4621696 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson (actress)|Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by Katreese Barnes, [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by Katreese Barnes; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> oj3lux8pkz5sshalppdn7oj5ngkas9z 4621697 4621696 2023-10-29T02:48:31Z en>IJVin 0 4621697 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson (actress)|Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> jsd6wf3i246u2ab74pvqcm7ypftoe18 4621698 4621697 2024-01-07T03:14:10Z en>SibTower1987 0 4621698 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson (actress)|Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> gil0sglyuzrjvvfwk40ww6xl9725pdl 4621699 4621698 2024-02-26T08:27:56Z en>Adumbrativus 0 Unpipe link Linda Thompson (post-move cleanup) 4621699 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> sxk6gv8gsv3xqd0gyks3trrrgogaoi8 4621700 4621699 2024-05-14T22:42:01Z en>InfiniteNexus 0 Disambiguating links to [[Agatha All Along]] (link changed to [[Agatha All Along (song)]]) using [[User:Qwertyytrewqqwerty/DisamAssist|DisamAssist]]. 4621700 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> q02ngg1k4vdhk74vv07v4o7ysh03fpr 4621701 4621700 2024-09-09T02:08:31Z en>SibTower1987 0 4621701 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) * "Which of the Pickwick Triplets Did It?" – Music and Lyrics by [[Benj Pasek]], [[Justin Paul]], [[Marc Shaiman]], and [[Scott Wittman]] (2024) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> misxu4t3gsd10odq1v4be3aylz0ml2i 4621702 4621701 2025-08-25T08:05:45Z 161.29.202.46 too big 4621702 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = collapsed | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) * "Which of the Pickwick Triplets Did It?" – Music and Lyrics by [[Benj Pasek]], [[Justin Paul]], [[Marc Shaiman]], and [[Scott Wittman]] (2024) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> qsiw2a1ipy6fhh79pus1j1akwc2snd7 4621703 4621702 2025-09-07T02:20:11Z en>SibTower1987 0 4621703 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = background: {{Emmy Awards/color}}; | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) * "Which of the Pickwick Triplets Did It?" – Music and Lyrics by [[Benj Pasek]], [[Justin Paul]], [[Marc Shaiman]], and [[Scott Wittman]] (2024) * "Let's Put the Christ Back in Christmas" – Music and Lyrics by [[Christopher Lennertz]] (2025) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> 3pj35805l8w3ej8t0rirh2e3av1dhx8 4621704 4621703 2025-10-02T23:49:54Z en>SirOlgen 0 Linter [[Special:LintErrors/night-mode-unaware-background-color|Background color inline style rule exists without a corresponding text color]] fix – utilize {{[[tm:Greater color contrast ratio|Greater color contrast ratio]]}} to provide both background & text color & ensure best contrast if [[tm:Emmy Awards/color|{{Emmy Awards/color}}]] is ever updated 4621704 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = {{Greater color contrast ratio|{{Emmy Awards/color}}|#ffffff|#000000|css=y}} | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) * "Which of the Pickwick Triplets Did It?" – Music and Lyrics by [[Benj Pasek]], [[Justin Paul]], [[Marc Shaiman]], and [[Scott Wittman]] (2024) * "Let's Put the Christ Back in Christmas" – Music and Lyrics by [[Christopher Lennertz]] (2025) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> cwczd0m2uybrc5jv7hw01wpb1w5tg8b 4621705 4621704 2025-11-21T05:23:50Z en>Οἶδα 0 Οἶδα moved page [[Template:EmmyAward MusicLyrics]] to [[Template:Primetime Emmy Award for Outstanding Original Music and Lyrics]]: harmonize with article title 4621704 wikitext text/x-wiki {{Navbox | name = EmmyAward MusicLyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = {{Greater color contrast ratio|{{Emmy Awards/color}}|#ffffff|#000000|css=y}} | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) * "Which of the Pickwick Triplets Did It?" – Music and Lyrics by [[Benj Pasek]], [[Justin Paul]], [[Marc Shaiman]], and [[Scott Wittman]] (2024) * "Let's Put the Christ Back in Christmas" – Music and Lyrics by [[Christopher Lennertz]] (2025) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> cwczd0m2uybrc5jv7hw01wpb1w5tg8b 4621706 4621705 2025-11-21T05:24:15Z en>Οἶδα 0 4621706 wikitext text/x-wiki {{Navbox | name = Primetime Emmy Award for Outstanding Original Music and Lyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = {{Greater color contrast ratio|{{Emmy Awards/color}}|#ffffff|#000000|css=y}} | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) * "Which of the Pickwick Triplets Did It?" – Music and Lyrics by [[Benj Pasek]], [[Justin Paul]], [[Marc Shaiman]], and [[Scott Wittman]] (2024) * "Let's Put the Christ Back in Christmas" – Music and Lyrics by [[Christopher Lennertz]] (2025) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> 2trwskjdrfa4kthhn3sp11ud7w8s50g 4621707 4621706 2026-05-22T22:43:24Z Jacob.jose 1784 [[:en:Template:Primetime_Emmy_Award_for_Outstanding_Original_Music_and_Lyrics]] എന്നതിൽ നിന്ന് 24 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621706 wikitext text/x-wiki {{Navbox | name = Primetime Emmy Award for Outstanding Original Music and Lyrics | title = [[Primetime Emmy Award for Outstanding Original Music and Lyrics]] | bodyclass = hlist | basestyle = {{Greater color contrast ratio|{{Emmy Awards/color}}|#ffffff|#000000|css=y}} | state = {{{state|autocollapse}}} | group1 = 1970s | list1 = * ''[[Love, American Style]]'' – Music and Lyrics by [[Charles Fox (composer)|Charles Fox]] and [[Arnold Margolin (television producer)|Arnold Margolin]] (1970) *''The First Nine Months Are the Hardest'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1971) * ''The Funny Side'' – Music and Lyrics by [[Ray Charles (musician, born 1918)|Ray Charles]] (1972) * ''[[Liza with a Z]]'' – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1973) * "Light My Way" – Music and Lyrics by [[David Paich]] and [[Marty Paich]] (1974) * ''[[Queen of the Stardust Ballroom]]'' – Music and Lyrics by [[Alan and Marilyn Bergman|Alan Bergman, Marilyn Bergman]], and [[Billy Goldenberg]] (1975) * "Cinderella Gets It On" – Music and Lyrics by Artie Malvin, Ken & Mitzie Welch (1976) * No Award (1977) * "Hi-Hat" – Music and Lyrics by Stan Freeman and Arthur Malvin / "See You Tomorrow in Class" – Music and Lyrics by Ken & Mitzie Welch (1978) * No Award (1979) | group2 = 1980s | list2 = * No Award (1980) * "This Is My Night" – Music and Lyrics by Ken & Mitzie Welch (1981) * "On the Outside Looking In" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1982) * "We'll Win This World" – Music by [[James Di Pasquale]]; Lyrics by [[Dory Previn]] (1983) * "Gone Too Soon" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1984) * ''[[Love Lives On]]'' – Music by [[James Di Pasquale]]; Lyrics by Douglas Brayfield (1985) * "My Christmas Wish" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1986) * "Welcome to Liberty" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1987) * "The Sound of Christmas" – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1988) * "The First Time I Loved Forever" – Music by [[Lee Holdridge]]; Lyrics by [[Melanie (singer)|Melanie]] (1989) | group3 = 1990s | list3 = * ''From the Heart... The First International Very Special Arts Festival'' – Music by [[Larry Grossman (composer)|Larry Grossman]]; Lyrics by [[Buz Kohan]] (1990) * "He's Guilty!" – Music and Lyrics by [[Randy Newman]] (1991) * "Why Do I Lie?" – Music by [[Curt Sobel]]; Lyrics by [[Dennis Spiegel]] (1992) * "Sorry I Asked" – Music by [[John Kander]]; Lyrics by [[Fred Ebb]] (1993) * "[[The Song Remembers When (song)|The Song Remembers When]]" – Music and Lyrics by [[Hugh Prestwood]] (1994) * "Ordinary Miracles" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1995) * "Let's Settle Down" – Music by [[Charles Strouse]]; Lyrics by [[Lee Adams]] (1996) * "We Put the Spring in Springfield" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1997) * "You're Checkin' In (A Musical Tribute to the Betty Ford Center)" – Music by [[Alf Clausen]]; Lyrics by [[Ken Keeler]] (1998) * "A Ticket to Dream" – Music by [[Marvin Hamlisch]]; Lyrics by [[Alan and Marilyn Bergman]] (1999) | group4 = 2000s | list4 = * "Up to You" – Music and Lyrics by John Kimbrough (2000) * "A Dream That Only I Can Know" – Music and Lyrics by [[Patrick Williams (composer)|Patrick Williams]] (2001) * "You've Got a Lot to See" – Music by [[Walter Murphy]]; Lyrics by [[Seth MacFarlane]] (2002) * "Aren't They All Our Children" – Music by [[David Foster]]; Lyrics by [[Linda Thompson]] (2003) * "Because You Are Beautiful" – Music by [[Toni Childs]]; Lyrics by [[Toni Childs]], Eddy Free, and [[David Ricketts (musician)|David Ricketts]] (2004) * "Mary Jane/Mary Lane" – Music by Dan Studney; Lyrics by [[Kevin Murphy (screenwriter)|Kevin Murphy]] (2005) * "A Wonderfully Normal Day" – Music by [[Greg O'Connor]]; Lyrics by [[Jim Wise]] (2006) * "[[Dick in a Box]]" – Music by [[Katreese Barnes]], [[Asa Taccone]], [[Jorma Taccone]], and [[Justin Timberlake]]; Lyrics by [[Andy Samberg]], [[Akiva Schaffer]], [[Jorma Taccone]], and [[Justin Timberlake]] (2007) * "I'm F**king Matt Damon" – Music and Lyrics by [[Tony Barbieri]], [[Sal Iacono]], Wayne McClammy, [[Sarah Silverman]], and Dan Warner (2008) * "Hugh Jackman Opening Number" – Music by John Kimbrough, [[William Ross (composer)|William Ross]], and [[Rob Schrab]]; Lyrics by [[Dan Harmon]] and [[Ben Schwartz]] (2009) | group5 = 2010s | list5 = * "When I'm Gone" – Music and Lyrics by [[Randy Newman]] (2010) * "Justin Timberlake Monologue" – Music by [[Katreese Barnes]]; Lyrics by [[Seth Meyers]], [[John Mulaney]], and [[Justin Timberlake]] (2011) * "It's Not Just for Gays Anymore" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2012) * "If I Had Time" – Music by [[Adam Schlesinger]]; Lyrics by [[David Javerbaum]] (2013) * "Bigger!" – Music by [[Tom Kitt (musician)|Tom Kitt]]; Lyrics by [[Lin-Manuel Miranda]] (2014) * "Girl You Don't Need Make Up" – Music by [[Kyle Dunnigan]]; Lyrics by [[Kyle Dunnigan]] and Jim Roach (2015) * "[[Til It Happens to You]]" – Music and Lyrics by [[Diane Warren]] (2016) * "Letter to the Free" – Music by [[Common (rapper)|Common]]; Lyrics by [[Common (rapper)|Common]], [[Robert Glasper]], and [[Karriem Riggins]] (2017) * "Come Back Barack" – Music by Eli Brueggemann; Lyrics by [[Chris Redd]], Will Stephen, and [[Kenan Thompson]] (2018) * "Antidepressants Are So Not a Big Deal" – Music by [[Rachel Bloom]] and [[Adam Schlesinger]]; Lyrics by [[Rachel Bloom]], Jack Dolgen, and [[Adam Schlesinger]] (2019) | group6 = 2020s | list6 = * "[[All for Us]]" – Music and Lyrics by [[Labrinth]] (2020) * "[[Agatha All Along (song)|Agatha All Along]]" – Music and Lyrics by [[Kristen Anderson-Lopez]] and [[Robert Lopez]] (2021) * "Corn Puddin'" – Music and Lyrics by [[Cinco Paul and Ken Daurio|Cinco Paul]] (2022) * "A Beautiful Game" – Music and Lyrics by [[Ed Sheeran]], [[Foy Vance]], and [[Max Martin]] (2023) * "Which of the Pickwick Triplets Did It?" – Music and Lyrics by [[Benj Pasek]], [[Justin Paul]], [[Marc Shaiman]], and [[Scott Wittman]] (2024) * "Let's Put the Christ Back in Christmas" – Music and Lyrics by [[Christopher Lennertz]] (2025) }}<noinclude> {{collapsible option}} [[Category:Primetime Emmy Awards navigational boxes|Music and Lyrics]] </noinclude> 2trwskjdrfa4kthhn3sp11ud7w8s50g ഫലകം:Evening Standard British Film Award for Best Actress 10 667440 4621708 2023-02-12T04:04:19Z en>M. Armando 0 [[WP:AES|←]]Created page with '{{Navbox | name = Evening Standard British Film Award for Best Actress | title = [[Evening Standard British Film Award for Best Actress]] | basestyle = | groupstyle = | state = {{{state|autocollapse}}} | bodyclass = hlist | nowrapitmes = yes | list1 = * [[Glenda Jackson]] (1973) * [[Glenda Jackson]] (1974) * [[Wendy Hiller]] (1975) * [[Annette Crosbie]] (1976) * [[Billie Whitelaw]] (1977) * [[Nanette Newman]] (1978) * Maggie S...' 4621708 wikitext text/x-wiki {{Navbox | name = Evening Standard British Film Award for Best Actress | title = [[Evening Standard British Film Award for Best Actress]] | basestyle = | groupstyle = | state = {{{state|autocollapse}}} | bodyclass = hlist | nowrapitmes = yes | list1 = * [[Glenda Jackson]] (1973) * [[Glenda Jackson]] (1974) * [[Wendy Hiller]] (1975) * [[Annette Crosbie]] (1976) * [[Billie Whitelaw]] (1977) * [[Nanette Newman]] (1978) * [[Maggie Smith]] (1979) * [[Frances de la Tour]] (1980) * [[Maggie Smith]] (1981) * [[Jennifer Kendal]] (1982) * [[Phyllis Logan]] (1983) * [[Helen Mirren]] (1984) * [[Miranda Richardson]] (1985) * [[Coral Browne]] (1986) * [[Emily Lloyd]] (1987) * [[Billie Whitelaw]] (1988) * [[Pauline Collins]] (1989) * [[Natasha Richardson]] (1990) * [[Juliet Stevenson]] (1991) * [[Emma Thompson]] (1992) * [[Emma Thompson]] (1993) * [[Kristin Scott Thomas]] (1994) * [[Kristin Scott Thomas]] (1995) * [[Kate Winslet]] (1996) * [[Katrin Cartlidge]] (1997) * [[Julie Christie]] (1998) * [[Samantha Morton]] (1999) * [[Julie Walters]] (2000) * [[Kate Winslet]] (2001) * [[Catherine Zeta-Jones]] (2002) * [[Emma Thompson]] (2003) * [[Imelda Staunton]] (2004) * [[Natasha Richardson]] (2005) * [[Judi Dench]] (2006) * [[Helena Bonham Carter]] (2007) * [[Tilda Swinton]] (2008) * [[Anne-Marie Duff]] (2009) * [[Kristin Scott Thomas]] (2010) * [[Olivia Colman]] (2011) * [[Andrea Riseborough]] (2012) * — (2013–2015) * [[Maggie Smith]] (2016) * [[Kate Beckinsale]] (2017) * [[Kristin Scott Thomas]] (2018) }}<noinclude> {{collapsible option}} [[Category:Evening Standard Awards navigational boxes|Actress]] </noinclude> 1ux5jh0jcvfwbz3zar9ghstgr0pgn11 4621709 4621708 2023-02-12T04:06:38Z en>M. Armando 0 4621709 wikitext text/x-wiki {{Navbox | name = Evening Standard British Film Award for Best Actress | title = [[Evening Standard British Film Award for Best Actress]] | basestyle = | groupstyle = | state = {{{state|autocollapse}}} | bodyclass = hlist | nowrapitmes = yes | list1 = * [[Glenda Jackson]] (1973) * [[Glenda Jackson]] (1974) * [[Wendy Hiller]] (1975) * [[Annette Crosbie]] (1976) * [[Billie Whitelaw]] (1977) * [[Nanette Newman]] (1978) * [[Maggie Smith]] (1979) * [[Frances de la Tour]] (1980) * [[Maggie Smith]] (1981) * [[Jennifer Kendal]] (1982) * [[Phyllis Logan]] (1983) * [[Helen Mirren]] (1984) * [[Miranda Richardson]] (1985) * [[Coral Browne]] (1986) * [[Emily Lloyd]] (1987) * [[Billie Whitelaw]] (1988) * [[Pauline Collins]] (1989) * [[Natasha Richardson]] (1990) * [[Juliet Stevenson]] (1991) * [[Emma Thompson]] (1992) * [[Emma Thompson]] (1993) * [[Kristin Scott Thomas]] (1994) * [[Kristin Scott Thomas]] (1995) * [[Kate Winslet]] (1996) * [[Katrin Cartlidge]] (1997) * [[Julie Christie]] (1998) * [[Samantha Morton]] (1999) * [[Julie Walters]] (2000) * [[Kate Winslet]] (2001) * [[Catherine Zeta-Jones]] (2002) * [[Emma Thompson]] (2003) * [[Imelda Staunton]] (2004) * [[Natasha Richardson]] (2005) * [[Judi Dench]] (2006) * [[Helena Bonham Carter]] (2007) * [[Tilda Swinton]] (2008) * [[Anne-Marie Duff]] (2009) * [[Kristin Scott Thomas]] (2010) * [[Olivia Colman]] (2011) * [[Andrea Riseborough]] (2012) * Not awarded (2013–2015) * [[Maggie Smith]] (2016) * [[Kate Beckinsale]] (2017) * [[Kristin Scott Thomas]] (2018) }}<noinclude> {{collapsible option}} [[Category:Evening Standard Awards navigational boxes|Actress]] </noinclude> rp77fofv670kt35ikf5nqi1qsl10d06 4621710 4621709 2023-02-12T04:18:22Z en>M. Armando 0 4621710 wikitext text/x-wiki {{Navbox | name = Evening Standard British Film Award for Best Actress | title = [[Evening Standard British Film Award for Best Actress]] | basestyle = | groupstyle = | state = {{{state|autocollapse}}} | bodyclass = hlist | nowrapitmes = yes | list1 = * [[Glenda Jackson]] (1973) * [[Glenda Jackson]] (1974) * [[Wendy Hiller]] (1975) * [[Annette Crosbie]] (1976) * [[Billie Whitelaw]] (1977) * [[Nanette Newman]] (1978) * [[Maggie Smith]] (1979) * [[Frances de la Tour]] (1980) * [[Maggie Smith]] (1981) * [[Jennifer Kendal]] (1982) * [[Phyllis Logan]] (1983) * [[Helen Mirren]] (1984) * [[Miranda Richardson]] (1985) * [[Coral Browne]] (1986) * [[Emily Lloyd]] (1987) * [[Billie Whitelaw]] (1988) * [[Pauline Collins]] (1989) * [[Natasha Richardson]] (1990) * [[Juliet Stevenson]] (1991) * [[Emma Thompson]] (1992) * [[Emma Thompson]] (1993) * [[Kristin Scott Thomas]] (1994) * [[Kristin Scott Thomas]] (1995) * [[Kate Winslet]] (1996) * [[Katrin Cartlidge]] (1997) * [[Julie Christie]] (1998) * [[Samantha Morton]] (1999) * [[Julie Walters]] (2000) * [[Kate Winslet]] (2001) * [[Catherine Zeta-Jones]] (2002) * [[Emma Thompson]] (2003) * [[Imelda Staunton]] (2004) * [[Natasha Richardson]] (2005) * [[Judi Dench]] (2006) * [[Helena Bonham Carter]] (2007) * [[Tilda Swinton]] (2008) * [[Anne-Marie Duff]] (2009) * [[Kristin Scott Thomas]] (2010) * [[Olivia Colman]] (2011) * [[Andrea Riseborough]] (2012) * [[Maggie Smith]] (2016) * [[Kate Beckinsale]] (2017) * [[Kristin Scott Thomas]] (2018) }}<noinclude> {{collapsible option}} [[Category:Evening Standard Awards navigational boxes|Actress]] </noinclude> 9w3st7f7k8t85xfs0k3un8udgpj7mxe 4621711 4621710 2023-02-25T08:06:48Z en>M. Armando 0 4621711 wikitext text/x-wiki {{Navbox | name = Evening Standard British Film Award for Best Actress | title = [[Evening Standard British Film Award for Best Actress]] | state = {{{state|autocollapse}}} | bodyclass = hlist | nowrapitems = yes | list1 = * [[Glenda Jackson]] (1973) * [[Glenda Jackson]] (1974) * [[Wendy Hiller]] (1975) * [[Annette Crosbie]] (1976) * [[Billie Whitelaw]] (1977) * [[Nanette Newman]] (1978) * [[Maggie Smith]] (1979) * [[Frances de la Tour]] (1980) * [[Maggie Smith]] (1981) * [[Jennifer Kendal]] (1982) * [[Phyllis Logan]] (1983) * [[Helen Mirren]] (1984) * [[Miranda Richardson]] (1985) * [[Coral Browne]] (1986) * [[Emily Lloyd]] (1987) * [[Billie Whitelaw]] (1988) * [[Pauline Collins]] (1989) * [[Natasha Richardson]] (1990) * [[Juliet Stevenson]] (1991) * [[Emma Thompson]] (1992) * [[Emma Thompson]] (1993) * [[Kristin Scott Thomas]] (1994) * [[Kristin Scott Thomas]] (1995) * [[Kate Winslet]] (1996) * [[Katrin Cartlidge]] (1997) * [[Julie Christie]] (1998) * [[Samantha Morton]] (1999) * [[Julie Walters]] (2000) * [[Kate Winslet]] (2001) * [[Catherine Zeta-Jones]] (2002) * [[Emma Thompson]] (2003) * [[Imelda Staunton]] (2004) * [[Natasha Richardson]] (2005) * [[Judi Dench]] (2006) * [[Helena Bonham Carter]] (2007) * [[Tilda Swinton]] (2008) * [[Anne-Marie Duff]] (2009) * [[Kristin Scott Thomas]] (2010) * [[Olivia Colman]] (2011) * [[Andrea Riseborough]] (2012) * [[Maggie Smith]] (2016) * [[Kate Beckinsale]] (2017) * [[Kristin Scott Thomas]] (2018) }}<noinclude> {{collapsible option}} [[Category:Evening Standard Awards navigational boxes|Actress]] </noinclude> biq5dz87se27vkit84dv86f3fewbmjd 4621712 4621711 2026-05-22T22:43:41Z Jacob.jose 1784 [[:en:Template:Evening_Standard_British_Film_Award_for_Best_Actress]] എന്നതിൽ നിന്ന് 4 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621711 wikitext text/x-wiki {{Navbox | name = Evening Standard British Film Award for Best Actress | title = [[Evening Standard British Film Award for Best Actress]] | state = {{{state|autocollapse}}} | bodyclass = hlist | nowrapitems = yes | list1 = * [[Glenda Jackson]] (1973) * [[Glenda Jackson]] (1974) * [[Wendy Hiller]] (1975) * [[Annette Crosbie]] (1976) * [[Billie Whitelaw]] (1977) * [[Nanette Newman]] (1978) * [[Maggie Smith]] (1979) * [[Frances de la Tour]] (1980) * [[Maggie Smith]] (1981) * [[Jennifer Kendal]] (1982) * [[Phyllis Logan]] (1983) * [[Helen Mirren]] (1984) * [[Miranda Richardson]] (1985) * [[Coral Browne]] (1986) * [[Emily Lloyd]] (1987) * [[Billie Whitelaw]] (1988) * [[Pauline Collins]] (1989) * [[Natasha Richardson]] (1990) * [[Juliet Stevenson]] (1991) * [[Emma Thompson]] (1992) * [[Emma Thompson]] (1993) * [[Kristin Scott Thomas]] (1994) * [[Kristin Scott Thomas]] (1995) * [[Kate Winslet]] (1996) * [[Katrin Cartlidge]] (1997) * [[Julie Christie]] (1998) * [[Samantha Morton]] (1999) * [[Julie Walters]] (2000) * [[Kate Winslet]] (2001) * [[Catherine Zeta-Jones]] (2002) * [[Emma Thompson]] (2003) * [[Imelda Staunton]] (2004) * [[Natasha Richardson]] (2005) * [[Judi Dench]] (2006) * [[Helena Bonham Carter]] (2007) * [[Tilda Swinton]] (2008) * [[Anne-Marie Duff]] (2009) * [[Kristin Scott Thomas]] (2010) * [[Olivia Colman]] (2011) * [[Andrea Riseborough]] (2012) * [[Maggie Smith]] (2016) * [[Kate Beckinsale]] (2017) * [[Kristin Scott Thomas]] (2018) }}<noinclude> {{collapsible option}} [[Category:Evening Standard Awards navigational boxes|Actress]] </noinclude> biq5dz87se27vkit84dv86f3fewbmjd ഫലകം:FilmfareAwardBestCostumeDesign 10 667441 4621713 2018-11-30T09:27:48Z en>Sam Sailor 0 Sam Sailor moved page [[Template:FilmfareAwardBestCostumeDesign]] to [[Template:Filmfare Award for Best Costume Design]]: To match main article, and CamelCase is deprecated 4621713 wikitext text/x-wiki #REDIRECT [[Template:Filmfare Award for Best Costume Design]] {{R from move}} d3jihy3r55n6v7meyoteid3p5hiy3yk 4621714 4621713 2026-05-22T22:48:03Z Jacob.jose 1784 [[:en:Template:FilmfareAwardBestCostumeDesign]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 4621713 wikitext text/x-wiki #REDIRECT [[Template:Filmfare Award for Best Costume Design]] {{R from move}} d3jihy3r55n6v7meyoteid3p5hiy3yk ഫലകം:Filmfare Award for Best Actor – Kannada 10 667442 4621717 2013-07-22T06:56:18Z en>Arrwiki 0 [[WP:AES|←]]Created page with '{{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocoll...' 4621717 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambarish]] (1986) * [[Kamal Hassan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shivarajkumar]] (1995) * [[Shivarajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shivarajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shivarajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> o74jqy6mrpa6ctvpsxdkp9xwwlodwuz 4621718 4621717 2013-07-22T07:02:11Z en>Arrwiki 0 4621718 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Hassan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shivarajkumar]] (1995) * [[Shivarajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shivarajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shivarajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> 2ohhvmomu73qqo84irf7hrzmfx92d93 4621719 4621718 2013-07-22T07:03:03Z en>Arrwiki 0 4621719 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shivarajkumar]] (1995) * [[Shivarajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shivarajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shivarajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> 8gqpsy0vz949nemn5l2v0nh4pufvheo 4621720 4621719 2013-07-22T07:04:45Z en>Arrwiki 0 4621720 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shivrajkumar]] (1995) * [[Shivrajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shivrajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shivrajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> ho0wa5phrf8f3mavakj8mgn786vkux0 4621721 4621720 2013-07-22T07:07:04Z en>Arrwiki 0 4621721 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shivrajkumar]] (1995) * [[Shivrajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shivrajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shivrajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> fqktu2x4ntgq5ka2rxidf1p8xgzdui3 4621722 4621721 2014-07-14T07:30:03Z en>Bangwiki 0 4621722 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shivrajkumar]] (1995) * [[Shivrajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shivrajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shivrajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (actor)|Prem Kumar]] (2013) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> 7vzaetfjfx20980xaz2regf6fkil20d 4621723 4621722 2014-09-12T07:11:39Z en>Bangwiki 0 4621723 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (actor)|Prem Kumar]] (2013) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> 6132qc7f391vxrl2gexa08dgkkecefi 4621724 4621723 2015-08-28T08:33:41Z en>Pavanb316 0 4621724 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (actor)|Prem Kumar]] (2013) * [[Yash_(actor)|Yash]] (2014) <!-- IF NEED USE THIS AND CREATE CORRESPONDING PAGES FOR EACH LIST | below = {{nowrap begin}} '''Complete list'''{{·w}} [[:Template:FilmfareAwardBestActor 1953-1979|(1953-1979)]]{{·w}} [[:Template:FilmfareAwardBestActor 1980-1989|(1980-1989)]]{{·w}} [[:Template:FilmfareAwardBestActor 1990-1999|(1990-1999)]]{{·w}} [[:Template:FilmfareAwardBestActor 2000-2009|(2000-2009)]]{{·w}} [[:Template:FilmfareAwardBestActor 2010-2019|(2010–present)]] {{nowrap end}}--> }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes]] </noinclude> 1e8tfprsm2mjr7mqam00zxl3ydbsyz2 4621725 4621724 2015-10-26T08:18:06Z en>Sudzuki Erina 0 4621725 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * Unknown (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> i49scxadsecp3wbbz3iwlsblyfcnubp 4621726 4621725 2016-04-03T18:19:34Z en>MKar 0 /* 1990 */ [[Vishnuvardhan (actor)|Vishnuvardhan]] 4621726 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> 9xy2567xgaptj58lk72pfgdhadelhql 4621727 4621726 2016-06-20T08:13:55Z en>Bangwiki 0 4621727 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> 7xkvzhnobol3xxdrv19hlprzp6i4xwf 4621728 4621727 2017-10-27T15:20:43Z 178.71.222.15 4621728 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> 24xtvgswyjmsjlfcz2ze7xkami387zb 4621729 4621728 2018-04-29T17:40:36Z en>Tassedethe 0 v1.43 - Repaired 1 link to disambiguation page - [[WP:DPL|(You can help)]] - [[Prem Kumar (actor)]] 4621729 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * Unknown (1983) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Ambareesh]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> kzixf7p6lry39aubncdq4q82u5uqmm1 4621730 4621729 2018-06-06T03:28:51Z 106.77.180.46 4621730 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Rajkumar (actor)|Rajkumar]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Rajkumar (actor)|Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> e8hiyetul0ajgr3gtvscxa1mztr6zxy 4621731 4621730 2018-06-06T03:29:42Z en>Chprem 0 4621731 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Rajkumar (actor)|Rajkumar]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Rajkumar (actor)|Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> rudzxmwuwur9o6ofdvczrbs351q1by0 4621732 4621731 2018-06-17T10:51:41Z 217.66.154.251 4621732 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Rajkumar (actor)|Rajkumar]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Rajkumar (actor)|Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> 3wxmu17csch9anlvjns2ovkp78pg6rs 4621733 4621732 2018-11-30T09:49:33Z en>Sam Sailor 0 Sam Sailor moved page [[Template:FilmfareKannadaBestActor]] to [[Template:Filmfare Award for Best Actor – Kannada]]: To match main article, and CamelCase is deprecated 4621732 wikitext text/x-wiki {{Navbox |name = FilmfareKannadaBestActor |title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] |state = {{{state|autocollapse}}} |listclass = hlist |group1 = 1972–1989 |list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Rajkumar (actor)|Rajkumar]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Rajkumar (actor)|Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) |group2 = 1990–2009 |list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada]] </noinclude> 3wxmu17csch9anlvjns2ovkp78pg6rs 4621734 4621733 2018-11-30T09:50:44Z en>Sam Sailor 0 Name, sort, etc. 4621734 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Award for Best Actor – Kannada|Filmfare Award for Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Rajkumar (actor)|Rajkumar]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Rajkumar (actor)|Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] </noinclude> oyv73o4zyx49je3czs4f0n5tkjsv9ao 4621735 4621734 2018-11-30T09:56:27Z en>Sam Sailor 0 Better title 4621735 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Rajkumar (actor)|Rajkumar]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Rajkumar (actor)|Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] </noinclude> p5l56plvzrammmnkf41ilgnddhd3vl2 4621736 4621735 2019-12-22T07:48:48Z 178.66.99.91 4621736 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Rajkumar (actor)|Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Rajkumar (actor)|Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Rajkumar (actor)|Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Rajkumar (actor)|Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Rajkumar (actor)|Rajkumar]] (1984) * [[Rajkumar (actor)|Rajkumar]] (1985) * [[Rajkumar (actor)|Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Rajkumar (actor)|Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] </noinclude> 3ntsytf90fk6tsn0kcbikjx4fqukdok 4621737 4621736 2021-07-10T13:49:29Z en>Vpab15 0 update link 4621737 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr Rajkumar]] (1984) * [[Dr Rajkumar]] (1985) * [[Dr Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeep]] (2001) * [[Sudeep]] (2002) * [[Sudeep]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] </noinclude> b7qt0qnu8h2pscxzbtspgl5wvbmns5h 4621738 4621737 2022-08-10T05:49:01Z en>Paine Ellsworth 0 Redirect bypass from [[Sudeep]] to [[Sudeepa]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]] 4621738 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr Rajkumar]] (1984) * [[Dr Rajkumar]] (1985) * [[Dr Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] </noinclude> 5f2s7wihjg36pjaj714wrydax9zu89x 4621739 4621738 2022-08-10T05:49:46Z en>Paine Ellsworth 0 Redirect bypass from [[Dr Rajkumar]] to [[Dr. Rajkumar]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]] 4621739 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Ananth Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] </noinclude> hc1k77jo96qam5wkjhk6kf1ez9wgxhm 4621740 4621739 2022-08-10T05:51:03Z en>Paine Ellsworth 0 Redirect bypass from [[Ananth Nag]] to [[Anant Nag]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]] 4621740 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] </noinclude> egang2crs2mwxzibg20dei9tcqve86c 4621741 4621740 2022-08-10T05:51:58Z en>Paine Ellsworth 0 update doc 4621741 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> ettqrxcqn1a6glw9jfp7mvoyeh3n98c 4621742 4621741 2022-11-08T13:44:53Z 89.110.21.55 4621742 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya]] (2020/2021) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> 4p0ilezg07w7ig9mvn6484ichj7u0ih 4621743 4621742 2022-11-08T13:45:38Z 89.110.21.55 4621743 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020/2021) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> 2m61uw65x8dd2bjrjnmah2adkto0uyz 4621744 4621743 2023-08-07T14:59:05Z en>ShelfSkewed 0 Updated link 4621744 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020/2021) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> ewlywx477j29e2y4qaq1y8j49ogl30c 4621745 4621744 2023-12-17T22:48:53Z en>BegbertBiggs 0 bypass redirect after move ([[WP:NAVNOREDIRECT]]) 4621745 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath (Kannada actor)|Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020/2021) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> fub9v5c8texl2p03h3nege3vb5s46w7 4621746 4621745 2024-07-16T06:42:00Z en>Jayanthkumar123 0 4621746 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath (Kannada actor)|Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020/2021) * [[Rishab Shetty]] (2022) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> oaom5gl2c0r3avg3vhat49yawcqato9 4621747 4621746 2024-09-11T19:31:18Z 78.37.236.141 4621747 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath (Kannada actor)|Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem Kumar (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020/2021) * [[Rishab Shetty]] (2022) * [[Rakshit Shetty]] (2023) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> hjyvf2astkn6c975qi2ns9p53e34le3 4621748 4621747 2024-12-27T13:49:27Z en>Bangwiki 0 4621748 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath (Kannada actor)|Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020/2021) * [[Rishab Shetty]] (2022) * [[Rakshit Shetty]] (2023) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] }}</noinclude> 99o34tosv73b3gh5tvhpb7q29z9o94d 4621749 4621748 2026-02-02T15:04:20Z en>~2026-71131-8 0 4621749 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath (Kannada actor)|Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020/2021) * [[Rishab Shetty]] (2022) * [[Rakshit Shetty]] (2023) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] [[Category:Filmfare Awards South (Kannada)]] }}</noinclude> 1f1339f2gm7aqcxlrf51zwvkjb7pe22 4621750 4621749 2026-02-23T18:03:07Z en>Jayanthkumar123 0 4621750 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath (Kannada actor)|Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020–2021) * [[Rishab Shetty]] (2022) * [[Rakshit Shetty]] (2023) * [[Sriimurali]] (2024) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] [[Category:Filmfare Awards South (Kannada)]] }}</noinclude> 5smgla8kjk1dufk9njehgpiehr8getx 4621751 4621750 2026-05-22T22:48:24Z Jacob.jose 1784 [[:en:Template:Filmfare_Award_for_Best_Actor_–_Kannada]] എന്നതിൽ നിന്ന് 34 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621750 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Actor – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Actor – Kannada|Best Kannada Actor]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1989 | list1 = * Venkata Rao Talegiri (1972) * [[Dr. Rajkumar]] (1973) * [[Lokesh]] (1974) * [[Dr. Rajkumar]] (1975) * [[Srinath (Kannada actor)|Srinath]] (1976) * Maanu (1977) * [[Dr. Rajkumar]] (1978) * [[Anant Nag]] (1979) * [[Lokesh]] (1980) * [[Dr. Rajkumar]] (1981) * [[Anant Nag]] (1982) * [[Girish Karnad]] (1983) * [[Dr. Rajkumar]] (1984) * [[Dr. Rajkumar]] (1985) * [[Dr. Rajkumar]] (1986) * [[Kamal Haasan]] (1987) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (1988) * [[Anant Nag]] (1989) | group2 = 1990–2009 | list2 = * [[Anant Nag]] (1990) * [[Anant Nag]] (1991) * [[Charuhasan]] (1992) * [[Dr. Rajkumar]] (1993) * Unknown (1994) * [[Shiva Rajkumar]] (1995) * [[Shiva Rajkumar]] (1996) * [[Ramesh Aravind]] (1997) * [[Ramesh Aravind]] (1998) * [[Shiva Rajkumar]] (1999) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2000) * [[Sudeepa]] (2001) * [[Sudeepa]] (2002) * [[Sudeepa]] (2003) * [[Vishnuvardhan (actor)|Vishnuvardhan]] (2004) * [[Prem (Kannada actor)|Prem Kumar]] (2005) * [[Puneeth Rajkumar]] (2006) * [[Duniya Vijay]] (2007) * [[Ganesh (actor)|Ganesh]] (2008) * [[Ganesh (actor)|Ganesh]] (2009) | group3 = 2010–present | list3 = * [[Shiva Rajkumar]] (2010) * [[Puneeth Rajkumar]] (2011) * [[Darshan (Kannada actor)|Darshan]] (2012) * [[Prem (Kannada actor)|Prem Kumar]] (2013) * [[Yash (actor)|Yash]] (2014) * [[Puneeth Rajkumar]] (2015) * [[Anant Nag]] (2016) * [[Puneeth Rajkumar]] (2017) * [[Yash (actor)|Yash]] (2018) * [[Dhananjaya (actor)|Dhananjaya]] (2020–2021) * [[Rishab Shetty]] (2022) * [[Rakshit Shetty]] (2023) * [[Sriimurali]] (2024) }}<noinclude> {{Documentation|content= {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Actor]] [[Category:Filmfare Awards South (Kannada)]] }}</noinclude> 5smgla8kjk1dufk9njehgpiehr8getx ഫലകം:Filmfare Award for Best Costume Design 10 667443 4621752 2018-02-12T13:36:03Z en>Makhamakhi 0 [[WP:AES|←]]Created page with '{{Navbox | name = FilmfareAwardBestCostumeDesign | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]]...' 4621752 wikitext text/x-wiki {{Navbox | name = FilmfareAwardBestCostumeDesign | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 |listclass = hlist | group1= 1995–present | list1= * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * [[Sujata Sharma]] (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * Vaishali Menon (2010) * Varsha Shilpa (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & Anju Modi (2016) * Rohit Chaturvedi (2017) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|D]] </noinclude> 4mbauivealbqtgl122xyb579lcwpg7a 4621753 4621752 2018-02-12T13:55:08Z en>Makhamakhi 0 4621753 wikitext text/x-wiki {{Navbox | name = FilmfareAwardBestCostumeDesign | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 |listclass = hlist | group1= 1995–present | list1= * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * [[Sujata Sharma]] (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * Vaishali Menon (2010) * Varsha Shilpa (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & Anju Modi (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|D]] </noinclude> bkcvztip3jvtd8uzjw8rznqvneus8r6 4621754 4621753 2018-02-16T09:44:22Z en>Makhamakhi 0 4621754 wikitext text/x-wiki {{Navbox | name = FilmfareAwardBestCostumeDesign | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 |listclass = hlist | group1= 1995–present | list1= * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * [[Sujata Sharma]] (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * Vaishali Menon (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & Anju Modi (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|D]] </noinclude> 4727dw2ug36s324cwmah37hpwfgwcl7 4621755 4621754 2018-02-16T10:21:53Z en>Makhamakhi 0 4621755 wikitext text/x-wiki {{Navbox | name = FilmfareAwardBestCostumeDesign | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 |listclass = hlist | group1= 1995–present | list1= * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * [[Sujata Sharma]] (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & Anju Modi (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|D]] </noinclude> g81i4tfo2g2v6ybuux7smce17fbl0pa 4621756 4621755 2018-02-16T10:42:39Z en>Makhamakhi 0 4621756 wikitext text/x-wiki {{Navbox | name = FilmfareAwardBestCostumeDesign | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 |listclass = hlist | group1= 1995–present | list1= * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * [[Sujata Sharma]] (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|D]] </noinclude> j9g3ge1908cvcfzpeh30o55b27qezfq 4621757 4621756 2018-11-30T09:27:48Z en>Sam Sailor 0 Sam Sailor moved page [[Template:FilmfareAwardBestCostumeDesign]] to [[Template:Filmfare Award for Best Costume Design]]: To match main article, and CamelCase is deprecated 4621756 wikitext text/x-wiki {{Navbox | name = FilmfareAwardBestCostumeDesign | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 |listclass = hlist | group1= 1995–present | list1= * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * [[Sujata Sharma]] (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|D]] </noinclude> j9g3ge1908cvcfzpeh30o55b27qezfq 4621758 4621757 2018-11-30T09:28:51Z en>Sam Sailor 0 Name, sort, etc. 4621758 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Costume Design | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 | listclass = hlist | group1 = 1995–present | list1 = * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * [[Sujata Sharma]] (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Costume Design]] </noinclude> kp7gw7b7ohezpxnbe906ja4wvam1dpp 4621759 4621758 2019-07-30T19:33:13Z 178.66.117.13 4621759 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Costume Design | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 | listclass = hlist | group1 = 1995–present | list1 = * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * Sujata Sharma (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Costume Design]] </noinclude> hw9uw0ucdgf921o41ivbjp77vcxcg7o 4621760 4621759 2020-09-23T22:32:18Z en>MarnetteD 0 fix 4621760 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Costume Design | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 | listclass = hlist | group1 = 1995–present | list1 = * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * Sujata Sharma (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Bhasin]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Costume Design]] </noinclude> nm6ltjrroqy0l34ri9b8ever7dqdy15 4621761 4621760 2020-09-23T22:34:37Z en>MarnetteD 0 rvt - info in article is misleading as to her name 4621761 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Costume Design | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 | listclass = hlist | group1 = 1995–present | list1 = * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * Sujata Sharma (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Costume Design]] </noinclude> hw9uw0ucdgf921o41ivbjp77vcxcg7o 4621762 4621761 2024-02-09T17:53:41Z en>TheOneWorkingAccount 0 Updated template 4621762 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Costume Design | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 | listclass = hlist | group1 = 1995–present | list1 = * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * Sujata Sharma (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * ''No Award'' (2017) * Rohit Chaturvedi (2018) * [[Sheetal Sharma]] (2019) * Nidhi Gambhir, Divya Gambhir (2020) * Veera Kapur EE (2021) * Veera Kapur EE (2022) * [[Sheetal Sharma]] (2023) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Costume Design]] </noinclude> 5s1d8ntz2gwiw1xdivrj6nq3dlmg2sy 4621763 4621762 2026-01-14T11:26:04Z en>PEditorS10 0 4621763 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Costume Design | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 | listclass = hlist | group1 = 1995–present | list1 = * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * Sujata Sharma (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * Payal Saluja (2017) * Rohit Chaturvedi (2018) * [[Sheetal Sharma]] (2019) * Nidhi Gambhir & Divya Gambhir (2020) * Veera Kapur EE (2021) * Veera Kapur EE (2022) * [[Sheetal Sharma]] (2023) * Sachin Lovelekar, Nidhi Gambhir & Divya Gambhir (2024) * Darshan Jalan (2025) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Costume Design]] </noinclude> lhp7lumxyr0edpoerw99txhue31tpoy 4621764 4621763 2026-05-22T22:48:38Z Jacob.jose 1784 [[:en:Template:Filmfare_Award_for_Best_Costume_Design]] എന്നതിൽ നിന്ന് 12 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621763 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Costume Design | title = [[Filmfare Awards|Filmfare Award]] for [[Filmfare Award for Best Costume Design|Best Costume Design]] | state = {{{state|autocollapse}}} | basestyle = background: #EEDD82 | listclass = hlist | group1 = 1995–present | list1 = * [[Manish Malhotra]] (1995) * [[Dolly Ahluwalia]] (2007) * Sujata Sharma (2008) * [[Rushi Sharma]] & [[Manoshi Nath]] (2009) * [[Vaishali Menon]] (2010) * [[Varsha Shilpa]] (2011) * [[Niharika Khan]] (2012) * [[Rushi Sharma]] and [[Manoshi Nath]] (2013) * [[Dolly Ahluwalia]] (2014) * [[Dolly Ahluwalia]] (2015) * [[Maxima Basu]] & [[Anju Modi]] (2016) * Payal Saluja (2017) * Rohit Chaturvedi (2018) * [[Sheetal Sharma]] (2019) * Nidhi Gambhir & Divya Gambhir (2020) * Veera Kapur EE (2021) * Veera Kapur EE (2022) * [[Sheetal Sharma]] (2023) * Sachin Lovelekar, Nidhi Gambhir & Divya Gambhir (2024) * Darshan Jalan (2025) }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Costume Design]] </noinclude> lhp7lumxyr0edpoerw99txhue31tpoy ഫലകം:Filmfare Award for Best Director - Kannada 10 667444 4621765 2026-02-26T04:09:26Z en>Bangwiki 0 [[WP:AES|←]]Created page with '{{Navbox | name = Filmfare Award for Best Director – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * G. V. Iy...' 4621765 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetham Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[Arun Prasad P.A.]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajith Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tarun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> d85yjfll0rwi6ea931mpy5ytow533wt 4621766 4621765 2026-02-26T04:20:10Z en>Bangwiki 0 4621766 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetam Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[Arun Prasad P.A.]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajith Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tarun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> r9tipi8mfh8u8mp6qa1ou2eh4xtgm7r 4621767 4621766 2026-02-26T04:35:11Z en>Bangwiki 0 4621767 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetam Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekhar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[Arun Prasad P.A.]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajith Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tarun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> q51mtarhauf66q3h129ecv70vb9ho0u 4621768 4621767 2026-02-26T04:37:35Z en>Bangwiki 0 4621768 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetam Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekhar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[P. A. Arun Prasad]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajith Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tarun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> fl09r9imrlvmh9kb1ytvylfexjgrwsf 4621769 4621768 2026-02-26T04:38:50Z en>Bangwiki 0 4621769 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetam Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekhar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[P. A. Arun Prasad]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajit Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tarun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> ctai4jkelxrsq59slk6dfc3l9m24l3y 4621770 4621769 2026-02-26T04:43:16Z en>Bangwiki 0 4621770 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director – Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetam Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekhar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[P. A. Arun Prasad]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajit Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tharun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> au8ezubkn7apigqm83rogs4crr5qntn 4621771 4621770 2026-03-02T10:51:35Z en>Redrose64 0 fix v-t-e links 4621771 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director - Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetam Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekhar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[P. A. Arun Prasad]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajit Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tharun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> 8yaf6wllqcksq6nug8e7kgl9hx19ejz 4621772 4621771 2026-05-22T22:48:49Z Jacob.jose 1784 [[:en:Template:Filmfare_Award_for_Best_Director_-_Kannada]] എന്നതിൽ നിന്ന് 7 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621771 wikitext text/x-wiki {{Navbox | name = Filmfare Award for Best Director - Kannada | title = [[Filmfare Awards South|Filmfare Award]] for [[Filmfare Award for Best Director – Kannada|Best Kannada Director]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = 1972–1990 | list1 = * [[B. V. Karanth]] & [[Girish Karnad]] {{small|(1972)}} * [[Puttanna Kanagal]] {{small|(1973)}} * [[Girish Karnad]] {{small|(1974)}} * [[B. V. Karanth]] {{small|(1975)}} * [[G. V. Iyer]] {{small|(1976)}} * [[K. S. Prakash Rao]] {{small|(1977)}} * [[Girish Karnad]] {{small|(1978)}} * [[Puttanna Kanagal]] {{small|(1979)}} * [[Shankar Nag]] {{small|(1980)}} * [[Puttanna Kanagal]] {{small|(1981)}} * [[M. S. Sathyu]] {{small|(1982)}} * [[Prema Karanth]] {{small|(1983)}} * [[Kashinath (actor)|Kashinath]] {{small|(1984)}} * N. Lakshmi Narayan {{small|(1985)}} * K. V. Jayaram {{small|(1986)}} * [[Singeetam Srinivasa Rao]] {{small|(1987)}} * [[Dinesh Baboo]] {{small|(1988)}} * [[Sunil Kumar Desai]] {{small|(1989)}} * [[Suresh Heblikar]] {{small|(1990)}} | group2 = 1991–2010 | list2 = * [[Lokesh]] {{small|(1991)}} * [[T. S. Nagabharana]] {{small|(1992)}} * [[Rajendra Singh Babu]] {{small|(1993)}} * [[Rajendra Singh Babu]] {{small|(1994)}} * [[Sunil Kumar Desai]] {{small|(1995)}} * [[T. S. Nagabharana]] {{small|(1996)}} * [[T. S. Nagabharana]] {{small|(1997)}} * [[Girish Kasaravalli]] {{small|(1998)}} * [[Upendra (actor)|Upendra]] {{small|(1999)}} * [[Sunil Kumar Desai]] {{small|(2000)}} * [[Nagathihalli Chandrashekhar]] {{small|(2001)}} * [[Girish Kasaravalli]] {{small|(2002)}} * [[P. A. Arun Prasad]] {{small|(2003)}} * [[P. Vasu]] {{small|(2004)}} * [[Ratnaja]] {{small|(2005)}} * [[Indrajit Lankesh]] {{small|(2006)}} * [[K. M. Chaitanya]] {{small|(2007)}} * [[Shashank (director)|Shashank]] {{small|(2008)}} * [[Guruprasad]] {{small|(2009)}} * [[Girish Kasaravalli]] {{small|(2010)}} | group3 = 2011–present | list3 = * [[Jayathirtha]] {{small|(2011)}} * [[Vijaya Prasad]] {{small|(2012)}} * [[Pawan Kumar (director)|Pawan Kumar]] {{small|(2013)}} * [[Rakshit Shetty]] {{small|(2014)}} * [[Anup Bhandari]] {{small|(2015)}} * [[Rishab Shetty]] {{small|(2016)}} * [[Tharun Sudhir]] {{small|(2017)}} * Mansore {{small|(2018)}} * [[Raj B. Shetty]] {{small|(2020–2021)}} * [[Kiranraj K.]] {{small|(2022)}} * [[Hemanth M. Rao]] {{small|(2023)}} * [[Prithvi Konanur]] {{small|(2024)}} }}<noinclude> {{collapsible option}} [[Category:Filmfare Award navigational boxes|Kannada Director]] [[Category:Filmfare Awards South (Kannada)]] </noinclude> 8yaf6wllqcksq6nug8e7kgl9hx19ejz ഫലകം:Format time 10 667445 4621773 2018-12-12T19:16:07Z en>Daviddwd 0 [[WP:AES|←]]Created page with '<includeonly><!--First, time: -->{{#if: {{{4| {{{hour| {{{hh|}}} }}} }}} |{{#if: {{{5| {{{minute| {{{mm|}}} }}} }}}| {{#if: {{{hour_format|}}}<!--if format provi...' 4621773 wikitext text/x-wiki <includeonly><!--First, time: -->{{#if: {{{4| {{{hour| {{{hh|}}} }}} }}} |{{#if: {{{5| {{{minute| {{{mm|}}} }}} }}}| {{#if: {{{hour_format|}}}<!--if format provided, use it --> |{{#time: {{#switch: {{{hour_format}}} | g = g:i{{#if: {{{6| {{{second| {{{ss| {{{sec| }}} }}} }}} }}}|&#58;s}} a | h = h:i{{#if: {{{6| {{{second| {{{ss| {{{sec| }}} }}} }}} }}}|&#58;s}} A | G = G:i{{#if: {{{6| {{{second| {{{ss| {{{sec| }}} }}} }}} }}}|&#58;s}} | H = H:i{{#if: {{{6| {{{second| {{{ss| {{{sec| }}} }}} }}} }}}|&#58;s}} }} |{{padleft: {{{4| {{{hour| {{{hh|}}} }}} }}}|2|0 }}:{{padleft:{{{5| {{{minute| {{{mm|}}} }}} }}}|2|0 }}:{{padleft:{{{6| {{{second| {{{ss| {{{sec|0}}} }}} }}} }}}|2|0 }} }} <!--if no format provided, default to pad left --> |{{#if: {{{5| {{{minute| {{{mm|}}} }}} }}} |{{padleft:{{{4| {{{hour| {{{hh|}}} }}} }}}|2|0}}:{{padleft: {{{5| {{{minute| {{{mm|}}} }}} }}}|2|0 }}{{#if: {{{6| {{{second| {{{ss| {{{sec| }}} }}} }}} }}} |&#58;{{padleft:{{{6| {{{second| {{{ss| {{{sec| }}} }}} }}} }}}|2|0}} }} }} }}{{#if:{{{time_joiner|}}}|&#32;{{{time_joiner}}}|{{#if: {{{1| {{{year|}}} }}}|,}} }}&#32; }}<!--minute-->}}</includeonly><noinclude> {{Documentation}} </noinclude> bom901zexm140qb2d4iagiacoh0b5qd 4621774 4621773 2018-12-12T19:19:42Z en>Daviddwd 0 4621774 wikitext text/x-wiki <includeonly><!--First, time: -->{{#if: {{{hour| {{{hh| {{{1|}}} }}} }}} |{{#if: {{{minute| {{{mm|{{{2|}}} }}} }}}| {{#if: {{{hour_format|}}}<!--if format provided, use it --> |{{#time: {{#switch: {{{hour_format}}} | g = g:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} a | h = h:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} A | G = G:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} | H = H:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} }} |{{padleft: {{{hour| {{{hh| {{{1|}}} }}} }}}|2|0 }}:{{padleft:{{{minute| {{{mm|{{{2| }}} }}} }}}|2|0 }}:{{padleft:{{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|2|0 }} }} <!--if no format provided, default to pad left --> |{{#if: {{{minute| {{{mm|{{{2|}}} }}} }}} |{{padleft:{{{hour| {{{hh| {{{1|}}} }}} }}}|2|0}}:{{padleft: {{{minute| {{{mm|{{{2|}}} }}} }}}|2|0 }}{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}} |&#58;{{padleft:{{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|2|0}} }} }} }} }}<!--minute-->}}</includeonly><noinclude> {{Documentation}} </noinclude> br42cr9dv4arhkx34y1kw2xzre3rz3s 4621775 4621774 2018-12-12T19:30:36Z en>Daviddwd 0 4621775 wikitext text/x-wiki <includeonly>{{#if: {{{hour| {{{hh| {{{1|}}} }}} }}} |{{#if: {{{minute| {{{mm|{{{2|}}} }}} }}}| {{#if: {{{hour_format|}}}<!--if format provided, use it --> |{{#time: {{#switch: {{{hour_format}}} | g = g:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} a | h = h:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} A | G = G:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} | H = H:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} }} |{{padleft: {{{hour| {{{hh| {{{1|}}} }}} }}}|2|0 }}:{{padleft:{{{minute| {{{mm|{{{2| }}} }}} }}}|2|0 }}:{{padleft:{{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|2|0 }} }} <!--if no format provided, default to pad left --> |{{#if: {{{minute| {{{mm|{{{2|}}} }}} }}} |{{padleft:{{{hour| {{{hh| {{{1|}}} }}} }}}|2|0}}:{{padleft: {{{minute| {{{mm|{{{2|}}} }}} }}}|2|0 }}{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}} |&#58;{{padleft:{{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|2|0}} }} }} }} }}<!--minute-->}}<!--time zone-->{{#if: {{{timezone| {{{TimeZone| {{{tz| {{{4| }}} }}} }}} }}} |&#32;({{#ifeq: {{{timezone| {{{TimeZone| {{{tz| {{{4| }}} }}} }}} }}}|Z|UTC|{{{timezone| {{{TimeZone| {{{tz| {{{4| }}} }}} }}} }}} }})}}</includeonly><noinclude> {{Documentation}} </noinclude> qyy3vybuu1ly3jtguhp9287tey1wovp 4621776 4621775 2026-05-22T22:49:25Z Jacob.jose 1784 [[:en:Template:Format_time]] എന്നതിൽ നിന്ന് 3 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621775 wikitext text/x-wiki <includeonly>{{#if: {{{hour| {{{hh| {{{1|}}} }}} }}} |{{#if: {{{minute| {{{mm|{{{2|}}} }}} }}}| {{#if: {{{hour_format|}}}<!--if format provided, use it --> |{{#time: {{#switch: {{{hour_format}}} | g = g:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} a | h = h:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} A | G = G:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} | H = H:i{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|&#58;s}} }} |{{padleft: {{{hour| {{{hh| {{{1|}}} }}} }}}|2|0 }}:{{padleft:{{{minute| {{{mm|{{{2| }}} }}} }}}|2|0 }}:{{padleft:{{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|2|0 }} }} <!--if no format provided, default to pad left --> |{{#if: {{{minute| {{{mm|{{{2|}}} }}} }}} |{{padleft:{{{hour| {{{hh| {{{1|}}} }}} }}}|2|0}}:{{padleft: {{{minute| {{{mm|{{{2|}}} }}} }}}|2|0 }}{{#if: {{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}} |&#58;{{padleft:{{{second| {{{ss| {{{sec| {{{3| }}} }}} }}} }}}|2|0}} }} }} }} }}<!--minute-->}}<!--time zone-->{{#if: {{{timezone| {{{TimeZone| {{{tz| {{{4| }}} }}} }}} }}} |&#32;({{#ifeq: {{{timezone| {{{TimeZone| {{{tz| {{{4| }}} }}} }}} }}}|Z|UTC|{{{timezone| {{{TimeZone| {{{tz| {{{4| }}} }}} }}} }}} }})}}</includeonly><noinclude> {{Documentation}} </noinclude> qyy3vybuu1ly3jtguhp9287tey1wovp ഫലകം:Format time/doc 10 667446 4621815 2018-12-12T19:16:48Z en>Daviddwd 0 [[WP:AES|←]]Created page with '{{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==...' 4621815 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == == Template Data == {{TemplateData Header}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> 87vo4pudqmc7r85kzhqja23uubl2al1 4621816 4621815 2018-12-12T19:23:19Z en>Daviddwd 0 /* Template Data */ 4621816 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "min", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" } }, "paramOrder": [ "hour", "minute", "second", "hour_format" ] } </templatedata> 6r9iqsl3uuaeu1dig6uf5m2g2kyunaq 4621817 4621816 2018-12-12T19:26:40Z en>Daviddwd 0 4621817 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == == See also == ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "min", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" } }, "paramOrder": [ "hour", "minute", "second", "hour_format" ] } </templatedata> h9avzpqdrmnzy6t0943eh1ohi5ahl99 4621818 4621817 2018-12-12T19:30:23Z en>Daviddwd 0 4621818 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "If input, shows timezone" } </templatedata> tr99p29b783ks41rjnqj91lefe149ja 4621819 4621818 2018-12-12T19:42:58Z en>Daviddwd 0 4621819 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|hour_format|TimeZone}} *{{tparam|hour}} is required, and is the hour in 24 hour format. ** aliases: {{tparam|hh}} and {{tparam|1}} (the first positional parameter) *{{tparam|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{tparam|mm}} and {{tparam|2}} (the second positional parameter) *{{tparam|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{tparam|ss}}, {{tparam|sec}} and {{tparam|3}} (the third positional parameter) *{{tparam|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. ** alias: {{tparam|4}}, the fourth positional parameter *{{tparam|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{tparam|timezone}}, {{tparam|tz}} and {{tparam|5}} (the fifth positional parameter) Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *{{tlx|Format time|08|||+01:00}} returns "{{Format time|08|||+01:00}}" *{{tlx|Format time|08|||-07:00}} returns "{{Format time|08|||-07:00}}" *:{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|23|tz=Z}} returns "{{Format time|08|30|23|tz=Z}}" *{{tlx|Format time|08|30|23|timezone=+01:00}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|TimeZone=-07:00}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" == Hour format == The hour format parameter {{tparam|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/G) or 24 hour time (h/H), and whether to truncate (g/h) numbers under 10 or not (G/H). Examples: *{{tlx|Format time|08|30|hour_format=g}} returns "{{Format time|08|30|hour_format=g}}" *{{tlx|Format time|08|30|hour_format=G}} returns "{{Format time|08|30|hour_format=G}}" *{{tlx|Format time|08|30|hour_format=h}} returns "{{Format time|08|30|hour_format=h}}" *{{tlx|Format time|08|30|hour_format=H}} returns "{{Format time|08|30|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "If input, shows timezone" } </templatedata> p0pnr51pefut7lt7ssnzm8pmhl37bcf 4621820 4621819 2018-12-12T19:46:29Z en>Daviddwd 0 4621820 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|TimeZone|hour_format=(format)}} == Parameters == *{{param|hour}} is required, and is the hour in 24 hour format. ** aliases: {{param|hh}} and {{param|1}} (the first positional parameter) *{{param|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{param|mm}} and {{param|2}} (the second positional parameter) *{{param|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{param|ss}}, {{param|sec}} and {{param|3}} (the third positional parameter) *{{param|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{param|timezone}}, {{param|tz}} and {{param|4}} (the fourth positional parameter) *{{param|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *:{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|tz=Z}} returns "{{Format time|08|30|tz=Z}}" *{{tlx|Format time|08|30|23|timezone=+01:00}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|TimeZone=-07:00}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" === Hour format === The hour format parameter {{param|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/G) or 24 hour time (h/H), and whether to truncate (g/h) numbers under 10 or not (G/H). Examples: *{{tlx|Format time|08|30|hour_format=g}} returns "{{Format time|08|30|hour_format=g}}" *{{tlx|Format time|08|30|hour_format=G}} returns "{{Format time|08|30|hour_format=G}}" *{{tlx|Format time|08|30|hour_format=h}} returns "{{Format time|08|30|hour_format=h}}" *{{tlx|Format time|08|30|hour_format=H}} returns "{{Format time|08|30|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "If input, shows timezone" } </templatedata> nypsh95yl7cpild65iwld6n7u1ud9i2 4621821 4621820 2018-12-12T19:47:18Z en>Daviddwd 0 4621821 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|TimeZone|hour_format=(format)}} == Parameters == *{{param|hour}} is required, and is the hour in 24 hour format. ** aliases: {{param|hh}} and {{param|1}} (the first positional parameter) *{{param|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{param|mm}} and {{param|2}} (the second positional parameter) *{{param|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{param|ss}}, {{param|sec}} and {{param|3}} (the third positional parameter) *{{param|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{param|timezone}}, {{param|tz}} and {{param|4}} (the fourth positional parameter) *{{param|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *:{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|tz=Z}} returns "{{Format time|08|30|tz=Z}}" *{{tlx|Format time|08|30|23|timezone=+01:00}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|TimeZone=-07:00}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" === Hour format === The hour format parameter {{param|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/G) or 24 hour time (h/H), and whether to truncate (g/h) numbers under 10 or not (G/H). Examples: *{{tlx|Format time|08|30|hour_format=g}} returns "{{Format time|08|30|hour_format=g}}" *{{tlx|Format time|08|30|hour_format=G}} returns "{{Format time|08|30|hour_format=G}}" *{{tlx|Format time|08|30|hour_format=h}} returns "{{Format time|08|30|hour_format=h}}" *{{tlx|Format time|08|30|hour_format=H}} returns "{{Format time|08|30|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "Formats a time of day" } </templatedata> 6z3bkxhv7rc4ghzlbmvqz2dsp3tlozt 4621822 4621821 2023-02-24T14:16:58Z en>Ron Waffle 0 fix {{tlx}} usage 4621822 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|TimeZone|<nowiki>hour_format=(format)</nowiki>}} == Parameters == *{{param|hour}} is required, and is the hour in 24 hour format. ** aliases: {{param|hh}} and {{param|1}} (the first positional parameter) *{{param|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{param|mm}} and {{param|2}} (the second positional parameter) *{{param|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{param|ss}}, {{param|sec}} and {{param|3}} (the third positional parameter) *{{param|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{param|timezone}}, {{param|tz}} and {{param|4}} (the fourth positional parameter) *{{param|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|<nowiki>tz=Z</nowiki>}} returns "{{Format time|08|30|tz=Z}}" *{{tlx|Format time|08|30|23|<nowiki>timezone=+01:00</nowiki>}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|<nowiki>TimeZone=-07:00</nowiki>}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" === Hour format === The hour format parameter {{param|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/G) or 24 hour time (h/H), and whether to truncate (g/h) numbers under 10 or not (G/H). Examples: *{{tlx|Format time|08|30|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|08|30|hour_format=g}}" *{{tlx|Format time|08|30|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|08|30|hour_format=G}}" *{{tlx|Format time|08|30|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|08|30|hour_format=h}}" *{{tlx|Format time|08|30|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|08|30|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "Formats a time of day" } </templatedata> 151yjrdm33yb1i3i7szx58lb8seopqm 4621823 4621822 2023-02-24T15:47:28Z en>Ron Waffle 0 /* Hour format */ fix errors in hour_format documentation 4621823 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|TimeZone|<nowiki>hour_format=(format)</nowiki>}} == Parameters == *{{param|hour}} is required, and is the hour in 24 hour format. ** aliases: {{param|hh}} and {{param|1}} (the first positional parameter) *{{param|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{param|mm}} and {{param|2}} (the second positional parameter) *{{param|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{param|ss}}, {{param|sec}} and {{param|3}} (the third positional parameter) *{{param|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{param|timezone}}, {{param|tz}} and {{param|4}} (the fourth positional parameter) *{{param|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|<nowiki>tz=Z</nowiki>}} returns "{{Format time|08|30|tz=Z}}" *{{tlx|Format time|08|30|23|<nowiki>timezone=+01:00</nowiki>}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|<nowiki>TimeZone=-07:00</nowiki>}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" === Hour format === The hour format parameter {{param|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/h) or 24 hour time (G/H), and whether to truncate (g/G) numbers under 10 or not (h/H). Examples: *{{tlx|Format time|08|30|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|08|30|hour_format=g}}" *{{tlx|Format time|08|30|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|08|30|hour_format=G}}" *{{tlx|Format time|08|30|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|08|30|hour_format=h}}" *{{tlx|Format time|08|30|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|08|30|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "Formats a time of day" } </templatedata> mlixnzamzq8gomlo5hsexa4oi9c36pd 4621824 4621823 2023-02-24T16:01:42Z en>Ron Waffle 0 /* Hour format */ add examples for clarity 4621824 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|TimeZone|<nowiki>hour_format=(format)</nowiki>}} == Parameters == *{{param|hour}} is required, and is the hour in 24 hour format. ** aliases: {{param|hh}} and {{param|1}} (the first positional parameter) *{{param|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{param|mm}} and {{param|2}} (the second positional parameter) *{{param|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{param|ss}}, {{param|sec}} and {{param|3}} (the third positional parameter) *{{param|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{param|timezone}}, {{param|tz}} and {{param|4}} (the fourth positional parameter) *{{param|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|<nowiki>tz=Z</nowiki>}} returns "{{Format time|08|30|tz=Z}}" *{{tlx|Format time|08|30|23|<nowiki>timezone=+01:00</nowiki>}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|<nowiki>TimeZone=-07:00</nowiki>}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" === Hour format === The hour format parameter {{param|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/h) or 24 hour time (G/H), and whether to truncate (g/G) numbers under 10 or not (h/H). Examples: * {{tlx|Format time|08|30|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|08|30|hour_format=g}}" * {{tlx|Format time|17|15|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|17|15|hour_format=g}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|08|30|hour_format=h}}" * {{tlx|Format time|17|15|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|17|15|hour_format=h}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|08|30|hour_format=G}}" * {{tlx|Format time|17|15|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|17|15|hour_format=G}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|08|30|hour_format=H}}" * {{tlx|Format time|17|15|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|17|15|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "Formats a time of day" } </templatedata> 6xqzgkx6hs413w55cwjqfk4wf1h4xaz 4621825 4621824 2024-07-04T17:13:39Z en>DB1729 0 Category:Time, date and calendar templates 4621825 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|TimeZone|<nowiki>hour_format=(format)</nowiki>}} == Parameters == *{{param|hour}} is required, and is the hour in 24 hour format. ** aliases: {{param|hh}} and {{param|1}} (the first positional parameter) *{{param|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{param|mm}} and {{param|2}} (the second positional parameter) *{{param|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{param|ss}}, {{param|sec}} and {{param|3}} (the third positional parameter) *{{param|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{param|timezone}}, {{param|tz}} and {{param|4}} (the fourth positional parameter) *{{param|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|<nowiki>tz=Z</nowiki>}} returns "{{Format time|08|30|tz=Z}}" *{{tlx|Format time|08|30|23|<nowiki>timezone=+01:00</nowiki>}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|<nowiki>TimeZone=-07:00</nowiki>}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" === Hour format === The hour format parameter {{param|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/h) or 24 hour time (G/H), and whether to truncate (g/G) numbers under 10 or not (h/H). Examples: * {{tlx|Format time|08|30|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|08|30|hour_format=g}}" * {{tlx|Format time|17|15|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|17|15|hour_format=g}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|08|30|hour_format=h}}" * {{tlx|Format time|17|15|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|17|15|hour_format=h}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|08|30|hour_format=G}}" * {{tlx|Format time|17|15|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|17|15|hour_format=G}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|08|30|hour_format=H}}" * {{tlx|Format time|17|15|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|17|15|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "Formats a time of day" } </templatedata> <includeonly>{{Sandbox other|| <!-- Categories below this line --> [[Category:Time, date and calendar templates]] }}</includeonly> gd0qga1awhqggtofc9vgq0w4ttn04eb 4621826 4621825 2026-05-22T22:49:39Z Jacob.jose 1784 [[:en:Template:Format_time/doc]] എന്നതിൽ നിന്ന് 11 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621825 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==Syntax== *{{tlx|Format time|hour|minute|second}} *{{tlx|Format time|hour|minute|second|TimeZone|<nowiki>hour_format=(format)</nowiki>}} == Parameters == *{{param|hour}} is required, and is the hour in 24 hour format. ** aliases: {{param|hh}} and {{param|1}} (the first positional parameter) *{{param|minute}} is recommended; it is the minute after the hour (default 0). ** aliases: {{param|mm}} and {{param|2}} (the second positional parameter) *{{param|second}} is optional; seconds will only be rendered if this is not blank. ** aliases: {{param|ss}}, {{param|sec}} and {{param|3}} (the third positional parameter) *{{param|TimeZone}} may be a numerical value, or "Z" for [[Coordinated Universal Time|UTC]]; see examples. ** aliases: {{param|timezone}}, {{param|tz}} and {{param|4}} (the fourth positional parameter) *{{param|hour_format}} can be blank, 'h', 'H', 'g' or 'G'; see {{Section link||Hour format|below}}. Examples: *{{tlx|Format time|08|30}} returns "{{Format time|08|30}}" *{{tlx|Format time|08|30|23}} returns "{{Format time|08|30|23}}" *{{tlx|Format time|08|30|<nowiki>tz=Z</nowiki>}} returns "{{Format time|08|30|tz=Z}}" *{{tlx|Format time|08|30|23|<nowiki>timezone=+01:00</nowiki>}} returns "{{Format time|08|30|23|timezone=+01:00}}" *{{tlx|Format time|08|30|23|<nowiki>TimeZone=-07:00</nowiki>}} returns "{{Format time|08|30|23|TimeZone=-07:00}}" === Hour format === The hour format parameter {{param|hour_format}} can be variously 'g', 'G', 'h', or 'H', specifying whether to use 12 hour time with AM/PM (g/h) or 24 hour time (G/H), and whether to truncate (g/G) numbers under 10 or not (h/H). Examples: * {{tlx|Format time|08|30|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|08|30|hour_format=g}}" * {{tlx|Format time|17|15|<nowiki>hour_format=g</nowiki>}} returns "{{Format time|17|15|hour_format=g}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|08|30|hour_format=h}}" * {{tlx|Format time|17|15|<nowiki>hour_format=h</nowiki>}} returns "{{Format time|17|15|hour_format=h}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|08|30|hour_format=G}}" * {{tlx|Format time|17|15|<nowiki>hour_format=G</nowiki>}} returns "{{Format time|17|15|hour_format=G}}" <br /> * {{tlx|Format time|08|30|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|08|30|hour_format=H}}" * {{tlx|Format time|17|15|<nowiki>hour_format=H</nowiki>}} returns "{{Format time|17|15|hour_format=H}}" ==See also== * {{tl|Format date}} for dates, with times optional {{Date and time templates}} == Template Data == {{TemplateDataHeader}} <includeonly>{{sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> <templatedata> { "params": { "hour": { "aliases": [ "hh", "1" ], "label": "Hour", "description": "Hour of the day, in 24 hour format", "example": "13", "type": "number", "autovalue": "", "required": true }, "minute": { "aliases": [ "mm", "2" ], "label": "Minute", "description": "minutes after the hour", "example": "3", "type": "number", "autovalue": "0", "suggested": true }, "second": { "aliases": [ "ss", "sec", "3" ], "label": "Second", "description": "Seconds after the minute", "type": "number" }, "hour_format": { "label": "Hour format", "type": "string", "suggested": true, "description": "Formats hours and whether to render AM/PM or a.m./p.m.", "example": "g (7:00 p.m.), G (07:00 PM), h (19:00), or H (19:00)" }, "timezone": { "aliases": [ "tz", "TimeZone", "4" ], "description": "A numerical offset from UTC, or 'Z'. If non-empty, shows time zone", "example": "Z", "type": "string" } }, "paramOrder": [ "hour", "minute", "second", "hour_format", "timezone" ], "description": "Formats a time of day" } </templatedata> <includeonly>{{Sandbox other|| <!-- Categories below this line --> [[Category:Time, date and calendar templates]] }}</includeonly> gd0qga1awhqggtofc9vgq0w4ttn04eb ഫലകം:Source parameter 10 667447 4621872 2007-03-30T01:04:10Z en>CharlotteWebb 0 [[WP:AES|←]]Created page with '<tt>&#123;&#123;&#123;{{{1|foo}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;</tt><noinclude> [[Category:Typing-aid templates]] {{esoteric}} </noinc...' 4621872 wikitext text/x-wiki <tt>&#123;&#123;&#123;{{{1|foo}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;</tt><noinclude> [[Category:Typing-aid templates]] {{esoteric}} </noinclude> 8bdkplqxfcp3vxvfts9b4dg8479s7kc 4621873 4621872 2008-08-19T20:42:19Z en>WOSlinker 0 cat sorting 4621873 wikitext text/x-wiki <tt>&#123;&#123;&#123;{{{1|foo}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;</tt><noinclude> [[Category:Typing-aid templates|{{PAGENAME}}]] {{esoteric}} </noinclude> e8ffvhqsh2nxkhkegz9wxwa7s2o6w17 4621874 4621873 2009-07-01T22:12:41Z en>MC10 0 noinclude 4621874 wikitext text/x-wiki <tt>&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;</tt><noinclude> [[Category:Typing-aid templates|{{PAGENAME}}]] {{esoteric}} </noinclude> 6yg9lttfvbi381tbsbhzr09gvshlhyv 4621875 4621874 2010-06-26T12:50:13Z en>Daemorris 0 4621875 wikitext text/x-wiki <tt>&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;</tt><noinclude> [[Category:Typing-aid templates|{{PAGENAME}}]] {{esoteric}} [[pt:Predefinição:Parâmetro]] </noinclude> b9nqyh7sb6nb3e4rk624v84tr2ohm1t 4621876 4621875 2012-04-24T17:40:33Z en>Droll 0 added doc page 4621876 wikitext text/x-wiki <code>&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;</code><noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 7gcphihz5fiku19x052tywkh5gytk2n 4621877 4621876 2014-02-15T20:41:01Z en>Technical 13 0 Add a parameter so that if nested=yes, don't bother with <code></code> so that it doesn't break it. 4621877 wikitext text/x-wiki {{#ifeq:{{Yesno|{{{nested|no}}}}}|yes||<code>}}&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;{{#ifeq:{{Yesno|{{{nested|no}}}}}|yes||</code>}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> 5b048q5t0zwq1is0157affjvvgciesr 4621878 4621877 2015-07-14T07:48:58Z en>Cpiral 0 + named parameter tag defaults to <code> <{{{tag|code}}}> 4621878 wikitext text/x-wiki {{#ifeq:{{Yesno|{{{nested|no}}}}}|yes||<{{{tag|code}}}>}}&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;{{#ifeq:{{Yesno|{{{nested|no}}}}}|yes||</{{{tag|code}}}>}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> qvl904teu15zatr1ralor7q8z3zs23g 4621879 4621878 2018-01-10T19:17:23Z en>Primefac 0 Protected "[[Template:Param]]": [[WP:SEMI|semi-protecting]] highly-visible templates in response to recent template-space vandalism ([Edit=Require autoconfirmed or confirmed access] (indefinite) [Move=Require autoconfirmed or confirmed access] (indefin... 4621878 wikitext text/x-wiki {{#ifeq:{{Yesno|{{{nested|no}}}}}|yes||<{{{tag|code}}}>}}&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;{{#ifeq:{{Yesno|{{{nested|no}}}}}|yes||</{{{tag|code}}}>}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> qvl904teu15zatr1ralor7q8z3zs23g 4621880 4621879 2018-05-27T03:56:56Z en>JJMC89 0 clean subst 4621880 wikitext text/x-wiki {{SAFESUBST:<noinclude />#ifeq:{{SAFESUBST:<noinclude />Yesno|{{{nested|no}}}}}|yes||<{{{tag|code}}}>}}&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{SAFESUBST:<noinclude />#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;{{SAFESUBST:<noinclude />#ifeq:{{SAFESUBST:<noinclude />Yesno|{{{nested|no}}}}}|yes||</{{{tag|code}}}>}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> k2oxzdhjfcbt88hy90njp6u20ucxx42 4621881 4621880 2026-04-12T13:41:20Z en>FaviFake 0 FaviFake moved page [[Template:Param]] to [[Template:Source parameter]]: "Param" is ambiguous and not immediately clear, especially when compared to [[TM:Para]]. "Source parameter" is explicit, distinct from the other template name, and aligns with standard technical terminology, making it easier to understand and use correctly. 4621880 wikitext text/x-wiki {{SAFESUBST:<noinclude />#ifeq:{{SAFESUBST:<noinclude />Yesno|{{{nested|no}}}}}|yes||<{{{tag|code}}}>}}&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{SAFESUBST:<noinclude />#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;{{SAFESUBST:<noinclude />#ifeq:{{SAFESUBST:<noinclude />Yesno|{{{nested|no}}}}}|yes||</{{{tag|code}}}>}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> k2oxzdhjfcbt88hy90njp6u20ucxx42 4621882 4621881 2026-05-22T22:49:46Z Jacob.jose 1784 [[:en:Template:Source_parameter]] എന്നതിൽ നിന്ന് 10 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621880 wikitext text/x-wiki {{SAFESUBST:<noinclude />#ifeq:{{SAFESUBST:<noinclude />Yesno|{{{nested|no}}}}}|yes||<{{{tag|code}}}>}}&#123;&#123;&#123;{{{1<noinclude>|foo</noinclude>}}}{{SAFESUBST:<noinclude />#ifeq:{{{2}}}|{{{2|}}} |&#124;}}{{{2|}}}&#125;&#125;&#125;{{SAFESUBST:<noinclude />#ifeq:{{SAFESUBST:<noinclude />Yesno|{{{nested|no}}}}}|yes||</{{{tag|code}}}>}}<noinclude> {{Documentation}} <!-- PLEASE ADD CATEGORIES AND INTERWIKIS TO THE /doc SUBPAGE, THANKS --> </noinclude> k2oxzdhjfcbt88hy90njp6u20ucxx42 ഫലകം:Futurism 10 667448 4621883 2019-11-19T04:25:35Z en>Orlando the Cat 0 New template 4621883 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Aleksandr Dovzhenko]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Lev Kuleshov]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Vsevolod Pudovkin]] * [[Olga Rozanova]] * [[Dziga Vertov]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[The Knifegrinder]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] </noinclude> imrq438jkz4hxdh2hzvmxyefm321wfd 4621884 4621883 2019-11-19T04:37:13Z en>Orlando the Cat 0 List of Balla's paintings + Futurism-related songs (the cover of "Zerox" is a photo by Bragaglia) 4621884 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of paintings]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Aleksandr Dovzhenko]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Lev Kuleshov]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Vsevolod Pudovkin]] * [[Olga Rozanova]] * [[Dziga Vertov]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[The Knifegrinder]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] </noinclude> 5zahv0s9tdvg532wn56n443z9vujhgc 4621885 4621884 2019-11-19T05:21:19Z en>Orlando the Cat 0 + category 4621885 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of paintings]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Aleksandr Dovzhenko]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Lev Kuleshov]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Vsevolod Pudovkin]] * [[Olga Rozanova]] * [[Dziga Vertov]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[The Knifegrinder]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] </noinclude> [[Category:Futurism| ]] so50jwsmzs85uank1rjw3h8ki4rw5gy 4621886 4621885 2019-11-19T05:26:08Z en>Orlando the Cat 0 fixing + 2 manifestos 4621886 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Aleksandr Dovzhenko]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Lev Kuleshov]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Vsevolod Pudovkin]] * [[Olga Rozanova]] * [[Dziga Vertov]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 282kzqduhfnfqn42p54o8eb95jziktf 4621887 4621886 2019-11-19T05:38:28Z en>Orlando the Cat 0 removing unrelated people 4621887 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] fi05kuy8acns210k7g5hiksg89b4oy4 4621888 4621887 2019-11-19T05:48:55Z en>Orlando the Cat 0 + book 4621888 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] manmi9llpx84apdivztpfj1kqxwkbaz 4621889 4621888 2019-11-19T05:50:33Z en>Orlando the Cat 0 + book 4621889 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 1wjpvrskyqiavnv7x238s4sxw4n6ttq 4621890 4621889 2019-11-19T06:03:00Z en>Orlando the Cat 0 + manifesto 4621890 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 7bezo24tnz5la26f6ccuws11zwqp6pc 4621891 4621890 2019-11-19T06:13:38Z en>Orlando the Cat 0 + image 4621891 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksey Kruchenykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Wladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Wladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable works | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] hezr7uobr13na45a5cfvxv3kna4e765 4621892 4621891 2019-11-19T06:24:34Z en>Orlando the Cat 0 slight rewording 4621892 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable output | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] kugdj5yf8bdsmcwtybaw6lru05mcbab 4621893 4621892 2019-11-19T08:02:24Z en>Orlando the Cat 0 + play 4621893 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] · * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable output | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] dhdalo0npcyvpsxgy1srfbbyo5i5nxd 4621894 4621893 2019-11-21T04:15:31Z en>Orlando the Cat 0 4621894 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable output | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] qp59d4u780qz9sf7q4nxxki6grcqqc6 4621895 4621894 2019-11-21T04:24:30Z en>Orlando the Cat 0 fixing 4621895 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist cooking]] * [[Futurism (music)]] * [[Noise music]] * [[Zaum]] | group6 = Notable output | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 4py2u06dlvan1sm8lxpnicel120meox 4621896 4621895 2019-11-21T06:54:17Z en>Orlando the Cat 0 + architecture 4621896 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group6 = Notable output | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] sqcur9ddrhljx3ygi0hy8rgsr0om3c7 4621897 4621896 2019-11-21T06:56:52Z en>Orlando the Cat 0 + literature + related person 4621897 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group6 = Notable output | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Mina Loy]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 9rj60ofqe0pfsh29umbqlbv3c23i17v 4621898 4621897 2019-11-25T04:56:44Z en>Orlando the Cat 0 + exhibition 4621898 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Techniques, influences and inventions | list5 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group6 = Notable output | list6 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group7 = Associated people | list7 = * [[Gabriele D'Annunzio]] * [[Mina Loy]] * [[Christopher Richard Wynne Nevinson]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group8 = See also | list8 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Grosvenor School]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists (in the style of Template:Dadaism, Template:Cubism etc.). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] efyhhc5tqleawc79fwafc4686xkkcjr 4621899 4621898 2019-12-03T00:59:44Z en>Orlando the Cat 0 + lesser-known Futurists - unrelated Russian Futurist 4621899 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 86j2xkzh8d3336o82qquespdyeyhf3h 4621900 4621899 2019-12-03T01:04:18Z en>Orlando the Cat 0 my mistake 4621900 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] lt5do6ry8lur7fvzh49qa9orgnekrzs 4621901 4621900 2019-12-03T01:05:59Z en>Orlando the Cat 0 adding full name for uniformity 4621901 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] nl7zpkbuk004gvy9xzxatxm61c0gh1v 4621902 4621901 2019-12-03T01:32:00Z en>Orlando the Cat 0 + related art movements 4621902 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Divisionism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] fk3cv1vud19z5hhwcimx7j8fx7evol2 4621903 4621902 2019-12-10T04:35:12Z en>Orlando the Cat 0 + [[Nina Genke-Meller]] 4621903 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Divisionism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] qfg17qs3o0ql0dbdmtsninpamh8aw0d 4621904 4621903 2019-12-15T00:11:13Z en>Orlando the Cat 0 + two books, + two "See Also"s 4621904 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burlyuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * [[Dadaism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Divisionism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] * [[ZTT Records]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 1931aakdoshhu5swusozt8elf28ebeb 4621905 4621904 2019-12-15T23:04:05Z en>Orlando the Cat 0 + two people; - Dadaism and Divisionism; changing "y" to "i" in "David Burliuk" 4621905 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] * [[ZTT Records]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] n5835hsj7i74dk5mq58mk4kyc06egsj 4621906 4621905 2019-12-15T23:05:30Z en>Orlando the Cat 0 - [[ZTT Records]] (the name is homage to [[Zang Tuum Tumb]], but otherwise it doesn't have much to do with Futurism in general) 4621906 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Notable output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Cubism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] jbmk6n202rdmgfpiiwz6yjez09grz8d 4621907 4621906 2019-12-16T23:59:50Z en>Orlando the Cat 0 restoring Divisionism; renamed "Notable output" to "Selected output"; added Estorick Collection of Modern Italian Art, Constructivism, and Precisionism 4621907 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists (major members only) | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * [[Constructivism (art)|Constructivism]] * [[Cubism]] * ''[[Dirk Wears White Sox]]'' ("Animals and Men" and "[[Zerox (song)|Zerox]]") * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] q7c60ctwonw986x8kllyshiryqh7ur9 4621908 4621907 2019-12-18T04:43:11Z en>Orlando the Cat 0 removing "Zerox 4621908 wikitext text/x-wiki Ĝ{{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Major Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] is6jmdwx5npz0pr7p3ekhgnocdhedxh 4621909 4621908 2019-12-18T04:47:12Z en>Orlando the Cat 0 pressed the wrong button - removed "Zerox" for the same reasons as "ZZT Records" and renamed Italian Futurists section; moved "Animals and Men" and added Pointillism + "Le Chahut" 4621909 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Major Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] i26tpog8q9g43qx41skk3tzvy1klfyw 4621910 4621909 2019-12-18T04:58:15Z en>Orlando the Cat 0 + Aristarkh Lentulov 4621910 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Major Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = Other Futurists | list5 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences and inventions | list6 = * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] gkfqylie37yi9346t415zmxhwunbec1 4621911 4621910 2019-12-23T04:33:35Z en>Orlando the Cat 0 + Aeropittura artists, + less famous first-generation Futurists, + link to picture 4621911 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[Agitprop]] * [[Aeropittura]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] dfoz2k4mgfetu007e8m31lqniu0h6yk 4621912 4621911 2019-12-23T04:57:52Z en>Orlando the Cat 0 + Oberiu, - repeated Aeropittura 4621912 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 2g2u2auzj5dg5dn6r324wmfbtez4bph 4621913 4621912 2019-12-24T04:43:57Z en>Orlando the Cat 0 + [[Ugo Piatti]] 4621913 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] jc06hkhzseusw204ziekob9thx1g43m 4621914 4621913 2019-12-24T05:11:30Z en>Orlando the Cat 0 + Russolo's brother 4621914 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] gk6h74r02ga3ihq0ufv36i6a68pqf8b 4621915 4621914 2019-12-29T00:22:12Z en>Orlando the Cat 0 + [[Drama in the Futurists' Cabaret No. 13]], [[Dynamism of a Cyclist]]; moving [[0,10 Exhibition]] 4621915 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * [[0,10 Exhibition]] * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 1f67334or6jmuvikg2qkudwkhls90iz 4621916 4621915 2019-12-29T18:41:56Z en>Randy Kryn 0 section break for wider horizontal template space 4621916 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * [[0,10 Exhibition]] * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] nygo96610tc1vnkgzoapdy69qsdb4vg 4621917 4621916 2019-12-30T04:35:34Z en>Orlando the Cat 0 + Ukrainian avant-grade, Russian avant-garde 4621917 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * [[0,10 Exhibition]] * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] krpbqe9ad48x7zwk8arpkpys3gzppnj 4621918 4621917 2019-12-30T07:54:38Z en>Orlando the Cat 0 + [[Nikolai Aseev]] 4621918 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[Nikolai Aseev]] * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * [[0,10 Exhibition]] * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 2bmt1advv2rc3nzrlt1e9hkgikycija 4621919 4621918 2020-01-02T04:32:40Z en>Orlando the Cat 0 + Lilya and Osip Brik 4621919 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[Nikolai Aseev]] * [[Lilya Brik]] * [[Osip Brik]] * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * [[0,10 Exhibition]] * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 5rcuoj398bcjfe5ik3c7ql0lm4wum1i 4621920 4621919 2020-01-02T23:17:51Z en>Orlando the Cat 0 + [[Dyrl bul shchyl]] 4621920 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[Nikolai Aseev]] * [[Lilya Brik]] * [[Osip Brik]] * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * [[0,10 Exhibition]] * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Rayonism]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] skoccwivrpvpnvsoa3kytqldgw8r1bo 4621921 4621920 2020-01-03T02:25:23Z en>Orlando the Cat 0 moving 0,10 Exhibition (for the final time); renaming Almada Negreiros; adding Primitivism, Neo-Primitivism, Robert René Meyer-Sée and Sackville Gallery 4621921 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[Nikolai Aseev]] * [[Lilya Brik]] * [[Osip Brik]] * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Grosvenor School]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] btjsb63m976klq589me5fd5vpgia1le 4621922 4621921 2020-01-06T04:42:20Z en>Orlando the Cat 0 + Poesia and Lacerba 4621922 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[Nikolai Aseev]] * [[Lilya Brik]] * [[Osip Brik]] * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Grosvenor School]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with Template:Futurism (music). {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] qqoghalt82p86oo0w4kzqc7rdz4go8l 4621923 4621922 2020-01-07T04:47:47Z en>Orlando the Cat 0 + [[Soyuz Molodyozhi]] 4621923 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] | list3 = * [[Nikolai Aseev]] * [[Lilya Brik]] * [[Osip Brik]] * [[David Burliuk]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Olga Rozanova]] | group4 = [[Cubo-Futurism|Cubo-Futurists]] | list4 = * [[Alexander Archipenko]] * [[Vladimir Baranoff-Rossine]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Ivan Kliun]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] | group5 = [[Aeropittura]] | list5 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group6 = Other Futurists | list6 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group7 = Techniques, influences</br>and inventions | list7 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group8 = Selected output | list8 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group9 = Associated people | list9 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Soyuz Molodyozhi]] * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 3gawrv6icfd1pqcgwwpoecedizy66b8 4621924 4621923 2020-01-07T05:03:05Z en>Orlando the Cat 0 merging two sections (revert if it was better before), + Nadezhda Udaltsova 4621924 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Wladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Soyuz Molodyozhi]] * [[Ukrainian avant-garde]] * [[Vorticism]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] e3hzwe3odrcfc42rq6bysf5adansxc1 4621925 4621924 2020-01-08T08:34:45Z en>Orlando the Cat 0 4621925 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, influences</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Soyuz Molodyozhi]] * [[Ukrainian avant-garde]] * [[Vorticism]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] a8ckav7shfwj599gm714rr14envspl7 4621926 4621925 2020-01-13T04:36:15Z en>Orlando the Cat 0 slight renaming + Marchesa Casati 4621926 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Soyuz Molodyozhi]] * [[Ukrainian avant-garde]] * [[Vorticism]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] agiqkhw5elf57psb3943tjxsl5i8yrn 4621927 4621926 2020-02-05T07:58:51Z en>Orlando the Cat 0 + poem 4621927 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Soyuz Molodyozhi]] * [[Ukrainian avant-garde]] * [[Vorticism]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] njw63tnwb290fi8s18kt22iqiov0a7p 4621928 4621927 2020-02-14T14:59:02Z en>Orlando the Cat 0 + Boccioni's Futurist works 4621928 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = See also | list9 = * [[0,10 Exhibition]] * [[Agitprop]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Constructivism (art)|Constructivism]] * [[Cubism]] * [[Divisionism]] * [[Donkey's Tail]] * [[Estorick Collection of Modern Italian Art]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Precisionism]] * [[Primitivism]] * [[Rayonism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Soyuz Molodyozhi]] * [[Ukrainian avant-garde]] * [[Vorticism]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] mrgwthzv8wgtljwbt6t6egzvddsi4jf 4621929 4621928 2020-02-15T07:29:03Z en>Orlando the Cat 0 making new section: "groups influenced" 4621929 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Precisionism]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] hck6e9j44s5twp3g8vokpvtwcvmvokb 4621930 4621929 2020-02-15T07:53:51Z en>Orlando the Cat 0 + Victor Palmov 4621930 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Precisionism]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] n4ueja41mdkw08geqe1inck7y0b876h 4621931 4621930 2020-02-15T07:59:46Z en>Orlando the Cat 0 + Verbovka village folk centre 4621931 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Precisionism]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Neo-Primitivism]] * [[Oberiu]] * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 6900qzbvr6puz1cui2j9h4tbu0osdw5 4621932 4621931 2020-02-16T13:31:40Z en>Orlando the Cat 0 moving + adding 4621932 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Precisionism]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 92dibx1sbp4whfhdwafjt0cc4ok25f4 4621933 4621932 2020-02-27T15:43:14Z en>Orlando the Cat 0 + person 4621933 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Pont]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Precisionism]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] a06kyl0e3c5mu8dtq4f4pztm2i991vw 4621934 4621933 2020-02-27T15:43:50Z en>Orlando the Cat 0 typo 4621934 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Precisionism]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] pd7rjtefqax740edkr9wvbtkekvrfrj 4621935 4621934 2020-02-28T10:40:40Z en>Orlando the Cat 0 + two Russian Futurists 4621935 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Precisionism]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] f508cukuc78ozxmhy77rptge8gxuwvo 4621936 4621935 2020-02-29T06:36:34Z en>Orlando the Cat 0 + movement 4621936 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] * [[Lill Tschudi]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] og4qplvn14puhtvvfkkj5rnom1scz6n 4621937 4621936 2020-02-29T06:37:52Z en>Orlando the Cat 0 - Lill Tschudi 4621937 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] f18nhuslfmhqh45umh3zkoqnic12njp 4621938 4621937 2020-03-05T14:52:53Z en>Orlando the Cat 0 + paintings by Balla 4621938 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] jua2q3m9jc78icwryhggau6ayqylkx3 4621939 4621938 2020-03-06T11:34:30Z en>Orlando the Cat 0 + paintings 4621939 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 0nrv9ek7of2t0p42ptfabnz67t80pal 4621940 4621939 2020-03-06T11:35:32Z en>Orlando the Cat 0 typo 4621940 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> [[Category:Futurism]] 4yda7xae4g1liobhlw9n9mvjnjkeaqc 4621941 4621940 2020-04-07T23:42:26Z en>Trivialist 0 rm [[Category:Futurism]] to keep template from automatically categorizing any pages using it 4621941 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher Richard Wynne Nevinson]] * [[Emilio Pettoruti]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] * [[Valentine de Saint-Point]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> duvs5td8m4l16w3aqaspo1eeas4vwb1 4621942 4621941 2020-04-19T10:37:57Z en>Orlando the Cat 0 + person 4621942 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Bruno Munari]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> m0583kcfrgmfn2z5qu199szfjdyky9m 4621943 4621942 2020-04-24T07:49:55Z en>Orlando the Cat 0 + poem 4621943 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Bruno Munari]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> aelk3p1q66bsj75ykdkhxsq852jrtk4 4621944 4621943 2020-04-24T09:31:27Z en>Orlando the Cat 0 + exhibition 4621944 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Bruno Munari]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 5uprqrv0u2b2kzpj1fnwfocnxr5zd7f 4621945 4621944 2020-05-03T10:22:14Z en>Orlando the Cat 0 + composers 4621945 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Frances Simpson Stevens]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Bruno Munari]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 68jzcumlb3e6jbyqd5ritkanjzs21h6 4621946 4621945 2020-05-14T14:39:36Z en>Orlando the Cat 0 + several Futurists 4621946 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Marinetti]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Mykhaylo Semenko]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Bruno Munari]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 6jasbifctcynapekdi9c6g415nulxd7 4621947 4621946 2020-05-15T07:59:01Z en>Orlando the Cat 0 moving 4621947 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 9jud96hguc7exhdsqahslsmkl4858uc 4621948 4621947 2020-05-15T12:25:42Z en>Orlando the Cat 0 + artist 4621948 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Luisa Casati|Luisa, Marchesa Casati]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> pcfq1113cpp0t3s4i7flwo9mthrerwt 4621949 4621948 2020-06-02T21:57:40Z 2.30.130.81 4621949 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Luisa Casati|Luisa, Marchesa Casati]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Wyndham Lewis]] * [[Mina Loy]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> s3ma7c47hsm86e617choecffipd44rt 4621950 4621949 2020-06-03T03:07:29Z en>Orlando the Cat 0 + people 4621950 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> fykj3v074ia1h1qlhajezp8gkafj3re 4621951 4621950 2020-06-04T10:08:46Z 2.30.130.81 4621951 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> bfifwo0mhc5pgdn80pmh77hswu933u5 4621952 4621951 2020-06-05T11:01:23Z 2.30.130.81 4621952 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 2sc715l8p8tkwgkcjfee6pnprv3cjzr 4621953 4621952 2020-06-10T08:01:46Z 2.30.130.81 4621953 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Vadim Shershenevich]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] * [[Boris Pasternak]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * "[[Dirk Wears White Sox|Animals and Men]]" * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> p9sbytz4zjl3b5cw41ykq6bubqvmf63 4621954 4621953 2020-08-20T10:56:20Z en>Orlando the Cat 0 moving 4621954 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> bzuncs3iy2i0uydm7ia5i8tp16pyojj 4621955 4621954 2020-08-31T22:24:54Z en>Mistico Dois 0 4621955 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state<includeonly>|autocollapse</includeonly>}}} | listclass = hlist | image = [[File:Giacomo Balla, 1912, Dynamism of a Dog on a Leash, oil on canvas, 89.8 x 109.8 cm, Albright-Knox Art Gallery.jpg|frameless|100px|link=Dynamism of a Dog on a Leash|"Dynamism of a Dog on a Leash" (1912) by Giacomo Balla]] | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 4ek21jtndasuuh0pu36ln1613ze7g71 4621956 4621955 2021-05-15T22:53:01Z en>Mike Novikoff 0 cleanup, [[WP:DECOR]] 4621956 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 9m1d1ytzklfk2y4pj4vuwqyey8yks22 4621957 4621956 2021-06-25T21:38:45Z en>GeneralPoxter 0 Add Goncharova's Cyclist 4621957 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> pyklz8iaorgntqhe18121uearkgcweh 4621958 4621957 2021-08-12T20:02:39Z 2601:544:4200:C160:1849:22CC:77C9:7716 4621958 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> 7kapji03s9yx8fzx83v8xchl57bfk9q 4621959 4621958 2021-12-23T03:52:08Z en>Saturdayopen 0 4621959 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> luuh9nugn8snkehhw9vigcd5bgjdb6d 4621960 4621959 2022-01-14T14:39:23Z en>Foorgood 0 Transhumanism is the well established political ideology not futurism which is really future studies. Your page is not even approved so do not change a well established consensus across wiki. 4621960 wikitext text/x-wiki {{Navbox | name = Transhumanism | title = [[Transhumanism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> n8vdvn4mlz2mu8nu1v2sdz5xavoa9a9 4621961 4621960 2022-01-14T14:41:08Z en>Foorgood 0 edited wrong template 4621961 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Futurism| ]] </noinclude> luuh9nugn8snkehhw9vigcd5bgjdb6d 4621962 4621961 2022-08-04T15:58:08Z en>Uriahheep228 0 4621962 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> pk4tzlfil8srvi6mok56kena2ahndhf 4621963 4621962 2023-01-24T22:26:00Z en>Vihola 0 4621963 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Nikolai Aseev]] * [[Lilya Brik]] * [[Osip Brik]] * [[Kseniya Boguslavskaya]] * [[Joseph Chaikov]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> 1larh8qtyi2w69olwxepqy03i5zi4ch 4621964 4621963 2023-01-25T20:56:22Z en>Mellk 0 Undid revision 1135476854 by [[Special:Contributions/Vihola|Vihola]] ([[User talk:Vihola|talk]]) 4621964 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> pk4tzlfil8srvi6mok56kena2ahndhf 4621965 4621964 2023-01-26T00:07:24Z en>Vihola 0 Undid revision 1135622929 by [[Special:Contributions/Mellk|Mellk]] ([[User talk:Mellk|talk]]) 4621965 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Nikolai Aseev]] * [[Lilya Brik]] * [[Osip Brik]] * [[Kseniya Boguslavskaya]] * [[Joseph Chaikov]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> 1larh8qtyi2w69olwxepqy03i5zi4ch 4621966 4621965 2023-01-26T03:10:06Z en>Mellk 0 Undid revision 1135650181 by [[Special:Contributions/Vihola|Vihola]] ([[User talk:Vihola|talk]]) unexplained removal 4621966 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> pk4tzlfil8srvi6mok56kena2ahndhf 4621967 4621966 2024-12-07T00:56:14Z en>Uriahheep228 0 4621967 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> r9r9a69q9mycqxsp4h40sfsnmt1j8tx 4621968 4621967 2024-12-07T17:14:46Z en>Mistico Dois 0 Minor edit. 4621968 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[José de Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> ipk9698g6o04qny4qpx1d0hzpef4aob 4621969 4621968 2024-12-07T18:07:02Z en>Mistico Dois 0 Minor edit. 4621969 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> 3lo1gvigstlkb0vi0f786zri7hnfkic 4621970 4621969 2025-02-06T13:45:45Z en>Sgeureka 0 [[The Knifegrinder]] -> [[The Knifegrinder (Malevich)]] 4621970 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder (Malevich)|The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5x5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> ef49cppalypnjmb3l3q5eywrvb34dla 4621971 4621970 2025-04-28T01:03:38Z en>Fuddle 0 4621971 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[Christopher R. W. Nevinson|C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder (Malevich)|The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5×5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> p6k47epbrzen697zeef6qp14vaacp65 4621972 4621971 2025-10-24T01:24:17Z en>Mistico Dois 0 Minor edit. 4621972 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder (Malevich)|The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5×5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> 9yj89avuipl3c1e3ec865krypk6g6dl 4621973 4621972 2026-02-14T01:34:08Z en>Natg 19 0 Disambiguate [[The Poem of the End]] to [[Vasilisk Gnedov]] using [[:en:Wikipedia:Tools/Navigation_popups|popups]] 4621973 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder (Malevich)|The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[Vasilisk Gnedov|The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5×5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> hdppf2kcelrb5oo9z4f2nxmx852fttn 4621974 4621973 2026-03-24T13:26:07Z en>Mitrius 0 4621974 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Léon Zack]] (Khrisanf) * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder (Malevich)|The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[Vasilisk Gnedov|The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5×5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> 2kkn7gmgj29l0k26b7cs1fbffck5daz 4621975 4621974 2026-04-07T16:25:01Z en>Mistico Dois 0 Added leading Portuguese poet Mário de Sá-Carneiro, also a Futurist. 4621975 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Léon Zack]] (Khrisanf) * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Mário de Sá-Carneiro]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder (Malevich)|The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[Vasilisk Gnedov|The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5×5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> 77v8w8ujck21nr09lyu05pedltaa6jk 4621976 4621975 2026-05-22T22:53:44Z Jacob.jose 1784 [[:en:Template:Futurism]] എന്നതിൽ നിന്ന് 93 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621975 wikitext text/x-wiki {{Navbox | name = Futurism | title = [[Futurism]] | state = {{{state|autocollapse}}} | listclass = hlist | group1 = Italian Futurists | list1 = * [[Giacomo Balla]] ([[List of works by Giacomo Balla|list of works]]) * [[Barbara (painter)|"Barbara"]] * [[Umberto Boccioni]] * [[Anton Bragaglia]] * [[Benedetta Cappa]] * [[Carlo Carrà]] * [[Franco Casavola]] * [[Nikolay Diulgheroff]] * [[Luigi De Giudici]] * [[Filippo Tommaso Marinetti|F. T. Marinetti]] * [[Marisa Mori]] * [[Bruno Munari]] * [[Aldo Palazzeschi]] * [[Ugo Piatti]] * [[Francesco Balilla Pratella]] * [[Antonio Russolo]] * [[Luigi Russolo]] * [[Antonio Sant'Elia]] * [[Gino Severini]] * [[Ardengo Soffici]] | group2 = [[Ego-Futurism|Ego-Futurists]] | list2 = * [[Graal Arelsky]] * [[Vasilisk Gnedov]] * [[Boris Gusman]] * [[Georgy Ivanov]] * [[Igor Severyanin]] * [[Dmitri Kryuchkov]] * [[Konstantin Olimpov]] * [[Rurik Ivnev]] * [[Pavel Shirokov]] | group3 = [[Russian Futurism|Russian Futurists]] and<br>[[Cubo-Futurism|Cubo-Futurists]] | list3 = * [[Alexander Archipenko]] * [[Nikolai Aseev]] * [[Vladimir Baranoff-Rossine]] * [[Lilya Brik]] * [[Osip Brik]] * [[Alexander Bogomazov]] * [[Kseniya Boguslavskaya]] * [[David Burliuk]] * [[Vladimir Burliuk]] * [[Joseph Chaikov]] * [[Aleksandra Ekster]] * [[Nina Genke-Meller]] * [[Natalia Goncharova]] * [[Elena Guro]] * [[Vasily Kamensky]] * [[Velimir Khlebnikov]] * [[Ivan Kliun]] * [[Aleksei Kruchyonykh]] * [[Nikolai Kulbin]] * [[Mikhail Larionov]] * [[Aristarkh Lentulov]] * [[El Lissitzky]] * [[Benedikt Livshits]] * [[Kazimir Malevich]] * [[Mikhail Matyushin]] * [[Vladimir Mayakovsky]] * [[Boris Pasternak]] * [[Victor Palmov]] * [[Lyubov Popova]] * [[Ivan Puni]] * [[Olga Rozanova]] * [[Vadim Shershenevich]] * [[Nadezhda Udaltsova]] * [[Léon Zack]] (Khrisanf) * [[Ilia Zdanevich]] (Iliazd) | group4 = [[Aeropittura]] | list4 = * [[Giacomo Balla]] * [[Barbara (painter)|"Barbara"]] * [[Benedetta Cappa]] * [[Giuseppe Caselli]] * [[Tullio Crali]] * [[Fortunato Depero]] * [[Gerardo Dottori]] * [[Fillìa]] * [[Sante Monachesi]] * [[Marisa Mori]] * [[Enrico Prampolini]] | group5 = Other Futurists | list5 = * [[Alice Bailly]] * [[Mina Loy]] * [[Almada Negreiros]] * [[C. R. W. Nevinson]] * [[Emilio Pettoruti]] * [[Mário de Sá-Carneiro]] * [[Valentine de Saint-Point]] * [[Jules Schmalzigaug]] * [[Mykhaylo Semenko]] * [[Amadeo de Souza-Cardoso]] * [[Frances Simpson Stevens]] * [[Mary Swanzy]] * [[Růžena Zátková]] | group6 = Techniques, sub-genres</br>and inventions | list6 = * [[Giacomo Balla|Anti-neutral suit]] * [[Intonarumori]] * [[Italian futurism in cinema]] * [[Futurist architecture]] * [[Futurist cooking]] * [[Futurism (literature)|Futurist literature]] * [[Futurism (music)|Futurist music]] * [[Noise music]] * [[Zaum]] | group7 = Selected output | list7 = * ''[[Abstract Speed + Sound]]'' * ''[[Antigrazioso]]'' * ''[[The Art of Noises]]'' * ''[[BÏF§ZF+18]]'' * ''[[The City Rises]]'' * ''[[Cyclist (painting)|Cyclist]]'' * ''[[Development of a Bottle in Space]]'' * ''[[Drama in the Futurists' Cabaret No. 13]]'' * ''[[Dyr bul shchyl]]'' * ''[[Dynamism of a Car (Russolo)|Dynamism of a Car]]'' * ''[[Dynamism of a Cyclist]]'' * ''[[Dynamism of a Dog on a Leash]]'' * ''[[Dynamism of a Human Body: Boxer]]'' * ''[[Dynamism of a Soccer Player (Boccioni)|Dynamism of a Soccer Player]]'' * ''[[Dynamism of a Speeding Horse + Houses]]'' * ''[[Futurist Painting: Technical Manifesto]]'' * ''[[The Knifegrinder (Malevich)|The Knifegrinder]]'' * ''[[Girl Running on a Balcony]]'' * ''[[The Hand of the Violinist]]'' * ''[[Lacerba]]'' * ''[[Man of Smoke]]'' * ''[[Manifesto of Futurism]]'' * ''[[Manifesto of Futurist Musicians]]'' * ''[[Mercury Passing Before the Sun]]'' * ''[[Vasilisk Gnedov|The Poem of the End]]'' * ''[[Poesia (magazine)|Poesia]]'' * ''[[The Street Enters the House]]'' * ''[[The Street Light]]'' * ''[[Thaïs (1917 Italian film)|Thaïs]]'' * ''[[Tango with Cows]]'' * ''[[Unique Forms of Continuity in Space]]'' * ''[[Universal War]]'' * ''[[Victory over the Sun]]'' * ''[[Vladimir Mayakovsky (tragedy)|Vladimir Mayakovsky]]'' * ''[[Zangezi]]'' * ''[[Zang Tumb Tumb]]'' | group8 = Associated people | list8 = * [[Luisa Casati|Luisa, Marchesa Casati]] * [[Gabriele D'Annunzio]] * [[Sergei Diaghilev]] * [[Benito Mussolini]] * [[Wyndham Lewis]] * [[Léonide Massine]] * [[Igor Stravinsky]] | group9 = Groups influenced | list9 = * [[Agitprop]] * [[Agit-train]] * [[Constructivism (art)|Constructivism]] * [[Dadaism]] * [[Donkey's Tail]] * [[Grosvenor School]] * [[Jack of Diamonds (artists)|Jack of Diamonds]] * [[Neo-Primitivism]] * [[Oberiu]] * [[Panfuturism]] * [[Precisionism]] * [[Rayonism]] * [[Soyuz Molodyozhi]] * [[Suprematism]] * [[Supremus]] * [[Vorticism]] | group10 = See also | list10 = * [[0,10 Exhibition]] * [[5×5=25]] * [[Cubism]] * [[Divisionism]] * [[Estorick Collection of Modern Italian Art]] * ''[[Le Chahut]]'' * [[Pointillism]] * [[Primitivism]] * [[Robert René Meyer-Sée]] * [[Russian avant-garde]] * ''[[Russian Ballet (book)|Russian Ballet]]'' * [[Sackville Gallery]] * [[Ukrainian avant-garde]] * [[Verbovka Village Folk Centre]] * [[Zveno (art)]] }} <noinclude> This template refers to the collective organization of Futurist avant-garde artists. Not to be confused with [[Template:Futurism (music)]]. {{collapsible option}} [[Category:Art movement and genre templates]] [[Category:Literary movement templates]] [[Category:Futurism| ]] </noinclude> 77v8w8ujck21nr09lyu05pedltaa6jk ഫലകം:GBIF 10 667449 4621977 2022-11-30T22:42:09Z en>Tol 0 Tol moved page [[Template:GBIF]] to [[Template:Cite GBIF]] over redirect: standardise naming 4621977 wikitext text/x-wiki #REDIRECT [[Template:Cite GBIF]] {{Redirect category shell| {{R from move}} }} 79vo8qldk1fy9xpqiqfjljw5ck1ggry 4621978 4621977 2025-09-25T18:00:32Z en>MusikBot II 0 Changed protection settings for "[[Template:GBIF]]": [[Wikipedia:High-risk templates|High-risk template or module]]: 2500 transclusions ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Require extended confirmed access] (indefinite) [Move=Require extended confirmed access] (indefinite)) 4621977 wikitext text/x-wiki #REDIRECT [[Template:Cite GBIF]] {{Redirect category shell| {{R from move}} }} 79vo8qldk1fy9xpqiqfjljw5ck1ggry 4621979 4621978 2026-05-22T22:54:03Z Jacob.jose 1784 [[:en:Template:GBIF]] എന്നതിൽ നിന്ന് 2 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621977 wikitext text/x-wiki #REDIRECT [[Template:Cite GBIF]] {{Redirect category shell| {{R from move}} }} 79vo8qldk1fy9xpqiqfjljw5ck1ggry ഫലകത്തിന്റെ സംവാദം:GBIF 11 667450 4621982 2022-11-30T22:42:10Z en>Tol 0 Tol moved page [[Template talk:GBIF]] to [[Template talk:Cite GBIF]]: standardise naming 4621982 wikitext text/x-wiki #REDIRECT [[Template talk:Cite GBIF]] {{Redirect category shell| {{R from move}} }} 1prb5pkuzycd8nkv45o5qi9zlozabst 4621983 4621982 2026-05-22T22:54:09Z Jacob.jose 1784 [[:en:Template_talk:GBIF]] എന്നതിൽ നിന്ന് ഒരു പതിപ്പ് ഇറക്കുമതി ചെയ്തു 4621982 wikitext text/x-wiki #REDIRECT [[Template talk:Cite GBIF]] {{Redirect category shell| {{R from move}} }} 1prb5pkuzycd8nkv45o5qi9zlozabst ഫലകം:Cite GBIF 10 667451 4621984 2015-02-28T17:21:37Z en>Tomchiukc 0 [[WP:AES|←]]Created page with '{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|使用{{tl|GBIF}}時必須提供<tt>id</tt>參數。|nocat={{{template doc demo|}}}}} | {{#if: {{{title|}}} |...' 4621984 wikitext text/x-wiki {{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|使用{{tl|GBIF}}時必須提供<tt>id</tt>參數。|nocat={{{template doc demo|}}}}} | {{#if: {{{title|}}} | {{cite web | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{title|}}} {{#if: {{{nv|}}} | '''not verified''' | }} | publisher = [[Global Biodiversity Information Facility|GBIF]] | accessdate = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} }} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}<noinclude> {{Documentation}} </noinclude> 4nt0rxnag32ig3bfog044f1ahwq4e8w 4621985 4621984 2015-02-28T17:33:25Z en>Tomchiukc 0 fit standard 4621985 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{cite web | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | publisher = [[Global Biodiversity Information Facility|GBIF]] | accessdate = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> mkiqxg0me4167ityrucs3jt5nuddjwo 4621986 4621985 2017-11-15T20:23:12Z en>Jonesey95 0 add standard CS1 parameter 4621986 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{cite web | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | publisher = [[Global Biodiversity Information Facility|GBIF]] | access-date = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> 0xg5fqck8tvzdm6bj3uwm46fifdhjks 4621987 4621986 2019-03-15T09:52:37Z en>Peter coxhead 0 allow mode parameter to fit with an article using CS2 4621987 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{{{#ifeq:{{{mode|CS1}}}|CS2|citation|cite web}} | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | publisher = [[Global Biodiversity Information Facility|GBIF]] | access-date = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> ippb9ky7xnrt7vi33r31d458rjl4yzn 4621988 4621987 2019-03-15T09:57:37Z en>Peter coxhead 0 work, not publisher 4621988 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{{{#ifeq:{{{mode|CS1}}}|CS2|citation|cite web}} | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | work = [[Global Biodiversity Information Facility|GBIF]] | access-date = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> 3fphh4qbf1dd8hnkhw8amp4oz3tkkhd 4621989 4621988 2019-03-15T10:00:54Z en>Peter coxhead 0 actually no, the website/work is "Species search" 4621989 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{{{#ifeq:{{{mode|CS1}}}|CS2|citation|cite web}} | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | work = Species search | publisher = [[Global Biodiversity Information Facility|GBIF]] | access-date = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> aswqrtmpncjtwra80l0y8vhvekduv98 4621990 4621989 2019-03-15T10:15:33Z en>Peter coxhead 0 maybe just Species 4621990 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{{{#ifeq:{{{mode|CS1}}}|CS2|citation|cite web}} | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | work = Species | publisher = [[Global Biodiversity Information Facility|GBIF]] | access-date = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> 0kk9376bb9kew6iyey37tkuqijc5nls 4621991 4621990 2019-09-04T18:13:50Z en>Jonesey95 0 Fix empty citation, unnamed or unsupported parameter, or invalid parameter value; see [[Help:CS1 errors]] 4621991 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{{{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}} | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | work = Species | publisher = [[Global Biodiversity Information Facility|GBIF]] | access-date = {{#if: {{{accessdate|}}} | {{{accessdate|}}} | {{#if: {{{date|}}}|{{{date|}}},&nbsp;}}{{{year|}}} | language = en | year={{#if: {{{year|}}} | {{{year|}}} | }} }} }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> 7r0utv8qszv3tyyhu1of2bfyopoo91h 4621992 4621991 2021-07-12T18:08:42Z en>Tol 0 Use [[Module:Template wrapper]] 4621992 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{#invoke:Template wrapper|wrap|_template={{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}}|_exclude=ID,id,taxon,title,nv | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | website = [[Global Biodiversity Information Facility]] | language = en }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> k33yz0rxabvmpxbqb3txxm670y3h91z 4621993 4621992 2021-07-27T17:59:35Z en>MusikBot II 0 Protected "[[Template:GBIF]]": [[Wikipedia:High-risk templates|High-risk template or module]] ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Require autoconfirmed or confirmed access] (indefinite)) 4621992 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <tt>id</tt> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{#invoke:Template wrapper|wrap|_template={{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}}|_exclude=ID,id,taxon,title,nv | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | website = [[Global Biodiversity Information Facility]] | language = en }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> k33yz0rxabvmpxbqb3txxm670y3h91z 4621994 4621993 2021-09-14T21:05:54Z en>Izno 0 kbd 4621994 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <kbd>id</kbd> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{#invoke:Template wrapper|wrap|_template={{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}}|_exclude=ID,id,taxon,title,nv | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | website = [[Global Biodiversity Information Facility]] | language = en }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> ahd9tkpu6klkmw04nw1lpiv1fby014t 4621995 4621994 2022-11-30T22:42:09Z en>Tol 0 Tol moved page [[Template:GBIF]] to [[Template:Cite GBIF]] over redirect: standardise naming 4621994 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <kbd>id</kbd> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{#invoke:Template wrapper|wrap|_template={{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}}|_exclude=ID,id,taxon,title,nv | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | website = [[Global Biodiversity Information Facility]] | language = en }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> ahd9tkpu6klkmw04nw1lpiv1fby014t 4621996 4621995 2024-08-25T18:00:04Z en>MusikBot II 0 Changed protection settings for "[[Template:Cite GBIF]]": [[Wikipedia:High-risk templates|High-risk template or module]]: 2501 transclusions ([[User:MusikBot II/TemplateProtector|more info]]) ([Edit=Require extended confirmed access] (indefinite) [Move=Require extended confirmed access] (indefinite)) 4621994 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <kbd>id</kbd> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{#invoke:Template wrapper|wrap|_template={{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}}|_exclude=ID,id,taxon,title,nv | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | website = [[Global Biodiversity Information Facility]] | language = en }} | [http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> ahd9tkpu6klkmw04nw1lpiv1fby014t 4621997 4621996 2025-08-09T23:51:40Z en>VolatileAnomaly 0 implemented edit request-see talk page 4621997 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <kbd>id</kbd> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{#invoke:Template wrapper|wrap|_template={{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}}|_exclude=ID,id,taxon,title,nv | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | website = [[Global Biodiversity Information Facility]] | language = en }} | [https://www.gbif.org/species/{{{ID|{{{id|}}}}}} ''{{PAGENAME}}''{{#if: {{{nv|}}} | '''not verified'''}}] at [[Global Biodiversity Information Facility]] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> g4ufvu44ffi0d81gitvkk1vntkf9bs5 4621998 4621997 2026-05-22T22:54:28Z Jacob.jose 1784 [[:en:Template:Cite_GBIF]] എന്നതിൽ നിന്ന് 14 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4621997 wikitext text/x-wiki <includeonly>{{#ifeq: {{{ID|{{{id|}}}}}} | | {{Citation error|You must specify the <kbd>id</kbd> when using {{tl|GBIF}}.|nocat={{{template doc demo|{{{template-doc-demo|}}}}}}}} | {{#if: {{{taxon|{{{title|}}}}}} | {{#invoke:Template wrapper|wrap|_template={{#ifeq:{{{mode|cs1}}}|cs2|citation|cite web}}|_exclude=ID,id,taxon,title,nv | url = http://www.gbif.org/species/{{{ID|{{{id|}}}}}} | title = {{{taxon|{{{title|}}}}}} {{#if: {{{nv|}}} | '''not verified''' | }} | website = [[Global Biodiversity Information Facility]] | language = en }} | [https://www.gbif.org/species/{{{ID|{{{id|}}}}}} ''{{PAGENAME}}''{{#if: {{{nv|}}} | '''not verified'''}}] at [[Global Biodiversity Information Facility]] }} }}</includeonly><noinclude> {{Documentation}} </noinclude> g4ufvu44ffi0d81gitvkk1vntkf9bs5 ഫലകം:Cite GBIF/doc 10 667452 4622052 2015-02-28T17:22:21Z en>Tomchiukc 0 [[WP:AES|←]]Created page with '{{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> ==...' 4622052 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> ske9isrvix7ym457ein00uoweaw9pbh 4622053 4622052 2015-02-28T17:35:15Z en>Tomchiukc 0 /* Usage */ from {{tl|ITIS}} 4622053 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; }} &nbsp; }} |} or: {| |{{pre|{{tlf|GBIF<br />|2=id=<br /> |3=taxon=<br /> |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}<br />}} }} |} '''where:''' :{{para|id}} the Taxonomic Serial Number (TSN), as shown at the top of the desired ITIS page. :{{para|taxon}} the scientific name, as shown at the top of the desired ITIS page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference. == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> }}</includeonly> eehcloh194upkqrrf4s40phapzkz1jf 4622054 4622053 2016-04-30T07:03:53Z en>Liné1 0 cat 4622054 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; }} &nbsp; }} |} or: {| |{{pre|{{tlf|GBIF<br />|2=id=<br /> |3=taxon=<br /> |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}<br />}} }} |} '''where:''' :{{para|id}} the Taxonomic Serial Number (TSN), as shown at the top of the desired ITIS page. :{{para|taxon}} the scientific name, as shown at the top of the desired ITIS page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference. == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> qwt17ldw87hixcbz0mjru0fo00bm3j2 4622055 4622054 2019-03-15T10:12:28Z en>Peter coxhead 0 explain mode para; examples 4622055 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species search section of the [[GBIF]] website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; |5=mode=CS1 or CS2}}}} |} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is CS1. ===Examples=== *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}} *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=CS2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=CS2}} == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> o6utx8ekhfn0pnun8nd030dh3u5uznr 4622056 4622055 2019-03-15T10:15:57Z en>Peter coxhead 0 /* Usage */ just species 4622056 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of the [[GBIF]] website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; |5=mode=CS1 or CS2}}}} |} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is CS1. ===Examples=== *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}} *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=CS2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=CS2}} == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> haagoy10ukx7gn1kuma6rp539182zm3 4622057 4622056 2019-03-15T10:16:24Z en>Peter coxhead 0 /* Usage */ GBIF is the organization/publisher 4622057 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; |5=mode=CS1 or CS2}}}} |} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is CS1. ===Examples=== *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}} *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=CS2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=CS2}} == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> oywxfp5pbyr3lwamw92ivny7aewzrtc 4622058 4622057 2019-09-04T18:13:27Z en>Jonesey95 0 Fix empty citation, unnamed or unsupported parameter, or invalid parameter value using [[WP:AutoEd|AutoEd]]; see [[Help:CS1 errors]] 4622058 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; |5=mode=CS1 or CS2}}}} |} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is CS1. ===Examples=== *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}} *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=cs2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> ah495mxg7w5i0nygz15munyl4pe6atg 4622059 4622058 2019-09-04T18:14:10Z en>Jonesey95 0 Fix empty citation, unnamed or unsupported parameter, or invalid parameter value; see [[Help:CS1 errors]] 4622059 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; |5=mode=cs1 or cs2}}}} |} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. ===Examples=== *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}} *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=cs2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | | <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> hz4vbqjn7f68v12obdb2xup6wirfmtx 4622060 4622059 2020-04-25T15:18:51Z en>Vanisaac 0 /* See also */clean up per [[WP:CAT#T]] and [[WP:AWBREQ]] add template:Sandbox other 4622060 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {| |{{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=accessdate={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; |5=mode=cs1 or cs2}}}} |} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|accessdate}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. ===Examples=== *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=15 March 2019}} *<code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=cs2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|accessdate=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> k6rv1bnbqq2bt1wbv9kt453d54vzku2 4622061 4622060 2022-05-07T21:43:24Z en>Tol 0 format; cleanup 4622061 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|GBIF&nbsp;|2=id=&nbsp; |3=taxon=&nbsp; |4=access-date={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}&nbsp; |5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}} * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> jah3x4839ts14km12upo5u9lqeaox13 4622062 4622061 2022-05-07T21:46:07Z en>Tol 0 format 4622062 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|GBIF|2=id=|3=taxon=|4=access-date={{#time:Y-m-d|now}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}} * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> kghmuh9o7ited44wszdbibr6w5phvgr 4622063 4622062 2022-05-30T16:15:04Z en>Renamed user 75541ef41ebe2664b3667403c9653431 0 Try and fix date so it is the current day 4622063 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|GBIF|2=id=|3=taxon=|4=access-date={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}} * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> ltkcke0k8l36jcxlkb456zwbc43zi0p 4622064 4622063 2022-11-30T22:42:09Z en>Tol 0 Tol moved page [[Template:GBIF/doc]] to [[Template:Cite GBIF/doc]]: standardise naming 4622063 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|GBIF|2=id=|3=taxon=|4=access-date={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}} * <code><nowiki>{{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> ltkcke0k8l36jcxlkb456zwbc43zi0p 4622065 4622064 2022-11-30T22:42:51Z en>Tol 0 use canonical name 4622065 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex''|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex''|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> 9arag6zu8q5plfti85mi4g8j11lz0kw 4622066 4622065 2022-12-21T21:00:46Z en>Tol 0 /* Examples */ add authority (included in GBIF titles) 4622066 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTDAY}} {{CURRENTMONTHNAME}} {{CURRENTYEAR}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> ct8i7fnm2msc66j5iqyhmw8if33x97c 4622067 4622066 2022-12-21T21:03:13Z en>Tol 0 /* Cut and paste */ internationalise access-date 4622067 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> cw2175c1rfgrokza5jwcxczzpvvbs50 4622068 4622067 2022-12-21T21:03:45Z en>Tol 0 /* Cut and paste */ don't include mode by default 4622068 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> 0tif7jjpkd853076i66xit28giils5k 4622069 4622068 2022-12-23T11:47:04Z en>Peter coxhead 0 Undid revision 1128757346 by [[Special:Contributions/Tol|Tol]] ([[User talk:Tol|talk]]) why not? important to keep article citation style 4622069 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Cut and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> cw2175c1rfgrokza5jwcxczzpvvbs50 4622070 4622069 2024-11-20T00:45:33Z en>Eewilson 0 /* Cut and paste */ copy 4622070 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Copy and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is cs1. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> ju8f3nydrmdr4jdu1rzjucm8qq3rzf8 4622071 4622070 2025-10-25T06:16:36Z en>かずたき 0 4622071 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Copy and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is [[Help:Citation Style 1|cs1]]. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> lrspj9h1omfkw70c60d1y1cstaae92w 4622072 4622071 2026-05-22T22:54:42Z Jacob.jose 1784 [[:en:Template:Cite_GBIF/doc]] എന്നതിൽ നിന്ന് 20 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4622071 wikitext text/x-wiki {{Documentation subpage}} <!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --> == Usage == This template creates a citation for a taxon in the species section of [[GBIF]]'s website. The Wikipedia [[Wikipedia:Manual of Style (text formatting)#Italic face|Manual of Style]] recommends that taxa of the rank [[Genera]] and below be italicized (i.e. supergenus, subgenus, genus, species, subspecies, and varieties). Higher taxa should <u>not</u> be italicized. Italicizing, when appropriate, can be done using wiki markup as shown in the examples. === Copy and paste === {{pre|{{tlf|Cite GBIF|2=id=|3=taxon=|4=access-date={{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}|5=mode=cs1 or cs2}}}} '''where:''' :{{para|id}} the ID number, as shown at the top of the desired GBIF page. :{{para|taxon}} the scientific name, as shown at the top of the desired GBIF page, italicized if appropriate. :{{para|access-date}} the date on which you looked up the reference, in the style appropriate to the article. :{{para|mode}} determines the style of the citation; if omitted the default is [[Help:Citation Style 1|cs1]]. === Examples === * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=15 March 2019}} * <code><nowiki>{{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}}</nowiki></code> → {{Cite GBIF|id=2888942|taxon=''Rumex'' L.|access-date=2019-03-15|mode=cs2}} == See also == * {{tl|ITIS}} <includeonly>{{Sandbox other|| <!-- Categories below this line, please; interwikis at Wikidata --> [[Category:Encyclopedia external link templates]] [[Category:Biology external link templates]] }}</includeonly> lrspj9h1omfkw70c60d1y1cstaae92w ഫലകത്തിന്റെ സംവാദം:Cite GBIF 11 667453 4622073 2022-10-19T05:45:43Z en>Ser Amantio di Nicolao 0 /* top */create 4622073 wikitext text/x-wiki {{WikiProject Biology}} se50j7bvk6lpgzs5hdfryrvrh7iar4z 4622074 4622073 2022-11-30T22:42:10Z en>Tol 0 Tol moved page [[Template talk:GBIF]] to [[Template talk:Cite GBIF]]: standardise naming 4622073 wikitext text/x-wiki {{WikiProject Biology}} se50j7bvk6lpgzs5hdfryrvrh7iar4z 4622075 4622074 2024-06-15T02:11:57Z en>Cewbot 0 [[User:Cewbot/log/20200122/configuration|Maintain {{WPBS}}]]: 1 WikiProject template. Create {{WPBS}}. 4622075 wikitext text/x-wiki {{WikiProject banner shell| {{WikiProject Biology}} }} o9193dl6c7ij1ld1itdpy1dwt6bzh3g 4622076 4622075 2024-11-18T22:32:41Z en>Plantdrew 0 [[Wikipedia:WikiProject|WikiProject]] tagging 4622076 wikitext text/x-wiki {{WikiProject banner shell| {{WikiProject Tree of Life}} }} 0hxlas3e3ede6jui5afc6c6tdxt5f6p 4622077 4622076 2025-08-06T12:50:47Z en>Srapoj 0 /* Extended-confirmed-protected edit request on 6 August 2025 */ new section 4622077 wikitext text/x-wiki {{WikiProject banner shell| {{WikiProject Tree of Life}} }} == Extended-confirmed-protected edit request on 6 August 2025 == {{edit extended-protected|Template:Cite GBIF|answered=no}} I suggest changing the clause <pre>[http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}]</pre> to <pre>[https://www.gbif.org/species/{{{ID|{{{id|}}}}}} ''{{PAGENAME}}''{{#if: {{{nv|}}} |&nbsp;'''not verified'''}}] at [[Global Biodiversity Information Facility]]</pre> or remove this clause as it's dead code. Additional check on requiring <code>taxon</code> will be needed to avoid empty output if it is removed. This line was left when [[User:Tomchiukc]] ported the template from French Wikipedia to Chinese ([[:zh:Special:Diff/30734240|link]]). The template currently generates broken link when only <code>id</code> is passed. [[User:Srapoj|Srapoj]] ([[User talk:Srapoj|talk]]) 12:50, 6 August 2025 (UTC) fusp5py85ffxmcbqf2rsehptcagwvlw 4622078 4622077 2025-08-06T13:24:43Z en>Tomchiukc 0 /* Extended-confirmed-protected edit request on 6 August 2025 */ Reply 4622078 wikitext text/x-wiki {{WikiProject banner shell| {{WikiProject Tree of Life}} }} == Extended-confirmed-protected edit request on 6 August 2025 == {{edit extended-protected|Template:Cite GBIF|answered=no}} I suggest changing the clause <pre>[http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}]</pre> to <pre>[https://www.gbif.org/species/{{{ID|{{{id|}}}}}} ''{{PAGENAME}}''{{#if: {{{nv|}}} |&nbsp;'''not verified'''}}] at [[Global Biodiversity Information Facility]]</pre> or remove this clause as it's dead code. Additional check on requiring <code>taxon</code> will be needed to avoid empty output if it is removed. This line was left when [[User:Tomchiukc]] ported the template from French Wikipedia to Chinese ([[:zh:Special:Diff/30734240|link]]). The template currently generates broken link when only <code>id</code> is passed. [[User:Srapoj|Srapoj]] ([[User talk:Srapoj|talk]]) 12:50, 6 August 2025 (UTC) :Go ahead. Thank you. --[[User:Tomchiukc|Tomchiukc]] ([[User talk:Tomchiukc|talk]]) 13:24, 6 August 2025 (UTC) 2rmhj57k6sei1v199355y4g3gu4090o 4622079 4622078 2025-08-09T23:52:19Z en>VolatileAnomaly 0 /* Extended-confirmed-protected edit request on 6 August 2025 */ implemented 4622079 wikitext text/x-wiki {{WikiProject banner shell| {{WikiProject Tree of Life}} }} == Extended-confirmed-protected edit request on 6 August 2025 == {{edit extended-protected|Template:Cite GBIF|answered=YES}} I suggest changing the clause <pre>[http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}]</pre> to <pre>[https://www.gbif.org/species/{{{ID|{{{id|}}}}}} ''{{PAGENAME}}''{{#if: {{{nv|}}} |&nbsp;'''not verified'''}}] at [[Global Biodiversity Information Facility]]</pre> or remove this clause as it's dead code. Additional check on requiring <code>taxon</code> will be needed to avoid empty output if it is removed. This line was left when [[User:Tomchiukc]] ported the template from French Wikipedia to Chinese ([[:zh:Special:Diff/30734240|link]]). The template currently generates broken link when only <code>id</code> is passed. [[User:Srapoj|Srapoj]] ([[User talk:Srapoj|talk]]) 12:50, 6 August 2025 (UTC) :Go ahead. Thank you. --[[User:Tomchiukc|Tomchiukc]] ([[User talk:Tomchiukc|talk]]) 13:24, 6 August 2025 (UTC) :{{done}}<!-- Template:EEp --> 23:52, 9 August 2025 (UTC) 9laezjq3ploy1cf0cybqp79bbtpch65 4622080 4622079 2025-08-09T23:53:10Z en>VolatileAnomaly 0 /* Extended-confirmed-protected edit request on 6 August 2025 */ fix 4622080 wikitext text/x-wiki {{WikiProject banner shell| {{WikiProject Tree of Life}} }} == Extended-confirmed-protected edit request on 6 August 2025 == {{edit extended-protected|Template:Cite GBIF|answered=YES}} I suggest changing the clause <pre>[http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}]</pre> to <pre>[https://www.gbif.org/species/{{{ID|{{{id|}}}}}} ''{{PAGENAME}}''{{#if: {{{nv|}}} |&nbsp;'''not verified'''}}] at [[Global Biodiversity Information Facility]]</pre> or remove this clause as it's dead code. Additional check on requiring <code>taxon</code> will be needed to avoid empty output if it is removed. This line was left when [[User:Tomchiukc]] ported the template from French Wikipedia to Chinese ([[:zh:Special:Diff/30734240|link]]). The template currently generates broken link when only <code>id</code> is passed. [[User:Srapoj|Srapoj]] ([[User talk:Srapoj|talk]]) 12:50, 6 August 2025 (UTC) :Go ahead. Thank you. --[[User:Tomchiukc|Tomchiukc]] ([[User talk:Tomchiukc|talk]]) 13:24, 6 August 2025 (UTC) :{{done}}<!-- Template:EEp --> — [[User:VolatileAnomaly|<b style="background-color:black;border:3px solid gray;padding:3px;color:lime;">🪫Volatile</b>]] <sup>[[User talk:VolatileAnomaly|''' 📲T''']] | [[Special:Contributions/VolatileAnomaly|'''⌨️C''']]</sup> 23:52, 9 August 2025 (UTC) m1zb1ekqy95n6xnh1afqoxjjqcl195f 4622081 4622080 2026-05-22T22:54:43Z Jacob.jose 1784 [[:en:Template_talk:Cite_GBIF]] എന്നതിൽ നിന്ന് 8 പതിപ്പുകൾ ഇറക്കുമതി ചെയ്തു 4622080 wikitext text/x-wiki {{WikiProject banner shell| {{WikiProject Tree of Life}} }} == Extended-confirmed-protected edit request on 6 August 2025 == {{edit extended-protected|Template:Cite GBIF|answered=YES}} I suggest changing the clause <pre>[http://www.gbif.org/species/{{#if:x|{{{1}}}}} {{{2|''{{PAGENAME}}''}}}{{#ifeq:{{{3|}}}|nv| '''not verified'''}}]</pre> to <pre>[https://www.gbif.org/species/{{{ID|{{{id|}}}}}} ''{{PAGENAME}}''{{#if: {{{nv|}}} |&nbsp;'''not verified'''}}] at [[Global Biodiversity Information Facility]]</pre> or remove this clause as it's dead code. Additional check on requiring <code>taxon</code> will be needed to avoid empty output if it is removed. This line was left when [[User:Tomchiukc]] ported the template from French Wikipedia to Chinese ([[:zh:Special:Diff/30734240|link]]). The template currently generates broken link when only <code>id</code> is passed. [[User:Srapoj|Srapoj]] ([[User talk:Srapoj|talk]]) 12:50, 6 August 2025 (UTC) :Go ahead. Thank you. --[[User:Tomchiukc|Tomchiukc]] ([[User talk:Tomchiukc|talk]]) 13:24, 6 August 2025 (UTC) :{{done}}<!-- Template:EEp --> — [[User:VolatileAnomaly|<b style="background-color:black;border:3px solid gray;padding:3px;color:lime;">🪫Volatile</b>]] <sup>[[User talk:VolatileAnomaly|''' 📲T''']] | [[Special:Contributions/VolatileAnomaly|'''⌨️C''']]</sup> 23:52, 9 August 2025 (UTC) m1zb1ekqy95n6xnh1afqoxjjqcl195f ബളാന്തോട് 0 667454 4622092 2026-05-23T01:35:36Z Shemmap 108232 "[[:en:Special:Redirect/revision/1355641533|Balanthode]]" എന്ന താൾ പരിഭാഷപ്പെടുത്തിയത്. 4622092 wikitext text/x-wiki <templatestyles src="Module:Infobox/styles.css"></templatestyles><templatestyles src="Infobox settlement/styles.css"></templatestyles> {| class="infobox ib-settlement vcard" ! colspan="2" class="infobox-above" |<div class="fn org">{{lang|ml|ബളാന്തോട്}}</div><div class="nickname ib-settlement-native" lang="ml">Balanthode</div> |- | colspan="2" class="infobox-subheader" |<div class="category">ചെറിയ പട്ടണം.</div> |- class="mergedtoprow" | colspan="2" class="infobox-full-data" |<templatestyles src="Module:Location map/styles.css"></templatestyles><div class="center"><div class="locmap" style="width:250px;float:none;clear:both;margin-left:auto;margin-right:auto"><div style="width:250px;padding:0"><div style="position:relative;width:250px">[[പ്രമാണം:India_Kerala_location_map.svg|ശ്രേണി=notpageimage noviewer|364x364ബിന്ദു|Balanthode is located in Kerala]]<div class="od notheme" style="top:11.074%;left:22.852%;font-size:91%"><div class="id" style="left:-3px;top:-3px">[[പ്രമാണം:Red_pog.svg|കണ്ണി=|ശ്രേണി=notpageimage noviewer|6x6ബിന്ദു|Balanthode]]</div><div class="pr" style="width:6em;left:4px"><div>{{lang|ml|ബളാന്തോട്}}</div></div></div></div><div style="padding-top:0.2em">ഇന്ത്യയിലെ കേരളത്തിലെ സ്ഥാനം</div></div></div></div> |- | colspan="2" class="infobox-full-data" |കോർഡിനേറ്റുകൾഃ 12°26′46.7′′N 75°17′ 59.3′′E/12.446306 °N 75.299806 °E/ |- class="mergedtoprow" ! class="infobox-label" scope="row" |രാജ്യം | class="infobox-data" |[[ഇന്ത്യ]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[ഇന്ത്യയിലെ സംസ്ഥാനങ്ങളും കേന്ദ്രഭരണപ്രദേശങ്ങളും|സംസ്ഥാനം]] | class="infobox-data" |[[കേരളം]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[കേരളത്തിലെ ജില്ലകളുടെ പട്ടിക|ജില്ല]] | class="infobox-data" |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[താലൂക്ക്]] | class="infobox-data" |[[വെള്ളരിക്കുണ്ട്|വെള്ളരിക്കുണ്ട]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[ഗ്രാമ പഞ്ചായത്ത്|പഞ്ചായത്ത്]] | class="infobox-data" |പനത്തടി |- class="mergedtoprow" ! class="infobox-label" scope="row" |[[പിൻകോഡ്|പിൻ]] | class="infobox-data adr" |<div class="postal-code">671532</div> |- class="mergedrow" ! class="infobox-label" scope="row" |ഫോൺ കോഡ് | class="infobox-data" |0467 |- class="mergedrow" ! class="infobox-label" scope="row" |വാഹന രജിസ്ട്രേഷൻ | class="infobox-data" |കെ. എൽ-79 |} കേരളത്തിലെ [[കാസർഗോഡ് ജില്ല]] കിഴക്കൻ മലമ്പ്രദേശത്തുള്ള ഒരു ചെറിയ കുന്നിൻ പ്രദേശമാണ് {{lang|ml|ബളാന്തോട്}} .<ref name="GovTourism">{{Cite web|url=https://www.keralatourism.org/routes-locations/balamthodu/id/1449|title=Balamthodu, Kasaragod District, Kerala, India|access-date=23 May 2026|website=Kerala Tourism Department}}</ref> വെള്ളരിക്കുണ്ട് താലൂക്കിനുള്ളിൽ സ്ഥിതി ചെയ്യുന്ന ഈ പട്ടണം പനത്തടി ഗ്രാമപഞ്ചായത്തിന്റെ ഭരണത്തിൻ കീഴിലാണ്.<ref name="LSGDKerala">{{Cite web|url=https://lsgkerala.gov.in/|title=Local Self Government Panchayat Directory: Panathady|access-date=23 May 2026|website=Government of Kerala Local Self Government Department}}</ref> == ഭൂമിശാസ്ത്രം == പാണത്തൂരിലേക്ക് നയിക്കുന്ന പ്രധാന റോഡിൽ തന്നെ കാൺഹങ്ങാടിൽ നിന്ന് 34 കിലോമീറ്റർ കിഴക്കായിട്ടാണ് {{lang|ml|ബളാന്തോട്}} സ്ഥിതി ചെയ്യുന്നത്. പശ്ചിമഘട്ട പർവതനിരകളിലേക്ക് അടുക്കുന്ന മലയോര ഭൂപ്രദേശത്ത്, റാണിപുരം ആവാസവ്യവസ്ഥയുടെ വന അതിർത്തികൾക്ക് സമീപമാണ് ഇത് സ്ഥിതിചെയ്യുന്നത്. പ്രാദേശിക സമ്പദ്‌വ്യവസ്ഥ പ്രധാനമായും കൃഷിയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, കുന്നിൻ ചെരുവുകളിൽ റബ്ബർ, കക്ക, കുരുമുളക് കൃഷി എന്നിവ ആധിപത്യം പുലർത്തുന്നു. വടക്കൻ മലബാറിലെ മിക്ക ഉയർന്ന പ്രദേശങ്ങളെയും പോലെ, മൺസൂൺ സീസണുകളിൽ ഈ പട്ടണത്തിനും കനത്ത മഴ ലഭിക്കുന്നു. == സമൂഹവും വിദ്യാഭ്യാസവും == ചുറ്റുമുള്ള ഗ്രാമീണ ഗ്രാമപ്രദേശങ്ങളിൽ താമസിക്കുന്ന കുടുംബങ്ങൾക്ക് സ്കൂൾ വിദ്യാഭ്യാസത്തിനും പൊതു സൌകര്യങ്ങളുടെയും കേന്ദ്രബിന്ദുവായി ഈ നഗരം പ്രവർത്തിക്കുന്നു. പനത്തടി, കള്ളാർ , ബളാൽ പഞ്ചായത്തുകളിൽ നിന്നുള്ള സെക്കൻഡറി സ്കൂൾ വിദ്യാർത്ഥികൾക്ക് സേവനം നൽകുന്ന സർക്കാർ ഹയർ സെക്കൻഡറി സ്കൂളാണ് (ജിഎച്ച്എസ്എസ് {{lang|ml|ബളാന്തോട്}}) പ്രധാന വിദ്യാഭ്യാസ സ്ഥാപനം. കേരള വാട്ടർ അതോറിറ്റിയുടെ റൂറൽ യൂട്ടിലിറ്റി സപ്ലൈ ഡാറ്റാബേസുകൾക്ക് കീഴിൽ കൈകാര്യം ചെയ്യുന്ന പ്രാദേശിക ജല അടിസ്ഥാന സൌകര്യ വിതരണ സംവിധാനങ്ങളും ഈ പട്ടണത്തിൽ ഉണ്ട്.<ref name="KWAIMIS">{{Cite web|url=https://kwa.kerala.gov.in/|title=Kerala Water Authority - Integrated Management Information System (IMIS) Habitation Data|access-date=23 May 2026|website=Kerala Water Authority Portal}}</ref> == ഗതാഗതം == സംസ്ഥാന അതിർത്തി കടന്ന് കിഴക്കോട്ട് കർണാടകയിലേക്ക് പോകുന്ന കാഞ്ഞങ്ങാട്-പനത്തൂർ റോഡാണ് പ്രാഥമിക പാത, ഈ പ്രദേശത്തെ സുള്ള്യ, മടിക്കേരി, കൂർഗ് എന്നിവയുമായി നേരിട്ട് ബന്ധിപ്പിക്കുന്നു. പ്രാദേശിക ഗതാഗതം സ്വകാര്യ ബസുകളെയും ജീപ്പ് ശൃംഖലകളെയും വളരെയധികം ആശ്രയിക്കുന്നു. ഏറ്റവും അടുത്തുള്ള പ്രധാന റെയിൽവേ കേന്ദ്രം കാൺഹഗഡ് റെയിൽവേ സ്റ്റേഷനാണ്, അതേസമയം അന്താരാഷ്ട്ര വിമാന യാത്ര [[കണ്ണൂർ അന്താരാഷ്ട്ര വിമാനത്താവളം]] അല്ലെങ്കിൽ മംഗലാപുരം അന്താരാഷ്ട്ര വിമാനത്താവളവുമാണ് കൈകാര്യം ചെയ്യുന്നത്. == ഇതും കാണുക == * [[കാസർഗോഡ് ജില്ല]] * റാണിപുരം കുന്നുകൾ * [[പാണത്തൂർ]] == ബാഹ്യ ലിങ്കുകൾ == * [https://www.keralatourism.org/routes-locations/panathur/id/12765 കേരള ടൂറിസം-കാൺഹഗഡ്-ബാലന്തോട് റൂട്ട് മാപ്പ്] == പരാമർശങ്ങൾ == <templatestyles src="Reflist/styles.css" />{{Reflist}}{{കാസർഗോഡ് ജില്ല}} [[വർഗ്ഗം:കാസർഗോഡ് ജില്ലയിലെ ഗ്രാമങ്ങൾ]] [[വർഗ്ഗം:Coordinates not on Wikidata]] [[വർഗ്ഗം:Short description with empty Wikidata description]] [[വർഗ്ഗം:Articles with short description]] oyz561bx0jqerze0qxg5klz8j3pwb6y 4622094 4622092 2026-05-23T01:43:17Z Shemmap 108232 Fix typo 4622094 wikitext text/x-wiki <templatestyles src="Module:Infobox/styles.css"></templatestyles><templatestyles src="Infobox settlement/styles.css"></templatestyles> {| class="infobox ib-settlement vcard" ! colspan="2" class="infobox-above" |<div class="fn org">{{lang|ml|ബളാന്തോട്}}</div><div class="nickname ib-settlement-native" lang="ml">Balanthode</div> |- | colspan="2" class="infobox-subheader" |<div class="category">ചെറിയ പട്ടണം.</div> |- class="mergedtoprow" | colspan="2" class="infobox-full-data" |<templatestyles src="Module:Location map/styles.css"></templatestyles><div class="center"><div class="locmap" style="width:250px;float:none;clear:both;margin-left:auto;margin-right:auto"><div style="width:250px;padding:0"><div style="position:relative;width:250px">[[പ്രമാണം:India_Kerala_location_map.svg|ശ്രേണി=notpageimage noviewer|364x364ബിന്ദു|Balanthode is located in Kerala]]<div class="od notheme" style="top:11.074%;left:22.852%;font-size:91%"><div class="id" style="left:-3px;top:-3px">[[പ്രമാണം:Red_pog.svg|കണ്ണി=|ശ്രേണി=notpageimage noviewer|6x6ബിന്ദു|Balanthode]]</div><div class="pr" style="width:6em;left:4px"><div>{{lang|ml|ബളാന്തോട്}}</div></div></div></div><div style="padding-top:0.2em">ഇന്ത്യയിലെ കേരളത്തിലെ സ്ഥാനം</div></div></div></div> |- | colspan="2" class="infobox-full-data" |കോർഡിനേറ്റുകൾഃ 12°26′46.7′′N 75°17′ 59.3′′E/12.446306 °N 75.299806 °E/ |- class="mergedtoprow" ! class="infobox-label" scope="row" |രാജ്യം | class="infobox-data" |[[ഇന്ത്യ]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[ഇന്ത്യയിലെ സംസ്ഥാനങ്ങളും കേന്ദ്രഭരണപ്രദേശങ്ങളും|സംസ്ഥാനം]] | class="infobox-data" |[[കേരളം]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[കേരളത്തിലെ ജില്ലകളുടെ പട്ടിക|ജില്ല]] | class="infobox-data" |[[കാസർഗോഡ് ജില്ല|കാസർഗോഡ്]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[താലൂക്ക്]] | class="infobox-data" |[[വെള്ളരിക്കുണ്ട്|വെള്ളരിക്കുണ്ട]] |- class="mergedrow" ! class="infobox-label" scope="row" |[[ഗ്രാമ പഞ്ചായത്ത്|പഞ്ചായത്ത്]] | class="infobox-data" |പനത്തടി |- class="mergedtoprow" ! class="infobox-label" scope="row" |[[പിൻകോഡ്|പിൻ]] | class="infobox-data adr" |<div class="postal-code">671532</div> |- class="mergedrow" ! class="infobox-label" scope="row" |ഫോൺ കോഡ് | class="infobox-data" |0467 |- class="mergedrow" ! class="infobox-label" scope="row" |വാഹന രജിസ്ട്രേഷൻ | class="infobox-data" |കെ. എൽ-79 |} കേരളത്തിലെ [[കാസർഗോഡ് ജില്ല]] കിഴക്കൻ മലമ്പ്രദേശത്തുള്ള ഒരു ചെറിയ കുന്നിൻ പ്രദേശമാണ് {{lang|ml|ബളാന്തോട്}} .<ref name="GovTourism">{{Cite web|url=https://www.keralatourism.org/routes-locations/balamthodu/id/1449|title=Balamthodu, Kasaragod District, Kerala, India|access-date=23 May 2026|website=Kerala Tourism Department}}</ref> വെള്ളരിക്കുണ്ട് താലൂക്കിനുള്ളിൽ സ്ഥിതി ചെയ്യുന്ന ഈ പട്ടണം പനത്തടി ഗ്രാമപഞ്ചായത്തിന്റെ ഭരണത്തിൻ കീഴിലാണ്.<ref name="LSGDKerala">{{Cite web|url=https://lsgkerala.gov.in/|title=Local Self Government Panchayat Directory: Panathady|access-date=23 May 2026|website=Government of Kerala Local Self Government Department}}</ref> == ഭൂമിശാസ്ത്രം == പാണത്തൂരിലേക്ക് നയിക്കുന്ന പ്രധാന റോഡിൽ തന്നെ കാഞ്ഞങ്ങാട് നിന്ന് 34 കിലോമീറ്റർ കിഴക്കായിട്ടാണ് {{lang|ml|ബളാന്തോട്}} സ്ഥിതി ചെയ്യുന്നത്.<ref name="KasVarthaPub">{{cite news |title=സർവീസിൽ നിന്ന് വിരമിക്കാൻ മാസങ്ങൾ മാത്രം ബാക്കി; കടന്നൽ കുത്തേറ്റ് അധ്യാപകന് ദാരുണാന്ത്യം|url=https://www.kasargodvartha.com/obituary/balanthode-school-teacher-vijayan-dies-hornet-attack/cid18664918.htm |work=Kasaragod Vartha |date=13 May 2026 |language=ml |access-date=23 May 2026}}</ref> പശ്ചിമഘട്ട പർവതനിരകളിലേക്ക് അടുക്കുന്ന മലയോര ഭൂപ്രദേശത്ത്, റാണിപുരം ആവാസവ്യവസ്ഥയുടെ വന അതിർത്തികൾക്ക് സമീപമാണ് ഇത് സ്ഥിതിചെയ്യുന്നത്. പ്രാദേശിക സമ്പദ്‌വ്യവസ്ഥ പ്രധാനമായും കൃഷിയെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, കുന്നിൻ ചെരുവുകളിൽ റബ്ബർ, കക്ക, കുരുമുളക് കൃഷി എന്നിവ ആധിപത്യം പുലർത്തുന്നു. വടക്കൻ മലബാറിലെ മിക്ക ഉയർന്ന പ്രദേശങ്ങളെയും പോലെ, മൺസൂൺ സീസണുകളിൽ ഈ പട്ടണത്തിനും കനത്ത മഴ ലഭിക്കുന്നു. == സമൂഹവും വിദ്യാഭ്യാസവും == ചുറ്റുമുള്ള ഗ്രാമീണ ഗ്രാമപ്രദേശങ്ങളിൽ താമസിക്കുന്ന കുടുംബങ്ങൾക്ക് സ്കൂൾ വിദ്യാഭ്യാസത്തിനും പൊതു സൌകര്യങ്ങളുടെയും കേന്ദ്രബിന്ദുവായി ഈ നഗരം പ്രവർത്തിക്കുന്നു. പനത്തടി, കള്ളാർ , ബളാൽ പഞ്ചായത്തുകളിൽ നിന്നുള്ള സെക്കൻഡറി സ്കൂൾ വിദ്യാർത്ഥികൾക്ക് സേവനം നൽകുന്ന സർക്കാർ ഹയർ സെക്കൻഡറി സ്കൂളാണ് (ജിഎച്ച്എസ്എസ് {{lang|ml|ബളാന്തോട്}}) പ്രധാന വിദ്യാഭ്യാസ സ്ഥാപനം.<ref name="MetroVaartha">{{cite news |title=കാട് വെട്ടുന്നതിനിടെ അധ്യാപകൻ കടന്നൽ കുത്തേറ്റ് മരിച്ചു|url=https://www.metrovaartha.com/news/kerala/teacher-dies-after-being-stung-by-a-wasp-while-clearing-forest |work=Metro Vaartha |date=13 May 2026 |language=ml |access-date=23 May 2026}}</ref> കേരള വാട്ടർ അതോറിറ്റിയുടെ റൂറൽ യൂട്ടിലിറ്റി സപ്ലൈ ഡാറ്റാബേസുകൾക്ക് കീഴിൽ കൈകാര്യം ചെയ്യുന്ന പ്രാദേശിക ജല അടിസ്ഥാന സൌകര്യ വിതരണ സംവിധാനങ്ങളും ഈ പട്ടണത്തിൽ ഉണ്ട്.<ref name="KWAIMIS">{{Cite web|url=https://kwa.kerala.gov.in/|title=Kerala Water Authority - Integrated Management Information System (IMIS) Habitation Data|access-date=23 May 2026|website=Kerala Water Authority Portal}}</ref> == ഗതാഗതം == സംസ്ഥാന അതിർത്തി കടന്ന് കിഴക്കോട്ട് കർണാടകയിലേക്ക് പോകുന്ന കാഞ്ഞങ്ങാട്-പനത്തൂർ റോഡാണ് പ്രാഥമിക പാത, ഈ പ്രദേശത്തെ സുള്ള്യ, മടിക്കേരി, കൂർഗ് എന്നിവയുമായി നേരിട്ട് ബന്ധിപ്പിക്കുന്നു. പ്രാദേശിക ഗതാഗതം സ്വകാര്യ ബസുകളെയും ജീപ്പ് ശൃംഖലകളെയും വളരെയധികം ആശ്രയിക്കുന്നു. ഏറ്റവും അടുത്തുള്ള പ്രധാന റെയിൽവേ കേന്ദ്രം കാൺഹഗഡ് റെയിൽവേ സ്റ്റേഷനാണ്, അതേസമയം അന്താരാഷ്ട്ര വിമാന യാത്ര [[കണ്ണൂർ അന്താരാഷ്ട്ര വിമാനത്താവളം]] അല്ലെങ്കിൽ മംഗലാപുരം അന്താരാഷ്ട്ര വിമാനത്താവളവുമാണ് കൈകാര്യം ചെയ്യുന്നത്. == ഇതും കാണുക == * [[കാസർഗോഡ് ജില്ല]] * റാണിപുരം കുന്നുകൾ * [[പാണത്തൂർ]] == ബാഹ്യ ലിങ്കുകൾ == * [https://www.keralatourism.org/routes-locations/panathur/id/12765 കേരള ടൂറിസം-കാൺഹഗഡ്-ബാലന്തോട് റൂട്ട് മാപ്പ്] == പരാമർശങ്ങൾ == <templatestyles src="Reflist/styles.css" />{{Reflist}}{{കാസർഗോഡ് ജില്ല}} [[വർഗ്ഗം:കാസർഗോഡ് ജില്ലയിലെ ഗ്രാമങ്ങൾ]] j6wzd436f2zhc3tz7kqmjjculfazg2a മനോജ് മൂത്തേടൻ 0 667455 4622109 2026-05-23T04:49:07Z Akbarali 17542 'ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''<nowiki>[[മനോജ് മൂത്തേടൻ]]</nowiki>'''. നിലവിൽ <nowiki>[[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]]</nowiki> '''<nowiki>പെരുമ്പാവൂർ നിയമസഭ...' താൾ സൃഷ്ടിച്ചിരിക്കുന്നു 4622109 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''<nowiki>[[മനോജ് മൂത്തേടൻ]]</nowiki>'''. നിലവിൽ <nowiki>[[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]]</nowiki> '''<nowiki>[[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]]</nowiki>''' നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. <nowiki>[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]]</nowiki> അംഗമായ അദ്ദേഹം <nowiki>[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]]</nowiki> തിരഞ്ഞെടുക്കപ്പെട്ടത്. '''28,434''' വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] rb5b1ym1i5rlozpmzy9kgb2gopy0mhi 4622110 4622109 2026-05-23T04:49:37Z Akbarali 17542 4622110 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ <nowiki>[[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]]</nowiki> '''<nowiki>[[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]]</nowiki>''' നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. <nowiki>[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]]</nowiki> അംഗമായ അദ്ദേഹം <nowiki>[[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]]</nowiki> തിരഞ്ഞെടുക്കപ്പെട്ടത്. '''28,434''' വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] h8db9imaepoua2pfebip4zmib9axuk9 4622111 4622110 2026-05-23T04:50:56Z Akbarali 17542 4622111 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]]''' നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. '''28,434''' വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] lb8iyyx5w0yray212urp1a72tynez9v 4622112 4622111 2026-05-23T04:51:34Z Akbarali 17542 4622112 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. '''28,434''' വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭയിലെ മന്ത്രിമാർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] l9iqyici6mb7fkthvfo7h5v4itqks3q 4622113 4622112 2026-05-23T04:53:27Z Akbarali 17542 4622113 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. '''28,434''' വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] hi53qksisj0yi3mrci2lpw0apwhezkx 4622114 4622113 2026-05-23T04:53:57Z Akbarali 17542 4622114 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. '''28,434''' വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] 8qt59kjcciu0zcz7rq9tvieqsvz2ppw 4622127 4622114 2026-05-23T05:45:32Z ~2026-12275-19 214477 4622127 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ എറണാകുളം ജില്ലയിൽ നിന്നുള്ള ഒരു ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. '''28,434''' വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] pqeqmrbf0wtuuwztn42a03o7eenui08 4622128 4622127 2026-05-23T05:47:23Z Akbarali 17542 4622128 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ എറണാകുളം ജില്ലയിൽ നിന്നുള്ള ഒരു ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 28,434 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] nkheajj1c8t1hpua5z4m9p2uzg0128i 4622136 4622128 2026-05-23T05:54:20Z ~2026-12275-19 214477 4622136 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ എറണാകുളം ജില്ലയിൽ നിന്നുള്ള ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 28,434 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] bszuwmdn0x19ks9u03jppe9pf8f3zr5 4622147 4622136 2026-05-23T06:12:07Z Akbarali 17542 4622147 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ എറണാകുളം ജില്ലയിൽ നിന്നുള്ള ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''മനോജ് മൂത്തേടൻ'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പെരുമ്പാവൂർ നിയമസഭാമണ്ഡലം|പെരുമ്പാവൂർ]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗം ആയി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 28,434 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> == രാഷ്ട്രീയ ജീവിതം == ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് നേതാവായ മനോജ് മൂത്തേടൻ [[ഐക്യ ജനാധിപത്യ മുന്നണി|യുഡിഎഫ്]] പ്രതിനിധിയായാണ് കേരള രാഷ്ട്രീയത്തിൽ പ്രവർത്തിക്കുന്നത്. 2026-ൽ നടന്ന കേരള നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ പെരുമ്പാവൂർ നിയോജക മണ്ഡലത്തിൽ നിന്നും യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി മത്സരിച്ച അദ്ദേഹം വൻ വിജയം സ്വന്തമാക്കി. ഈ തെരഞ്ഞെടുപ്പിൽ ആകെ 75,088 വോട്ടുകൾ നേടിയാണ് അദ്ദേഹം നിയമസഭയിലേക്ക് തെരഞ്ഞെടുക്കപ്പെട്ടത്. തന്റെ പ്രധാന എതിരാളിയായിരുന്ന ഇടതുമുന്നണിയിലെ ബേസിൽ പോളിനെ 28,434 വോട്ടുകളുടെ ഭൂരിപക്ഷത്തിനാണ് മനോജ് മൂത്തേടൻ പരാജയപ്പെടുത്തിയത്. മണ്ഡലത്തിലെ മുൻ എം.എ.എൽ.എ [[എൽദോസ് പി. കുന്നപ്പിള്ളി|എൽദോസ് കുന്നപ്പിള്ളിക്കെതിരെയുണ്ടായ]] വിവാദങ്ങൾ സജീവ ചർച്ചയായ തെരഞ്ഞെടുപ്പിൽ, എൽ.ഡി.എഫ് സ്ഥാനാർത്ഥി നേടിയ 46,654 വോട്ടുകളെയും എൻ.ഡി.എ സ്ഥാനാർത്ഥി ജിബി പതിക്കൽ നേടിയ 22,497 വോട്ടുകളെയും പിന്തള്ളിക്കൊണ്ടാണ് അദ്ദേഹം പെരുമ്പാവൂരിൽ യു.ഡി.എഫിന്റെ വിജയം നിലനിർത്തിയത്.<ref>{{Cite web|url=https://www.asianetnews.com/kerala-news/udf-candidate-manoj-moothedan-won-in-perumbavoor-assembly-election-2026-articleshow-w973vup|title=പെരുമ്പാവൂരിൽ യുഡിഎഫ് സ്ഥാനാർഥി മനോജ് മൂത്തേടന് വിജയം|access-date=2026-05-23|last=Fb|last2=Tw|language=ml|last3=Linkdin|last4=Whatsapp|last5=Us|first5=GNFollow}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] 5b4aaj10hc66llq7y4fpsux868rg9i3 ക്ലെറ്റ്സെൻബ്രോട്ട് 0 667456 4622117 2026-05-23T05:28:27Z Shem.iz 217086 "[[:en:Special:Redirect/revision/1346042826|Kletzenbrot]]" എന്ന താൾ പരിഭാഷപ്പെടുത്തിയത്. 4622117 wikitext text/x-wiki <templatestyles src="Module:Infobox/styles.css"></templatestyles>{{Infobox food | name = Kletzenbrot | image = | caption = | alternate_name = Tyrolean dried fruit bread | type = Sweet bread | country = Austria | region = [[Tyrol (state)|Tyrol]] | main_ingredient = Dried pears (''Kletzen''), dried fruits, nuts, flour, spices }} ചില ക്രിസ്ത്യൻ രാജ്യങ്ങളിൽ, പ്രത്യേകിച്ച് ഓസ്ട്രിയൻ സംസ്ഥാനമായ ടൈറോളുമായി ബന്ധപ്പെട്ടതും ചിലപ്പോൾ ടൈറോലിയൻ ഉണക്കിയ പഴം ബ്രെഡ് എന്ന് വിളിക്കപ്പെടുന്നതുമായ, ഉണക്കിയ പഴങ്ങൾ, '''പ്രത്യേകിച്ച് ഉണക്കിയ പിയർ''' (ഓസ്ട്രിയൻ ജർമ്മൻ ഭാഷയിൽ ക്ലെറ്റ്സൺ എന്ന് വിളിക്കുന്നു) ഉപയോഗിച്ച് അഡ്വെൻറ് സീസണിനായി നിർമ്മിക്കുന്ന ഒരു മധുരപലഹാരമാണ് '''ക്ലെറ്റ്സെൻബ്രോട്ട്'''.<ref>{{Cite book |url=https://books.google.com/books?id=zcNdB_sl2JkC&dq=brown+bread+kletzenbrot&pg=PA162 |title=Food in Motion: The Migration of Foodstuffs and Cookery Techniques : Proceedings : Oxford Symposium 1983 · Volume 1 |date=1983 |publisher=Oxford Symposium |isbn=9780907325079 |editor-last=Alan Davidson}}</ref> ആധുനിക ഇനങ്ങൾ സാധാരണയായി ഉണക്കിയ പഴങ്ങളും വാൾനട്ട്, ഉണക്കമുന്തിരി, ഉണക്ക മുന്തിരി, ഉണക്കിയ ആപ്പിൾ, അത്തിപ്പഴം, പ്രൂൺ എന്നിവ ഉപയോഗിച്ചാണ് നിർമ്മിക്കുന്നത്.<ref>{{Cite book |last=Fieldhouse |first=Paul |title=The World Religions Cookbook |publisher=Greenwood Press |page=36}}</ref> മിക്ക പാചകക്കുറിപ്പുകളിലും അധിക രുചിയ്ക്കായി കറുവപ്പട്ട, ഗ്രാമ്പൂ, ഉണക്കമുന്തിരി, ജാതിക്ക, [[റം]] തുടങ്ങിയ സുഗന്ധവ്യഞ്ജനങ്ങൾ ചേർക്കുന്നു.<ref>{{Cite web|url=https://www.tasteofaustria.org/sweets-desserts/2019/1/17/kletzenbrot-fruit-bread|title=Kletzenbrot (Fruit Bread)|access-date=2021-12-29|date=17 January 2019|website=Taste of Austria|language=en-US|archive-url=https://web.archive.org/web/20201118165255/https://www.tasteofaustria.org/sweets-desserts/2019/1/17/kletzenbrot-fruit-bread|archive-date=2020-11-18}}</ref> പലതരം ഇനങ്ങൾ ഉള്ള ഈ അപ്പം ചിലപ്പോൾ ഇരുണ്ട തവിട്ട് നിറമുള്ള അപ്പത്തിനായി റൈ മാവ് ഉപയോഗിച്ച് നിർമ്മിക്കപ്പെടുന്നു, എന്നാൽ [[ഗോതമ്പ്]] മാവ് മുഴുവൻ ഉപയോഗിച്ചും ഇത് നിർമ്മിക്കാം.<ref>{{Cite book |last=Wolf |first=Helga Maria |url=https://books.google.com/books?id=BGF4DwAAQBAJ&dq=Kletzenbrot&pg=PT259 |title=Verschwundene Bräuche: Das Buch der untergegangenen Rituale |date=2015 |publisher=Christian Brandstätter Verlag |isbn=978-3-85033-952-0}}</ref> മാവ് ഒന്നുകിൽ ഉണക്കിയ പഴങ്ങളോടൊപ്പം കുഴച്ച മാവിലേക്ക് നേരിട്ട് ചേർക്കാം, അല്ലെങ്കിൽ പുറമേ ഒരു അധിക മാവ് കോട്ടിംഗ് (പുറംപാളി) ഉണ്ടാക്കാൻ ഇത് ഉപയോഗിക്കാം.<ref>{{Cite web|url=https://www.bloghuette.at/en/2017/12/it-smells-like-christmas-grandmas-recipe-for-kletzenbrot-fruit-bread/|title=It smells like Christmas! - Grandma's recipe for Kletzenbrot (fruit bread) » blogHuette.at|access-date=2021-12-29|last=Hartl|first=Elisabeth|date=2017-12-12|website=blogHuette.at|language=en-US}}</ref>  == ചേരുവകൾ == ആധുനിക പാചകരീതികൾ പരമ്പരാഗതമായി ഉപയോഗിക്കുന്ന ഉണങ്ങിയ പിയർ പഴങ്ങളിൽ മാത്രം ഒതുങ്ങുന്നില്ല; അവയിൽ ഉണക്കമുന്തിരി, കറന്റുകൾ (ഒരുതരം ഉണക്കമുന്തിരി), ഈന്തപ്പഴം, പ്രൂൺസ് (ഉണങ്ങിയ പ്ലം), അത്തിപ്പഴം തുടങ്ങിയ വിവിധതരം അണ്ടിപ്പരിപ്പുകളും ഉണങ്ങിയ പഴങ്ങളും ഉൾപ്പെടുന്നു. അരിച്ചെടുത്ത വരണ്ട ചേരുവകളിലേക്ക് സോഡിയം ബൈകാർബണേറ്റും മോരും ചേർത്ത്, അതിനുശേഷം അരിഞ്ഞ അണ്ടിപ്പരിപ്പുകളോ ഉണങ്ങിയ പഴങ്ങളോ അതിലേക്ക് ഇളക്കി ചേർത്തുണ്ടാക്കുന്ന ഒരു തരം എളുപ്പത്തിലുള്ള അപ്പമാണിത് (ക്വിക്ക് ബ്രെഡ്). ഇത് പലപ്പോഴും തൊലി കളഞ്ഞ ബദാം (ബ്ലാൻച്ച് ചെയ്ത ബദാം) കൊണ്ട് അലങ്കരിക്കാറുണ്ട് .<ref>{{Cite web|url=https://www.chefkoch.de/rezepte/22251005642960/Kletzenbrot.html|title=Kletzenbrot von Seide {{!}} Chefkoch|access-date=2021-12-29|website=Chefkoch.de|language=de}}</ref> == ഇതും കാണുക == * മധുരമുള്ള അപ്പങ്ങളുടെ പട്ടിക == പരാമർശങ്ങൾ == <templatestyles src="Reflist/styles.css" />{{Reflist}} == ബാഹ്യ ലിങ്കുകൾ == * [https://www.tasteofaustria.org/sweets-desserts/2019/1/17/kletzenbrot-fruit-bread Kletzenbrot-നുള്ള ഒരു പാചകക്കുറിപ്പ്] ടേസ്റ്റ് ഓഫ് ഓസ്ട്രിയയിലെ വേബാക്ക് മെഷീനിൽ ആർക്കൈവ് ചെയ്ത g7ke7nx383eiu7htwitmw9ued4ibp3p ബോസ്നിയ (പ്രദേശം) 0 667457 4622130 2026-05-23T05:48:42Z Shem.iz 217086 "[[:en:Special:Redirect/revision/1348844236|Bosnia (region)]]" എന്ന താൾ പരിഭാഷപ്പെടുത്തിയത്. 4622130 wikitext text/x-wiki <templatestyles src="Module:Hatnote/styles.css"></templatestyles> {{Infobox settlement | name = Bosnia | official_name = | native_name = {{lang|sh-Latn|Bosna}}<br />{{lang|sh-Cyrl|Босна}} | native_name_lang = | settlement_type = Region | image_skyline = | image_alt = | image_caption = | image_flag = | nickname = | motto = | image_map = Bosna regija update.jpg | map_alt = | map_caption = <div style="padding-top:6px;">ബോസ്നിയ ആൻഡ് ഹെർസെഗോവിനയിലെ രണ്ട് ആധുനിക പ്രദേശങ്ങൾ തമ്മിലുള്ള ഏകദേശ അതിർത്തി - ബോസ്നിയ (കടും തവിട്ട് നിറത്തിൽ), ഹെർസെഗോവിന (ഇളം തവിട്ട് നിറത്തിൽ)</div> | pushpin_map = | pushpin_label_position = | pushpin_map_alt = | pushpin_map_caption = | coordinates = {{Coord|44.16|N|17.78|E|display=inline,title}} | coor_pinpoint = | coordinates_footnotes = | subdivision_type = Country | subdivision_name = [[Bosnia and Herzegovina]] | established_title = | established_date = | founder = | seat_type = Largest cities | seat = [[Sarajevo]], [[Banja Luka]] | government_footnotes = | leader_party = | leader_title = | leader_name = | unit_pref = Metric | area_footnotes = | area_urban_footnotes = | area_rural_footnotes = | area_metro_footnotes = | area_magnitude = | area_note = | area_water_percent = | area_rank = | area_total_km2 = 39,021 | area_land_km2 = | area_water_km2 = | area_urban_km2 = | area_rural_km2 = | area_metro_km2 = | elevation_footnotes = | elevation_m = | population_footnotes = | population_est = {{circa}} 3 million | pop_est_as_of = 2013 | population_density_km2 = auto | population_demonym = [[Bosnians|Bosnian]] | population_note = | population_blank1_title = Total % of Bosnia and Herzegovina | population_blank1 = | timezone1 = [[Central European Time|CET]] | utc_offset1 = +1 | timezone1_DST = [[Central European Summer Time|CEST]] | utc_offset1_DST = +2 | postal_code_type = | postal_code = | area_code_type = | area_code = | iso_code = }} <templatestyles src="Module:Infobox/styles.css"></templatestyles><templatestyles src="Infobox settlement/styles.css"></templatestyles>ബോസ്നിയ ആൻഡ് ഹെർസെഗോവിനയുടെ വടക്കൻ പ്രദേശമാണ് '''ബോസ്നിയ''' (സെർബോ-ക്രോയേഷ്യൻ: Bosna / Босна). ഇത് രാജ്യത്തിന്റെ ഏകദേശം 76% ഭാഗം ഉൾക്കൊള്ളുന്നു; തെക്കുഭാഗത്തുള്ള മറുപ്രദേശം [[ഹെർസെഗോവിനയാണ്]].    മധ്യകാലഘട്ടം മുതൽ ഈ രണ്ട് പ്രദേശങ്ങളും ഒരൊറ്റ ഭൗമരാഷ്ട്രീയ വിഭാഗമായി നിലകൊള്ളുന്നു. ചരിത്രപരവും ഭൗമരാഷ്ട്രീയവുമായ അർത്ഥത്തിൽ "ബോസ്നിയ" എന്ന പേര് സാധാരണയായി രണ്ട് പ്രദേശങ്ങളെയും (ബോസ്നിയ ആൻഡ് ഹെർസെഗോവിന) പൊതുവായി പരാമർശിക്കാൻ ഉപയോഗിക്കാറുണ്ട്. [[ഓട്ടൊമൻ സാമ്രാജ്യം|ഒട്ടോമൻ ഭരണത്തിന്റെ]] അവസാന കാലഘട്ടത്തിൽ മാത്രമാണ് ഈ രണ്ട് പേരുകളും ചേർത്തുള്ള ഔദ്യോഗിക ഉപയോഗം ആരംഭിച്ചത്. == ഭൂമിശാസ്ത്രം == ബോസ്നിയ പ്രധാനമായും ദിനാറിക് ആൽപ്സ് പർവതനിരകളിലാണ് സ്ഥിതി ചെയ്യുന്നത്, ഇത് പാനോണിയൻ സമതലത്തിന്റെ തെക്കൻ അതിർത്തികൾ വരെ വ്യാപിച്ചുകിടക്കുന്നു. [[സാവ]], ഡ്രിന നദികൾ ഇതിന്റെ വടക്കൻ, കിഴക്കൻ അതിർത്തികൾ നിർണ്ണയിക്കുന്നു. ബോസ്നിയയുടെ വിസ്തീർണ്ണം ഏകദേശം 39,0<sup>2</sup> ചതുരശ്ര കിലോമീറ്റർ ഉൾക്കൊള്ളുന്നു, ഇന്നത്തെ ബോസ്നിയ ആൻഡ് ഹെർസഗോവിന സംസ്ഥാനത്തിന്റെ 80% പ്രദേശവും ഉൾക്കൊള്ളുന്ന പ്രദേശമാണിത്.<ref>{{Cite web|url=https://data.worldbank.org/indicator/AG.LND.TOTL.K2?end=2018&locations=BA&start=1961&view=chart|title=Land area (sq. km) - Bosnia and Herzegovina {{!}} Data|access-date=2021-05-06|website=data.worldbank.org|archive-url=https://web.archive.org/web/20210506181652/https://data.worldbank.org/indicator/AG.LND.TOTL.K2?end=2018&locations=BA&start=1961&view=chart|archive-date=2021-05-06}}</ref> ബോസ്നിയൻ പ്രദേശവും ഹെർസഗോവിനൻ പ്രദേശവും തമ്മിൽ യഥാർത്ഥ അതിർത്തികളില്ല. അനൌദ്യോഗികമായി, ഹെർസഗോവിന ഇവാൻ പ്ലാനിന പർവതത്തിന് തെക്കാണ്. മറ്റൊരു അനൌദ്യോഗിക നിർവചനമനുസരിച്ച്, ഹെർസഗോവിന നെരെത്വ, ട്രെബിസ്ൻജിക്ക നദികളുടെ നീർത്തടങ്ങൾ ഉൾക്കൊള്ളുന്നു.&nbsp; == ചരിത്രം == <templatestyles src="Module:Hatnote/styles.css"></templatestyles>{{പ്രധാനലേഖനം|Bosnia (early medieval)}}ബോസ്നിയയുടെ മധ്യഭാഗത്ത് കാകഞ്ച് സംസ്കാരത്തിൽപ്പെട്ട നവശിലായുഗ കർഷകരായിരുന്നു താമസിച്ചിരുന്നത്. പിന്നീട് ഇവർക്ക് പകരം ബട്മിർ സംസ്കാരം എന്നറിയപ്പെടുന്ന മറ്റൊരു നവശിലായുഗ സംസ്കാരം നിലവിൽ വന്നു. ആദ്യത്തെ ഇന്തോ-യൂറോപ്യന്മാർ താമ്രശിലായുഗത്തിലെ വുസെഡോൾ സംസ്കാരത്തിലെ അംഗങ്ങളാണെന്ന് കരുതപ്പെടുന്നു. വെങ്കലയുഗത്തിൽ ഈ പ്രദേശത്ത് ഇരുമ്പ് യുഗത്തിൽ [പരസ്പരവിരുദ്ധമായ] സെൻട്രൽ ബോസ്നിയൻ സാംസ്കാരിക ഗ്രൂപ്പും ഗ്ലാസിനാക് സംസ്കാരവും വസിച്ചിരുന്നതായി കരുതപ്പെടുന്നു. പിന്നീട് ഡെയ്സിയേറ്റിലെ ഇല്ല്രിയൻ ഗോത്രം ഈ പ്രദേശത്ത് ആധിപത്യം സ്ഥാപിച്ചു.<ref>{{Cite journal |last=Ivan Mužić |date=December 2010 |title=Bijeli Hrvati u banskoj Hrvatskoj i županijska Hrvatska |url=http://hrcak.srce.hr/index.php?show=clanak&id_clanak_jezik=120730&lang=en |url-status=live |journal=Starohrvatska Prosvjeta |language=hr |location=Split, Croatia |publisher=Museum of Croatian Archaeological Monuments |volume=III |page=270 |issn=0351-4536 |archive-url=https://web.archive.org/web/20150128114012/http://hrcak.srce.hr/index.php?show=clanak&id_clanak_jezik=120730&lang=en |archive-date=2015-01-28 |access-date=2012-09-12 |quote=Bosna u obujmu, u kakvom se navodi u djelu DAI kao jedinstvena teritorijalna jedinica, protezala se, kako neki autori smatraju, na području u kojem su prije prebivali Desitijati (M. Hadžijahić). Ti Desitijati, koji su nastavali istočnu i srednju Bosnu počevši od Travnika prema Rogatici pa dalje, imali su središte oko današnje Breze. (Mandić 1942, str. 133.)}}</ref>  1154ൽ ബോസ്നിയൻ സംസ്ഥാനത്തിന്റെ ആദ്യത്തെ ഒറ്റപ്പെട്ട ഭരണാധികാരിയും വൈസ്രോയി ബാൻ ബോറിക് നിയമിക്കപ്പെടുന്നതുവരെ ഈ പ്രദേശത്തിന്റെ ചരിത്രപരമായ രേഖകൾ വിരളമാണ്. ഡി അഡ്മിനിസ്ട്രേൻഡോ ഇംപെറിയോ ബൊസോണയിലെ ഒരു ചെറിയ സെർബിയൻ ജുപയെ (ഗ്രീക്ക്ഃ χωρίον βοδσονα) വിവരിക്കുന്നു, അത് ആധുനിക കാലത്തെ സാരജേവോയിലെയും വിസോക്കോ ബോസ്ന നദിക്ക് ചുറ്റുമായി സ്ഥിതിചെയ്യുന്നു.{{Sfn|Mrgić-Radojčić|2004|p=52–53}} [[പ്രമാണം:Medieval_Bosnian_State_Expansion-en.svg|ലഘുചിത്രം|ബോസ്നിയൻ സാമ്രാജ്യത്തിന്റെ വിപുലീകരണം]] പതിനാലാം നൂറ്റാണ്ടിന്റെ അവസാനത്തിൽ ബോസ്നിയയിലെ ട്വർട്ട്കോ ഒന്നാമന്റെ കീഴിൽ ബോസ്നിയൻ സാമ്രാജ്യത്തിൽ ഇന്നത്തെ ബോസ്നിയയുടെയും പിന്നീട് ഹെർസഗോവിന എന്നറിയപ്പെട്ടിരുന്നതിന്റെയും ഭൂരിഭാഗവും ഉൾപ്പെട്ടിരുന്നു. 1463ൽ ഓട്ടോമൻ സാമ്രാജ്യത്തിന് ഈ രാജ്യത്തിന് സ്വാതന്ത്ര്യം നഷ്ടപ്പെട്ടു. അധിനിവേശ സമയത്ത് ബോസ്നിയയുടെ പടിഞ്ഞാറൻ നഗരത്തിന്റെ പ്രദേശം ജാസ് ആയിരുന്നു.<ref>{{Cite book |last=Pinson |first=Mark |url=https://books.google.com/books?id=Yl3TAkJmztYC&pg=PA11 |title=The Muslims of Bosnia-Herzegovina, the Historic Development from Middle Ages to the Dissolution of Yugoslavia |publisher=President and Fellows of Harvard College |year=1996 |isbn=0-932885-12-8 |edition=Second |location=United States of America |page=11 |quote=... in Bosnia Jajce under Hungarian garrison actually held until 1527 |access-date=2012-05-06 |orig-year=1993 |archive-url=https://web.archive.org/web/20230215025827/https://books.google.com/books?id=Yl3TAkJmztYC&pg=PA11 |archive-date=2023-02-15 |url-status=live}}</ref> ഓട്ടോമൻ സാമ്രാജ്യം തുടക്കത്തിൽ ബോസ്നിയയിലേക്കും ഹെർസഗോവിനയിലേക്കും ബോസാൻസ്കോ ക്രാജിസ്റ്റെ എന്ന പ്രദേശത്തിലൂടെ വ്യാപിച്ചു. ഇത് ബോസ്നിയയിലെ സഞ്ജക് എന്നും 1462/1463 ശേഷം ഹെർസഗോവിനയിലെ സഞ്ജക് ആയും രൂപാന്തരപ്പെട്ടു. ബെറിസ്ലാവിക് ഗ്രാബർസ്കി പ്രഭുവായ കുടുംബത്തിലെ കൌണ്ടുകൾ ഫ്രാഞ്ചോയും ഇവാനിസ് ബെറിസ്ലാവിക് വടക്കും പടിഞ്ഞാറും നീണ്ട സായുധ ചെറുത്തുനിൽപ്പിന് ശേഷം 1527-ൽ ബോസ്നിയയിലെ ഇയാലെറ്റ് എന്ന ആദ്യത്തെ ഓട്ടോമൻ ഭരണകൂടം ഒടുവിൽ രൂപീകരിക്കപ്പെട്ടു. ഒടുവിൽ, മഹത്തായ തുർക്കി യുദ്ധത്തെത്തുടർന്ന്, പതിനെട്ടാം നൂറ്റാണ്ടിൽ ഇന്നത്തെ ബോസ്നിയ, ഹെർസഗോവിനയുമായി ഏറെക്കുറെ പൊരുത്തപ്പെടുന്ന പ്രദേശത്തെ ഇയാലെറ്റ് ഉൾക്കൊള്ളുന്നു. 1833-ൽ ഹെർസഗോവിനയിലെ ഇയാലെറ്റ് അലി-പാസ റിസ്വാൻബെഗോവിച്ചിന്റെ കീഴിൽ താൽക്കാലികമായി വിഭജിക്കപ്പെട്ടു. അദ്ദേഹത്തിന്റെ മരണത്തെത്തുടർന്നുള്ള രാഷ്ട്രീയ സംഭവവികാസങ്ങളുടെ ഫലമായി 1853-ൽ ഈ പ്രദേശത്തിന് "ബോസ്നിയ ആൻഡ് ഹെർസഗോവിന" എന്ന പേര് ലഭിച്ചു. 1864ലെ ഭരണപരിഷ്കാരത്തിനുശേഷം ഈ പ്രവിശ്യയ്ക്ക് ബോസ്നിയയിലെ വിലായെറ്റ് എന്ന് പേരിട്ടു. 1878ൽ [[ആസ്ട്രോ-ഹങ്കേറിയൻ സാമ്രാജ്യം|ഓസ്ട്രിയ-ഹംഗറി]] മുഴുവൻ വിലായത്തും അധിനിവേശം നടത്തി. 1908 ൽ ഓസ്ട്രിയ-ഹംഗറി പ്രവിശ്യയെ ഔപചാരികമായി കൂട്ടിച്ചേർത്ത് ബോസ്നിയൻ പ്രതിസന്ധി പ്രകോപിപ്പിക്കുന്നതുവരെ ബോസ്നിയയുടെയും ഹെർസഗോവിനയുടെയും കോണ്ടോമിനിയം എന്ന പേരിൽ ഇത് ഔദ്യോഗികമായി ഓട്ടോമൻ സാമ്രാജ്യത്തിന്റെ ഭാഗമായി തുടർന്നു. 1918 മുതൽ ബോസ്നിയ [[യുഗോസ്ലാവിയ|യൂഗോസ്ലാവിയ]] ഭാഗമായിരുന്നു, തുടക്കത്തിൽ സെർബിയൻ രാജവംശം ഭരിച്ചിരുന്ന യൂഗോസ്ലാവ് സാമ്രാജ്യമായിരുന്നു അത്. 1943ൽ ചെറുത്തുനിൽപ്പ് നേതാവും കമ്മ്യൂണിസ്റ്റ് പാർട്ടി അംഗവുമായ [[ജോസിപ് ബ്രോസ് ടിറ്റോ]] വിമോചനത്തിന് മുമ്പ് രണ്ടാം ലോകമഹായുദ്ധസമയത്ത് [[അച്ചുതണ്ട് ശക്തികൾ]] ഇത് കൈവശപ്പെടുത്തിയിരുന്നു. ബോസ്നിയ സോഷ്യലിസ്റ്റ് ഫെഡറൽ റിപ്പബ്ലിക് ഓഫ് യൂഗോസ്ലാവിയ ഭാഗമായി തുടർന്നു, അത് അന്തർ-വംശീയ യൂഗോസ്ലാവ് യുദ്ധങ്ങളിൽ നിന്നും പ്രത്യേകിച്ച് ബോസ്നിയൻ യുദ്ധത്തിൽ നിന്നും വേർപെട്ടു, അതിൽ ബോസ്നിയൻ വംശഹത്യ ഉൾപ്പെടുന്നു, ബോസ്നിയാക്കുകളുടെ (ബോസ്നിയൻ മുസ്ലിം, ബോസ്നിയൻ ക്രോട്ടുകൾ) വ്യാപകമായ വംശീയ ശുദ്ധീകരണത്തോടെ. ഇത് ബോസ്നിയയുടെയും ഹെർസഗോവിനയുടെയും സ്വാതന്ത്ര്യ പ്രഖ്യാപനത്തിലേക്ക് നയിച്ചു (1992). == പ്രാദേശിക സ്വത്വം == ''ബോസ്നിയ'' ഹെർസഗോവിന, ബോസ്നിയ പ്രദേശത്തിന് അയൽരാജ്യമായ ഹെർസഗിനോയുടെ പ്രാദേശിക സ്വത്വത്തിൽ നിന്ന് വ്യത്യസ്തമായ ഒരു പരമ്പരാഗത പ്രാദേശിക സ്വത്വമുണ്ട്. പത്താം നൂറ്റാണ്ടിൽ തന്നെ ബോസ്നിയയെ ഒരു പ്രത്യേക പ്രദേശമായി കോൺസ്റ്റാന്റിൻ ഏഴാമൻ പോർഫിറോജെനെറ്റോസ് പരാമർശിച്ചപ്പോൾ ''ബോസ്നിയൻ'' പ്രാദേശിക സ്വത്വം സാക്ഷ്യപ്പെടുത്തി.{{Sfn|Moravcsik|1967|p=161}} ബോസ്നിയയുടെ പ്രാദേശിക സ്വത്വത്തിന്റെ വികസനം മധ്യകാലഘട്ടത്തിലുടനീളം തുടർന്നു, പതിനഞ്ചാം നൂറ്റാണ്ടിൽ ഓട്ടോമൻ ജേതാക്കളും ഇത് അംഗീകരിച്ചു, അവർ 1463 ൽ ബോസ്നിയയിലെ സഞ്ജക് സൃഷ്ടിച്ചു, ഇതിന് ഒരു പ്രാദേശിക നാമം നൽകി, അത് എല്ലായ്പ്പോഴും അങ്ങനെയായിരുന്നില്ല.{{Sfn|Ramet|1989|p=303}} ഓട്ടോമൻ ഭരണത്തിന്റെ അവസാനത്തോടെ (1878) പ്രാദേശിക ബോസ്നിയൻ പ്രാദേശിക സ്വത്വത്തിന്റെ ഒരു പ്രത്യേക അടയാളമായി മാറി, ഇത് ബോസ്നിയയിലെ പൊതു ജനസംഖ്യയ്ക്കുള്ളിലെ പരമ്പരാഗത വംശീയവും മതപരവുമായ വ്യത്യാസങ്ങളെ മറികടന്നു, പ്രാദേശിക ബോസ്നിയാണ്ടത്തെക്കുറിച്ചുള്ള അതേ ആശയം ഓസ്ട്രോ-ഹങ്കേറിയൻ ഭരണകാലത്തുടനീളം സംരക്ഷിക്കപ്പെട്ടു.{{Sfn|Donia|Fine|1994|p=71–74}} == ഉപപ്രദേശങ്ങൾ == * പൊദ്രിൻജെ, കിഴക്ക് * ബോസാൻസ്ക ക്രാജിന, വടക്കുപടിഞ്ഞാറ് * സെൻട്രൽ ബോസ്നിയ, സെൻട്രല് * പൊസാവിന, ഏറ്റവും വടക്കേ അറ്റത്ത് * സെംബെറിജ, വടക്കുകിഴക്ക് * ട്രോപോജെ, പടിഞ്ഞാറ് == ഇതും കാണുക == * ബോസ്നിയയുടെ ചരിത്രം * ഹെർസഗോവിന == പരാമർശങ്ങൾ == <templatestyles src="Reflist/styles.css" />{{Reflist}} == ഉറവിടങ്ങൾ == <templatestyles src="Refbegin/styles.css" />  == ബാഹ്യ ലിങ്കുകൾ == {{Geographical regions of Bosnia and Herzegovina}}{{Authority Control}} [[വർഗ്ഗം:Coordinates on Wikidata]] [[വർഗ്ഗം:Articles containing Serbo-Croatian-language text]] [[വർഗ്ഗം:Short description is different from Wikidata]] [[വർഗ്ഗം:Articles with short description]] [[വർഗ്ഗം:Pages with unreviewed translations]] 2i7f39z5xku2jpho5cbxq0e6xtftpct സേനാപതി വേണു 0 667458 4622132 2026-05-23T05:50:44Z Akbarali 17542 'ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''സേനാപതി വേണു'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[ഉടുമ്പഞ്ചോല നിയമസഭാമണ്ഡലം|ഉടുമ്പഞ്ചോല]]...' താൾ സൃഷ്ടിച്ചിരിക്കുന്നു 4622132 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''സേനാപതി വേണു'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[ഉടുമ്പഞ്ചോല നിയമസഭാമണ്ഡലം|ഉടുമ്പഞ്ചോല]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗമായി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 20,021 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] 0p9vcw2ts6brsxru9fqxrh6qa8g18ub 4622142 4622132 2026-05-23T06:08:42Z Akbarali 17542 /* */ 4622142 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''സേനാപതി വേണു'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[ഉടുമ്പഞ്ചോല നിയമസഭാമണ്ഡലം|ഉടുമ്പഞ്ചോല]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗമായി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 20,021 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്.<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> == രാഷ്ട്രീയ ജീവിതം == 2026-ൽ നടന്ന കേരള നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ ഉടുമ്പൻചോല നിയോജക മണ്ഡലത്തിൽ നിന്നും യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി അദ്ദേഹം മത്സരിച്ചു. ഈ തെരഞ്ഞെടുപ്പിൽ 64,916 വോട്ടുകൾ നേടിയാണ് അദ്ദേഹം വൻ വിജയം കൈവരിച്ചത്. തന്റെ പ്രധാന എതിരാളിയായിരുന്ന ഇടതുമുന്നണിയിലെ (LDF) കെ.കെ. ജയചന്ദ്രനെ 20,021 വോട്ടുകളുടെ ഭൂരിപക്ഷത്തിനാണ് അദ്ദേഹം പരാജയപ്പെടുത്തിയത്. ഇടതുപക്ഷത്തിന് ശക്തമായ സ്വാധീനമുണ്ടായിരുന്ന തോട്ടം തൊഴിലാളികളും കുടിയേറ്റ കർഷകരും അടങ്ങുന്ന ഉടുമ്പൻചോല മണ്ഡലത്തിൽ, വ്യക്തിപ്രഭാവത്തിലൂടെയും ഇച്ഛാശക്തിയുള്ള നേതൃത്വത്തിലൂടെയും യു.ഡി.എഫിന് അനുകൂലമായ രാഷ്ട്രീയ അട്ടിമറി നേടിക്കൊണ്ടാണ് അദ്ദേഹം ആദ്യമായി കേരള നിയമസഭയിലേക്ക് തെരഞ്ഞെടുക്കപ്പെട്ടത്.<ref>{{Cite web|url=https://www.asianetnews.com/kerala-news/udf-candidate-senapathy-venu-won-in-udumbanchola-assembly-election-2026-articleshow-yyg6g49|title=എം എം മണിയുടെ കോട്ട തകർത്ത് സേനാപതി വേണു, ഉടുമ്പൻചോലയിലും എൽഡിഎഫിനെ കൈവിട്ട് ജനം|access-date=2026-05-23|last=Fb|last2=Tw|language=ml|last3=Linkdin|last4=Whatsapp|last5=Us|first5=GNFollow}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] 2me25uuxr7diktvgnn2bv7q9jmls9kf അഡ്വ. സിറിയക് തോമസ് 0 667459 4622138 2026-05-23T05:58:33Z Akbarali 17542 'ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''അഡ്വ. സിറിയക് തോമസ്'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പീരുമേട് നിയമസഭാമണ്ഡലം|പീരുമേട്]]...' താൾ സൃഷ്ടിച്ചിരിക്കുന്നു 4622138 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''അഡ്വ. സിറിയക് തോമസ്'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പീരുമേട് നിയമസഭാമണ്ഡലം|പീരുമേട്]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗമായി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 27,634 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്..<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] 03becft2d2ccvcirnl01sv1b7b5f9gh 4622140 4622138 2026-05-23T06:03:02Z Akbarali 17542 4622140 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''അഡ്വ. സിറിയക് തോമസ്'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പീരുമേട് നിയമസഭാമണ്ഡലം|പീരുമേട്]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗമായി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 27,634 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്..<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==രാഷ്ട്രീയ ജീവിതം == കോൺഗ്രസ് നേതാവായ അഡ്വ. സിറിയക് തോമസ് യുണൈറ്റഡ് യുഡിഎറ് പ്രതിനിധിയായാണ് പ്രവർത്തിക്കുന്നത്. 2021-ലെ കേരള നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ പീരുമേട് നിയോജക മണ്ഡലത്തിൽ നിന്നും യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി അദ്ദേഹം ആദ്യമായി ജനവിധി തേടിയിരുന്നു. ഇടതുമുന്നണിയിലെ മുതിർന്ന നേതാവായിരുന്ന വാഴൂർ സോമനോട് 1,835 വോട്ടുകളുടെ ചെറിയ ഭൂരിപക്ഷത്തിനാണ് അദ്ദേഹം പരാജയപ്പെട്ടത്. തുടർന്ന്, 2026-ൽ നടന്ന നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ പീരുമേട് മണ്ഡലത്തിൽ നിന്ന് യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി വീണ്ടും മത്സരിക്കുകയും വൻ വിജയം നേടുകയും ചെയ്തു.ഈ തെരഞ്ഞെടുപ്പിൽ എൽ.ഡി.എഫ് സ്ഥാനാർത്ഥി കെ. സലിം കുമാറിനെ 27,634 വോട്ടുകളുടെ വൻ ഭൂരിപക്ഷത്തിന് പരാജയപ്പെടുത്തിക്കൊണ്ടാണ് അദ്ദേഹം ആദ്യമായി കേരള നിയമസഭയിലേക്ക് തെരഞ്ഞെടുക്കപ്പെട്ടത്.<ref>{{Cite web|url=https://www.asianetnews.com/kerala-news/udf-candidate-syriac-thomas-won-in-peerumade-assembly-election-2026-articleshow-gwik4s8|title=പീരുമേടും രക്ഷയില്ല, ഇത്തവണ വലതിനൊപ്പം, സിറിയക് തോമസിന് വിജയം, ഭൂരിപക്ഷം 27000 -ത്തിന് മുകളിൽ|access-date=2026-05-23|last=Fb|last2=Tw|language=ml|last3=Linkdin|last4=Whatsapp|last5=Us|first5=GNFollow}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] h8naq5egld4mcz08z78be0n845ijmbr 4622141 4622140 2026-05-23T06:03:25Z Akbarali 17542 /* രാഷ്ട്രീയ ജീവിതം */ 4622141 wikitext text/x-wiki ഇന്ത്യയിലെ കേരളത്തിലെ ഒരു രാഷ്ട്രീയപ്രവർത്തകനും എംഎൽഎയുമാണ് '''അഡ്വ. സിറിയക് തോമസ്'''. നിലവിൽ [[കേരള നിയമസഭ|കേരള നിയമസഭയിലെ]] [[പീരുമേട് നിയമസഭാമണ്ഡലം|പീരുമേട്]] നിയോജകമണ്ഡലത്തിലെ നിയമസഭാംഗമായി സേവനമനുഷ്ഠിക്കുന്നു. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം [[കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പ് (2026)|2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിലാണ്]] തിരഞ്ഞെടുക്കപ്പെട്ടത്. 27,634 വോട്ടിന്റെ ഭൂരിപക്ഷത്തിനാണ് വിജയിച്ചത്..<ref>{{Cite web|url=https://results.eci.gov.in/ResultAcGenMay2026/partywisewinresult-742S11.htm|title=Election Commission of India|access-date=2026-05-23|language=en}}</ref> ==രാഷ്ട്രീയ ജീവിതം == കോൺഗ്രസ് നേതാവായ അഡ്വ. സിറിയക് തോമസ് യുഡിഎഫ് പ്രതിനിധിയായാണ് പ്രവർത്തിക്കുന്നത്. 2021-ലെ കേരള നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ പീരുമേട് നിയോജക മണ്ഡലത്തിൽ നിന്നും യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി അദ്ദേഹം ആദ്യമായി ജനവിധി തേടിയിരുന്നു. ഇടതുമുന്നണിയിലെ മുതിർന്ന നേതാവായിരുന്ന വാഴൂർ സോമനോട് 1,835 വോട്ടുകളുടെ ചെറിയ ഭൂരിപക്ഷത്തിനാണ് അദ്ദേഹം പരാജയപ്പെട്ടത്. തുടർന്ന്, 2026-ൽ നടന്ന നിയമസഭാ തെരഞ്ഞെടുപ്പിൽ പീരുമേട് മണ്ഡലത്തിൽ നിന്ന് യു.ഡി.എഫ് സ്ഥാനാർത്ഥിയായി വീണ്ടും മത്സരിക്കുകയും വൻ വിജയം നേടുകയും ചെയ്തു.ഈ തെരഞ്ഞെടുപ്പിൽ എൽ.ഡി.എഫ് സ്ഥാനാർത്ഥി കെ. സലിം കുമാറിനെ 27,634 വോട്ടുകളുടെ വൻ ഭൂരിപക്ഷത്തിന് പരാജയപ്പെടുത്തിക്കൊണ്ടാണ് അദ്ദേഹം ആദ്യമായി കേരള നിയമസഭയിലേക്ക് തെരഞ്ഞെടുക്കപ്പെട്ടത്.<ref>{{Cite web|url=https://www.asianetnews.com/kerala-news/udf-candidate-syriac-thomas-won-in-peerumade-assembly-election-2026-articleshow-gwik4s8|title=പീരുമേടും രക്ഷയില്ല, ഇത്തവണ വലതിനൊപ്പം, സിറിയക് തോമസിന് വിജയം, ഭൂരിപക്ഷം 27000 -ത്തിന് മുകളിൽ|access-date=2026-05-23|last=Fb|last2=Tw|language=ml|last3=Linkdin|last4=Whatsapp|last5=Us|first5=GNFollow}}</ref> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] awjw9ep7933qwvfcsamfrdic6p3sobd അറബീം ഒട്ടകോം പി. മാധവൻ നായരും 0 667460 4622144 2026-05-23T06:10:13Z Sreehari lijinas 209493 Sreehari lijinas എന്ന ഉപയോക്താവ് [[അറബീം ഒട്ടകോം പി. മാധവൻ നായരും]] എന്ന താൾ [[അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 4622144 wikitext text/x-wiki #തിരിച്ചുവിടുക [[അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ]] s0nrbea5d1kqqyr0gfz4yhr6l6wcn0e സംവാദം:അറബീം ഒട്ടകോം പി. മാധവൻ നായരും 1 667461 4622146 2026-05-23T06:10:13Z Sreehari lijinas 209493 Sreehari lijinas എന്ന ഉപയോക്താവ് [[സംവാദം:അറബീം ഒട്ടകോം പി. മാധവൻ നായരും]] എന്ന താൾ [[സംവാദം:അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 4622146 wikitext text/x-wiki #തിരിച്ചുവിടുക [[സംവാദം:അറബീം ഒട്ടകോം പി. മാധവൻ നായരും ഒരു മരുഭൂമിക്കഥ]] jtg4491p1zf4nnv2ngmhm2gcpc8cvkl സെബാസ്റ്റ്യൻ എം. ജെ. 0 667462 4622148 2026-05-23T06:17:11Z Hadhi Ferhan 218147 "[[:en:Special:Redirect/revision/1353156548|Sebastian M. J.]]" എന്ന താൾ പരിഭാഷപ്പെടുത്തിയത്. 4622148 wikitext text/x-wiki <templatestyles src="Module:Message box/ambox.css"></templatestyles>{{Infobox officeholder | name = അഡ്വ.സെബാസ്റ്റ്യൻ എം ജെ | image = | caption = | office = കേരള നിയമസഭാ അംഗം | termstart = May 2026 | termend = | constituency = പൂഞ്ഞാർ നിയോജക മണ്ഡലം | predecessor = [[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] | successor = | birth_name = Sebastian M. J. | birth_date = {{Birth year and age|1969}} | birth_place = [[Kottayam district]], [[Kerala]], India | death_date = | death_place = | party = [[Indian National Congress]] | occupation = Advocate, Politician, Businessman | education = BA, LLB, MBA }} '''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' (ജനനം 1969) ഒരു കേരള രാഷ്ട്രീയക്കാരനും അഭിഭാഷകനുമാണ്. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം 2026 ലെ [[കേരള നിയമസഭ]] തിരഞ്ഞെടുപ്പിൽ നിലവിലെ പ്രതിനിധിയെയും മുതിർന്ന പ്രാദേശിക നേതാവിനെയും പരാജയപ്പെടുത്തി തിരഞ്ഞെടുക്കപ്പെട്ടു. == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == കേരളത്തിലെ കോട്ടയം ജില്ലയിൽ ജോസഫിന്റെ പുത്രൻ സെബാസ്റ്റ്യൻ എം. ജെ. ജനിച്ചു. 1989 ൽ പാലായിലെ സെന്റ് തോമസ് കോളേജിൽ നിന്ന് ബാച്ചിലർ ഓഫ് ആർട്സ് (ബി. എ.) പൂർത്തിയാക്കി. ശേഷം 1993ൽ സിംബയോസിസ് ലോ സ്കൂളിൽ നിന്ന് എൽഎൽബി നേടിയ അദ്ദേഹം നിയമ വിദ്യാഭ്യാസം തുടർന്നു, തുടർന്ന് 1995ൽ സിംബിയോസിസ് ഇന്റർനാഷണൽ യൂണിവേഴ്സിറ്റിയിൽ നിന്ന് എംബിഎ നേടി. പ്രൊഫഷണലായി, നിയമ പ്രാക്ടീസ്, കൃഷി, ബിസിനസ്സ് എന്നിവയിൽ അദ്ദേഹം ഏർപ്പെട്ടിട്ടുണ്ട്. കോട്ടയത്തെ കോൺഗ്രസ് പാർട്ടിയുടെ പ്രാദേശിക സംഘടനാ സംവിധാനത്തിലൂടെ സെബാസ്റ്റ്യൻ ഉയർന്നു. 2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ, ഉയർന്ന നിലവാരമുള്ള തിരഞ്ഞെടുപ്പ് മത്സരങ്ങൾക്ക് പേരുകേട്ട പൂഞ്ഞാർ മണ്ഡലത്തിൽ നിന്ന് മത്സരിക്കാൻ കോൺഗ്രസ് അദ്ദേഹത്തെ നാമനിർദ്ദേശം ചെയ്തു. മധ്യതിരുവിതാംകൂർ രാഷ്ട്രീയത്തിലെ ഒരു പ്രധാന മാറ്റമായി മാധ്യമങ്ങൾ വിശേഷിപ്പിച്ച വിജയത്തിൽ സെബാസ്റ്റ്യൻ 56,900 വോട്ടുകൾ നേടി. നിലവിലെ എംഎൽഎയായ കേരള കോൺഗ്രസ്സിന്റെ സെബാസ്റ്റ്യൻ കുളത്തുങ്കലിനെ 50,207 വോട്ടുകൾ നേടിയാണ് അദ്ദേഹം പരാജയപ്പെടുത്തിയത്, മുതിർന്ന രാഷ്ട്രീയക്കാരനായ [[ഭാരതീയ ജനതാ പാർട്ടി]] പിസി ജോർജ് മൂന്നാം സ്ഥാനത്തെത്തി. കോട്ടയം ജില്ലയുടെ കിഴക്കൻ പ്രദേശങ്ങളിലെ റബ്ബർ കർഷകരും കാർഷിക സമൂഹവും അഭിമുഖീകരിക്കുന്ന പ്രശ്നങ്ങളിലാണ് അദ്ദേഹത്തിന്റെ പ്രചാരണം നടത്തിയത് {| class="wikitable sortable" style="text-align:right" ! scope="col" style="width:130px" |പാർട്ടി ! scope="col" style="width:220px" |സ്ഥാനാർത്ഥി ! scope="col" style="width:80px" |വോട്ടുകൾ ! scope="col" style="width:50px" |% ! scope="col" style="width:50px" |±% |- | style="background-color: {{party color|Indian National Congress}}" | | scope="row" style="text-align:left" |'''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഐഎൻസി]]''' | style="text-align:left" |'''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' |'''56,900''' |'''39.43''' |'''+16.32''' |- | style="background-color: #008000" | | scope="row" style="text-align:left" |[[കേരള കോൺഗ്രസ് (എം)|കെ. സി. (എം.]] | style="text-align:left" |[[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] |50,207 |34.79 | -14.12 |- | style="background-color: {{party color|Bharatiya Janata Party}}" | | scope="row" style="text-align:left" |[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] | style="text-align:left" |[[പി.സി. ജോർജ്ജ്|പി. സി. ജോർജ്]] |36,172 |25.07 | - |- | style="background-color: #0000FF" | | scope="row" style="text-align:left" |[[ബഹുജൻ സമാജ് പാർട്ടി|ബിഎസ്പി]] | style="text-align:left" |ഷൈനി എ. സി. |603 |0.42 | - |- ! colspan="2" style="text-align:left" |വിജയത്തിന്റെ മാർജിൻ !6,693 !4.64 ! |- ! colspan="2" style="text-align:left" |മൊത്തം സാധുവായ വോട്ടുകൾ !1,44,302 ! ! |- | colspan="2" style="background-color: {{party color|Indian National Congress}}; text-align:left" |'''[[Indian National Congress|INC]] gain''' from [[Kerala Congress (M)|KC(M)]] |'''സ്വിംഗ്''' | +15.22 | |} {{Reflist|refs=<ref name="ECI_Result">{{cite web |title=General Election to Assembly Constituencies: Trends & Results May-2026 - Poonjar (S11101) |url=https://results.eci.gov.in/ResultAcGenMay2026/candidateswise-S11101.htm |publisher=Election Commission of India |access-date=5 May 2026}}</ref> <ref name="NDTV_Win">{{cite news |title=Live: Poonjar Election Results 2026 - Adv. Sebastian M. J. Won |url=https://www.ndtv.com/elections/kerala-assembly-election-results-2026/poonjar |work=[[NDTV]] |date=5 May 2026}}</ref> <ref name="TOI_Poonjar">{{cite news |title=Poonjar Assembly Election Results 2026 Live Updates: Congress candidate Adv. Sebastian M. J. wins the seat |url=https://timesofindia.indiatimes.com/elections/assembly-elections/kerala/poonjar-assembly-election-results-2026-live-updates/liveblog/130695158.cms |work=[[The Times of India]] |date=4 May 2026}}</ref> <ref name="MyNeta">{{cite web |title=Adv. Sebastian M. J. (Indian National Congress): Constituency - Poonjar (Kottayam) - Affidavit Information |url=https://www.myneta.info/Kerala2026/candidate.php?candidate_id=846 |publisher=Association for Democratic Reforms |access-date=5 May 2026}}</ref> <ref name="Hindu_Profile">{{cite news |title=Adv. Sebastian M. J., POONJAR constituency, INC, Kerala Assembly Election 2026: Profile & Affidavit |url=https://www.thehindu.com/elections/candidates/Kerala2026/adv-sebastian-m-j-846/ |work=[[The Hindu]] |date=5 May 2026}}</ref> <ref name="HT_Analysis">{{cite news |title=After 2021 setback, P. C. George fails once again, finishes behind Kerala Congress (M) and INC in Poonjar |url=https://www.hindustantimes.com/india-news/after-2021-setback-p-c-george-seeks-fresh-mandate-from-poonjar-in-2026-assembly-election-results-101777627504591.html |work=[[Hindustan Times]] |date=4 May 2026}}</ref> <ref name="Affidavit_ECI">{{cite web |title=Candidate Details - Adv. Sebastian M. J. |url=https://affidavit.eci.gov.in/show-profile/Adv_Sebastian_MJ_2026 |publisher=Election Commission of India |date=23 March 2026}}</ref>}} [[വർഗ്ഗം:കോട്ടയം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1969-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:Date of birth not in Wikidata]] anr8od6efl9tjp98e5hgn9fx4o0f00v 4622155 4622148 2026-05-23T06:45:26Z ~2026-12275-19 214477 4622155 wikitext text/x-wiki <templatestyles src="Module:Message box/ambox.css"></templatestyles>{{Infobox officeholder | name = അഡ്വ.സെബാസ്റ്റ്യൻ എം ജെ | image = | caption = | office = കേരള നിയമസഭാ അംഗം | termstart = May 2026 | termend = | constituency = പൂഞ്ഞാർ നിയോജക മണ്ഡലം | predecessor = [[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] | successor = | birth_name = Sebastian M. J. | birth_date = {{Birth year and age|1969}} | birth_place = [[Kottayam district]], [[Kerala]], India | death_date = | death_place = | party = [[Indian National Congress]] | occupation = Advocate, Politician, Businessman | education = BA, LLB, MBA }} '''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' (ജനനം 1969) ഒരു കേരള രാഷ്ട്രീയക്കാരനും അഭിഭാഷകനുമാണ്. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം 2026 ലെ [[കേരള നിയമസഭ|കേരള നിയമസഭാ]] തിരഞ്ഞെടുപ്പിൽ നിലവിലെ പ്രതിനിധിയെണ്. മുതിർന്ന പ്രാദേശിക നേതാവായിരുന്ന മുൻ എം. എൽ. എ അഡ്വക്കറ്റ് സെബാസ്റ്റ്യൻ കുളത്തിങ്കലിനെ പരാജയപ്പെടുത്തിയാണ് അദ്ദേഹം തിരഞ്ഞെടുക്കപ്പെട്ടത് . == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == കേരളത്തിലെ കോട്ടയം ജില്ലയിൽ ജോസഫിന്റെ പുത്രൻ സെബാസ്റ്റ്യൻ എം. ജെ. ജനിച്ചു. 1989 ൽ പാലായിലെ സെന്റ് തോമസ് കോളേജിൽ നിന്ന് ബാച്ചിലർ ഓഫ് ആർട്സ് (ബി. എ.) പൂർത്തിയാക്കി. ശേഷം 1993ൽ സിംബയോസിസ് ലോ സ്കൂളിൽ നിന്ന് എൽഎൽബി നേടിയ അദ്ദേഹം നിയമ വിദ്യാഭ്യാസം തുടർന്നു, തുടർന്ന് 1995ൽ സിംബിയോസിസ് ഇന്റർനാഷണൽ യൂണിവേഴ്സിറ്റിയിൽ നിന്ന് എംബിഎ നേടി. പ്രൊഫഷണലായി, നിയമ പ്രാക്ടീസ്, കൃഷി, ബിസിനസ്സ് എന്നിവയിൽ അദ്ദേഹം ഏർപ്പെട്ടിട്ടുണ്ട്. കോട്ടയത്തെ കോൺഗ്രസ് പാർട്ടിയുടെ പ്രാദേശിക സംഘടനാ സംവിധാനത്തിലൂടെ സെബാസ്റ്റ്യൻ ഉയർന്നു. 2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ, ഉയർന്ന നിലവാരമുള്ള തിരഞ്ഞെടുപ്പ് മത്സരങ്ങൾക്ക് പേരുകേട്ട പൂഞ്ഞാർ മണ്ഡലത്തിൽ നിന്ന് മത്സരിക്കാൻ കോൺഗ്രസ് അദ്ദേഹത്തെ നാമനിർദ്ദേശം ചെയ്തു. മധ്യതിരുവിതാംകൂർ രാഷ്ട്രീയത്തിലെ ഒരു പ്രധാന മാറ്റമായി മാധ്യമങ്ങൾ വിശേഷിപ്പിച്ച വിജയത്തിൽ സെബാസ്റ്റ്യൻ 56,900 വോട്ടുകൾ നേടി. നിലവിലെ എംഎൽഎയായ കേരള കോൺഗ്രസ്സിന്റെ സെബാസ്റ്റ്യൻ കുളത്തുങ്കലിനെ 50,207 വോട്ടുകൾ നേടിയാണ് അദ്ദേഹം പരാജയപ്പെടുത്തിയത്, മുതിർന്ന രാഷ്ട്രീയക്കാരനായ [[ഭാരതീയ ജനതാ പാർട്ടി]] പിസി ജോർജ് മൂന്നാം സ്ഥാനത്തെത്തി. കോട്ടയം ജില്ലയുടെ കിഴക്കൻ പ്രദേശങ്ങളിലെ റബ്ബർ കർഷകരും കാർഷിക സമൂഹവും അഭിമുഖീകരിക്കുന്ന പ്രശ്നങ്ങളിലാണ് അദ്ദേഹത്തിന്റെ പ്രചാരണം നടത്തിയത് {| class="wikitable sortable" style="text-align:right" ! scope="col" style="width:130px" |പാർട്ടി ! scope="col" style="width:220px" |സ്ഥാനാർത്ഥി ! scope="col" style="width:80px" |വോട്ടുകൾ ! scope="col" style="width:50px" |% ! scope="col" style="width:50px" |±% |- | style="background-color: {{party color|Indian National Congress}}" | | scope="row" style="text-align:left" |'''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഐഎൻസി]]''' | style="text-align:left" |'''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' |'''56,900''' |'''39.43''' |'''+16.32''' |- | style="background-color: #008000" | | scope="row" style="text-align:left" |[[കേരള കോൺഗ്രസ് (എം)|കെ. സി. (എം.]] | style="text-align:left" |[[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] |50,207 |34.79 | -14.12 |- | style="background-color: {{party color|Bharatiya Janata Party}}" | | scope="row" style="text-align:left" |[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] | style="text-align:left" |[[പി.സി. ജോർജ്ജ്|പി. സി. ജോർജ്]] |36,172 |25.07 | - |- | style="background-color: #0000FF" | | scope="row" style="text-align:left" |[[ബഹുജൻ സമാജ് പാർട്ടി|ബിഎസ്പി]] | style="text-align:left" |ഷൈനി എ. സി. |603 |0.42 | - |- ! colspan="2" style="text-align:left" |വിജയത്തിന്റെ മാർജിൻ !6,693 !4.64 ! |- ! colspan="2" style="text-align:left" |മൊത്തം സാധുവായ വോട്ടുകൾ !1,44,302 ! ! |- | colspan="2" style="background-color: {{party color|Indian National Congress}}; text-align:left" |'''[[Indian National Congress|INC]] gain''' from [[Kerala Congress (M)|KC(M)]] |'''സ്വിംഗ്''' | +15.22 | |} {{Reflist|refs=<ref name="ECI_Result">{{cite web |title=General Election to Assembly Constituencies: Trends & Results May-2026 - Poonjar (S11101) |url=https://results.eci.gov.in/ResultAcGenMay2026/candidateswise-S11101.htm |publisher=Election Commission of India |access-date=5 May 2026}}</ref> <ref name="NDTV_Win">{{cite news |title=Live: Poonjar Election Results 2026 - Adv. Sebastian M. J. Won |url=https://www.ndtv.com/elections/kerala-assembly-election-results-2026/poonjar |work=[[NDTV]] |date=5 May 2026}}</ref> <ref name="TOI_Poonjar">{{cite news |title=Poonjar Assembly Election Results 2026 Live Updates: Congress candidate Adv. Sebastian M. J. wins the seat |url=https://timesofindia.indiatimes.com/elections/assembly-elections/kerala/poonjar-assembly-election-results-2026-live-updates/liveblog/130695158.cms |work=[[The Times of India]] |date=4 May 2026}}</ref> <ref name="MyNeta">{{cite web |title=Adv. Sebastian M. J. (Indian National Congress): Constituency - Poonjar (Kottayam) - Affidavit Information |url=https://www.myneta.info/Kerala2026/candidate.php?candidate_id=846 |publisher=Association for Democratic Reforms |access-date=5 May 2026}}</ref> <ref name="Hindu_Profile">{{cite news |title=Adv. Sebastian M. J., POONJAR constituency, INC, Kerala Assembly Election 2026: Profile & Affidavit |url=https://www.thehindu.com/elections/candidates/Kerala2026/adv-sebastian-m-j-846/ |work=[[The Hindu]] |date=5 May 2026}}</ref> <ref name="HT_Analysis">{{cite news |title=After 2021 setback, P. C. George fails once again, finishes behind Kerala Congress (M) and INC in Poonjar |url=https://www.hindustantimes.com/india-news/after-2021-setback-p-c-george-seeks-fresh-mandate-from-poonjar-in-2026-assembly-election-results-101777627504591.html |work=[[Hindustan Times]] |date=4 May 2026}}</ref> <ref name="Affidavit_ECI">{{cite web |title=Candidate Details - Adv. Sebastian M. J. |url=https://affidavit.eci.gov.in/show-profile/Adv_Sebastian_MJ_2026 |publisher=Election Commission of India |date=23 March 2026}}</ref>}} [[വർഗ്ഗം:കോട്ടയം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1969-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:Date of birth not in Wikidata]] 8om7m5cvoh2zwmgztv3aqvqfkiydig9 4622160 4622155 2026-05-23T07:15:40Z ~2026-12275-19 214477 4622160 wikitext text/x-wiki <templatestyles src="Module:Message box/ambox.css"></templatestyles>{{Infobox officeholder | name = അഡ്വ.സെബാസ്റ്റ്യൻ എം ജെ | image = | caption = | office = കേരള നിയമസഭാ അംഗം | termstart = May 2026 | termend = | constituency = പൂഞ്ഞാർ നിയോജക മണ്ഡലം | predecessor = [[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] | successor = | birth_name = Sebastian M. J. | birth_date = {{Birth year and age|1969}} | birth_place = [[Kottayam district]], [[Kerala]], India | death_date = | death_place = | party = [[Indian National Congress]] | occupation = Advocate, Politician, Businessman | education = BA, LLB, MBA }} '''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' (ജനനം 1969) ഒരു കേരള രാഷ്ട്രീയക്കാരനും അഭിഭാഷകനുമാണ്. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം 2026 ലെ [[കേരള നിയമസഭ|കേരള നിയമസഭാ]] തിരഞ്ഞെടുപ്പിൽ നിലവിലെ പ്രതിനിധിയെണ്. മുതിർന്ന പ്രാദേശിക നേതാവായിരുന്ന മുൻ എം. എൽ. എ അഡ്വക്കറ്റ് സെബാസ്റ്റ്യൻ കുളത്തിങ്കലിനെ പരാജയപ്പെടുത്തിയാണ് അദ്ദേഹം തിരഞ്ഞെടുക്കപ്പെട്ടത് . == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == കേരളത്തിലെ കോട്ടയം ജില്ലയിൽ ജോസഫിന്റെ പുത്രൻ സെബാസ്റ്റ്യൻ എം. ജെ. ജനിച്ചു. 1989 ൽ പാലായിലെ സെന്റ് തോമസ് കോളേജിൽ നിന്ന് ബാച്ചിലർ ഓഫ് ആർട്സ് (ബി. എ.) പൂർത്തിയാക്കി. ശേഷം 1993ൽ സിംബയോസിസ് ലോ സ്കൂളിൽ നിന്ന് എൽഎൽബി നേടിയ അദ്ദേഹം നിയമ വിദ്യാഭ്യാസം തുടർന്നു, തുടർന്ന് 1995ൽ സിംബിയോസിസ് ഇന്റർനാഷണൽ യൂണിവേഴ്സിറ്റിയിൽ നിന്ന് എംബിഎ നേടി. പ്രൊഫഷണലായി, നിയമ പ്രാക്ടീസ്, കൃഷി, ബിസിനസ്സ് എന്നിവയിൽ അദ്ദേഹം ഏർപ്പെട്ടിട്ടുണ്ട്. കോട്ടയത്തെ കോൺഗ്രസ് പാർട്ടിയുടെ പ്രാദേശിക സംഘടനാ സംവിധാനത്തിലൂടെ സെബാസ്റ്റ്യൻ ഉയർന്നു. 2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ, ഉയർന്ന നിലവാരമുള്ള തിരഞ്ഞെടുപ്പ് മത്സരങ്ങൾക്ക് പേരുകേട്ട പൂഞ്ഞാർ മണ്ഡലത്തിൽ നിന്ന് മത്സരിക്കാൻ കോൺഗ്രസ് അദ്ദേഹത്തെ നാമനിർദ്ദേശം ചെയ്തു. മധ്യതിരുവിതാംകൂർ രാഷ്ട്രീയത്തിലെ ഒരു പ്രധാന മാറ്റമായി മാധ്യമങ്ങൾ വിശേഷിപ്പിച്ച വിജയത്തിൽ സെബാസ്റ്റ്യൻ 56,900 വോട്ടുകൾ നേടി. നിലവിലെ എംഎൽഎയായ കേരള കോൺഗ്രസ്സിന്റെ സെബാസ്റ്റ്യൻ കുളത്തുങ്കലിനെ 50,207 വോട്ടുകൾ നേടിയാണ് അദ്ദേഹം പരാജയപ്പെടുത്തിയത്, മുതിർന്ന രാഷ്ട്രീയക്കാരനായ [[ഭാരതീയ ജനതാ പാർട്ടി]] പിസി ജോർജ് മൂന്നാം സ്ഥാനത്തെത്തി. കോട്ടയം ജില്ലയുടെ കിഴക്കൻ പ്രദേശങ്ങളിലെ റബ്ബർ കർഷകരും കാർഷിക സമൂഹവും അഭിമുഖീകരിക്കുന്ന പ്രശ്നങ്ങളിലാണ് അദ്ദേഹത്തിന്റെ പ്രചാരണം നടത്തിയത് {| class="wikitable sortable" style="text-align:right" ! scope="col" style="width:130px" |പാർട്ടി ! scope="col" style="width:220px" |സ്ഥാനാർത്ഥി ! scope="col" style="width:80px" |വോട്ടുകൾ ! scope="col" style="width:50px" |% ! scope="col" style="width:50px" |±% |- | style="background-color: {{party color|Indian National Congress}}" | | scope="row" style="text-align:left" |'''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഐഎൻസി]]''' | style="text-align:left" |'''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' |'''56,900''' |'''39.43''' |'''+16.32''' |- | style="background-color: #008000" | | scope="row" style="text-align:left" |[[കേരള കോൺഗ്രസ് (എം)|കെ. സി. (എം.]] | style="text-align:left" |[[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] |50,207 |34.79 | -14.12 |- | style="background-color: {{party color|Bharatiya Janata Party}}" | | scope="row" style="text-align:left" |[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] | style="text-align:left" |[[പി.സി. ജോർജ്ജ്|പി. സി. ജോർജ്]] |36,172 |25.07 | - |- | style="background-color: #0000FF" | | scope="row" style="text-align:left" |[[ബഹുജൻ സമാജ് പാർട്ടി|ബിഎസ്പി]] | style="text-align:left" |ഷൈനി എ. സി. |603 |0.42 | - |- ! colspan="2" style="text-align:left" |വിജയത്തിന്റെ മാർജിൻ !6,693 !4.64 ! |- ! colspan="2" style="text-align:left" |മൊത്തം സാധുവായ വോട്ടുകൾ !1,44,302 ! ! |- | colspan="2" style="background-color: {{party color|Indian National Congress}}; text-align:left" |'''[[Indian National Congress|INC]] gain''' from [[Kerala Congress (M)|KC(M)]] |'''സ്വിംഗ്''' | +15.22 | |} {{Reflist|refs=<ref name="ECI_Result">{{cite web |title=General Election to Assembly Constituencies: Trends & Results May-2026 - Poonjar (S11101) |url=https://results.eci.gov.in/ResultAcGenMay2026/candidateswise-S11101.htm |publisher=Election Commission of India |access-date=5 May 2026}}</ref> <ref name="NDTV_Win">{{cite news |title=Live: Poonjar Election Results 2026 - Adv. Sebastian M. J. Won |url=https://www.ndtv.com/elections/kerala-assembly-election-results-2026/poonjar |work=[[NDTV]] |date=5 May 2026}}</ref> <ref name="TOI_Poonjar">{{cite news |title=Poonjar Assembly Election Results 2026 Live Updates: Congress candidate Adv. Sebastian M. J. wins the seat |url=https://timesofindia.indiatimes.com/elections/assembly-elections/kerala/poonjar-assembly-election-results-2026-live-updates/liveblog/130695158.cms |work=[[The Times of India]] |date=4 May 2026}}</ref> <ref name="MyNeta">{{cite web |title=Adv. Sebastian M. J. (Indian National Congress): Constituency - Poonjar (Kottayam) - Affidavit Information |url=https://www.myneta.info/Kerala2026/candidate.php?candidate_id=846 |publisher=Association for Democratic Reforms |access-date=5 May 2026}}</ref> <ref name="Hindu_Profile">{{cite news |title=Adv. Sebastian M. J., POONJAR constituency, INC, Kerala Assembly Election 2026: Profile & Affidavit |url=https://www.thehindu.com/elections/candidates/Kerala2026/adv-sebastian-m-j-846/ |work=[[The Hindu]] |date=5 May 2026}}</ref> <ref name="HT_Analysis">{{cite news |title=After 2021 setback, P. C. George fails once again, finishes behind Kerala Congress (M) and INC in Poonjar |url=https://www.hindustantimes.com/india-news/after-2021-setback-p-c-george-seeks-fresh-mandate-from-poonjar-in-2026-assembly-election-results-101777627504591.html |work=[[Hindustan Times]] |date=4 May 2026}}</ref> <ref name="Affidavit_ECI">{{cite web |title=Candidate Details - Adv. Sebastian M. J. |url=https://affidavit.eci.gov.in/show-profile/Adv_Sebastian_MJ_2026 |publisher=Election Commission of India |date=23 March 2026}}</ref>}} [[വർഗ്ഗം:കോട്ടയം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1969-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:Date of birth not in Wikidata]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] pp9hodii2mi6l9npe46058dmrrjyvre 4622180 4622160 2026-05-23T08:03:26Z ~2026-12275-19 214477 4622180 wikitext text/x-wiki <templatestyles src="Module:Message box/ambox.css"></templatestyles>{{Infobox officeholder | name = അഡ്വ.സെബാസ്റ്റ്യൻ എം ജെ | image = | caption = | office = കേരള നിയമസഭാ അംഗം | termstart = May 2026 | termend = | constituency = പൂഞ്ഞാർ നിയോജക മണ്ഡലം | predecessor = [[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] | successor = | birth_name = Sebastian M. J. | birth_date = {{Birth year and age|1969}} | birth_place = [[Kottayam district]], [[Kerala]], India | death_date = | death_place = | party = [[Indian National Congress]] | occupation = Advocate, Politician, Businessman | education = BA, LLB, MBA }} '''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' (ജനനം 1969) കേരളത്തിൽ നിന്നുള്ള ഒരു രാഷ്ട്രീയ പ്രവർത്തകനും അഭിഭാഷകനുമാണ്. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം 2026 ലെ [[കേരള നിയമസഭ|കേരള നിയമസഭാ]] തിരഞ്ഞെടുപ്പിൽ തെരഞ്ഞെടുക്കപ്പെട്ട ജന പ്രതിനിധിയെണ്. മുതിർന്ന രാഷ്രീയ നേതാവായിരുന്ന മുൻ എം. എൽ. എ അഡ്വക്കറ്റ് സെബാസ്റ്റ്യൻ കുളത്തിങ്കലിനെ പരാജയപ്പെടുത്തിയാണ് അദ്ദേഹം നിയമ സഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടത് . == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == കേരളത്തിലെ കോട്ടയം ജില്ലയിൽ ജോസഫിന്റെ പുത്രനായി സെബാസ്റ്റ്യൻ എം. ജെ. ജനിച്ചു. 1989 ൽ പാലായിലെ സെന്റ് തോമസ് കോളേജിൽ നിന്ന് ബാച്ചിലർ ഓഫ് ആർട്സ് (ബി. എ.) പൂർത്തിയാക്കി. ശേഷം 1993ൽ സിംബയോസിസ് ലോ സ്കൂളിൽ നിന്ന് എൽഎൽബി നേടിയ അദ്ദേഹം നിയമ വിദ്യാഭ്യാസം തുടർന്നു, തുടർന്ന് 1995ൽ സിംബിയോസിസ് ഇന്റർനാഷണൽ യൂണിവേഴ്സിറ്റിയിൽ നിന്ന് എംബിഎ നേടി. പ്രൊഫഷണലായി, നിയമ പ്രാക്ടീസ്, കൃഷി, ബിസിനസ്സ് എന്നിവയിൽ അദ്ദേഹം ഏർപ്പെട്ടിട്ടുണ്ട്. കോട്ടയത്തെ കോൺഗ്രസ് പാർട്ടിയുടെ പ്രാദേശിക സംഘടനാ സംവിധാനത്തിലൂടെ സെബാസ്റ്റ്യൻ ഉയർന്നു. 2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ, ഉയർന്ന നിലവാരമുള്ള തിരഞ്ഞെടുപ്പ് മത്സരങ്ങൾക്ക് പേരുകേട്ട പൂഞ്ഞാർ മണ്ഡലത്തിൽ നിന്ന് മത്സരിക്കാൻ കോൺഗ്രസ് അദ്ദേഹത്തെ നാമനിർദ്ദേശം ചെയ്തു. മധ്യതിരുവിതാംകൂർ രാഷ്ട്രീയത്തിലെ ഒരു പ്രധാന മാറ്റമായി മാധ്യമങ്ങൾ വിശേഷിപ്പിച്ച വിജയത്തിൽ സെബാസ്റ്റ്യൻ 56,900 വോട്ടുകൾ നേടി. നിലവിലെ എംഎൽഎയായ കേരള കോൺഗ്രസ്സിന്റെ സെബാസ്റ്റ്യൻ കുളത്തുങ്കലിനെ 50,207 വോട്ടുകൾ നേടിയാണ് അദ്ദേഹം പരാജയപ്പെടുത്തിയത്, മുതിർന്ന രാഷ്ട്രീയക്കാരനായ [[ഭാരതീയ ജനതാ പാർട്ടി]] പിസി ജോർജ് മൂന്നാം സ്ഥാനത്തെത്തി. കോട്ടയം ജില്ലയുടെ കിഴക്കൻ പ്രദേശങ്ങളിലെ റബ്ബർ കർഷകരും കാർഷിക സമൂഹവും അഭിമുഖീകരിക്കുന്ന പ്രശ്നങ്ങളിലാണ് അദ്ദേഹത്തിന്റെ പ്രചാരണം നടത്തിയത് {| class="wikitable sortable" style="text-align:right" ! scope="col" style="width:130px" |പാർട്ടി ! scope="col" style="width:220px" |സ്ഥാനാർത്ഥി ! scope="col" style="width:80px" |വോട്ടുകൾ ! scope="col" style="width:50px" |% ! scope="col" style="width:50px" |±% |- | style="background-color: {{party color|Indian National Congress}}" | | scope="row" style="text-align:left" |'''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഐഎൻസി]]''' | style="text-align:left" |'''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' |'''56,900''' |'''39.43''' |'''+16.32''' |- | style="background-color: #008000" | | scope="row" style="text-align:left" |[[കേരള കോൺഗ്രസ് (എം)|കെ. സി. (എം.]] | style="text-align:left" |[[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] |50,207 |34.79 | -14.12 |- | style="background-color: {{party color|Bharatiya Janata Party}}" | | scope="row" style="text-align:left" |[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] | style="text-align:left" |[[പി.സി. ജോർജ്ജ്|പി. സി. ജോർജ്]] |36,172 |25.07 | - |- | style="background-color: #0000FF" | | scope="row" style="text-align:left" |[[ബഹുജൻ സമാജ് പാർട്ടി|ബിഎസ്പി]] | style="text-align:left" |ഷൈനി എ. സി. |603 |0.42 | - |- ! colspan="2" style="text-align:left" |വിജയത്തിന്റെ മാർജിൻ !6,693 !4.64 ! |- ! colspan="2" style="text-align:left" |മൊത്തം സാധുവായ വോട്ടുകൾ !1,44,302 ! ! |- | colspan="2" style="background-color: {{party color|Indian National Congress}}; text-align:left" |'''[[Indian National Congress|INC]] gain''' from [[Kerala Congress (M)|KC(M)]] |'''സ്വിംഗ്''' | +15.22 | |} {{Reflist|refs=<ref name="ECI_Result">{{cite web |title=General Election to Assembly Constituencies: Trends & Results May-2026 - Poonjar (S11101) |url=https://results.eci.gov.in/ResultAcGenMay2026/candidateswise-S11101.htm |publisher=Election Commission of India |access-date=5 May 2026}}</ref> <ref name="NDTV_Win">{{cite news |title=Live: Poonjar Election Results 2026 - Adv. Sebastian M. J. Won |url=https://www.ndtv.com/elections/kerala-assembly-election-results-2026/poonjar |work=[[NDTV]] |date=5 May 2026}}</ref> <ref name="TOI_Poonjar">{{cite news |title=Poonjar Assembly Election Results 2026 Live Updates: Congress candidate Adv. Sebastian M. J. wins the seat |url=https://timesofindia.indiatimes.com/elections/assembly-elections/kerala/poonjar-assembly-election-results-2026-live-updates/liveblog/130695158.cms |work=[[The Times of India]] |date=4 May 2026}}</ref> <ref name="MyNeta">{{cite web |title=Adv. Sebastian M. J. (Indian National Congress): Constituency - Poonjar (Kottayam) - Affidavit Information |url=https://www.myneta.info/Kerala2026/candidate.php?candidate_id=846 |publisher=Association for Democratic Reforms |access-date=5 May 2026}}</ref> <ref name="Hindu_Profile">{{cite news |title=Adv. Sebastian M. J., POONJAR constituency, INC, Kerala Assembly Election 2026: Profile & Affidavit |url=https://www.thehindu.com/elections/candidates/Kerala2026/adv-sebastian-m-j-846/ |work=[[The Hindu]] |date=5 May 2026}}</ref> <ref name="HT_Analysis">{{cite news |title=After 2021 setback, P. C. George fails once again, finishes behind Kerala Congress (M) and INC in Poonjar |url=https://www.hindustantimes.com/india-news/after-2021-setback-p-c-george-seeks-fresh-mandate-from-poonjar-in-2026-assembly-election-results-101777627504591.html |work=[[Hindustan Times]] |date=4 May 2026}}</ref> <ref name="Affidavit_ECI">{{cite web |title=Candidate Details - Adv. Sebastian M. J. |url=https://affidavit.eci.gov.in/show-profile/Adv_Sebastian_MJ_2026 |publisher=Election Commission of India |date=23 March 2026}}</ref>}} [[വർഗ്ഗം:കോട്ടയം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1969-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:Date of birth not in Wikidata]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] luyacreg1so40ggcav4r2iluw8sps8o 4622186 4622180 2026-05-23T08:29:03Z ~2026-12275-19 214477 4622186 wikitext text/x-wiki <templatestyles src="Module:Message box/ambox.css"></templatestyles>{{Infobox officeholder | name = അഡ്വ.സെബാസ്റ്റ്യൻ എം ജെ | image = | caption = | office = കേരള നിയമസഭാ അംഗം | termstart = May 2026 | termend = | constituency = പൂഞ്ഞാർ നിയോജക മണ്ഡലം | predecessor = [[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] | successor = | birth_name = Sebastian M. J. | birth_date = {{Birth year and age|1969}} | birth_place = [[Kottayam district]], [[Kerala]], India | death_date = | death_place = | party = [[Indian National Congress]] | occupation = Advocate, Politician, Businessman | education = BA, LLB, MBA }} '''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' (ജനനം 1969) കേരളത്തിൽ നിന്നുള്ള ഒരു രാഷ്ട്രീയ പ്രവർത്തകനും അഭിഭാഷകനുമാണ്. [[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്]] അംഗമായ അദ്ദേഹം 2026 ലെ [[കേരള നിയമസഭ|കേരള നിയമസഭാ]] തിരഞ്ഞെടുപ്പിൽ തെരഞ്ഞെടുക്കപ്പെട്ട ജന പ്രതിനിധിയെണ്. മുതിർന്ന രാഷ്രീയ നേതാവായിരുന്ന മുൻ എം. എൽ. എ അഡ്വക്കറ്റ് സെബാസ്റ്റ്യൻ കുളത്തിങ്കലിനെ പരാജയപ്പെടുത്തിയാണ് അദ്ദേഹം നിയമ സഭയിലേക്ക് തിരഞ്ഞെടുക്കപ്പെട്ടത് . == ആദ്യകാല ജീവിതവും വിദ്യാഭ്യാസവും == കേരളത്തിലെ കോട്ടയം ജില്ലയിൽ ജോസഫിന്റെ പുത്രനായി സെബാസ്റ്റ്യൻ എം. ജെ. ജനിച്ചു. 1989 ൽ പാലായിലെ സെന്റ് തോമസ് കോളേജിൽ നിന്ന് ബാച്ചിലർ ഓഫ് ആർട്സ് (ബി. എ.) പൂർത്തിയാക്കി. ശേഷം 1993ൽ സിംബയോസിസ് ലോ സ്കൂളിൽ നിന്ന് എൽഎൽബി നേടിയ അദ്ദേഹം നിയമ വിദ്യാഭ്യാസം തുടർന്നു, തുടർന്ന് 1995ൽ സിംബിയോസിസ് ഇന്റർനാഷണൽ യൂണിവേഴ്സിറ്റിയിൽ നിന്ന് എംബിഎ നേടി. പ്രൊഫഷണലായി, നിയമ പ്രാക്ടീസ്, കൃഷി, ബിസിനസ്സ് എന്നിവയിൽ അദ്ദേഹം ഏർപ്പെട്ടിട്ടുണ്ട്. കോട്ടയത്തെ കോൺഗ്രസ് പാർട്ടിയുടെ പ്രാദേശിക സംഘടനാ സംവിധാനത്തിലൂടെയാണ് സെബാസ്റ്റ്യൻ രാഷ്ടീയ രംഗത്ത് ചുവടുറപ്പിച്ചത്. 2026 ലെ കേരള നിയമസഭാ തിരഞ്ഞെടുപ്പിൽ ഉയർന്ന നിലവാരമുള്ള തിരഞ്ഞെടുപ്പ് മത്സരങ്ങൾക്ക് പേരുകേട്ട പൂഞ്ഞാർ മണ്ഡലത്തിൽ നിന്ന് മത്സരിക്കാൻ കോൺഗ്രസ് അദ്ദേഹത്തെ നാമനിർദ്ദേശം ചെയ്തു. മധ്യതിരുവിതാംകൂർ രാഷ്ട്രീയത്തിലെ ഒരു പ്രധാന മാറ്റമായി മാധ്യമങ്ങൾ വിശേഷിപ്പിച്ച വിജയത്തിൽ സെബാസ്റ്റ്യൻ 56,900 വോട്ടുകൾ നേടി. നിലവിലെ എംഎൽഎയായ കേരള കോൺഗ്രസ്സിന്റെ സെബാസ്റ്റ്യൻ കുളത്തുങ്കലിനെ 50,207 വോട്ടുകൾ നേടിയാണ് അദ്ദേഹം പരാജയപ്പെടുത്തിയത്, മുതിർന്ന രാഷ്ട്രീയക്കാരനായ [[ഭാരതീയ ജനതാ പാർട്ടി]] പിസി ജോർജ് മൂന്നാം സ്ഥാനത്തെത്തി. കോട്ടയം ജില്ലയുടെ കിഴക്കൻ പ്രദേശങ്ങളിലെ റബ്ബർ കർഷകരും കാർഷിക സമൂഹവും അഭിമുഖീകരിക്കുന്ന പ്രശ്നങ്ങളിലാണ് അദ്ദേഹത്തിന്റെ പ്രചാരണം നടത്തിയത് {| class="wikitable sortable" style="text-align:right" ! scope="col" style="width:130px" |പാർട്ടി ! scope="col" style="width:220px" |സ്ഥാനാർത്ഥി ! scope="col" style="width:80px" |വോട്ടുകൾ ! scope="col" style="width:50px" |% ! scope="col" style="width:50px" |±% |- | style="background-color: {{party color|Indian National Congress}}" | | scope="row" style="text-align:left" |'''[[ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ്|ഐഎൻസി]]''' | style="text-align:left" |'''അഡ്വ. സെബാസ്റ്റ്യൻ എം. ജെ.''' |'''56,900''' |'''39.43''' |'''+16.32''' |- | style="background-color: #008000" | | scope="row" style="text-align:left" |[[കേരള കോൺഗ്രസ് (എം)|കെ. സി. (എം.]] | style="text-align:left" |[[സെബാസ്റ്റ്യൻ കുളത്തുങ്കൽ]] |50,207 |34.79 | -14.12 |- | style="background-color: {{party color|Bharatiya Janata Party}}" | | scope="row" style="text-align:left" |[[ഭാരതീയ ജനതാ പാർട്ടി|ബിജെപി]] | style="text-align:left" |[[പി.സി. ജോർജ്ജ്|പി. സി. ജോർജ്]] |36,172 |25.07 | - |- | style="background-color: #0000FF" | | scope="row" style="text-align:left" |[[ബഹുജൻ സമാജ് പാർട്ടി|ബിഎസ്പി]] | style="text-align:left" |ഷൈനി എ. സി. |603 |0.42 | - |- ! colspan="2" style="text-align:left" |വിജയത്തിന്റെ മാർജിൻ !6,693 !4.64 ! |- ! colspan="2" style="text-align:left" |മൊത്തം സാധുവായ വോട്ടുകൾ !1,44,302 ! ! |- | colspan="2" style="background-color: {{party color|Indian National Congress}}; text-align:left" |'''[[Indian National Congress|INC]] gain''' from [[Kerala Congress (M)|KC(M)]] |'''സ്വിംഗ്''' | +15.22 | |} {{Reflist|refs=<ref name="ECI_Result">{{cite web |title=General Election to Assembly Constituencies: Trends & Results May-2026 - Poonjar (S11101) |url=https://results.eci.gov.in/ResultAcGenMay2026/candidateswise-S11101.htm |publisher=Election Commission of India |access-date=5 May 2026}}</ref> <ref name="NDTV_Win">{{cite news |title=Live: Poonjar Election Results 2026 - Adv. Sebastian M. J. Won |url=https://www.ndtv.com/elections/kerala-assembly-election-results-2026/poonjar |work=[[NDTV]] |date=5 May 2026}}</ref> <ref name="TOI_Poonjar">{{cite news |title=Poonjar Assembly Election Results 2026 Live Updates: Congress candidate Adv. Sebastian M. J. wins the seat |url=https://timesofindia.indiatimes.com/elections/assembly-elections/kerala/poonjar-assembly-election-results-2026-live-updates/liveblog/130695158.cms |work=[[The Times of India]] |date=4 May 2026}}</ref> <ref name="MyNeta">{{cite web |title=Adv. Sebastian M. J. (Indian National Congress): Constituency - Poonjar (Kottayam) - Affidavit Information |url=https://www.myneta.info/Kerala2026/candidate.php?candidate_id=846 |publisher=Association for Democratic Reforms |access-date=5 May 2026}}</ref> <ref name="Hindu_Profile">{{cite news |title=Adv. Sebastian M. J., POONJAR constituency, INC, Kerala Assembly Election 2026: Profile & Affidavit |url=https://www.thehindu.com/elections/candidates/Kerala2026/adv-sebastian-m-j-846/ |work=[[The Hindu]] |date=5 May 2026}}</ref> <ref name="HT_Analysis">{{cite news |title=After 2021 setback, P. C. George fails once again, finishes behind Kerala Congress (M) and INC in Poonjar |url=https://www.hindustantimes.com/india-news/after-2021-setback-p-c-george-seeks-fresh-mandate-from-poonjar-in-2026-assembly-election-results-101777627504591.html |work=[[Hindustan Times]] |date=4 May 2026}}</ref> <ref name="Affidavit_ECI">{{cite web |title=Candidate Details - Adv. Sebastian M. J. |url=https://affidavit.eci.gov.in/show-profile/Adv_Sebastian_MJ_2026 |publisher=Election Commission of India |date=23 March 2026}}</ref>}} [[വർഗ്ഗം:കോട്ടയം ജില്ലയിൽ ജനിച്ചവർ]] [[വർഗ്ഗം:കേരളത്തിലെ ഇന്ത്യൻ നാഷണൽ കോൺഗ്രസ് പ്രവർത്തകർ]] [[വർഗ്ഗം:ജീവിച്ചിരിക്കുന്നവർ]] [[വർഗ്ഗം:1969-ൽ ജനിച്ചവർ]] [[വർഗ്ഗം:Date of birth not in Wikidata]] [[വർഗ്ഗം:പതിനാറാം കേരള നിയമസഭാംഗങ്ങൾ]] bkg66jv3d8zxcufnve5jzg4h5dbac1r കേരള പൊതുഭരണ വകുപ്പ് 0 667463 4622153 2026-05-23T06:34:29Z CatholicChristian 209870 "[[:en:Special:Redirect/revision/1354658740|General Administration Department (Kerala)]]" എന്ന താൾ പരിഭാഷപ്പെടുത്തിയത്. 4622153 wikitext text/x-wiki   [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=Daily|first=Keralakaumudi|website=Keralakaumudi Daily|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=www.onmanorama.com}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=https://www.niyamasabha.nic.in/index.php/chief_minister/ministers|title=Kerala Council of Ministers – Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.nic.in}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] 7fqxfl0d9uhhdcdv7tyt3eamns8v3qt 4622158 4622153 2026-05-23T07:05:54Z CatholicChristian 209870 4622158 wikitext text/x-wiki   [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] 4a8efrin1r6vb07h8k41o4t3l5wish0 4622162 4622158 2026-05-23T07:34:34Z CatholicChristian 209870 /* പ്രവർത്തനങ്ങൾ */ 4622162 wikitext text/x-wiki   [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്:[7][1] * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്) ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] ndno7yzptdy1uj2lcju7tza7wmz16x0 4622163 4622162 2026-05-23T07:35:53Z CatholicChristian 209870 /* ഉപവിഭാഗങ്ങൾ */ 4622163 wikitext text/x-wiki   [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്:[7][1] * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്) ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] ro8s9rstctvga8e0st056nemkjzdlqn 4622166 4622163 2026-05-23T07:38:45Z CatholicChristian 209870 /* ഉപവിഭാഗങ്ങൾ */ 4622166 wikitext text/x-wiki   [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്: * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്) ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' <ref name=":1" /><ref name=":0" /> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] oe13nhkuoojti0gy5m16jthrnait0hr 4622167 4622166 2026-05-23T07:39:05Z CatholicChristian 209870 4622167 wikitext text/x-wiki [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്: * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്) ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' <ref name=":1" /><ref name=":0" /> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] ehkp6hp4ard4wfgfw99mt58clsywuo1 4622170 4622167 2026-05-23T07:40:49Z CatholicChristian 209870 /* ഉപവിഭാഗങ്ങൾ */ 4622170 wikitext text/x-wiki [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്: * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * [[അഖിലേന്ത്യാ സേവനങ്ങൾ|അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്)]] ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' <ref name=":1" /><ref name=":0" /> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] gqfo4wmz6sxh0c4ex6vema5j22g4etz 4622171 4622170 2026-05-23T07:43:54Z CatholicChristian 209870 /* പ്രവർത്തനങ്ങൾ */ 4622171 wikitext text/x-wiki [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്. <ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == {{Unreferenced section|date=മേയ് 2026}} പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്: * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * [[അഖിലേന്ത്യാ സേവനങ്ങൾ|അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്)]] ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' <ref name=":1" /><ref name=":0" /> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] kcicp8l2lv4wnmytqyf0owrxf9n9taq 4622172 4622171 2026-05-23T07:44:10Z CatholicChristian 209870 4622172 wikitext text/x-wiki [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്.<ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == {{Unreferenced section|date=മേയ് 2026}} പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്: * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * [[അഖിലേന്ത്യാ സേവനങ്ങൾ|അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്)]] ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' <ref name=":1" /><ref name=":0" /> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] d6yvyb30c2dtqryerl1jh5y4ibsq4rb 4622173 4622172 2026-05-23T07:44:39Z CatholicChristian 209870 CatholicChristian എന്ന ഉപയോക്താവ് [[കരട്:പൊതുഭരണ വകുപ്പ് (കേരളം)]] എന്ന താൾ [[പൊതുഭരണ വകുപ്പ് (കേരളം)]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 4622172 wikitext text/x-wiki [[കേരള സർക്കാർ|കേരള സർക്കാരിന്റെ]] കീഴിലുള്ള ഒരു ഭരണ വകുപ്പാണ് പൊതുഭരണ വകുപ്പ് (ജിഎഡി). സംസ്ഥാന സർക്കാരിന്റെ കേന്ദ്ര ഏകോപന വകുപ്പായി ഇത് പ്രവർത്തിക്കുകയും ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിന്റെ മൊത്തത്തിലുള്ള ഭരണം, [[ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ്|ഇന്ത്യൻ അഡ്‌മിനിസ്ട്രേറ്റീവ് സർവീസ് (ഐഎഎസ്)]], [[ഇന്ത്യൻ പോലീസ് സർവീസ്|ഇന്ത്യൻ പോലീസ് സർവീസ് (ഐപിഎസ്)]], [[ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ്|ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് (ഐഎഫ്എസ്)]] ഉദ്യോഗസ്ഥരുടെ പേഴ്‌സണൽ കാര്യങ്ങൾ, സംസ്ഥാനത്തിന്റെ ആചാരപരമായ പ്രവർത്തനങ്ങൾ, മറ്റ് പ്രധാന ഭരണപരമായ ഉത്തരവാദിത്തങ്ങൾ എന്നിവ കൈകാര്യം ചെയ്യുകയും ചെയ്യുന്നു.<ref name=":0">{{Cite web|url=https://gad.kerala.gov.in/|title=General Administration Department – Government of Kerala|access-date=2025-11-10|website=gad.kerala.gov.in|language=en}}</ref> [[കേരള മുഖ്യമന്ത്രി|കേരള മുഖ്യമന്ത്രിയുടെ]] നേതൃത്വത്തിലാണ് ഈ വകുപ്പ് പ്രവർത്തിക്കുന്നത്, ഭരണപരമായി [[ചീഫ് സെക്രട്ടറി (ഇന്ത്യ)|ചീഫ് സെക്രട്ടറിയാണ്]] ഇതിന്റെ നേതൃത്വം വഹിക്കുന്നത്. ഭരണ പരിഷ്കാരങ്ങൾ, ബിസിനസ് നിയമങ്ങൾ, പ്രോട്ടോക്കോൾ കാര്യങ്ങൾ, കാബിനറ്റ് കാര്യങ്ങൾ, മുതിർന്ന സർക്കാർ ഉദ്യോഗസ്ഥരുടെ സേവനങ്ങൾ എന്നിവയിൽ വകുപ്പ് ഒരു പ്രധാന പങ്ക് വഹിക്കുന്നു. വകുപ്പിന്റെ ആസ്ഥാനം തിരുവനന്തപുരത്തെ ഗവൺമെന്റ് സെക്രട്ടേറിയറ്റിലാണ്.<ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-11-03|title=General Administration department cracks whip|url=https://www.thehindu.com/news/national/kerala/general-administration-department-cracks-whip/article67490741.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en|issn=0971-751X}}</ref><ref>{{Cite web|url=https://keralakaumudi.com/en/news/news.php?id=1365964&u=|title=Change of name in Public Administration Department: Political section renamed to 'Protocol'|access-date=2025-11-11|last=കേരളകൗമുദി ദിനപ്പത്രം|first=|website=കേരളകൗമുദി ദിനപ്പത്രം|language=en}}</ref><ref>{{Cite news|last=ദ ഹിന്ദു ബ്യൂറോ|first=|date=2023-06-28|title=General Administration department notifies postings of IAS officers|url=https://www.thehindu.com/news/national/kerala/general-administration-department-notifies-postings-of-ias-officers/article67020069.ece|access-date=2025-11-11|work=ദ ഹിന്ദു|language=en-IN|issn=0971-751X}}</ref><ref>{{Cite web|url=https://www.onmanorama.com/news/kerala/2023/07/11/malayalam-government-decrees-order-chief-secretary-venu.html|title=Chief Secretary orders govt depts to strictly use Malayalam for decrees|access-date=2025-11-11|website=Onmanorama|language=en}}</ref> == നേതൃത്വം == പൊതുഭരണ വകുപ്പ് സാധാരണയായി മുഖ്യമന്ത്രിയാണ് മേൽനോട്ടം വഹിക്കുന്നത്. നിലവിലെ ചുമതലയുള്ള മന്ത്രി മുഖ്യമന്ത്രി [[വി.ഡി. സതീശൻ|വി.ഡി. സതീശനാണ്]].<ref>{{Cite web|url=http://www.niyamasabha.org/codes/cmin-new.htm|title=Council of Ministers - 16th Kerala Legislative Assembly|access-date=2025-11-10|website=niyamasabha.org}}</ref> ഭരണപരമായി, ഈ വകുപ്പിനെ നയിക്കുന്നത് സർക്കാരിന്റെ ചീഫ് സെക്രട്ടറിയായ ഒരു ഐഎഎസ് ഉദ്യോഗസ്ഥനാണ്. ചീഫ് സെക്രട്ടറിയെ സെക്രട്ടറിമാർ, അഡീഷണൽ സെക്രട്ടറിമാർ, ഡെപ്യൂട്ടി സെക്രട്ടറിമാർ, അണ്ടർ സെക്രട്ടറിമാർ, മറ്റ് സെക്രട്ടേറിയറ്റ് ജീവനക്കാർ എന്നിവർ പിന്തുണയ്ക്കുന്നു.<ref name=":1">{{Cite web|url=https://gad.kerala.gov.in/sites/default/files/general_attachment/Rules%20of%20Business%20-%20Part%20II.pdf|title=Rules of Business of Government of Kerala – First Schedule|access-date=2025-11-10}}</ref> == പ്രവർത്തനങ്ങൾ == {{Unreferenced section|date=മേയ് 2026}} പൊതുഭരണ വകുപ്പിന്റെ പ്രധാന പ്രവർത്തനങ്ങൾ ഇവയാണ്: * സെക്രട്ടേറിയറ്റ് ഭരണത്തിന്റെയും അന്തർ-വകുപ്പ് കാര്യങ്ങളുടെയും ഏകോപനവും നിയന്ത്രണവും. * ഐഎഎസ്, ഐപിഎസ്, ഐഎഫ്എസ് കേഡർ മാനേജ്മെന്റ്, നിയമനങ്ങൾ, സ്ഥലംമാറ്റങ്ങൾ, അനുബന്ധ പേഴ്‌സണൽ കാര്യങ്ങൾ എന്നിവയുടെ ഭരണം. * കാബിനറ്റ് യോഗങ്ങൾ, കാബിനറ്റ് തീരുമാനങ്ങൾ, ഔദ്യോഗിക നടപടിക്രമങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങളുടെ പ്രോസസ്സിംഗ്. * [[ഇന്ത്യൻ രാഷ്ട്രപതി]], [[ഇന്ത്യൻ പ്രധാനമന്ത്രി]], വിദേശ പ്രമുഖർ എന്നിവരുടെ സന്ദർശനങ്ങൾ ഉൾപ്പെടെയുള്ള സംസ്ഥാന പ്രോട്ടോക്കോൾ. * വകുപ്പ് മേധാവികൾ, പ്രധാന അഡ്മിനിസ്ട്രേറ്റീവ് ഓഫീസർമാർ, സർക്കാർ സ്ഥാപനങ്ങളിലെ മുതിർന്ന മാനേജ്‌മെന്റ് എന്നിവരുടെ നിയമനം. * സെക്രട്ടേറിയറ്റ് സ്ഥാപനത്തിന്റെയും സേവനങ്ങളുടെയും ബജറ്റിംഗും ഭരണവും. == ഉപവിഭാഗങ്ങൾ == ഇനിപ്പറയുന്നവ ഉൾപ്പെടെ വിവിധ പ്രത്യേക വിഭാഗങ്ങളിലൂടെയാണ് വകുപ്പ് പ്രവർത്തിക്കുന്നത്: * '''ഗവർണർ, മന്ത്രിമാരുടെ കൗൺസിൽ, ഹൈക്കോടതി, പബ്ലിക് സർവീസ് കമ്മീഷൻ''' ** ഗവർണറുടെയും മന്ത്രിമാരുടെയും സത്യപ്രതിജ്ഞയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** കേരള സർക്കാരിന്റെ കാര്യ ചട്ടങ്ങളും സെക്രട്ടേറിയറ്റ് നിർദ്ദേശങ്ങളും. ** മന്ത്രിമാർക്കിടയിൽ കാര്യങ്ങളുടെ വിഹിതം. ** കാബിനറ്റ് കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെ രാജി സംബന്ധിച്ച വിജ്ഞാപനങ്ങൾ പുറപ്പെടുവിക്കൽ. ** മന്ത്രിമാരുടെ പെരുമാറ്റച്ചട്ടവുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഹൈക്കോടതി ചീഫ് ജസ്റ്റിസിന്റെയും ജഡ്ജിമാരുടെയും നിയമനവുമായി ബന്ധപ്പെട്ട അറിയിപ്പുകൾ. ** രാജ്ഭവനും ഗവർണറുടെ കുടുംബവും സ്ഥാപിക്കുന്നതുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ചെയർമാന്റെയും അംഗങ്ങളുടെയും നിയമനം, സർവീസ് ചട്ടങ്ങളിലെ ഭേദഗതികൾ, അനുബന്ധ കാര്യങ്ങൾ എന്നിവയുൾപ്പെടെ കേരള പബ്ലിക് സർവീസ് കമ്മീഷനുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** മന്ത്രിമാരുടെയും പ്രതിപക്ഷ നേതാവിന്റെയും ഗവൺമെന്റ് ചീഫ് വിപ്പിന്റെയും പേഴ്‌സണൽ സ്റ്റാഫിനുള്ള പെൻഷൻ പദ്ധതി. * [[അഖിലേന്ത്യാ സേവനങ്ങൾ|അഖിലേന്ത്യാ സേവനങ്ങൾ (എഐഎസ്)]] ** ഇന്ത്യൻ അഡ്മിനിസ്ട്രേറ്റീവ് സർവീസ്, ഇന്ത്യൻ പോലീസ് സർവീസ്, ഇന്ത്യൻ ഫോറസ്റ്റ് സർവീസ് തുടങ്ങിയ അഖിലേന്ത്യാ സർവീസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാപന കാര്യങ്ങൾ. ** ഐ‌എ‌എസ്, ഐ‌പി‌എസ്, ഐ‌എഫ്‌എസ് ഉദ്യോഗസ്ഥരുടെ സ്ഥാനക്കയറ്റം, സ്ഥലംമാറ്റം, ഡെപ്യൂട്ടേഷൻ, അനുബന്ധ കാര്യങ്ങൾ. * '''സെക്രട്ടേറിയറ്റ് ഭരണം''' * '''രാഷ്ട്രീയം''' ** ദേശീയോദ്ഗ്രഥനം, ദേശീയ അടിയന്തരാവസ്ഥ, മുൻ ഭരണാധികാരികൾക്കുള്ള പ്രത്യേകാവകാശങ്ങൾ, സ്വാതന്ത്ര്യസമര സേനാനികളുടെ പെൻഷൻ, ദക്ഷിണ മേഖലാ കൗൺസിൽ യോഗങ്ങൾ, പൊതു സ്വഭാവമുള്ള മെമ്മോറാണ്ടകൾ, പ്രമേയങ്ങൾ എന്നിവയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ഇന്ത്യൻ പതാക നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** [[ചിഹ്നങ്ങളും പേരുകളും (അനുചിതമായ ഉപയോഗം തടയൽ) നിയമം, 1950|ചിഹ്നങ്ങളുടെയും പേരുകളുടെയും നിയമവുമായി]] ബന്ധപ്പെട്ട കാര്യങ്ങൾ. * '''പ്രോട്ടോക്കോൾ, ആതിഥ്യം''' ** പ്രോട്ടോക്കോൾ, ആതിഥ്യ ക്രമീകരണങ്ങൾ ഉൾപ്പെടെ വിഐപികളുടെയും മറ്റ് പ്രധാന വ്യക്തികളുടെയും സന്ദർശനങ്ങൾ. ** വാറണ്ട് ഓഫ് പ്രിസിഡൻസുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ആചാരപരമായ കാര്യങ്ങൾ. ** ഉന്നത വിശിഷ്ട വ്യക്തികളുടെ മരണത്തിൽ നടപടിയെടുക്കണം. ** വിഐപി സുരക്ഷയുമായി ബന്ധപ്പെട്ട പൊതു നിർദ്ദേശങ്ങൾ. * '''ന്യൂനപക്ഷങ്ങൾ''' ** ഭാഷാ ന്യൂനപക്ഷങ്ങൾ * '''മറ്റു കാര്യങ്ങൾ''' ** കേരളത്തിൽ യൂണിയൻ പബ്ലിക് സർവീസ് കമ്മീഷന്റെയും സ്റ്റാഫ് സെലക്ഷൻ കമ്മീഷന്റെയും പരീക്ഷകൾ നടത്തുന്നതിനുള്ള ക്രമീകരണങ്ങൾ. ** പത്മ അവാർഡുകൾ, അശോക ചക്ര, കീർത്തി ചക്ര, ശൗര്യ ചക്ര, ജീവൻ രക്ഷാ പദക് എന്നിവയുൾപ്പെടെയുള്ള സിവിൽ, സൈനിക അവാർഡുകളുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** സൈഫർ ബ്യൂറോയുമായി ബന്ധപ്പെട്ട കാര്യങ്ങൾ. ** ഭരണ റിപ്പോർട്ടുകൾ തയ്യാറാക്കലും പ്രസിദ്ധീകരണവും. ** നെഗോഷ്യബിൾ ഇൻസ്ട്രുമെന്റ്സ് ആക്ടിന് കീഴിലുള്ള സംസ്ഥാന അവധി ദിനങ്ങൾ, പ്രത്യേക അവധി ദിനങ്ങൾ, അവധി ദിനങ്ങൾ എന്നിവയുടെ പ്രഖ്യാപനം. ** കളക്ടർമാരുടെയും വകുപ്പ് മേധാവികളുടെയും വാർഷിക സമ്മേളനം. ** പ്രദർശനങ്ങളുമായി ബന്ധപ്പെട്ട പൊതുവായ കാര്യങ്ങൾ. * '''വിവര, പൊതുജന സമ്പർക്കം''' * '''മുഖ്യമന്ത്രിയുടെ പൊതുജന പരാതി പരിഹാര സെൽ''' <ref name=":1" /><ref name=":0" /> ==അവലംബം== {{reflist}} [[വർഗ്ഗം:കേരള സർക്കാറിന്റെ വകുപ്പുകൾ]] d6yvyb30c2dtqryerl1jh5y4ibsq4rb ശ്ച 0 667464 4622154 2026-05-23T06:35:28Z ~2026-30691-65 218214 NICHAYKKAVUNNATHANU 4622154 wikitext text/x-wiki NICHAYKKAVUNATHANU ijimxiv71rcofvtunn1z6ny5h4qxh3h അഖിലേന്ത്യാ സർവീസുകൾ 0 667465 4622169 2026-05-23T07:40:30Z CatholicChristian 209870 CatholicChristian എന്ന ഉപയോക്താവ് [[അഖിലേന്ത്യാ സർവീസുകൾ]] എന്ന താൾ [[അഖിലേന്ത്യാ സേവനങ്ങൾ]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു: [[WP:COMMONNAME]] 4622169 wikitext text/x-wiki #തിരിച്ചുവിടുക [[അഖിലേന്ത്യാ സേവനങ്ങൾ]] pe8e8r6wvdoxez0wt4ni8mq317dgvlp കരട്:പൊതുഭരണ വകുപ്പ് (കേരളം) 118 667466 4622174 2026-05-23T07:44:40Z CatholicChristian 209870 CatholicChristian എന്ന ഉപയോക്താവ് [[കരട്:പൊതുഭരണ വകുപ്പ് (കേരളം)]] എന്ന താൾ [[പൊതുഭരണ വകുപ്പ് (കേരളം)]] എന്നാക്കി മാറ്റിയിരിക്കുന്നു 4622174 wikitext text/x-wiki #തിരിച്ചുവിടുക [[പൊതുഭരണ വകുപ്പ് (കേരളം)]] b7ult212coixi3sebkog5q6cxpo55kf പൊതു ഭരണ വകുപ്പ് (കേരളം) 0 667467 4622175 2026-05-23T07:46:33Z CatholicChristian 209870 [[പൊതുഭരണ വകുപ്പ് (കേരളം)]] എന്ന താളിലേക്ക് തിരിച്ചുവിടുന്നു 4622175 wikitext text/x-wiki #REDIRECT [[പൊതുഭരണ വകുപ്പ് (കേരളം)]] st4pzw0v6mldpuz5dqad4bd1k5sgysw അരുൺ കുമാർ എസ്. ഹരിപ്പാട് 0 667468 4622190 2026-05-23T08:41:45Z ~2026-30725-60 218218 [[അരുൺ കുമാർ എസ്. ഹരിപ്പാട്]] 4622190 wikitext text/x-wiki {{Short description|ഇന്ത്യൻ കവി, എഴുത്തുകാരൻ, ഗാനരചയിതാവ്}}{{Infobox person | name = അരുൺ കുമാർ എസ്. ഹരിപ്പാട് | birth_date = {{Birth date|1980|05|30}} | birth_place = ഹരിപ്പാട്, കേരളം, ഇന്ത്യ | nationality = ഇന്ത്യൻ | occupation = [[കവി]], [[എഴുത്തുകാരൻ]], [[ഗാനരചയിതാവ്]], [[പ്രഭാഷകൻ]], [[അധ്യാപകൻ]] | employer = | known_for = ഇംഗ്ലീഷ്, മലയാളം കവിതകൾ | languages = [[ഇംഗ്ലീഷ് ഭാഷ|ഇംഗ്ലീഷ്]], [[മലയാളം]] }} '''അരുൺ കുമാർ എസ്. ഹരിപ്പാട്''' (ജനനം: 30 മേയ് 1980) ഒരു ഇന്ത്യൻ [[കവി]], എഴുത്തുകാരൻ, ഗാനരചയിതാവ്, [[പ്രഭാഷകൻ]] എന്നിവരാണ്. ഇംഗ്ലീഷിലും മലയാളത്തിലുമുള്ള കവിതകളും സാഹിത്യരചനകളും കൊണ്ടാണ് അദ്ദേഹം അറിയപ്പെടുന്നത്. കേരളത്തിലെ വൊക്കേഷണൽ ഹയർ സെക്കൻഡറി വിദ്യാഭ്യാസ വകുപ്പിൽ ഇംഗ്ലീഷ് [[അധ്യാപകൻ]] ആയി പ്രവർത്തിക്കുന്നു.<ref>{{Cite web|url=https://thehoovergazette.com/2024/01/12/dr-aruns-contribution-to-the-world-of-literature/|title=Dr. Arun’s contribution to the world of literature|access-date=2026-01-27|date=2024-01-12|website=The Hoover Gazette|language=en-US}}</ref><ref>{{Cite web|url=https://www.apnnews.com/poet-prophet-dr-arun-kumar-s-haripad-makes-the-world-react/|title=Poet, Prophet, Dr Arun Kumar S Haripad makes the World React|access-date=2026-01-27|date=2026-01-19|website=APN News {{!}} Authentic Press Network News|language=en-US}}</ref><ref>{{Cite web|url=https://www.mid-day.com/buzzfeed/article/ambedkar-sahitya-shri-award-goes-to-celebrated-writer-dr-arun-kumar-s-haripad-8699|title=Ambedkar Sahitya Shri award goes to celebrated writer Dr Arun Kumar S Haripad|access-date=2026-01-27|date=2026-01-23|website=Mid-day|language=en}}</ref><ref>https://newspaper.mathrubhumi.com/amp/alappuzha/news/alappuzha-1.10458611</ref><ref>{{Cite web|url=https://keralakaumudi.com/news/news-amp.php?id=1620962&u=local-news-alappuzha|title=വീയപുരം -കോഴിമുക്ക് റോഡ് യാത്രായോഗ്യമാക്കി|access-date=2026-01-27|website=keralakaumudi.com}}</ref> == പ്രാരംഭ ജീവിതം == അരുൺ കുമാർ എസ്. ഹരിപ്പാട് 1980 മേയ് 30-ന് [[ഹരിപ്പാട്]], [[കേരളം]], ഇന്ത്യയിൽ ജനിച്ചു.<ref>{{Cite web|url=https://deepanalam.org/deepanalam.org|title=മനുഷ്യസ്‌നേഹത്തിന്റെ പടപ്പാട്ടുകാരൻ|access-date=2026-01-27|website=ദീപനാളം|language=ml}}</ref> അദ്ദേഹം ഇന്ത്യൻ പൗരനാണ്.<ref>{{Cite news|date=2024-01-09|title=Dr Arun Kumar inspires people through his valuable contributions|url=https://timesofindia.indiatimes.com/life-style/spotlight/dr-arun-kumar-inspires-people-through-his-valuable-contributions/articleshow/106657034.cms|access-date=2026-01-27|work=The Times of India|issn=0971-8257}}</ref><ref>https://keralakaumudi.com/news/news-amp.php?id=1424740</ref> == കൃതികൾ == * ''സുദർശനം''<ref>https://palavartha.com/murikkumvayal-government-vocational-higher-secondary-school-80th-anniversary-2/</ref> * ''നോവ്''<ref>{{Cite web|url=https://keralakaumudi.com/news/news-amp.php?id=1385655&u=local-news-alappuzha|title=പുസ്തക പ്രകാശനവും കവിയരങ്ങും|access-date=2026-01-27|website=keralakaumudi.com}}</ref> * ''എഴുത്താളൻ''<ref>{{Cite web|url=https://filmycharcha.com/news/new-book-release-by-ezhuthalan-dr-arun-kumar-s-haripad|title=New Book Release by Ezhuthalan Dr. Arun Kumar S Haripad {{!}} The Filmy Charcha|access-date=2026-01-27|website=filmycharcha.com|language=en}}</ref> * ''ഗുഡ് വിഷൻ''<ref>{{Cite web|url=https://keralakaumudi.com/news/news-amp.php?id=1536597|title='എഴുത്താളൻ 'പുസ്തക ചർച്ച|access-date=2026-01-27|website=keralakaumudi.com}}</ref><ref>https://www.outlookindia.com/hub4business/dr-arun-kumar-s-weaving-words-breaking-boundaries-news-341992</ref> * ''Truth, Goodness and Beauty Behind Love''<ref>{{Cite web|url=https://keralakaumudi.com/news//news-amp.php?id=1463619&u=riyas|title=കേരളം ആയുർവേദത്തിന്റെ യൂണിക്ക് സെല്ലിംഗ് പോയിന്റ്: മന്ത്രി മുഹമ്മദ് റിയാസ്|access-date=2026-01-27|website=keralakaumudi.com}}</ref><ref>{{Cite web|url=https://deifiedpublications.com/truth-goodness-and-beauty-behind-love-review-my-honest-take/|title=Truth, Goodness and Beauty Behind Love Review|access-date=2026-01-27|date=2026-01-14|website=Deified Publications|language=en-US}}</ref> * ''പോരാളി''<ref>{{Cite web|url=https://up18news.com/ezhuthalan-dr-arun-kumar-s-milk-of-human-kindness/|title=Ezhuthalan Dr. Arun Kumar S' milk of human kindness.|access-date=2026-01-27|last=up18news|date=2024-09-24|website=Up18 News|language=en-US}}</ref> == ഇതും കാണുക == * [[മലയാള സാഹിത്യം]] * ഇന്ത്യൻ കവിത * ഇന്ത്യൻ കവികളുടെ പട്ടിക == അവലംബങ്ങൾ == {{Reflist}} rrkgxxzaq1055srpqwryk8q3xl3aope