Today I built a command-line tool to streamline my development diary workflow. The tool manages entries in YAML format and publishes them to my Hugo blog with a single command.
Motivation
I wanted a way to easily write development diary entries without manually managing Hugo’s frontmatter format.
The goal was to keep entries in a structured YAML format that’s easy to edit and version control.
Publishing should be as simple as running a single command.
Implementation
Built with Rust using clap for the CLI, serde_yaml for parsing, and chrono for dates.
Entries are stored in the entries/ directory and can be listed in reverse chronological order.
The publish command converts YAML entries to Hugo markdown and copies them to the blog repository.
Features
Create: Generate new entries with a title and open them in your editor
List: View all entries with their status (published/draft), date, and description
Publish: Convert to Hugo format, validate, and deploy to the blog
Edit: Quickly open existing entries for modification
Now I can focus on writing instead of wrestling with YAML frontmatter! 🎉