Line 1: |
Line 1: |
− | local Utils = require("Module:Utils") | + | local U = require("Module:Utils") |
| local format = require("Module:StringOperations").format | | local format = require("Module:StringOperations").format |
| local Formatting = require("Module:Formatting") | | local Formatting = require("Module:Formatting") |
Line 18: |
Line 18: |
| ship_suffix = ship_suffix or "" | | ship_suffix = ship_suffix or "" |
| local forms = { ship_name .. "/" .. ship_suffix } | | local forms = { ship_name .. "/" .. ship_suffix } |
− | local success, ship_data = Utils.requireModule(ship_name) | + | local success, ship_data = U.requireModule(ship_name) |
| if not success then | | if not success then |
| return forms | | return forms |
Line 31: |
Line 31: |
| end | | end |
| local i = 0 | | local i = 0 |
− | while form_data and form_data._remodel_to and not Utils.find(forms, form_data._remodel_to) and i < 10 and j <= 3 do | + | while form_data and form_data._remodel_to and not U.find(forms, form_data._remodel_to) and i < 10 and j <= 3 do |
| local ship_name_next, ship_suffix_next = Ship:process_ship_key(form_data._remodel_to) | | local ship_name_next, ship_suffix_next = Ship:process_ship_key(form_data._remodel_to) |
| if ship_name_next ~= ship_name then | | if ship_name_next ~= ship_name then |
− | return Utils.concat(forms, ship_remodel_forms(ship_name_next, seasonal_forms, ship_suffix_next, j + 1)) | + | return U.concat(forms, ship_remodel_forms(ship_name_next, seasonal_forms, ship_suffix_next, j + 1)) |
| else | | else |
| table.insert(forms, form_data._remodel_to) | | table.insert(forms, form_data._remodel_to) |
Line 142: |
Line 142: |
| | | |
| function ShipPage.Header(frame, args) | | function ShipPage.Header(frame, args) |
− | args = args or Utils.getTemplateArgs(frame) | + | args = args or U.getTemplateArgs(frame) |
| local basepagename = args.implicit.basepagename or "" | | local basepagename = args.implicit.basepagename or "" |
| local ship_name = args.explicit.ship or args.implicit.pagename or "" | | local ship_name = args.explicit.ship or args.implicit.pagename or "" |
Line 149: |
Line 149: |
| | | |
| function ShipPage.FooterLinks(frame, args) | | function ShipPage.FooterLinks(frame, args) |
− | args = args or Utils.getTemplateArgs(frame) | + | args = args or U.getTemplateArgs(frame) |
| local basepagename = args.implicit.basepagename or "" | | local basepagename = args.implicit.basepagename or "" |
| local ship_name = args.explicit.ship or args.implicit.pagename or "" | | local ship_name = args.explicit.ship or args.implicit.pagename or "" |
Line 182: |
Line 182: |
| end | | end |
| if args.explicit.links then | | if args.explicit.links then |
− | links = Utils.concat(links, args.explicit.links) | + | links = U.concat(links, args.explicit.links) |
| end | | end |
| return table.concat(links, "\n") | | return table.concat(links, "\n") |
Line 188: |
Line 188: |
| | | |
| function ShipPage.ClassTemplate(frame, args) | | function ShipPage.ClassTemplate(frame, args) |
− | args = args or Utils.getTemplateArgs(frame) | + | args = args or U.getTemplateArgs(frame) |
| local basepagename = args.implicit.basepagename or "" | | local basepagename = args.implicit.basepagename or "" |
| local ship_name = args.explicit.ship or args.implicit.pagename or "" | | local ship_name = args.explicit.ship or args.implicit.pagename or "" |
Line 204: |
Line 204: |
| ship_suffix = ship_suffix or "" | | ship_suffix = ship_suffix or "" |
| local forms = { { name = ship_name .. '/' .. ship_suffix, normal = true, damaged = true } } | | local forms = { { name = ship_name .. '/' .. ship_suffix, normal = true, damaged = true } } |
− | local success, ship_data = Utils.requireModule(ship_name) | + | local success, ship_data = U.requireModule(ship_name) |
| if not success then | | if not success then |
| return forms | | return forms |
Line 224: |
Line 224: |
| end | | end |
| local i = 1 | | local i = 1 |
− | while form_data and form_data._remodel_to and not Utils.find(forms, form_data._remodel_to, 'name') and i <= 15 and j <= 3 do | + | while form_data and form_data._remodel_to and not U.find(forms, form_data._remodel_to, 'name') and i <= 15 and j <= 3 do |
| local ship_name_next, ship_suffix_next = Ship:process_ship_key(form_data._remodel_to) | | local ship_name_next, ship_suffix_next = Ship:process_ship_key(form_data._remodel_to) |
| if ship_name_next ~= ship_name then | | if ship_name_next ~= ship_name then |
− | return Utils.concat(forms, Utils.concat(seasonal_forms, ship_cgs(ship_name_next, ship_suffix_next, j + 1))) | + | return U.concat(forms, U.concat(seasonal_forms, ship_cgs(ship_name_next, ship_suffix_next, j + 1))) |
| else | | else |
| local name = form_data._remodel_to | | local name = form_data._remodel_to |
Line 237: |
Line 237: |
| i = i + 1 | | i = i + 1 |
| end | | end |
− | return Utils.concat(forms, seasonal_forms) | + | return U.concat(forms, seasonal_forms) |
| end | | end |
| | | |
| function ShipPage.Gallery(frame, args) | | function ShipPage.Gallery(frame, args) |
− | args = args or Utils.getTemplateArgs(frame) | + | args = args or U.getTemplateArgs(frame) |
| local ship_name = args.explicit.ship or args.implicit.pagename or "" | | local ship_name = args.explicit.ship or args.implicit.pagename or "" |
| local forms = ship_cgs(ship_name) | | local forms = ship_cgs(ship_name) |
Line 255: |
Line 255: |
| end | | end |
| if form.seasonal then | | if form.seasonal then |
− | table.insert(result, form.season and format{ | + | if form.season and U.startsWith(form.season, title) then |
− | "<h3>[[Seasonal/${season}|${season}]] (${title})</h3>",
| + | table.insert(result, format{ |
− | title = title,
| + | "<h3>[[Seasonal/${season}|${season}]]</h3>", |
− | season = form.season
| + | season = form.season |
− | } or ("<h3>" .. title .. "</h3>")) | + | }) |
| + | elseif form.season then |
| + | table.insert(result, format{ |
| + | "<h3>[[Seasonal/${season}|${season} (${title})]]</h3>", |
| + | title = title, |
| + | season = form.season |
| + | }) |
| + | else |
| + | table.insert(result, "<h3>" .. title .. "</h3>") |
| + | end |
| else | | else |
| table.insert(result, "<h2>" .. title .. "</h2>") | | table.insert(result, "<h2>" .. title .. "</h2>") |
Line 278: |
Line 287: |
| -- Improve performance by not using frame:preprocess? | | -- Improve performance by not using frame:preprocess? |
| function ShipPage.GalleryTabber(frame, args) | | function ShipPage.GalleryTabber(frame, args) |
− | args = args or Utils.getTemplateArgs(frame) | + | args = args or U.getTemplateArgs(frame) |
| local ship_name = args.explicit.ship or args.implicit.pagename or "" | | local ship_name = args.explicit.ship or args.implicit.pagename or "" |
| local forms = ship_cgs(ship_name) | | local forms = ship_cgs(ship_name) |
Line 328: |
Line 337: |
| | | |
| function ShipPage.FooterSections(frame, args) | | function ShipPage.FooterSections(frame, args) |
− | args = args or Utils.getTemplateArgs(frame) | + | args = args or U.getTemplateArgs(frame) |
| local ship_name = args.explicit.ship or args.implicit.pagename or "" | | local ship_name = args.explicit.ship or args.implicit.pagename or "" |
| return format{ | | return format{ |