# ![logo.png](./images/png/NoteVC_50×50.png) NoteVC: Version Control for Markdown Block-level version control for markdown files. Track changes at the heading level, not just file level. ## Features - **Block-level tracking**: Version control at heading granularity - **Frontmatter support**: Control versioning with YAML frontmatter (tags, title, enabled flag) - **Smart commits**: Only commits changed blocks - **Block restoration**: Restore individual sections without affecting the entire file - **Rich diffs**: See exactly which sections changed --- ## Installation Build from source: ```bash gradle build ``` The executable will be in `build/install/notevc/bin/notevc` --- ## Global Options These options work with any command and should be placed before the command name: - `--no-color`: Disable colored output **Examples:** ```bash notevc --no-color status notevc --no-color diff notevc --no-color log --oneline notevc --no-color show a1b2c3d4 ``` **Alternative methods to disable colors:** - Set `NO_COLOR=1` environment variable: `NO_COLOR=1 notevc status` - Pipe output: `notevc status | less` (colors auto-disabled) - CI environments automatically disable colors --- ## Command Reference ### Repository Management #### `notevc init [path]` Initialize a new notevc repository in the current or specified directory. ```bash notevc init # Initialize in current directory notevc init ./notes # Initialize in specific directory ``` #### `notevc status` or `notevc st` Show the status of tracked files and which blocks have changed. ```bash notevc status ``` #### `notevc commit [options] "message"` Create a commit (snapshot) of changed files. **Options:** - `--file `: Commit only a specific file **Examples:** ```bash notevc commit "Added new features" # Commit all changed files notevc commit --file notes.md "Updated notes" # Commit specific file ``` --- ### Viewing History #### `notevc log [options]` Show commit history with details. **Options:** - `--max-count ` or `-n `: Limit number of commits shown - `--since