Ĉ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.

Wikidata

redakti
  • Ĉ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.

Ili parte bezonas dokumentadon:

Vikivojaĝo

redakti

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

Jen ŝablono kun Lua-subteno:

Testilo por parametroj:

Pliaj:

Provoj

redakti

Interesaj kodoj

redakti

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

Testoj

redakti
# {{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
{{#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
{{#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

CH1903

redakti

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.

* {{#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
* {{#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
  •  
    11.50000-153.43333
  •  
    11.50000-153.43333

sortkey

redakti

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
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
* {{#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.

* {{#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
* {{#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
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
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/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
{{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)
DEC
Uzanto:Tlustulimu/lua
Uzanto:Tlustulimu/lua
 
Tlustulimu/lua (Turkmenio)
DEC
Tlustulimu/lua
38.10326758.207401
 
Tlustulimu/lua (Turkmenio)
DEC
Tlustulimu/lua

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

 
Tlustulimu/lua (Turkmenio)
DEC
Tlustulimu/lua


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

redonas