Module:Soldier: Difference between revisions
Categorize soldiers from MII codes in notes. |
Place-name display formatting |
||
| Line 109: | Line 109: | ||
local SMALL_WORDS = { | local SMALL_WORDS = { | ||
of = true, the = true, to = true, a = true, an = true, at = true, by = true, | and = true, of = true, the = true, for = true, to = true, in = true, | ||
a = true, an = true, at = true, by = true, or = true, | |||
} | } | ||
local STATE_NAME = { | local STATE_NAME = { | ||
| Line 134: | Line 131: | ||
al = 'Alabama', ak = 'Alaska', az = 'Arizona', ar = 'Arkansas', ca = 'California', | al = 'Alabama', ak = 'Alaska', az = 'Arizona', ar = 'Arkansas', ca = 'California', | ||
co = 'Colorado', ct = 'Connecticut', de = 'Delaware', fl = 'Florida', ga = 'Georgia', | co = 'Colorado', ct = 'Connecticut', de = 'Delaware', fl = 'Florida', ga = 'Georgia', | ||
hi = 'Hawaii', id = 'Idaho', il = 'Illinois', ia = 'Iowa', | hi = 'Hawaii', id = 'Idaho', il = 'Illinois', ['in'] = 'Indiana', ia = 'Iowa', | ||
ks = 'Kansas', ky = 'Kentucky', la = 'Louisiana', me = 'Maine', md = 'Maryland', | ks = 'Kansas', ky = 'Kentucky', la = 'Louisiana', me = 'Maine', md = 'Maryland', | ||
ma = 'Massachusetts', mi = 'Michigan', mn = 'Minnesota', ms = 'Mississippi', | ma = 'Massachusetts', mi = 'Michigan', mn = 'Minnesota', ms = 'Mississippi', | ||
mo = 'Missouri', mt = 'Montana', ne = 'Nebraska', nv = 'Nevada', nh = 'New Hampshire', | mo = 'Missouri', mt = 'Montana', ne = 'Nebraska', nv = 'Nevada', nh = 'New Hampshire', | ||
nj = 'New Jersey', nm = 'New Mexico', ny = 'New York', nc = 'North Carolina', | nj = 'New Jersey', nm = 'New Mexico', ny = 'New York', nc = 'North Carolina', | ||
nd = 'North Dakota', oh = 'Ohio', ok = 'Oklahoma', pa = 'Pennsylvania', | nd = 'North Dakota', oh = 'Ohio', ok = 'Oklahoma', ['or'] = 'Oregon', pa = 'Pennsylvania', | ||
ri = 'Rhode Island', sc = 'South Carolina', sd = 'South Dakota', tn = 'Tennessee', | ri = 'Rhode Island', sc = 'South Carolina', sd = 'South Dakota', tn = 'Tennessee', | ||
tx = 'Texas', ut = 'Utah', vt = 'Vermont', va = 'Virginia', wa = 'Washington', | tx = 'Texas', ut = 'Utah', vt = 'Vermont', va = 'Virginia', wa = 'Washington', | ||
wv = 'West Virginia', wi = 'Wisconsin', wy = 'Wyoming', dc = 'Washington, D.C.', | wv = 'West Virginia', wi = 'Wisconsin', wy = 'Wyoming', dc = 'Washington, D.C.', | ||
} | } | ||
local TWO_WORD_STATE = { | local TWO_WORD_STATE = { | ||
| Line 161: | Line 156: | ||
local PLACE_PREP = { | local PLACE_PREP = { | ||
at = true, from = true, near = true, of = true, | at = true, ['in'] = true, from = true, near = true, of = true, | ||
} | } | ||
local function stateKey(w) | local function stateKey(w) | ||
| Line 216: | Line 210: | ||
local up = mw.ustring.upper(bare) | local up = mw.ustring.upper(bare) | ||
if ACRONYMS[up] then | if ACRONYMS[up] then | ||
table.insert(out, mw.ustring.gsub(w, bare, up, 1)) | |||
else | else | ||
local low = mw.ustring.lower(w) | local low = mw.ustring.lower(w) | ||
| Line 522: | Line 515: | ||
end | end | ||
local tr = tbl:tag('tr') | local tr = tbl:tag('tr') | ||
tr:tag('th') | tr:tag('th'):addClass('infobox-label'):wikitext(label) | ||
local td = tr:tag('td'):addClass('infobox-data') | |||
local td = tr:tag('td') | |||
if dataClass and dataClass ~= '' then | if dataClass and dataClass ~= '' then | ||
td:addClass(dataClass) | td:addClass(dataClass) | ||
| Line 640: | Line 623: | ||
key = trim(key) | key = trim(key) | ||
return RANK_MAP[key] or raw | return RANK_MAP[key] or raw | ||
end | end | ||
| Line 832: | Line 716: | ||
addHeader(tbl, 'Military service') | addHeader(tbl, 'Military service') | ||
addRow(tbl, 'Allegiance', 'United States') | addRow(tbl, 'Allegiance', 'United States') | ||
local branch = | local branch = prettyProse(parentArg(frame, 'class_branch')) | ||
if branch == '' then | if branch == '' then | ||
branch = 'United States Army' | branch = 'United States Army' | ||
| Line 868: | Line 752: | ||
addRow(tbl, 'IPW (German)', teamLinkList(parentArg(frame, 'ipw_ge'), 'IPW ', 'IPW')) | addRow(tbl, 'IPW (German)', teamLinkList(parentArg(frame, 'ipw_ge'), 'IPW ', 'IPW')) | ||
addRow(tbl, 'IPW (Italian)', teamLinkList(parentArg(frame, 'ipw_it'), 'IPW Italian ', 'IPW Italian')) | addRow(tbl, 'IPW (Italian)', teamLinkList(parentArg(frame, 'ipw_it'), 'IPW Italian ', 'IPW Italian')) | ||
addRow(tbl, 'Special', prettyProse(parentArg(frame, 'special'))) | |||
addRow(tbl, 'LOC', parentArg(frame, 'loc')) | addRow(tbl, 'LOC', parentArg(frame, 'loc')) | ||
addRow(tbl, 'Arrived', parentArg(frame, 'date_arrive')) | addRow(tbl, 'Arrived', parentArg(frame, 'date_arrive')) | ||
| Line 917: | Line 802: | ||
end | end | ||
return lead | return lead | ||
end | end | ||
| Line 991: | Line 815: | ||
return '' | return '' | ||
end | end | ||
local | local startPos = mw.ustring.find(content, '== Research notes ==', 1, true) | ||
if | if not startPos then | ||
return '' | return '' | ||
end | |||
local after = mw.ustring.sub(content, startPos + 20) | |||
local nextHead = mw.ustring.find(after, '\n== ', 1, true) | |||
local section = after | |||
if nextHead then | |||
section = mw.ustring.sub(after, 1, nextHead - 1) | |||
end | end | ||
local items = {} | local items = {} | ||
| Line 1,019: | Line 849: | ||
return p | return p | ||