diff options
author | Jonas Smedegaard <dr@jones.dk> | 2022-04-23 16:32:04 +0200 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2022-04-23 16:32:04 +0200 |
commit | 6997eaa142dc2f77675144323bb93034f9cb3027 (patch) | |
tree | 2206fe0e798c9b8e3a57eadc7784e6018d3f6d59 | |
parent | acf91a1cc0f0cc6e112289b19023a8d3e5497c75 (diff) |
expand TODO with implementation tasks
-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 |