spezilinter 1.1.2

spezifisch's linter for different file formats, linting for weirdly specific stuff
Documentation
# 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] <files>...

Arguments:
  <files>...  List of markdown files to lint

Options:
      --root <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 <root-directory> <markdown-files>
```

### 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