Commit Graph

185 Commits

Author SHA1 Message Date
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