# obsidian-pipeline # Overview `obsidian-pipeline` or `obp` enables headless management of your Obsidian vault. `obp` is primarily targeted at users who are programmatically interacting with their vaults, publishing them via static site generators or doing quality control with scheduled tasks. # Features `obp` is in pre-release status for now, so the featureset is limited. ``` obp-linux help a suite of tools for managing your obsidian vault Usage: obp [command] Available Commands: completion Generate the autocompletion script for the specified shell help Help about any command validate loads a note and ensures its frontmatter follows the provided protobuf schema Flags: --config string config file (default "~/.obp.toml") -h, --help help for obp Additional help topics: obp hugo convert a set of Obsidian notes into a Hugo compatible directory structure Use "obp [command] --help" for more information about a command. ``` ## Validation Using the validation feature requires that the JSONSchema files are hosted on some HTTP server somewhere. I did this to simplify the code and avoid resolving relative pathing along the dependency tree. You can find some pre-made schemas [here](https://schemas.ndumas.com), a site powered by my [json-schemas](https://github.com/therealfakemoot/json-schemas) repository. If you would like to submit a schema that you've designed. ### Usage ``` Usage: obp validate [flags] Flags: --format string output format [markdown, json, csv] (default "markdown") -h, --help help for validate -s, --schema string path to protobuf file (default "base.schema") -t, --target string directory containing validation targets Global Flags: --config string config file (default "~/.obp.toml") ``` Markdown output can be piped into [glow](https://github.com/charmbracelet/glow) for a little extra pizazz, but JSON is available for programmatic handling. ``` ./bin/obp-linux validate --format markdown -s https://schemas.ndumas.com/obsidian/note.schema.json -t Resou rces/blog/published/|glow Validation Errors for "/home/ndumas/work/obsidian-pipeline/Resources/blog/published/schema-bad-tags.md" VALIDATION RULE │ FAILING PROPERTY │ ERROR ──────────────────────────────┼──────────────────┼───────────────────────────────── /properties/tags/items/type │ /tags/2 │ expected string, but got │ │ number Validation Errors for "/home/ndumas/work/obsidian-pipeline/Resources/blog/published/schema-bad.md" VALIDATION RULE │ FAILING PROPERTY │ ERROR ───────────────────────────────┼──────────────────┼───────────────────────────────── /properties/description/type │ /description │ expected string, but got │ │ number /properties/tags/type │ /tags │ expected array, but got string ```