మాడ్యూల్:Format link/doc
This is a documentation subpage for మాడ్యూల్:Format link. It may contain usage information, categories and other content that is not part of the original మాడ్యూల్ page. |
This Lua module is used on many pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module, migrated from origins in Module:Hatnote, provides functionality for formatting links for display, including that powering the {{format link}} template.
It can pretty-format section links with the section symbol ("§") and appropriate whitespace, it automatically escapes category and file names with the colon trick, and includes functionality for italicizing the page or section name, and for detecting and categorizing results that produce red links.
Use from wikitext
[మార్చు]The functions in this module cannot be used directly from #invoke, and must be used through templates instead. Please see Template:Format link for documentation on usage of that template.
Use from other Lua modules
[మార్చు]To load this module from another Lua module, use the following code:
local mFormatLink = require('Module:Format link')
You can then use the functions as documented below.
_formatLink
[మార్చు]mFormatLink._formatLink{
link = link,
display = display,
italicizePage = true,
italicizeSection = true,
categorizeMissing = 'Pages using formatted red links'
}
Formats link as a wikilink, with optional display value display. Categories and files are automatically escaped with the colon trick, and links to sections are automatically formatted as page § section, rather than the MediaWiki default of page#section. If manual piping is present in link, then the "manual" display value will be overridden by the display value if present.
If italicizePage is true then the page portion of the link is italicized, and if italicizeSection is true then the section portion of the link is italicized. If categorizeMissing is a string, then that value is used as a category name, and that category will be applied if the target of the link doesn't exist.
- Examples
mFormatLink._formatLink{link = 'Foo#Bar'}
→ [[:Foo#Bar|Foo § Bar]] → Foo § BarmFormatLink._formatLink{link = 'Baz', display = 'Qux'}
→ [[:Baz|Qux]] → QuxmFormatLink._formatLink{link = 'Foo|Bar', display = 'Baz'}
→ [[:Foo|Baz]] → BazmFormatLink._formatLink{link = 'Nonexistent page', categorizeMissing = 'Example'}
→ [[:Nonexistent page]][[Category:Example]] → Nonexistent pagemFormatLink._formatLink{link = 'Existing', categorizeMissing = 'Example'}
→ [[:Existing]] → ExistingmFormatLink._formatLink{link = 'The Lord of the Rings#Plot', italicizePage = true}
→ [[:The Lord of the Rings#Plot|''The Lord of the Rings'' § Plot]] → The Lord of the Rings § PlotmFormatLink._formatLink{link = 'Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice', italicizeSection = true}
→ [[:Cybercrime Prevention Act of 2012#Disini v. Secretary of Justice|Cybercrime Prevention Act of 2012 § ''Disini v. Secretary of Justice'']] → Cybercrime Prevention Act of 2012 § Disini v. Secretary of Justice
formatPages
[మార్చు]mFormatLink.formatPages(options, pages)
This derived function is useful for lists that format many links. It formats an array of pages using the _formatLink function, and returns the result as an array. Options in the options table are applied, and use the same names as the options for _formatLink.
- Example
mFormatLink.formatPages({categorizeMissing = 'Example'}, {'Foo#Bar', 'Nonexistent page'})
→{'[[:Foo#Bar|Foo § Bar]]', '[[:Nonexistent page]][[Category:Example]]'}