Commit Graph

170 Commits

Author SHA1 Message Date
Tom Alexander
5efa650b67 Switching to a combined ContextElement trait for Walkable and Renderable 2020-04-11 22:19:54 -04:00
Tom Alexander
07e5c9f0af turns out putting dyn everywhere fixes it 2020-04-11 22:04:44 -04:00
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