Van Wikipedia
; Wikipedia-style Linking, Version 2.3.0
; Originally created by MadEwokHerd, modified by nobody and Mark_Ryan,
; cleaned up by toad, majorly improved by Timwi, added extra functions by Netoholic
; fixed by Masterhomer, commons link fix by CryptoDerk
; (now supports links with m:, meta:, commons:, WP:, {{template}}, and language codes)
; color stripping added by MadEwokHerd at CryptoDerk's request
on ^*:hotlink:*:*:{
tokenize 32 $strip($1-)
set %hotline $strip($hotline)
if (*[[* iswm $1) || (*]]* iswm $1) || ($+(*,[,[,*,$1,*,],],*) iswm %hotline) { return }
elseif (*{{* iswm $1) || (*}}* iswm $1) || ($+(*,\{,\{,*,$1,*,\},\},*) iswm %hotline) { return }
else { halt }
}
on *:hotlink:*:*:{
tokenize 32 $strip($1-)
set %hotline $strip($hotline)
var %page,%template,%dummy,%dummy2,%dummyc,%openb,%closeb
if (*[[* iswm $1) || (*]]* iswm $1) || ($+(*,[,[,*,$1,*,],],*) iswm %hotline) {
%openb = $pos($1,[[)
%closeb = $pos($1,]])
if (%openb == $null) {
if (%closeb == $null) {
%dummy = $regex(%hotline,\[\[([^\]]* $+ $1 $+ [^\]]*)\]\])
}
else {
%dummyc = %closeb - 1
%dummy = $regex(%hotline,\[\[([^\]]* $+ $left($1,%dummyc) $+ )\]\])
}
}
elseif (%closeb == $null) {
%dummyc = $len($1) - %openb
%dummyc = %dummyc - 1
%dummy = $regex(%hotline,\[\[( $+ $right($1,%dummyc) $+ [^\]]*)\]\])
}
else {
%dummy = $regex($1,\[\[([^\]]*)\]\])
}
}
else {
%template = yes
%openb = $pos($1,{{)
%closeb = $pos($1,}})
if (%openb == $null) {
if (%closeb == $null) {
%dummy = $regex(%hotline,\{\{([^\}]* $+ $1 $+ [^\}]*)\}\})
}
else {
%dummyc = %closeb - 1
%dummy = $regex(%hotline,\{\{([^\}]* $+ $left($1,%dummyc) $+ )\}\})
}
}
elseif (%closeb == $null) {
%dummyc = $len($1) - %openb
%dummyc = %dummyc - 1
%dummy = $regex(%hotline,\{\{( $+ $right($1,%dummyc) $+ [^\}]*)\}\})
}
else {
%dummy = $regex($1,\{\{([^\}]*)\}\})
}
}
%page = $regml(1)
if (%template == yes) { %page = Sjabloon: $+ %page }
if ($left(%page,2) == m:) {
%dummy2 = $len(%page) - 2
url -an http://meta.wikimedia.org/wiki/ $+ $replace($right(%page,%dummy2),$chr(32),_)
}
elseif ($left(%page,5) == meta:) {
%dummy2 = $len(%page) - 5
url -an http://meta.wikimedia.org/wiki/ $+ $replace($right(%page,%dummy2),$chr(32),_)
}
elseif ($left(%page,8) == commons:) {
%dummy2 = $len(%page) - 8
url -an http://commons.wikimedia.org/wiki/ $+ $replace($right(%page,%dummy2),$chr(32),_)
}
elseif ($left(%page,3) == WP:) {
%dummy2 = $len(%page) - 3
url -an http://nl.wikipedia.org/wiki/ $+ $replace(%page,$chr(32),_)
}
elseif ($right($left(%page,3),1) == :) {
%dummy2 = $len(%page) - 3
url -an http:// $+ $left(%page,2) $+ .wikipedia.org/wiki/ $+ $replace($right(%page,%dummy2),$chr(32),_)
}
elseif ($right($left(%page,4),1) == :) {
%dummy2 = $len(%page) - 4
url -an http:// $+ $left(%page,3) $+ .wikipedia.org/wiki/ $+ $replace($right(%page,%dummy2),$chr(32),_)
}
else {
url -an http://nl.wikipedia.org/wiki/ $+ $replace(%page,$chr(32),_)
}
}