This repository has been archived on 2026-04-05. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
things-3-report/README.md
2023-07-24 14:44:25 +09:00

30 lines
1.7 KiB
Markdown

# things-3-report
A small program written in rust that digests my Things tasks into a format for Slack reporting.
Tasks are pulled out of Things using AppleScript over a JavaScript OSA Bridge. Tasks are then filtered
and formatted based on the selected format schema.
## Basic Task format
A task is returned as a markdown list element containing its title and optionally a list of information parsed from
related tag sections in the notes portion of the task.
Tag specific additional bullets are included using a triple backtick (like GitHub code block markdown). Then instead of
specifying the coding style as you would (for example `typescript`) you specify the relevant tag: `MyTag`. Running the
program with a given `--tags` argument will cause related tag blocks to be included as sub-bullets.
## Name Sanitization
Name tags found on projects and tasks are automatically sanitized by replacing vowel characters with lookalikes. This
behavior can be disabled with the `--no-sanitize` argument.
## Project Formatting
Projects make up a bullet level above tasks. Any tasks in the project will be nested under the project title following
and project specific matched tag block comments in the project notes.
## Area Formatting
Areas collect up projects, but instead of indenting them further, Area's are returned as section titles above the
generated output. If only one area contains all of the reported tasks, then the area name is omitted entirely.
## Cycle Message Formatting
The `--mode cycle` argument will output slightly different content. All tasks are collected at a project level, and
only the project name is given. Cycle messages look back in time at the last 6 weeks and therefore have too many values
to meaningfully output at full resolution.