1 unstable release
Uses new Rust 2024
new 0.1.0 | Apr 19, 2025 |
---|
#761 in Command line utilities
21KB
416 lines
dailies
Dailies is an extremely simple daily journal & habit tracker. It works on plain markdown files, meaning it can incorporate well with existing tools/systems like Obsidian.
Installation
Nix
For nix users the package can be built with:
nix build
Cargo
Building from source requires the Rust tool-chain. Once installed, either run
just build
or:
cargo build --release
Usage
Configuration
Dailies relies on a .toml
configuration file which contains the following
fields:
dailies_dir = "<DIR>" # Directory to save daily entries to
entry_template = "<PATH>" # Which template to use
prompt_path = "<PATH>" # List of prompts -- {{prompt}} will be replaced by a random one
date_template = "%Y-%m-%d" # Format used for date entries
Dailies will look for a configuration file in the following locations, in order:
$HOME/.dailies.toml
$HOME/.config/dailies.toml
$HOME/.config/dailies/dailies.toml
$XDG_CONFIG_HOME/dailies.toml
$XDG_CONFIG_HOME/dailies/dailies.toml
$PWD/.dailies.toml
Template
The most important part of the configuration is the entry template. This is a
Markdown file that will be used to generate each daily entry. There are no
requirements on the structure of the file, but dailies
will look for several
sections:
- Header -- optionally the template can include a 'obsidian-style' header which will allow you to browse dailies within Obsidian, sample header may look like this:
---
id: "{{title}}"
tags:
- daily-notes
---
{{title}}
-- will be substituted for today's date according to thedate_template
{{prompt}}
-- will be substituted for a random prompt from theprompt_path
- A heading labeled
Habits
followed by a list of<name>: <streak>
will automatically be incremented with each generated daily, to keep track of habit streaks - A heading labeled
Todos
will get copied from the last daily to the current one
NOTE: There is a sample template in
examples/template.md
Calling dailies
Dailies can be run either directly from the command line or as a nvim-plugin.
Dependencies
~10MB
~187K SLoC