code.pablomurad.com

patchwork

Publishes the revisions of your pages as a feed, with notes and readable diffs, written in Go

internal/render/testdata/golden/api/v1/revisions.json raw
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{
  "revisions": [
    {
      "id": "tag:moonflowersociety.org,2026:patchwork/p_test0001/r3",
      "number": 3,
      "base_number": 2,
      "page": {
        "uid": "p_test0001",
        "slug": "remote-work",
        "title": "Remote work",
        "url": "https://moonflowersociety.org/idea/remote-work"
      },
      "kind": "expansion",
      "maturity": "sprout",
      "note": "Added what I'd tell a new team & why.",
      "published_at": "2026-10-04T15:00:00Z",
      "updated_at": "2026-10-05T15:00:00Z",
      "original_date": "2026-06-21",
      "version_url": "https://moonflowersociety.org/idea/remote-work/v/3",
      "history_url": "https://moonflowersociety.org/idea/remote-work/history",
      "stats": {
        "words_added": 8,
        "words_removed": 0,
        "blocks_changed": 2
      },
      "meta_changes": [],
      "excerpt": {
        "truncated": false,
        "blocks": [
          {
            "op": "gap",
            "count": 2
          },
          {
            "op": "eq",
            "kind": "paragraph",
            "text": "Small teams should pick one place."
          },
          {
            "op": "insert",
            "kind": "list_item",
            "text": "meet in person every month"
          },
          {
            "op": "insert",
            "kind": "list_item",
            "text": "write things down"
          }
        ]
      }
    },
    {
      "id": "tag:moonflowersociety.org,2026:patchwork/p_test0001/r2",
      "number": 2,
      "base_number": 1,
      "page": {
        "uid": "p_test0001",
        "slug": "remote-work",
        "title": "Remote work",
        "url": "https://moonflowersociety.org/idea/remote-work"
      },
      "kind": "position",
      "maturity": "sprout",
      "note": "Two years in, I changed my mind.",
      "published_at": "2026-10-03T15:00:00Z",
      "updated_at": "2026-10-03T15:00:00Z",
      "original_date": "2026-06-21",
      "version_url": "https://moonflowersociety.org/idea/remote-work/v/2",
      "history_url": "https://moonflowersociety.org/idea/remote-work/history",
      "stats": {
        "words_added": 12,
        "words_removed": 9,
        "blocks_changed": 1
      },
      "meta_changes": [
        {
          "key": "maturity",
          "old": "seed",
          "new": "sprout"
        }
      ],
      "excerpt": {
        "truncated": false,
        "blocks": [
          {
            "op": "eq",
            "kind": "heading",
            "text": "Remote work"
          },
          {
            "op": "modify",
            "kind": "paragraph",
            "segments": [
              {
                "t": "del",
                "s": "The hybrid model is the worst of both worlds."
              },
              {
                "t": "ins",
                "s": "The hybrid model works when the team agrees on fixed office days."
              }
            ],
            "replaced": true
          },
          {
            "op": "eq",
            "kind": "paragraph",
            "text": "Small teams should pick one place."
          }
        ]
      }
    }
  ]
}