Skip to content
Brett Terpstra edited this page Feb 16, 2022 · 7 revisions

By default Doing outputs its data to the terminal, using whatever templates you've set up in your Configuration. But the template rendering is only one of the ways to work with the data you collect using Doing.

Doing has a plugin architecture that can be extended if needed, but it comes with an array of options. All of the following can be used with any command that accepts the --output flag: select, show, grep, today, on, since, yesterday, and view.

Some of the plugins use templates. If you want to customize a template, Doing can output it to the terminal for your use. Just run doing template --list to see all available templates, and then run doing template [TYPE] to output any template, redirecting it to save it to a file (e.g. doing template css > ~/.config/doing/templates/mycustom.css). Once you've customized a template, you just need to add a path to it in the plugins' configuration:

export_templates:
  css: ~/.config/doing/templates/mycustom.css

Available Export Formats

doing show [filters] --output [format], where format is one of:

format description
csv output the results of the command as well-formatted comma-separated values
json outputs results as a JSON object with entries and tag times
doing output the Doing file format, good for archiving and splitting entries
html outputs a formatted HTML page with the results (customizable HAML and CSS templates)
markdown outputs some tasty GFM Markdown (customizable ERB template)
taskpaper outputs a fully TaskPaper-friendly list of entries

Because the formats are plugin-based, you may or may not have the same list available. You can list all installed plugins with doing plugins. Any command that supports --output will also show you all export plugins available when you run doing help COMMAND.

Experimental formats:

format description
timeline Outputs a Viz timeline of the command's results. Hit and miss, open to improvements.
wiki Outputs a tag-based wiki of entries
dayone output the entries to a single Day One journal entry, including tags. Mac-only, requires that Day One be installed
dayone-days output the entries collected by day, with an entry for each day on the day. See Exporting to Day One
dayone-entries output each Doing entry as a new Day One Journal entry based on start time