Module:Citation/CS1/COinS: Difference between revisions
|  sync from sandbox; | Richardpruen (talk | contribs) m 1 revision imported: template update | ||
| (5 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
| --[[--------------------------< F O R W A R D   D E C L A R A T I O N S >-------------------------------------- | --[[--------------------------< F O R W A R D   D E C L A R A T I O N S >-------------------------------------- | ||
| ]] | ]] | ||
| local is_set, in_array, remove_wiki_link, strip_apostrophe_markup;	 | local has_accept_as_written, is_set, in_array, remove_wiki_link, strip_apostrophe_markup;	-- functions in Module:Citation/CS1/Utilities | ||
| local cfg;																		-- table of configuration tables that are defined in Module:Citation/CS1/Configuration | local cfg;																		-- table of configuration tables that are defined in Module:Citation/CS1/Configuration | ||
| Line 18: | Line 17: | ||
| local function make_coins_title (title, script) | local function make_coins_title (title, script) | ||
| 	title = has_accept_as_written (title); | |||
| 	if is_set (title) then | 	if is_set (title) then | ||
| 		title = strip_apostrophe_markup (title);								-- strip any apostrophe markup | 		title = strip_apostrophe_markup (title);								-- strip any apostrophe markup | ||
| Line 180: | Line 180: | ||
| 	}); | 	}); | ||
| 	if in_array (class, {'arxiv', 'biorxiv', 'citeseerx', 'ssrn', 'journal', 'news', 'magazine'}) or (in_array (class, {'conference', 'interview', 'map', 'press release', 'web'}) and is_set(data.Periodical)) or   | 	if in_array (class, {'arxiv', 'biorxiv', 'citeseerx', 'medrxiv', 'ssrn', 'journal', 'news', 'magazine'}) or | ||
| 		(in_array (class, {'conference', 'interview', 'map', 'press release', 'web'}) and is_set(data.Periodical)) or | |||
| 		('citation' == class and is_set(data.Periodical) and not is_set (data.Encyclopedia)) then | 		('citation' == class and is_set(data.Periodical) and not is_set (data.Encyclopedia)) then | ||
| 			OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal";			-- journal metadata identifier | 			OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal";			-- journal metadata identifier | ||
| 			if in_array (class, {'arxiv', 'biorxiv', 'citeseerx', 'ssrn'}) then	-- set genre according to the type of citation template we are rendering | 			if in_array (class, {'arxiv', 'biorxiv', 'citeseerx', 'medrxiv', 'ssrn'}) then	-- set genre according to the type of citation template we are rendering | ||
| 				OCinSoutput["rft.genre"] = "preprint";							-- cite arxiv, cite biorxiv, cite citeseerx, cite ssrn | 				OCinSoutput["rft.genre"] = "preprint";							-- cite arxiv, cite biorxiv, cite citeseerx, cite medrxiv, cite ssrn | ||
| 			elseif 'conference' == class then | 			elseif 'conference' == class then | ||
| 				OCinSoutput["rft.genre"] = "conference";						-- cite conference (when Periodical set) | 				OCinSoutput["rft.genre"] = "conference";						-- cite conference (when Periodical set) | ||
| Line 201: | Line 202: | ||
| 			OCinSoutput["rft.volume"] = data.Volume;							-- does not apply to books | 			OCinSoutput["rft.volume"] = data.Volume;							-- does not apply to books | ||
| 			OCinSoutput["rft.issue"] = data.Issue; | 			OCinSoutput["rft.issue"] = data.Issue; | ||
| 			OCinSoutput['rft.artnum'] = data.ArticleNumber;						-- {{cite journal}} only | |||
| 			OCinSoutput["rft.pages"] = data.Pages;								-- also used in book metadata | 			OCinSoutput["rft.pages"] = data.Pages;								-- also used in book metadata | ||
| Line 302: | Line 304: | ||
| 	cfg = cfg_table_ptr; | 	cfg = cfg_table_ptr; | ||
| 	has_accept_as_written = utilities_page_ptr.has_accept_as_written;			-- import functions from selected Module:Citation/CS1/Utilities module | |||
| 	is_set = utilities_page_ptr.is_set; | |||
| 	in_array = utilities_page_ptr.in_array; | 	in_array = utilities_page_ptr.in_array; | ||
| 	remove_wiki_link = utilities_page_ptr.remove_wiki_link; | 	remove_wiki_link = utilities_page_ptr.remove_wiki_link; | ||