请输入您要查询的百科知识:

 

词条 Module:Large category TOC/sandbox
释义

local p = {}

local azupper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

local azlower = 'abcdefghijklmnopqrstuvwxyz'

local aejot = 'aejot'

function p.scrollable(frame)

return main('scrollable')

end

function p.collapsible(frame)

return main('collapsible')

end

function p.aejot(frame)

return main('aejot')

end

function main(toc_type)

-- It should be much faster to only process these once, and just re use them as variables

local pageurl = mw.title.getCurrentTitle():fullUrl()

local toc = mw.message.new('Toc'):plain()

-- Highest level div

local toc_frame = mw.html.create('div')

:addClass('plainlinks')

:addClass('hlist')

:addClass('toc')

-- :attr('id','toc')

:css('display','block !important')

:css('background','WhiteSmoke')

:css('clear','both')

:css('width','98%')

-- Contains "Content: Top 0-9 A - Z"

local header = mw.html.create('div')

:attr('id','toctitle')

:css('background','WhiteSmoke')

-- Contains all the rest

local body_wrapper

local body = mw.html.create('div')

:css('text-align', 'center')

if toc_type == 'collapsible' then

toc_frame:addClass('NavFrame')

header:addClass('NavHead')

body:addClass('NavContent')

:css('background','white')

:css('display','none')

end

local header_content = ''..toc..':' ..

' ['..pageurl..' Top]' ..

' ['..pageurl..'?from=0 0–9]'

for i=1,26 do

local letter = string.sub(azupper,i,i)

header_content = header_content..' ['..pageurl..'?from='..letter..' '..letter..']'

end

header:wikitext(header_content)

local body_content

if toc_type == 'collapsible' then

body_content = '# '

body_wrapper = mw.html.create('code')

:css('background','White')

else

body_content = '['..pageurl..'?from=* *] # '

body_wrapper = mw.html.create('span')

end

for i=0,9 do

body_content = body_content..' ['..pageurl..'?from='..i..' '..i..']'

end

local function atoz(letter)

local azlist

local letterlist

local maxind

if toc_type == 'aejot' then

letterlist = aejot

maxind = 5

else

letterlist = azlower

maxind = 26

end

if toc_type == 'aejot' or toc_type == 'scrollable' then

azlist = ' • '..letter..' '

else

azlist = '
'..letter..' '

end

for i=1,maxind do

local lowerletter = string.sub(letterlist,i,i)

azlist = azlist..' ['..pageurl..'?from='..letter..lowerletter..' '..letter..lowerletter..'] '

end

return azlist

end

for i=1,26 do

local letter = string.sub(azupper,i,i)

body_content = body_content..atoz(letter)

end

body_wrapper:wikitext(body_content)

body:node(body_wrapper)

toc_frame:node(header)

toc_frame:node(body)

return '__NOTOC__\'..tostring(toc_frame)

end

return p

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/20 12:21:18