askama VS minijinja

Compare askama vs minijinja and see what are their differences.

minijinja

MiniJinja is a powerful but minimal dependency template engine for Rust compatible with Jinja/Jinja2 (by mitsuhiko)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
askama minijinja
28 9
3,093 1,304
- -
9.3 9.1
1 day ago 14 days ago
Rust Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

askama

Posts with mentions or reviews of askama. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-14.
  • Deploying your Rust WASM Game to Web with Shuttle & Axum
    4 projects | dev.to | 14 Feb 2024
    I have inlined the CSS here, and you can use Rust-based tooling like Lightning CSS to minify and bundle CSS here. You might also want to create a Rust build script to generate the HTML from a template, using the askama crate (works a little like Jinja).
  • Getting Started with Actix Web - The Battle-tested Rust Framework
    2 projects | dev.to | 15 Dec 2023
    This adds askama itself as well as the Responder trait implementation for the askama::Template type. askama expects your files to be in a subfolder of the project root called templates by default, so let's create the folder and then create an index.html file with the following HTML code in:
  • Getting Started with Axum - Rust's Most Popular Framework
    5 projects | dev.to | 6 Dec 2023
    You can also use HTML templating with crates like askama, tera and maud! This can be combined with the power of lightweight JavaScript libraries like htmx to speed up time to production. You can read more about this on our other article about using HTMX with Rust which you can find here.. We also collaborated with Stefan Baumgartner on an article for serving HTML with Askama!
  • RustGPT: ChatGPT UI Built with Rust, Htmx, SQLite
    4 projects | news.ycombinator.com | 19 Nov 2023
    This is such a great project, thank you for sharing! It seems like you're getting the usual dump of negativity around HTMX... but as usual, not much coming from anyone who's actually tried to build something small/medium-sized. I keep hearing that this stack "would" fall apart in a bigger project, but I never hear any concrete, empirical descriptions of issues that actually do arise.

    I'll offer one here... using HTMX usually means you're going to be writing HTML templates, and HTML templating languages don't have much IDE support. I really miss goto-definition etc. when I'm writing Jinja templates.

    That being said, I've personally found Rust/HTMX to be a magnificent combo. I personally find writing backend endpoints in Rust to be no more cumbersome than any other language (after becoming comfortable with Rust)... and there's massive gains from the incredible tooling and type system.

    I wonder if you've considered using Askama for your templates? It has a Axum integration that cleans up some of the boilerplate around template rendering. There's also an open PR for block fragments [1], which will make componentization of HTML fragments much easier, as discussed in this essay on the HTMX site [2].

    We need more projects like this to demonstrate how useful, highly-interactive apps are made with HTMX. I'd encourage skeptics to try the same before writing it off.

    [1] https://github.com/djc/askama/pull/824

  • Announcing Stilts v0.1 A new template engine like Askama
    2 projects | /r/rust | 4 Jul 2023
    This templating languge / engine is heavily inspired by Askama, but brings more rust into your template code. The project is still in early stages and is likely filled with bugs but I wanted to get something out there to get some feedback on.
  • Full-Stack-Rust: Which approach in Frontend?
    6 projects | /r/rust | 28 Apr 2023
    Askama
  • Becoming Rustacean:Awesome Free Online Resources to Learn Rust Programming
    6 projects | news.ycombinator.com | 11 Apr 2023
    Rust allows me to mainly only run the application to confirm things work from a business perspective.

    For people starting out building stuff in rust - understand that there is a distinction of async code and libraries and can lead to confusing compiler errors if you don't realize there is a distinction. It's simple in hindsight but did cause me to waste hours barking up the wrong trees at first. Other wise just learn about `match` and Result/Option types asap, they're fundamental.

    https://github.com/http-rs/tide tide is great to create an http server / routes

    https://github.com/djc/askama I use this to template out HTML and it checks all my boxes, dynamic data, passing in functions, control flow.

    https://github.com/launchbadge/sqlx sql interface for a variety of backend, async safe.

    https://github.com/seanmonstar/reqwest http client to make requests

    Rust is amazing, don't let the initial few speed bumps discourage you - building real things with rust is no more challenging today than any other modern language stack.

  • Axum Railway Template, looking for peer review
    1 project | /r/rust | 20 Mar 2023
    I also Suggest using https://crates.io/crates/askama for Templates. even though it can be hard to get use to and they are compile time only It allows you to use Rust functions directly within the Template code. Which can make your life easier.
  • Askama's markdown feature won't let me enable it
    2 projects | /r/learnrust | 2 Mar 2023
    It was a bug in askama that was fixed. The solution is to use a newer version that contains the fix, but they have not released a new version of askama since fixing the bug, so 0.11.1 still contains the bug. It seems like 0.12 has been a long time coming but should finally be coming soon: https://github.com/djc/askama/issues/722
  • Rust for Web Development | An Honest Evaluation
    6 projects | /r/rust | 27 Feb 2023
    A good example is Askama, which should look good to folk from the python / django / jinja world: https://github.com/djc/askama

