Wikipiideɛ
dgawiki
https://dga.wikipedia.org/wiki/A_Gamp%C9%9Bl%C9%9B_zu
MediaWiki 1.47.0-wmf.10
first-letter
Duoro bimbu zie
Be o yoŋ
Yeli
Toma daana
Toma daana yeli
Wikipedia
Wikipedia yeli
Duoro kɔre
Duoro kɔre yeli
MediaWiki
MediaWiki yeli
Tɛmpileti
Tɛmpileti yeli
Sombo
Sombo yeli
Gbuli
Gbuli yeli
TimedText
TimedText talk
Module
Module talk
Event
Event talk
Akrokerri College of Education
0
131
62366
51013
2026-07-09T22:29:43Z
InternetArchiveBot
38
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
62366
wikitext
text/x-wiki
{{Databox|item=Q46996957}}
'''Akrokerri College of Education''' e la a kolaagyi kaŋa naŋ be a [[Ghana]] paaloŋ poɔ. <ref>https://web.archive.org/web/20171229171851/http://bjohas.de/Atlas2017</ref>O be la [[Ashanti Region|Ashanti Irigyiŋ]] poɔ, Akrokerri teŋɛ poɔ (Adansi West education college naŋ be a Akrokerri (Adansi West Desekyere, Ashanti Region, Ghana).<ref>https://web.archive.org/web/20160522135453/http://www.nab.gov.gh/public-colleges-of-education</ref> A kolagyi bezie la Ashanti / Brong Ahafo paaloŋ. O paale la a 46 noba zaa karemamine kolaagyi naŋ be [[Ghana]]. A kolaagyi da paale la a kyakya naŋ da e a DFID-funded T-TEL kpaaroŋ.<ref>https://web.archive.org/web/20171229052155/http://www.t-tel.org/about/coes-network.html</ref> O da paalɛɛ a Univɛnitiri sakuri kaŋa a 2007 a da e a ulee kaŋa ko [[Kwame Nkrumah University of Science and Technology|Kwame Nkrumah University of Science ane Technology (KNUST)]] naŋ da e a 2019 yuoni poɔ.<ref>https://www.bing.com/search?q=akrokerri+college+of+education&qs=SC&pq=akrokerri+coe+&sk=HS1&sc=6-14&cvid=2498157181614D5A9E4935677084E988&FORM=QBRE&sp=2</ref>
== Yelkorɔ ==
Akrokerri karemamine kolaagyi piiluu saŋa da la 1962 yuoni poɔ ka ba kaa a kandideri mine naŋ guu naŋ da ba tõɔ nyɛ ziiri a saŋa naŋ yuomo ayi karemamime. A karemamine Sɛtefikate ‘A’ yuomo anaare zannoo da piilee a yuoni aŋ poɔ. A kolaagyi da piili ne la sakubiiri kɔɔre ata ne pie (70), a ba kyɛlee da naŋ beebe a karemamine zannoo zie naŋ da taa piiluu neŋ a [[Kpando|Kpando Municipal District]].<ref>https://web.archive.org/web/20190722213311/http://www.t-tel.org/hub</ref> A pɔgeli dɛndɛŋ sakubie ba naŋ da de eɛ laŋgbullo naŋ e lezare ne pie Post ‘B’ a September, 1963 poɔ. A kolaagyi sakubiiri noɔre da eɛ noba kɔɔre anuu dɔɔle lezare ne pie ane ayɔpoi(137). A kolaagyi piilee ne la karemamine Satefekete ‘A’ yuomo anaare zannoo, neŋ a lɛ zaa, a 1964 a yuomo ayi English specialist zannoo dɔlɔ da piilee. A 1966, a zannoo dɔlɔ da taa la iribu gaa Winneba. A 1969, a yuomo ayi post sɛkondere karemamine tureeni da paalɛɛ a Sɛtefekete ‘A’ yuomo anaare zannoo dɔlɔ. A 1973, Mathematics ane Science specialist programme meŋ da paalɛɛ. O da korɛɛ ta yuomo anaare. A 1975, a yuomo anaare post secondary programme da leɛre gaa la yuomo anaare post secondary programme. A kolaagyi paaŋ da tona neŋ la Modular programme ko karemamine naŋ na taa tureeni a 18's saŋa. O eɛ a kolaagyi paale mine naŋ taa Access Course ka fõõ naŋ gaa a kolaagyi poɔ. A 2004, o da piilee a programme naŋ be Diploma a Basic Education (D.B.E). O da eɛ ulee naŋ paale a Univenitri a September, 2007. A D.B.E. programme meŋ eɛ zannoo dɔlɔ ko a karemamine banaŋ koŋ kpɛ karendie kanne Sɛtefekɛters karemamine naŋ be a poɔ yuomo anaare ane yuomo ayi a kolaagyi, <ref>https://web.archive.org/web/20190722213311/http://www.t-tel.org/hub</ref>ka ba boɔlɔ o ka 'Adansi' University’ da soŋɛɛ pãã kyaare a baabo ko a human resource a teŋɛ neŋ kampuuse kpoŋ a serene zie ko tonnimizie zie a Akrokerri karemamine kolaagyi da eɛ kparaama ko a reckon neŋ a zoobu ane kɔɔdɛnne.
{| class="wikitable"
|+The college has had five principals since its establishment in 1962.
!Name
!Years served
|-
|Mr. E. S. P. Akoto
|1962 – 1976
|-
|Mr. E. Osei-Wusu
|1976 – 1983
|-
|Mr. C. A. Aikins
|1983 – 1991
|-
|Mr. M. K. Nsowah
|1991 – 2000
|-
|Mr. J. K. Asare
|2000-
|}
== Bezie ==
A Akrokerri karemamine kolaagyi bezie la a [[Adansi North Desekyere]], Ghana ka a bezie e Ahsanti/Brong Ahafo Zone karemamine kolaagyi a Ghana.
== Sakuuri Yeltare ==
Zannoo dɔlɔ ata la ka ba zanna a Akrokerri karemamine kolaagyi poɔ.
'''Zannoo Dɔlɔ'''
A. General Programmes
B. (Bibiiri wuluu zannoo yeltare ) Early Childhood Education Studies
C. Mathematics/Science Education
== Sommo Yizie ==
[[Category:Dagaare]]
[[Category:Gampɛlɛ zaa]]
[[Category:Africa]]
[[Category:Ghana]]
[[Category:West Africa]]
sgx4qsmk8tf0xcsz1afaz4fv3zfpjob
Bagabaga College of Education (BACE)
0
236
62367
41149
2026-07-09T23:20:58Z
InternetArchiveBot
38
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
62367
wikitext
text/x-wiki
{{Databox|item=Q46996960}}
'''Bagabaga College of Education (BACE)''' [[karemamine]] kolaagyi naŋ be [[Tamale]] (Sagnarigu District, [[Northern Region]], [[Gaana]]).<ref name=":1"><nowiki>https://www.graphic.com.gh/news/education/teachers-asked-to-motivate-students-to-learn-mathematics.html</nowiki></ref><ref name=":1" /><ref name=":1" /><ref>https://web.archive.org/web/20171229171851/http://bjohas.de/Atlas2017</ref>A kolaagyi be la Northern zagang. O e la a kolaagyi kaŋa naŋ paale 40 kolaagyiri a Gaana poɔ. A kolaagyi da poɔ la a enyɛ DFID-sommo T-TEL zannoo.<ref>https://web.archive.org/web/20171229052155/http://www.t-tel.org/about/coes-network.html</ref> A kolaagyi da piili la January 1944 neŋ [[Karembiiri Gyogo Kyaare Dagaare Zannoo Ko Sinia Haae Sakuuri|karembidɔɔba]] pie ne bayoɔbo (17) ka o nyoore karemamine ka ba maŋ wullo [[Sakuuri|peraamere ane gyunia hae sakue]]. A kolaagyi ŋa paale la [[University of Education, Winneba|Univeniti kyaare Karemmo, na be Winneba]].<ref>http://www.t-tel.org/coes-network/colleges/articles/bagabaga-college-of-education</ref>
== Dabaŋkoroŋ ==
Bagabaga Kolaagyi kyaare karemmo (BATCO) piili la 31 January 1944 neŋ o dannoo ‘ZANNE DO SAA KYAARE SCIENCES’. Karembidɔɔba pie ne bayɔpoi la da piili a sakuu a e pioneer karembiiri ane [[Mr. K. J. Dickens]] ka o da e a [[Karema|karemazuzeɛ]]. [[Messrs Abu Wemah]] ane [[J. C. Annan]] la Meŋ da e a sakubiiri mine ko a pioneer karemamine.<ref name=":0">https://web.archive.org/web/20190722213311/http://www.t-tel.org/hub</ref>
BATCO's boɔbo la ka ka kanne yi neŋ karemamine, ka ba taa gɔɔloŋ, taa nyooroŋ a wullo a Gaana Peramere ane Gyunia Haae Sakue. A kolaagyi taa la nyaabo ka o wa leɛ karemamine wuluu sakukpoŋ a Northern paaloŋ, kyɛ Meŋ la e karemamine wuluu sakukpoŋ a West African sub-region. A kolaagyi [[Yoe porebo|yoe]] mine ba maŋ maŋ boɔlɔ la ama:
* [[Tamale]] Gɔmenente wulluu kolaagyi
* [[Gɔbena|Gɔmenente]] wulluu kolaagyi
* [[Bagabaga College of Education|Bagabaga]] nemenne wulluu kolaagyi
* [[Bagabaga College of Education|Bagabaga]] wullluu kolaagyi<ref name=":0" />
== Zannoo Parɛɛ ==
'''Zannoo parɛɛ a kolaagyi naŋ zanna yuomo maŋ pare ane zinɛ''':
* 1944- yuomo ayi satefikate “B” teekya wulluu dollo; piili ŋmaa lɛ neŋ yuomo ayi (2) satefikate ‘A’ post “B” zannoo
* 1961 yuonyeni Kori Koobo yeltare koobo yeltare zannoo kyɛ tasɔgɔ leɛ do saa e yuomo ayi Koobo yeltare [[karema]] zannoo.
* 1967 yuomo ayi sekondere sakue karemamine wuluu kolaagyi zannoo.
* 1972/73 piili yuomo ata sekondere karemamine wuluu zannoo.
* 1972/73, yuomo ata specialist zannoo ko General Science ane Mathematics da paale eŋ poɔ la anaŋ na beebe teseŋ Koobo yeltare zannoo.
* 1983/84 da piilee a sogang zannoo dollo kangang 1987/88 Satifikate ‘A’ tekyere zannoo dollo mine meng da la piilee (it was short-lived)
* 2004/2005 Diploma kyaare ne gyuunia haae zannoo dollo (Wagere zaa & koseeraa zaa) and Satifikate ‘A’ yuomo anaare (Koseeraa zaa) zannoo dollo.<ref name=":0" />
*
== Noba Mine Da Baare Kolaagyi ŋa ==
A kolaagyi da wulli la [[karemamine]] ka baŋ pare 7,000 (naŋ be a zannoo parɛɛ zaa poɔ) ko Gaana Sakue zannoo yeltare'''.''' Noba yaga naŋ baare a kolaagyi ŋa leɛ la nembɛrɛ ziiri yaga. Baminne ka bama:
1.[[Dr. Hilla Limann]] -Gaana weldere kyaare a Republic ata soba
2.[[Chief Simon Diedong Dombo]] - Wedere ko a nembasagereba bang be a palemete a 1960.
3.[[Alhaji Mumuni Bawumia]] - Lɔɔya, former Diplomat, Kyaama koraa ko a kaansel nang kyaare Republic anaare soba a Ghana ane Naa koraa ko Kperiga saakonnoo paalong nang be Walewale.
4.[[Mr. Jatoe Kaleo]] - Minisa ko a tengeng nang kyaare a Republic ayi soba a Gaana.
5. [[Mr. B. K. Adama]] - Minisa ko Defence nang be a Republic anaare a Gaana.
6. [[Chief Abeifaa Karbo]] - Namine nakpong a Lawra saakonnoo paalong, ane kyaamaan koraa ko Public Services Commission.
7. [[Mr. A. A. Asumda]]- Minisa ko a tengeng kyaare a Republic dendeng a Gaana.<ref>https://en.wikipedia.org/wiki/Bagabaga_College_of_Education#cite_ref-:0_6-2</ref>
== Sommo Yizie ==
lnsm724qiinu691482ohbex31n9ivzo
Kwame Nkrumah
0
965
62369
61117
2026-07-10T02:19:34Z
InternetArchiveBot
38
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
62369
wikitext
text/x-wiki
{{Databox|item=Q8620}}
'''Dr. Francis Kwame Nkrumah''' (21 kavaare kyuu 1909-27 boŋŋo kyuu 1972) da e la [[Ghanaian]] pɔleteese, political theorist, ane revolutionary. Ona da daŋ e a [[prime minister]] danweɛ soba ane [[Ghana]] yidaandɔɔ, naŋ de weɛ neŋ [[Gold coast|Gold Coast]] ka ba nyɛ sommeŋɛ yi Britain 1957 poɔ.<ref name=":0">https://doi.org/10.1057%2F9780230361270_4</ref> Pan-Africanism, nɔmɛlmɛ neɛ, Nkrumah da e la mɛmba ko a organization of [[Africa|African]] unity ane neɛ naŋ di a Lenin peace prize yi a [[Soviet Union]] 1962 poɔ.<ref name=":1">https://www.oxforddnb.com/help/subscribe#public</ref>
Yuomo pie ne ayi puoriŋ onaŋ wa be paaloŋ yobo tageraa o zannoo duoro saa, meɛrɛ o political philosophy ane nara ne o taa diasporic Pan-Africanists, Nkrumah leɛ wa la Gold Coast na piili o pɔletekal yɛlɛ naŋ e meŋɛ zɔɔ faabo. <ref name=":2">https://doi.org/10.4324%2F9781315018775</ref>O meɛ la Nɔdaa Paate (CPP), naŋ nyɛ baabo weoŋ yi o unprecedented appeal to the common voter. <ref>https://doi.org/10.5479%2Fsil.380651.39088006011662</ref>O leɛ la prime minister 1952 poɔ ane o leɛ are la ana vuo na Ghana naŋ wa nyɛ sommeŋɛ yi [[Britain]] 1957 poɔ. 1960 poɔ, Ghanaians da neɛ la nu iri bɛgɛ gampaalaa kyɛ ɛlɛte Nkrumah Yidaandɔɔ.<ref>https://doi.org/10.2307%2Fj.ctvk3gm60.17</ref>
O naaŋ da are la socialist ane nationalist. O kaa la national industrial ane faŋa yɛlɛ, a eŋ baabo ganzanne eŋɛ oŋ e kpeɛŋaa ane a zɛge Pan-Africanist yipɔge oŋ do saa. Nkrumah wagere, Ghana toŋ la international yelerre yaga African a decolonization wagere.<ref>https://en.wikipedia.org/wiki/Special:BookSources/978-0-691-19455-4</ref>
A zɔɔ maaroŋ wagere, Nkrumah da e la bone na a Wɛse naŋ maŋ boɔle ka authoritarian regime Ghana poɔ.
Kwame Nkrumah ma yuori da la Elizabeth Nyanibah aŋ da yi Anon juriyɛ. Ka o ba meŋ yuori da e Kofi Nɡonloma aŋ da yi juriyɛ ŋa baŋ boɔna ka "Elephant". O da deɛ Helena Ritz Fathia Nkrumah baŋ da dɔɡe biihi bata, Francis Gokeh, Sarmiah Yarba aneŋ Sekou Ritz.<ref>"Kwame Nkrumah - Wikipedia" <nowiki>https://tw.m.wikipedia.org/wiki/Kwame_Nkrumah</nowiki></ref>
== Yelkorɔ ==
=== Pampana yelkorɔ ===
A Kumasi College ko Technology maŋ yuo la a 22 January 1952 neŋ 200 teekyare karembiiri naŋ yi Achimota wa, ka ba wa piili a a kolagyi. A October 1952, a sakuuri ko Engineering ane a Department ko Commerce da piilee naŋ da e a dɛndɛŋ soba. A Pharmacy Department da piilee January 1953, neŋ neɛ naŋ da e tontonna ko a Pharmacy yi a Korle Bu Teaching Hospital, Accra, ko a kolagyi. A department da zanna la yuomo ayi comprehensive course naŋ be a Pharmacy naŋ da vɛŋ ka ba maŋ terɛ Pharmacy Board Certificate. A Department ko a Agriculture meŋ da yuo la a yuoŋyeni ŋa poɔ naŋ da tere ad hoc zannoo dɔlɔ ko wagere mine, yi wagere fēē mine te wagere gyamaa mine, ko a Ministry of Agriculture. A Department ko General Studies da maalɛɛ ka o da wule biiri naŋ be Higher School Certificate Examinations kyaare Science ane Arts zanno dɔlɔ ane ka ba tere sobie zannoo dɔlɔ mine naŋ taa boɔbo mine ko departments sere mine.
Yi 1952 te ta 1955, a sakuuri ko Engineering da kyɔɔrɛɛ sakubiiri kyaare neŋ professional qualifications yoŋ. A 1955, da taa la zannoo neŋ dɔlɔ mime naŋ da be a University of London Bachelor ko Engineering External Degree Examinations.
A 1957, a sakuuri ko Architecture, Town Planning ane Building meŋ da piilee. A o sakubiiri dɛndɛŋ soba da piilee January 1958, kyaare professional zannoo dɔlɔ
A kolagyi da yɔlɛɛ, o da eɛ a Kumasi kolagyi ko Technology naŋ da e science ane technology sakuuri. Mere naŋ beebe, a teekyɛre tureeni kolagyi, neŋ a ba paalebo ko Art Sakuuri, da la leɛre la yi January 1958, ko a Winneba tureeni kolagyi; a 1959 a Commerce Department da leɛre gaa la Achimota ka o da maale a Sakuuri kyaare Administration naŋ be a University of Ghana, Legon.
A December 1960, a Gɔbena ko a Ghana da iree neɛ ko a University Commission ka o tere kpaamo kyaare neŋ a university zannoo saazu duobu yeltare, neŋ yeltare ka ba leɛre a University kolagyi gaaneŋ Ghana ane a Kumasi College of Technology gaaneŋ someŋɛ University of Ghana. Duoruu tuubu mine yi a commission naŋ da yi wieoŋ a 1961, a gɔbena da maalɛɛ a sommenne univɛnitiri naŋ be a Kumasi ane Legon, Accra. A Kumasi Kolagyi ko Technology da leɛre la gaa, yineŋ kaabo naŋ da be a R. P. Baffour, ko a full-fledged university, ane a yuori '''Kwame Nkrumah University of Science ane Technology''' yi a merɛ naŋ be a Parliament a 22 August 1961. A yuori da eɛ puoraa ko Kwame Nkrumah, naŋ e a dɛndɛŋ prime minister kyɛ ta wagere kaŋa da e a president ko a Ghana.
A January 1966, Marr Grounds, naŋ e American/Australian yielŋmeɛrɛ naŋ kpeɛrɛ California, da nyɛ la iruuŋ kaŋa naŋ e karema ko a architecture a da maale yuomo ayi, kyɛ pãã da la leɛroo gaa a University of Sydney School ko Architecture, Design ane Planning a 1968.
A yuori da taa leɛroo gaaneŋ University of Science ane Technology yi a zɔɔre puoriŋ a 24 February 1966. A University ko Science ane Technology da piilee a Wednesday, 20 November 1961. Neŋ a lɛ zaa, a merɛ kaŋa a Parliament (Act 559 a 1998) da leɛrɛɛ a yuori gaaneŋ a yuori meŋɛ waaloŋ, a Kwame Nkrumah University ko Science ane Technology, Kumasi.
== Kampuusiri ==
=== Kumasi kampuusi ===
A Kumasi kampuusi la a kampuusi kpoŋ ko a university. O na baŋ taɛ mɛlɛ ayɔpoi a zieŋ ane mɛlɛ anii (13 km) ko a east a Kumasi. O taa la a Central Administration ane deri menne mine.
=== Obuasi kampuusi ===
A Obuasi kampuusi piiluu saŋa da la a 4 November 2020 neŋ o da naŋ taa a inception a yuoni 2019 gba. O taa la 15 undergraduate programmes, naŋ e zannoo dɔlɔ ayɔpoi ko Engineering programmes, zannoo dɔlɔ anaare ko Business Administration programmes, zannoo dɔlɔ ata ko Allied Health Sciences programmes ane zannoo dɔlɔ yeni ko Science programme.
== Organization ane administration ==
=== Principal ɔfisiri ===
A principal officers ko a university la a chancellor, chairman ko a University Council ane vice-chancellor. A 2018, a wederoŋ vuo kyaare a chancellor da taa soɔbo ko a Asantehene Otumfuo Osei Tutu II.
== Nyovori piiloo ane kanno-yelitaree ==
=== Gold Coast ===
Kwame Nkrumah dogebu da e la Tuesday daare , 21 September 1909 <ref>https://www.mkgandhi.org/articles/nonviolence-of-Mahatma-Gandhi-in-Ghana.html</ref><ref>https://blogs.lse.ac.uk/lsehistory/2018/10/10/kwame-nkrumah-lse/</ref>a [[Nkroful, Gold Coast]] (now Ghana)<ref>https://www.nytimes.com/1964/01/03/archives/man-in-the-news-an-african-enigma-kwame-nkrumah.html</ref><ref>https://books.google.com/books?id=OcTC2eDx5ZsC&pg=PA1</ref>. [[Nkroful]] da e la kuri bile a [[Nzema]] area, nang be a southwest ko a Gold Coast, nang pieli a frontier ning a French colony a ko a [[Ivory Coast.]] O ba da ba kpeira ning o yideme , kye da tona a [[Half Assini]] ziena ung zanne o goldsmith daabu yelitarihi awaana o kuung<ref>https://web.archive.org/web/20230205164542/https://www.uew.edu.gh/lib-fetured/ghana-autobiography-kwame-nkrumah</ref>. Kwame Nkrumah o ma ane yideme da guoloo, noba nang lang kpeira ane lasiri kye taa dogeriba nang be toori nang mang wa nyeba wagere ne wagere.O da kpeiree peenhibu o biibiilong wagere , a kuraa poung , a moo puong, nang da pieli a mani <ref>https://archive.org/details/kwamenkrumah00davi</ref>.
Wagere na o nang da be a sakuuri bie a [[United States]], ba da buonoo ka Francis Nwia Kofi Nkrumah, Kofi da e la [[Akan]] yuori ba nang mang ku dɔɔ ba doge Fridays<ref>https://en.wikipedia.org/wiki/Oxford_University_Press</ref>. Pouring ung leuhi a youri gaa Kwame Nkrumah in 1945 in the UK,yoe buoraa "Kwame"<ref>https://www.primenewsghana.com/politics/kwame-nkrumah-memorial-day-dr-kwame-nkrumah-a-son-of-the-soil.html</ref><ref>https://www.graphic.com.gh/news/general-news/biography-of-ghana-s-first-president-dr-kwame-nkrumah.html</ref>. A duoho a yi Ebenezer Obiri Addo o karembo gaa nimbituori paalikaara, a yuori "Nkrumah", a lasiri yuori ba nang mang ko a ninth child, wolee ka Kwame ‘mine kangang nyee zie a o Ba deu , nie nang taa poeba gyemaa<ref>https://web.archive.org/web/20201018205429/http://www.tvafrique.com/kwame-nkrumah/</ref>.
O Ba, Opanyin Kofi Nwiana Ngolomah, yie Nkroful nang be a Nzema East pampana ba buola Ellembele, ung da e a Asona clan of the Akan Tribe. ziiri wolee ka Ngolomah kpee a [[Tarkwa-Nsuaem]] ane ung tung a goldsmith business<ref>https://web.archive.org/web/20170820160658/http://www.peacefmonline.com/pages/politics/politics/200909/27258.php</ref>.
Ngolomah da taa gyirima ko a yeng ane kawani ko noba nang boura kawani yi o lasiri yela ane deu yele-taaree.O da kpiye ayuoni 1927<ref>https://web.archive.org/web/20170817034351/http://www.nkrumahinfobank.org/article.php?id=100&c=11</ref><ref>https://books.google.com/books?id=OcTC2eDx5ZsC&pg=PA1</ref>.
Kwame da e la o Ma biyeni <ref>https://en.wikipedia.org/wiki/Special:BookSources/978-0-7618-0785-8</ref>. O gaanoo a elementary school nang da kaara yi a Catholic mission a Half Assini, ziena ung a sagi ka o e ye sakuri bizigilii<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFRooney</ref> .
Anaazaa ka o Ma , nie ba nang da buola Elizabeth Nyanibah (1876/77–1979)<ref>https://www.graphic.com.gh/news/general-news/biography-of-ghana-s-first-president-dr-kwame-nkrumah.html</ref><ref>https://web.archive.org/web/20170821212904/http://weekly.ahram.org.eg/Archive/2000/499/profile.htm</ref>, puoring da leu yelee ka dogibo bebiri 1912, Nkrumah segee ka o dogibo bebiri e la 21 September 1909. O Ma yire e la Nsuaem kye ung yi a Agona family. o da e la zingkuora ane yaagu e-ra wagere ung da kuli sera<ref>https://doi.org/10.1093%2Fww%2F9780199540884.013.u158013</ref>. o dogibo beri anii puoring , o Ba da buoloo ka Francis Nwia-Kofi o nang da e dogera <ref>https://books.google.com/books?id=OcTC2eDx5ZsC&pg=PA1</ref>kanga yuori,puori ka o ba ne o ma koo ka Francis Kwame Ngolomah<ref>https://web.archive.org/web/20170820160658/http://www.peacefmonline.com/pages/politics/politics/200909/27258.php</ref>
O ‘nimbi-toori gaabu ning a yuon- pie fora-yeli-irihi yuomo anii puong . A yuoni 1925, o da e la bibiiri karemkanna a sakuri ane ung da e [[baptized]] nang be [[Catholic faith]]<ref>https://doi.org/10.1086%2F454260</ref>.kye da be a sakuuu ,noba buoloo ka [[Reverend Alec Garden Fraser]], ning kpong ko a Government Training College (soon to become [[Achimota School]]) nang be a Gold Coast's capital, Accra. Fraser maali ‘bing ko Nkrumah ka o zanne ŋa a karema nang be sakuu<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFOwusu-Ansah</ref> . ziena[[, Columbia]]-educated deputy headmaster [[Kwegyir Aggrey]] da e-roo kyaare a teiha yi Marcus Garvey ane W. E. B. Du Bois. Aggrey, Fraser, ane ning jaani a Achimota puong anaazaa ka langtaa na bilabe ko a baloo kpachage nang kaara a Gold Coast, kye Nkrumah, echoing Garvey, leu wa teiha ka ningsagne baloo minga kaabo da naang tuong taa haakili‘yeni ba buuri kpachaga<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFRooney</ref><ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFAddo</ref>.
Ung da nye o karima mine sieree gbangu yi a [[Prince of Wales' College]] a Achimota a yuoni 1930<ref>https://www.graphic.com.gh/news/general-news/biography-of-ghana-s-first-president-dr-kwame-nkrumah.html</ref>, Nkrumah da nyee karembu toma nang be Roman Catholic primary school in [[Elmina]] a yuoni 1931<ref>https://www.graphic.com.gh/news/general-news/biography-of-ghana-s-first-president-dr-kwame-nkrumah.html</ref>. A pari a pari yuoni boyeni, o da e la a karima mine ning kpong ko a [[Axim]]. A Axim, o da piilee kpieree paalikaa yelitarihikye leu te be a Nzema Literary Society. A yuoni 1933, ba e-roo ung e karema ko a Catholic seminary at Amissano<ref>https://web.archive.org/web/20200615140618/https://eprints.soas.ac.uk/28819/1/10672987.pdf</ref><ref>https://web.archive.org/web/20200421220037/https://africanakua.com/2019/05/22/women-true-fighters-of-freedom/</ref>. Anaazaa ka be kpiebo da e la tuo ,kye o un
da nung bila, ane o na da buora ka o leu Jesuit. Nkrumah o da wonye a ‘duohi-seura ane nimbituri [[Nigerian]] paalikaara [[Nnamdi Azikiwe]] yela kye sukuri biiri a Achimota; a daba bai da nyee taa kye <ref>https://web.archive.org/web/20200421220037/https://africanakua.com/2019/05/22/women-true-fighters-of-freedom/</ref> Azikiwe's haakila teibo da paahi Nkrumah nungbo a black nationalism<ref>https://doi.org/10.1093%2Facref%2F9780195301731.013.40103</ref>.A karema bile da buora ka o karim gaa nimbituori. Azikiwe da gaa la [[Lincoln University,]] a [[historically black college]] nang be [[Chester County, Pennsylvania]], west ko [[Philadelphia]], kye e Nkrumah kawani ka o kpe be<ref>https://doi.org/10.1057%2F9780230603486</ref>.
Nkrumah,da fieliye u daanuori; teesi ko a [[London University]],o da nyee sungbo ko o yuobo ane o sakuuri yelitaree yi o dogereba seng .o da chenye gaa [[Britain]], ziena ung zanne, ko o nimbikuoniiyi Italy's ngmaabu ko [[Ethiopia]], a paaloo bonyeni kanga yi a independent African nations. o da gaa a [[United States]], a October 1935<ref>https://web.archive.org/web/20200421220037/https://africanakua.com/2019/05/22/women-true-fighters-of-freedom/</ref><ref>https://www.newtimes.co.rw/section/read/222725</ref><ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFRooney</ref>
=== United States ===
A yi ayeli’kori seuseura [[John Henrik Clarke]] o atiklehi ku a Nkrumah's American sojourn, " a haakila leubo yi a yuom-pie ung nang da be a [[United States]] da taa naaribo jeri nyiibu ko o nyovore chelee nang kpaling." Nkrumah da moo nye kpiebu ko [[Lincoln University]] wagere kanga seni ung piilee karembo a beng<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFClarke</ref>.
Nkrumah da baaree a Bachelor of Arts degree a economics ane sociology a yuoni 1939. Lincoln leu e-roo ung e‘wuliwulo sungna a bambu bii daanhibu buobu.O da piilii diaree buolibo ka o e a saamba nie ang muola Ngmini yela a Presbyterian churches in Philadelphia ane New York<ref>https://open.uct.ac.za/bitstream/handle/11427/9290/thesis_hum_2014_opokumensah_e.pdf?sequence=1</ref><ref>https://web.archive.org/web/20200602070935/https://www.mtkenyatimes.co.ke/auto-draft-3/</ref>. A yuoni 1939, Nkrumah da kpe a Lincoln's seminary ane a [[Ivy League institution]], a University of Pennsylvania nang be Philadelphia ane a yuoni 1942,o da piilii tuni a Mu chapter of [[Phi Beta Sigma fraternity at Lincoln University]]<ref>https://ir.library.illinoisstate.edu/cgi/viewcontent.cgi?article=2067&context=etd</ref>. Nkrumah nyee a Bachelor of Theology degree yi a Lincoln a 1942, a karembi-zudaana a koose . O sanyeu diabo yi a Penn a tuuro a yuoni a Master ko Arts degree nang be philosophy ane a Master of Science in education<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFRooney</ref>. Wagere a Penn, Nkrumah tomee ning a kokojera ‘wono [[William Everett Welmers]], a kuro a yelibo bungma nang maali a munpiilee ku a fora descriptive grammar ko a teng-be [[Fante dialect]] of the [[Akan language]]. Nkrumah ming da piilee tuma ning a [[Prince Hall Freemasonry]] kye da kpiera a United States<ref>https://aha.confex.com/aha/2009/webprogram/Paper2449.html</ref><ref>https://www.ghanaweb.com/GhanaHomePage/features/Special-Tribute-to-Dr-Kwame-Nkrumah-286481</ref>.
Nkrumah da kannee bukuri agaa paalikaa yelitarihi ane Ngminihung yela zannuu , ane biirii karembo a bambu bii daanhibu buobu<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#cite_note-63</ref>. A yuoni 1943 Nkrumah da nyee [[Trinidadian]] Marxist [[C. L. R. James,]] Russaian long paalijaala [[Raya Dunayevskaya]], ane Chinese-American Grace Lee Boggs,ba zaa da e la membare ko a American-based Marxist intellectual [[Cohort.|cohort]]<ref>https://www.africanglobe.net/featured/dr-kwame-nkrumah/</ref>[[Cohort.|.]] Nkrumah puoring da tiehi yeli ‘ku ye James ning o karembo "bila tenge muni toma chene mang be<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFSherwood</ref> ". [[Federal Bureau of Investigation]] gbama ing’zie ko Nkrumah, kpeling yi a January to May 1945,da wuloo nie ang tuong sagi ‘komunizim<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFSherwood</ref>. Nkrumah da e la siiri ka o gaa London, a buora ka o nang kanne gaa ‘nimbi-toori a [[Second World War]] da baaree<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#cite_note-FOOTNOTEAddo70-67</ref> . James, a yuoni1945 puori wulee Nkrumah to [[Trinidad-born]] George Padmore a London,seuye: " A dau baapaala waana o zie .O da ba e nimbiyuoro,kye anaa-zaa da erakura o le ne ung na tuong bonso o da eraa siri ka o za Europeans yi a Africa<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFSherwood</ref>."
=== London ===
Nkrumah da leu gaaye London a May 1945 puong kye kpe a [[London School of Economics]] aŋa a PhD ning‘lugiroo a [[Anthropology]]. O da leu eree a sukuu ‘biihi ‘yuobu ti ta ba bahibu puoring a yuoni pring ung da kpe [[University College London]], ning a nimbi-zie ing ka o seu a bambu bii daanhibu buobu siing lemeleme a "Knowledge and Logical Positivism"<ref>https://doi.org/10.1086%2F649838</ref>. o ningkpong , [[A. J. Ayer]], zaanhibu ka o maahi nye Nkrumah aŋa a "first-class philosopher",a yela , "ing nungla o yela ane a mang ‘wong noo ning o yeliyaga kye o da ba ‘woning wa ung taa haakila . O da buora ‘ihi jugihibu nuori wieng ‘wieng. ing teiha ka tilahi chelee da e la ka o da ba cheliha kpiengaa ko a yelinyogiruu . bila da e la sori nang wono a wagere a gara ka a sori ‘yuobu wa ka o leu gaa Gaana<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFSherwood</ref> ." A baaraa , Nkrumah da kpee , kye da ba baare , a karimbo ko begu a [[Gray's Inn]]<ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFSherwood</ref>.
Nkrumah dia o wagere ko paalikaa-yelitare langbo o minga ane Padmore da paahiye a zu-daana lambu ‘yi-diereba, ane libi-kaareba ,ko a Fifth [[Pan-African]] Congress a Manchester (15–19 October 1945)<ref>https://books.google.com/books?id=rqYEhtONIBgC</ref>. A gbebogu-ahiba langbo ‘bigihi ta a ''.''taanhu yelitarihi segihibu ko a vuori saamba wa die paaluu kaara.Ba da sagi a ‘tu bau a federal United States of Africa, ning with liriha taa paaloo lambo, a kaara yi welihibo paalihi ko ngmaa sori berii kpiengu<ref>https://doi.org/10.1111%2F1467-954X.00231</ref>. Ba da segehiye a tu bau ko a new African lasiri kye ba taa dogirii welibu,yeli ka-n-yeli naang yela ning lang’dima tumbo, laanha lanna taaba dangkaari yeli ‘lombori kanga ning bungpaalaa tiehibo , ane ka a bila nga nye yi non-violent wulee ka a na e la tuongbo<ref>http://www.jpanafrican.com/docs/vol2no3/GhanasForeignPolicyAtIndependenceAnd.pdf</ref>. A paahi noba nang gaa a lambo da e la bungtiinhuu [[W. E. B. Du Bois]] a ning mine nang da dia yidiebo toma ka ba e yi-dieriba ko a paaloo so-n-minga deme a paahi [[Hastings Banda]] of [[Nyasaland]] (nang leu Malawi), [[Jomo Kenyatta]] ko [[Kenya]] ane [[Obafemi Awolowo]] ko[[Nigeria]]<ref>https://www.ippmedia.com/en/features/running-away-our-own-shadows</ref><ref>https://en.wikipedia.org/wiki/Kwame_Nkrumah#CITEREFRooney</ref>.
== 1966 coup d'état ==
See also: [[National Liberation Council § 1966 coup]]
A February 1966, kye ka Nkrumah da bila sori gara ka o ta nye a [[North Vietnam]] ane China, o paalikaa da ihi nie naalung ‘kogong a miihuu ''coup d'état'' ang dia zu yi a paaloo [[military]] ane [[police]] forces, ning sungbu yi a civil service<ref>https://ghanaremembers.com/stories/people/kwame-nkrumah-a-biography-of-ghanas-first-president.html</ref>. A noba nang da buora ka ba toung beu conspirators, ‘yie diera da e-ye [[Joseph Arthur Ankrah,]] da kuye ba mine yuori ka a [[National Liberation Council]] ane o kaabo awa soje yela paalikaabo yuomo ata agaa . Nkrumah da zanne ko a coup sene ung da te-ta a China. A coup puoring,Nkrumah da kpee a Beijing beri anaare, ane Premier [[Zhou Enlai]] da kaakoo ning gyirima <ref>https://doi.org/10.1080%2F00064246.1972.11431232</ref><ref>https://www.modernghana.com/news/876767/the-confused-moments-of-nkrumah-in-china-after-the-coup.html</ref>.
== Foomaraa leubu ane kuung ==
Main article: [[Death and state funeral of Kwame Nkrumah]]
Nkrumah kpeing a 27 April 1972, a [[Bucharest]], a teng kpong ku a [[Romania]],ko yela babanginuu kye ang ba sogili baalung. a coup wagere , o daang kpiera a Guinean teng-kpong ko Conakry, ang jeng ‘tengeng wagiri nga.
== Daanhibu ane Cheng bung ==
O wagere, Nkrumah da nyee Kyɔɔtaɛ ko awarded honorary doctorates yi universities jemaa a paahi [[Lincoln University (Pennsylvania), Moscow State University]] (USSR), [[Cairo University]] ([[Egypt]]), [[Jagiellonian University]] [[(Poland]]), ane [[Humboldt University (East Germany)]]<ref>http://www.kwamenkrumahcentenary.org/esi_speech.html</ref>.
A yi a ‘nimbiyuo ‘sieree gbanseu ‘binnuu barebo yi a [[U.S. Department of State's Office of the Historian]], "Nkrumah da e-ree yele gyemaa ka o ligiri bung ‘muning ko a [U.S. government] buobo gang a black African jaa<ref>https://history.state.gov/historicaldocuments/frus1964-68v26/d201</ref> ."
A September 2009, President [[John Atta Mills]] da wulee a 21 September (the 100th anniversary of Kwame Nkrumah's birth) ung e a [[Founders' Day]], a kparaama pennuu ‘bebiri a Gaana ka ba teihe a nabaali yela ko Kwame Nkrumah<ref>http://www.modernghana.com/news/236431/1/nkrumahs-birthday-declared-a-holiday.html</ref>. A April 2019, President Akufo-Addo da sagi ku a Public Holidays (Amendment) Act 2019 nang leure a 21 September yi Founders' Day gaa[[Kwame Nkrumah Memorial Day]]<ref>https://www.ghanaweb.com/GhanaHomePage/NewsArchive/President-Akufo-Addo-assents-to-Public-Holidays-Amendment-Act-2019-744767</ref>.
== Meŋa nyɔvore-yele ==
Kwame Nkrumah kulee [[Fathia Ritzk]], an [[Egyptian Coptic]] bank tongtuna ane sakuuri karema koree , a ‘zi-maanii o na da waana a Gaana pou: New Year's Eve, 1957–1958<ref>http://www.nathanielturner.com/fathiankrumahfarewell.htm</ref>. Fathia's ma da zaahiye ka o buoli ngmini ko o ba kuli-taa yele ne puong, o bie kanga nang da yi ne a dau saana<ref>https://web.archive.org/web/20200610125740/https://www.pulse.com.gh/news/local/here-are-all-the-first-ladies-of-ghana-since-independence/0l2k3hw</ref><ref>https://www.modernghana.com/lifestyle/1095/fathia-the-rock-of-the-nkrumah-family.html</ref>.
Aŋa kuli-taa deme, Fathia ane Nkrumah da taa biiri bata : Gamal (born 1958), Samia (born 1960) ane Sekou (born 1964). [[Gamal]] da e la ‘duohi-saamba gbangu seura , ky ka [[Samia]] ane Sekou ming da e la paalikaa tuntuniba . Nkrumah da taa bidau zaala, Francis, a paediatrician (born 1935)<ref>https://web.archive.org/web/20181019075818/https://www.myjoyonline.com/news/2014/September-22nd/africa-must-re-examine-implement-nkrumahs-ideas-francis-nkrumah.php</ref><ref>https://web.archive.org/web/20190406213932/https://www.ghanaweb.com/GhanaHomePage/NewsArchive/Kwame-Nkrumah-s-unknown-son-surfaces-235004</ref><ref>https://web.archive.org/web/20190904212017/http://www.peacefmonline.com/pages/local/social/201507/249589.php</ref><ref>https://www.knust.edu.gh/about/knust/history</ref>.
== O Yeli yaɡa Ŋmaara Mine ==
"N nuŋ yɛŋ ka N so n meŋa kyɛ be dɔɡee poɔŋ ɡaa ka N ta so n meŋa"
"Ghana meŋa soubu ba tare tɔna jaa ka Africa paaluu jaa ba so o meŋa"
"Africa taree sɔre ka te laŋtaa"
"Nimitɔɔre ɡaabu yoŋ, boɔre ɡaabu kyibe"
"Eŋ ba e neɛ aŋ yɛli ka N yie Africa baŋ dɔɡe ma Africa kye juŋ, eŋ eɛ neɛ aŋ yi Africa bojuŋ ba dɔɡee Africa eŋ eŋan"
"Te ihee panpana. Te daŋ kula ɡbihi jaa. Aŋ yi jine ɡara, Africa paalaa waɛ dunee"
"Ka neɛ era yɛla kyɛ ba tieha eɛ yelkpala. Ka neɛ tieha kyɛ ba ihi era eɛ wa jɔŋloŋ"<ref>"20 memorable quotes by Kwame Nkrumah" <nowiki>https://mobile.ghanaweb.com/GhanaHomePage/NewsArchive/20-memorable-quotes-by-Kwame-Nkrumah-782725</nowiki></ref>
"Neɛ jaa aŋ yi Africa, ka e bie "North" bee "South America", "Carrabean" dɛme bee dunee lombori jiejaa baŋ be eɛ nuba aŋ yi Africa"<ref>"20 memorable quotes by Kwame Nkrumah" <nowiki>https://mobile.ghanaweb.com/GhanaHomePage/NewsArchive/20-memorable-quotes-by-Kwame-Nkrumah-782725</nowiki></ref>
"Meŋa soɔbu ba e boŋ eŋ na de ko neɛ a wa kyeotaa. Yɛ boŋ la neɛ meŋ jaa koŋ baŋ bimuu koɛ"<ref>"20 memorable quotes by Kwame Nkrumah" <nowiki>https://mobile.ghanaweb.com/GhanaHomePage/NewsArchive/20-memorable-quotes-by-Kwame-Nkrumah-782725</nowiki></ref>
==== vuune toma mine ====
Nkrumah's da terɛɛ sommo ko a industrial development, sommo ko a Minister of Finance, Komla Agbeli Gbedema, ko a Volta River Project: a Meɛbo ko a hydroelectric power plant, a Akosombo Dam kyaare a Volta River a eastern Ghana. A Volta River Project da la a duoruu terɛ ko Nkrumah's economic programme. A 20 February 1958, o da yeli ko la National Assembly: "n taa la sagedeebo kpeɛŋaa ko a Volta River Project naŋ maŋ terɛ a sobie naŋ maŋ vɛŋ ka te kpɛ a economic independence." Ghana da nyɛ sommo yi United States, Israel ane a World Bank ka ba mɛ dampo.
Kaiser Aluminum da sagɛɛ ka ba da mɛ a dampo ko Nkrumah, kyɛ da are neŋ feeroŋ neŋ boma na ba naŋ na de maale neŋ a fintindigili. Nkrumah da pɛŋɛɛ libie ka ba da mɛ neŋ a dampo, naŋ da vɛŋ sanne da be a Ghana. Ka ba da soŋ yɔɔ a sane, o da duorɛɛŋ zuyɔɔ naŋ be cocoa koɔreba a south. Ŋaa da vɛŋɛɛ nimikpɛ yɛlɛ da bebe. A dampo Meɛbo da baarɛɛ kyɛ naŋ piili a Nkrumah amidst global publicity a 22 January 1966.
Nkrumah da wanne la Ghana Nuclear Reactor Project a 1961, naŋ taa piiluu a Ghana Atomic Energy Commission a 1963, ane a 1964 naŋ da vɛŋ a kuuri dɛndɛŋ ka o da e a atomic energy facility.
==== Cocoa ====
A 1954 a tendaa zaa cocoa daaroŋ da zɛge do ko a cocoa koɔba ka ba are ko windfall, Nkrumah da senne neŋ la a duobu ko central government levies, naŋ da vɛŋ ka o da areko a national development projects. A yɛlɛ ama mine da soŋ o la ka o da la do wederoŋ.
Boma daaroŋ da naŋ duoro saa. A 1960 a cocoa baagyi daaroŋ da arɛɛ £250 a London. A August 1965 a daaroŋ da arɛɛ £91. A daaroŋ duobu da sigee yi a Gɔbena naŋ da areko a boŋguri ane koɔba ka ba da nyɛ a arekoobo.
=== Saakonnoŋ ===
Nkrumah da eɛ ardent promoterko a pan-Africanism, naŋ nyɛ gaabo e ''"quest for regional integration of the whole of the African continent"''. A saŋa ko Nkrumah's nimizeeloŋ ko politisi taa la mannoo naŋ e "golden age of high pan-African ambitions"; a continent da nyɛɛ nationalist movements ane decolonization ko a European colonial powers, ane historians da nyɛ la duoruu ka "a mannoo ane solidarity da nyɛɛ momentum naŋ be a pan-Africanist movement". Naŋ leɛ teɛre African heritage, Nkrumah gbɛɛ gyamaa na maŋ eschewed Western fashion, donning a fugu (a Northern attire) naŋ taa Southern-produced Kente cloth, a banaa taa la bambo. O da paalɛɛ a piiluu a Ghana Museum a 5 March 1957; a Arts Council of Ghana, a wing ko a Ministry of Education ane Culture, a 1958; a Research Library a African Affairs a June 1961; ane a Ghana Film Corporation a 1964. A 1962, Nkrumah naŋ taa yuobu a Institute of African Studies.
A campaign yineŋ nudity naŋ be a northern naŋ paale a teŋɛ naŋ nyɛ special attention yi Nkrumah, naŋ da nyɛ Propaganda Secretary Hannah Cudjoe ka ba tere yeluu. Cudjoe meŋ da maalɛɛ a Ghana Women's League, naŋ da zɛge a Party's agenda kyaare nutrition, biiri guoluu, ane bonsuuri suubu. A League meŋ da la yi la zɔɔre naŋ da taa sommo ko French nuclear weapons a Sahara. Cudjoe wasda iree consolidation kyaare national women's groups, a da vɛŋ sentaaloŋ be a Party poɔŋ.
Merɛ da bebe a 1959 ane 1960 naŋ da kyaare wederoŋ mine a parliament naŋ da taa wederoŋ neŋ pɔge. Pɔgeba mine da taa la zɛgebo gaa CPP Central Committee. Pɔgeba gyamaa da gaa la Yunivɛniti, a da furi tonsonne mine teseŋ medicine ane law, kyɛ da la gaa neŋ professional trips a Israel, a Soviet Union, ane a Eastern Bloc. Pɔgeba meŋ da kpɛɛ sogyaaloŋ ane air force. Pɔgeba gyamaa da be la koɔbo ane yɛroŋ; bamine da nyɛɛ sommo yi Co-operative Movement.
Nkrumah's enfuomo da yɛre pɔgɛɛ a zie zaa, teseŋ, a postage stamps ane a libie, naŋ taa yitaaloŋ neŋ monarchs – naŋ terɛ fodder gɛgɛroŋ naŋ bebe ko Nkrumahist ka o paalɛɛ kɔlt.
==== Increased power of the Convention People's Party ====
A 1962, baapaaba Mɛmbare bata mine naŋ be CPP da taa la eebo kyaare plot ka ba da saa Nkrumah's lɔɔrɛ naŋ be a motorcade. A yelmennoŋ naŋ be kyaare a plotters la na da zoe a lɔɔrɛ yineŋ a Nkrumah's lɔɔrɛ. A naŋ wuli ka a guguro da bebe la, Nkrumah da iree a guguro o tomaŋ naŋ be a state security court, kyɛ da vɛŋ a CPP-dominated parliament biŋ merɛ kyaare ne a yɛlɛ. A gbɛre boyi soba, dɔba bata zaa da taa kūū yi a yɛlɛ, kyɛ a naŋ wuli ka a nyɔgebo ŋa da wuli ka ba gaa pɔgebo dieŋ a ba nyɔvori gbuli zaa. Yi a be, a begemaale ganne da leɛ taa maalo kaa ba da ko a perɛsidɛn faŋa ka o da iri a gyaagyiri naŋ be a ɔfere naŋ zaa.
A 1964, Nkrumah da maalɛɛ begimaaale ganne yɛlɛ leɛroo naŋ na vɛŋ a CPP ka o da e a politikal paate naŋ taa sagedeebo, neŋ Nkrumah ka o e a perɛsidɛn ko a teŋɛ ane a paati.Gane leɛroo da taa la sagedeebo neŋ 99.91 % yi a kɔɔ poɔ vootu bie, naŋ da vɛŋ a noba banaŋ na da kaara ka ba da yeli yelgaalema ka a vootu da eɛ "obviously rigged". Ghana da eɛ teŋɛ neŋ paati yeni yi a ba independence. A leɛroo da vɛŋɛɛ Nkrumah's perɛsidɛn da leɛ gaa a ''de facto'' legal dictatorship.
=== Civil service ===
Yi a puori kyaare substantial Africanization ko a civil service a 1952–60, a noɔre ko a expatriates da la zɛge do la saa a 1960 te ta 1965. A noba ba naŋ na kaara yiwaabo zie da ba e a United Kingdom kyɛ da e Soviet Union, Poland, Czechoslovakia, Yugoslavia, ane Italy.
==Kyɔɔtaɛ==
===Tenne mine Kyɔɔtaɛ===
{{Clear}}
{| class="wikitable" style="text-align:left;"
|-
! style="width:90px;" | Ribbon
! style="width:350px;" | Distinction
! style="width:120px;" | Country
! style="width:120px;" | Date
! Reference
|-
| [[File:EGY Order of the Nile - Grand Cordon BAR.svg|80px]]
| style="font-size:90%;" | Grand Cordon of the [[Order of the Nile]]
| style="font-size:90%;" | {{flag|Egypt|1922}}
| style="text-align:center; font-size:90%;" | 1957
| style="font-size:90%;" | {{cite book |editor1-last=Danquah |editor1-first=Moses |title=Ghana: One Year Old. A First Independence Anniversary Review |date=1958 |publisher=Publicity Promotions |location=Accra |page=32 |url=https://www.loc.gov/item/2008700208/ |access-date=5 May 2025}}
|-
| [[File:LBN National Order of the Cedar - Grand Cordon BAR.svg|80px]]
| style="font-size:90%;" | Grand Cordon of the [[National Order of the Cedar]]
| style="font-size:90%;" | {{flag|Lebanon}}
| style="text-align:center; font-size:90%;" | 1957
| style="font-size:90%;" |
|-
| [[File:Order of the Yugoslavian Great Star Rib.png|80px]]
| style="font-size:90%;" | [[Order of the Yugoslav Star|Order of the Yugoslav Great Star]]
| style="font-size:90%;" | {{flag|Yugoslavia|1946}}
| style="text-align:center; font-size:90%;" | 2 March 1961
| style="font-size:90%;" | {{cite news |title=Председник Тито предао председнику Нкрумаху Ореден велике југословенске звезде |url=http://istorijskenovine.unilib.rs/view/index.html#panel:pp%7Cissue:UB_00064_19610303%7Cpage:4%7Cquery:%D0%BE%D1%80%D0%B4%D0%B5%D0%BD%20%D0%B2%D0%B5%D0%BB%D0%B8%D0%BA%D0%B5%20%D1%98%D1%83%D0%B3%D0%BE%D1%81%D0%BB%D0%BE%D0%B2%D0%B5%D0%BD%D1%81%D0%BA%D0%B5%20%D0%B7%D0%B2%D0%B5%D0%B7%D0%B4%D0%B5 |access-date=6 May 2025 |work=[[Borba (newspaper)|Borba]] |date=3 March 1961 |language=sr}}
|-
| [[File:CZE Rad Bileho Lva 3 tridy BAR.svg|80px]]
| style="font-size:90%;" | Collar of the [[Order of the White Lion]]
| style="font-size:90%;" | {{flag|Czechoslovakia}}
| style="text-align:center; font-size:90%;" | 2 August 1961
| style="font-size:90%;" | {{cite web |title=Československý řád Bílého lva 1923–1990 |url=https://www.prazskyhradarchiv.cz/file/edee/vyznamenani/cs_rbl.pdf |publisher=Archivu Kanceláře prezidenta republiky |access-date=5 May 2025 |page=130 |language=cs}}
|-
| [[File:Order of the Elephant Ribbon bar.svg|80px]]
| style="font-size:90%;" | [[Lenin Peace Prize]]
| style="font-size:90%;" | {{flag|Soviet Union|1955}}
| style="text-align:center; font-size:90%;" | 30 April 1962
| style="font-size:90%;" | {{cite news |title=Picasso Gets Lenin Prize |url=https://news.google.com/newspapers?nid=1873&dat=19620501&id=dsAeAAAAIBAJ&sjid=bsoEAAAAIBAJ&pg=6210,37008 |access-date=6 May 2025 |work=Daytona Beach Morning Journal |date=1 May 1962}}
|-
| [[File:Cordone di gran Croce di Gran Cordone OMRI BAR.svg|80px]]
| style="font-size:90%;" | Knight Grand Cross with Collar of the [[Order of Merit of the Italian Republic]]
| style="font-size:90%;" | {{flag|Italy}}
| style="text-align:center; font-size:90%;" | 25 September 1963
| style="font-size:90%;" | {{cite web |title=Elenco dei Cavalieri di Gran Croce, decorati di Gran Cordone dell'Ordine, defunti |url=https://archivio.quirinale.it/materiali-pubblicazioni/onorificenze/ASPR_Onorificenze_Cavalieri_di_Gran_Croce_Gran_Cordone.pdf |publisher=Portale storico della Presidenza della Repubblica |access-date=5 May 2025 |language=it}}
|-
| [[File:POL Polonia Restituta Wielki BAR.svg|80px]]
| style="font-size:90%;" | Grand Cross of the [[Order of Polonia Restituta]]
| style="font-size:90%;" | {{flag|Poland}}
| style="text-align:center; font-size:90%;" | 1965
| style="font-size:90%;" | {{cite book |last1=Stela |first1=Wojciech |title=Polskie ordery i odznaczenia (Vol. I) |date=2008 |location=Warsaw |page=49}}
|-
| [[File:Order of the Companions of O.R. Tambo (ribbon bar).gif|80px]]
| style="font-size:90%;" | Supreme Companion of the [[Order of the Companions of O. R. Tambo]]
| style="font-size:90%;" | {{flag|South Africa}}
| style="text-align:center; font-size:90%;" | 16 June 2004(posthumously)
| style="font-size:90%;" | {{cite web |title=2004 National Orders awards |url=http://www.southafrica.info/about/people/nationalorders2004.htm |website=SouthAfrica.info |access-date=5 May 2025 |archive-url=https://web.archive.org/web/20160204092331/http://www.southafrica.info/about/people/nationalorders2004.htm#.VrMYl-zP32c |archive-date=4 February 2016}}
|}
==Kwame Nkrumah Toma O Naŋ Toŋ==
[[File:1989 CPA 6101.jpg|thumb|right|A postage stamp from the [[Soviet Union]] marking the 80th anniversary of his birth]]
[[File:Independence Arch - Accra, Ghana1.jpg|thumb|Independence Arch in Accra]]
* "Negro History: European Government in Africa", ''The Lincolnian'', 12 April 1938, p. 2 (Lincoln University, Pennsylvania) – see [https://web.archive.org/web/20090817175003/http://www.lincoln.edu/library/project.html Special Collections and Archives, Lincoln University] {{Webarchive|url=https://web.archive.org/web/20090817175003/http://www.lincoln.edu/library/project.html |date=17 August 2009 }}{{Cite journal|last=Bontemps|first=Arna|date=20 April 2017|title=Lincoln and the Negro|journal=University of Illinois Press|volume=1|doi=10.5406/illinois/9780252037696.003.0005}}
* "Primitive Education in West Africa," ''Educational Outlook,'' January 1941 (University of Pennsylvania). [https://archives.upenn.edu/digitized-resources/docs-pubs/nkrumah/nkrumah-primitive-education/ See] {{Webarchive|url=https://web.archive.org/web/20240303212548/https://archives.upenn.edu/digitized-resources/docs-pubs/nkrumah/nkrumah-primitive-education/ |date=3 March 2024 }}
* "Education and Nationalism in Africa," ''Educational Outlook,'' November 1943 (University of Pennsylvania). [https://archives.upenn.edu/digitized-resources/docs-pubs/nkrumah/nkrumah-education-nationalism/ See] {{Webarchive|url=https://web.archive.org/web/20240303212548/https://archives.upenn.edu/digitized-resources/docs-pubs/nkrumah/nkrumah-education-nationalism/ |date=3 March 2024 }}
* ''Ghana: The Autobiography of Kwame Nkrumah'' (1957). {{ISBN|0-901787-60-4}}{{Cite book|last=Nkrumah, Kwame |title=Ghana: the autobiography of Kwame Nkrumah|date=2002|publisher=Panaf|isbn=0-901787-60-4|edition=Africa's 100 best books|location=London|oclc=51932153}}
* ''Africa Must Unite'' (1963). {{ISBN|0-901787-13-2}}{{Cite book|last=Nkrumah, Kwame |title=Africa must unite|date=1963|publisher=Panaf|isbn=0-901787-13-2|location=London|oclc=6567302}}
* ''African Personality'' (1963){{Cite book|last=Mead, Margaret |title=Technique & personality|date=1963|publisher=Museum of Primitive Art|oclc=603547274}}
{{blockquote|The essence of neo-colonialism is that the State which is subject to it is, in theory, independent and has all the outward trappings of international sovereignty. In reality its economic system and thus its political policy is directed from outside.|Introduction}}
* ''Neo-Colonialism, the Last Stage of Imperialism'' (1965){{Cite journal|last1=Tiger|first1=Lionel|last2=Nkrumah|first2=Kwame|date=1966|title=Neo-Colonialism. The Last Stage of Imperialism|journal=International Journal|volume=22|issue=1|pages=161|doi=10.2307/40199801|jstor=40199801|s2cid=143584107 |issn=0020-7020}}{{Cite book|last=Nkrumah, Kwame |title=Neo-colonialism: the last stage of imperialism.|date=1990|publisher=Panaf|oclc=59982527}}
* ''Axioms of Kwame Nkrumah'' (1967). {{ISBN|0-901787-54-X}}{{Cite book|last=Nkrumah, Kwame |title=Kwame Nkrumah: the Conakry years, his life and letters|date=1990|publisher=PANAF|others=Milne, June 1920–|isbn=0-901787-53-1|location=London|oclc=22733303}}
* ''African Socialism Revisited'' (1967){{Cite journal|date=October 1967|title=African Socialism|journal=International Affairs|volume=43|issue=4|pages=779|doi=10.1093/ia/43.4.779|issn=1468-2346}}
* ''[https://books.google.com/books?id=nGB1AAAAMAAJ Challenge of the Congo] {{Webarchive|url=https://web.archive.org/web/20230405030326/https://books.google.com/books?id=nGB1AAAAMAAJ |date=5 April 2023 }}'' (1967)
*''Voice From Conakry'' (1967). {{ISBN|90-17-87027-3}}
* ''Dark Days in Ghana'' (1968). {{ISBN|0-7178-0046-6}}{{Cite book|last=Nkrumah, Kwame |title=Dark days in Ghana|date=1972|publisher=Internat. Publ|isbn=0-7178-0046-6|edition=Repr|location=New York|oclc=796074108}}
* ''Handbook of Revolutionary Warfare'' (1968). {{ISBN|0-7178-0226-4}}{{Cite book|last=Nkrumah, Kwame |title=Handbook of revolutionary warfare: a guide to the armed phase of the African revolution|date=1975|publisher=International Publishers|isbn=0-7178-0226-4|edition=1st U.S.|location=New York|oclc=8095708}}
* ''The Way Out, "Civilian Rule" Fraud and A Call for Positive Action and Armed Struggle'' (1970){{Cite book |last=Nkrumah |first=Kwame |title=The Way Out, "Civilian Rule" Fraud and A Call for Positive Action and Armed Struggle |publisher=Panaf Books |year=1970 |edition=Reprinted |location=University of London, Senate House Library}
* ''Consciencism: Philosophy and Ideology for De-Colonisation'' (1970). {{ISBN|0-901787-11-6}}{{Cite book|last=Nkrumah, Kwame |title=Consciencism: philosophy and ideology for decolonisation|date=1978|publisher=Panaf|isbn=0-901787-11-6|location=London|oclc=16613918}}
* ''Class Struggle in Africa'' (1970). {{ISBN|0-901787-12-4}}{{Cite book|last=Nkrumah, Kwame |title=Class struggle in Africa.|date=1970|publisher=Panaf Books Ltd|isbn=0-901787-12-4|location=London|oclc=153293}}
* ''The Struggle Continues'' (1973). {{ISBN|0-901787-41-8}}{{Cite book|last=Nkrumah, Kwame |title=The struggle continues: six ... pamphlets|date=1973|publisher=Panaf Books Ltd|isbn=0-901787-41-8|location=London|oclc=3073780}
* ''I Speak of Freedom'' (1973). {{ISBN|0-901787-14-0}}{{Cite book|last=Nkrumah, Kwame |title=I speak of freedom|date=1973|publisher=Panaf Books Ltd|isbn=0-901787-14-0|location=London |oclc=16236424}}
* ''Revolutionary Path'' (1973). {{ISBN|978-0-901787-22-4}}{{Cite book|last=Nkrumah, Kwame |title=Revolutionary path.|date=1973|publisher=Panaf Books Ltd|isbn=0-901787-22-1|location=London|oclc=764869}}
== Tigri ==
Yelyaga boɔbo leɛ kaa Kwame Nkrumah tigiri
== Meŋ Kaa Kyɛ ==
Nkrumah gɔbena
== Kyɛle kyɛ ==
{{notelist}}
== Meŋɛ Nyɔvooroŋ ==
* {{Cite book |last=Addo |first=Ebenezer Obiri |title=Kwame Nkrumah: A Case Study of Religion and Politics in Ghana |publisher=University Press of America|year=1997 |isbn=978-0-7618-0785-8|ref={{sfnRef|Addo}} }}
* {{Cite book |last=Birmingham |first=David |title=Kwame Nkrumah: The Father of African Nationalism |publisher=Ohio University Press |year=1998 |isbn=978-0-8214-1242-8|ref={{sfnRef|Birmingham}} }}
* {{Cite book |last=Bourret |first=F. M. |title=Ghana—The Road to Independence |publisher=Stanford University Press |year=1960|edition=Revised|orig-date=1949 |oclc= 414362 |ref={{sfnRef|Bourret}} }}
* {{cite journal |title=Kwame Nkrumah: His years in America|last=Clarke|first=John Henrik|volume=6|issue=2|date=October 1974|journal=[[The Black Scholar]]|pages=9–16|doi=10.1080/00064246.1974.11431459 |jstor=41065759|s2cid=141785632 |ref={{sfnRef|Clarke}} }}
* {{cite book |last=Fuller|first=Harcourt|year=2014|title=Building the Ghanaian Nation-State|publisher=Palgrave Macmillan|isbn=978-1-137-44856-9 |ref={{sfnRef|Fuller}} }}
* {{Cite book |last=Mazrui |first=Ali |author-link=Ali Mazrui|title=Nkrumah's Legacy and Africa's Triple Heritage Between Globalization and Counter Terrorism |publisher=Ghana Universities Press|year=2004 |isbn=978-9964-3-0296-2|ref={{sfnRef|Mazrui}} }}
* {{Cite book |last=Owusu-Ansah |first=David |title=Biographical Dictionary of Ghana |publisher=Rowman & Littlefield |year=2014 |isbn=978-0-8108-7242-4|edition=4th|ref={{sfnRef|Owusu-Ansah}} }}
* {{Cite book|last=Rooney|first=David|year=1988|title=Kwame Nkrumah: The Political Kingdom in the Third World|publisher=St. Martin's Press|ref={{sfnRef|Rooney}}|isbn=978-0-312-02479-6|url=https://archive.org/details/kwamenkrumah00davi}}
* {{Cite book|last=Sherwood|first=Marika|author-link=Marika Sherwood|year=1996|title=Kwame Nkrumah: The Years Abroad 1935–1947|publisher=Freedom Publications|isbn=978-9988-7716-0-7|ref={{sfnRef|Sherwood}}|url=https://archive.org/details/kwamenkrumahyear00sher_0}}
* {{Cite book |last=Thompson |first=W. Scott |title=Ghana's Foreign Policy 1957–1966 |url=https://archive.org/details/ghanasforeignpol1969wsco |url-access=registration |publisher=Princeton University Press |year=1969 |oclc=2616|ref={{sfnRef|Thompson}} }}
== Nimitɔɔre mine kannoo ==
{{refbegin|40em}}
* Arhin, Kwame (1993). ''The Life and Work of Kwame Nkrumah''. Trenton, NJ: Africa World Press, Inc. {{ISBN|9780865433953}} (08543395X)
* Baynham, Simon (1988). ''The Military and Politics in Nkrumah's Ghana''. Westview Special Studies on Africa. Boulder, CO: Westview Press, Inc. (Frederick A. Praeger), {{ISBN|0-8133-70639}}
* Biney, Ama. "The Legacy of Kwame Nkrumah in Retrospect." ''Journal of Pan African Studies'' 2.3 (2008). [https://web.archive.org/web/20210205064300/http://www.artsrn.ualberta.ca/amcdouga/Hist247/winter_2014/resources/LegacyOfKwameNkrumah.pdf online] {{Webarchive|url=https://web.archive.org/web/20210205064300/http://www.artsrn.ualberta.ca/amcdouga/Hist247/winter_2014/resources/LegacyOfKwameNkrumah.pdf |date=5 February 2021 }}, historiography
* Biney, Ama. ''The political and social thought of Kwame Nkrumah'' (2011).
* Biney, Ama. "The Development of Kwame Nkrumah's Political Thought in Exile, 1966–1972." ''Journal of African History'' 50.1 (2009): 81–100.
* Bretton, Henry L. ''The rise and fall of Kwame Nkrumah: a study of personal rule in Africa'' (1967).
* {{cite book |last=Davidson |first=Basil |title=Black Star: A View of the Life and Times of Kwame Nkrumah |publisher=James Currey |location=Oxford, UK |orig-date=1973 |year=2007 |isbn=978-1-84701-010-0 }}
* [[Defense Intelligence Agency]], "[https://www.governmentattic.org/docs/DIA_AnalysisKwameNkrumahOfGhana1966.pdf Supplement, Kwame Nkrumah, President of Ghana] {{Webarchive|url=https://web.archive.org/web/20170707043023/http://www.governmentattic.org/docs/DIA_AnalysisKwameNkrumahOfGhana1966.pdf |date=7 July 2017 }}", 12-January-1966.
* Gerits, Frank. "'When the Bull Elephants Fight': Kwame Nkrumah, Non-Alignment, and Pan-Africanism as an Interventionist Ideology in the Global Cold War (1957–66)." ''International History Review'' 37.5 (2015): 951–969.
* Gocking, Roger S. ''The History of Ghana'' (2005).
* {{cite book |last=James |first=C. L. R. |title=Nkrumah and the Ghana Revolution |location=London |publisher=[[Allison & Busby]] |year=1977 |isbn=0-85031-461-5 }}
* {{cite journal
|last= Mazrui |first= Ali |year= 1966
|title= Nkrumah: The Leninist Czar
|journal= [[Transition Magazine|Transition]] |issue= 26 |pages= 8–17
|jstor= 2934320 |doi= 10.2307/2934320 }}
* Milne, June. ''Kwame Nkrumah: a biography'' (1999).
* {{Cite book |last=Mwakikagile |first=Godfrey |title=Nyerere and Africa: End of an Era |edition=Third |location=Pretoria, South Africa |publisher=New Africa Press |year=2006 |chapter=Nyerere and Nkrumah: Towards African Unity |pages=347–355 |isbn=0-9802534-1-1 }}
* Mwakikagile, Godfrey (2015), ''Western Involvement in Nkrumah's Downfall''. Dar es Salaam, Tanzania: New Africa Press. {{ISBN|9789987160044}}
* Omari, T. Peter. ''Kwame Nkrumah: The anatomy of an African dictatorship'' (1970).
* Pinkney, Robert (1972). ''Ghana Under Military Rule 1966–1969''. London: Methuen & Co Ltd. {{ISBN|0-41675080X}}
* {{cite book |last=Poe |first=D. Zizwe |title=Kwame Nkrumah's Contribution to Pan-African Agency |location=New York |publisher=Routledge |year=2003 |isbn=0-203-50537-9 }}
* Rooney, David. ''Kwame Nkrumah: The Political Kingdom in the Third World'' (1988).
* Rui Lopes & Víctor Barros (2019) "[https://www.tandfonline.com/doi/full/10.1080/07075332.2019.1703118 Amílcar Cabral and the Liberation of Guinea-Bissau and Cape Verde: International, Transnational, and Global Dimensions] {{Webarchive|url=https://web.archive.org/web/20200701214035/https://www.tandfonline.com/doi/full/10.1080/07075332.2019.1703118 |date=1 July 2020 }}." The International History Review.
* {{cite magazine |magazine=[[Ebony (magazine)|Ebony]] |location=USA |url=https://books.google.com/books?id=71nrBoK-ilEC&pg=PA138 |title=Kwame Nkrumah: the Fall of a Messiah |author=Sanders, Charles L. |date=September 1966 |access-date=27 June 2015 |archive-date=18 April 2023 |archive-url=https://web.archive.org/web/20230418090705/https://books.google.com/books?id=71nrBoK-ilEC&pg=PA138 |url-status=live }}
* Smertin, Yuri. ''[https://archive.org/details/nkrumahsmertin Kwame Nkrumah]''. Moscow: [[Progress Publishers]]. 1987.
* Sonderegger, Arno (2016). "How the Empire Wrote Back: Notes on the Struggle of George Padmore and Kwame Nkrumah". In: ''Kwame Nkrumah 1909-1972: A Controversial African Visionary. Edited by Bea Lundt and Christoph Marx''. Stuttgart: Franz Steiner Verlag: 19-38.
* {{cite book |last=Tuchscherer |first=Konrad |chapter=Kwame Francis Nwia Kofie Nkrumah |title=Encyclopedia of Modern Dictators |editor-first=Frank J |editor-last=Coppa |location=New York |publisher=Peter Lang |year=2006 |pages=217–20 |isbn=0-8204-5010-3 }}
* {{cite web | title=Godfrey Mwakikagile: Eurocentric Africanist? | url=https://sites.google.com/site/intercontinentalbookcentre/godfrey-mwakikagile-a-eurocentric-pan-africanist | publisher=Intercontinental Book Centre | access-date=8 December 2021 | archive-date=20 February 2022 | archive-url=https://web.archive.org/web/20220220064832/https://sites.google.com/site/intercontinentalbookcentre/godfrey-mwakikagile-a-eurocentric-pan-africanist | url-status=live }}
* Žák, Tomáš František (2016). "Applying the Weapon of Theory: Comparing the Philosophy of Julius Kambarage Nyerere and Kwame Nkrumah". ''Journal of African Cultural Studies''. 28 (2): 147–160. [https://doi.org/10.1080%2F13696815.2015.1053798 doi:10.1080/13696815.2015.1053798] {{Webarchive|url=https://web.archive.org/web/20230418090711/https://www.tandfonline.com/doi/full/10.1080/13696815.2015.1053798?cookieSet=1 |date=18 April 2023 }}. S2CID 146709996.
{{refend}}
==Ziiri mine Liŋkiri==
* [https://www.youtube.com/watch?v=TMY0iTcspNA Faces of Africa Kwame Nkrumah] {{Webarchive|url=https://web.archive.org/web/20190905004516/https://www.youtube.com/watch?v=TMY0iTcspNA |date=5 September 2019 }}
* [https://web.archive.org/web/20150205213907/http://kwamenkrumahmausoleumnkroful.ghana-net.net/ Kwame Nkrumah Mausoleum and Museum at Nkroful, Western Region]
* [https://web.archive.org/web/20150122034817/http://ghana-net.com/accra---kwame-nkrumah-memorial-park Kwame Nkrumah Memorial Park & Museum, Accra] {{Webarchive|url=https://web.archive.org/web/20150122034817/http://www.ghana-net.com/accra---kwame-nkrumah-memorial-park |date=22 January 2015 }}
* [https://web.archive.org/web/20090212181831/http://www.ghana-pedia.org/org/index.php?option=com_directory&listing=Kwame%20Nkrumah&page=viewListing&lid=10&Itemid=36 Ghana-pedia Kwame Nkrumah]
* [https://web.archive.org/web/20250222153413/http://www.ghana-pedia.org/org/index.php?option=com_directory&listing=Operation%25Cold%25Chop&page=viewListing&lid=287&Itemid=36 Ghana-pedia ''Operation Cold Chop'': The Fall Of Kwame Nkrumah]{{dead link|date=July 2017 |bot=InternetArchiveBot |fix-attempted=yes }}
<!--dead domain* [http://www.vibeghana.com/ Dr Kwame Nkrumah]--->
* [https://www.pbs.org/wgbh/commandingheights/shared/minitext/prof_kwamenkrumah.html Excerpt from ''Commanding Heights''] {{Webarchive|url=https://web.archive.org/web/20170922050538/https://www.pbs.org/wgbh/commandingheights/shared/minitext/prof_kwamenkrumah.html |date=22 September 2017 }} by Daniel Yergin and Joseph Stanislaw
* [https://web.archive.org/web/20070927190754/http://www.cooperativeresearch.org/entity.jsp?entity=kwame_nkrumah Timeline of events related to the overthrow of Kwame Nkrumah]
* [https://web.archive.org/web/20080627181711/http://www.teachinginghana.com/index.php/2007/11/12/kwame-nkrumah-lectures-part-2/ The Kwame Nkrumah Lectures at the University of Cape Coast, Ghana, 2007] {{Webarchive|url=https://web.archive.org/web/20080627181711/http://www.teachinginghana.com/index.php/2007/11/12/kwame-nkrumah-lectures-part-2/ |date=27 June 2008 }}
* [http://www.nkrumah.net/ Kwame Nkrumah Information and Resource Site] {{Webarchive|url=https://web.archive.org/web/20081216040945/http://www.nkrumah.net/ |date=16 December 2008 }}
* [http://www.globalpost.com/dispatch/ghana/090925/ghana-honors-nkrumah-statue-moammar-gadhafi Ghana re-evaluates Nkrumah] {{Webarchive|url=https://web.archive.org/web/20160305011403/http://www.globalpost.com/dispatch/ghana/090925/ghana-honors-nkrumah-statue-moammar-gadhafi |date=5 March 2016 }} by ''[[The Global Post]]''
* [https://web.archive.org/web/20090213044033/http://ghanaconscious.ghanathink.org/podcasts/2007/03/6th-march-1957-midnight-speech Dr Kwame Nkrumah's Midnight Speech on the day of Ghana's independence – 6 March 1957.]
* [https://www.youtube.com/watch?v=E9zYDxbJimw Newsreel on First Conference of Independent African States] {{Webarchive|url=https://web.archive.org/web/20150709080810/https://www.youtube.com/watch?v=E9zYDxbJimw |date=9 July 2015 }}
* [https://www.youtube.com/watch?v=KJ09mKNRN-8 "Father of Ghana's independence Kwame Nkrumah died 50 years ago • FRANCE 24 English"] {{Webarchive|url=https://web.archive.org/web/20240428112349/https://www.youtube.com/watch?v=KJ09mKNRN-8 |date=28 April 2024 }}
{{s-start}}
{{s-ppo}}
{{s-new|office}}
{{s-ttl|title=Leader of the [[Convention People's Party]]|years=1948–66}}
{{s-aft|after=Position abolished}}
|-
{{s-off}}
{{s-new|office}}
{{s-ttl|title=[[Prime Minister of Ghana|Prime Minister of the Gold Coast]]|years=1952–57}}
{{s-aft|after=Himself as Prime Minister of Ghana}}
|-
{{s-bef|before=Himself as Prime Minister of the Gold Coast}}
{{s-ttl|title=[[Prime Minister of Ghana]]|years=1957–60}}
{{s-vac|next=[[Kofi Abrefa Busia]]}}
|-
{{s-new|rows=2|office}}
{{s-ttl|title=[[Minister for Foreign Affairs (Ghana)|Minister for Foreign Affairs]]|years=1957–58}}
{{s-aft|after=[[Kojo Botsio]]}}
|-
{{s-ttl|title=[[Minister for Defence (Ghana)|Minister for Defence]]|years=1957–60}}
{{s-aft|after=[[Charles de Graft Dickson]]}}
|-
{{s-bef|before=[[Krobo Edusei]]}}
{{s-ttl|title=[[Minister for the Interior (Ghana)|Minister for the Interior]]|years=1958}}
{{s-aft|after=[[Ashford Emmanuel Inkumsah]]}}
|-
{{s-bef|before=[[Elizabeth II]]|as=[[Queen of Ghana]]}}
{{s-ttl|title=[[President of Ghana]]|years=1960–66}}
{{s-aft|after=[[Joseph Arthur Ankrah]]}}
|-
{{s-bef|before=[[Ebenezer Ako-Adjei]]}}
{{s-ttl|title=[[Minister for Foreign Affairs (Ghana)|Minister for Foreign Affairs]]|years=1962–63}}
{{s-aft|after=[[Kojo Botsio]]}}
|-
{{s-dip}}
{{s-bef|before=[[Gamal Abdel Nasser]]}}
{{s-ttl|title=[[Chairperson of the Organisation of African Unity]]|years=1965–66}}
{{s-aft|after=[[Joseph Arthur Ankrah]]}}
{{s-end}}
== {{Authority control}}Sommo Yizie ==
{{DEFAULTSORT:Nkrumah, Kwame}}
[[Category:Kwame Nkrumah| ]]
[[Category:1909 births]]
[[Category:1972 deaths]]
[[Category:African revolutionaries]]
[[Category:Chairpersons of the African Union]]
[[Category:Alumni of Achimota School]]
[[Category:Alumni of the London School of Economics]]
[[Category:Anti-imperialists]]
[[Category:Convention People's Party (Ghana) politicians]]
[[Category:Deaths from prostate cancer in Romania]]
[[Category:Ministers for defence of Ghana]]
[[Category:Exiled politicians]]
[[Category:Ministers for foreign affairs of Ghana]]
[[Category:Ghanaian Christian socialists]]
[[Category:Ghanaian expatriates in the United States]]
[[Category:Ghanaian MPs 1951–1954]]
[[Category:Ghanaian MPs 1954–1956]]
[[Category:Ghanaian MPs 1956–1965]]
[[Category:Ghanaian MPs 1965–1966]]
[[Category:Ghanaian pan-Africanists]]
[[Category:Ghanaian Roman Catholics]]
[[Category:Ministers for the interior of Ghana]]
[[Category:Leaders ousted by a coup]]
[[Category:Recipients of the Lenin Peace Prize]]
[[Category:Lincoln University (Pennsylvania) alumni]]
[[Category:Members of Gray's Inn]]
[[Category:Members of the Privy Council of the United Kingdom]]
[[Category:Presidents for life]]
[[Category:Presidents of Ghana]]
[[Category:Prime ministers of Ghana]]
[[Category:United Gold Coast Convention politicians]]
[[Category:University of Pennsylvania alumni]]
[[Category:University of Pennsylvania Graduate School of Education alumni]]
[[Category:Ghanaian independence activists]]
[[Category:Ghanaian Marxists]]
[[Category:Ghanaian expatriates in Romania]]
[[Category:Akan people]]
[[Category:Imperialism studies]]
[[Category:Fellows of the Ghana Academy of Arts and Sciences]]
[[Category:Presidents of Guinea]]
[[Category:20th-century presidents in Africa]]
[[Category:Ghanaian Freemasons]]
[[Category:Dagaare]]
[[Category:Gampɛlɛ zaa]]
[[Category:Dɔɔ]]
[[Category:Dɔɔloŋ]]
[[Category:Africa]]
[[Category:Ghana]]
[[Category:West Africa]]
[[Category:Nensaala]]
2vmok2hihpjqyl4n50adkqv9r8q9y6x
St Joseph's College of Education
0
1374
62371
45535
2026-07-10T04:31:40Z
InternetArchiveBot
38
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
62371
wikitext
text/x-wiki
{{Databox|item=Q46996986}}
'''St Joseph's College of Education''' e la a kolaagyi kaŋa naŋ be [[Gaana]] poɔ. O be la [[Bechem]] teŋɛ poɔ. (Tano North District, [[Brong-Ahafo Region]], Ghana).<ref>https://web.archive.org/web/20171229171851/http://bjohas.de/Atlas2017</ref> A kolaagyi be la [[Ashanti Region|Ashanti]] / Brong Ahafo zone. O paale la a Kolaagyi ligɛɛnayie naŋ be a Ghana poɔ. A Kolaagyi da paale la DFID-funded T-TEL programme poɔ. Rev. Fr. Joseph Moulders la da piili ana kolaagyi ŋa a youni 1948 poɔ. O e la kolaagyi fɔrɔ a ko Brong-Ahafo Region naŋ da neɛ accreditation status a 2007 poɔ. O paale la [[Kwame Nkrumah University of Science and Technology]] poɔ.<ref>http://www.t-tel.org/coes-network/colleges/articles/st-josephs-college-of-education</ref>
== Yelkorɔ ==
Rev. Fr. Joseph Moulders, naŋ da e Parish Priest ko a [[Kiristabiiri|Katoliki puoruu yiri]] a ko Bechem la da piili St. Joseph's Tekyere Kolaagyi a yuoni 1948 poɔ. 1947, yuoni ne poɔ la ka Nana Fosu Gyeabour Akoto I, Bechemanhene aneŋ o nemberi da iri teŋkpong ka ba mɛ a kolagyi. O e la kolaagyi fɔrɔ naŋ be Brong-Ahafo Irigyiŋ.
O Yele waano la ka ba kolaagyi a ko Katoliki [[karema]].
programmes ba naŋ e la St. Joseph's kolaagyi poɔ la yuomo ayi: sɛtefekate ‘B’, yuomo anaare sɛtefekate ‘A’, Mathematics aneŋ Science Specialist, yuomo ayie Post-Sekondere (Commercial/Vocational Skills) aneŋ General, yuomo anaare Post Middle sɛtefekate ‘A’, Modular, three-year Post-Secondary Certificate ‘A’, Diploma in Basic Education, Sandwich for Untrained teachers, aneŋ Certificate ‘A’ karemamine award of Diploma in Basic Education. A kolaagyi da taa la daba youŋ a wa tɔ 1974 youni ne poɔ la ka ba piile dɛɛla pɔgeba a sakuuri poɔ.
St. Joseph's College of education da die la accreditation a yie Accreditation Board (Ghana) a 1 Saptembari 2007. [[H.E. President John Kufuor]] la da ko a kologi certificate of accreditation. A kolaagyi da die la [[Diamond jubilee]] a kyaare ne yɛlɛ mine ba naŋ taa. A kolaagyi yɛlɛ mine ba naŋ taa la high caliber professional naŋ be education enterprise, [[privat]], [[public sectors]] aneŋ [[national economy]], o taa la kyee mɛɛrihi kyeemaa. Ka mine la [[Resource Centre]], Science Block, [[Library]], aneŋ e-Learning Centre. Ba da die la [[athletics]] aneŋ [[sports]] Ashanti/Brong Ahafo Training College Games. Ba karima mine da die la Best Teacher Award a yie a public, Regional aneŋ National levels. Ba da die la National Best Teacher Award (2007) a yie [[Information and communications technology (ICT)]]. Mr. Matthew Adjei naŋ da be a kologi la da die aŋa award ne. [[Board of Governors]], [[Staff]] aneŋ Students, Most Rev. Peter Atuahene, Patron naŋ be a kolaagyi poɔ, Gɔmenante, Nana Bechemanhene, GET FUND, TED, IFESH, MP aneŋ DCE [[Tano South]], [[Old Joscodians]], GTZ, GFW, JICA la da suŋ ka a kolaagyi youri dɔ.
'''Principals naŋ da be a kologi'''
Name Years served Mr. I.J. Nichilson1948-1950Rev. Fr. P. R. BurgesJan 1951 - Dec 1951Mr. Me Kenna1952-1956Mr. Nkansah Dwamena (Ag.)Jan 1957 - Dec 1957Mr. S.I. BurkeJan 1958 - Dec 1961Mr. Vincent AyivorJan 1962 - Aug 1973M.K. Amissah (Ag.)Sep 1973 - Aug 1974Mr. John AnquandahSep 1974 - Aug 1980Mr. I.F.. Afful (Ag.)Sep 1980 - Aug 1983Mr. Plas M. OtweSep 1983 - April 1992Mr. Samuel Anning (Ag.)May 1992 - Aug 1992Mr. L.A. AndohSep 1992 - March 1997Ms. Cordelia M. Boakye YiadomApril 1997 - May 2003Mrs. B.A. Prempeh (Ag.)May 2003 - Oct 2003Mr C.D.B. MensahOct 2003 - June 2009Mr. Anthony Agyeman (Ag)June 2009 - Aug 2010Mrs. Cecilia QuansahSep 2010 - May 2013Ms.Elizabeth Oti Akenten (Ag)May 2013 - Sep 2013Rev. Msgr. Matthew AddaiSep 2013 - to date
=sommo Yizie=
[[Gbuli:Gampɛlɛ zaa]]
[[Gbuli:Dagaare]]
[[Gbuli:Mainpage]]
[[Gbuli:Ghana]]
[[Gbuli:West Africa]]
[[Gbuli:Kolaagyi]]
rkk1iwta62gxm8u3fs605xx7np633px
Nusrat Jahan Ahmadiyya College of Education
0
2743
62370
41157
2026-07-10T03:23:19Z
InternetArchiveBot
38
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
62370
wikitext
text/x-wiki
{{Databox|item=Q46996978}}'''Nusrat Jahan Ahmadiyya College of Education''' e la [[karemamine]] kolaagyi zannoo zie naŋ be [[Wa]] ([[Wa Munisipal|Wa Munisipal Desekyere]], [[Upper West Region|Ɔpa Wɛse Irigyin,]] Gaana) naŋ piili 1982 yuoni.<ref>Björn Haßler, Jacob Tetteh Akunor, Enock Seth Nyamador (2017). An Atlas of The Forty Colleges of Education in Ghana. Available under Creative Commons Attribution-ShareAlike 4.0 International. Available a https://web.archive.org/web/20171229171851/http://bjohas.de/Atlas2017</ref><ref name=":0">http://www.t-tel.org/coes-network/colleges/articles/n-j-ahmadiya-college-of-ed-46 www.t-tel.org. Retrieved 2019-07-06.</ref> A kolaagyi bezie la [[Northern Region|Northern]] seŋ. O e la a kolaagyi kaŋa naŋ paale a 46 Kolaagyiri naŋ be a [[Gaana]] poɔ.<ref>http://www.t-tel.org/coes-network</ref> A kolaagyi da gaa la a [[DFID-sommo T-TEL kpaaroŋ]].<ref>https://web.archive.org/web/20171229052155/http://www.t-tel.org/about/coes-network.html</ref> A kolaagyi da leɛ e la yuomo ata Sɛkɔndere baaro nyooroo kolaagyi 1991 a da taa karembiiri naŋ na taa [[nimie]] baaloŋ ka na zanne leɛ karemamine.<ref name=":0" />
== Dabaŋkoroŋ ==
Nusrat Jahan Ahmadiyya College of Education da piili la 1982 yuoni. A [[Karema|karemazuzeɛ]] dɛndɛŋ da la [[Mr. Mashood Ahmad Shams.]] A kolaagyi piili neŋ la sɛtefekate ‘A’ yuomo anaare zannoo dɔlɔ. A 1991 yuoni, A kolaagyi da leɛ e la yuomo ata Sɛkɔndere baaro Kolaagyi, aneŋ karembiiri dɛndɛŋ deme naŋ baare 1993 yuoni. Yi yuomo 1985 ane 1991, yuomo ayi zannoo dɔlɔ, naŋ ko vuo ko tekyɛre naŋ na ba gaa kolaagyi zannoo ka ba gaa kolaagyiri te zanne yuomo ayi a nyɛ Tekyɛre Sɛtefekate ‘A’ da taa la zannoo a Kolaagyi poɔ a paale a yuomo ata [[Sakuuri|Sɛkɔndere sakuuri]] zannoo baaroo zannoo dɔlɔ.<ref name=":1">http://www.t-tel.org/hub</ref>
A 2004, a Diploma naŋ be Basic Education programme da piili la a Kolaagyi poɔ. A yuondɛndɛŋ deme naŋ baare a zanne dɔlɔ na da paase la soŋ July 2007. A. Kolaagyi paale la 15 Kolaagyiri naŋ nyɛ piiluu October 2007 a naŋ zanne quasi zannoo naŋ be Science ane Mathematics. Karembiiri naŋ na ba maŋ maale nyɛrɛ soŋ meŋ be la a kolaagyi poɔ a naŋ nyɛ nyooroŋ e karemamine.<ref name=":1" /> A 2007/2008 [[Karembiiri Wuluu Bonteɛre|karembiiri]] ayɔpoi la da taa nimie baaloŋ, bayi da eɛ pɔgeba. Nusrat Jahan Karemamine kolaagyi da nyɛ la sagedeebo a e Kɔlaagyi October 2007 yi national Accreditation Board naŋ da ŋmɛ ba peɛroo bee gyennoo o naŋ da nyɛ gyennoo bee peɛroo yineŋ a National Accreditation Board (Gaana).
{| class="wikitable"
|+Karemazuzeɛre bama naŋ tu kaa la a kolaagyi zu a yi o meɛbo waana ŋa
!Yuori
!Tombo yuoni
|-
|Mr. Mashood Ahmad
|1982 – 1987
|-
|Mr. Kokro Ambrose
|1987
|-
|Mr. Mumuni Seidu
|1987 – 1993
|-
|Mr. Mumuni Zakaria
|1994 – 1998
|-
|Mr. Khalid Mahmud
|1998 -
|}
== Sommo Yizie ==
hxo7hadhyqbytl017nzuxxh98m0qeat
Module:Params
828
4820
62364
61852
2026-07-09T20:36:17Z
Grufo
1773
[[:mw:Module:Params|Upstream]] updates
62364
Scribunto
text/plain
require[[strict]]
--- ---
--- PRIVATE 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
-- 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
-- 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
-- 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
-- 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
--[[ 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`, `here`,
-- `in_substack`, `without_sorting`
--[[ Private constants ]]--
---------------------------
-- 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 = {}
--[[ Private functions ]]--
---------------------------
-- 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 new_substack (ctx)
local newparams = {}
local currsnap = ctx.n_children + 1
if ctx.children == nil then ctx.children = { newparams }
else ctx.children[currsnap] = newparams end
ctx.n_children = currsnap
return newparams
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 tnamed
while src[pin] ~= nil and src[pin]:match'^%s*let%s*$' and
src[pin + 1] ~= nil and src[pin + 2] ~= nil
do
tbl[get_parameter_name(src[pin + 1])] = src[pin + 2]
pin = pin + 3
end
if pin ~= start_from then tnamed, tbl = tbl, {} 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 tnamed ~= nil then
for key, val in pairs(tnamed) 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`, `reinterpreting` and
-- `evaluating` 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 (heavy lifting for `parsing`,
-- `reinterpreting` and `evaluating`)
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
if next(tbl) == nil 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
--- ---
--- PUBLIC ENVIRONMENT ---
--- ________________________________ ---
--- ---
--[[ Modifiers ]]--
-------------------
-- Syntax: #invoke:params|sequential|pipe to
library.sequential = function (ctx)
if ctx.subset == 1 then error(modulename ..
': The ‘sequential’ directive has been provided more than once', 0) end
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 ‘non-sequential’ directive has been provided more than once', 0) end
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.sorttype == 1 then error(modulename ..
': The ‘all_sorted’ directive has been provided more than once', 0) end
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.sorttype == 2 then error(modulename ..
': The ‘reassorted’ directive has been provided more than once', 0) end
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|[container]|pipe to
library.scoring = function (ctx)
if ctx.pipe[1] == nil then error(modulename ..
', ‘scoring’: No parameter name was provided', 0) end
local tmp
local retval, opts = 0, ctx.pipe
for _ in pairs(ctx.params) do retval = retval + 1 end
if opts[2] ~= nil then tmp = opts[2]:match'^%s*(.*%S)' end
if tmp == 'here' then
ctx.params[get_parameter_name(opts[1])] = tostring(retval)
return context_iterate(ctx, 3)
end
new_substack(ctx)[get_parameter_name(opts[1])] = tostring(retval)
return context_iterate(ctx, tmp == 'in_substack' and 3 or 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 = {}
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 argc
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 key 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)
local stack = new_substack(ctx)
for key, val in pairs(ctx.params) do stack[key] = val end
return context_iterate(ctx, 1)
end
-- Syntax: #invoke:params|remembering|pipe to
library.remembering = function (ctx)
local stack = new_substack(ctx)
for key, val in pairs(ctx.oparams) do stack[key] = val end
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 when the modifier is in
-- first position (and therefore `ctx.params` is a metatable)
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 tmp
if ctx.pipe[1] ~= nil then tmp = ctx.pipe[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
--[[ 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
})
bx8a2av95b6jpca3zvf7xnia4bz7hsf
Aisha Ayensu
0
6234
62365
57292
2026-07-09T22:23:23Z
InternetArchiveBot
38
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
62365
wikitext
text/x-wiki
{{Databox|item=Q70571698}}'''Aisha Ayensu''' eɛ Gaana neɛ nang derɛ kyɔɔtaare ko yelipaalaa mannebo neɛ nang tare sɛgebo boŋgyere ane dieŋ zie pogifieri ko Beyonce, Genevieve Nnaji, Jackie Appiah ane Sandra "Alexandrina" Don-Arthur<ref>https://web.archive.org/web/20191012093905/https://privilegeamoah.com/top-5-most-influential-ghanaian-fashion-designers-of-all-time/</ref><ref>https://www.glitzafrica.com/african-designers-nominated-for-2019-glitz-style-awards/</ref>. O eɛ munpiile daana ane boma naagbu ning-kpong ku Christie Brown, a Ghanaian yelipaani deu <ref>https://web.archive.org/web/20211008111733/https://foundersafrica.com/creative-africans-how-ghana-based-aisha-anyesu-is-infusing-modernism-into-traditional-african-fabrics/</ref><ref>https://web.archive.org/web/20211008111729/https://daughtersofafrica.org/meet-aisha-ayensthe-woman-behind-christie-brown-label/</ref><ref>https://debonairafrik.com/christie-brown-fall-winter-2016-collection/</ref>. O nyee piehibu jemaa yi Folu Storms ane a BBC World Service's radio programme ''In the Studio'' kye da seu i nie kanga ang paahi a Forbes' Most Promising Entrepreneurs in 2016<ref>https://www.forbes.com/sites/mfonobongnsehe/2016/04/25/30-most-promising-young-entrepreneurs-in-africa-2016/</ref><ref>https://www.bbc.co.uk/programmes/w3csww6q</ref><ref>https://alt-africa.com/2018/05/12/bbc-world-service-in-the-studio-with-fashion-designer-aisha-ayensu/</ref><ref>https://yen.com.gh/105425-top-fashion-designers-ghana.html</ref>.
== Sakuu karemmo yele ==
Ayensu taree ‘bigihee ang be psychology ane fashion. O da gaa-ye secondary school education ang be Achimota School ane o daanhibu ga fashion yi Joyce Ababio College of Creative Design<ref>https://web.archive.org/web/20191012092401/http://www.jaccd.edu.gh/jaccd-orients-its-second-batch-of-degreediploma-students/</ref>.
== Kyɔɔtaare mine ==
O nyee chautaahi jemaa amine la :
* 2009 - Emerging Designer of the Year, Arise Africa fashion event in South Africa<ref>https://www.ft.com/content/41802894-002a-11e7-96f8-3700c5664d30</ref><ref>https://www.essence.com/fashion/this-ghanaian-woman-designed-tina-knowles-lawsons-power-suit/</ref>
* 2010 - Only Ghanaian label chosen to showcase in the Arise L'Afrique-á-Porter, in Paris during Paris Fashion Week
* 2018 - Best Fashion Designer, Africa Prestigious Awards<ref>https://web.archive.org/web/20191012092403/https://news.eadgoc.com/2018/05/21/aisha-ayensu-wins-best-fashion-designer-africa-at-the-african-prestigious-awards-2018/</ref>
* 2018 - African Designer of the Year, Glitz Style Awards<ref>https://www.pulse.com.gh/ece-frontpage/winners-list-zylofon-signees-juliet-ibrahim-victoria-micheals-and-more-win-at-glitz/7qblgrj</ref>
* 2019 - African Designer of the Year, Glitz Style Awards<ref>https://www.pulse.com.gh/lifestyle/fashion/check-out-the-full-list-of-winners-at-the-2019-glitz-style-awards/gmcnxzy</ref><ref>https://web.archive.org/web/20191012092358/https://www.ghanacelebrities.com/2019/09/15/2019-glitz-style-awards-full-list-of-winners/</ref>
== Sommo yizie ==
{{Reflist}}
[[Gbuli:Gampɛlɛ zaa]]
[[Gbuli:Dagaare]]
[[Gbuli:Mainpage]]
[[Gbuli:Nensaala]]
[[Gbuli:Ghana]]
[[Gbuli:West Africa]]
[[Gbuli:pɔge]]
[[Gbuli:pɔgeloŋ]]
[[Gbuli:Africa]]
jv0uprx1u12t6b5777iv2lmwu9pjfvd
Farinata
0
7261
62368
62353
2026-07-10T00:27:51Z
InternetArchiveBot
38
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
62368
wikitext
text/x-wiki
{{databox|item=Q5435340}}
[[Duoro kɔre:Farinata di ceci 01.jpg|thumb]]
Farinda ((Italian: [fariˈnaːta] ) socca ( Occitan: [suˈka]) bee farinta di ceci e la pare kaŋa, naŋ e sɛnsɛ kaŋa boore ba naŋ maŋ de chickpea zɔŋ a maale ne. A e la bondirii mine boore ba naŋ maŋ dire a wagere zaa a northwest naŋ be a Mediterraneamn paaloŋ a coast poɔ. A Liguria poɔ a yuori la farinata, a Nice socca ane aTuolon cade paaloq poc. A Oran, algeria poɔ o e la boŋkpokpo, French mere na poɔ la ka o da piili, ka neɛzaa da baŋ ka ba boɔlɔ calentica, naq be a tembɛrɛ poɔ naŋ be a Buenos Aires, Argentina, ane Montevideo, Uruguay, a tenne ama poɔ la ka ba baŋ ka o e faina ka ba maŋ de di ne pizza.
== Yoe ==
A Italian poɔ, a bondirii ama la ka ba boɔlɔ farinate (zɔŋ la ka ba maŋ de maale) kyɛ ka Ligurian, a zuo a zaa Genoese kɔkɔɛ, a yuori na ba naŋ ko la faina (Ligurian : [fajˈnaː]) a Carrara poɔ, ane Massa poɔ ba boɔlɔ o la calda (lit toloŋ toloŋ) ka Tuscany cecina bee torta di ceci <ref>Scarpaleggia, Giulia (2023). ''Cucina Povera: The Italian Way of Transforming Humble Ingredients into Unforgettable Meals''. Artisan. p. 179. ISBN <bdi>978-1648290565</bdi>.</ref>(<abbr>lit.</abbr> 'chickpea pie') ane Sardina faine naŋ zaa na kyɛre.<ref name=":0">De Blasi, Federico (26 June 2026). "[https://www.theguardian.com/commentisfree/2026/jun/26/chickpea-snacks-mediterranean-migration-cultural-exchange-europe-africa Tracing one delicious snack around the Mediterranean showed me that modern borders are absurd]". ''The Guardian''.</ref>
A Nice poɔ,ane a Apple Maritimes poɔ, ba boɔlɔ o la ka socca ane a Var poɔ ba meŋ boɔlɔ o la lɛ, a zuo a zaa Toulon poɔ, o meŋ e la bone ba naŋ baŋ ka o di cade, a Occitan pascade poɔ ona la e ba saaŋkompare bone ba naŋ maŋ de di ne ba Easter (''Pascas'' in Occitan).<ref>Marmottans, Tony (2000). ''[https://books.google.com/books?id=wlmqAAAACAAJ Toulon et son histoire du Moyen Age à la Belle Epoque]'' (in French). Autres temps. ISBN <bdi>978-2-84521-063-9</bdi>.</ref>
[[File:Farinata names around Mediterranean.svg|thumb|center|upright=3|''farinata'' yoe naŋ kɔlage a Western Mediterranean Sea<ref name=":0" />]]
== Saadayel ==
A bondirii yiibu zie meŋa e la zie neɛzaa na ba baŋ. A neŋkoraa kaŋ naŋ baŋ a yɛlɛ ama ka a kɔɔre yeli ka laŋgbuli sogyɛre mine la wane a bondirii ama, ka ba da sɛ chickpea zɔŋ<ref>Rosie Whitehouse (2016). ''Liguria''. Bradt Travel Guides. p. 35. ISBN <bdi>9781784770105</bdi>.</ref> ama sege kaŋa poɔ. Farinata mannoo wuli ka a e la Liguria yeŋ poɔ bondirii.<ref>Ruth Rogers; Sian Wyn Owen; Joseph Trivelli; Rose Gray (2018). ''Cookbook River Cafe London: Thirty Years of Recipes and the Story of a Much-Loved Restaurant''. Knopf Doubleday Publishing Group. p. 59. ISBN <bdi>9780525521310</bdi>.</ref>
== A bondirii ama maalo sobie ==
Farinata e la boma banaŋ maŋ maale yi ne chickpea flour poɔ amaŋ de koɔ a pulli ne a paale olive kaaŋ a de maale ne batter. Ba maŋ de a la kyire eŋ selba poɔ a maale ka a waa ŋa sɛnsɛ ka tegeroŋ a seŋ ŋa 4mm kyɛ o maalo ba maŋ kɔɔre, o maŋ de la mitiri feeŋ lɛ, saaŋkonnoŋ wuli ka o maalo maŋ e la yeŋ poɔ, nansaala sɛnsɛ laa maala poɔ la ka ba maŋ maale o. ba maŋ baŋ de la rosemary sɛlemaane<ref>Yotam Ottolenghi (14 November 2014). "[https://www.theguardian.com/lifeandstyle/2014/nov/14/chickpea-flour-recipes-yotam-ottolenghi Sheer poetry: Yotam Ottolenghi's chickpea flour recipes, from farinata to chickpea pancakes]". ''The Guardian''. Retrieved 4 February 2016.</ref> ane mane nyɛnnoo a maale ne. saaŋkompare poɔ, farinata maŋ poŋi o la eŋ waaloŋ mine ka o taa koŋkobo ata, kyɛ o diibu maŋ (ba boɔrɔ teraa) o maŋ be la labile lɛ poɔ a pale ne semaamaara. Ziiri mine, a Italy paaloŋ poɔ, Tuscany, saaqkompare poɔ, ba boɔlɔ o la Cecina. ( kyɛ yi a Italian yelbie poɔ 'chickpeas', ''ceci''))- ba maŋ de maale ne la Focaccia (naŋ be a Pisa meŋa poɔ) bee a slices ane a boroodo soga poɔ, ana la meŋ e a Livorno saaŋkompare bondirii. Gbɛɛ yaga a vegan ane a gluten la ka ba maŋ de di ne.
== Irigiŋ puobu ==
[[Duoro kɔre:Socca in Nice.jpg|thumb]]
Socca e la bondirii naŋ e a southeastern naŋ be a French saaŋkompare poɔ. A zuo zaa a Nice<ref>"[https://web.archive.org/web/20241009230642/https://theculturetrip.com/europe/france/articles/a-brief-history-of-socca-frances-chickpea-pancake A Brief History of Socca, France's Chickpea Pancake]". February 2017.</ref> teŋɛ poɔ bee paaloŋ poɔ. O naŋ ne o zu meŋa la ka ba naŋ boɔlɔ ka farinata, aneazaa ka a maaloo taa la tɛɛtɛɛ. A meŋ na baŋ sɛ la a nansaala sɛnsɛ maale kuri laa ŋa poɔ, o yɛloŋ ane o sigibu zaa maŋ eŋa bonyeni. A peɛle Toulon ane Marseille poɔ, farinata yuori na baŋ be la a cade eŋɛ.
A Algeria, karantika yitaa ne bondirii. O e la bone ba naŋ maŋ di o toloŋ a su cumin ane harissa.<ref>''[http://afaulxbriole.free.fr/la_calentita.htm La calentita]'' [https://web.archive.org/web/20071219215812/http://afaulxbriole.free.fr/la_calentita.htm Archived] 2007-12-19 at the [[:en:Wayback_Machine|Wayback Machine]], afaulxbriole.free.fr.</ref>
[[Duoro kɔre:Socca a Nice.jpg|thumb]]
A Argentina ane a Uruguay poɔ, ( a be a Ligurian noba tuturi naŋ wa zeŋ a be a yuomo 19th ane 20th saŋa na poɔ a naŋ wanna zenɛ) farinata neŋ la ka ba baŋ ka o e faina, ona neŋ a Genoeses yuori meŋa yietaa ne faina. O e la bone naŋ pore kyɛ gbɛɛ yaga ba maŋ d e dɔgele la pizza zu a di (''a caballo'').<ref>Booth, Amy. "[https://www.bbc.com/travel/article/20220509-fain-buenos-aires-unusual-pizza-topping Buenos Aires' unusual pizza topping]". [[:en:BBC|BBC]]. Retrieved 2022-05-10.</ref>
A Uruguay poɔ ba boɔlɔ la el faina, ba boɔlɔ o la faina a Argentina, o e la saaŋkompare bondirii, o e la bondirii kaŋa bale saama naŋ wane a yi 1915 yuomo. Sakyɔrɔ kyuu beri lezare ne a ayɔpoi poɔ ka ba boɔlɔ Faina beri. Faina e la diibu maŋ e la ka fooŋ wa boɔrɔ, ''de orillo'' bee ''del medio'', lɛ wuli ka a piili tɔribogo ane a soga poɔ, bonso o maŋ maale la yi a meniscus zɔŋ koɔ poɔ, a maŋ soŋ la ka o taa tegeroŋ a soga poɔ,<ref>[http://www.montevideo.com.uy/auc.aspx?67157 "El Fainá cumple 93 Años en Uruguay. El 27 de agosto es el día del auténtico fainá] - Montevideo Portal". ''Montevideo.com''. Retrieved 4 February 2016.</ref>
A Gibraltar poɔ, ba baŋ o la ka ba boɔlɔ Calentita, ka banaŋ wa sɛ o bee a panissa a wa nyɔge kyeeŋ. Ba maŋ di o la o yoŋ tɛgɛ ka bonzaa ba dɔgele o zu. A Gibralter poɔ ba de o la ka o e a tendaazaa bondirii.<ref>"[https://web.archive.org/web/20100217094642/http://italianfood.about.com/od/chickpeaslentils/r/blr0714.htm Ligurian Chickpea Pancake Recipe (Farinata)]". ''The Spruce''. Archived from [http://italianfood.about.com/od/chickpeaslentils/r/blr0714.htm the original] on 2010-02-17. Retrieved 2018-02-05.</ref>
== Kaa nyɛ ==
· Cuisine of Liguria
· Cuisine of Provence
· List of pancakes
== Sommo Yizie ==
[[Gbuli:Culture connect Africa 2026]]
[[Gbuli:Dagaare]]
[[Gbuli:Bondirii]]
[[Gbuli:west Africa]]
[[Gbuli:Gampɛlɛ zaa]]
[[Gbuli:Africa]]
[[Gbuli:Mainpage]]
[[Gbuli:Ghana]]
rvbojugh7rn7tkos4rq72iy1h1gh5u3
Traditional food
0
7269
62363
62340
2026-07-09T17:41:30Z
Eric Gangman
92
maale embo
62363
wikitext
text/x-wiki
'''Saaŋkompare bondirii''' e la bondirii ane seemaa, a e la bondirii naŋ piili ne te saaŋkommine a wa tɔ zenɛ kyɛ naŋ bebe, a e la bondirii ba dire yuomo naŋ pare a naŋ wa tɔ zenɛ ka ba naŋ dire. Saaŋkompare [[bondirii]] ane semaa e la saaŋkompare naŋ be teŋɛ zu kyɛ, a maŋ taa la saadayel a ko a paaloŋ na zaa a kyaare ne a bondirii,. Saaŋkompare bondirii ane bonnyuuri banaŋ maŋ maale yiri, bee a bondirii koɔroo zie ane zibibilii banaŋ maŋ maala bondirii, ane bondimaale zi bɛrɛ.
Saaŋkompare bondirii taa la a maaloo zie ka naŋ nansala maŋ boɔle ka “ geographical indications and traditional specialties in the European Union” ba maale la aŋa lɛ European Union naŋ maale geographical indications and traditional specialties: Protected designation of origin (PDO), Protected geographical indication (PGI) and Traditional specialties guaranteed (TSG). A yelmaale binne ama maale biŋ la ka a gu ba koɔbo yɛroŋ soŋ ŋa yuori soŋ kyɛ soŋ ŋmɛ daworo bee a moɔle ka ba yuori gaa toɔre.
A atikile ama taa la duoro a kyaare ne a saaŋkompare bonnyuuri.
== '''Tɛɛtɛɛloŋ naŋ be a saaŋkompare bondirii ane a parɛɛ''' ==
Aneazaa ka a pore la ka ba derɛ anaŋ yitaa zuiŋ, a yelmeŋa naŋ be a saaŋkompare bonimaale ziiri e la parɛɛ ayi a noba naŋ sage de tona ne toma, a yi culinary anthropology; naŋ manne.; a danweɛ soba la culinary anthropology; aŋa e la bone ba naŋ woŋ yi noba noɔre poɔ, dawuri bilee ane tembɛrɛ poore, kyɛle taa la ssaaŋkompare yeltuuri kyɛ ka ba mine meŋ taa ba waaloŋ. A yelkaŋa meŋ la ka tenneŋ wa yele yɛlɛ a maŋ pore la, cuisine e la zie kaŋa naŋ pore ka noba gyamaa a noŋ a be. Azuiŋ saakopare bondirii bee saaŋkompare yelerre bee a saaŋkompare yelerre kaŋa zaa.
Saaŋkompare bondirii gyamaa zie, yi la yiri pɔgeba gɔɔloŋ bommaale ane lɛ banaŋ maŋ de ziyuo yɛŋ a eŋ pale ba bondirii maaloo poɔ. Ka noba wa boŋkaŋa, o daaroŋ maŋ e la tuo kyɛ ka kyɛ ka neɛzaa maŋ boɔrɔ ka o meŋ e nyɛ. A yelkaŋa meŋ la o maŋ yaare la ka neɛzaa a tɔgelɔ a erɛ, azuiŋ a ba maŋ kɔɔre kyɛ ka o e boŋkpokpo ka neɛzaa boɔrɔ. A yelŋa zuiŋ, saaŋkompare bondimaale ziiri e la bone a maaloo naŋ e tɛɛtɛɛ a yi zie na banaŋ maala a. azuiŋ gbɛɛ a maŋ yi la a noba bale piilu zie aseŋ saaŋkompare bommaale mine bebe ana baŋ le a pare la kyɛ bore togitogi, kyɛ ka anaŋ wa di zuo, a maŋ faaŋ la kyɛ poɔ a cuisine bondirii maaloo ŋa zie. A Maxican culinary anthropologist Maru Toledo bommaala poɔ, eŋ la bonsaana ata soba a poɔ a ba bondirii maalo poɔ, a yelŋa e la bone naŋ daŋ ba kyebe a ba saaŋkonnoŋ poɔ sɛre ka ba wa baŋ piili, ka fooŋ kaa soŋ pampana ŋa bondirii maaloo ane a maalo zie taa la lɛ a na maŋ maale tutaa pampana ŋa.
== Bondirii maalo libie de boɔbo ==
A yɛroŋ bondimaale ziiri ama taa la meɛroŋ naŋ e a saaŋkomapre ( aneazaa ka amine yi la taa bee a gyamaa yietaa) kyɛ a yelnyɔgeraa zaa naane e tɔnɔ boma. A ŋaa zuiŋ, ba ba maŋ boɔrɔ ka kpɛ gaa nimitoɔre a wuli a yi waabo zie bee a piilu zie, bee ka o gaa bee ka a lambogir naŋ ba maaleŋ peɛle a bondirii yeltarre loori, a maŋ taa la daabo. A baara soba la, a gyamaa, maŋ e la ka a yɛŋ naŋ be a bondirii na maalo zie a e bone noba naŋ ba taa a yɛŋ na soba, ba sage la ka bondirii anaŋ ba naŋ maŋ daara maŋ e la ba meŋa bondirii, la ka ba maŋ la te maale maalo kaŋa, ka a nyuu ane a waaloŋ meŋ e a toɔraa, ane a gɔɔloŋ na naŋ be a maalo sobie poɔ, ane a saaakompare yeltuuri mine.
== '''A Tendaazaa''' ==
=== Africa poɔ ===
· Suŋgbulo -a e la saaŋkompare boŋkoɔre naŋ be a Africa paaloq poɔ.
Europe ( Tuure paaloŋ)
Saaŋkompare bondikoɔre e la boma ba naŋ bigiri ka a taa la tɔnɔ yaga a Europe laŋkpeɛbo poɔ, ba yelerre ne ba waaloŋ poɔ, ane ba yeltuuri.
== '''South America''' ==
· Humaita – e la a saaŋkompare bondiraa kaŋa naŋ be a Bolivia, Chile, Ecuador, ane Peru paaloŋ poɔ
·
=== '''A tatenne mine poɔ''' ===
Kaa kyɛ nyɛ: Canada deme bondirii maalo zie
Teŋɛ kaŋa bondirii e la ba saaŋkompare bondirii a Aboriginal noba naŋ neɛzaa naŋ baŋ ka banaŋ neŋ la ka ba boɔlɔ (Canada paaloŋ danweɛ soba a di Metis, ane Inuit) a zuo a zaa kori naŋ be a northern irigiŋ a be la ka a Western bondirii a be, a bondirii ama de waabo maŋ e la kpeɛŋaa, kyɛ ka a saakompar bondirii naŋ maŋ are gu a anaŋ.
· Bareka puoru bondirii
==== '''Québec''' ====
Kaa kyɛ nyɛ: Bondirii maalo a
* Poutine[[//en.wikipedia.org/wiki/File:La_Banquise_Poutine.jpg|link=https://en.wikipedia.org/wiki/File:La_Banquise_Poutine.jpg|right|thumb|A classic poutine is made with french fries, cheese curds and gravy.]]
* Tourtière
* Sucre à la crème
* Pâté chinois
* Pouding chômeur
* St. Catherine's taffy
* Spruce beer
* Maple syrup
* Cretons
'''Acadia'''
Meŋ leɛ kaa kyɛ nyɛ : Acadian bondirii maaloo zie
=== China paaloŋ poɔ ===
* Ciba cake
* Dim sum
* Fuling Jiabing - e la saakompare bondirii snack bondirii naŋ e Beijing naŋ e bone na be a paaloŋ lambori kyɛlee poɔ. O maŋ waa ŋa a Pancake na, sikyiri zɔŋ ane fuling la ka ba maŋ de a maale a nyɔge pilli ne bombie, seo, ane boma mine ne a taaba.
* Spring Pancake - e la chinese deme saaŋkompare bondirii naŋ e bone naŋ pore a northern irigiŋ paaloŋ poɔ ka neɛzaa baŋ o. Noba maŋ di la Pancake a bebiri kaŋa banaŋ boɔlɔ Lichun, o e la tigiri ba naq maq piili o diibu a spring pare piila.
* Zhongzi - mui tage bee bonnoore mine na maŋ pɔge a vaɛ ka ba de doge.
Zhnogzi – e la mui nyɛnnoo bee bonnoore mine, ba naŋ maŋ de bamboo vaɛ a pɔge ne kyɛ a de doge. Ba maŋ maale la a boma ka ba de toori ne a ba paaloŋ paati neŋkpoŋ yuori naŋ di Qu Yuan a Dragon tigiri diibu saŋa bee wagere poɔ.
=== '''Costa Rica paaloŋ poɔ''' ===
Mui ane bɛŋɛ
=== Croatia ===
· Lecsó
=== Cyprus ===
Tsamarella – e la saaŋkompare bondirii kyɛ naŋ cyprus ŋmenaa saŋa nɛmɛ
=== Czech Republic ===
· Lecsó
· Svíčková
=== Estonia ===
· Mulgipuder<sup>[''citation needed'']</sup>
· Sepik
=== Eswatini ===
Atikile meŋa : Bondirii maaloo zie a Eswatini ane ba saaŋkompare bondirii
Faroe Islands
· Faroese puffin
· Garnatálg
· Skerpikjøt
· Whale Nɛmɛ
=== Finland ===
Karelian pasty
· Karelian stew
· Karelian pasty
· Kesäkeitto
· Sautéed reindeer
· Ruisreikäleipä
· Ryynimakkara
· Mustamakkara
· Kalakukko
· Lörtsy
· Rönttönen
· Sultsina
· Mämmi
· Joulutorttu
=== France ===
A ''Appellation d'origine contrôlée'' - e la Franch bondirii a paaloŋ zaa naŋ sage de ka a e ba paaloŋ bondirii kyɛ a Franch paaloŋ zaa kyɛ a ziiri ama bondirii la wines, cheeses, kaaŋ ane a kɔreba bonkoɔre mine.
Nansaala noɔ peele - a French noore boma ne a appellation d’origine controlee zi araa
Appellation d’origine controlee liqueurs ane seeloŋ
Appellation d’origine controlee controlee daa kpeɛne mine.
=== Germany ===
Black Forest ham – maŋ maale la eŋ a black forest irigiŋ naŋ be a Germany paaloŋ poɔ, o e la bone kpaaroŋ kaŋa kpaaroŋ naŋ kaara ba zu ka onaŋ la Proected Designation of Origin (PDO) naŋ kaara a bondirii zu a European Union.
=== Guatemala ===
Fiambre e la saaŋkompare Guatemalan bondirii, na maŋ maale dayeni yoŋ ka ba di yuoni zaa, o la tigiri bee yeltuuri ba naŋ maŋ di a kyaare a ne a bebiri na a Dia de Los Muetos ane All Saint Day (Dia de Todos Los Santos) naŋ kpi.
=== Iceland ===
Hakarl – o e la saaŋkompare bondiraa ane a paaloŋ zaa bondirii kaŋa naŋ be a Iceland paaloŋ poɔ.
Hangikjot
Þorramatur – e la Iceland saaŋkompare bondiraa kaŋa ba naŋ maŋ kaa iri, o e la bondiraa kaŋa ba naŋ maŋ de a maale ne zɔne, ba maŋ maale o la a saaŋkompare maaloo, ba nyɔge a ŋmaare bibilee a paaŋ de eŋ rúgbrauð bondirii ( a de dɔgele borodo sɔgele maaroŋ zu), butler ane brennivin ( naŋ e Icelandic akvavit)
=== India ===
Atikile meŋa : Indian paaloŋ poɔ bondirii
· Kheer
· Roti and Sabzi
=== South India paaloŋ poɔ bondirii ===
· Idli
· Dosa
· Sambar and Chutneys
· Rasam
· Puttu
· Idiyappam
· Paniyaram
=== Indonesia ===
Meŋ kaa kyɛ nyɛ: Indonesia bondi-parɛɛ
Brem – e la Snack ane va-diree bombiiru kaŋa banaŋ maq de yi ne Java ane Badi bee a e ba bommaale.
Docang – e la saaŋkompare bondirii naŋ maale yi Cirebon
Gado-gado – e la saaŋkompare salad bondiraa kaŋa ba naŋ maŋ de seŋkaa kaaŋ a maale dɔgele.
Gudeg - unripe jackfruit baapaala la ka ba maŋ de maale ne zeɛre, a e la saaŋkompare bondirii naŋ yi Yogyakarta paaloŋ poɔ.
Ketupat – a e la saaŋkompare mui dogere banaŋ maŋ doge a peli ne vaɛ, a e la bondirii ba naŋ maŋ di a Lebaren , Indonesia idul fitri
Kuluban – Javanese saaŋkompare salad naŋ e yi zie kaŋa a wa
Lawar – Balinese zɛvaare bondirii naŋ e saaŋkompare bondirii
Opor ayam – noɔ ba naŋ maŋ de eŋ kube koɔ zeɛre poɔ, a e la ba saaŋkompare bondiraa kaŋa naŋ pore kyɛ gbɛɛ yaga a bondiraa ŋa diibu ba maŋ de di ne la ketupat a Lebaran diibu wagere.
Pallubasa – e la saaŋkompare bondirii naŋ yi a Makassar, South Sulawesi banaŋ maŋ maale o yi ne offal nao bee wɛduo eŋɛ.
Papeda – saago ɔongee, e la saaŋkompare bondirii naŋ be a Eastern Indonesia ( Maluku ane Papua) paaloŋ poɔ.
Rendang – Minangkabau e la saaŋkompare bondirii naŋ yi a West Sumatra paaloŋ poɔ.
Satay – e la nɛne ba naŋ maŋ ɛre dɔgele skewers zu, a saaŋkompare bondiraa ŋa taa la tɛɛtɛɛ a yi a paaloŋ na poɔ banaŋ maale a Indonesia poɔ
Soto – e la a Indonesia saaŋkompare zeɛre kaŋa, a zeɛre ama maalo taa la tɛɛtɛɛ a yi irigiŋ na poɔ a zeɛre naŋ maale
Tempeh – bɛŋɛ sɛnsɛ naŋ e saaŋkompare naŋ yi a Java paaloŋ poɔ
Tumpeng – a e la mui na maŋ doge wagere na banaŋ maŋ dire a Indonesia bondirii tigiri, a wagere ŋa poɔ ba maŋ doge la bondiparɛɛ parɛɛ a viiri a mui ama
=== Iran ===
· Chelow kabab
· Tahdig
· Ghormeh sabzi
· Fesenjān
· Sabzi polo
· Abgoosht
· Gheimeh
· Sholezard
· Āsh
· Mirza Ghassemi
* Nargesi
* Baghala ghatogh
=== Ireland ===
Biguo bondirii
Podaare bondi-seɛraa
=== Italy ===
Meŋ kaa kyɛ nyɛ; a Italian bondiparɛɛ ane ba bonnyuri ane a Italian bommaale ane a boŋguuri a ne a yiwaabo zie la a puliŋ kyɛ
· Abbacchio
· Affogato
· Arancini
· Asiago
· Biscotti
· Braciola
· Bruschetta
· Caciotta
· Cacciucco
· Caponata
· Cappuccino
· Cotechino
· Crostata
· Crostini
· Espresso
· Focaccia
· Frittata
· Frittella
· Fritto misto
· Gelato
· Lasagna
· Mascarpone
· Minestrone
· Mozzarella
· Panettone
· Panna cotta
· Panino
· Panzerotto
· Parmigiano Reggiano
· Pasta
· Pecorino
· Peperonata
· Pizza
· Polenta
· Porchetta
· Prosciutto
· Ravioli
· Risotto
· Salami
· Salumi
· Scamorza
· Semifreddo
· Spezzatino
· Strudel
· Tiramisu
· Tortellini
· Zabaione
· Zuppa inglese
A maaloo yiibu zie
''Denominazione di origine controllata a'' e la Italian bondimaalaa banaŋ maŋ maale a sɛge mare lɛ a na soma seŋ, azuo a zaa Italian daa kpeɛŋaa ane cheese
· Italian DOC daa kpeɛŋaa
· Italian DOCG daa kpeɛŋaa
* ''Indicazione geografica tipica''
· ''Prodotti agroalimentari tradizionali e la'' a Italian saaŋkompare daa irigiŋ kaŋa naŋ be poɔ,ka a Protected Geographical Status of European Union.
· ''Strada dell'Olio, e la gastronomical'' naŋ be a Italy paaloŋ poɔ a e ba saaŋkompare bommaale aseŋ, PDOs ane PGIs, DOCs ane DOCGs naŋ be a Italy poɔ
=== Japan ===
Mochi – maŋ di la yuoni zaa viiria a yuoni poɔ a Japan a yuoni gbuli zaa poɔ, mochi e la saaŋkompare bondirii naŋ be a Japan yuompaala diibu poɔ a e la bondirii naŋ pore ka maŋ koɔr ka noba daara dire a wagere na poɔ.
=== Jordan ===
Saaŋkompare bonnyuri naŋ be a Jordan paaloŋ poɔ a laŋ ne a sous ( anaŋ neŋ la ka ba boɔlɔ irqsus), a bonnyuri ama e la boma ba naŋ maŋ maale ne ''Glycyrrhiza glabra'' nyege-kuoni (liquorice) tamr hindi, a e la daa ba naŋ maŋ maale ne ''Tamarindus indica'' (tamarind), ane ''laban'' (''labneh''), bonkuoni. A e la bone ba naŋ maŋ de koɔ ane yogurt a maale ne. a yelnimizeɛ kaŋa naŋ be a maalo poɔ la ba maŋ de la labneh naŋ be a Jordan ane tenne anaŋ ŋmaa viiri bee a peɛle, a ama zaa maŋ maale la ane a saaŋkompare maaloo sobie na, a maŋ maale a eŋ a yogurt ɔrebare poore.
=== Korea ===
· Bibimbap
· Bulgogi
· Kimchi
· Nurungji
· Sungnyung
=== Latvia ===
· Bombie
* Layered rye bread
* Sklandrausis
· Speķrauši
=== Lithuania ===
· Saaŋkompare daŋgeli
=== Malaysia ===
· Hinava
· Kelupis
· Ketupat
· Lamban
· Lemang
· Linopot
· Manuk pansuh
· Nasi lemak
· Penyaram
· Umai
=== Maldives ===
Garudiya
Maldives zuma – saaŋkompare tuna zum ba naŋ maale Maldives paaloŋ poɔ. A e la Maldivian bondirii,
=== Malta ===
Lent naŋ be Malta poɔ & saaŋkompare bondirii ba naŋ maŋ di a wagere na zaa poɔ.
Kwarezimal – Lent sɛnsɛ
=== Maxico ===
Atole e la a ba saaqkompare tea nyu bone
Capirotada – e la bone gbɛɛ yaga ba naŋ maŋ di Lenten wagere poɔ (''comida de cuaresma'') o e la a bondiraa kaŋa ba naŋ maŋ di Friday soŋ daare
Sɛlemaa wogiri
Enchilada Mexico noba bondirii
Iguana Nɛne
Bombie, bɛŋɛ ane bɛŋkyeene
Kamaana
Tortilla
Mole Sauce
Doba-nɛne
Choizo
Mui – saaŋkompare poɔ, ba maŋ kyeeŋ la ka a waa ŋa salima sɛre ka paaŋ de a doge
Mui ane bɛŋɛ
Sope a e la Mexico bondirii ba naŋ maŋ de gyɛle a maale ne
Tamale – a e la bondirii mine ba naŋ maŋ maale eŋ kamapɛge poɔ
=== '''Nepal''' ===
Dhindo
=== '''Portugal''' ===
Denominação de Origem Controlada e la mere kaŋa banaŋ maale biŋ ka o kaara a ba daa-kpeɛne zu, cheeses, butter aane a Portugal bonkoɔre mine.
'''Saudi Arabia'''
· Hininy
· Kabsa
=== Singapore ===
Hainanese mui ane noɔ nɛne - a Singapore a bondirii ama la ka ba de ka a e a ba saaŋkompare bondirii
Teochew kookoo bee buuluŋ
=== Slovakia ===
Bryndzové halušky - a bondirii ama la ka ba de ka a e a ba saaŋkompare bondirii ana la halušky ane bryndza a Solvakia poɔ.
Lecso
=== South Africa ===
[[Boŋŋo Tigiri|Boboti]]<nowiki/>e
* Chakalaka and Pap
* Malva pudding
* Potjiekos
* Samosa
=== Spain ===
Borona - e la kamaana boroodo a e la saaŋkompare bondirii, naŋ be a Galicia, Asturias Cantabria, a Basque teŋɛ ane a Northen Castilla - Leon ( zie kaŋa naŋ be a Leon Palenɔia ane Burgos)
''Denominación de Origen'' ''-''
=== '''Sweden''' ===
* Falukorv
* Janssons frestelse
* Pyttipanna
Switzaerland
''Appellation d'origine protégée'' ''- A''
Capuns - e la saaŋkompare bondirii naŋ be a canton of Graubünden a Switzerland paaloŋ
=== Tanzania ===
Pare noba ane saaŋkompare bondirii
=== '''Thailand''' ===
Mango mui
pad Thai
=== Turkey ===
imam bayildi
Uganda
Malewa - bamboo seɛre ba naŋ maŋ deɛle ka a ko ka biŋ. A bondirii ama yiibu zie la Eastern Uganda, paaloŋ, a Bugisu naŋ be irigiŋ bilee kaŋa poɔ
=== '''United Kingdom''' ===
=== England ===
* Bangers and mash
* Cottage pie
* Faggot
* Zuma ane chips
* Biguo bondirii
* Sunday roast
c7h5opo4k544is5hgubt87uk36ppt2c
Acadian cuisine
0
7273
62372
62356
2026-07-10T05:59:13Z
Edith Tangkur
310
Creat article
62372
wikitext
text/x-wiki
{{databox|item=Q13243160}}
'''Acadian bondirii e''' la bondirii a Acadian deme naŋ maala dakroŋ saŋa zaa. Pampana ŋa la ka ba maŋ nyɛr'a a Acadia saaŋkoŋ paaloŋ poɔ.<ref>https://web.archive.org/web/20200516121805/http://blog.tourismnewbrunswick.ca/9-acadian-foods-you-have-to-try-in-new-brunswick</ref><ref>http://acim.umfk.maine.edu/foods.html</ref><ref>https://web.archive.org/web/20210508142551/https://www.foodnetwork.ca/shows/great-canadian-cookbook/photos/acadian-recipes/</ref>
== Bondirii ==
{| class="wikitable"
|[[//en.wikipedia.org/wiki/File:Question_book-new.svg|link=https://en.wikipedia.org/wiki/File:Question_book-new.svg|alt=icon|50x50px]]
|
|}
[[//en.wikipedia.org/wiki/File:Poutine_à_trous_Village_historique_acadien.jpg|link=https://en.wikipedia.org/wiki/File:Poutine_%C3%A0_trous_Village_historique_acadien.jpg|right|thumb|A ''poutine à trou'' smothered in maple syrup.]]
[[//en.wikipedia.org/wiki/File:Ployes.jpg|link=https://en.wikipedia.org/wiki/File:Ployes.jpg|right|thumb|''Ployes'' are popular in the Madawaska region.]]
[[//en.wikipedia.org/wiki/File:Rappie_pie.jpg|link=https://en.wikipedia.org/wiki/File:Rappie_pie.jpg|right|thumb|Rappie pie or ''râpure'' is a dish whose name comes from ''patates râpées'', meaning "grated potatoes".]]
Saakompare bondirii mine Acadian la:
* ''Beurre de homard''—lobster butter
* ''Bouilli acadien''— zemaane bondirii ba naŋ maŋ doŋ naŋ maŋ taa dakyɛlɛ, naanɛne naŋ taa nyɛnuu bee dɔbanɛne, kaaroti, bɛŋ sogelaa, kabekyi ane turnips.
* ''Bouillie à la viande salée''
* ''Bouillon aux coques''
* ''Chiard''/''mioche''—purée of potatoes, kaaroti bee turnips.
* Chow-chow—a North American pickled relish.
* ''Cipâte—''sea-pie
* ''Coques frites''— clams kyeene
* ''Coquille Saint-Jacques''—a mane scallop bondirii
* ''Cretons''—e la bondiduŋraa kaŋa , pork ''pâté'' ''naŋ ɛre.''
* ''Croquettes de poisson''—zommo bonɔɔre
* ''Doigt-à-l'ail''—galiki nubie
* ''Fricot''— e la zeɛre mine, naŋ taa dakyɛlɛ,gyɛnlee, ane nɛne na zaa fo naŋ boɔrɔ.
* ''Morue bouillie avec patates et beurre fondu''—cod ane pan- dankyɛle kyiine bata poɔ.
* ''Pain au homard''—a lobster and mayonnaise sandwich.
* ''Pâté au poisson''—fish paste.
* ''Pâté chinois''—mashed potatoes, ground beef and creamed corn.
* ''Pets de sœurs''—pastry filled with butter and brown sugar, rolled, sliced and baked.
* ''Ploye''—pancake-like mix of buckwheat flour, wheat flour.
* ''Pouding chômeur''— nembaala bontuur.
* ''Poutine râpée''— dankyele naŋ doŋ ane dɔbanɛne.
* ''Poutine à trou''— apple dumplings naŋ sɛ
* ''Poutine au bleuet''—French maŋ kyee la ne cheese, gravy, ane blueberries.
* ''Ragoût''—e la zɛtage
* Rappie pie/''râpure''— dankyɛlɛ ba naŋ ɛre ane noɔnɛne bee dobanɛne.
* ''Soupe aux pois''—Canadian pea zeɛre.
* ''Tarte au sucre acadienne''—Acadian sikiri pie.
* ''Tchaude''—zommo chowder.
* ''Tourtière'': nɛne pie.
== Meŋ la nyɛ ==
* Cuisine of Quebec
* Cajun cuisine
* Occitan cuisine
* Gumbo
== Bibliography ==
* Marielle Cormier Boudreau and Melvin Gallant, ''La Cuisine traditionnelle en Acadie : historique des traditions et coutumes culinaires chez les Acadiens du Nouveau-Brunswick, de la Nouvelle-Écosse, de l'Île-du-Prince-Édouard et des Îles-de-la-Madeleine'', Moncton, Éditions d'Acadie (réimpr. 1980, 1987) (1re éd. 1975), 181 p.
* Ghislain Savoie, ''Histoire de la pomme de terre et autres tubercules connus dans l'ancienne Acadie'', Les Cahiers, Société historique acadienne, vol. 42, no 1, March 2011, p. 4-25
== '''Sommo yizie''' ==
11l1z4scj0gg8wy5ausr73ob928cahi