Commit Graph

15 Commits

Author SHA1 Message Date
Tom Alexander
1f3b5262b8
Fix build by making the registry guarded by an ArcMutex. 2023-10-29 22:29:28 -04:00
Tom Alexander
f98a09bc59
Use macros for creating the intermediate stage.
This is to make it easier to change function signatures by consolidating the places where the signatures exist.
2023-10-29 18:46:14 -04:00
Tom Alexander
b66ec507ef
Create a render ast node type. 2023-10-29 18:46:13 -04:00
Tom Alexander
6109902945
Create an intermediate ast node type. 2023-10-29 14:45:02 -04:00
Tom Alexander
06dcd22e69
Switch to split inclusive instead of manually-implemented full lines iterator. 2023-10-29 10:59:33 -04:00
Tom Alexander
f87c453459
Move the full lines iterator to its own file. 2023-10-29 10:55:03 -04:00
Tom Alexander
62ffc76376
Add basic templates for plain list. 2023-10-27 20:12:56 -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
7b01230234
Add target. 2023-10-27 15:05:50 -04:00
Tom Alexander
c6cf5f75ac
Introduce a registry into the conversion to intermediate format. 2023-10-27 15:05:49 -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