💾 Archived View for blakes.dev › hdoc › WaOUus4PTrWtDhH45o0U1A.gmi captured on 2024-12-17 at 09:19:32. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-10)
-=-=-=-=-=-=-
The most recent Matrix-as-MIMI ("Matrix as a Messaging Framework" or "Linearized Matrix") document[1] I can find is more or less a summary of Matrix as it is. In my opinion, this is bad.
1: "Matrix-as-MIMI ("Matrix as a Messaging Framework" or "Linearized Matrix") document"
Source (manually imported from Hedgedoc)
In all honesty, I'd like to write a better spec, but I don't know enough about the federation mechanics to do that. Such a spec should be heavily inspired by, but ultimately independent from, the existing Matrix spec; basically, a summarized version, but complete, better, and respective of existing, easy to use standards like MIME types.
Irrelevant fields omitted.
{ "type": "text/plain", "content": { // `body` is used as a JSON-stringified body. It could be binary. "body": "This is a plain text body.", "m.automated": true } }
{ "type": "multipart/alternate", "content": { // Multipart types use `parts`, where each item is a part "parts": [ { "type": "text/markdown; variant=CommonMark; lang=en_US", "body": "# This is a CommonMark document in English!" }, { "type": "text/markdown", "body": "This is probably original or GFM markdown, and it could be in any language. Don't allow any special formatting." } ] } }
{ "type": "application/json", "content": { // JSON types do not use the body field "first": "John", "last": "Doe", "age": 48 } }
{ "type": "image/png", "content": { // you can use url in place of body to look up the contents; usually this is only done for media types but no such mandate is made "url": "https://example.org/cat.png" } }