Uzanto:Tlustulimu/lua

El Vikipedio, la libera enciklopedio


Ĉi tiu paĝo enhavu liston de ŝablonoj, kies angla aŭ franca versio jam uzas Lua. Post ties aktivigo ĉi tie, ni povos fari same.

Listo[redakti | redakti fonton]

Wikidata[redakti | redakti fonton]

  • Ĉu iel iom post iom eblas substitui la uzon de Wikidata2 en diversaj ŝablonoj (bonŝance ankoraŭ malmultaj) per nia kutima modulo {{Wikidata}}? Sed tutcerte iel necesus aldonoj.

Novaj[redakti | redakti fonton]

Ili parte bezonas dokumentadon:

Vikivojaĝo[redakti | redakti fonton]

Eĉ en la germana Vikivojaĝo estas interesaj moduloj:

Jen ŝablono kun Lua-subteno:

Testilo por parametroj:

Pliaj:

Provoj[redakti | redakti fonton]

Interesaj kodoj[redakti | redakti fonton]

Analizas signoĉenon, ĉu ĝi enhavas ligilon:

 s = v:match( "%[%[[^|%]]*| *([^%]]+) *%]%]" )
 if not s then
     s = v:match( "%[%[%s*([^%]]+)%s*%]%]" )
 end
 if not s then
     s = v
 end
  • Die erste Klammer heißt übersetzt: Setze s, wenn etwas gefunden wird, das
    • "[["
    • + allerlei, das weder | noch ] ist
    • + Pipe
    • + potentielle Leerzeichen
    • + MERKEN→s: allerlei, das keine ] ist
    • + potentielle Leerzeichen
    • + "]]"

Rekte en la funkcio:

local s
for k,v in pairs(strings) do
    s = v:match( "%[%[[^|%]]*| *([^%]]+) *%]%]" )
    if not s then
        s = v:match( "%[%[%s*([^%]]+)%s*%]%]" )
    end
    if not s then
        s = v
    end
    output[k] = '[[Kategorio:' .. cat .. ' ' .. mw.text.trim(s)
    if key and key ~= "" then
        output[k] = output[k] .. '|' .. key
    end
    output[k] = output[k] .. ']]'
end

En aparta funkcio:

local function f(v, cat, key)
    local s
    s = v:match( "%[%[[^|%]]*| *([^%]]+) *%]%]" )
    if not s then
        s = v:match( "%[%[%s*([^%]]+)%s*%]%]" )
    end
    if not s then
        s = v
    end
    s = '[[Kategorio:' .. cat .. ' ' .. mw.text.trim(s)
    if key and key ~= "" then
        s = s .. '|' .. key
    end
    return s .. ']]'
end 

for k,v in pairs(strings) do
    output[k] = f(v, cat, key)
end

Lua-moduloj Coordinates kaj Coordinates2[redakti | redakti fonton]

Testoj[redakti | redakti fonton]

# {{Koordinato|NS=11/30/0/N|EW=153/26/0/W|text=DEC|name=testo|type=landmark}}
# {{Koordinato|NS=11/30/0/N|EW=153/26/0/W|text=DEC/DMS|name=testo|type=landmark}}
# {{Koordinato|NS=11/30/0/N|EW=153/26/0/W|text=situo|name=testo|type=landmark}}
# {{Koordinato|NS=11/30/0/N|EW=153/26/0/W|text=situo<!--|name=testo-->|type=landmark}}

* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DEC}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DEC|name=testo}}
** {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DEC/DMS}}
** {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=situo|name=testo|type=landmark}}

redonas:

  1. 11,5° N, 153,433333° U (mapo)11.5-153.43333333333
  2. 11,5° N, 153,433333° U; (11° 30′ 0″ N, 153° 26′ 0″ U) (mapo)11.5-153.43333333333
  3. situo (mapo)11.5-153.43333333333
  4. neniu name-parametro en fluteksta koordinatosituo (mapo)11.5-153.43333333333

Pliaj testoj[redakti | redakti fonton]

{{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DEC}}

{{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DMS}}

{{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=situo}}

redonas:

11.50000 °N, 153.43333 °U

11.50000-153.43333

11° 30′ 0″ N 153° 26′ 0″ U

