site.mochott.article

tokimeki.blue

Schema Diff

+5 -0

From

CID
bafyreigmpnxog5b...
Indexed At
2026-03-25 13:32 UTC
View this version

To

CID
bafyreic6dc5bggs...
Indexed At
2026-08-03 12:09 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "site.mochott.article:body.topic" }
  • AddedEdge AddedEdge { src: "site.mochott.article:body", tgt: "site.mochott.article:body.topic", kind: "prop", name: Some("topic") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "site.mochott.article:body.topic" }

Additional Notes

  • Non-breaking: AddedEdge { src: "site.mochott.article:body", tgt: "site.mochott.article:body.topic", kind: "prop", name: Some("topic") }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "Record representing a single blog article published to a publication.",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "blobs": {
10 10
            "description": "Blob references for media embedded within the article content.",
11 11
            "items": {
12 12
              "ref": "site.mochott.defs#blobMetadata",
13 13
              "type": "ref"
14 14
            },
15 15
            "type": "array"
16 16
          },
17 17
          "category": {
18 18
            "description": "Primary category of the article.",
19 19
            "maxLength": 100,
20 20
            "type": "string"
21 21
          },
22 22
          "content": {
23 23
            "description": "Rich text content in TipTap editor JSON format.",
24 24
            "ref": "#tiptapDocument",
25 25
            "type": "ref"
26 26
          },
27 27
          "coverImage": {
28 28
            "accept": [
29 29
              "image/png",
30 30
              "image/jpeg",
31 31
              "image/webp"
32 32
            ],
33 33
            "description": "Cover image displayed at the top of the article and in previews.",
34 34
            "maxSize": 1000000,
35 35
            "type": "blob"
36 36
          },
37 37
          "createdAt": {
38 38
            "description": "Timestamp when the article was created.",
39 39
            "format": "datetime",
40 40
            "type": "string"
41 41
          },
42 42
          "description": {
43 43
            "description": "Short summary or excerpt of the article, used for previews and SEO.",
44 44
            "maxGraphemes": 3000,
45 45
            "maxLength": 30000,
46 46
            "type": "string"
47 47
          },
48 48
          "path": {
49 49
            "description": "Custom URL path slug for the article. Used to construct human-readable URLs.",
50 50
            "maxLength": 500,
51 51
            "type": "string"
52 52
          },
53 53
          "profile": {
54 54
            "description": "AT URI of the publication profile this article belongs to.",
55 55
            "format": "at-uri",
56 56
            "type": "string"
57 57
          },
58 58
          "tags": {
59 59
            "description": "Tags for categorizing the article.",
60 60
            "items": {
61 61
              "maxGraphemes": 64,
62 62
              "maxLength": 640,
63 63
              "type": "string"
64 64
            },
65 65
            "maxLength": 8,
66 66
            "type": "array"
67 67
          },
68 68
          "textContent": {
69 69
            "description": "Plain text representation of the article content, primarily for search indexing and text-only consumers.",
70 70
            "maxLength": 100000,
71 71
            "type": "string"
72 72
          },
73 73
          "title": {
74 74
            "description": "Title of the article.",
75 75
            "maxGraphemes": 500,
76 76
            "maxLength": 5000,
77 77
            "type": "string"
78 78
          },
79 +
          "topic": {
80 +
            "description": "Slug of the platform writing topic (投稿のお題) this article participates in.",
81 +
            "maxLength": 100,
82 +
            "type": "string"
83 +
          },
79 84
          "updatedAt": {
80 85
            "description": "Timestamp when the article was last updated.",
81 86
            "format": "datetime",
82 87
            "type": "string"
83 88
          }
84 89
        },
85 90
        "required": [
86 91
          "profile",
87 92
          "title",
88 93
          "createdAt"
89 94
        ],
90 95
        "type": "object"
91 96
      },
92 97
      "type": "record"
93 98
    },
94 99
    "tiptapDocument": {
95 100
      "description": "A TipTap editor document node. Represents a recursive tree structure for rich text content.",
96 101
      "properties": {
97 102
        "attrs": {
98 103
          "description": "Node-specific attributes.",
99 104
          "type": "unknown"
100 105
        },
101 106
        "content": {
102 107
          "description": "Child nodes of this document node.",
103 108
          "items": {
104 109
            "type": "unknown"
105 110
          },
106 111
          "type": "array"
107 112
        },
108 113
        "marks": {
109 114
          "description": "Inline formatting marks applied to this node.",
110 115
          "items": {
111 116
            "type": "unknown"
112 117
          },
113 118
          "type": "array"
114 119
        },
115 120
        "text": {
116 121
          "description": "Text content for text-type nodes.",
117 122
          "type": "string"
118 123
        },
119 124
        "type": {
120 125
          "description": "Node type identifier (e.g. 'doc', 'paragraph', 'heading').",
121 126
          "type": "string"
122 127
        }
123 128
      },
124 129
      "required": [
125 130
        "type"
126 131
      ],
127 132
      "type": "object"
128 133
    }
129 134
  },
130 135
  "description": "A blog article record. Contains rich text content, metadata, and optional media attachments.",
131 136
  "id": "site.mochott.article",
132 137
  "lexicon": 1,
133 138
  "revision": 1
134 139
}

Compare Other Versions

Lexicon Garden

@