Main

This module produces a link to a main article or articles.

It implements the {{main}} template. Normally, it produces a link like "Main article: A". If used in the category namespace, it produces a link like "The main article for this category is A". It is possible to specify multiple articles, and in this case plural wording is used automatically. If the first link is not an article, the module uses the wording "Main page" instead of "Main article".

Usage from wikitext

This module cannot be accessed directly from #invoke. Instead, it can only be used through the {{main}} template. Please see the template page for documentation.

Usage from other Lua modules

Load the module:

local mMain = require('Module:Main') 

You can then use the _main function like this:

mMain._main(args, options) 

The args parameter following options are a list of page link strings; if they use custom display values, each string should be preprocessed into a single piped string (e.g. page|display value). Category or file links are automatically escaped using the colon trick. If a link includes a section name, and no display value is set, links are automatically formatted as page § section, rather than the MediaWiki default of page#section.

The optional options table can be used to configure the function's output. At present, the only option available is "selfref", which is used when the output is a self-reference to Wiki ᱥᱟᱱᱛᱟᱲᱤ. to set this option, use {selfref = true}. (See the {{selfref}} template for more details on self-references.)

Example 1

mMain._main({'A'}) 

Produces:

Displays as:

Example 2

mMain._main({'Wikipedia:Categorization', 'Help:Category', 'Category:Wikipedia categories'}) 

Produces:

Displays as:

Example 3

mMain._main({'A|the letter "A"', 'B|the letter "B"', 'C|the letter "C"'}) 

Produces:

Displays as:

Example 4

mMain._main({'Wikipedia:Verifiability#Burden'}, {selfref = true}) 

Produces:

Displays as:

Example 5 (if used in the category namespace)

mMain._main({'A'}) 

Produces:

Displays as:

Technical details

This module uses Module:Hatnote to format the hatnote text, Module:Hatnote list to process the list of links, and Module:Arguments to fetch the arguments from wikitext.


