Changes

Fixed edit button. Copied edit button formatting from Module:MapRewards.
Line 1: Line 1:  
local _ = require('Module:Core')
 
local _ = require('Module:Core')
local Data = require('Module:Data')
+
-- local Data = require('Module:Data')
local View = require('Module:View')
+
-- local View = require('Module:View')
 +
 
 +
local p = {}
 +
 
 +
p.cache = {}
    
-- [[Category:Todo]]:
 
-- [[Category:Todo]]:
Line 15: Line 19:  
|style="width:20%"|Rewards
 
|style="width:20%"|Rewards
 
|style="width:0.5%"|
 
|style="width:0.5%"|
|style="width:30%"|Note<span style="float:right;margin-top:-2em">[[https://kancolle.fandom.com/wiki/Module:Data/Quest/${category}?action=edit Edit]]</span>
+
|style="width:30%"|Note<span class="plainlinks" style="float:right">&#x5b;[https://en.kancollewiki.net/Module:Data/Quest/${category}?action=edit edit]&#x5d;</span>
 
|-]=]
 
|-]=]
   Line 46: Line 50:  
   local result = {}
 
   local result = {}
 
   for i, category in ipairs(args.explicit) do
 
   for i, category in ipairs(args.explicit) do
    local data = Data.load('Quest', category)
+
  if not p.cache[category] then
 +
  p.cache[category] = mw.loadData('Module:Data/Quest/' .. category)
 +
end
 +
local data = p.cache[category]
 
     table.insert(result, _.format(table_header, { category = category }))
 
     table.insert(result, _.format(table_header, { category = category }))
 
     for i, q in ipairs(data) do
 
     for i, q in ipairs(data) do
Line 86: Line 93:  
     table.insert(result, table_footer)
 
     table.insert(result, table_footer)
 
   end
 
   end
 +
  local s = _.join(result, '\n')
 +
  s = s:gsub("{{Audio|file=([^}]+)}}", '<span class="audio-button">[[Media:%1|Play]]</span>')
 +
  s = s:gsub("{{ShipLink|([^|^}]+)}}", function(e) return string.format('[[%s]]', e:gsub('/', ' ')) end)
 +
  s = s:gsub("{{ShipLink|([^|^}]+)|kai=x}}", function(e) return string.format('[[%s]] (Kai)', e:gsub('/', ' ')) end)
 +
  s = s:gsub("{{ShipLink|([^|^}]+)|kai=x|kai_ni=x}}", function(e) return string.format('[[%s]] (Kai, Kai Ni)', e:gsub('/', ' ')) end)
 
    
 
    
   return frame:preprocess(_.join(result, '\n'))
+
   s = s:gsub("{{ShipLink|[^|^}]+|text=([^|^}]+)|link_class=([^|^}]+)}}", function(text, class) return string.format('[[:Category:%s Class|%s]]', class, text) end)
 +
  s = s:gsub("{{ShipLink|[^|^}]+|[^|^}]+|text=([^|^}]+)|link_class=([^|^}]+)}}", function(text, class) return string.format('[[:Category:%s Class|%s]]', class, text) end)
 +
  s = s:gsub("{{ShipLink|[^|^}]+|[^|^}]+|[^|^}]+|text=([^|^}]+)|link_class=([^|^}]+)}}", function(text, class) return string.format('[[:Category:%s Class|%s]]', class, text) end)
 +
 
 +
  s = s:gsub("{{EquipmentLink|([^|^}]+)}}", "[[%1]]")
 +
  s = s:gsub("{{EquipmentLink|([^|^}]+)|text=true|image=30px}}", "[[%1]]")
 +
  s = s:gsub("{{EquipmentLink|([^|^}]+)|image=30px|text=true}}", "[[%1]]")
 +
  s = s:gsub("{{EquipmentLink|text=true|image=30px|([^|^}]+)}}", "[[%1]]")
 +
  s = s:gsub("{{ItemLink|text=true|image=30px|([^|^}]+)}}", "[[%1]]")
 +
  s = s:gsub("{{color|red|([^}]+)}}", '<span style="color:red">%1</span>')
 +
  return s
 +
end
 +
 
 +
p.render = function(frame)
 +
    return render(frame and _.getTemplateArgs(frame) or {}, frame)
 
end
 
end
   −
return View(render)
+
return p
advmod, cssedit, janitor, Moderators, prechecked, Widget editors
6,955

edits