tvl-depot/tools/blog_cli/README.md

42 lines
979 B
Markdown
Raw Normal View History

tazblog CLI
===========
My blog stores its content in DNS, spread out over three types of `TXT` entries:
* `TXT _posts.blog.tazj.in.`: A sorted list of posts, serialised as a JSON list of
strings (e.g. `["1486830338", "1476807384"]`)
* `TXT _chunks.$postID.blog.tazj.in`: JSON chunks containing the blog post text
* `TXT _meta.$postID.blog.tazj.in`: JSON blob with blog post metadata
All JSON blobs are base64-encoded.
This CLI tool helps to update those records.
Each blog post data is a series of JSON-encoded structures which follow one of
these formats:
```
struct metadata {
chunks: int
title: string
date: date
}
```
Where `chunks` describes the number of chunks following this format:
```
struct chunk {
c: int
t: string
}
```
Writing a blog post to DNS means taking its text and metadata, chunking it up
and writing the chunks.
Reading a blog post means retrieving all data, reading the metadata and then
assembling the chunks in order.