--[[ --  It implements the -- template {{ᱢᱩᱬ}}. --  -- If the module is used in category or category talk space, it produces "The -- main article for this category is xxx". Otherwise, it produces -- "Main article: xxx". --]]  local mHatnote = require('Module:Hatnote') local mHatlist = require('Module:Hatnote list') local mArguments -- lazily initialise local p = {}  function p.main(frame) mArguments = require('Module:Arguments') local args = mArguments.getArgs(frame, {parentOnly = true}) local pages = {} for k, v in pairs(args) do if type(k) == 'number' then local display = args['label ' .. k] or args['l' .. k] local page = display and string.format('%s|%s', string.gsub(v, '|.*$', ''), display) or v pages[#pages + 1] = page end end if #pages == 0 and mw.title.getCurrentTitle().namespace == 0 then return mHatnote.makeWikitextError( 'ᱚᱠᱟ ᱥᱟᱦᱴᱟ ᱨᱮᱭᱟᱜ ᱧᱩᱛᱩᱢ ᱦᱚᱸ ᱵᱟᱝ ᱮᱢ ᱦᱩᱭᱟᱠᱟᱱᱟ', 'ᱪᱷᱟᱸᱪ:ᱢᱩᱬ#ᱦᱩᱲᱟᱹᱜ', args.category ) end local options = { selfref = args.selfref } return p._main(pages, options) end  function p._main(args, options) -- Get the list of pages. If no first page was specified we use the current -- page name. local currentTitle = mw.title.getCurrentTitle() if #args == 0 then args = {currentTitle.text} end local firstPage = string.gsub(args[1], '|.*$', '') -- Find the pagetype. local pageType = mHatnote.findNamespaceId(firstPage) == 0 and 'ᱚᱱᱚᱞ' or 'ᱥᱟᱦᱴᱟ' -- Make the formatted link text list = mHatlist.andList(args, true) -- Build the text. local isPlural = #args > 1 local mainForm local curNs = currentTitle.namespace if (curNs == 14) or (curNs == 15) then --category/talk namespaces mainForm = isPlural and 'ᱱᱚᱣᱟ [[Wikipedia:Categorization|category]] ᱞᱟᱹᱜᱤᱫ ᱢᱩᱬ %sᱠᱚ ᱫᱚ ᱦᱩᱭᱩᱜ ᱠᱟᱱᱟ %s' or 'ᱱᱚᱣᱟ [[Wikipedia:Categorization|category]] ᱞᱟᱹᱜᱤᱫ ᱢᱩᱬ %sᱫᱚ ᱦᱩᱭᱩᱜ ᱠᱟᱱᱟ %s' else mainForm = isPlural and 'ᱢᱩᱬ %sᱠᱚ: %s' or 'ᱢᱩᱬ %s: %s' end local text = string.format(mainForm, pageType, list) -- Process the options and pass the text to the _rellink function in -- [[Module:Hatnote]]. options = options or {} local hnOptions = { selfref = options.selfref } return mHatnote._hatnote(text, hnOptions) end  return p 

Tags:

ᱪᱷᱟᱸᱪ:Main

🔥 Trending searches on Wiki ᱥᱟᱱᱛᱟᱲᱤ:

ᱜᱽᱨᱤᱠᱫᱟᱥᱟᱸᱭ ᱵᱚᱝᱜᱟᱨᱚᱱᱮ ᱫᱮᱠᱟᱨᱛᱯᱟᱞᱟᱣᱢᱚᱱᱴᱟᱱᱟ ᱯᱚᱱᱚᱛᱦᱤᱵᱨᱩ ᱯᱟᱹᱨᱥᱤᱢᱟᱨᱠᱤᱱ ᱰᱚᱞᱟᱨᱚᱣᱟᱝᱠᱳᱭᱤ...ᱢᱤᱞ ᱜᱟᱭᱟᱥᱚᱱᱟᱞᱟᱴᱤᱱ ᱯᱟᱹᱨᱥᱤᱢᱚᱫᱷᱭᱚ ᱯᱨᱚᱫᱮᱥᱣᱤᱞᱤᱭᱚᱢ ᱥᱮᱠᱥᱯᱤᱭᱚᱨᱥᱤᱱᱫᱷᱩ ᱥᱚᱥᱱᱚᱜᱤᱝᱞᱤᱥ ᱯᱟᱹᱨᱥᱤᱦᱟᱯᱛᱟᱠᱟᱹᱛᱞᱤᱠ ᱪᱟᱨᱪᱟᱨᱟᱢᱟᱭᱤᱠ ᱯᱟᱹᱨᱥᱤᱞᱩᱣᱟᱱᱰᱟᱯᱟᱠᱤᱥᱛᱟᱱᱴᱤᱨᱟᱹ ᱮᱸᱜᱮᱞᱢᱤᱭᱟᱢᱤᱠᱳᱨᱤᱭᱟᱱ ᱞᱟᱹᱰᱷᱟᱹᱭᱯᱮᱴᱟᱨ ᱫᱽ ᱜᱽᱨᱮᱴᱠᱚᱢᱯᱩᱴᱚᱨᱜᱩᱜᱟᱞ ᱯᱞᱮᱣᱤᱠᱤᱢᱤᱰᱤᱭᱟ ᱯᱷᱟᱣᱱᱰᱮᱥᱚᱱᱦᱟᱹᱛᱤᱟᱱᱴᱟᱨᱠᱚᱴᱤᱠᱟᱢᱮᱥᱳᱯᱳᱴᱟᱢᱤᱭᱟᱰᱚᱱᱟᱞᱰ ᱴᱨᱟᱹᱢᱯᱯᱨᱤᱭᱟ ᱟᱱᱚᱫᱽᱯᱟᱹᱨᱥᱤᱥᱮᱦᱵᱟᱡᱽ ᱥᱚᱨᱤᱯᱷᱜᱩᱜᱚᱞᱢᱩᱦᱟᱢᱢᱚᱫᱽᱚᱞᱤᱢᱯᱤᱠ ᱠᱷᱮᱞᱚᱸᱰᱠᱚᱸᱭᱮ ᱠᱟᱞᱤᱢᱟᱱᱛᱟᱱᱵᱷᱞᱟᱫᱤᱢᱤᱨ ᱯᱩᱛᱤᱱᱟᱧᱡᱮᱞᱤᱱᱟ ᱡᱳᱞᱤᱣᱤᱠᱤᱯᱤᱰᱤᱭᱟ ᱨᱮᱱᱟᱜ ᱛᱟᱹᱞᱤᱠᱟᱠᱚᱪᱤᱸᱰᱩ (ᱯᱷᱩᱴᱵᱚᱞ)ᱪᱤᱱ ᱯᱚᱱᱚᱛᱫᱷᱤᱨᱤ ᱡᱩᱜᱽᱥᱤᱨᱤᱭᱟᱤᱴᱟᱞᱤᱵᱽᱨᱟᱡᱤᱞᱨᱚᱴᱮᱠᱳᱨᱥᱤᱠᱟᱱ ᱯᱟᱹᱨᱥᱤᱢᱩᱛᱷᱩᱴ ᱯᱷᱟᱭᱱᱮᱱᱥᱯᱟ.ᱨᱤ ᱨᱩᱣᱟ.ᱡᱤᱥᱩ ᱵᱤᱨᱤᱫ ᱨᱩᱣᱟᱹᱲᱚᱜᱤᱭᱟᱦᱩᱢᱩᱬᱩᱛ ᱥᱟᱦᱴᱟᱨᱟᱥᱤᱭᱟᱠᱟᱨᱴᱩᱱᱵᱮᱞᱡᱤᱭᱟᱢᱱᱮᱛᱟᱡᱤ ᱢᱚᱦᱟᱵᱤᱫᱽᱫᱟᱞᱚᱭᱠᱳᱵᱷᱮᱠᱥᱤᱱᱯᱩᱸᱡᱤᱵᱟᱫᱽᱢᱮᱠᱥᱤᱠᱚ ᱱᱟᱜᱟᱨᱮᱥᱤᱭᱟᱛᱷᱟᱭᱞᱮᱱᱰᱢᱟᱣ ᱡᱮᱫᱚᱝᱛᱩᱨᱠᱤᱜᱟᱹᱰᱤᱵᱤᱥᱥᱚ ᱵᱮᱝᱠᱤᱣᱠᱨᱮᱱᱣᱤᱠᱤᱯᱤᱰᱤᱭᱟᱥᱤᱧᱚᱛᱤᱭᱟᱹ ᱰᱟᱠ🡆 More