Module:Sprite: Difference between revisions
Improve speed by only lowercasing each name once |
mw.html seems to use a lot of memory. Converting elements to wikitext string where possible before inserting them into an existing HtmlBuilder significantly reduces that memory usage for some reason, even though that just happens later anyway on output. |
||
| Line 104: | Line 104: | ||
end | end | ||
return root | return tostring( root ) | ||
end | end | ||
| Line 221: | Line 221: | ||
local box = section.boxes:tag( 'li' ):addClass( 'spritedoc-box' ):attr( 'data-pos', pos ) | local box = section.boxes:tag( 'li' ):addClass( 'spritedoc-box' ):attr( 'data-pos', pos ) | ||
box:tag( 'div' ):addClass( 'spritedoc-image' ) | box:tag( 'div' ):addClass( 'spritedoc-image' ) | ||
: | :wikitext( p.base{ pos = pos, settings = settingsPage } ) | ||
names = box:tag( 'ul' ):addClass( 'spritedoc-names' ) | names = box:tag( 'ul' ):addClass( 'spritedoc-names' ) | ||
section[pos] = names | section[pos] = names | ||
end | end | ||
local | local nameElem = mw.html.create( 'li' ):addClass( 'spritedoc-name' ) | ||
local codeElem = nameElem:tag( 'code' ):wikitext( data.name ) | |||
if idData.deprecated then | if idData.deprecated then | ||
codeElem:addClass( 'spritedoc-deprecated' ) | codeElem:addClass( 'spritedoc-deprecated' ) | ||
end | end | ||
names:wikitext( tostring( nameElem ) ) | |||
end | end | ||
| Line 238: | Line 238: | ||
return tostring( body ) | return tostring( body ) | ||
end | end | ||
return f:callParserFunction( '#widget:Stylesheet', { page = 'SpriteDoc' } ) | return f:callParserFunction( '#widget:Stylesheet', { page = 'SpriteDoc' } ), tostring( body ) | ||
end | end | ||
return p | return p | ||