From 6997eaa142dc2f77675144323bb93034f9cb3027 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sat, 23 Apr 2022 16:32:04 +0200 Subject: expand TODO with implementation tasks --- TODO.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/TODO.md b/TODO.md index 9f6c9bd..f782857 100644 --- a/TODO.md +++ b/TODO.md @@ -32,6 +32,64 @@ using [indieweb] and [git2]. [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]: + "requirements for server implementations of Micropub" + +[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]: + "CommonMark-RDF - draft spec for CommonMark with semantic hints" + +[microformats]: + "microformats - Indieweb semantic markup" + + +### addition: media reference + +* cover referencing existing media at a [Media Endpoint] + +[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 -- cgit v1.2.3