Module:Page/doc

This module is meant to allow the goodies listed in mw:Extension:Scribunto/Lua_reference_manual to be accessed by people who don't want to write a Lua module.

Usage is:

Functions
In the usage above, function is one of the following fields or functions for title objects:


 * id: The page_id. 0 if the page does not exist.
 * interwiki: The interwiki prefix, or the empty string if none.
 * namespace: The namespace number.
 * fragment: The fragment, or the empty string. May be assigned.
 * nsText: The text of the namespace for the page.
 * subjectNsText: The text of the subject namespace for the page.
 * text: The title of the page, without the namespace or interwiki prefixes.
 * prefixedText: The title of the page, with the namespace and interwiki prefixes.
 * fullText: The title of the page, with the namespace and interwiki prefixes and the fragment.
 * rootText: If this is a subpage, the title of the root page without prefixes. Otherwise, the same as title.text.
 * baseText: If this is a subpage, the title of the page it is a subpage of without prefixes. Otherwise, the same as title.text.
 * subpageText: If this is a subpage, just the subpage name. Otherwise, the same as title.text.
 * canTalk: Whether the page for this title could have a talk page.
 * exists: Whether the page exists. Alias for fileExists for Media-namespace titles.
 * fileExists: Whether the file exists. For File- and Media-namespace titles, this is expensive.
 * isContentPage: Whether this title is in a content namespace.
 * isExternal: Whether this title has an interwiki prefix.
 * isLocal: Whether this title is in this project. For example, on the English WikiQueer, any other WikiQueer is considered "local" while Wiktionary and such are not.
 * isRedirect: Whether this is the title for a page that is a redirect.
 * isSpecialPage: Whether this is the title for a possible special page (i.e. a page in the Special: namespace).
 * isSubpage: Whether this title is a subpage of some other title.
 * isTalkPage: Whether this is a title for a talk page.
 * isSubpageOf( title2 ): Whether this title is a subpage of the given title.
 * inNamespace( ns ): Whether this title is in the given namespace. Namespaces may be specified by anything that is a key found in mw.site.namespaces.
 * inNamespaces( ... ): Whether this title is in any of the given namespaces. Namespaces may be specified by anything that is a key found in mw.site.namespaces.
 * hasSubjectNamespace( ns ): Whether this title's subject namespace is in the given namespace. Namespaces may be specified by anything that is a key found in mw.site.namespaces.
 * contentModel: The content model for this title, as a string.
 * basePageTitle: The same as mw.title.makeTitle( title.namespace, title.baseText ).
 * rootPageTitle: The same as mw.title.makeTitle( title.namespace, title.rootText ).
 * talkPageTitle: The same as mw.title.makeTitle( mw.site.namespaces[title.namespace].talk.id, title.text ), or nil if this title cannot have a talk page.
 * subjectPageTitle: The same as mw.title.makeTitle( mw.site.namespaces[title.namespace].subject.id, title.text ).
 * subPageTitle( text ): The same as mw.title.makeTitle( title.namespace, title.text .. '/' .. text ).
 * partialUrl: Returns title.text encoded as it would be in a URL.
 * fullUrl( query, proto ): Returns the full URL (with optional query table/string) for this title. proto may be specified to control the scheme of the resulting url: "http", "https", "relative" (the default), or "canonical".
 * localUrl( query ): Returns the local URL (with optional query table/string) for this title.
 * canonicalUrl( query ): Returns the canonical URL (with optional query table/string) for this title.
 * getContent: Returns the (unparsed) content of the page, or nil if there is no page.

Parameters

 * page = name of the page to load and evaluate. This is parameter "text" passed to mw.title.new or "title" passed to mw.title.makeTitle in the Mediawiki documentation.
 * Leave page blank to call mw.title.getCurrentTitle and thus default to the page presently being viewed.
 * makeTitle = Set this to any nonblank value to call mw.title.makeTitle. Otherwise mw.title.new is called.  The functions available for these and for getCurrentTitle are generally (exactly?) the same.
 * namespace = This parameter is passed to new/makeTitle to define what page to open.
 * fragment = This parameter is passed to makeTitle per the MediaWiki documentation.
 * interwiki = This parameter is passed to makeTitle per the MediaWiki documentation.
 * p1 is the first parameter passed to the functions within the title object.
 * "title2" for isSubPageOf
 * "ns" for inNamespace
 * (first parameter) of inNameSpaces
 * "ns" for hasSubjectNamespace
 * "text" for subpageTitle
 * "query" for fullUrl, localUrl, canonicalUrl
 * p2 is the second parameter passed to the functions within the title object.
 * (second parameter) of inNameSpaces
 * "proto" for fullUrl
 * p3 to p9 are collected and passed to the functions, but should only affect inNamespaces.

Bugs
'''Note: there has been significant limitation observed in using getContent because it yields the file with the templates substituted to Template:xxx and their parameters removed. Help with this bug would be appreciated. '''