====== Agenda Plugin ====== ---- plugin ---- description: Personal organizer and day planner, that lets you group tasks by projects author : javy_tahu email : vytautas@jakut.is type : syntax lastupdate : 2011-10-10 compatible : Lemming depends : conflicts : similar : Gtd, Task, Do tags : !discontinued, agenda, todo, pm, projects, task downloadurl: # https://github.com/tahu/dokuwiki-agenda/zipball/master bugtracker : # https://github.com/tahu/dokuwiki-agenda/issues sourcerepo : # https://github.com/tahu/dokuwiki-agenda/ donationurl: # https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=Z33AVZY6K42RQ FIXME ---- [[https://jakut.is/dokuwiki/dokuwiki-agenda|Demo page]] FIXME ==== About ==== * dokuwiki-agenda: personal organizer and day planner, that lets you group tasks by projects * platform: a plugin for [[:DokuWiki]] * author: [[vytautas@jakut.is|Vytautas Jakutis]] * demo page: https://jakut.is/dokuwiki/dokuwiki-agenda FIXME * dokuwiki plugin page: http://www.dokuwiki.org/plugin:agenda * issue tracker: https://github.com/tahu/dokuwiki-agenda/issues FIXME * source code repository: %%git://github.com/tahu/dokuwiki-agenda.git%% FIXME ==== Installation ==== If you install this plugin manually, make sure it is installed in lib/plugins/agenda/ - if the folder is called different it will not work! Please refer to [[:plugins]] for additional info on how to install plugins in DokuWiki. ==== Usage ==== Notice: this syntax plugin requires %%~~NOCACHE~~%% in the page the tags are used in. === Prerequisite terms === **Cycle** is a unit of interval of time. **Scheduled cycle** is a cycle with a date and a number that represents the time when the cycle is scheduled in that date. **Project** has a title and a list of tasks. **Task** has a description and a list of scheduled cycles. **Wakeup log** is a sorted list of dates and times that represents the time of getting out of bed for the particular date. === DokuWiki syntax tags === The parameters for tags are formatted using [[http://yaml.org/|Yet Another Markup Language]], see the example on the bottom of this README. '''' renders a widget to browse the dates forwards and backwards, one day at a time. It takes no parameters '''' renders a table with times and tasks in a current day. It takes these parameters: baseID, cycleLength, wakeupFile, wakeupTime, exclude, statics, incycles, cycleNames, cycles. '''' renders a small table of weekdays and the first date that has at least one unscheduled cycle in them. It takes these parameters: cycles, exclude, incycles, baseID. '''' renders a list of every projects tasks that have an empty list of scheduled cycles. It takes these parameters: exclude, incycles, baseID. === Project pages === Project title is the last element of a project page ID. Two titles are forbidden to use: "action" and "static". Project pages represent the projects by using a table. The first column has a task description. The second column has a comma-separated list of scheduled cycles. An example of a single scheduled cycle representation: 2011-09-05 4. An example of a project page: | meet with Alice to discuss user requirements | 2011-10-18 4 | | write a weekly report | 2011-10-10 3, 2011-10-17 3 | === Tag parameters === ''baseID'' is an ID of namespace where the pages of projects are in. ''cycleLength'' is a number of minutes that defines the length of one cycle. ''wakeupTime'' is a time of day when you regularly wake up, e.g. 06:00. If it is null, then the wakeupFile is used to set the wakeup time for all the dates. The dates in future will have the wakeupTime of the last logged date. ''wakeupFile'' is an ID of the wakeup log page, example contents of that page: | 2011-09-04 | 07:00 | | 2011-09-05 | 06:00 | | 2011-09-06 | 06:05 | ''exclude'' is a list of titles of projects that must not be listed anywhere, they must be just ignored. ''statics'' is a list of labels used to replace "static" in cycles parameter. ''incycles'' is a map of project titles to lists of labels that will be used in cycles parameter. ''cycles'' is a list of project titles from incycles, and types "action" and "static". This is the template for your day. The project titles will be replaced with labels from incycles parameter and a list of tasks from the project page by finding the matching scheduled cycle. The "action" items will be replaced with just a list of tasks gathered the same way. The "static" items will be replaced with labels from the statics parameter. To fully understand the parameters, study the example below. === Example === ~~NOCACHE~~ baseID: :tasks:folders cycleLength: 90 wakeupFile: :wakeup wakeupTime: null exclude: [MOVIES] statics: [sleep preparation routine] incycles: MEAL: [breakfast, lunch, dinner, supper] cycles: [MEAL, action, action, MEAL, action, MEAL, action, action, MEAL, static] baseID: :tasks:folders cycles: [MEAL, action, action, MEAL, action, MEAL, action, action, MEAL, static] exclude: [MOVIES] incycles: MEAL: [breakfast, lunch, dinner, supper] baseID: :tasks:folders exclude: [MOVIES] incycles: MEAL: [breakfast, lunch, dinner, supper] === License === Copyright (C) Vytautas Jakutis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. See the COPYING file in your DokuWiki folder for details