Vorlagen-
programmierung
Diskussionen Lua Test Unterseiten
Modul Deutsch English

Esperanto Dolnoserbski Hornjoserbsce Modul: WP:Lua

URLutil – Modul z funkcijami za rědy znamješkow, kótarež se na internetowe adrese (URL póśěgnu; IP-adrese – teke IPv4 a IPv6 – ale teke e-mejlka). Teke internacionalizěrowane adrese (IRI) su móžne.

Grońmy raz až jo wužytk za Wikijowy projekt; toś zmysłapołne adrese we wótwórjonem interneśe. Slědujuce specialne pady njejsu programěrowane, ale teke lěbda relewantne:

  • IPv4-adresa nic w normalnej notaciji (z dypkami rozdźělone, decimalne)
  • URL z IPv6-Host (spinkowane; njekongruěrujo derje z Wikijoweju syntaksu)
  • Authority z username

Funkcije za pśedłogi Bearbeiten

Wše funkcije maju eksaktnje jaden njemjenjowany parameter (zmysłapołnje se musy daty). Toś ten jo tolerantny pśeśiwo proznym znamješkam pśed abo pó wopśimjeśu.

Gódnota slědkdaśa jo prozna rěd znamješkow („nic“), jolic gódnota parametra njedopołnijo wócakowanja. Jolic dajo rezultat abo pšašańske wuměnjenje jo pšawne, rezultěrujo minimalnje jadne znamje. Rezultat njezachopijo abo se kóńcy z proznym znamješkom.

getAuthority
Ekstrahěrujo z ressource URL chylanje serwera (rezultat pisany w małkich pismikach)
  • nic – jolic njedowólony
getHost
Ekstrahěrujo z ressource-URL domainom abo IP-adresu (rezultat pisany w małkich pismikach)
  • nic – jolic njedowólony
getPort
Ekstrahěrujo z ressource-URL informaciju wó porśe (rezultat licba)
  • nic – jolic njedajo
getScheme
Ekstrahěrujo z ressource-URL šemu (rezultat pisany w małkich pismikach; inkluziwnje dwójnych nakósnych smužkow)
  • // – relatiwny protokol
  • https:// – protokol
  • nic – jolic zachopjeńk URL njedowólony
getTLD
Ekstrahěrujo z ressource-URL Top-Level-Domain (rezultat pisany w małkich pismikach)
  • nic – jolic njedowólony
getTop2domain
Ekstrahěrujo z ressource-URL nejwěcej górnej wobej niwowa domaina (rezultat pisany w małkich pismikach)
  • nic – jolic njedowólony
getTop3domain
  • nic – jolic njedowólony
isAuthority
Wón jo adresa serwera (teke IP) ressource, inkluziwnje porta?
  • 1jo
isDomain
Wón jo mjenjowany domain, inkluziwnje subdomainow?
  • 1jo
isDomainExample
  • 1jo
isHost
Wón jo adresa serwera bźez porta (teke IP)?
  • 1jo
isIP
Wón jo IP-adresa?
  • 4 jolic IPv4 (w normalnej notaciji)
  • 6 jolic IPv6
  • nic – howacej
isIPlocal
isIPv4
Wón jo IPv4-adresa w normalnej notaciji (z dypkami rozdźělona, decimalna)?
  • 1jo
isIPv6
Wón jo IPv6-adresa?
  • 1jo
isMailAddress
Wón jo adresa e-mejlki?
  • 1jo
isMailLink
Wón jo wótkaz na e-mejlku (mailto:)?
  • 1jo
isProtocolDialog
Wón jo URL / mě šemy, kótarež móžo we Wikiju dialog zachopiś?
mailto, irc, ircs, ssh, telnet
  • 1jo
isProtocolWiki
Wón jo URL / mě šemy, z kótaremž se móžo referencěrowaś we Wikiju na ressource?
Relatiwny protokol ale teke ftp ftps git http https mms nntp sftp svn worldwind
Nježycane su how: gopher, wais ale teke mailto, irc, ircs, ssh, telnet.
  • 1jo
isResourceURL
Wón jo URL, pśi kótarejž powšyknje se móžo pśistup měś k ressource? To groni: relatiwny protokol, http, https, ftp a mimo togo płaśiwy gósćinarski kompjuter (engelski Host). Druge URL by k pśedstajenju na projektowych a funkcijskich bokach, ale nic w encyklopediskem terenje.
  • 1jo
