|  | ||
|---|---|---|
| .. | ||
| default.nix | ||
| main.go | ||
| README.md | ||
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.