Module:TemplateFieldProcessor: Difference between revisions
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
--[[ | --[[ | ||
* Name: TemplateFieldProcessor | |||
* Author: Mark W. Datysgeld | |||
* Description: Field processing functionality for templates with processor initialization, caching, and error handling | |||
* Notes: Standard field processors for common field types; processor initialization and caching; field value retrieval; field processing with error handling; declarative list generation via field.list property; includes wiki link handling strategy | |||
]] | ]] | ||
| Line 24: | Line 19: | ||
local LinkParser = require('Module:LinkParser') | local LinkParser = require('Module:LinkParser') | ||
local NormalizationText = require('Module:NormalizationText') | local NormalizationText = require('Module:NormalizationText') | ||
-- Module-level caches for expensive operations | -- Module-level caches for expensive operations | ||
| Line 157: | Line 151: | ||
identity = function(value, args, template) | identity = function(value, args, template) | ||
return value | return value | ||
end, | end, | ||
| Line 180: | Line 169: | ||
-- Default single-date formatting | -- Default single-date formatting | ||
return getNormalizationDate().formatDate(value) | return getNormalizationDate().formatDate(value) | ||
end, | end, | ||
| Line 222: | Line 206: | ||
return EMPTY_STRING | return EMPTY_STRING | ||
end | end | ||
-- | -- Wiki Link Handling Strategy: preserveWikiLinks prevents stripping of wiki links | ||
local sanitizeOptions = { | |||
preserveWikiLinks = field.autoWikiLink or field.preserveWikiLinks | |||
} | |||
-- Wiki Link Handling Strategy: preserveWikiLinks prevents stripping of wiki links | -- Wiki Link Handling Strategy: preserveWikiLinks prevents stripping of wiki links | ||