×
Create a new article
Write your page title here:
We currently have 1,717 articles on The Quelmar Wiki. Type your article name above or click on one of the titles below and start writing!



The Quelmar Wiki

Documentation for this module may be created at Module:Worldbuilders/doc

local p = {}

function p.getWorldbuilderSection(frame)
    -- Get the title of the current page
    local pageTitle = mw.title.getCurrentTitle().prefixedText

    -- Construct the Talk page URL
    local talkPageTitle = pageTitle:gsub(" ", "_")  -- Replace spaces with underscores
    local baseWikiUrl = 'https://quelmarwiki.com/wiki/'
    local talkPageUrl = baseWikiUrl .. 'Talk:' .. talkPageTitle

    -- Construct the edit URL for adding the Worldbuilder section
    local editSectionUrl = talkPageUrl .. '?action=edit&section=new&preloadtitle=Worldbuilders&preload=Template:WorldbuilderPreload'

    -- Link text
    local addLinkText = 'Add worldbuilding credits now!'

    -- Fetch the content of the Talk page
    local talkPage = mw.title.new('Talk:' .. pageTitle)
    local talkContent = talkPage and talkPage:getContent() or nil

    -- Check if the Talk page exists and has content
    if not talkContent or talkContent == '' then
        return '[' .. editSectionUrl .. ' ' .. addLinkText .. ']'
    end

    -- Extract the Worldbuilder section
    local sectionPattern = '==%s*Worldbuilders%s*==(.*)'
    local worldbuilderSection = talkContent:match(sectionPattern)

    -- Check if the Worldbuilder section exists
    if not worldbuilderSection then
        return '[' .. editSectionUrl .. ' ' .. addLinkText .. ']'
    end

    -- Create the internal wiki link for "Worldbuilders" using the fullText of the talkPage
    local worldbuildersLink = '[[' .. talkPage.fullText .. '|Worldbuilders]]'

    -- Prepend "Worldbuilders" link to the section content
    return worldbuildersLink .. ':\n' .. worldbuilderSection
end

return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies. (Hi Margarita's Table. 🇩🇪)
Cookies help us deliver our services. By using our services, you agree to our use of cookies. (Hi Margarita's Table. 🇩🇪)