World Library  
Flag as Inappropriate
Email this Article
 

174th Attack Wing

174th Attack Wing
General Atomics MQ-9A Reaper of the 138th Attack Squadron
Active 1 September 1962–present
Country  United States
Allegiance  New York
Branch   Air National Guard
Type Wing
Role UAV ISR/Attack
Part of New York Air National Guard
Garrison/HQ Hancock Field Air National Guard Base, Syracuse, New York.
Tail Code "NY"
Commanders
Current
commander
Colonel Greg Semmel
Insignia
174th Attack Wing emblem
Aircraft flown
Attack General Atomics MQ-9 Reaper

The 174th Attack Wing (174 ATKW) is a unit of the New York Air National Guard, stationed at Hancock Field Air National Guard Base, Syracuse, New York. If activated to federal service, the Wing is gained by the United States Air Force Air Combat Command.

Contents

  • Overview 1
  • Units 2
  • History 3
    • Vietnam era 3.1
      • Close air support 3.1.1
      • Operation Desert Storm 3.1.2
    • Air Combat Command 3.2
    • MQ-9 Reaper and Attack Mission 3.3
    • Lineage 3.4
    • Assignments 3.5
    • Components 3.6
    • Stations 3.7
    • Aircraft 3.8
  • References 4
  • External links 5

Overview

The 174th Attack Wing currently operates the MQ-9 Reaper Remotely Piloted Aircraft (RPA). Its mission is to provide qualified airmen and weapon systems engaging in global air, space and cyberspace operations; supporting homeland defense, joint operations and aid to civil authorities at the direction of the Governor.

Units

The 174th Attack Wing consists of the following major units:

History

Established by the USAF and allotted to New York ANG in 1962 as an expansion of the 138th Tactical Fighter Squadron. Received federal recognition by the National Guard Bureau and activated on 1 September 1962 as the 174th Tactical Fighter Group. The group was stationed at Hancock Field, Syracuse, New York. and allocated to Tactical Air Command.

Other squadrons assigned into the group were the 174th Headquarters, 174th Material Squadron (Maintenance), 174th Combat Support Squadron, and the 174th USAF Dispensary. The 138th TFS was equipped with the F-86H Sabre.

Vietnam era

The squadron engaged normal peacetime training and exercises. In the summer of 1965, the squadron took part in Exercise Oneida Bear II at Fort Drum, which involved some 6,500 soldiers of the regular Army, the Army Reserve and the National Guard. 138th TFS aircraft from Syracuse provided close air support to both aggressor and Friendly Forces during the exercise, and were engaged in realistic tactical air strikes. In the exercise, conducted by the First Army, the Second Brigade of the Army's Fifth Infantry was opposed by an aggressor force of selected Army National Guard and Army Reserve Units. The 174th Group's pilots flew 77 sorties for a total of 114 hours without a single abort.

138th Tactical Fighter Squadron F-86H Sabre 53-1519 about 1966 in Vietnam War camouflage

The squadron trained at Ramey AFB, Puerto Rico, in early 1967 in an all service amphibious and airborne exercise. A detachment of unit pilots and support personnel participated (22 officers and 69 airmen). Twelve F-86H aircraft participated with three C-130 Hercules for equipment and personnel support. All types of tactical air missions were flown. Total sorties were 213 with total hours flown, 308. Special firepowers demonstration was accomplished with 20 sorties delivering 40 (750 lbs) and 2000 rounds of 20 mm fired. Later in 1967, Operation Sentry Post I was held in August. This was a joint Air National Guard - TAC Exercise. Twelve F-86Hs were flown and squadron pilots worked with radar flying air-to-air and air-to-ground gunnery with and without FAC type missions. A total of 204 sorties and 245 hours were flown in this operation.