minijinja

Posts with mentions or reviews of minijinja. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-04.
  • Cryptoflow: Building a secure and scalable system with Axum and SvelteKit - Part 0
    12 projects | dev.to | 4 Jan 2024
    MiniJinja v1 - Templating engine
  • Full-stack authentication system using rust (actix-web) and sveltekit
    19 projects | dev.to | 23 Apr 2023
    An authentication system is an integral part of modern applications. It's so important that almost all modern applications have some sort of it. Because of their critical nature, such systems should be secure and should follow OWAP®'s recommendations on web security and password hashing as well as storage to prevent attacks such as Preimage and Dictionary attacks (common to SHA algorithms). To demonstrate some of the recommendations, we'll be building a robust session-based authentication system in Rust and a complementary frontend application. For this article series, we'll be using Rust's actix-web and some awesome crates for the backend service. SvelteKit will be used for the frontend. It should be noted however that what we'll be building is largely framework agnostic. As a result, you can decide to opt for axum, rocket, warp or any other rust's web framework for the backend and react, vue or any other javascript framework for the frontend. You can even use rust's yew, seed or some templating engines such as MiniJinja or tera at the frontend. It's entirely up to you. Our focus will be more on the concepts.
  • Axum + Sqlite + minijinja + htmx winning website combo?
    10 projects | /r/rust | 2 Mar 2023
    I worked on a side project (currently with about 30-50 regular real users) using Rust (with axum), sqlite for the database, minijinja for template rendering, and htmx for the frontend interactivity and S3 for backups. It was quick to hack together (who says Rust is bad for prototyping?), and yet I still feel happy about the code quality. It's been running for a while now in production on fly.io free tier, I noticed it's apparently been using a steady 12MB of RAM, and zero errors or production issues so far since its inception. Last night I decided randomly to benchmark it on my laptop, it can handle 4000+ requests per second hitting the database with a bunch of data inside, I have put almost no effort into optimization. I feel like this might be a good result? Perhaps approaches like this will catch on? Something about this feels pretty cool! Has anyone else had this experience using Rust? I can think of multiple applications (in cluster of microservices) I've come across during my day jobs with large AWS bills and much higher incidental complexity that I would probably choose to do differently given this experience if I had the chance.
  • Another rewrite in rust: Pydantic
    2 projects | /r/rust | 18 Feb 2023
    Jinja2 vs minijinja-py: not a rewrite per se tho https://github.com/mitsuhiko/minijinja/tree/main/minijinja-py
  • Experimental MiniJinja Bindings for Python
    1 project | /r/Python | 20 Jan 2023
    Thanks to PyO3 and maturin I was able to make pretty decent Python bindings for MiniJinja, which is a Rust reimplementation of most of Jinja2. This in a way is now full circle.
  • Show HN: Robyn – the fastest Python web framework written in Rust
    6 projects | news.ycombinator.com | 14 Jan 2023
    Ronacher has ported jinja2 (partially) to Rust

    https://github.com/mitsuhiko/minijinja

  • You Can't Do That: Abstracting over Ownership in Rust with Higher-Rank Type Bounds. Or Can You?
    3 projects | /r/rust | 11 Sep 2022
    If you wan't to know why I even dove down into this Rabbit hole: I wanted to enable borrowing for filter functions in MiniJinja. The PR has more context
  • [Questions] Calling a Lua function from Rust: `*mut rlua::ffi::lua_State` cannot be shared between threads safely
    2 projects | /r/rust | 10 Oct 2021
    Hello, I am developing a CLI program for rendering template files using the new MiniJinja library by /u/mitsuhiko.
  • ANN: MiniJinja — a minimal dependency template engine with limited Jinja2 compatibility
    1 project | /r/rust | 24 Sep 2021
    github repo

What are some alternatives?

When comparing askama and minijinja you can also consider the following projects:

tera - A template engine for Rust based on Jinja2/Django

maud - :pencil: Compile-time HTML templates for Rust

rust - Empowering everyone to build reliable and efficient software.

handlebars-rust - Rust templating with Handlebars

alacritty - A cross-platform, OpenGL terminal emulator.

sailfish - Simple, small, and extremely fast template engine for Rust

actix-web - Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

markup.rs - A blazing fast, type-safe template engine for Rust.

rust - Rust for the xtensa architecture. Built in targets for the ESP32 and ESP8266

tide-tera

ux-samples - I am just using and testing Angular Rust and UX Framework here