Difference between revisions of "Module:Changes"

From Industrial-Craft-Wiki
Jump to navigation Jump to search
m (Hmmm, perhaps this is how it's getting a nil)
m (Fixed readmore parameter from being able to be ignored)
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}


-- Changes
-- Generate list
function p.changes( f )
function p.list( args )
  local groups = {}
   local s = nil
   local s = nil
   local n = 1
   local n = 1
 
   local back = "<ul>" --"Arguments <br/><ul>"
   if f == mw.getCurrentFrame() then
      args = f:getParent().args
  end


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


   --for i = 1,loop,1 do
   return back .. "</ul>"
      --s = args["change" .. i]
end
      --groups[i] = "<li>" .. s .. "</li>"
  --end


   local back = "Arguments <br/>"
function p.changes( f )
  for key,value in pairs(groups) do
  if f == mw.getCurrentFrame() then
       back = back .. value .. "<br/>"
      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
   end
   return back
   return back

Latest revision as of 19:23, 12 February 2015

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