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

  1. -- This module implements [[Template:Icon]].
  2.  
  3. local data = mw.loadData('Module:Icon/data')
  4.  
  5. local p = {}
  6.  
  7. function p._main(args)
  8. local code = args.class or args[1]
  9. local iconData
  10. if code then
  11. code = code:match('^%s*(.-)%s*$'):lower() -- trim whitespace and put in lower case
  12. iconData = data[code]
  13. end
  14. if not iconData then
  15. iconData = data._DEFAULT
  16. end
  17. return string.format(
  18. '[[File:%s%s|%s|link=]]',
  19. iconData.image,
  20. iconData.tooltip and '|' .. iconData.tooltip or '',
  21. args.size or '16x16px'
  22. )
  23. end
  24.  
  25. function p.main(frame)
  26. local args = {}
  27. for k, v in pairs(frame:getParent().args) do
  28. args[k] = v
  29. end
  30. return p._main(args)
  31. end
  32.  
  33. return p