11.50000-153.43333

situo

11.50000-153.43333


Pozicio de "geo microformat"[redakti | redakti fonton]

{{#Invoke:Coordinates2/provejo|coordinates|NS=11,5|EW=-153,43333333333}}
{{#Invoke:Coordinates2/provejo|coordinates|NS=11,5|EW=-153,43333333333|text=/}}
  • En la teksto estas ĝusta, sed en la kaplinio estas stulte interŝovata. Mi devos serĉi solvon. La problemo nur videblas per la ŝablona etendilo. Jam solvita

Plia eldonformatoj[redakti | redakti fonton]

CH1903[redakti | redakti fonton]

Svislandaj landaj koordinatoj jam povas esti eligataj.

* {{Koordinato |latitudo=46.27 |longitudo=6.95 |type=landmark |region=CH|text=/|name=ekzemplo}}
* {{Koordinato/provejo |latitudo=46.27 |longitudo=6.95 |type=landmark |region=CH|text=ch1903}}
* {{#Invoke:Coordinates/provejo | dec2ch1903 |test|46.27|6.95|0}}

redonas:

CH1903: 562330 / 124404

46.276.95
  • CH1903: 562330 / 124404
* {{#Invoke:Coordinates2/provejo|coordinates|NS=46/16/12/N|EW=6/57/0/O|text=CH1903}}
* {{#Invoke:Coordinates/provejo|dms2ch1903|N|46|16|12|O|6|57|0}}
* {{#Invoke:Coordinates/provejo|dms2ch1903|46/16/12/N|6/57/0/O}}
* {{Koord/provejo|46|16|12|N|6|57|0|O|montru=entekste|formato=CH1903}}
* {{Koord/provejo|46|16|12|N|6|57|0|O|montru=entekste|formato=CH1903|mode=de}}
* {{Koord/provejo|46/16/12/N|6/57/0/O|montru=entekste|formato=CH1903|mode=de}}

redonas:

La ekzemplo pri {{Koord/provejo}} nur funkcias kun eligo en CH1903-formato, se oni krome uzas la parametron mode=de.

* {{#Invoke:Coordinates/provejo|dms2ch1903|46.27|6.95}}

redonas:

  • CH1903: 562330 / 124404

Tio estas iomete paradoksa, ĉar la eniga formato estas decimala. Tamen la rezulto estas en ordo.

UTM[redakti | redakti fonton]

* {{#Invoke:Coordinates/provejo|dec2utm|test|46.27|6.95|0}}
* {{#Invoke:Coordinates/provejo|dms2utm|46/16/12/N|6/57/0/O}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=46/16/12/N|EW=6/57/0/O|text=UTM}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=46.27000|EW=6.95000|text=UTM}}

redonas:

ICON0, ICON, ICON1, ICON2[redakti | redakti fonton]

* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=ICON0}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=ICON}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=ICON1}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=ICON2}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=icon2}}

redonas:

  • 11.50000-153.43333
  • 11.50000-153.43333
  • 11.50000-153.43333
  • loko
    11.50000-153.43333
  • loko
    11.50000-153.43333

sortkey[redakti | redakti fonton]

Finfine eĉ ordigilo estas aranĝata. Sed testo pri la ordigo ankoraŭ devos okazi.

* {{Koordinato |text=/ |latitudo=38.103267 |longitudo=58.207401 |type=landmark |region=TM-A |name=testo|sortkey=NS}}
* {{Koordinato |text=/ |latitudo=38.103267 |longitudo=58.207401 |type=landmark |region=TM-A |name=testo|sortkey=EW}}

* {{Koordinato/provejo |text=/ |latitudo=38.103267 |longitudo=58.207401 |type=landmark |region=TM-A |name=testo|sortkey=NS}}
* {{Koordinato/provejo |text=/ |latitudo=38.103267 |longitudo=58.207401 |type=landmark |region=TM-A |name=testo|sortkey=EW}}

# {{#Invoke:Coordinates2/provejo|coordinates |text=/ |NS=38.103267 |EW=58.207401 |type=landmark |region=TM-A |name=testo|sortkey=EW}}

redonas:

!538.103268558.20740238° 06′ 12″ N 58° 12′ 27″ O

38.10326758.207401

!558.207402538.10326838° 06′ 12″ N 58° 12′ 27″ O

38.10326758.207401
  1. !558.207402538.10326838° 06′ 12″ N 58° 12′ 27″ O
    38.10326758.207401

La ordigilo nur videblas en la HTML-fontokodo, ĉar ĝi estas kaŝata per CSS.

Pliaj formatoj[redakti | redakti fonton]

Nur en la teksto
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DEC/DMS}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=/DEC}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=46/16/12/N|EW=6/57/0/O|text=DEC/CH1903}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=46/16/12/N|EW=6/57/0/O|text=DMS/CH1903}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=46/16/12/N|EW=6/57/0/O|text=/CH1903}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=46/16/12/N|EW=6/57/0/O|text=CH1903/}}

redonas:

Nur en la titola linio
En la teksto kaj la titola linio

Tio finfine funkcias kiel per la ŝablono.

<!--* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DEC/DMS|article=/}} -->
<!--{{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=/|article=DEC/DMS}}-->
<!--* {{#Invoke:Coordinates2/provejo|coordinates|NS=46/16/12/N|EW=6/57/0/O|text=DEC/CH1903|article=DEC/DMS}}-->

Kombino nun bone funkcias. Kialo estis foresto de helpa parametro. --Tlustulimu (diskuto) 08:11, 14 Jul. 2013 (UTC)

pop kaj elevation[redakti | redakti fonton]

* {{#Invoke:Coordinates2/provejo|coordinates|NS=43/29/4/N|EW=79/23/0/U|type=city|pop=500000|text=/}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=43/29/4/N|EW=79/23/0/U|type=city|pop=500000.45|text=/}}

redonas:

Do, la valoro de la parametro pop nur estas aldonata al la informo pri type, se ĝi estas senkoma, pozitiva nombro.

* {{#Invoke:Coordinates2/provejo|coordinates|NS=43/29/4/N|EW=79/23/0/U|type=mountain|elevation=500.25|text=/}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=43/29/4/N|EW=79/23/0/U|type=mountain|elevation=500,25|text=/}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=43/29/4/N|EW=79/23/0/U|type=mountain|elevation=-500.25|text=/}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=43/29/4/N|EW=79/23/0/U|type=mountain|elevation=-500,25|text=/}}

redonas:

La valoro de la parametro elevation estas nur aldonata al la informo pri type, se ĝi havas du ciferojn post la punkto. Tio signifas krome, ke punkto ne povas esti uzata por apartigi milojn. Ĉe elevation alternative eĉ eblas skribi komon anstataŭ punkto. La skripto ŝanĝas tion al punkto, ĉar "Geohack" komprenas nur tion.

globe[redakti | redakti fonton]

* {{#invoke:Coordinates|coord|9.7|-20.0|globe:moon}}
* {{#invoke:Coordinates2/provejo|coordinates|NS=9.7|EW=-20.0|globe=moon|text=/}}
* {{#invoke:Coordinates2/provejo|coordinates|NS=9.7|EW=-20.0|globe=luno|text=/}}

redonas:

Decimala[redakti | redakti fonton]

* {{#Invoke:Coordinates2/provejo|coordinates|NS=11/30/0/N|EW=153/26/0/W|text=DEC}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11.5|EW=-153.43333|text=DEC}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11,5|EW=-153,43333|text=DEC}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11,5|EW=-153,43333|text=/}}

redonas:

Ekzemploj el la dokumentado[redakti | redakti fonton]

Per la ŝablono
* {{Koordinato|NS=46.8086|EW=9.9891|text=DM|name=testo|type=landmark|region=CH}}
* {{Koordinato|NS=46.8086|EW=9.9891|text=UTM|name=testo|type=landmark|region=CH}}
* {{Koordinato|NS=46.8086|EW=9.9891|text=CH1903|name=testo|type=landmark|region=CH}}
* {{Koordinato|NS=46.8086|EW=9.9891|text=/|name=testo|type=landmark|region=CH}}

redonas

Per la proveja ŝablono
* {{Koordinato/provejo|NS=46.8086|EW=9.9891|text=DM|name=testo|type=landmark|region=CH}}
* {{Koordinato/provejo|NS=46.8086|EW=9.9891|text=UTM|name=testo|type=landmark|region=CH}}
* {{Koordinato/provejo|NS=46.8086|EW=9.9891|text=CH1903|name=testo|type=landmark|region=CH}}
* {{Koordinato/provejo|NS=46.8086|EW=9.9891|text=/|name=testo|type=landmark|region=CH}}

redonas

46.8086 °N, 9.9891 °O

46.80869.9891

UTM: Zono 32T, 575465 / 5184370

46.80869.9891

CH1903: 794637 / 187324

46.80869.9891

46° 48′ 31″ N 9° 59′ 21″ O

46.80869.9891

korektenda!

Koordinatoj kaj kategorioj[redakti | redakti fonton]

Kun decimalaj valoroj funkcias
{{#Invoke:Coordinates2|coordinates|NS=11,5|EW=-153,43333333333|text=/}}
{{#Invoke:Coordinates2|coordinates|NS=11,5|EW=-153,43333333333|category=yes}}

fariĝas 11° 30′ 00″ N 153° 26′ 00″ U11.5-153.43333333333

Kun GMS sen direkto ne funkcias
{{#Invoke:Coordinates2|coordinates|NS=54/5/26|EW=19/13/1|text=/}}
{{#Invoke:Coordinates2|coordinates|NS=54/5/26|EW=19/13/1|category=yes}}

redonas Koordinatoj: Nekonata argumenta formato
Koordinatoj: Nekonata argumenta formato
Koordinatoj: Nekonata argumenta formato

Kun GMS sen direkto jam en la proveja versio funkcias
* {{#Invoke:Coordinates2/provejo|coordinates|NS=54/5/26|EW=19/13/1|text=/}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=54/5/26|EW=19/13/1|category=yes}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=54/5/26/S|EW=19/13/1|text=/}}
* {{#Invoke:Coordinates2/provejo|coordinates|NS=54/5/26|EW=19/13/1/W|text=/}}

redonas

  • Koordinatoj: Nekonata argumenta formato
  • Koordinatoj: Nekonata argumenta formato
  • Koordinatoj: Nekonata argumenta formato
  • Koordinatoj: Nekonata argumenta formato

Koord[redakti | redakti fonton]

* {{Koord/provejo|46/16/12/N|6/57/0/O|montru=entekste|formato=CH1903|mode=de}}
* {{Koord/provejo|46/16/12|6/57/0|montru=entekste|formato=CH1903|mode=de}}

redonas

Kun mapo[redakti | redakti fonton]

{{Koordinato/provejo |mapo=dekstre |latitudo=38.103267 |longitudo=58.207401 |type=landmark |region=TM-A
|mapogrando=250px}}
{{Koordinato |mapo=dekstre |latitudo=38.103267 |longitudo=58.207401 |type=landmark |region=TM-A
|mapogrando=250px}}
{{Koordinato |mapo=dekstre |latitudo=38.103267 |longitudo=58.207401 |type=landmark |region=TM-A
|mapogrando=250px | teksto=/}}

redonas

38.10326758.207401
Uzanto:Tlustulimu/lua (Tero)
Uzanto:Tlustulimu/lua (Tero)
DEC
Uzanto:Tlustulimu/lua
Uzanto:Tlustulimu/lua
Uzanto:Tlustulimu/lua
Uzanto:Tlustulimu/lua
Tlustulimu/lua (Turkmenio)
Tlustulimu/lua (Turkmenio)
DEC
Tlustulimu/lua
Tlustulimu/lua
Tlustulimu/lua
38.10326758.207401
Tlustulimu/lua (Turkmenio)
Tlustulimu/lua (Turkmenio)
DEC
Tlustulimu/lua
Tlustulimu/lua
Tlustulimu/lua

neniu name-parametro en fluteksta koordinato38° 6′ 12″ N, 58° 12′ 27″ O (mapo)38.10326758.207401

Tlustulimu/lua (Turkmenio)
Tlustulimu/lua (Turkmenio)
DEC
Tlustulimu/lua
Tlustulimu/lua
Tlustulimu/lua


Per Lua
* {{#Invoke:Coordinates2/provejo|coordinates|NS=11,5|EW=-153,43333|map=left}}

redonas