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