Module:MonsterIndex: Difference between revisions

From Omega Wiki
Jump to navigation Jump to search
Import OmegaWiki seed content
 
Fix imported seed rendering
Line 16: Line 16:
  for _, m in ipairs(data[edition] or {}) do
  for _, m in ipairs(data[edition] or {}) do
   if filter == '' or m.name:lower():find(filter, 1, true) or m.char == filter or m.category == filter then
   if filter == '' or m.name:lower():find(filter, 1, true) or m.char == filter or m.category == filter then
   out[#out+1] = string.format('<tr><td><a class="omega-color-%s" href="%s" aria-label="%s (%s)">%s</a></td><td><a href="%s">%s</a> <span lang="zh-Hans">%s</span></td><td>%s</td></tr>', m.class, mw.uri.fullUrl(m.target), m.name, m.zh, m.char, mw.uri.fullUrl(m.target), m.name, m.zh, m.category)
  local target = tostring(mw.uri.fullUrl(m.target))
   out[#out+1] = string.format('<tr><td><a class="omega-color-%s" href="%s" aria-label="%s (%s)">%s</a></td><td><a href="%s">%s</a> <span lang="zh-Hans">%s</span></td><td>%s</td></tr>', m.class, target, m.name, m.zh, m.char, target, m.name, m.zh, m.category)
   end
   end
  end
  end

Revision as of 03:02, 24 July 2026

Documentation for this module may be created at Module:MonsterIndex/doc

local p = {}
local data = {
 remake = {
  { char='d', name='Dire rat', zh='巨鼠', category='beast', target='Monster/Dire rat', class='red' },
  { char='D', name='Dragon', zh='龙', category='dragon', target='Monster/Dragon', class='yellow' },
 },
 classic = {
  { char='d', name='Giant rat', zh='巨鼠', category='beast', target='Classic:Monster/Giant rat', class='red' },
  { char='D', name='Dragon', zh='龙', category='dragon', target='Classic:Monster/Dragon', class='yellow' },
 },
}
function p.render(frame)
 local edition = frame.args.edition or (mw.title.getCurrentTitle().namespace == 3002 and 'classic' or 'remake')
 local filter = mw.text.trim(frame.args.filter or ''):lower()
 local out = {'<table class="wikitable omega-monster-index"><tr><th>Char</th><th>Name</th><th>Category</th></tr>'}
 for _, m in ipairs(data[edition] or {}) do
  if filter == '' or m.name:lower():find(filter, 1, true) or m.char == filter or m.category == filter then
   local target = tostring(mw.uri.fullUrl(m.target))
   out[#out+1] = string.format('<tr><td><a class="omega-color-%s" href="%s" aria-label="%s (%s)">%s</a></td><td><a href="%s">%s</a> <span lang="zh-Hans">%s</span></td><td>%s</td></tr>', m.class, target, m.name, m.zh, m.char, target, m.name, m.zh, m.category)
  end
 end
 out[#out+1] = '</table>'
 return table.concat(out)
end
return p