In 1968, the 174th TFG was federalized and placed on active duty. The Group was alerted for active duty on 11 April 1968, partially mobilized on 13 May and deployed to Cannon Air Force Base, Clovis, New Mexico. The mission of the 174th was to train Forward Air Controllers (FAC) for service in Vietnam. The FAC flew a light observation aircraft at low altitudes, visually observing enemy installations and movements and providing on-the-spot directions for fighters and bombers. The FAC dictated the type of ordnance to be delivered, observes the strike, and evaluates its effectiveness. The mission of the 174th was to give FACs in training actual experience in fighter aircraft so that they would be fully apprised of the requirements of the men they would be directing in combat in South Vietnam.

On arrival at Cannon AFB along with the Maryland ANG 175th Tactical Fighter Squadron, they comprised the 140th Tactical Fighter Wing. Originally based in Denver, Colorado, headquarters of the 140th moved to Cannon AFB with the deployment of the 140th Tactical Fighter Group to active duty in Vietnam. Not all members of the 174th Tactical Fighter Group were mobilized, however. Subsequent to the alert notice, a change directed mobilization of only the Group Headquarters, the 138th Tactical Fighter Squadron, and the 174th Camron. The remaining members of the 174th remained in Syracuse on a drill status during the eight months of mobilized service. The unit was released from active duty as of 20 December 1968, and all members reverted to Air National Guard drill status.

Close air support

138th TFS Cessna A-37B Dragonfly 69-6423, 1974

During 1970, the 174th began retiring its F-86H Sabres after over a decade of service, the 138th Tactical Fighter Squadron flying the last USAF/ANG Sabre sortie on 30 September. Replacing the Sabre was the Cessna A-37B Dragonfly and a newly conceived close air support tactical fighter mission in a ground insurgency environment which were gained by combat experience in Vietnam.

After a decade of routine peacetime exercises and training with the A-37, in 1979 the 174th began a transition to the

With the transition complete, the unit deployed eight A-10 aircraft from Syracuse, non-stop to a forward operation location in West Germany. In exercise Cornet Sail, the 138th demonstrated for the first time the ability of an Air National Guard or Air Force Reserve unit to deploy this advanced aircraft in this manner. Combat readiness in West Germany was achieved 12 hours after departing Hancock Field.

With the move of the USAF 21st Air Division to Griffiss AFB in 1984, the 174th TFW became the host unit at Hancock Field. Later that year, the unit deployed to Exercise Air Warrior at the National Training Center, Fort Irwin, California; a three-week deployment to Lechfeld Air Base, West Germany and with the NY ANG 107th Fighter-Interceptor Group at Goose Air Base, Labrador.

A 138th TFS A-10A Thunderbolt II 78-0670

The 174th also was among the first A-10 close support aircraft organizations to provide temporary tactical air defense support from Howard Air Force Base, Panama when the unit deployed to Howard in March 1985 when runway construction precluded the use of the A-7D Corsair IIs that normally fulfilled the tactical air defense duties of the Panama Canal. Shortly afterward, it deployed to Alaska for the first time. The 138th TFS completed the 2,700-mile flight to Eielson AFB without external navigation aids.

As in past years, continuing NATO deployments to West Germany in the late 1980s saw the 174th TFW personnel training and living side-by-side with their West German Air Force counterparts as they would in a combat situation. The 174th began 1988 on a high note when the Air Force announced the wing would convert from the A-10 to the specialized Block 10 F-16A/B Fighting Falcon, also referred to as the F/A-16 due to its close air support configuration. With the Block 10 F-16, the 174th became the first Air Force organization to fly the Fighting Falcon with a Close Air Support mission.

The first F-16 aircraft started arriving in late 1988. These aircraft were passed down from regular USAF units who were upgrading to the F-16C/D model. During 1989, the 138th TFS was chosen as a test unit for a close air support version of the F-16. The aircraft were the only F-16s ever to be equipped with the General Electric GPU-5/A Pave Claw gun pod, which contained a 30mm cannon intended for use against a variety of battlefield targets, including armor.[1] The unit received the USAF's Outstanding Maintenance Squadron Award that year.

Operation Desert Storm

