- Timestamp:
- 08/06/2026 02:20:19 PM (5 weeks ago)
- Branches:
- main
- Children:
- 7aa3140
- Parents:
- 58cfe5f
- git-author:
- Robin <roboburr@…> (08/06/2026 02:20:09 PM)
- git-committer:
- roboburr <roboburr@…> (08/06/2026 02:20:19 PM)
- File:
-
- 1 edited
-
docs/EXPORT-FORMAT.md (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
docs/EXPORT-FORMAT.md
r58cfe5f r812fea9 99 99 | `summary` | `posts.content_warning` | AS2 summary is the content warning | 100 100 | `sensitive` | `posts.nsfw` | | 101 | `published` | `posts.published_at` ?? `created_at` | ISO 8601, UTC |101 | `published` | `posts.published_at` ?? `created_at` | ISO 8601, UTC. Klonkt stores timestamps in two spellings (`YYYY-MM-DD HH:MM:SS` and full ISO); the archive normalises to ISO. The **instant** survives a round trip, the spelling does not. | 102 102 | `updated` | `posts.updated_at` | omitted when equal to `published` | 103 103 | `url` | `<origin>/<slug>` | the human permalink | 104 | `attachment` | cover, inline `<img>`, `c2s_attachments` **and their `poster`**, hosted audio tracks | see [Media](#media) |104 | `attachment` | cover, inline `<img>`, `c2s_attachments` **and their `poster`**, hosted audio tracks | see [Media](#media); each carries a `shaer:role` | 105 105 | `tag` | `posts.tags`, mentions, custom emoji | `Hashtag`, `Mention`, `toot:Emoji` | 106 106 | `oneOf` / `anyOf` / `endTime` | `posts.poll_json` | a poll exports as a `Question` | … … 170 170 | `missing` | it existed, we know where, we do not have it | the original absolute URL | 171 171 172 Every attachment also carries **`shaer:role`**, saying what it was for: 173 174 | role | restored to | 175 |---|---| 176 | `cover` / `coverVideo` | `posts.cover_image_url` / `cover_video_url` | 177 | `inline` | already referenced from `content` | 178 | `c2s` | an entry in `posts.c2s_attachments` | 179 | `poster` | the `poster` of the `c2s` entry named in `shaer:posterFor` | 180 | `track` | the file behind a `[[track:id]]`, linked from `shaer:audio` | 181 182 The role is not decoration. Without it the archive holds the bytes but not the 183 fact that they *were the cover*, and the post comes back without one — which is 184 invisible until you compare every column, not a handful. 185 172 186 `url` for an included attachment is a **container-relative path**, not a URL. An 173 187 importer must rewrite it. This is the one place where the archive deviates from
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)