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: true
project_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 init
Add a fleeting note entry:
markin fl "Your fleeting thought here"
This will add an entry like:
- ⚡ *06:33:45 pm:* **Fleeting**:: Your fleeting thought here
Build the project:
go build -o markin cmd/markin/main.go
Run 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 PATH
MIT