diff options
author | cel 🌸 <cel@blos.sm> | 2023-05-30 21:48:26 +0100 |
---|---|---|
committer | cel 🌸 <cel@blos.sm> | 2023-05-30 21:48:26 +0100 |
commit | 4e24495b159df0dbc4f503843c08ccd452af616a (patch) | |
tree | 9834c93fe714713b5305dbb46561d8e7154c142a /src/posts/mod.rs | |
parent | c6378ca77f08a8aaf30fa25c4c02d151bf69edfa (diff) | |
download | blossom-4e24495b159df0dbc4f503843c08ccd452af616a.tar.gz blossom-4e24495b159df0dbc4f503843c08ccd452af616a.tar.bz2 blossom-4e24495b159df0dbc4f503843c08ccd452af616a.zip |
WIP: blog
Diffstat (limited to '')
-rw-r--r-- | src/posts/mod.rs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/posts/mod.rs b/src/posts/mod.rs index e69de29..b0c3749 100644 --- a/src/posts/mod.rs +++ b/src/posts/mod.rs @@ -0,0 +1,33 @@ +use chrono::{DateTime, Utc}; +use std::path::Path; + +enum PostType { + Article, + Note, +} + +enum TextFormat { + Markdown, + Plaintext, + Html, +} + +pub struct Post<T: Content> { + id: i64, + created_at: DateTime<Utc>, + updated_at: Option<DateTime<Utc>>, + post_type: PostType, + media: Option<Vec<Box<Path>>>, + content: Option<T>, + tags: Vec<String>, +} + +pub trait Content { + fn render(&self) -> String; +} + +// impl<T> Post<T> { +// // renders as internal html (must sanitize) +// fn new(type: PostType, ) -> Post<T> { +// } +// } |