# spezilinter **spezilinter** is a personal linter for validating and enforcing specific rules on my blog posts. Maybe you can reuse some parts for your own stuff! ## Features - Markdown Custom Tags Linting: - Lint special tags that I defined for my blog. - Checks if linked image file exists. - Validates image formats (JPG, PNG, etc.). - JPG: Validates that EXIF metadata has been stripped (e.g., GPS coordinates). - SVG (optional): Verifies SVG files for the presence of unsafe attributes like `onload`. ## Installation ```bash cargo install spezilinter ``` ## Usage ```console $ spezilinter --help spezifisch's linter for different file formats, linting for weirdly specific stuff Usage: spezilinter [OPTIONS] ... Arguments: ... List of markdown files to lint Options: --root Root directory for resolving image paths [default: .] --disallow-onload Disallow `onload` attribute in SVG files --stop-on-first-error Stop on the first error encountered -h, --help Print help -V, --version Print version ``` ## Development ### Run ```bash # inside this repository cargo run -- --root ``` ### Test You'll need the `bats` package for this: ```bash make ci ``` ### Pre-Commit Hook Make sure to commit only cleanly formatted and tested code, please: ```bash # run once pre-commit install # (optional) run manually pre-commit run --all-files ``` ## License GPL-3.0-only