|
|
Line 1: |
Line 1: |
| -- WARNING: THIS MODULE IS CURRENTLY NOT USED.
| |
| -- Current stable version. Increment this when a new version is released.
| |
| -- The version of Elin is made of <major version>.<minor version>
| |
| local CURRENT = 23.65
| |
| local _, _, CURRENT_major, CURRENT_minor = string.find( CURRENT, "(%d+)%.(%d+)" )
| |
| local p = {}
| |
|
| |
|
| -- This function assume the input is in the form of <major version>.<minor version>, but it doesn't give an error if minor version doesn't exist.
| |
| -- Return:
| |
| -- 1, the current version is greater; 0, the versions are the same
| |
| -- -1, the input version is greater
| |
| local function if_greater_function(test_version)
| |
| _, _, major, minor = string.find( test_version, "(%d+)%.(%d+)" )
| |
|
| |
| if CURRENT_major > major then
| |
| return 1
| |
| elseif CURRENT_major < major then
| |
| return -1
| |
| elseif CURRENT_minor > minor then
| |
| return 1
| |
| elseif CURRENT_minor < minor then
| |
| return -1
| |
| else
| |
| return 0
| |
| end
| |
| end
| |
| -- Tries to parse a version number
| |
| -- returns either a version number, "trunk", or nil (meaning unknown)
| |
| local function parse_version(version)
| |
| if type(version) == "number" or version == "trunk" then
| |
| return version
| |
| end
| |
| local num = tonumber(version)
| |
| if num then
| |
| return num
| |
| end
| |
| return nil
| |
| end
| |
|
| |
| function p.version_tag(frame)
| |
| local version = parse_version(frame.args[1])
| |
| local current = if_greater_function(version) == 0
| |
| local previ = if_greater_function(version) == 1
| |
| local trunk = if_greater_function(version) == -1
| |
| local unknown = not version
| |
| local version_b = ""
| |
| if version >= 23 then
| |
| version_b = "EA"
| |
| elseif version < 23 then
| |
| version_b = "β"
| |
| end
| |
| local bgcolor = "fc6"
| |
| if current then
| |
| bgcolor = "99FF99"
| |
| elseif trunk then
| |
| bgcolor = "BCEBF5"
| |
| elseif previ then
| |
| bgcolor = "ff9999"
| |
| end
| |
|
| |
| local bordercolor = "f90"
| |
| if current then
| |
| bordercolor = "33FF66"
| |
| elseif trunk then
| |
| bordercolor = "04A0BF"
| |
| elseif previ then
| |
| bordercolor = "ff3366"
| |
| end
| |
|
| |
| local result = [[<div style="border: 1px solid #%s; background-color: #%s; border-left: 15px solid #%s; margin-bottom: 20px; width: 100%%; padding: 4px 10px; line-height: 1.1em; width: auto;">]]
| |
| result = result:format(bordercolor, bgcolor, bordercolor)
| |
| if trunk then
| |
| result = result .. "'''''この記事は、Elinの未リリースバージョンの機能に関するものです。''"
| |
| else
| |
| result = result .. "'''''バージョン "
| |
| if unknown then
| |
| result = result .. "Unknown"
| |
| else
| |
| result = result .. "".. version_b .."" .. version .. ""
| |
| end
| |
| result = result .. "''': "
| |
| if current then
| |
| result = result .. "この記事は''Elin''の[[Elin:更新履歴|最新の安定版リリース]]に対応しています。"
| |
| else
| |
| result = result .. "この記事は、''Elin'' の[[Elin:更新履歴|最新の安定版リリース]]に対応していない可能性があり、不正確な情報を含んでいるかもしれません。"
| |
| end
| |
| end
| |
| result = result .. "</div>"
| |
| -- The next part is used to add a category, we don't do that just yet.
| |
| --result = result .. "\n[[Category:"
| |
| --if trunk then
| |
| -- result = result .. "Trunk"
| |
| --elseif unknown then
| |
| -- result = result .. "Unknown"
| |
| --else
| |
| -- result = result .. "0." .. version
| |
| --end
| |
| --result = result .. " articles]]"
| |
|
| |
| return result
| |
| end
| |
|
| |
| function p.version_list(frame)
| |
| local prev_versions = {}
| |
| for version = STABLE - 1, 1, -1 do
| |
| table.insert(prev_versions, "[[0." .. version .. "]]")
| |
| end
| |
|
| |
| local result = [=[{| cellspacing="0" cellpadding="0" style="margin:0em 0em 1em 0em; width:100%; background-color:white"
| |
| | style="width:50%; vertical-align:top; border:1px solid #CC6600; background-color:#FF9966;" |
| |
| <div style="border-bottom:0px solid #CC6600; background-color:#FF6633; padding:0.2em 0.5em 0.2em 0.5em; font-size:110%; font-weight:bold;">[[:Category:Crawl Versions|Versions]]</div>
| |
| <div style="border-bottom:0px solid #CC6600; padding:0.4em 1em 1em 1em;">
| |
| The Crawl Wiki is kept up to date with the latest stable release: [[0.]=]
| |
| result = result .. STABLE .. "]]\n"
| |
| result = result .. "* Previous releases: " .. table.concat(prev_versions, " | ") .. "\n"
| |
| result = result .. "* In [[trunk]] development: [[0." .. STABLE + 1 .. "]]</div>\n|}"
| |
| return result
| |
| end
| |
|
| |
| return p
| |