diff options
-rw-r--r-- | TODO.md | 58 |
1 files changed, 58 insertions, 0 deletions
@@ -32,6 +32,64 @@ using [indieweb] and [git2]. [git2]: <https://crates.io/crates/git2> "git2 - rust bindings to libgit2 for interoperating with git repositories" +#### Minimal Viable Product + +* implement only MUSTs in [Microsub server spec] +* cover Micropub post [entry] *article* + (fail if POST contains any other data than that) +* store received post as file + (fail if already exists) +* add created post file in git + (fail if `git add ...` or `git commit ...` fails) + +[Microsub server spec]: <https://www.w3.org/TR/micropub/#publishing-clients-li-1=> + "requirements for server implementations of Micropub" + +[entry]: <https://indieweb.org/Microsub-spec#entry> + "definition of Microsub post entry types" + + +#### addition: edit + +* cover Micropub scopes *read* and *update* +* when requested to read dir, return list of existing files in git +* when requested to read file, return content of file in git +* when requested to update file, replace existing file in git + (fail if unable to do that) + + +### addition: parse data + +* convert POST content from html to CommonMark +* convert GET content from CommonMark to html + + +### addition: parse metadata + +* convert html with [microformats] to [CommonMark-RDF] +* convert [CommonMark-RDF] to html with [microformats] + +[CommonMark-RDF]: <https://source.jones.dk/commonmark-rdf-spec/tree/README.md?h=master> + "CommonMark-RDF - draft spec for CommonMark with semantic hints" + +[microformats]: <https://indieweb.org/microformats2> + "microformats - Indieweb semantic markup" + + +### addition: media reference + +* cover referencing existing media at a [Media Endpoint] + +[Media Endpoint]: <https://www.w3.org/TR/micropub/#media-endpoint> + "Media Endpoint - images or videos potentially stored elsewhere" + + +### addition: media upload + +* cover accepting upload of new media to local git using git-annex + (fail if `git annex add ...` fails) +* cover acting as Media Endpoint + ## Micropub client |