jacquard_api/sh_weaver/
notebook.rs

1// @generated by jacquard-lexicon. DO NOT EDIT.
2//
3// Lexicon: sh.weaver.notebook.defs
4//
5// This file was automatically generated from Lexicon schemas.
6// Any manual changes will be overwritten on the next regeneration.
7
8pub mod authors;
9pub mod book;
10pub mod chapter;
11pub mod entry;
12
13#[jacquard_derive::lexicon]
14#[derive(
15    serde::Serialize,
16    serde::Deserialize,
17    Debug,
18    Clone,
19    PartialEq,
20    Eq,
21    jacquard_derive::IntoStatic,
22    bon::Builder
23)]
24#[serde(rename_all = "camelCase")]
25pub struct AuthorListView<'a> {
26    #[serde(skip_serializing_if = "std::option::Option::is_none")]
27    #[builder(into)]
28    #[serde(borrow)]
29    pub cid: Option<jacquard_common::types::string::Cid<'a>>,
30    pub index: i64,
31    #[serde(skip_serializing_if = "std::option::Option::is_none")]
32    #[builder(into)]
33    #[serde(borrow)]
34    pub record: Option<jacquard_common::types::value::Data<'a>>,
35    #[serde(skip_serializing_if = "std::option::Option::is_none")]
36    #[builder(into)]
37    #[serde(borrow)]
38    pub uri: Option<jacquard_common::types::string::AtUri<'a>>,
39}
40
41#[jacquard_derive::lexicon]
42#[derive(
43    serde::Serialize,
44    serde::Deserialize,
45    Debug,
46    Clone,
47    PartialEq,
48    Eq,
49    jacquard_derive::IntoStatic,
50    bon::Builder
51)]
52#[serde(rename_all = "camelCase")]
53pub struct BookEntryRef<'a> {
54    #[serde(borrow)]
55    pub entry: crate::sh_weaver::notebook::EntryView<'a>,
56}
57
58/// An ordered entry in a Weaver notebook.
59#[jacquard_derive::lexicon]
60#[derive(
61    serde::Serialize,
62    serde::Deserialize,
63    Debug,
64    Clone,
65    PartialEq,
66    Eq,
67    jacquard_derive::IntoStatic,
68    bon::Builder
69)]
70#[serde(rename_all = "camelCase")]
71pub struct BookEntryView<'a> {
72    #[serde(borrow)]
73    pub entry: crate::sh_weaver::notebook::EntryView<'a>,
74    pub index: i64,
75    #[serde(skip_serializing_if = "std::option::Option::is_none")]
76    #[builder(into)]
77    #[serde(borrow)]
78    pub next: Option<crate::sh_weaver::notebook::BookEntryRef<'a>>,
79    #[serde(skip_serializing_if = "std::option::Option::is_none")]
80    #[builder(into)]
81    #[serde(borrow)]
82    pub prev: Option<crate::sh_weaver::notebook::BookEntryRef<'a>>,
83}
84
85/// The format of the content. This is used to determine how to render the content.
86#[jacquard_derive::lexicon]
87#[derive(
88    serde::Serialize,
89    serde::Deserialize,
90    Debug,
91    Clone,
92    PartialEq,
93    Eq,
94    jacquard_derive::IntoStatic,
95    Default
96)]
97#[serde(rename_all = "camelCase")]
98pub struct ContentFormat<'a> {
99    /// The format of the content. This is used to determine how to render the content.
100    #[serde(skip_serializing_if = "std::option::Option::is_none")]
101    #[serde(borrow)]
102    pub markdown: std::option::Option<jacquard_common::CowStr<'a>>,
103}
104
105#[jacquard_derive::lexicon]
106#[derive(
107    serde::Serialize,
108    serde::Deserialize,
109    Debug,
110    Clone,
111    PartialEq,
112    Eq,
113    jacquard_derive::IntoStatic,
114    bon::Builder
115)]
116#[serde(rename_all = "camelCase")]
117pub struct EntryView<'a> {
118    #[serde(skip_serializing_if = "std::option::Option::is_none")]
119    #[builder(into)]
120    #[serde(borrow)]
121    pub authors: Option<crate::sh_weaver::notebook::AuthorListView<'a>>,
122    #[serde(borrow)]
123    pub cid: jacquard_common::types::string::Cid<'a>,
124    pub indexed_at: jacquard_common::types::string::Datetime,
125    #[serde(borrow)]
126    pub record: jacquard_common::types::value::Data<'a>,
127    #[serde(skip_serializing_if = "std::option::Option::is_none")]
128    #[builder(into)]
129    #[serde(borrow)]
130    pub rendered_view: Option<crate::sh_weaver::notebook::RenderedView<'a>>,
131    #[serde(skip_serializing_if = "std::option::Option::is_none")]
132    #[builder(into)]
133    #[serde(borrow)]
134    pub tags: Option<crate::sh_weaver::notebook::Tags<'a>>,
135    #[serde(skip_serializing_if = "std::option::Option::is_none")]
136    #[builder(into)]
137    #[serde(borrow)]
138    pub title: Option<crate::sh_weaver::notebook::Title<'a>>,
139    #[serde(borrow)]
140    pub uri: jacquard_common::types::string::AtUri<'a>,
141}
142
143#[jacquard_derive::lexicon]
144#[derive(
145    serde::Serialize,
146    serde::Deserialize,
147    Debug,
148    Clone,
149    PartialEq,
150    Eq,
151    jacquard_derive::IntoStatic,
152    bon::Builder
153)]
154#[serde(rename_all = "camelCase")]
155pub struct NotebookView<'a> {
156    #[serde(skip_serializing_if = "std::option::Option::is_none")]
157    #[builder(into)]
158    #[serde(borrow)]
159    pub authors: Option<crate::sh_weaver::notebook::AuthorListView<'a>>,
160    #[serde(borrow)]
161    pub cid: jacquard_common::types::string::Cid<'a>,
162    pub indexed_at: jacquard_common::types::string::Datetime,
163    #[serde(borrow)]
164    pub record: jacquard_common::types::value::Data<'a>,
165    #[serde(skip_serializing_if = "std::option::Option::is_none")]
166    #[builder(into)]
167    #[serde(borrow)]
168    pub tags: Option<crate::sh_weaver::notebook::Tags<'a>>,
169    #[serde(skip_serializing_if = "std::option::Option::is_none")]
170    #[builder(into)]
171    #[serde(borrow)]
172    pub title: Option<crate::sh_weaver::notebook::Title<'a>>,
173    #[serde(borrow)]
174    pub uri: jacquard_common::types::string::AtUri<'a>,
175}
176
177/// View of a rendered and cached notebook entry
178#[jacquard_derive::lexicon]
179#[derive(
180    serde::Serialize,
181    serde::Deserialize,
182    Debug,
183    Clone,
184    PartialEq,
185    Eq,
186    jacquard_derive::IntoStatic,
187    bon::Builder
188)]
189#[serde(rename_all = "camelCase")]
190pub struct RenderedView<'a> {
191    #[serde(skip_serializing_if = "std::option::Option::is_none")]
192    #[builder(into)]
193    #[serde(borrow)]
194    pub css: Option<jacquard_common::types::blob::BlobRef<'a>>,
195    #[serde(borrow)]
196    pub html: jacquard_common::types::blob::BlobRef<'a>,
197}
198
199/// An array of tags associated with the notebook entry. Tags can help categorize and organize entries.
200pub type Tags<'a> = Vec<jacquard_common::CowStr<'a>>;
201/// The title of the notebook entry.
202pub type Title<'a> = jacquard_common::CowStr<'a>;