aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--TODO.md58
1 files changed, 58 insertions, 0 deletions
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]: <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