10 releases
| new 0.7.4 | Feb 22, 2026 |
|---|---|
| 0.7.3 | Feb 19, 2026 |
| 0.6.10 | Aug 18, 2025 |
| 0.6.9 | Apr 29, 2025 |
| 0.6.8 | Mar 16, 2025 |
#523 in HTTP server
37KB
370 lines
Tidos
Tidos is a high-performance Rust-based component framework that seamlessly integrates with any web framework, enabling developers to build dynamic web applications with ease. With Tidos’ powerful macros, you can intuitively create components directly within your Rust code. It even allows you to leverage Rust's pattern matching, loops, and conditionals inside your components—making your UI logic more expressive and maintainable.
use tidos::view;
let names = vec!["Bob", "Alice"];
view! {
{#for name in names}
<p>{format!("Hello {}!", name)}</p>
{/for}
}
Examples
A simple example
use tidos::{view, Component, Page};
pub struct Greet {
pub name: String,
}
impl Component for Greet {
fn to_render(&self, page: &mut Page) -> String {
view! {
<section>
<h1>Hello {&self.name}!</h1>
<p>Welcome to Tidos.</p>
</section>
}
}
}
// Example route from Rocket, but you can use any framework you want.
#[get("/")]
pub fn index() -> Page {
use tidos::{page, Component, Page};
page! {
<Greet name={String::from("kaasbroodju")} />
}
}
More examples
- Runnable examples can be found in the
examples/folder. - For API documentation visit docs.rs/tidos.
- For extra context for your ai-assistent check out Tidos' Claude skills.
Getting help
If you're stuck or need help, reach out to the community via our Github discussions.
Contributing
Contributions are absolutely, positively welcomed and encouraged! If you're interested in contributing code or documentation, please first read the code of conduct.
Additionally, you could:
- Submit a feature request or bug report as an issue.
- Ask for improved documentation as an issue.
- Answers questions in GitHub discussions questions.
- Share a project in GitHub discussions show & tell.
License
This project is licensed under the GNU Lesser General Public License v3.0 (LGPL-3.0).
Dependencies
~21–58MB
~1M SLoC