Commit Graph

189 Commits

Author SHA1 Message Date
Tom Alexander dc233d26b1
Store the title in BlogPostPage. 2023-10-23 18:39:54 -04:00
Tom Alexander e543a5db74
Starting to introduce a BlogPostPage struct.
Blog posts are going to be constructed of multiple documents each forming their own page. This will allow me to link to supporting documents without having to promote them to their own pages.
2023-10-23 16:03:37 -04:00
Tom Alexander 199621b6f1
Remove the separation of the main template.
I don't think this is necessary, and it certainly isn't necessary at this level.
2023-10-22 18:39:05 -04:00
Tom Alexander 586fd8a066
Getting rendered output from duster. 2023-10-22 18:31:56 -04:00
Tom Alexander 043cc5eda4
I think I have worked around the lifetime issue by keeping references to the intermediate str's. 2023-10-22 18:12:45 -04:00
Tom Alexander 58aba8efd5
Invoking the compile function.
I am going to have to address the lifetime issue of "compiled" duster templates borrowing the input str.
2023-10-22 17:37:27 -04:00
Tom Alexander ce0819e85b
Feeding the templates into the renderer integration. 2023-10-22 17:31:12 -04:00
Tom Alexander fc5342adce
Make the renderer a bit more generic. 2023-10-22 16:40:58 -04:00
Tom Alexander aed88cf05a
Add include_dir.
This will let us embed the default versions of templates, stylesheets, javascript, etc into the binary. Naturally, we will eventually support overriding the defaults.
2023-10-22 16:28:54 -04:00
Tom Alexander 24bac982f1
Starting to create the renderer integrations.
These are the layer directly over dust which can be used by anything, not just blog posts.
2023-10-22 16:26:43 -04:00
Tom Alexander 5f34cb2dd5
Creating a SiteRenderer struct to handle the logic for invoking dust. 2023-10-22 16:10:41 -04:00
Tom Alexander 0b6900eeca
Serialize the RenderBlogPost to JSON.
This struct still does not contain anything, but I'm just setting up the skeleton for this code.
2023-10-22 16:01:42 -04:00
Tom Alexander b72aec9d20
Starting a struct for what will be passed as the context into dust. 2023-10-22 15:31:45 -04:00
Tom Alexander a510d0809f
Add serde_json. 2023-10-22 15:06:31 -04:00
Tom Alexander 87d32323f2
Add duster. 2023-10-22 15:01:30 -04:00
Tom Alexander a0c5b2d852
Don't use walkdir for getting the post directories.
We are only iterating a single level of depth anyway, so read_dir is enough.
2023-10-22 14:49:08 -04:00
Tom Alexander a9fbb4cd63
Get the output directory and clear it. 2023-10-22 14:40:59 -04:00
Tom Alexander 07e4209048
Setting the post id based on the folder name. 2023-10-22 13:50:11 -04:00
Tom Alexander 2f0f3ab346
Switch to using CustomError because a boxed StdError is not Send. 2023-10-22 13:44:03 -04:00
Tom Alexander d8fc49797e
Moving into a load_blog_post function to create a BlogPost struct. 2023-10-22 12:04:09 -04:00
Tom Alexander 816780589f
Parse the org-mode files. 2023-10-21 18:00:51 -04:00
Tom Alexander acaa12cb6e
Read the org files inside the writer directory. 2023-10-20 20:16:22 -04:00
Tom Alexander 051e86e65a
Remove the AddPost command.
I will be putting this back in later but having the skeleton sitting there unused has no value at this time.
2023-10-20 19:13:22 -04:00
Tom Alexander 273734c9ff
Switch to storing a path to the config file instead of a path to the root directory. 2023-10-20 18:46:22 -04:00
Tom Alexander 4314937d26
Add a function to load a config from file. 2023-10-20 18:39:26 -04:00
Tom Alexander 672ca07a0e
Introduce a new config struct the lives above the raw disk implementation.
This should let us include values that would not be written to disk like the folder containing the config.
2023-10-18 21:25:37 -04:00
Tom Alexander 6668af2025
Add 0BSD license. 2023-10-18 20:37:35 -04:00
Tom Alexander 2350390148
Add some settings to the config. 2023-10-18 20:30:32 -04:00
Tom Alexander 933387eb6f
Writing the writer.toml to a folder when running init. 2023-10-18 20:21:28 -04:00
Tom Alexander 5f82d7a469
Add serde and toml for parsing the config. 2023-10-18 20:06:30 -04:00
Tom Alexander 63b0619094
Add the folder structure for the toml config. 2023-10-18 20:00:39 -04:00
Tom Alexander 8b5930f277
Set up folder structure for the command handlers. 2023-10-18 19:54:18 -04:00
Tom Alexander 179b07388a
Add a test for verifying the clap CLI. 2023-10-18 19:49:03 -04:00
Tom Alexander a1f4600483
Move the CLI to a module. 2023-10-18 19:47:05 -04:00
Tom Alexander 1b189cf15c
Add very basic CLI. 2023-10-18 19:36:15 -04:00
Tom Alexander 7418d4fd81
Add clap and tokio. 2023-10-18 19:12:20 -04:00
Tom Alexander 396b91be10
Add Organic as a dependency. 2023-10-18 19:07:12 -04:00
Tom Alexander 483bc25975
Add Cargo.lock. 2023-10-18 19:04:02 -04:00
Tom Alexander 1ca2d2f49d
Initial commit. 2023-10-18 19:03:45 -04:00