The Iron framework hasn't been updated in a long time. It still uses outdated versions of libraries like futures 0.1, hyper 0.12, url 1.7. We can clean up the repo by removing it. This will also slightly speed up CI.
* Add support for Option<T> attributes
Introduces the `attr=[value]` syntax that assumes `value` is an
`Option<T>`. Renders `attr="value"` for `Some(value)` and entirely
omits the attribute for `None`.
Implements and therefore closes#283.
* Call `Generator::splice` directly
* Handle struct literals (edge case)
Co-authored-by: Chris Wong <xbuns@google.com>
This introduces support for Tide by implementing `From` over markup.
Unlike other frameworks, Tide does not seem to provide e.g. a trait
which could instead be implemented. However as demonstrated, this
alternative results in a simple, ergonomic interface.
Consumers may leverage Tide support by using the "tide" feature.
Co-authored-by: Chris Wong <lambda.fairy@gmail.com>
Removed references to `std` and replaced them with references to `core` and `alloc`.
Features `rocket` and `iron` still require `std`.
Co-authored-by: Chris Wong <lambda.fairy@gmail.com>
There's already [template-benchmarks-rs](https://github.com/djc/template-benchmarks-rs), so we don't need to maintain a separate set here.
The Maud-specific benchmarks are kept, as they're still useful for testing future optimizations.
* Add actix-web v3 support
* Add actix-web example
* Resolve changelog PR number
* Make sure that examples are built on CI
* Format Cargo.toml consistently
Co-authored-by: Chris Wong <lambda.fairy@gmail.com>
* Add an off-by-default 'unstable' flag
* Remove explicit web framework feature names
Having forgotten that deps and features can't have the same name,
attempts to better document all the features in one place were
misplaced.
* Split up tests on Travis
`cargo test` doesn't allow `--workspace` and `--features`
simultaneously, so we're forced to test each package separately in order
to manually specify features (or in this case, test everything but
unstable)
* Update Travis Config
- Document the state of Cargo workspaces and features
- Update the benchmarks to trickle down the 'unstable' feature
As discussed in Pull Request #182 we will only support actix-web 2.0.0
from this point onwards. If you still wish to use a previous version of
actix-web you'll have to pin the version.
In order to support both actix-web < 2.0.0 and >= 2.0.0 at the same
time I added a feature actix-web-2, which enables the actix-web
dependency with the respective version und the name active-web-2-dep
and the futures dependency which is required(?) for implementing the
Responder trait for >= 2.0.0.
Thus the user of maud has the choice to use actix-web in the version
they prefer.