Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
If you make an edit, a temporary account will be created for you.

Module:Newarticletext: Difference between revisions

From The Petit Planet Wiki
ReisuDesign (talk | contribs)
Created page with "local p = {} function p.main(frame) local td_attr = { valign='top' } local td_css = { width='50%' } local title = mw.title.getCurrentTitle().text local sections = mw.loadData('Module:Newarticletext/data') local output = {} -- For Each Section for i,section_data in ipairs(sections) do if section_data['header'] and section_data['sections'] then local evenTest local section = page_layo..."
 
ReisuDesign (talk | contribs)
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}
function p.main(frame)
function p.main(frame)
     local td_attr = {
     local td_attr = {
         valign='top'
         valign = 'top'
     }
     }
     local td_css = {
     local td_css = {
         width='50%'
         width = '50%'
     }
     }


     local title = mw.title.getCurrentTitle().text
     local title = mw.title.getCurrentTitle().text
     local sections = mw.loadData('Module:Newarticletext/data')
     local sections = mw.loadData('Module:Newarticletext/data')
   
 
     local output = {}
     local output = {}
     -- For Each Section
     -- For Each Section
     for i,section_data in ipairs(sections) do
     for i, section_data in ipairs(sections) do
         if section_data['header'] and section_data['sections'] then
         if section_data['header'] and section_data['sections'] then
             local evenTest
             local evenTest
Line 19: Line 22:
             local row
             local row
             local column
             local column
             -- For Each Link Area
             -- For Each Link Area
             for j,link_data in ipairs(section_data['sections']) do
             for j, link_data in ipairs(section_data['sections']) do
                 evenTest = j%2
                 evenTest = j % 2
                 if evenTest==1 then
 
                 if evenTest == 1 then
                     row = section:tag('tr')
                     row = section:tag('tr')
                 end
                 end
                 column = row:tag('td')
                 column = row:tag('td')
                     :attr(td_attr):css(td_css)
                     :attr(td_attr)
                 if (type(link_data['link']) == 'table') then
                    :css(td_css)
                     local ul = column:wikitext(link_data['text'] .. '<br/>'):tag('ul')
 
                 if type(link_data['link']) == 'table' then
                     local ul = column
                        :wikitext(link_data['text'] .. '<br/>')
                        :tag('ul')
                         :addClass('pipe_delimit')
                         :addClass('pipe_delimit')
                         :css('font-size',link_data['link']['size'])
                         :css('font-size', link_data['link']['size'])
                     for k,sub_link in ipairs(link_data['link']) do
 
                     for k, sub_link in ipairs(link_data['link']) do
                         ul:tag('li')
                         ul:tag('li')
                             :wikitext(preload_link(title,sub_link['link'],sub_link['text']))
                             :node(
                                preload_link(
                                    title,
                                    sub_link['link'],
                                    sub_link['text']
                                )
                            )
                     end
                     end
                 else
                 else
                     column:wikitext(preload_link(title,link_data['link'],tostring(link_data['text'])))
                     column:node(
                        preload_link(
                            title,
                            link_data['link'],
                            tostring(link_data['text'])
                        )
                    )
                 end
                 end
             end
             end
             if evenTest==1 then
 
                 column:attr('colspan',2)
             if evenTest == 1 then
                 column:attr('colspan', 2)
             end
             end
             table.insert(output, tostring(section))
             table.insert(output, tostring(section))
         end
         end
Line 48: Line 73:
     return table.concat(output)
     return table.concat(output)
end
end
function preload_link(page,preload,display)
 
     return '[' .. tostring(
function preload_link(page, preload, display)
         mw.uri.fullUrl(page,{
     return mw.html.create('span')
            action='edit',
         :attr('class', 'preload-plus-link')
            preload=preload
        :attr('data-preload', tostring(preload))
         })
         :attr('data-page', tostring(page))
    ) .. ' ' .. display .. ']'
        :wikitext(display)
end
end
function page_layout(section_title)
function page_layout(section_title)
     local table_attr = {
     local table_attr = {
         class                 = 'wikitable mw-collapsible mw-collapsed plainlinks',
         class = 'wikitable mw-collapsible plainlinks',
         ['data-expandtext']   = '+',
         ['data-expandtext'] = '+',
         ['data-collapsetext'] = '-'
         ['data-collapsetext'] = '-'
     }
     }
     local table_css = {
     local table_css = {
         width         = '100%',
         width = '100%',
         ['text-align'] = 'center'
         ['text-align'] = 'center'
     }
     }
Line 70: Line 97:
         :attr(table_attr)
         :attr(table_attr)
         :css(table_css)
         :css(table_css)
         :tag('tr'):tag('th')
         :tag('tr')
            :attr('colspan',2)
        :tag('th')
            :wikitext(section_title)
        :attr('colspan', 2)
            :allDone()
        :wikitext(section_title)
        :allDone()
end
end
return p
return p