Βικιπαίδεια pntwiki https://pnt.wikipedia.org/wiki/%CE%91%CF%81%CF%87%CE%B9%CE%BA%CF%8C%CE%BD_%CF%83%CE%B5%CE%BB%CE%AF%CE%B4%CE%B1 MediaWiki 1.47.0-wmf.12 first-letter Μέσον Ειδικόν Καλάτσεμαν Χρήστες Καλάτσεμαν χρήστε Βικιπαίδεια Βικιπαίδεια καλάτσεμαν Αρχείον Καλάτσεμαν αρχείονος MediaWiki MediaWiki talk Πρότυπον Καλάτσεμαν πρότυπι Βοήθειαν Καλάτσεμαν βοήθειας Κατηγορίαν Καλάτσεμαν κατηγορίας TimedText TimedText talk Module Module talk Event Event talk Basshunter 0 3007 37659 37428 2026-07-24T11:02:58Z Εὐθυμένης Β΄ 12652 /* Αναφοράντας */ 37659 wikitext text/x-wiki [[Αρχείον:Basshunter, 20 april 2008 in Halmstad.jpg|thumb|right|240px|Basshunter (2008)]] '''Basshunter''', '''Jonas Erik Altberg''' (* [[22 Χριστουγενναρί]]) έτον [[τραγουδίστρια]], [[τραγουδοποιός]]. == Βιογραφικόν == Ο Basshunter εγεννέθεν κι εθράφεν σο [[Halmstad]], κοντά σην [[Tylösand]].<ref>{{cite web | url = http://www.basshunter.se/bio | title = Bio | access-date = 2022 | website = basshunter.se | archive-url = https://web.archive.org/web/20100528035145/http://www.basshunter.se/bio | archive-date = 28 May 2010 | url-status = dead}}</ref> == Δισκογραφίαν == === Αλμπούμε === * ''[[The Bassmachine]]'' (2004) * ''[[LOL (^^,)|LOL <(^^,)>]]'' (2006) * ''[[Now You're Gone – The Album]]'' (2008) * ''[[Bass Generation]]'' (2009) * ''[[Calling Time]]'' (2013) == Αναφοράντας == <references /> == Συνδέσμε == {{Commonscat}} * [https://basshunter.se basshunter.se] [[Κατηγορίαν:Μουσική]] [[Κατηγορίαν:Σουηδία]] p1un0qf6empl9tnqeklitoj5ab2kvcn Κάστρον τη Μήθυμνας 0 3756 37660 2026-07-24T11:14:24Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με '[[Αρχείον:Άποψη του Κάστρου από το λιμάνι (2).jpg|μικρογραφία|δεξιά|upright=0.96|Το κάστρο τη Μήθυμνας.]] Το '''Κάστρο τη Μήθυμνας''' ή '''Κάστρο τη Μόλυβου''' έν’ ένα [[κάστρο]]ν, ντο ευρίσκεται ’ς σην κωμόπολην τη [[Μήθυμνα]]ς, ’ς σο νησίν τη [[Λέσβος|Λέσβου ’ς]] σην...' 37660 wikitext text/x-wiki [[Αρχείον:Άποψη του Κάστρου από το λιμάνι (2).jpg|μικρογραφία|δεξιά|upright=0.96|Το κάστρο τη Μήθυμνας.]] Το '''Κάστρο τη Μήθυμνας''' ή '''Κάστρο τη Μόλυβου''' έν’ ένα [[κάστρο]]ν, ντο ευρίσκεται ’ς σην κωμόπολην τη [[Μήθυμνα]]ς, ’ς σο νησίν τη [[Λέσβος|Λέσβου ’ς]] σην [[Ελλάδα]]. Το κτίσμα στέκ’ επάνω ’ς σ’ ένα ραχίν, όλια δίπλα ’ς σο χωρίον, και δεσπόζ’ επάνω από την περιοχήν.<ref name="CultMin">{{el}} {{cite web | url=http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | title=Φρούριο Μολύβου | website=odysseus.culture.gr | publisher=Υπουργείο Πολιτισμού και Αθλητισμού | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20210925142835/http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | archive-date=2021-09-25 }}</ref><ref name="Kastrologos">{{el}} {{cite web | url=https://www.kastra.eu/castlegr.php?kastro=mithymna | title=Κάστρο Μήθυμνας | website=Καστρολόγος | accessdate=2020-09-01}}</ref><ref name="Efales">{{el}} {{cite web | url=https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | title=Μεσαιωνικό Κάστρο Μήθυμνας ν. Λέσβου | website=Εφορεία Αρχαιοτήτων Λέσβου | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20211218070606/https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | archive-date=2021-12-18 }}</ref> == Ιστορία == [[Αρχείον:Lesbos Mithymna06.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρο τη Μήθυμνας.]] [[Αρχείον:Lesbos Mithymna05.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρο τη Μήθυμνας.]] Το κάστρον εχτίστεν ’ς σα βυζαντινά τα χρόνια επάνω ’ς σ’ αρχαία θεμέλια. Αργότερα, οι Γενοβέζοι (οι Γατελούζοι) και οι Οθωμανοί επεκτάναν και ενισχύσαν το χτίσμα, για να προστατεύκ’ το νησίν από τους πειρατάς και τους εχθρούς.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αρχιτεκτονική == Το κάστρον έν’ καλοδιατηρημένον και θεωρείται ένα από τα πιο τρανά οχυρωματικά έργα ’ς σο Αιγαίον Πέλαγος.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> Σήμερα, το κάστρον έν’ επισκέψιμον για τον κόσμον και χρησιμοποιείται για πολιτιστικάς εκδηλώσεις και συναυλίας ’ς σο καλοκαίριν.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αναφοράντας == <references /> [[Κατηγορίαν:Ελλάδα]] 11yczyj6ar6atg8h1gut2dho8tfc1k7 37661 37660 2026-07-24T11:19:28Z Εὐθυμένης Β΄ 12652 37661 wikitext text/x-wiki [[Αρχείον:Άποψη του Κάστρου από το λιμάνι (2).jpg|μικρογραφία|δεξιά|upright=0.96|Το κάστρον τη Μήθυμνας.]] Το '''Κάστρον τη Μήθυμνας''' ή '''Κάστρον τη Μόλυβου''' έν’ ένα [[κάστρο]]ν, ντο ευρίσκεται ’ς σην κωμόπολην τη [[Μήθυμνα]]ς, ’ς σο νησίν τη [[Λέσβος|Λέσβου ’ς]] σην [[Ελλάδα]]. Το κτίσμα στέκ’ επάνω ’ς σ’ ένα ραχίν, όλια δίπλα ’ς σο χωρίον, και δεσπόζ’ επάνω από την περιοχήν.<ref name="CultMin">{{el}} {{cite web | url=http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | title=Φρούριο Μολύβου | website=odysseus.culture.gr | publisher=Υπουργείο Πολιτισμού και Αθλητισμού | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20210925142835/http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | archive-date=2021-09-25 }}</ref><ref name="Kastrologos">{{el}} {{cite web | url=https://www.kastra.eu/castlegr.php?kastro=mithymna | title=Κάστρο Μήθυμνας | website=Καστρολόγος | accessdate=2020-09-01}}</ref><ref name="Efales">{{el}} {{cite web | url=https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | title=Μεσαιωνικό Κάστρο Μήθυμνας ν. Λέσβου | website=Εφορεία Αρχαιοτήτων Λέσβου | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20211218070606/https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | archive-date=2021-12-18 }}</ref> == Ιστορία == [[Αρχείον:Lesbos Mithymna06.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρον τη Μήθυμνας.]] [[Αρχείον:Lesbos Mithymna05.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρον τη Μήθυμνας.]] Το κάστρον εχτίστεν ’ς σα βυζαντινά τα χρόνια επάνω ’ς σ’ αρχαία θεμέλια. Αργότερα, οι Γενοβέζοι (οι Γατελούζοι) και οι Οθωμανοί επεκτάναν και ενισχύσαν το χτίσμα, για να προστατεύκ’ το νησίν από τους πειρατάς και τους εχθρούς.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αρχιτεκτονική == Το κάστρον έν’ καλοδιατηρημένον και θεωρείται ένα από τα πιο τρανά οχυρωματικά έργα ’ς σο Αιγαίον Πέλαγος.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> Σήμερα, το κάστρον έν’ επισκέψιμον για τον κόσμον και χρησιμοποιείται για πολιτιστικάς εκδηλώσεις και συναυλίας ’ς σο καλοκαίριν.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αναφοράντας == <references /> [[Κατηγορίαν:Ελλάδα]] psghjmcor1ny645g5ep031o6euq5kh1 37662 37661 2026-07-24T11:20:43Z Εὐθυμένης Β΄ 12652 Ο Εὐθυμένης Β΄ μετακίνησε τη σελίδα [[Κάστρο τη Μήθυμνας]] στην [[Κάστρον τη Μήθυμνας]] 37661 wikitext text/x-wiki [[Αρχείον:Άποψη του Κάστρου από το λιμάνι (2).jpg|μικρογραφία|δεξιά|upright=0.96|Το κάστρον τη Μήθυμνας.]] Το '''Κάστρον τη Μήθυμνας''' ή '''Κάστρον τη Μόλυβου''' έν’ ένα [[κάστρο]]ν, ντο ευρίσκεται ’ς σην κωμόπολην τη [[Μήθυμνα]]ς, ’ς σο νησίν τη [[Λέσβος|Λέσβου ’ς]] σην [[Ελλάδα]]. Το κτίσμα στέκ’ επάνω ’ς σ’ ένα ραχίν, όλια δίπλα ’ς σο χωρίον, και δεσπόζ’ επάνω από την περιοχήν.<ref name="CultMin">{{el}} {{cite web | url=http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | title=Φρούριο Μολύβου | website=odysseus.culture.gr | publisher=Υπουργείο Πολιτισμού και Αθλητισμού | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20210925142835/http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | archive-date=2021-09-25 }}</ref><ref name="Kastrologos">{{el}} {{cite web | url=https://www.kastra.eu/castlegr.php?kastro=mithymna | title=Κάστρο Μήθυμνας | website=Καστρολόγος | accessdate=2020-09-01}}</ref><ref name="Efales">{{el}} {{cite web | url=https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | title=Μεσαιωνικό Κάστρο Μήθυμνας ν. Λέσβου | website=Εφορεία Αρχαιοτήτων Λέσβου | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20211218070606/https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | archive-date=2021-12-18 }}</ref> == Ιστορία == [[Αρχείον:Lesbos Mithymna06.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρον τη Μήθυμνας.]] [[Αρχείον:Lesbos Mithymna05.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρον τη Μήθυμνας.]] Το κάστρον εχτίστεν ’ς σα βυζαντινά τα χρόνια επάνω ’ς σ’ αρχαία θεμέλια. Αργότερα, οι Γενοβέζοι (οι Γατελούζοι) και οι Οθωμανοί επεκτάναν και ενισχύσαν το χτίσμα, για να προστατεύκ’ το νησίν από τους πειρατάς και τους εχθρούς.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αρχιτεκτονική == Το κάστρον έν’ καλοδιατηρημένον και θεωρείται ένα από τα πιο τρανά οχυρωματικά έργα ’ς σο Αιγαίον Πέλαγος.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> Σήμερα, το κάστρον έν’ επισκέψιμον για τον κόσμον και χρησιμοποιείται για πολιτιστικάς εκδηλώσεις και συναυλίας ’ς σο καλοκαίριν.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αναφοράντας == <references /> [[Κατηγορίαν:Ελλάδα]] psghjmcor1ny645g5ep031o6euq5kh1 37665 37662 2026-07-24T11:22:05Z Εὐθυμένης Β΄ 12652 37665 wikitext text/x-wiki [[Αρχείον:Άποψη του Κάστρου από το λιμάνι (2).jpg|μικρογραφία|δεξιά|upright=0.96|Το κάστρον τη Μήθυμνας.]] Το '''Κάστρον τη Μήθυμνας''' ή '''Κάστρον τη Μόλυβου''' έν’ ένα [[κάστρον]], ντο ευρίσκεται ’ς σην κωμόπολην τη [[Μήθυμνα]]ς, ’ς σο νησίν τη [[Λέσβος|Λέσβου ’ς]] σην [[Ελλάδα]]. Το κτίσμα στέκ’ επάνω ’ς σ’ ένα ραχίν, όλια δίπλα ’ς σο χωρίον, και δεσπόζ’ επάνω από την περιοχήν.<ref name="CultMin">{{el}} {{cite web | url=http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | title=Φρούριο Μολύβου | website=odysseus.culture.gr | publisher=Υπουργείο Πολιτισμού και Αθλητισμού | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20210925142835/http://odysseus.culture.gr/h/2/gh251.jsp?obj_id=15685 | archive-date=2021-09-25 }}</ref><ref name="Kastrologos">{{el}} {{cite web | url=https://www.kastra.eu/castlegr.php?kastro=mithymna | title=Κάστρο Μήθυμνας | website=Καστρολόγος | accessdate=2020-09-01}}</ref><ref name="Efales">{{el}} {{cite web | url=https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | title=Μεσαιωνικό Κάστρο Μήθυμνας ν. Λέσβου | website=Εφορεία Αρχαιοτήτων Λέσβου | accessdate=2020-09-01 | archive-url=https://web.archive.org/web/20211218070606/https://www.efales.gr/sight/mesaioniko-kastro-mithymnas-n-lesvoy | archive-date=2021-12-18 }}</ref> == Ιστορία == [[Αρχείον:Lesbos Mithymna06.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρον τη Μήθυμνας.]] [[Αρχείον:Lesbos Mithymna05.JPG|μικρογραφία|αριστερά|upright=0.96|Το κάστρον τη Μήθυμνας.]] Το κάστρον εχτίστεν ’ς σα βυζαντινά τα χρόνια επάνω ’ς σ’ αρχαία θεμέλια. Αργότερα, οι Γενοβέζοι (οι Γατελούζοι) και οι Οθωμανοί επεκτάναν και ενισχύσαν το χτίσμα, για να προστατεύκ’ το νησίν από τους πειρατάς και τους εχθρούς.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αρχιτεκτονική == Το κάστρον έν’ καλοδιατηρημένον και θεωρείται ένα από τα πιο τρανά οχυρωματικά έργα ’ς σο Αιγαίον Πέλαγος.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> Σήμερα, το κάστρον έν’ επισκέψιμον για τον κόσμον και χρησιμοποιείται για πολιτιστικάς εκδηλώσεις και συναυλίας ’ς σο καλοκαίριν.<ref name="CultMin"/><ref name="Kastrologos"/><ref name="Efales"/> == Αναφοράντας == <references /> [[Κατηγορίαν:Ελλάδα]] 3bjxt0jvqkoerysptxyn4bpxl60hj9z Κάστρο τη Μήθυμνας 0 3757 37663 2026-07-24T11:20:43Z Εὐθυμένης Β΄ 12652 Ο Εὐθυμένης Β΄ μετακίνησε τη σελίδα [[Κάστρο τη Μήθυμνας]] στην [[Κάστρον τη Μήθυμνας]] 37663 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Κάστρον τη Μήθυμνας]] 0sjp2g80kx4oyz5rr74aus3hm3vthlu 37664 37663 2026-07-24T11:21:22Z Εὐθυμένης Β΄ 12652 Αφαιρέθηκε ανακατεύθυνση προς το [[Κάστρον τη Μήθυμνας]] 37664 wikitext text/x-wiki {{delete|made by mistake}} #ΑΝΑΚΑΤΕΥΘΥΝΣΗ [[Κάστρον τη Μήθυμνας]] bx521kn8qdczdj8xu8jvcxbrebwi7x7 Πρότυπον:Multiple image 10 3758 37666 2026-07-24T11:23:19Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με '{{#invoke:Multiple image|render}}<noinclude>{{documentation}}<!-- PLEASE ADD CATEGORIES TO THE /doc SUBPAGE, THANKS --></noinclude>' 37666 wikitext text/x-wiki {{#invoke:Multiple image|render}}<noinclude>{{documentation}}<!-- PLEASE ADD CATEGORIES TO THE /doc SUBPAGE, THANKS --></noinclude> q9oxjh8m7wtojz4v77x8mc2nmpowt0r Module:MultiReplace 828 3759 37667 2026-07-24T11:24:26Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με 'local p = {} local function MultiReplace(args) local input = args[1] or "{{{1}}}" local plain = args.plain == "yes" local i = 1 local changeList = {} while args[i * 2] do local change = {pattern = args[i * 2], repl = args[i * 2 + 1]} if not change.repl then return require('Module:Error').error{ 'MultiReplace: Unpaired argument: <code>' .. (i * 2) .. ' = ' .. mw.text.nowiki(change.pattern) .. '</code>' } end changeList[i] =...' 37667 Scribunto text/plain local p = {} local function MultiReplace(args) local input = args[1] or "{{{1}}}" local plain = args.plain == "yes" local i = 1 local changeList = {} while args[i * 2] do local change = {pattern = args[i * 2], repl = args[i * 2 + 1]} if not change.repl then return require('Module:Error').error{ 'MultiReplace: Unpaired argument: <code>' .. (i * 2) .. ' = ' .. mw.text.nowiki(change.pattern) .. '</code>' } end changeList[i] = change i = i + 1 end local matchList = {} local pos = 1 local len = mw.ustring.len(input) local result = "" while pos <= len do local bestStart = len + 1 local bestStop = len local bestChange for _, change in ipairs(changeList) do local start, stop = mw.ustring.find(input, change.pattern, pos, plain) if start and (start < bestStart) then bestStart = start bestStop = stop bestChange = change end end result = result .. mw.ustring.sub(input, pos, bestStart - 1) if bestChange then local fragment = mw.ustring.sub(input, bestStart, bestStop) result = result .. (plain and bestChange.repl or mw.ustring.gsub(fragment, bestChange.pattern, bestChange.repl, 1)) end pos = bestStop + 1 end return result end function p.main(frame, ...) local args = type(frame) ~= 'table' and {frame, ...} or type(frame.args) ~= 'table' and frame or frame.args[1] and frame.args or frame:getParent().args return MultiReplace(args) end return p 6zo47ee57vf0m5j8jpjxogh6942fd2q Πρότυπον:Module function link 10 3760 37668 2026-07-24T11:26:49Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με '<includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |&#123;&#123;{{safesubst:<noinclude />#invoke:separated entries|main|[[Module:{{{1}}}|#invoke:{{{1}}}]]|{{safesubst:<noinclude />#if:{{{2|/}}} |{{safesubst:<noinclude />#if:{{{2|}}}|[[Module:{{{1}}}#{{{2}}}|{{{2}}}]]}} |''function'' }}|separator=&#124;}}&#125;&#125; |{{#invoke:Error|error|Error: Missing module name.}} }}</includeonly><noinclude>{{documentation}}</noinclude>' 37668 wikitext text/x-wiki <includeonly>{{safesubst:<noinclude />#if:{{{1|}}} |&#123;&#123;{{safesubst:<noinclude />#invoke:separated entries|main|[[Module:{{{1}}}|#invoke:{{{1}}}]]|{{safesubst:<noinclude />#if:{{{2|/}}} |{{safesubst:<noinclude />#if:{{{2|}}}|[[Module:{{{1}}}#{{{2}}}|{{{2}}}]]}} |''function'' }}|separator=&#124;}}&#125;&#125; |{{#invoke:Error|error|Error: Missing module name.}} }}</includeonly><noinclude>{{documentation}}</noinclude> 74grvjmt67cetqv33fvzidrl66ojqf8 Πρότυπον:Mfl 10 3761 37669 2026-07-24T11:27:09Z Εὐθυμένης Β΄ 12652 Ανακατεύθυνση στη σελίδα [[Πρότυπον:Module function link]] 37669 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ[[Πρότυπον:Module function link]] 0gcxoisarrs0q32zbzyxrit6zw434ma Πρότυπον:Colon 10 3762 37670 2026-07-24T11:27:48Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με '&#58;<noinclude>{{Documentation}}</noinclude>' 37670 wikitext text/x-wiki &#58;<noinclude>{{Documentation}}</noinclude> cc3ofm0i104e4kws9eikeit1yry2hki Module:Multiple image 828 3763 37671 2026-07-24T11:30:13Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με '-- implements [[Template:Multiple image]] local p = {} local autoscaledimages local nonautoscaledimages local numberofimages = -1 local function isnotempty(s) return s and s:match( '^%s*(.-)%s*$' ) ~= '' end local function removepx(s) return tostring(s or ''):match('^(.*)[Pp][Xx]%s*$') or s end local function getdimensions(s, w, h) if tonumber(w) and tonumber(h) then nonautoscaledimages = true return tonumber(w), tonumber(h) end local...' 37671 Scribunto text/plain -- implements [[Template:Multiple image]] local p = {} local autoscaledimages local nonautoscaledimages local numberofimages = -1 local function isnotempty(s) return s and s:match( '^%s*(.-)%s*$' ) ~= '' end local function removepx(s) return tostring(s or ''):match('^(.*)[Pp][Xx]%s*$') or s end local function getdimensions(s, w, h) if tonumber(w) and tonumber(h) then nonautoscaledimages = true return tonumber(w), tonumber(h) end local file = s and mw.title.new('File:' .. mw.uri.decode(mw.ustring.gsub(s,'%|.*$',''), 'WIKI')) file = file and file.file or {width = 0, height = 0} w = tonumber(file.width) or 0 h = tonumber(file.height) or 0 autoscaledimages = true return w, h end local function renderImageCell(image, width, height, link, alt, thumbtime, caption, class, textalign, istyle, border, tcolor) local root = mw.html.create('') local altstr = '' local classstr = class and ('|class=' .. class) or '' local linkstr = link and ('|link=' .. link) or '' local widthstr = '|' .. tostring(width) .. 'px' local thumbtimestr = '' if isnotempty( alt ) then altstr = '|alt=' .. alt end if widthstr == '|-nanpx' then widthstr = '' end if isnotempty( thumbtime ) then thumbtimestr = '|thumbtime=' .. thumbtime end local imagediv = root:tag('div') imagediv:addClass((border ~= 'infobox') and 'thumbimage' or nil) imagediv:cssText(istyle) if height then imagediv:css('height', tostring(height) .. 'px') imagediv:css('overflow', 'hidden') end imagediv:wikitext('[[File:' .. image .. classstr .. widthstr .. linkstr .. altstr .. thumbtimestr .. ']]') if isnotempty(caption) then local captiondiv = root:tag('div') captiondiv:addClass((border ~= 'infobox') and 'thumbcaption' or nil) if isnotempty(textalign) then captiondiv:addClass('text-align-' .. textalign) end if tcolor ~= '' then captiondiv:css('color', tcolor) end captiondiv:wikitext(caption) end return tostring(root) end local function getWidth(w1, w2) local w if isnotempty(w1) then w = tonumber(w1) elseif isnotempty(w2) then w = tonumber(w2) end return w or 200 end local function getPerRow(pstr, ic) -- split string into array using any non-digit as a dilimiter local pr = mw.text.split(pstr or '', '[^%d][^%d]*') -- if split failed, assume a single row if (#pr < 1) then pr = {tostring(ic)} end -- convert the array of strings to an array of numbers, -- adding any implied/missing numbers at the end of the array local r = 1 local thisrow = tonumber(pr[1] or ic) or ic local prownum = {} while( ic > 0 ) do prownum[r] = thisrow ic = ic - thisrow r = r + 1 -- use the previous if the next is missing and -- make sure we don't overstep the number of images thisrow = math.min(tonumber(pr[r] or thisrow) or ic, ic) end return prownum end local function renderMultipleImages(frame) local pargs = frame:getParent().args local args = frame.args local width = removepx(pargs['width'] or '') local dir = pargs['direction'] or '' local border = pargs['border'] or args['border'] or '' local align = pargs['align'] or args['align'] or (border == 'infobox' and 'center' or '') local capalign = pargs['caption_align'] or args['caption_align'] or '' local totalwidth = removepx(pargs['total_width'] or args['total_width'] or '') local imgstyle = pargs['image_style'] or args['image_style'] local header = pargs['header'] or pargs['title'] or '' local footer = pargs['footer'] or '' local imagegap = tonumber(pargs['image_gap'] or '1') or 1 local thumbclass = { ["left"] = 'floatleft', ["none"] = 'tnone', ["center"] = 'tnone', ["centre"] = 'tnone', ["right"] = 'floatright' } -- find all the nonempty images local imagenumbers = {} local imagecount = 0 for k, v in pairs( pargs ) do local i = tonumber(tostring(k):match( '^%s*image([%d]+)%s*$' ) or '0') if i > 0 and isnotempty(v) then table.insert( imagenumbers, i) imagecount = imagecount + 1 end end -- save number of images for tracking category numberofimages = imagecount -- sort the imagenumbers table.sort(imagenumbers) -- create an array with the number of images per row local perrow = getPerRow(dir == 'vertical' and '1' or pargs['perrow'], imagecount) -- compute the number of rows local rowcount = #perrow -- store the image widths and compute row widths and maximum row width local heights = {} local widths = {} local widthmax = 0 local widthsum = {} local k = 0 for r=1,rowcount do widthsum[r] = 0 for c=1,perrow[r] do k = k + 1 if k <= imagecount then local i = imagenumbers[k] if isnotempty(totalwidth) then widths[k], heights[k] = getdimensions(pargs['image' .. i], pargs['width' .. i], pargs['height' .. i]) else widths[k] = getWidth(width, pargs['width' .. i]) end widthsum[r] = widthsum[r] + widths[k] end end widthmax = math.max(widthmax, widthsum[r]) end -- make sure the gap is non-negative if imagegap < 0 then imagegap = 0 end -- if total_width has been specified, rescale the image widths if isnotempty(totalwidth) then totalwidth = tonumber(totalwidth) widthmax = 0 k = 0 for r=1,rowcount do local koffset = k local tw = totalwidth - (3 + imagegap) * (perrow[r] - 1) - 12 local ar = {} local arsum = 0 for j=1,perrow[r] do k = k + 1 if k<= imagecount then local h = heights[k] or 0 if (h > 0) then ar[j] = widths[k]/h heights[k] = h else ar[j] = widths[k]/100 end arsum = arsum + ar[j] end end local ht = tw/arsum local ws = 0 k = koffset for j=1,perrow[r] do k = k + 1 if k<= imagecount then widths[k] = math.floor(ar[j]*ht + 0.5) ws = ws + widths[k] if heights[k] then heights[k] = math.floor(ht) end end end widthsum[r] = ws widthmax = math.max(widthmax, widthsum[r]) end end -- start building the array of images, if there are images if imagecount > 0 then -- compute width of outer div local bodywidth = 0 for r=1,rowcount do if widthmax == widthsum[r] then bodywidth = widthmax + (3 + imagegap) * (perrow[r] - 1) + 12 end end -- The body has a min-width of 100, which needs to be taken into account on specific widths bodywidth = math.max( 100, bodywidth - 8); local tc = pargs['color'] or pargs['text_color'] or '' local bg = pargs['bg_color'] or pargs['background_color'] or pargs['background color'] or '' -- create the array of images local root = mw.html.create('div') root:addClass('thumb') root:addClass('tmulti') -- root:addClass('tmulti-sandbox') root:addClass(thumbclass[align] or 'floatright') if align == 'center' or align == 'centre' then root:addClass('center') end if tc ~= '' then root:css('color', tc) end local div = root:tag('div') div:addClass((border ~= 'infobox') and 'thumbinner multiimageinner' or 'multiimageinner') div:css('width', tostring(bodywidth) .. 'px') :css('max-width', tostring(bodywidth) .. 'px') if bg ~= '' then div:css('background-color', bg) end if tc ~= '' then div:css('color', tc) end if border == 'infobox' or border == 'none' then div:css('border', 'none') end -- add the header if isnotempty(header) then div:tag('div') :addClass('trow') :tag('div') :addClass('theader') :css('text-align', pargs['header_align']) :css('background-color', (pargs['header_background'] ~= '') and pargs['header_background'] or nil) :wikitext(header) end -- loop through the images k = 0 for r=1,rowcount do local rowdiv = div:tag('div'):addClass('trow'); for j=1,perrow[r] do k = k + 1 if k <= imagecount then local imagediv = rowdiv:tag('div') imagediv:addClass('tsingle') if bg ~= '' then imagediv:css('background-color', bg); end if imagegap > 1 and k < imagecount then if dir == 'vertical' then imagediv:css('margin-bottom', tostring(imagegap) .. 'px') elseif j < perrow[r] then imagediv:css('margin-right', tostring(imagegap) .. 'px') end end local i = imagenumbers[k] local img = pargs['image' .. i] local w = widths[k] imagediv:css('width', tostring(2 + w) .. 'px') :css('max-width', tostring(2 + w) .. 'px') imagediv:wikitext(renderImageCell(img, w, heights[k], pargs['link' .. i], pargs['alt' .. i], pargs['thumbtime' .. i], pargs['caption' .. i], pargs['class' .. i], capalign, imgstyle, border, tc)) end end end -- add the footer if isnotempty(footer) then local falign = string.lower(pargs['footer_align'] or args['footer_align'] or '') falign = (falign == 'centre') and 'center' or falign div:tag('div') :addClass('trow') :css('display', (falign ~= '') and 'flow-root' or 'flex') :tag('div') :addClass((border ~= 'infobox') and 'thumbcaption' or nil) :css('text-align', (falign ~= '') and falign or nil) :css('background-color', (pargs['footer_background'] ~= '') and pargs['footer_background'] or nil) :css('color', (tc ~= '') and tc or nil) :wikitext(footer) end return tostring(root) end return '' end function p.render( frame ) autoscaledimages = false nonautoscaledimages = false numberofimages = 0 local check = require('Module:Check for unknown parameters')._check local tracking = check({ ['unknown'] = frame:expandTemplate{ title = 'main other', args = {'[[Category:Pages using multiple image with unknown parameters|_VALUE_ ]]'} }, ['preview'] = 'Page using [[Template:Multiple image]] with unknown parameter "_VALUE_"', ['ignoreblank'] = 'y', regexp1 = 'image%d+', regexp2 = 'width%d+', regexp3 = 'height%d+', regexp4 = 'class%d+', regexp5 = 'alt%d+', regexp6 = 'link%d+', regexp7 = 'thumbtime%d+', regexp8 = 'caption%d+', 'align', 'direction', 'header_background', 'header_align', 'header', 'width', 'total_width', 'caption_align', 'footer_background', 'footer_align', 'footer', 'perrow', 'title', 'image_gap', 'border', 'image_style', 'color', 'text_color', 'bg_color', 'background_color', 'background color' }, frame:getParent().args) return frame:extensionTag {name = 'templatestyles', args = {src = 'Multiple image/styles.css', wrapper = ".tmulti"}} .. renderMultipleImages( frame ) .. (autoscaledimages and '[[Category:Pages using multiple image with auto scaled images]]' or '') .. (nonautoscaledimages and '[[Category:Pages using multiple image with manual scaled images]]' or '') .. ( (numberofimages == 0) and '[[Category:Pages using multiple image with zero images]]' or '') .. ( (numberofimages == 1) and '[[Category:Pages using multiple image with one image]]' or '' ) .. tracking end p[''] = function( frame ) return p.render( frame:newChild{title = frame:getTitle()} ) end return p 1jra72gaczn0tp0tit5n2alifdd9moi Πρότυπον:Module link 10 3764 37672 2026-07-24T11:31:52Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με '<includeonly>&#123;&#123;{{{{{|safesubst:}}}#invoke:Separated entries|main|[[Module:{{{1}}}{{{section|}}}|#invoke:{{{1}}}]]|{{{2|''function''}}}|separator=&#124;}}&#125;&#125;</includeonly><noinclude>{{documentation}}<!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude>' 37672 wikitext text/x-wiki <includeonly>&#123;&#123;{{{{{|safesubst:}}}#invoke:Separated entries|main|[[Module:{{{1}}}{{{section|}}}|#invoke:{{{1}}}]]|{{{2|''function''}}}|separator=&#124;}}&#125;&#125;</includeonly><noinclude>{{documentation}}<!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude> 9i2jehvmqdbxqb6uexjk8k33u9p06v8 Πρότυπον:Ml 10 3765 37673 2026-07-24T11:32:54Z Εὐθυμένης Β΄ 12652 Ανακατεύθυνση στη σελίδα [[Πρότυπον:Module link]] 37673 wikitext text/x-wiki #ΑΝΑΚΑΤΕΥΘΥΝΣΗ[[Πρότυπον:Module link]] 6pnujolb984aowt2ibu9hjdmwgwrr3w Πρότυπον:Multiple image/styles.css 10 3766 37674 2026-07-24T11:33:42Z Εὐθυμένης Β΄ 12652 Καινούρεον σελίδαν με '/* {{pp-template}} */ /* this is a block */ .multiimageinner { display: flex; flex-direction: column; } .trow { display: flex; flex-direction: row; clear: left; flex-wrap: wrap; width: 100%; box-sizing: border-box; } /* this is a cell */ .tsingle { margin: 1px; float: left; } .theader { clear: both; font-weight: bold; text-align: center; align-self: center; background-color: transparent; width: 100%; } .thumbcaption { backgroun...' 37674 sanitized-css text/css /* {{pp-template}} */ /* this is a block */ .multiimageinner { display: flex; flex-direction: column; } .trow { display: flex; flex-direction: row; clear: left; flex-wrap: wrap; width: 100%; box-sizing: border-box; } /* this is a cell */ .tsingle { margin: 1px; float: left; } .theader { clear: both; font-weight: bold; text-align: center; align-self: center; background-color: transparent; width: 100%; } .thumbcaption { background-color: transparent; } .text-align-left { text-align: left; } .text-align-right { text-align: right; } .text-align-center { text-align: center; } @media all and ( max-width: 720px ) { .thumbinner { /* not !important usage can be removed when these are no longer inline styles inside Template:Multiple image and media query using min-width is introduced */ width: 100% !important; box-sizing: border-box; max-width: none !important; align-items: center; } .trow { justify-content: center; } .tsingle { /* not !important usage can be removed when these are no longer inline styles inside Template:Multiple image and media query using min-width is introduced */ float: none !important; max-width: 100% !important; box-sizing: border-box; text-align: center; } .tsingle .thumbcaption { text-align: left; } .trow > .thumbcaption { text-align: center; } } @media screen { .multiimageinner .thumbimage { background-color: inherit; } html.skin-theme-clientpref-night .multiimageinner .thumbimage:not([style*="background-color"]) span:not(.skin-invert-image):not(.skin-invert):not(.bg-transparent) img, html.skin-theme-clientpref-day .multiimageinner .thumbimage:not([style*="background-color"]) span:not(.bg-transparent) img { background-color: white; } } @media screen and (prefers-color-scheme: dark) { html.skin-theme-clientpref-os .multiimageinner .thumbimage:not([style*="background-color"]) span:not(.skin-invert-image):not(.skin-invert):not(.bg-transparent) img { background-color: white; } } lf0p4p3o604razcb6ed3kk5mm9lba0y