Module:Documentation: Difference between revisions

No edit summary
mNo edit summary
Line 1: Line 1:
-- <nowiki>
-- <nowiki>
 
local dependencyList = require( 'Module:DependencyList' )
local yn = require( 'Module:Yesno' )
local p = {}
local p = {}


Line 7: Line 8:
     local args = frame:getParent().args
     local args = frame:getParent().args
     local page = args[1] or mw.ustring.gsub( title.fullText, '/doc$', '' )
     local page = args[1] or mw.ustring.gsub( title.fullText, '/doc$', '' )
     local ret, cats, ret1, ret2
    local addDependencyList = yn( args.DependencyList or true )
     local ret, cats, ret1, ret2, ret3
     local onModule = title.namespace == 828
     local onModule = title.namespace == 828
      
      
Line 37: Line 39:
             :done()
             :done()


         if title.namespace == 10 then
         if title.namespace == 10 then -- Template namespace
             cats = '[[Category:Template documentation|' .. title.baseText .. ']]'
             cats = '[[Category:Template documentation|' .. title.baseText .. ']]'
         elseif title.namespace == 828 then
            ret2 = addDependencyList and dependencyList._main() or ''
        elseif title.namespace == 116 then -- Calculator namespace
        cats = ''
        ret2 = addDependencyList and dependencyList._main() or ''
         elseif title.namespace == 828 then -- Module namespace
         cats = '[[Category:Module documentation|' .. title.baseText .. ']]'
         cats = '[[Category:Module documentation|' .. title.baseText .. ']]'
        ret2 = addDependencyList and dependencyList._main() or ''
         else
         else
         cats = ''
         cats = ''
        ret2 = ''
         end
         end
          
          
         return tostring( ret ) .. cats
         return tostring( ret ) .. ret2 .. cats
     end
     end
      
      
Line 53: Line 61:


     ret2 = mw.html.create( nil )
     ret2 = mw.html.create( nil )
         :tag('div')
         :tag( 'div' )
             :addClass( 'doc-header' )
             :addClass( 'documentation-header' )
             :tag( 'span' )
             :tag( 'span' )
                :addClass( 'doc-title' )
            :addClass( 'documentation-title' )
                :wikitext( string.format('%s documentation', onModule and 'Module' or 'Template') )
            :wikitext( string.format('%s documentation', onModule and 'Module' or 'Template') )
                :done()
            :done()
            :tag( 'span' )
                :addClass( 'doc-editlinks' )
                :addClass( 'plainlinks' )
                :wikitext(
                    '[[' .. tostring( mw.uri.fullUrl( page .. '/doc', {action='edit'} ) ) .. ' edit]] ' ..
                    '[<span class="jsPurgeLink">[' .. tostring( mw.uri.fullUrl( title.fullText, {action='purge'} ) ) .. ' purge]</span>]'
                )
                :done()
             :done()
             :done()
         :tag( 'div' )
         :tag( 'div' )
             :addClass( 'doc-transclusion' )
             :addClass( 'documentation-subheader' )
             :wikitext( 'This documentation is transcluded from [[' .. page .. '/doc]].' )
             :tag( 'span' )
            :addClass( 'documentation-documentation' )
            :wikitext( 'This documentation is transcluded from [[' .. page .. '/doc]]. ' )
            :done()
            :tag( 'span' )
            :addClass( 'documentation-links plainlinks' )
            :wikitext(
            '[[' .. tostring( mw.uri.fullUrl( page .. '/doc', {action='edit'} ) ) .. ' edit]] ' ..
                '[<span class="jsPurgeLink">[' .. tostring( mw.uri.fullUrl( title.fullText, {action='purge'} ) ) .. ' purge]</span>]'
            )
            :done()
             :done()
             :done()
   
    ret3 = addDependencyList and dependencyList._main() or ''
          
          
     return ret1 .. tostring( ret2 )
     return ret1 .. tostring( ret2 ) .. '<div class="documentation-content">' .. ret3
end
end