In 1991, the 138th TFS deployed to the Persian Gulf with 516 members in support of Operation Desert Storm. The 138th was one of only two Air National Guard units to fly combat missions during Operation Desert Storm. The Close Air Support project however proved to be a miserable failure. Precision aiming was impossible for several reasons: the pylon mount wasn't as steady as the A-10's rigid mounting; the F-16 flies much faster than an A-10, giving the pilots too little time approaching the target; firing the gun shook the aircraft harshly and made it impossible to control; essential CCIP (continuously computed impact point) software was unavailable. The pilots ended up using the gun as an area effect weapon, spraying multiple targets with ammunition, producing an effect rather like a cluster bomb. It took only a couple of days of this before they gave up, unbolted the gun pods, and went back to dropping real cluster bombs – which did the job more effectively.require('Module:No globals')

local p = {}

-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }

-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }

-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }

-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }

local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }

function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil

        local t1 = false -- whether traditional Chinese characters go first
        local j1 = false -- whether Cantonese Romanisations go first
        local testChar
        if (args["first"]) then
                 for testChar in mw.ustring.gmatch(args["first"], "%a+") do
          if (testChar == "t") then
           t1 = true
           end
          if (testChar == "j") then
           j1 = true
           end
         end
        end
        if (t1 == false) then
         local title = mw.title.getCurrentTitle()
         t1 = t1st[title.text] == true
        end

