Command-line reference
The console command is writing-schedule. It has five subcommands, and the set
mirrors the shell front end of the elisp package. Every subcommand prints its
own help with writing-schedule SUBCOMMAND --help.
writing-schedule generate TABLE (--week DATE | --day DATE|today) [--dir OUT] [--no-ics] [--no-todo] [--tz ZONE]
writing-schedule export TABLE (--week DATE | --day DATE|today) [--dir OUT] [--no-todo] [--tz ZONE]
writing-schedule sheets TABLE (--week DATE | --day DATE|today) [--dir OUT] [--engine reportlab|latex] [--format pdf|org|both] [--per-day]
writing-schedule template N [--out FILE]
writing-schedule weeks [--dir OUT]
--week accepts any date inside the target week, written as YYYY-MM-DD,
because the week snaps to the Monday on or before that date. The generate,
export, and sheets commands also accept --day, which names a single day
as YYYY-MM-DD or the word today. On generate and export it writes
day-<ISO>.org and day-<ISO>.ics; on sheets it prints only that day’s
sheet. Give either --week or --day.
generate
Parse a table and write the dated schedule .org file, and, unless you opt
out, the .ics calendar beside it.
Option |
Meaning |
|---|---|
|
Any day in the target week. Give this or |
|
A single day, as |
|
Output directory. Defaults to the current directory. |
|
Write only the schedule |
|
Omit the |
|
The IANA time zone for the calendar, for example |
writing-schedule generate examples/my-week.org --week 2026-01-19 --dir out
writing-schedule generate examples/my-week.org --day 2026-01-21 --dir out
writing-schedule generate examples/my-week.org --day today --dir out
export
Write only the .ics calendar for a table and a week, or one day. This is
generate without the schedule file.
Option |
Meaning |
|---|---|
|
Any day in the target week. Give this or |
|
A single day, as |
|
Output directory. Defaults to the current directory. |
|
Omit the |
|
The IANA time zone for the calendar. Pass an empty string for floating times. |
writing-schedule export examples/my-week.org --week 2026-01-19 --dir out
writing-schedule export examples/my-week.org --day today --dir out
sheets
Draw the printable time-block sheet, an editable per-day org file, or both.
Option |
Meaning |
|---|---|
|
Any day in the target week. Give this or |
|
A single day, as |
|
Output directory. Defaults to the current directory. |
|
The PDF engine. |
|
Which sheet outputs to write. Defaults to |
|
With the ReportLab engine, write one PDF per day rather than one file for the week. Ignored when |
Give either --week for the whole week or --day for one day. A day the
table has no column for prints as a blank sheet, which is useful when today is
not a planned day.
writing-schedule sheets examples/my-week.org --week 2026-01-19 --dir out --format both
writing-schedule sheets examples/my-week.org --week 2026-01-19 --dir out --engine latex
writing-schedule sheets examples/my-week.org --day 2026-01-21 --dir out --format both
writing-schedule sheets examples/my-week.org --day today --dir out
template
Print or write a blank weekly table for N projects, from 1 to 26. The
scaffold uses single-letter codes that you then rename or replace.
Option |
Meaning |
|---|---|
|
Write the template to this file. Without it, the template prints to standard output. |
writing-schedule template 5 --out my-week.org
weeks
List the archived weekly schedule files in a directory, newest first. Only
writing-YYYY-MM-DD.org names are listed, so calendar exports and unrelated
org files are ignored.
writing-schedule weeks --dir out