Wikipedia:Lua/Modul/PageAttributes/en
Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | |||
Modul | Deutsch | English
|
Modul: | Dokumentation |
PageAttributes
– Module to assign attributes to pages or entire namespaces.
Functions for templates
[Quelltext bearbeiten]- f
- Retrieve attributes of a particular page
- Parameter:
- 1
- group = submodule name
- (mandatory)
- 2
- page name
- if first character
#
and digits only following: numerical page ID - (optional) default: current page
- Returns:
- assigned attribute value
1
fortrue
- empty for
false
or nothing assigned oder unknown group - failsafe
- Version management
The Failsafe interface is heading for version management of globally distributed Lua modules. It enables modules equipped with this interface to
- ensure, that a library module required by a template or another module available as local copy does support certain functionality, or complain if not.
- administrate global updating and linking of module codes via Wikidata.
The Failsafe interface is present both at template level and for direct Lua access.
The functions in detail are (not all supported yet completely by every library):
Value | Result | current |
---|---|---|
nothingfalse
|
local version ID | »2022-06-06« |
Minimal version | version ID required at least date in ISO format It will be compared whether the current local implementation matches this version or later.
|
|
wikidata
|
version ID of global upstream
|
»2022-06-06« |
item
|
ID of the Wikidata item
|
Q112249306
|
~
|
Corresponding version ID locally and registered at Wikidata
|
»« |
@
|
Is the current (module) page linked correctly with Wikidata item?
|
»Q112249306« |
The return value is in template programming empty or under Lua false , otherwis a non-empty string as described.
|
sub-modules for groups
[Quelltext bearbeiten]A group of properties may be defined via a sub-module.
- Currently the name needs to be a direct sub page of the root module within the local Wiki. With JSON, in the future other namespaces will be accessible.
- It is supposed to be of type
mw.loadData
but may be JSON in future. - The following components may be returned:
rooms
– table- Assignments to namespace numbers
pageids
– table- Assignments to particular page ids
failsafe
– string- Version ID
Functions for Lua modules (API)
[Quelltext bearbeiten]The functions described above can be used by other modules per require()
:
local lucky, PageAttributes = pcall( require, "Module:PageAttributes" )
if type( PageAttributes ) == "table" then
PageAttributes = PageAttributes()
else
-- failure; PageAttributes is the error message
return "<span class=\"error\">" .. PageAttributes .. "</span>"
end
Then there is available:
- PageAttributes.f(ask,another)
- Query for a single page
- ask
- group = submodule name
- (mandatory)
- another
- Page identification
- string – page name, also with first character
#
and digits only following as page nummer - number – page nummer
- table – mw.title
- string – page name, also with first character
- default: current page
- Returns:
- assigned attribute value
- string, number, boolean, nil
false
if nothing assignednil
if unknown group- PageAttributes.failsafe( atleast )
- Version management
- Returns: string oder
false
Dependencies
[Quelltext bearbeiten]None.