Commit graph

435 commits

Author SHA1 Message Date
Chris Wong
9fa87721e6 Rewrite Render and RenderOnce traits
... to make them more user-friendly.

Closes 
2016-10-08 21:50:59 +13:00
Chris Wong
ba2233f783 Don't put let _ = in front of every statement
This was useful when the `Render*` traits returned `std::fmt::Result`,
but now they're just cruft.
2016-10-06 12:29:07 +13:00
Chris Wong
f48966b5bb Fix test breakage oh no 2016-10-05 20:51:16 +13:00
Chris Wong
4284875869 Change escaper to use bytes instead of chars
This removes the overhead from UTF-8 encoding, and makes us faster than
Horrorshow again :)
2016-10-05 20:43:24 +13:00
Chris Wong
8ed3608a7c Benchmarks: Use Horrorshow 0.5.8 2016-10-05 20:43:01 +13:00
Chris Wong
e98d340825 Pre-allocate a buffer of (roughly) the right size
Closes 
2016-10-02 17:48:01 +13:00
Chris Wong
30e1071c05 Add preliminary benchmarks 2016-10-02 17:24:36 +13:00
Chris Wong
fedaded75a Release 0.11.1 2016-09-25 12:50:33 +13:00
Chris Wong
a4c43dbd3a Documentation nit: "input data" -> "value" 2016-09-25 12:30:12 +13:00
Chris Wong
0c437ca9d3 Do not implement traits on type aliases
Due to , trait `impl`s on type aliases are not shown
in automatically generated documentation. Until this bug is fixed, it is
better not to write code this way.
2016-09-25 12:25:21 +13:00
Chris Wong
84cb8cfe37 Flesh out documentation for runtime library 2016-09-24 19:11:59 +12:00
Chris Wong
228717818a Remove mention of "iron-maud" from doc upload script
We don't talk about him any more.
2016-09-24 12:20:47 +12:00
Chris Wong
d34c558f3b Release 0.11.0 2016-09-24 12:17:35 +12:00
Chris Wong
c832e2edb4 Specialize Render for strings 2016-09-23 19:45:41 +12:00
Chris Wong
c05bb02d97 Remove call expressions 2016-09-23 19:36:42 +12:00
Chris Wong
f12efe4299 Rewrite everything to use Strings instead of writers
After fiddling around with zero-allocation solutions, I concluded that
all non-allocating approaches are too annoying to work with in realistic
code. Using closures leads to yak-shaving with lifetimes; and because
Iron needs to take ownership of the response body we often end up
cloning the input data anyway.

Removing this constraint has let me simplify the entire system, removing
a net 300 lines from the library. The `html!` macro no longer takes a
writer, and instead returns a `PreEscaped<String>`. This means that the
result of an `html!` can be spliced directly into another `html!`,
removing the need for the `impl Template` rigmarole.

To rub it in, benchmarks show the new code is in fact *faster* than it
was before. How lovely.
2016-09-23 19:22:22 +12:00
Chris Wong
196b811066 Graargh fix typo in URL 2016-09-21 00:01:59 +12:00
Chris Wong
d7071d1fe9 Release 0.10.0 2016-09-20 23:58:07 +12:00
Chris Wong
0379073308 Add iron-maud to Travis 2016-09-20 23:37:10 +12:00
Chris Wong
83efd5877f Add missing test 2016-09-19 21:42:34 +12:00
Chris Wong
9c35cc557e Update Rust 2016-09-18 12:22:02 +12:00
Chris Wong
df16c6b172 iron-maud 2016-09-11 20:59:51 +12:00
Chris Wong
7045191c19 Add the "call" keyword back in
This change should make the syntax look a bit less mysterious
2016-09-02 23:23:39 +12:00
Chris Wong
58650b0dd0 Remove dead code 2016-09-01 17:52:51 +12:00
Chris Wong
ed9228fa93 Require parentheses around calls
This simplifies the parser quite a bit
2016-08-22 21:53:23 +12:00
Chris Wong
97a71d7bc3 Require that all literal strings are quoted
Unquoted literals are confusing, annoying to implement, and rarely used.
We're better off without them.
2016-08-18 22:31:12 +12:00
Chris Wong
6a6b23d8ae Switch to new splice syntax using parentheses
Closes 
2016-08-18 22:12:14 +12:00
Chris Wong
61791a6aef @call yay -> @yay 2016-08-15 20:46:04 +12:00
Chris Wong
aded75f01f Add some juicy impl Trait niceness 2016-08-15 20:32:39 +12:00
Chris Wong
d2bf70da9a Allow names with multiple hyphens in a row
Fixes 
2016-08-07 20:39:31 +12:00
Chris Wong
1ec48a3725 Refactor tests
Closes 
2016-07-31 21:34:46 +12:00
Chris Wong
4d66646ece Don't allow namespaces in class and ID names 2016-07-21 21:19:38 +12:00
Chris Wong
0f27b191bb Merge pull request from msifd/feat/namespace
Add namespace support for element and attribute names
2016-07-20 12:46:48 +12:00
msifeed
36a88bd74f Move ident parsing to separate method 2016-07-19 14:57:05 +03:00
msifeed
e222f5385d Fixed minuses in namespaces 2016-07-18 14:40:45 +03:00
msifeed
bad49d49c0 Add namespace support for element and attribute names 2016-07-18 13:07:58 +03:00
Chris Wong
df4ed876ac Release 0.9.2 2016-07-10 20:02:19 +12:00
Chris Wong
3fab6b4637 Update Rust 2016-07-10 20:02:03 +12:00
Chris Wong
ceb2bb544e Release v0.9.1 2016-07-03 17:05:16 +12:00
Chris Wong
166296db30 Update Rust 2016-07-03 16:55:45 +12:00
Chris Wong
f1c4e09ac3 Silence "duplicate loop labels" warnings
Closes 
2016-06-12 15:39:12 +12:00
Chris Wong
49c5698bea Release 0.9.0 2016-06-12 15:07:11 +12:00
Chris Wong
ca74f0eda0 Update Rust 2016-06-12 15:05:49 +12:00
Chris Wong
92ba854773 Implement ID shorthand
Closes 
2016-06-03 23:06:39 +12:00
Circle CI
8f58fe441e Remove another unused import 2016-05-18 19:44:13 +12:00
Chris Wong
bd82da1824 Remove unused import 2016-05-14 18:42:30 +12:00
Chris Wong
2578c9aefc Release 0.8.1 2016-04-27 16:24:41 +12:00
Chris Wong
071aac34f8 Change documentation link 2016-04-27 16:23:31 +12:00
Chris Wong
00ec443326 Update Rust
2016-04-27 12:10:37 +12:00
Chris Wong
8492259638 Use the new ? syntax (so purty) 2016-03-22 23:31:23 +13:00