From ee389fb77aa996b1d7fcfdec97d02bfbdc77da28 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Sat, 7 Feb 2026 21:13:55 +0100 Subject: [PATCH] feat: add litenote lexicon --- bun.lock | 21 +++++++++++++++++++ lexicons/space/litenote/note.json | 34 +++++++++++++++++++++++++++++++ main.ts | 4 ++-- package.json | 1 + 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 lexicons/space/litenote/note.json diff --git a/bun.lock b/bun.lock index 0f2017a..89e0438 100644 --- a/bun.lock +++ b/bun.lock @@ -5,6 +5,7 @@ "": { "name": "litenote-jetstream", "dependencies": { + "@atproto/lexicon": "^0.6.1", "@skyware/jetstream": "^0.2.5", }, "devDependencies": { @@ -26,6 +27,16 @@ "@atcute/util-text": ["@atcute/util-text@1.1.0", "", { "dependencies": { "unicode-segmenter": "^0.14.5" } }, "sha512-34G9KD5Z9f7oEdFpZOmqrMnU86p8ne6LlxJowfZzKNszRcl1GH+FtEPh3N1woelJT2SkPXMK2anwT8DESTluwA=="], + "@atproto/common-web": ["@atproto/common-web@0.4.15", "", { "dependencies": { "@atproto/lex-data": "^0.0.10", "@atproto/lex-json": "^0.0.10", "@atproto/syntax": "^0.4.3", "zod": "^3.23.8" } }, "sha512-A4l9gyqUNez8CjZp/Trypz/D3WIQsNj8dN05WR6+RoBbvwc9JhWjKPrm+WoVYc/F16RPdXHLkE3BEJlGIyYIiA=="], + + "@atproto/lex-data": ["@atproto/lex-data@0.0.10", "", { "dependencies": { "multiformats": "^9.9.0", "tslib": "^2.8.1", "uint8arrays": "3.0.0", "unicode-segmenter": "^0.14.0" } }, "sha512-FDbcy8VIUVzS9Mi1F8SMxbkL/jOUmRRpqbeM1xB4A0fMxeZJTxf6naAbFt4gYF3quu/+TPJGmio6/7cav05FqQ=="], + + "@atproto/lex-json": ["@atproto/lex-json@0.0.10", "", { "dependencies": { "@atproto/lex-data": "^0.0.10", "tslib": "^2.8.1" } }, "sha512-L6MyXU17C5ODMeob8myQ2F3xvgCTvJUtM0ew8qSApnN//iDasB/FDGgd7ty4UVNmx4NQ/rtvz8xV94YpG6kneQ=="], + + "@atproto/lexicon": ["@atproto/lexicon@0.6.1", "", { "dependencies": { "@atproto/common-web": "^0.4.13", "@atproto/syntax": "^0.4.3", "iso-datestring-validator": "^2.2.2", "multiformats": "^9.9.0", "zod": "^3.23.8" } }, "sha512-/vI1kVlY50Si+5MXpvOucelnYwb0UJ6Qto5mCp+7Q5C+Jtp+SoSykAPVvjVtTnQUH2vrKOFOwpb3C375vSKzXw=="], + + "@atproto/syntax": ["@atproto/syntax@0.4.3", "", { "dependencies": { "tslib": "^2.8.1" } }, "sha512-YoZUz40YAJr5nPwvCDWgodEOlt5IftZqPJvA0JDWjuZKD8yXddTwSzXSaKQAzGOpuM+/A3uXRtPzJJqlScc+iA=="], + "@skyware/jetstream": ["@skyware/jetstream@0.2.5", "", { "dependencies": { "@atcute/atproto": "^3.1.0", "@atcute/bluesky": "^3.1.4", "@atcute/lexicons": "^1.1.0", "partysocket": "^1.1.3", "tiny-emitter": "^2.1.0" } }, "sha512-fM/zs03DLwqRyzZZJFWN20e76KrdqIp97Tlm8Cek+vxn96+tu5d/fx79V6H85L0QN6HvGiX2l9A8hWFqHvYlOA=="], "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], @@ -40,14 +51,24 @@ "event-target-polyfill": ["event-target-polyfill@0.0.4", "", {}, "sha512-Gs6RLjzlLRdT8X9ZipJdIZI/Y6/HhRLyq9RdDlCsnpxr/+Nn6bU2EFGuC94GjxqhM+Nmij2Vcq98yoHrU8uNFQ=="], + "iso-datestring-validator": ["iso-datestring-validator@2.2.2", "", {}, "sha512-yLEMkBbLZTlVQqOnQ4FiMujR6T4DEcCb1xizmvXS+OxuhwcbtynoosRzdMA69zZCShCNAbi+gJ71FxZBBXx1SA=="], + + "multiformats": ["multiformats@9.9.0", "", {}, "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg=="], + "partysocket": ["partysocket@1.1.11", "", { "dependencies": { "event-target-polyfill": "^0.0.4" } }, "sha512-P0EtOQiAwvLriqLgdThcSaREfz3bP77LkLSdmXq680BosPKvGSoGTh/d0g3S+UNmaqcw89Ad7JXHHKyRx3xU9Q=="], "tiny-emitter": ["tiny-emitter@2.1.0", "", {}, "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + "uint8arrays": ["uint8arrays@3.0.0", "", { "dependencies": { "multiformats": "^9.4.2" } }, "sha512-HRCx0q6O9Bfbp+HHSfQQKD7wU70+lydKVt4EghkdOvlK/NlrF90z+eXV34mUd48rNvVJXwkrMSPpCATkct8fJA=="], + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], "unicode-segmenter": ["unicode-segmenter@0.14.5", "", {}, "sha512-jHGmj2LUuqDcX3hqY12Ql+uhUTn8huuxNZGq7GvtF6bSybzH3aFgedYu/KTzQStEgt1Ra2F3HxadNXsNjb3m3g=="], + + "zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="], } } diff --git a/lexicons/space/litenote/note.json b/lexicons/space/litenote/note.json new file mode 100644 index 0000000..efc232d --- /dev/null +++ b/lexicons/space/litenote/note.json @@ -0,0 +1,34 @@ +{ + "lexicon": 1, + "id": "space.litenote.note", + "description": "Litenote's element", + "defs": { + "main": { + "type": "record", + "description": "A markdown blog post with LaTeX, GitHub notes, Mermaid, YouTube and Bluesky extensions.", + "key": "tid", + "record": { + "type": "object", + "required": [ + "title", + "content" + ], + "properties": { + "title": { + "type": "string", + "maxLength": 1000 + }, + "content": { + "type": "string", + "description": "Markdown content of the blog post", + "maxLength": 10000 + }, + "createdAt": { + "type": "string", + "format": "datetime" + } + } + } + } + } +} \ No newline at end of file diff --git a/main.ts b/main.ts index 709b971..0fb34fe 100644 --- a/main.ts +++ b/main.ts @@ -2,7 +2,7 @@ import { Jetstream } from "@skyware/jetstream"; const jetstream = new Jetstream({ wantedCollections: [ - "app.bsky.feed.like", + "site.standard.graph.subscription", "site.standard.publication", "site.standard.document", "space.litenote.post", @@ -10,7 +10,7 @@ const jetstream = new Jetstream({ }); // Handle standard posts -jetstream.onCreate("app.bsky.feed.like", (event) => { +jetstream.onCreate("site.standard.graph.subscription", (event) => { // Check if it references litenote content const { did, commit } = event console.log(did, commit); diff --git a/package.json b/package.json index 20cc827..99d7c0e 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "typescript": "^5" }, "dependencies": { + "@atproto/lexicon": "^0.6.1", "@skyware/jetstream": "^0.2.5" } }