Module:Cronos/doc
This is the documentation page for Module:Cronos
This module uses TemplateStyles: |
The Module:Cronos is the core of the Meta:Cronos project and it's the Lua module implementing these templates:
- {{Cronos month}}
- {{Cronos list}}
See their related documentation for normal usage from wikitext.
Proceed in this page to discover how to read events using Cronos' public Lua APIs.
Overview
[edit]The source code of Module:Cronos is object-oriented and with lot of in-line documentation. Read-it.
In short there are some classes:
- CronosEvent
- whatever event (party, session, hackaton, etc.)
- CronosDay
- collector of events happening in a specific day
- CronosCategory
- one for each Event, this is its icon (see phab:T254586)
- CronosCalendarContext
- unuseful utility class used to store preferences and filters (e.g. Tags)
CronosDay API
[edit]You can access the data of a single Event from other Lua modules:
-- load the module
local Cronos = require( 'Module:Cronos' )
-- load a single day
local day = Cronos._day( '2019-03-25' )
-- load related events sorted by time
local events = day:getEventsSortedByTime()
-- loop these events
for i, event in pairs( events ) do
-- examine start date
mw.logObject( event:getStartDate() )
-- examine end date
mw.logObject( event:getEndDate() )
-- examine its category icon
mw.logObject( event:getCategory():getIconWikitext() )
-- examine some other data available in the CronosEvent object
mw.logObject( event )
end
CronosCategory API
[edit]You can also obtain other information like a known Category:
-- load the module
local Cronos = require( 'Module:Cronos' )
-- load a single category
local category = Cronos._category( 'libre' )
-- examine its icon
mw.logObject( category:getIconWikitext() )
-- examine its user identifier (e.g. 'libre')
mw.logObject( category.uid )
-- examine its name (e.g. 'Free Software initiatives')
mw.logObject( category.name )
-- examine some other data available in the CronosCategory object
mw.logObject( category )
Other APIs
[edit]Please look at the source code for everything exported in the p
-ackage. The source code is intensively in-line documented.
Questions / Issues
[edit]For any question or idea feel free to write in the talk page pinging the current maintainer who is User:Valerio Bozzolan.
For any issue feel free to open a new Task in Wikimedia Phabricator with the #WMCH-Cronos Tag and assign it to valerio.bozzolan: Create a Task.