path: root/TODO.md
blob: f78285759d9764354d34d25de4fbe035b404e825 (plain)

Pending tasks for website editing

Micropub service

Several Micropub services exist.

None of them however fit our needs

  • Free Software
  • Sensible for self-hosting
    • Reasonably security (excludes PHP code)
    • Reasonably memory-efficient (excludes Java and Scala code)
    • Reasonably decentral (excludes Go code)
    • Reasonable to package (excludes Swift and Elixir code)
  • Content stored in git (SQL used only for caching if at all)
  • Content format is Markdown (preferably CommonMark)
  • must support article posts
  • must support updating existing posts

Develop server from scratch

We will create a proxy service from scratch, using indieweb and git2.

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)

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

addition: media reference

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

Several Micropub clients exist.

The most promising is Indigenous. Unfortunately the desktop flavor is implemented on top of Electron, which is unlikely to ever be packaged in Debian.

Develop client from scratch

Maybe create a desktop client from scratch, using indieweb and either tauri or millennium.