6 releases (3 breaking)
0.4.1 | Aug 25, 2022 |
---|---|
0.4.0 | Aug 4, 2022 |
0.3.1 | Jul 12, 2021 |
0.2.0 | Jan 23, 2021 |
0.1.0 | Jan 14, 2021 |
#7 in #programmatically
105KB
2K
SLoC
Malvolio
Malvolio is a library with a "builder-syntax" for creating complex HTML documents.
Unlike "JSX" style solutions, Malvolio avoids climbing out what has been described as the "macro escape hatch" [1]. This means that you get good editor support, automatic code formatting, and easier refactoring.
Usage
Malvolio should be relatively simple to use.
A quick couple of examples (see the examples and documentation section lower down for more details):
malvolio::prelude::Form::new()
.attribute(Method::Post)
.child(
Input::default()
.attribute(Type::Text)
.attribute(Name::new("invited-user-identifier")),
)
.child(
Input::default()
.attribute(Type::Submit)
.attribute(Value::new("Invite teacher!")),
)
Documentation
Malvolio has API docs which are hosted on docs.rs.
License
Malvolio is licensed under the BSD 3-Clause license - a copy of which may be
found in the LICENSE
file in the repository root, currently at
https://github.com/puck-rs/malvolio.
At your option, the program is also licensed under the terms of the Apache 2.0
software license - details as to where the license can be located can be found
in the aforementioned repository root, in the file APACHE-2.0
.
Semver
Malvolio follows semantic versioning.
For pre-1.0.0 versions we make the following guarantees. If the previous release
has version 0.x.y
, then the next release will have version
0.x+1.0
if and only if there was a breaking change0.x.y+1
if and only if the changes made were not breaking.
Dependencies
~2.3–7.5MB
~72K SLoC