Ĉ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

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.

Novaj redakti

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.

UTM redakti

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

globe redakti

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

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


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

redonas