Module:Changes

From Industrial-Craft-Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Template-info.png Documentation

Replacement Lua scripting to do what Template:Changes does/did, but in a more flexible way.

  • It supports the new structure of Version History.
  • It can have as many changes as needed, providing that they go up sequencially, and numbers are not missed out (change1, change2, change3 is ok, but change1, change3 isn't).
  • It should be faster.

Message me (Chocohead) either on the wiki (here) or on the Forum if you find any problems.

The above documentation is transcluded from Module:Changes/doc. (edit | history)


local p = {}

-- Generate list
function p.list( args )
   local s = nil
   local n = 1
   local back = "<ul>" --"Arguments <br/><ul>"

   repeat s = args["change" .. n]
      if s ~= nil then
         back = back .. "<li>" .. s .. "</li>"
         n = n + 1
      end
   until s == nil

   return back .. "</ul>"
end

function p.changes( f )
   if f == mw.getCurrentFrame() then
       args = f:getParent().args
   end
   back = p.list(args)
   if args["version"] == nil then
      args["version"] = ""
   end
   if mw.ustring.find(args["version"], "wiki") ~= nil then
      back = "'''Wiki v" .. string.sub(args["version"], 6) .. ":'''" .. back
   else
      if args["IC²"] ~= nil then
         back = "'''IC² v" .. args["version"] .. ":'''" .. back
      else
         back = "'''IC v" .. args["version"] .. ":'''" .. back
      end
      if args["readmore"] ~= nil then
         if mw.ustring.find(args["version"], "2.*") ~= nil then
            back = back .. "<br/>[[Updates#v" .. args["version"] .. "|'''Read More''']]"
         elseif args["IC²"] ~= nil then
            back = back .. "<br/>[[Updates/IC2#v" .. args["version"] .. ".C2.A0.28IC.C2.B2.29|'''Read More''']]"
         else
            back = back .. "<br/>[[Updates/IC#v" .. args["version"] .. "|'''Read More''']]"
         end
      end
      if args["download"] ~= nil then
         back = back .. "<br/>[[Download#Download|'''Download Now''']]"
      end
   end
   if args["notlast"] ~= nil then
      back = back .. "<br/><hr style=\"width:auto;\"><br/>"
   end
   return back
end

return p