Commit Graph

68 Commits

Author SHA1 Message Date
Tom Alexander c094997032
Getting rid of some lifetimes 2020-04-11 21:59:21 -04:00
Tom Alexander 5098ee6338
Switching over to dyn Walkables 2020-04-11 21:57:24 -04:00
Tom Alexander ec3276af79
Much cleaner with impl walkable but don't know if I can loop yet 2020-04-11 21:51:12 -04:00
Tom Alexander 110b03fc45
Going to try returning impl trait before resorting to boxing 2020-04-11 21:44:42 -04:00
Tom Alexander 43e57f4134
setup for moving into a multi-step walk function 2020-04-11 21:26:36 -04:00
Tom Alexander f62d50df95
Taking 1 step in a deep context is working! 2020-04-11 21:20:45 -04:00
Tom Alexander d89d3d9f3c
Added another test proving do_the_walk is now generic 2020-04-11 21:13:21 -04:00
Tom Alexander 54e6613f14
do_the_walk may be generic now? 2020-04-11 21:12:42 -04:00
Tom Alexander c647301662
removing unnecessary lifetime 2020-04-11 21:08:33 -04:00
Tom Alexander 9e1f102540
removing unnecessary static 2020-04-11 21:07:39 -04:00
Tom Alexander 63124bc6e3
Adding &str 2020-04-11 21:07:12 -04:00
Tom Alexander d296ad6b56
Maybe have a generic implementation of walkable working 2020-04-11 21:03:21 -04:00
Tom Alexander 7ace4be3c7
working on two levels 2020-04-11 20:34:16 -04:00
Tom Alexander d5c3985c29
initial walkable implementation 2020-04-11 20:31:44 -04:00
Tom Alexander 15c8ee57a7
Successfully rendering my first template. 2020-04-11 19:19:40 -04:00
Tom Alexander e26b158ab4
Initial implementation of custom Renderable trait. 2020-04-11 19:11:14 -04:00
Tom Alexander af5122ab9f
Figured out how to get a value using `to_string()`
Figured out how to get a value using `to_string()` but serde_json's `to_string()` is wrapping a string in quotes. I think I want to implement my own trait to support custom logic for rendering values.
2020-04-11 19:05:50 -04:00
Tom Alexander 265afe7eeb
I think I figured out how to get the Index trait back into the generic type. 2020-04-11 19:05:50 -04:00
Tom Alexander f65a144b3c
Beginning of the render_tag function.
Beginning of the render_tag function. At this point I need to figure out how to access elements in the context.
2020-04-11 19:05:40 -04:00
Tom Alexander 2459d7b418
Rendering spans 2020-04-11 18:25:48 -04:00
Tom Alexander 13934e8699
Rename DustContext to DustRenderer 2020-04-10 20:58:55 -04:00
Tom Alexander 2842d0a14a
Loading the compiled templates into a context 2020-04-10 20:55:44 -04:00
Tom Alexander 743106684a
compiling templates in the same manner as the shim 2020-04-10 20:27:27 -04:00
Tom Alexander 7e0a617ba6
Add support for supplying multiple templates to the dustjs shim to support testing partials. 2020-04-10 19:07:02 -04:00
Tom Alexander 608c55575e
Merge branch 'helpers' 2020-04-10 19:05:09 -04:00
Tom Alexander 05d9e20a8f
Add all the helpers 2020-04-07 21:49:28 -04:00
Tom Alexander 15c732b3a3
Also stealing the ParameterizedBlock struct 2020-04-07 20:37:15 -04:00
Tom Alexander b7120a34de
Forking the partial code for reuse as helper code 2020-04-07 20:21:26 -04:00
Tom Alexander ad33f98404
Merge branch 'partials' 2020-04-07 19:56:44 -04:00
Tom Alexander 2ebe4798d5
Add test for quoted partial 2020-04-07 19:53:57 -04:00
Tom Alexander e2f03de297
Integrated the partial parser into the rest of the grammar 2020-04-07 19:51:06 -04:00
Tom Alexander 8bfa622c4c
parsing out string literals in addition to paths 2020-04-06 23:47:50 -04:00
Tom Alexander 79100fc50f
Introducing a KVPair type 2020-04-06 23:35:09 -04:00
Tom Alexander dd8b4ac28c
Introducing an RValue enum to handle paths vs literals 2020-04-06 23:30:42 -04:00
Tom Alexander 8641e5a98b
Starting stand-alone parsers for key value pairs 2020-04-06 23:21:03 -04:00
Tom Alexander ffce2b0569
The extra steps are making it harder to debug, so move parser directly into test 2020-04-06 22:47:24 -04:00
Tom Alexander 647c22b3a9
Initial scaffold for partials 2020-04-06 22:02:10 -04:00
Tom Alexander c6f43820ca
Merge branch 'quoted_strings' 2020-04-06 21:26:29 -04:00
Tom Alexander 989bc6ed2a
Added backslash to the quoted string test 2020-04-06 21:26:08 -04:00
Tom Alexander a6e48aee6a
Switch to escaped_transform to unescape the text. 2020-04-06 21:09:06 -04:00
Tom Alexander 5463ed2cdf
Added surrounding quotes 2020-04-06 21:03:03 -04:00
Tom Alexander 878cbf56ca
Switch to raw strings 2020-04-06 20:47:17 -04:00
Tom Alexander a0b032ad4b
I was missing an escape character 2020-04-06 20:45:39 -04:00
Tom Alexander 586823aa8a
first test case failing 2020-04-06 20:34:04 -04:00
Tom Alexander b3120d2e52
Initial scaffold for developing a quoted string parser 2020-04-06 20:20:53 -04:00
Tom Alexander 41abcb9b4a
Add support for named blocks 2020-04-05 23:47:55 -04:00
Tom Alexander 52824b4d0b
Rename the container parser to conditional.
Rename the container parser to conditional because we are going to have other tags with bodies that do not match the same semantics as the conditional blocks. An example of this is inline partials only support a single key rather than a path.
2020-04-05 19:39:07 -04:00
Tom Alexander de4f420627
separate out the parser for key because partials don't use a full path, only a key 2020-04-05 19:34:46 -04:00
Tom Alexander 7f2c7151a9
Rename Block to Body because dust uses the name Block for `{+` 2020-04-05 19:29:16 -04:00
Tom Alexander fb17911c44
Change repo to generate both a library and a binary.
This repo will primary be a library, but for compliance testing it may make sense to have a binary operating in the same fashion as the node dustjs shim so I've set up this repo to generate both a library and a binary.
2020-04-05 19:21:43 -04:00