Module:Cite/TemplateData

From Zelda Wiki, the Zelda encyclopedia
Jump to navigation Jump to search

This data is used to auto-generate documentation and validate input for templates backed by Module:Cite.


return {
	Cite = {
		purpose = "Citing in-game text. For more information, see [[Guidelines:References]].",
		format = "inline",
		paramOrder = {1, 2, "plural", 3, 4},
		params = {
			[1] = {
				name = "quote",
				required = true,
				type = "content",
				desc = "The text to cite. Generally speaking, one should quote the [[Guidelines:Canon#Version Differences|latest remake]] of a game."
			},
			[2] = {
				name = "source",
				required = true,
				trim = true,
				nilIfEmpty = true,
				type = "string",
				desc = "The source of the in-game text. Usually this is a speaking character. For written text, cite the source as being text itself if it has a name, otherwise cite its author. A [[:Category:Menus|menu screen]] can also be a source. If the text corresponds to in-game narration, use <code>N/A</code>. If <code>game</code> is a valid game code, then <code>source</code> is treated as a [[Template:Term|term]] subject (unless it's <code>N/A</code>).",
			},
			plural = {
				type = "boolean",
				desc = "Typing <code>yes</code> in this field causes <code>speaker</code> to be [[Template:Plural|pluralized]], if it is a valid term.",
				canOmit = true,
				trim = true,
				nilIfEmpty = true,
			},
			[3] = {
				name = "game",
				required = true,
				type = "string",
				desc = "A [[Data:Franchise|game code]]. If no such game exists at [[Data:Franchise]] (i.e. any third-party game outside the ''Zelda'' franchise), this field will instead be treated as plain wikitext. In this case, an interwiki link must be used."
			},
			[4] = {
				name = "version",
				type = "content",
				desc = "Can be used to specify a port, game mode, or localization of the game.",
				canOmit = true,
			},
		},
		examples = {
			{
				desc = "A regular citation. Note that <code>version</code> is not to be used when citing American English text, nor when citing a remake.",
				args = {"Leave these {{Color|TPHD Red|woods}} and go to the {{Color|TPHD Red|east}}, where you will find the land protected by {{Color|TPHD Red|the spirit Eldin}}.", "Faron (Spirit)", "TPHD"},
			},
			{
				desc = "Cited text may be automatically colorized to match the in-game text color, which may change depending on the source. These colors are defined at [[Module:Cite/Data]].<br/> Specific words or phrases must be colorized manually using [[Template:Color]].",
				args = {"An {{Color|SSHD Blue|incarnation}} of my hatred shall ever follow your kind, dooming them to wander a blood-soaked sea of darkness for all time!", "Demise", "SSHD"},
			},
			{
				desc = "Citing a plural term.",
				args = {"'''Cryonis<br>Create a pillar of ice from a water surface.'''<br>Builds ice pillars that are very stable. These pillars can be used as {{Color|BotW Red|stepping stones}} or as {{Color|BotW Red|obstacles}}. Use Cryonis on an ice pillar to {{Color|BotW Red|break}} it.", "Rune", plural = "yes", "BotW"},
			},
			{
				desc = "Invalid terms are marked accordingly.",
				args = {"Lorem ipsum", "Not a Real Term", "BotW"},
			},
			{
				desc = "<code>N/A</code> is not counted as a term.",
				args = {"This is but one of the legends of which the people speak...", "N/A", "TWWHD"},
			},
			{
				desc = "Citing menu screens is sometimes necessary.",
				args = {"'''{{Big|Akkala Highlands}}'''", "Map", "BotW"},
			},
			{
				desc = "When citing written text which has a valid term, use that term instead of the author's name.",
				args = {"Today, I told everything to Mikau, the one person whom I didn't want to know about it. At first, I was too embarrassed and too sad to do anything. And with the words that Mikau said at that moment, I felt that all hope had been lost. But please, Mikau, I'm begging you, don't do anything rash.", "Lulu's Diary", "MM3D"},
			},
			{
				desc = "Citing an alternate version/game mode. Citations of outdated game versions are marked with a maintenance category, as they are generally to be avoided.",
				args = {"Leave these {{Color|TPHD Red|woods}} and go to the {{Color|TPHD Red|west}}, where you will find the land protected by {{Color|TPHD Red|the spirit Eldin}}.", "Faron (Spirit)", "TP", "Wii version"},
			},
			{
				desc = "Citing a game in another language.",
				args = {"{{Exp|Translation: That sword is the Anti-Demon Sword that repels demons. However, it is also the annoying seal that was sealing my demon tribe.|その剣は、魔を撃退する{{Color|TWW Vermilion|退魔の剣}} であると同時に、 我が魔族を封じていた、いまいましい{{Color|TWW Vermilion|封印}} そのものなのだよ!}}", "Ganondorf", "TWW", "Japanese version"} 
			},
			{
				desc = "Citing a non-Zelda game with Zelda references",
				args = {"Tired of pixies asking you to listen?", "N/A", "{{Ip|Kid Icarus: Uprising}}"}
			},
			{
				desc = "Citing a game that is neither a valid code nor a link is considered an error.",
				args = {"", "N/A", "notARealGame"},
			},
		}
	},
	["Cite Book"] = {
		format = "inline",
		paramOrder = {"quote", "character", "book", "publisher", "lang", "edition", "volume", "issue", "page"},
		boilerplate = {
			tabs = {
				{
					label = "Fiction",
					desc = "For citing manga, comics, novels, and other works of fiction.",
					params = {"quote", "book", "character", "publisher", "page"},
				},
				{
					label = "Nonfiction",
					desc = "For citing books such as {{E}}.",
					params = {"quote", "book", "publisher", "page"},
				},
				{
					label = "Nonfiction (Alternative Language)",
					desc = "For citing books such as {{E}} in other languages.",
					params = {"quote", "book", "lang", "page"},
				},
				{
					label = "All Parameters",
					params = {"quote", "character", "book", "publisher", "lang", "edition", "volume", "issue", "page"},
				},
			},
		},
		params = {
			quote = {
				desc = "The quote to cite.",
				type = "content",
				trim = true,
				nilIfEmpty = true,
			},
			character = {
				desc = "The name of the character speaking the quote. Use this for works of fiction such as manga, comics, and gamebooks.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			book = {
				desc = "<p>The code for a book entry at [[Data:Franchise]].</p><p>To cite a book that is not licensed by Nintendo and therefore not defined in Data:Franchise, write the name of the book ''with italics''. A book name without italics is considered invalid if it is not in Data:Franchise.</p>",
				type = "content",
				required = true,
				trim = true,
				nilIfEmpty = true,
			},
			lang = {
				type = "string",
				desc = "A language code - used when citing books such as {{E}} in other languages. See [[Module:Cite/Data]] for supported languages.",
				trim = true,
				nilIfEmpty = true,
			},
			publisher = {
				desc = "<p>The publisher of the book.</p><p>Leave this empty when citing a book from [[Data:Franchise]] - the publisher will be automatically generated.</p>",
				type = "content",
				trim = true,
				nilIfEmpty = true,
			},
			edition = {
				desc = "The book's edition.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			volume = {
				desc = "The volume number for the book quote, if applicable.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			issue = {
				desc = "A comic issue number.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			page = {
				desc = "The cited page(s).",
				type = "string",
				required = CATEGORY_MISSING_PAGE,
				trim = true,
				nilIfEmpty = true,
			},
		},
	},
	["Cite Guide"] = {
		format = "inline",
		paramOrder = {"quote", "game", "guide", "page", "edition", "year"},
		boilerplate = {
			tabs = {
				{
					label = "Guide",
					params = {"quote", "game", "guide", "page"},
				},
				{
					label = "Guide Edition",
					params = {"quote", "game", "guide", "page", "edition", "year"},
				},
			},
		},
		params = {
			quote = {
				desc = "The quote to cite.",
				type = "content",
				trim = true,
				nilIfEmpty = true,
			},
			game = {
				desc = "The game abbreviation associated with the guide. See [[Template:Guide#Supported Guides]].",
				type = "string",
				required = true,
				trim = true,
				nilIfEmpty = true,
			},
			guide = {
				aliases = {"publisher"},
				desc = "The guide abbreviation. See [[Template:Guide#Supported Guides]]. This parameter was formerly named <code>publisher</code>.",
				type = "string",
				required = true,
				trim = true,
				nilIfEmpty = true,
			},
			page = {
				desc = "The cited page(s).",
				type = "string",
				required = CATEGORY_MISSING_PAGE,
				trim = true,
				nilIfEmpty = true,
			},
			edition = {
				desc = "The edition of the guide.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			year = {
				desc = "The year of release of the magazine edition.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
		},
		examples = {
			{
				quote = "",
				game = "TLoZ",
				guide = "Nintendo",
				page = "5",
			},
			{
				quote = "",
				game = "TLoZ",
				guide = "NES Game Atlas",
				page = "5",
			},
			{
				quote = "This is a quote.",
				game = "TWWHD",
				guide = "Prima",
				page = "5",
				edition = "Premiere Edition",
				year = "2011",
			},
			{
				desc = "The <code>publisher</code> parameter was renamed to <code>guide</code> but the former is still supported.",
				args = {
					quote = "",
					game = "ALttP",
					publisher = "Nintendo",
					page = "5",
				},
			},
			{
				desc = "Error handling",
				args = {
					quote = "",
					game = "OoT3D",
					guide = "invalid guide",
					page = "",
				},
			},
			{
				quote = "",
				game = "OoT",
				guide = "",
				page = "5",
			},
			{
				quote = "",
				game = "",
				guide = "",
				page = "5",
			}
		},
	},
	["Cite Magazine"] = {
		purpose = "Citing [[:Category:Magazines|magazines]] according to [[Guidelines:References]].",
		format = "inline",
		paramOrder = {"quote", "interviewee", "magazine", "publisher", "volume", "issue", "date", "page", "url"},
		boilerplate = {
			tabs = {
				{
					label = "Magazine",
					params = {"quote", "magazine", "publisher", "volume", "issue", "date", "page", "url"},
				},
				{
					label = "Magazine Interview",
					params = {"quote", "magazine", "interviewee", "publisher", "volume", "issue", "date", "page", "url"},
				}
			},	
		},
		params = {
			quote = {
				desc = "The quote to cite.",
				type = "content",
				trim = true,
				nilIfEmpty = true,
			},
			interviewee = {
				desc = "If <code>quote</code> is an answer from an inteview, enter the interviewee's name.",
				type = "string",
				trim = true,
				nilIfEmpty= true,
			},
			magazine = {
				desc = "<p>The name of the magazine. Use a magazine name supported by [[Template:Magazine]].</p><p>To cite a magazine that is not licensed by Nintendo and therefore not supported by Template:Magazine, write the name of the magazine ''with italics''. A magazine name without formatting is considered invalid if it is not supported by Template:Magazine.</p>",
				type = "content",
				required = true,
				trim = true,
				nilIfEmpty = true,
			},
			publisher = {
				desc = "<p>The publisher of the magazine.</p><p>Leave this empty if citing a magazine supported by [[Template:Magazine]].</p>",
				type = "content",
				trim = true,
				nilIfEmpty = true,
			},
			date = {
				desc = "The {{Wp|cover date}} of the cited magazine issue.",
				type = "string",
				required = true,
				trim = true,
				nilIfEmpty = true,
			},
			volume = {
				desc = "The volume number of the cited magazine issue.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			issue = {
				desc = "The issue number of the cited magazine issue.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			url = {
				desc = "An archive.org URL where the magazine can be read. Use the URL specifically for the cited page.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			page = {
				desc = "The cited page(s).",
				type = "string",
				required = CATEGORY_MISSING_PAGE,
				trim = true,
				nilIfEmpty = true,
			},
		},
		examples = {
			{
				quote = "If you distract its attention and sneak up, you might be able to ride it.",
				magazine = "Nintendo Magazine",
				publisher = "",
				date = "Winter 2021",
				volume = "",
				issue = "",
				url = "https://archive.org/details/nintendomagazine-2021winter-english/16.jpg",
				page = "16",
			},
			{
				quote = "",
				magazine = "Nintendo Power",
				publisher = "",
				date = "July/August 1988",
				volume = "",
				issue = "1",
				url = "https://archive.org/details/nintendo_power_issue1/page/n25",
				page = "26",
			},
			{
				quote = "",
				magazine = "Nintendo Fun Club News",
				publisher = "",
				date = "Fall 1987",
				volume = "1",
				issue = "3",
				url = "https://archive.org/details/NintendoFunClubMagazines/Nintendo%20Fun%20Club%20News%20Issue%203%20%28Fall%201987%29/page/n7",
				page = "8",
			},
			{
				quote = "I have already talked to Mr. Miyamoto about this so I am comfortable releasing this information--this title [Skyward Sword] takes place before Ocarina of Time.",
				magazine = "Official Nintendo Magazine",
				date = "December 2010",
				issue = "62",
				page = "51",
				interviewee = "Eiji Aonuma",
			},
			{
				desc = "To cite a magazine not licensed by Nintendo, write the magazine name with italics.",
				args = {
					quote = "Out: 10/05",
					magazine = "''CD-i Magazine''",
					publisher = "Haymarket Publishing",
					date = "April 1996",
					volume = " ",
					issue = "17",
					url = "https://archive.org/details/cdi-uk-17",
					page = "12",
				},
			},
			{
				magazine = "invalid magazine",
				date = "October 2022",
				page = "",
			},
			{
				magazine = "",
			},
		}
	},
	["Cite Manual"] = {
		format = "inline",
		paramOrder = {"quote", "game", "product", "version", "page"},
		boilerplate = {
			tabs = {
				{
					label = "Game Manual",
					params = {"quote", "game", "page"}, 
				},
				{
					label = "Game Version",
					params = {"quote", "game", "version", "page"},
				},
				{
					label = "Product Manual",
					params = {"quote", "product", "page"},
				},
			},
		},
		params = {
			quote = {
				desc = "The quote to cite.",
				type = "content",
				trim = true,
				nilIfEmpty = true,
			},
			game = {
				desc = "The game abbreviation associated with the manual. See [[Data:Franchise]] for supported games.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			product = {
				desc = "Used instead of <code>game</code> to cite the manual of a product not defined at Data:Franchise - a console manual, for example.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			version = {
				desc = "Used to specify a specific port, game mode, or localization of the game if applicable.",
				type = "string",
				trim = true,
				nilIfEmpty = true,
			},
			page = {
				desc = "The cited page or pages (format: 54 or 34-36).",
				type = "string",
				required = CATEGORY_MISSING_PAGE,
				trim = true,
				nilIfEmpty = true,
			},
		},
	},
}