NAME
rem2yaml - convert the output of remind(1) to YAML
SYNOPSIS
rem2yaml [option...] [file...]
rem2yaml -h|--help
rem2yaml -V|--version
DESCRIPTION
rem2yaml processes the output produced by remind(1) as intended for back-end programs (such as rem2ps(1)), printing reminders as a stream of YAML documents.
The input to rem2yaml must have been generated by remind(1) using its options -p and -l.
rem2yaml's output comes in two flavors, consolidated and unconsolidated. In unconsolidated form, each document in the YAML stream is a single reminder; consolidation brings all of a day's reminders together into a single document. These two cases are illustrated below.
If no file is specified, or if the file name -
is specified, standard input will be processed.
OPTIONS
- -c, --consolidate
-
Consolidate events for each day. Each YAML document in the output will represent a single day, with the reminders for that day gathered into a
reminders
element.For example, consider the following remind(1) input file:
# /home/nkuitse/dt/foo.rem REM Tue MSG %"Organizing day%" REM Mar 1 MSG %"Ulysses's birthday%"% REM Mar 4 2008 AT 08:30 %"Pick up Aunt Yolanda from the airport%"%
Running this through remind(1) at some time during March 2008 yields all reminders for that month in a compact form:
$ remind -p -l /home/nkuitse/dt/foo.rem # rem2ps begin March 2008 31 6 0 Sunday Monday Tuesday Wednesday Thursday Friday Saturday February 29 April 30 # fileinfo 2 /home/nkuitse/dt/foo.rem 2008/03/01 * * * * Ulysses's birthday # fileinfo 1 /home/nkuitse/dt/foo.rem 2008/03/04 * * * * Organizing day # fileinfo 1 /home/nkuitse/dt/foo.rem 2008/03/11 * * * * Organizing day # fileinfo 3 /home/nkuitse/dt/foo.rem 2008/03/18 * * * 510 8:30am Pick up Aunt Yolanda from the airport # fileinfo 1 /home/nkuitse/dt/foo.rem 2008/03/18 * * * * Organizing day # fileinfo 1 /home/nkuitse/dt/foo.rem 2008/03/25 * * * * Organizing day # rem2ps end
Running this through b<rem2yaml> without consolidation yields a series of six YAML documents, one for each reminder. For example, the reminders for March 18 would look something like this:
--- description: Organizing day date: 20080318 date_time: 20080318 year: 2008 month: 3 day: 18 day_of_week: 2 all_day: 1 event: 2 file: /home/nkuitse/dt/foo.rem line: 1 instance: 3 --- description: Pick up Aunt Yolanda from the airport date: 20080318 date_time: 20080318T083000 year: 2008 month: 3 day: 18 day_of_week: 2 hour: 8 minute: 30 event: 3 file: /home/nkuitse/dt/foo.rem line: 3 instance: 1
With consolidation, these two reminders would be brought together like so:
--- date: 20080318 year: 2008 month: 3 day: 18 day_of_week: 2 reminders: - description: Organizing day date: 20080318 date_time: 20080318 year: 2008 month: 3 all_day: 1 day: 18 day_of_week: 2 event: 2 file: /home/nkuitse/dt/foo.rem line: 1 instance: 3 - description: Pick up Aunt Yolanda from the airport date: 20080318 date_time: 20080318T083000 year: 2008 month: 3 day: 18 day_of_week: 2 hour: 8 minute: 30 event: 3 file: /home/nkuitse/dt/foo.rem line: 3 instance: 1
- -C, --noconsolidate
-
Do not consolidate events into days. This is the default, so this option is generally only used after -d, -b, -e, and -l.
- -f, --fill-gaps
-
If a day (within any applicable range) has no reminders associated with it, generate a
placeholder
for the day with an empty reminders list.This option turns on consolidation, and must be used in conjunction with it.
- -d date, --date date
-
Turn on consolidation and limit output to the specified date. The date must be provided in one of these formats:
YYYYMMDD YYYY-MM-DD YYYY/MM/DD
- -b date, --begin date
-
Turn on consolidation and limit output to dates on or after the specified date. The date format is the same as for option -d.
- -e date, --end date
-
Turn on consolidation and limit output to dates on or before the specified date. The date format is the same as for option -d.
- -l date, --limit date
-
Turn on consolidation and limit output to dates strictly before the specified date. The date format is the same as for option -d.
Note the difference between -e and -l: the former includes the given date, while the latter excludes it.
- -v, --verbose
-
Be verbose.
- -h, --help
-
Print help information and exit.
- -V, --version
-
Print the version number and exit. If the -v or --verbose option is specified, print out additional information.
- -M, --manual
-
View the manual page for rem2yaml.
- -L, --license
-
View the license under which rem2yaml is distributed.
AUTHOR
Paul Hoffman (nkuitse AT nkuitse DOT com)
COPYRIGHT
Copyright 2007-2008 Paul M. Hoffman.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl:
- a)
-
the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version;
or
- b)
-
the "Artistic License".
For the full text of these licenses, see the script file itself or enter the command rem2yaml -L.