Wiki Article

Module:Link summary

Nguồn dữ liệu từ Wikipedia, hiển thị bởi DefZone.Net

require("strict")
local str = require("Module:String")

local p = {}

-- Template with placeholders: {{DOMAIN}} for domain, {{ENCODED}} for URL-encoded domain
local template = [=[
{{DOMAIN}}:
<small>
Linksearch [[Special:LinkSearch/*.{{DOMAIN}}|en]] [[Special:Search/insource:%22{{DOMAIN}}%22|(insource)]] -
[[:m:Special:LinkSearch/*.{{DOMAIN}}|meta]] -
[[:de:Special:LinkSearch/*.{{DOMAIN}}|de]] -
[[:fr:Special:LinkSearch/*.{{DOMAIN}}|fr]] -
[[:simple:Special:LinkSearch/*.{{DOMAIN}}|simple]] -
[[:wikt:en:Special:LinkSearch/*.{{DOMAIN}}|wikt:en]] -
[[:wikt:fr:Special:LinkSearch/*.{{DOMAIN}}|wikt:fr]] •
[https://spamcheck.toolforge.org/by-domain?q={{DOMAIN}} Spamcheck] •
[https://blocked-links-log.toolforge.org/index.pl?url={{DOMAIN}} blacklist hits] •
[https://wikipediatools.appspot.com/linksearch.jsp?link={{DOMAIN}} MER-C X-wiki] •
[https://global-search.toolforge.org/?q={{ENCODED}} gs] •
Reports: [[WP:WikiProject_Spam/LinkSearch/{{DOMAIN}}|Links on en]] -
[[WP:WikiProject Spam/LinkReports/{{DOMAIN}}|COIBot]] -
[[WP:WikiProject Spam/Local/{{DOMAIN}}|COIBot-Local]] •
Discussions: [[Special:WhatLinksHere/Wikipedia:WikiProject_Spam/LinkReports/{{DOMAIN}}|tracked]] -
[{{ADVANCED}} advanced] -
[{{RSN}} RSN] •
COIBot-[[:m:User:COIBot/LinkReports/{{DOMAIN}}|Link]],
[[:m:User:COIBot/Local/{{DOMAIN}}|Local]], &
[[:m:User:COIBot/XWiki/{{DOMAIN}}|XWiki]] Reports -
Wikipedia: [[Special:Search/{{DOMAIN}}|en]] - [[:fr:Special:Search/{{DOMAIN}}|fr]] - [[:de:Special:Search/{{DOMAIN}}|de]] •
Google: [https://www.google.com/search?num=100&hl=en&rls=en&q={{DOMAIN}} search] •
[https://www.google.com/search?num=100&hl=en&rls=en&q={{DOMAIN}}+site:wikimedia.org meta] •
Domain: [https://whois.domaintools.com/{{DOMAIN}} domaintools] •
[https://aboutus.com/{{DOMAIN}} AboutUs.com]
</small>
]=]

function p.main(frame)
    -- Get the domain from the first argument
    local domain = frame:getParent().args[1] or ''
    return p.summary(domain)
end

function p.summary(domain)
    -- Escape asterisks (wildcards shouldn't become bullet points)
    local processed = mw.ustring.lower(mw.text.trim(domain)):gsub("%*", "&#42;")
    -- Some special one-offs for encoding
    local encoded = mw.uri.encode(processed, "PATH")
    local advanced = tostring(mw.uri.fullUrl("Special:Search", "ns4=1&ns5=1&search=%22" .. processed .. "%22&fulltext=Advanced+search"))
    local rsn = tostring(mw.uri.fullUrl("Special:Search", "prefix=Wikipedia%3AReliable+sources%2FNoticeboard&fulltext=Search+the+noticeboard+archives&fulltext=Search&ns0=1&ns4=1&ns8=1&ns14=1&search=%22" .. processed .. "%22"))

    local output = template
    	:gsub("\n", " ")
        :gsub("{{DOMAIN}}", str._escapePattern(processed))
        :gsub("{{ENCODED}}", str._escapePattern(encoded))
        :gsub("{{ADVANCED}}", str._escapePattern(advanced))
        :gsub("{{RSN}}", str._escapePattern(rsn))
    return output
end

return p