35 Commits

Author SHA1 Message Date
Tom Alexander
2ba4a5e3d7
Generate newer and older links. 2023-12-17 17:16:26 -05:00
Tom Alexander
e8ed4a4f4a
Initial structure for rendering a blog post stream. 2023-12-17 15:32:07 -05:00
Tom Alexander
c98489cacb
Add the page header to the render context. 2023-12-17 14:45:42 -05:00
Tom Alexander
35dbab0ceb
Create a page header struct. 2023-12-17 14:45:42 -05:00
Tom Alexander
b654ca4859
Add render phase to tables. 2023-10-31 20:29:37 -04:00
Tom Alexander
ef4d315bf2
Run cargo fix. 2023-10-31 20:02:46 -04:00
Tom Alexander
159d8fb72a
Add render stage for text markup. 2023-10-31 20:02:04 -04:00
Tom Alexander
ae933b491e
Use macros for the intermediate to render step.
This is largely to make changing the type signature of these functions easier by significantly reducing the amount of places that duplicates the signature.
2023-10-31 19:48:05 -04:00
Tom Alexander
8695cf17c5
Copy the value of latex fragments through the pipeline. 2023-10-31 19:14:36 -04:00
Tom Alexander
ada11816fb
Run cargo fix. 2023-10-29 22:31:29 -04:00
Tom Alexander
3720558d93
Render the footnote definitions. 2023-10-29 18:46:13 -04:00
Tom Alexander
b66ec507ef
Create a render ast node type. 2023-10-29 18:46:13 -04:00
Tom Alexander
cd27869122
Populate render context for footnote references. 2023-10-29 14:45:02 -04:00
Tom Alexander
6d83828012
Add inline source block. 2023-10-29 10:44:32 -04:00
Tom Alexander
313313ae53
Initial structure for unhighlighted source blocks. 2023-10-29 09:37:27 -04:00
Tom Alexander
d9a3b13780
Use raw_link instead of path for regular links. 2023-10-29 09:31:00 -04:00
Tom Alexander
3d89492518
Add regular link. 2023-10-27 20:43:57 -04:00
Tom Alexander
793789bdf2
Add entity. 2023-10-27 20:27:50 -04:00
Tom Alexander
bfc9e3ed80
Add plain list items. 2023-10-27 20:18:19 -04:00
Tom Alexander
62ffc76376
Add basic templates for plain list. 2023-10-27 20:12:56 -04:00
Tom Alexander
5bbb12327b
Add template for quote blocks. 2023-10-27 19:53:18 -04:00
Tom Alexander
f6c475c80c
Add templates for text markup. 2023-10-27 19:42:33 -04:00
Tom Alexander
c279bad13a
Add children to heading. 2023-10-27 19:22:17 -04:00
Tom Alexander
b0ac14ee58
Add the skeletons for the objects. 2023-10-27 17:48:19 -04:00
Tom Alexander
23713a934c
Add the skeletons for the elements. 2023-10-27 17:08:58 -04:00
Tom Alexander
354d24cf69
Add comment as a no-op. 2023-10-27 16:14:37 -04:00
Tom Alexander
5891ac7fb7
Add keyword and as no-op. 2023-10-27 16:09:44 -04:00
Tom Alexander
4a6948cde7
Add paragraph. 2023-10-27 15:46:56 -04:00
Tom Alexander
5b34942b64
Add element. 2023-10-27 15:46:56 -04:00
Tom Alexander
7b01230234
Add target. 2023-10-27 15:05:50 -04:00
Tom Alexander
e3b5f7f74f
Rename blog_post module to intermediate.
This module is mostly the intermediate representation of the AST, so the renaming is to make that more clear. The three forms are parsed => intermediate => render.

Parsed comes from Organic and is a direct translation of the org-mode text.

Intermediate converts the parsed data into owned values and does any calculations that are needed on the data (for example: assigning numbers to footnotes.)

Render takes intermediate and translates it into the format expected by the dust templates. The processing in this step should be minimal since all the logic should be in the intermediate step.
2023-10-27 13:10:21 -04:00
Tom Alexander
1ac39c2a6f
Add RenderPlainText. 2023-10-27 13:01:45 -04:00
Tom Alexander
744d3e50fb
Convert intermediate objects into render objects. 2023-10-27 12:47:12 -04:00
Tom Alexander
31a3efe417
Only print the contexts.
This allows us to pipe the output to jq to see the context easier. We can see the rendered output in the files written to disk.
2023-10-24 00:51:28 -04:00
Tom Alexander
2b7a19a1d4
Introduce the corresponding non-render types. 2023-10-24 00:36:08 -04:00