-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(

The unit received the Air Force Outstanding Unit Award, with the "V" device for valor, during Operation Desert Storm; the Air Force Association Outstanding Unit Award; and the National Guard Association's Best Family Support Center Award.

Air Combat Command

138th TFS - General Dynamics F-16A Block 10 Fighting Falcon 79-0352

In March 1992, with the end of the Air Combat Command (ACC).

In 1993 the 174th FW started trading in their old Block 10 F-16 A/B models for newer Block 30 F-16C/D aircraft configured for Tactical Air Support. In that process the squadron had the ‘honor’ of sending the first F-16 to AMARC storage. This happened on July 20, 1993 when an F-16A (#79-0340) was flown to Davis-Monthan AFB, Arizona for flyable storage. Although these aircraft were only 13 years old, they were put into storage due to more modern models becoming available and Block 10 wasn't needed any longer by the USAF. The general mission for the squadron remained unchanged with this transition.

Also in 1993, the 138th TFS became the first US unit to have a female F-16 fighter pilot, Jackie Parker, in 1993 immediately after combat roles were opened to females.[2]

In June 1995, the unit deployed for 30 days rotation to Incirlik Air Base, Turkey as part of Operation Provide Comfort, assisting in the enforcement the No Fly Zone over Northern Iraq.

In mid-1996, the Air Force, in response to budget cuts, and changing world situations, began experimenting with Air Expeditionary organizations. The Air Expeditionary Force (AEF) concept was developed that would mix Active-Duty, Reserve and Air National Guard elements into a combined force. Instead of entire permanent units deploying as "Provisional" as in the 1991 Gulf War, Expeditionary units are composed of "aviation packages" from several wings, including active-duty Air Force, the Air Force Reserve Command and the Air National Guard, would be married together to carry out the assigned deployment rotation.

138th Fighter Squadron - General Dynamics F-16C Block 30B Fighting Falcon 85-1570 at Nellis AFB, Nevada during the units final deployment with the F-16, 2009.

The 138th Expeditionary Fighter Squadron (138th EFS) was first formed and deployed in August 1996 for Operation Northern Watch (ONW). ONW was a US European Command Combined Task Force (CTF) who was responsible for enforcing the United Nations mandated no-fly zone above the 36th parallel in Iraq. This mission was a successor to Operation Provide Comfort which also entailed support for the Iraqi Kurds.

In 1997, the 138th Fighter Squadron commemorated its 50th Anniversary in conjunction with the United States Air Force by hosting the United States Air Force Thunderbirds aerobatics team at the Syracuse Air Show.

During 1996-97, the 174th FW deployed to Andøya Air Station, Norway as part of the "Adventure Express 97" NATO exercise. In 1998, the 174th FW deployed to Tyndall AFB, Florida, for the "Combat Archer" exercise and also to the Dugway Proving Ground, Utah to participate in exercise "Global Patriot 98".

Only six years later, in 1999, the 138th FS changed block types once more, sending its Block 30s to the Illinois ANG 170th Fighter Squadron and receiving older block 25 F-16s from the Texas ANG 182d Fighter Squadron. This meant changing again from the General Electric engine to the Pratt & Whitney.

A AEF deployment to Prince Sultan Air Base, Saudi Arabia resulted in the formation of the 138th EFS in early 2000. Operation Southern Watch was an operation which was responsible for enforcing the United Nations mandated no-fly zone below the 32d parallel in Iraq. This mission was initiated mainly to cover for attacks of Iraqi forces on the Iraqi Shi’ite Muslims. The squadron returned to the Block 30 Aircraft in 2004, receiving aircraft from the 50th TFW at Spangdahlem Air Base, Germany shifting from engine type once more.

As part of the Global War on Terrorism, the 138th EFS deployed twice to Balad Air Base, Iraq in 2006 and 2008.

In 2008 and 2010 members 174th Fighter Wing Security Forces Squadron deployed to Manas Air Base in Kyrgyzstan. The Security Forces members were attached to the 376th Expeditionary Security Forces Squadron where they provided base security.

In 2012 members of the 174th Attack Wings Security Forces Squadron deployed to Bagram Airfield Afghanistan. The Security Forces members were attached to the 455th Expeditionary Security Forces where they provided base security, fly away security, and air base ground defense.

MQ-9 Reaper and Attack Mission

138th Attack Squadron - General Atomics MQ-9B Reaper 09-4066.

In 2008 it became apparent that the 138th FS was going to lose its F-16s and that Hancock ANGB would lose its manned aviation after more than 60 years of operations. The squadron was set to fly the MQ-9 Reaper unmanned aerial vehicle (UAV). The unit’s transition from flying F-16 fighter jets in theater to operating unmanned aircraft from the suburbs was more than a tactical shift. It assured the future of the base at Hancock Field. In October 2009, the 174th Fighter Wing cut the ribbon on its new MQ-9 Reaper maintenance school, where it trains technicians from across the country, from all military branches.

On 6 March 2010 the last two F-16s (#85-1561 and #85-1570) departed Hancock Field marking the end of F-16 operations at the base. They made three low passes for the assembled crowd gathered to commemorate the end of manned aviation at the Syracuse ANG base in upstate New York.

As a result of the mission change, nearly two-thirds of the unit’s 31 F-16 fighter pilots either transferred to other units, retired or left the Air National Guard. Eleven took Reaper positions within the wing, swapping a pilot’s seat for a computer chair. Full-time personnel have increased, from 158 to 186. Part-time numbers have dropped, from 500 to 437.

Lineage

1991 Desert Storm patch
Operation Southern Watch deployment patch
  • Established as 174th Tactical Fighter Group and allotted to New York ANG in 1962
Received federal recognition and activated on 1 September 1962
Status changed from Group to Wing, 1 July 1979
Re-designated: 174th Tactical Fighter Wing, 1 July 1979
Re-designated: 174th Fighter Wing, 16 March 1992
Re-designated: 174th Attack Wing, 9 September 2012

Assignments

Gained by: Tactical Air Command
Gained by: Air Combat Command, 1 June 1992-Present

Components

  • 174th Operations Group, 1 June 1992 – Present

Stations

Designated: Hancock Field Air National Guard Base, 1991-Present

Aircraft

References

 This article incorporates public domain material from websites or documents of the Air Force Historical Research Agency.


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^ http://www.f-16.net/f-16_versions_article18.html
  2. ^ Jackie Parker - Fighter Pilot
  • Rogers, B. (2006). United States Air Force Unit Designations Since 1978. ISBN 1-85780-197-0
  • New York Department of Military Affairs Adjutant General Reports, 1947-1990
  • 174th Fighter Wing @syracuse.com

External links

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.