A CLI tool for managing markdown notes, with a focus on Obsidian vaults.
- Add different types of note entries to markdown files
- Support for Obsidian vaults
- Configurable section names and positions
- Automatic section creation if missing
- Timestamp prefix for entries
- Silent operation with no terminal output
Create a configuration file at $HOME/.config/markin/.markin.yaml:
project_dir: $VAULT_MAIN
daily_note_path: $DAILY_NOTES
daily_note_name: daily.md
section: "## 💡 🧠 🔥 Fleeting Ideas"
position: after-heading
create_section_if_missing: trueproject_dir: Directory containing your markdown files (can use environment variables)daily_note_path: Directory containing your daily notes (can use environment variables)daily_note_name: Name of the daily note file to modifysection: Section name to add entries to (default: "## 💡 🧠 🔥 Fleeting Ideas")position: Where to add entries in the section ("after-heading" or "before-end")create_section_if_missing: Whether to create the section if it doesn't exist
Initialize the configuration:
markin initAdd a fleeting note entry:
markin fl "Your fleeting thought here"This will add an entry like:
- ⚡ *06:33:45 pm:* **Fleeting**:: Your fleeting thought hereBuild the project:
go build -o markin cmd/markin/main.goRun tests:
go test ./...- Clone the repository:
git clone https://github.com/carlisia/markin.git
cd markin- Build the executable:
go build -o markin cmd/markin/main.go- Install the executable to your bin directory:
cp markin ~/go/bin/ # or any other directory in your PATHMIT