blob: 7afa0fe9207a02f4da9d09d1f3f8ccdb74b82d80 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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.
|