Vorlagen- programmierung |
Diskussionen | Lua | Test | Unterseiten | ||||||
Modul | Deutsch | English
|
Esperanto | Dolnoserbski | Hornjoserbsce | Modul: | WP:Lua |
URLutil
– Modulo kun funkcioj por signoĉenoj rilate kun interretaj adresoj (URL; IP-adresoj – ankaŭ IPv4 kaj IPv6 – sed ankaŭ retpoŝto). Ankaŭ internaciigitaj adresoj (IRI) estas eblaj.
Supozebla estas utilo por Vikia projekto; do sencoplenaj adresoj en la malferma interreto. Sekvaj specialaj kazoj ne estas programitaj, sed ankaŭ apenaŭ relevantaj:
Funkcioj por ŝablonoj
BearbeitenĈiuj funkcioj havas ekzakte unu nenomitan parametron (sencoplena donenda). Ĉi tiu estas toleranta kontraŭ spacoj antaŭ aŭ post la enhavo.
La redona valoro estas malplena signoĉeno („nenio“), se la parametra valoro ne plenumas la atendojn. Se ĉeestas rezulto aŭ la demanda kondiĉo estas vera, rezultas minimume unu signo. La rezulto ne komenciĝas aŭ finiĝas per interspaca signo.
- getAuthority
- Ekstraktas el risurca URL la servilan stiradon (rezulto minuskle skribata)
- nenio – se neallasebla
- getHost
- Ekstraktas el risurca URL la domajnon aŭ IP-adreson (rezulto minuskle skribata)
- nenio – se neallasebla
- getPort
- Ekstraktas el risurca URL la pordan informon (rezulto numero)
- nenio – se ne ĉeestas
- getScheme
- Ekstraktas el risurca URL la skemon (rezulto minuskle skribata; inklude de duoblaj oblikvaj strekoj)
//
– relativa protokolohttps://
– protokolo- nenio – se komenco de la URL neallasebla
- getTLD
- Ekstraktas el risurca URL la Domajno de plej alta nivelo (rezulto minuskle skribata)
- nenio – se neellasebla
- getTop2domain
- Ekstraktas el risurca URL la plej suprajn du nivelojn de la domajno (rezulto minuskle skribata)
- nenio – se neellasebla
- getTop3domain
-
- nenio – se neellasebla
- isAuthority
- Ĉu ĝi estas la servila adreso (ankaŭ IP) de risurco, inklude de pordo?
1
– jes
- isDomain
- Ĉu ĝi estas nomata domajno, inklude de subdomajnoj?
1
– jes
- isDomainExample
-
1
– jes
- isHost
- Ĉu ĝi estas servila adreso sen pordo (ankaŭ IP)?
1
– jes
- isIPv4
- Ĉu ĝi estas IPv4-adreso en norma notado (per punktoj disigita, decimala)?
1
– jes
- isIPlocal
- isIPv6
- Ĉu ĝi estas IPv6-adreso?
1
– jes
- isMailAddress
- Ĉu ĝi estas retpoŝta adreso?
1
– jes
- isMailLink
- Ĉu ĝi estas retpoŝta ligilo (mailto:)?
1
– jes
- isProtocolDialog
- Ĉu ĝi estas URL / skemo-nomo, kiu povas enkonduki en la Vikio dialogon?
mailto, irc, ircs, ssh, telnet
1
– jes
- isProtocolWiki
- Ĉu ĝi estas URL / skemo-nomo, per kiu povas esti referencata en la Vikio sur risurcon?
- Relativa protokolo sed ankaŭ
ftp ftps git http https mms nntp sftp svn worldwind
- Nedezirataj estas ĉi tie: gopher, wais sed ankaŭ mailto, irc, ircs, ssh, telnet.
1
– jes
- isResourceURL
- Ĉu ĝi estas URL, ĉe kiu ĝenerale povas esti alirata al risurco? Tio estus: relativa protokolo, http, https, ftp kaj krome valida gastiga komputilo (angle Host). Aliaj URL estus imageblaj sur projektaj kaj funkcipaĝoj, sed ne en la enciklopedia tereno.
1
– jes
- isSuspiciousURL
- Ĉu ĝi estas sintakse „suspektinda“ URL, kontraŭ kiu devus esti atentigata?
1
– jes
- isUnescapedURL
- ĉu ĝi estas URL, ĉe kiu ankoraŭ Vikisintakso
[ | ]
devas esti abgefangen werden muss?1
– jes
- isWebURL
- Ĉu ĝi estas valida adreso por risurco (Protokolo ajna)?
1
– jes
- wikiEscapeURL
- Vikisintakso-sekura
[ | ]
escapen.- Identa kun la parametro, se neniu problema signo aperas.
- Anstataŭaĵo de
[ | ]
per retservilo-sekura HTML-Entities, se ekzistas. Dukto en la ŝablona sintakso ne eblas sen problemoj.
- failsafe
The Failsafe interface is heading for version management of globally distributed Lua modules. It enables modules equipped with this interface to
- ensure, that a library module required by a template or another module available as local copy does support certain functionality, or complain if not.
- administrate global updating and linking of module codes via Wikidata.
The Failsafe interface is present both at template level and for direct Lua access.
The functions in detail are (not all supported yet completely by every library):
Value | Result | current |
---|---|---|
nothingfalse
|
local version ID | »2024-11-21« |
Minimal version | version ID required at least date in ISO format It will be compared whether the current local implementation matches this version or later.
|
|
wikidata
|
version ID of global upstream
|
»2024-10-29« |
item
|
ID of the Wikidata item
|
Q10859193
|
~
|
Corresponding version ID locally and registered at Wikidata
|
»2024-10-29« |
@
|
Is the current (module) page linked correctly with Wikidata item?
|
|
The return value is in template programming empty or under Lua false , otherwis a non-empty string as described.
|
Ekzemploj (Testopaĝo)
BearbeitenTestopaĝo ilustras praktikajn ekzemplojn.
Funkcioj por Lua-moduloj
BearbeitenĈiuj supre dokumentitaj funkcioj ankaŭ povas esti enplektataj per require()
en aliajn modulojn:
local lucky, URLutil = pcall( require, "Module:URLutil" )
if type( URLutil ) == "table" then
URLutil = URLutil.URLutil()
else
-- erara kazo; URLutil enhavas erarmesagon
return "<span class='error'>" .. URLutil .. "</span>"
end
Laŭ tio estas je dispono:
- URLutil.getAuthority()
- URLutil.getHost()
- URLutil.getPort()
numera valoro, aŭfalse
- URLutil.getScheme()
- URLutil.getTLD()
- URLutil.getTop2domain()
- URLutil.getTop3domain()
- URLutil.isAuthority()
- URLutil.isDomain()
- URLutil.isDomainExample()
- URLutil.isHost()
- URLutil.isIP()
numera 4, 6, aŭfalse
- URLutil.isIPlocal()
- URLutil.isIPv4()
- URLutil.isIPv6()
- URLutil.isMailAddress()
- URLutil.isMailLink()
- URLutil.isProtocolDialog
- URLutil.isProtocolWiki()
- URLutil.isResourceURL()
- URLutil.isSuspiciousURL()
- URLutil.isUnescapedURL()
- URLutil.isWebURL()
- URLutil.wikiEscapeURL()
En sukcesa kazo la URLutil.get*() redonas signoĉenon, la URLutil.is*() la valoron true
(se ne alie donita); ĉe malsukceso ĉiufoje false
.
Uzado
BearbeitenĜenerala biblioteko; ne limigita.
Dependeco
BearbeitenNeniu.