Modul:link/dok

Definition från Wiktionary, den fria ordlistan.
Hoppa till: navigering, sök

Detta är dokumentationssidan för Modul:link

Syfte[redigera]

Kan användas av moduler eller mallar för att länka en textsträng om det är möjligt, annars lämna den olänkad, samt svara på om en textsträng över huvud taget kan länkas. Hanterar specialfall som "", "-" och "?". Används typiskt av grammmatikmoduler men används med fördel av alla typer av mallar och moduler där motsvarande funktionalitet är väntad.

Användning[redigera]

Från modul:

local lk = require("Modul:link")

local can_create_page      = lk.isValidLinkTarget("sidnamn")     -- true
local cannot_create_page   = lk.isValidLinkTarget("[[sidnamn]]") -- false
local modified_string      = lk.link("sidnamn")                  -- [[sidnamn]]
local unmodified_string    = lk.link("[[sidnamn]]")              -- [[sidnamn]]
local special_case_1       = lk.link("")                         -- &‌nbsp;
local special_case_2       = lk.link("-")                        -- –
local special_case_3       = lk.link("?")                        -- ?
local anchor               = lk.link("[[sidnamn]]", sv)          -- [[sidnamn#Swedish|sidnamn]]

  Från mall:

{{#invoke:link|isValidLinkTarget|sidnamn}}     -- true
{{#invoke:link|isValidLinkTarget|[[sidnamn]]}} -- false
{{#invoke:link|link|sidnamn}}                  -- [[sidnamn]]
{{#invoke:link|link|[[sidnamn]]}}              -- [[sidnamn]]
{{#invoke:link|link|}}                         -- &‌nbsp;
{{#invoke:link|link|-}}                        -- –
{{#invoke:link|link|?}}                        -- ?
{{#invoke:link|link|[[sidnamn]]|sv}}           -- [[sidnamn#Swedish|sidnamn]]

Tester[redigera]

All tests passed. (refresh)

test01_basic:

Text Expected Actual
Passed mut.link("ord") [[ord]] [[ord]]

test02_special_cases:

Text Expected Actual
Passed mut.link("-")
Passed mut.link("?")  ?  ?
Passed mut.link("")    

test03_namespaces:

Text Expected Actual
Passed mut.link(":Kategori:Index") [[:Kategori:Index]] [[:Kategori:Index]]
Passed mut.link("w:Portal:Huvudsida") [[w:Portal:Huvudsida]] [[w:Portal:Huvudsida]]
Passed mut.link(":en:Wiktionary:Main Page") [[:en:Wiktionary:Main Page]] [[:en:Wiktionary:Main Page]]

test04_links_with_special_chars:

Text Expected Actual
Passed mut.link("abc#åäö") [[abc#åäö]] [[abc#åäö]]
Passed mut.link("...") [[...]] [[...]]
Passed mut.link("(") [[(]] [[(]]
Passed mut.link("\"") [["]] [["]]

test05_phrases:

Text Expected Actual
Passed mut.link("compound word") [[compound word]] [[compound word]]
Passed mut.link("[[Surt, sa räven]]") [[Surt, sa räven]] [[Surt, sa räven]]
Passed mut.link("[[Surt, sa räven om rönnbären.]]") [[Surt, sa räven om rönnbären.]] [[Surt, sa räven om rönnbären.]]
Passed mut.link("[[veni, vidi, vici]]") [[veni, vidi, vici]] [[veni, vidi, vici]]

test06_multiword:

Text Expected Actual
Passed mut.link("ord1, ord2") [[ord1]], [[ord2]] [[ord1]], [[ord2]]
Passed mut.link("[[ord1]], ord2") [[ord1]], [[ord2]] [[ord1]], [[ord2]]
Passed mut.link("[[frasord1, frasord2]], ord1, [[ord2]]") [[frasord1, frasord2]], [[ord1]], [[ord2]] [[frasord1, frasord2]], [[ord1]], [[ord2]]

test07_already_linked_should_not_double_link:

Text Expected Actual
Passed mut.link("[[ord]]") [[ord]] [[ord]]
Passed mut.link("[[ord|text]]") [[ord|text]] [[ord|text]]
Passed mut.link("[[ord]]<sup>1</sup>") [[ord]]<sup>1</sup> [[ord]]<sup>1</sup>

test08_invalid_titles:

Text Expected Actual
Passed mut.link(".") . .
Passed mut.link("..") .. ..
Passed mut.link(":") : :
Passed mut.link("> abc") > abc > abc

test09_anchors:

Text Expected Actual
Passed mut.link("[[ord]]", "en") [[ord#Engelska|ord]] [[ord#Engelska|ord]]
Passed mut.link("ord", "en") [[ord#Engelska|ord]] [[ord#Engelska|ord]]
Passed mut.link("[[ord1]], ord2", "en") [[ord1#Engelska|ord1]], [[ord2#Engelska|ord2]] [[ord1#Engelska|ord1]], [[ord2#Engelska|ord2]]
Passed mut.link("[[w:ord]]", "en") [[w:ord]] [[w:ord]]
Passed mut.link("[[Wiktionary:ord]]", "en") [[Wiktionary:ord]] [[Wiktionary:ord]]
Passed mut.link("[[mumsa i|mumsa i sig]]", "en") [[mumsa i#Engelska|mumsa i sig]] [[mumsa i#Engelska|mumsa i sig]]
Passed mut.link("[[Sverige]]s", "sv") [[Sverige#Svenska|Sverige]]s [[Sverige#Svenska|Sverige]]s
Passed mut.link("[[skratte#Bokmål|skratte]]", "no") [[skratte#Bokmål|skratte]] [[skratte#Bokmål|skratte]]
Passed mut.link("[[Surt, sa räven|Nåt helt annat]]") [[Surt, sa räven|Nåt helt annat]] [[Surt, sa räven|Nåt helt annat]]
Passed mut.link("[[veni, vidi, vici|nåt helt annat]]") [[veni, vidi, vici|nåt helt annat]] [[veni, vidi, vici|nåt helt annat]]
Passed mut.link("[[Surt, sa räven|Nåt helt annat]]", "en") [[Surt, sa räven#Engelska|Nåt helt annat]] [[Surt, sa räven#Engelska|Nåt helt annat]]
Passed mut.link("[[veni, vidi, vici|nåt helt annat]]", "en") [[veni, vidi, vici#Engelska|nåt helt annat]] [[veni, vidi, vici#Engelska|nåt helt annat]]
Passed mut.link("[[abc▶]]", "en") [[abc&#9654;#Engelska|abc&#9654;]] [[abc&#9654;#Engelska|abc&#9654;]]
Passed mut.link("[[abc▶]]", "en") [[abc&#x25b6;#Engelska|abc&#x25b6;]] [[abc&#x25b6;#Engelska|abc&#x25b6;]]

test10_do_not_add_anchor_if_pagename_equals_word:

Text Expected Actual
Passed mut.link("link/dok", "en") [[link/dok]] [[link/dok]]
Passed mut.link("[[link/dok]]", "en") [[link/dok]] [[link/dok]]
Passed mut.link("link/dok, [[link/dok]]", "en") [[link/dok]], [[link/dok]] [[link/dok]], [[link/dok]]

test11_entry_name_should_be_used:

Text Expected Actual
Passed mut.link("abdērītānus", "la") [[abderitanus#Latin|abdērītānus]] [[abderitanus#Latin|abdērītānus]]
Passed mut.link("[[abdērītānus]]", "la") [[abderitanus#Latin|abdērītānus]] [[abderitanus#Latin|abdērītānus]]
Passed mut.link("[[abdērītānus#Latin|madeup]]", "la") [[abderitanus#Latin|madeup]] [[abderitanus#Latin|madeup]]