isSuspiciousURL
Wón jo syntaktiski „pódglědny“ URL, pśeśiwo kótarejž se by musy warnowaś?
  • 1jo
isUnescapedURL
Wón jo URL, pśi kótarejž hyšći Wikisyntaksa [ | ] se musy wótpadnuś?
  • 1jo
isWebURL
Wón jo płaśiwa adresa za ressource (Protokol někaki)?
  • 1jo
wikiEscapeURL
K Wikisyntaksej zawěsće [ | ] escapowaś.
  • Identiski z parametrom, jolic žedne problematiske znamješka wustupuju.
  • Narownanje wót [ | ] pśez za webserwer wěste HTML-Entities, jolic eksistěrujuce. Pipe njejo w syntaksy pśedłogi bźez problemow móžne.
failsafe

Die Failsafe-Schnittstelle erlaubt den damit ausgerüsteten Modulen in globaler Verteilung

  • sicherzustellen, dass eine von einer Vorlage oder einem Modul benötigte Funktion in der lokalen Kopie eines Bibliotheksmoduls vorhanden ist, und ggf. auch in einer erforderlichen Mindestversion;
  • die globale Aktualisierung und Verknüpfung von Modulen über Wikidata zu verwalten.

Die Failsafe-Schnittstelle liegt sowohl auf Ebene der Vorlagen wie auch in direktem Lua-Zugriff vor.

Die Funktionen sind im Einzelnen (nicht alle werden bereits überall in vollem Umfang unterstützt):

Parameter
Wert Ergebnis aktuell
nichts
false
lokale Version »2022-04-05«
Mindest­version Mindestversionsbezeichnung
Datum im ISO-Format

Es wird verglichen, ob das aktuelle Modul diese Version oder später erfüllt.

  • leer, falls Mindestversion nicht erfüllt
  • 2001-01-01 → »2022-04-05«
  • 2099-01-01 → »«
wikidata Versionsbezeichnung der globalen Mutter (d:Q10859193)
  • Versionsbezeichnung auf Wikidata
  • lokal, falls dort keine gefunden
»2022-04-05«
item ID des Wikidata-Items
  • leer, falls nicht definiert
»Q10859193«
~ Übereinstimmung der lokalen mit der auf Wikidata registrierten Versionsbezeichnung
  • leer, falls aktuell
  • Versionsbezeichnung auf Wikidata, falls ungleich
»«
@ Ist die aktuelle (Modul-)Seite richtig mit Wikidata verknüpft?
  • leer, falls mit dem richtigen Item verknüpft
  • Item-ID, falls nicht
»Q10859193«
Der Rückgabewert ist in der Vorlagenprogrammierung leer und per Lua false; andernfalls die angegebene Zeichenkette.

Pśikłady (testowy bok) Bearbeiten

Testowy bok ilustrěrujo praktiske pśikłady.

Funkcije za Lua-module Bearbeiten

Wše górjejce dokumentěrowane funkcije se teke mógu zawězowaś z require() do drugich modulow:

local lucky, URLutil = pcall( require, "Module:URLutil" )
if type( URLutil ) == "table" then
    URLutil = URLutil.URLutil()
else
    -- zmólkowu pad; URLutil wopśimjejo powěsć zmólki
    return "<span class='error'>" .. URLutil .. "</span>"
end

Pó tom su k dispoziciji:

  • URLutil.getAuthority()
  • URLutil.getHost()
  • URLutil.getPort()
    numeriska gódnota, abo false
  • URLutil.getScheme()
  • URLutil.getTLD()
  • URLutil.getTop2domain()
  • URLutil.getTop3domain()
  • URLutil.isAuthority()
  • URLutil.isDomain()
  • URLutil.isDomainExample()
  • URLutil.isHost()
  • URLutil.isIP()
    numeriski 4, 6, abo 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()
  • URLutil.failsafe()

W paźe wuspěcha URLutil.get*() wrośi rěd znamješkow, URLutil.is*() gódnotu true (jolic nic howacej daty); pśi njewuspěchu kuždy raz false.

Wužyśe Bearbeiten

Powšykna biblioteka; njewobgranicowana.

Wótwisnosć Bearbeiten

Žedna.