Βικιπαίδεια
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|}}} |{{{{safesubst:<noinclude />#invoke:separated entries|main|[[Module:{{{1}}}|#invoke:{{{1}}}]]|{{safesubst:<noinclude />#if:{{{2|/}}} |{{safesubst:<noinclude />#if:{{{2|}}}|[[Module:{{{1}}}#{{{2}}}|{{{2}}}]]}} |''function'' }}|separator=|}}}} |{{#invoke:Error|error|Error: Missing module name.}} }}</includeonly><noinclude>{{documentation}}</noinclude>'
37668
wikitext
text/x-wiki
<includeonly>{{safesubst:<noinclude />#if:{{{1|}}}
|{{{{safesubst:<noinclude />#invoke:separated entries|main|[[Module:{{{1}}}|#invoke:{{{1}}}]]|{{safesubst:<noinclude />#if:{{{2|/}}}
|{{safesubst:<noinclude />#if:{{{2|}}}|[[Module:{{{1}}}#{{{2}}}|{{{2}}}]]}}
|''function''
}}|separator=|}}}}
|{{#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
Καινούρεον σελίδαν με ':<noinclude>{{Documentation}}</noinclude>'
37670
wikitext
text/x-wiki
:<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>{{{{{{{|safesubst:}}}#invoke:Separated entries|main|[[Module:{{{1}}}{{{section|}}}|#invoke:{{{1}}}]]|{{{2|''function''}}}|separator=|}}}}</includeonly><noinclude>{{documentation}}<!-- Categories go on the /doc subpage and interwikis go on Wikidata. --> </noinclude>'
37672
wikitext
text/x-wiki
<includeonly>{{{{{{{|safesubst:}}}#invoke:Separated entries|main|[[Module:{{{1}}}{{{section|}}}|#invoke:{{{1}}}]]|{{{2|''function''}}}|separator=|}}}}</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