72 lines
2.6 KiB
Markdown
72 lines
2.6 KiB
Markdown
# quack
|
|
|
|
> If it walks like a duck, and it quacks like a duck, it's a duck.
|
|
|
|
A validator for [ActivityStreams](https://www.w3.org/TR/activitystreams-core/) documents.
|
|
|
|
Part of the [dog-and-duck](https://github.com/simon-brooke/dog-and-duck) project, q.v.
|
|
|
|
## Installation
|
|
|
|
Download from http://example.com/FIXME.
|
|
|
|
## Usage
|
|
|
|
```
|
|
java -jar target/dog-and-duck-0.1.0-standalone.jar -i resources/activitystreams-test-documents/vocabulary-ex10-jsonld.json -f html -o report.html -s info
|
|
```
|
|
|
|
Note that it is almost certain that in some places I have misinterpreted the spec. Of all 205 documents in the [activitystreams-test-documents repository](https://github.com/w3c-social/activitystreams-test-documents), not a single one passes validation, and that must be wrong.
|
|
|
|
Nevertheless I think that this is a basis on which a useful validator can be built. Feedback and contributions welcome.
|
|
|
|
## Options
|
|
|
|
The full range of command-line switches is as follows:
|
|
```
|
|
-i, --input SOURCE standard in The file or URL to validate.
|
|
-o, --output DEST standard out The file to write to.
|
|
-f, --format FORMAT :edn The format to output, one of `csv`, `edn`, `json`, `html`.
|
|
-l, --language LANG en-GB The ISO 639-1 code for the language to output.
|
|
-s, --severity LEVEL :info The minimum severity of faults to report.
|
|
-r, --reify If set, reify objects referenced by URIs and check them.
|
|
-h, --help Print this message and exit.
|
|
```
|
|
|
|
Note, though, that internationalisation files for languages other than British English have not yet been written, and that one is not complete.
|
|
|
|
Note also that reification is not, at the time of writing, working.
|
|
|
|
The following severity levels are understood:
|
|
|
|
0. `info` things which are not actuallys fault, but issues noted during
|
|
validation;
|
|
1. `minor` things which I consider to be faults, but which
|
|
don't actually breach the spec;
|
|
2. `should` instances where the spec says something *SHOULD*
|
|
be done, which isn't;
|
|
3. `must` instances where the spec says something *MUST*
|
|
be done, which isn't;
|
|
4. `critical` instances where I believe the fault means that
|
|
the object cannot be meaningfully processed.
|
|
|
|
## Examples
|
|
|
|
...
|
|
|
|
## Documentation
|
|
|
|
Full documentation is [here](https://simon-brooke.github.io/dog-and-duck/).
|
|
|
|
### Bugs
|
|
|
|
Many. Ducks like bugs.
|
|
|
|
## License
|
|
|
|
Copyright © 2023 Simon Brooke
|
|
|
|
This Source Code is made available under GNU General Public License as published by
|
|
the Free Software Foundation, either version 2 of the License, or (at your
|
|
option) any later version.
|