···1// @generated - This file is generated by esquema-codegen (forked from atrium-codegen). DO NOT EDIT.
2//!Definitions for the `sh.weaver` namespace.
3pub mod actor;
04pub mod embed;
5pub mod notebook;
···1// @generated - This file is generated by esquema-codegen (forked from atrium-codegen). DO NOT EDIT.
2//!Definitions for the `sh.weaver` namespace.
3pub mod actor;
4+pub mod edit;
5pub mod embed;
6pub mod notebook;
···1+// @generated - This file is generated by esquema-codegen (forked from atrium-codegen). DO NOT EDIT.
2+//!Definitions for the `sh.weaver.edit` namespace.
3+pub mod cursor;
4+pub mod defs;
5+pub mod diff;
6+pub mod root;
7+#[derive(Debug)]
8+pub struct Cursor;
9+impl atrium_api::types::Collection for Cursor {
10+ const NSID: &'static str = "sh.weaver.edit.cursor";
11+ type Record = cursor::Record;
12+}
13+#[derive(Debug)]
14+pub struct Diff;
15+impl atrium_api::types::Collection for Diff {
16+ const NSID: &'static str = "sh.weaver.edit.diff";
17+ type Record = diff::Record;
18+}
19+#[derive(Debug)]
20+pub struct Root;
21+impl atrium_api::types::Collection for Root {
22+ const NSID: &'static str = "sh.weaver.edit.root";
23+ type Record = root::Record;
24+}
···6pub struct RecordData {
7 ///The content of the notebook entry. This should be some flavor of Markdown.
8 pub content: String,
9- pub created_at: CreatedAt,
010 ///The set of images, if any, embedded in the notebook entry.
11 #[serde(skip_serializing_if = "core::option::Option::is_none")]
12 pub images: core::option::Option<crate::sh::weaver::embed::images::Main>,
13 #[serde(skip_serializing_if = "core::option::Option::is_none")]
14- pub tags: core::option::Option<Tags>,
15- pub title: Title,
16}
17pub type Record = atrium_api::types::Object<RecordData>;
18impl From<atrium_api::types::Unknown> for RecordData {
···20 Self::try_from_unknown(value).unwrap()
21 }
22}
23-///The date and time when the notebook entry was created. This is used for sorting and displaying the entry's creation date.
24-pub type CreatedAt = String;
25-///An array of tags associated with the notebook entry. Tags can help categorize and organize entries.
26-pub type Tags = Vec<String>;
27-///The title of the notebook entry.
28-pub type Title = String;
···6pub struct RecordData {
7 ///The content of the notebook entry. This should be some flavor of Markdown.
8 pub content: String,
9+ ///Client-declared timestamp when this was originally created.
10+ pub created_at: atrium_api::types::string::Datetime,
11 ///The set of images, if any, embedded in the notebook entry.
12 #[serde(skip_serializing_if = "core::option::Option::is_none")]
13 pub images: core::option::Option<crate::sh::weaver::embed::images::Main>,
14 #[serde(skip_serializing_if = "core::option::Option::is_none")]
15+ pub tags: core::option::Option<crate::sh::weaver::notebook::defs::Tags>,
16+ pub title: crate::sh::weaver::notebook::defs::Title,
17}
18pub type Record = atrium_api::types::Object<RecordData>;
19impl From<atrium_api::types::Unknown> for RecordData {
···21 Self::try_from_unknown(value).unwrap()
22 }
23}
000000
+3
crates/weaver-common/src/lib.rs
···1pub mod agent;
2pub mod config;
3pub mod error;
0004pub mod lexicons;
5pub mod oauth;
6pub mod resolver;
···1pub mod agent;
2pub mod config;
3pub mod error;
4+/// This filestore is very much not production ready
5+#[cfg(all(feature = "native", feature = "dev"))]
6+pub mod filestore;
7pub mod lexicons;
8pub mod oauth;
9pub mod resolver;
···1//! Weaver renderer
2//!
3-//! This crate works with the weaver-markdown crate to render and optionally upload markdown notebooks to your ATProto PDS.
4//!
56pub mod types;
···1//! Weaver renderer
2//!
3+//! This crate works with the weaver-markdown crate to render and optionally upload markdown notebooks to your Atproto PDS.
4//!
56pub mod types;