testdata
[pin4sha_cgi.git] / README.md
blob55687bd036bf8ff8d905cd4aaf07d2e3e101b78a
1 # pinboard.in.cgi
3 The natural API for shaarli.
5 ## Why?
7 The wish to have an API goes back to the [early
8 days](https://sebsauvage.net/wiki/doku.php?id=php:shaarli:ideas).
10 And because shaarli started as a personal, minimal, delicious clone, using a
11 minimal subset of just that very API seems natural to me.
12 [pinboard.in](https://pinboard.in/api/) prooves the API is not only seasoned and
13 mature, but also still up the job today.
15 Also another project of mine, [ShaarliOS](/mro/ShaarliOS/) needs a drop-in API
16 compatibility layer for a wide range of shaarlis out in the wild.
18 ## How?
20 You find a single, statically linked, zero-dependencies ([🐫
21 Ocaml](https://ocaml.org/)) binary which is both a
23 1. cgi to drop into your shaarli php webapplication next to index.php – as the API
24    endpoint,
25 2. commandline client to any shaarli out there, mostly for debugging and
26    compatibility-testing purposes.
28 ![post flow](post.png)
30 ## Compatibility
32 All shaarlis from the old ages until spring 2020
33 ([v0.11.1](https://github.com/shaarli/Shaarli/releases/tag/v0.11.1)).
35 All systems [🐫 Ocaml](https://ocaml.org/) can produce binaries for.
37 Just the delicious API calls in
38 [pinboard.in/v1/openapi.yaml](pinboard.in/v1/openapi.yaml)
40 ## Design Goals
42 | Quality         | very good | good | normal | irrelevant |
43 |-----------------|:---------:|:----:|:------:|:----------:|
44 | Functionality   |           |      |    ×   |            |
45 | Reliability     |     ×     |      |        |            |
46 | Usability       |           |   ×  |        |            |
47 | Efficiency      |           |      |    ×   |            |
48 | Changeability   |           |   ×  |        |            |
49 | Portability     |     ×     |      |        |            |