Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Make TemplateInput::extension() reusable | René Kijewski | 2022-01-07 | 1 | -1/+7 | |
| | ||||||
* | Unshadow function escaping() | René Kijewski | 2022-01-07 | 1 | -3/+3 | |
| | ||||||
* | Move extension_to_mime_type() to askama_shared | René Kijewski | 2022-01-07 | 2 | -0/+28 | |
| | ||||||
* | Optimize parsing of ranges | René Kijewski | 2022-01-06 | 1 | -17/+13 | |
| | | | | | | | | | | Right now almost every expression needs to be parsed twice: `expr_any()` first parses the left-hand side of a range expression, and if no `..` or `..=` was found the left-hand expression is parsed again, this time as the result of the function. This diff removes the second parsing step by first looking for `.. (opt rhs)`, then for `lhs .. (opt rhs)`. | |||||
* | Add `#[inline]` to trivial trait implementations | René Kijewski | 2022-01-06 | 1 | -0/+9 | |
| | ||||||
* | Remove the iron integration from generator | René Kijewski | 2022-01-06 | 2 | -27/+0 | |
| | | | | | | | Issue #527 removed the askama_iron package, but not the integration if someone uses askama_derive's feature with "iron". The old askama_iron crate uses askama v0.10, so it will still work. | |||||
* | Add `#![forbid(unsafe_code)]` to all crates except askama_escape | René Kijewski | 2022-01-06 | 1 | -0/+1 | |
| | ||||||
* | Add `#![deny(unreachable_pub)]` to all crates | René Kijewski | 2022-01-06 | 1 | -0/+1 | |
| | ||||||
* | Omit implicit lifetimes | René Kijewski | 2022-01-06 | 4 | -7/+7 | |
| | ||||||
* | Same number of repeats in macro pattern and body | René Kijewski | 2022-01-06 | 1 | -1/+1 | |
| | ||||||
* | No need to build a String when it gets referenced as &str implicitly | René Kijewski | 2022-01-06 | 1 | -6/+0 | |
| | ||||||
* | Combine imports from the same module | René Kijewski | 2022-01-06 | 1 | -2/+1 | |
| | ||||||
* | Update for actix-web beta | René Kijewski | 2022-01-05 | 1 | -7/+3 | |
| | ||||||
* | askama_rocket: revert to rocket 0.4 for release | Dirkjan Ochtman | 2022-01-04 | 1 | -2/+4 | |
| | ||||||
* | askama_actix: revert to actix-web v3 for release | Dirkjan Ochtman | 2022-01-04 | 1 | -3/+4 | |
| | ||||||
* | Use a separate trait for object safety (#579) | Dirkjan Ochtman | 2021-12-15 | 1 | -17/+5 | |
| | | | | | | | | | | | | | | | | | | This is relatively major change to the main trait's API. For context, I always started from the concept of monomorphized traits, but later several contributors asked about object safety. At that point I made `Template` object-safe, and then even later added a `SizedTemplate` to make some things easier for people who don't need object safety. However, having object-safety in the primary trait is bad for performance (a substantial number of calls into the virtual `Write` trait is relatively slow), and I don't think those who don't need object safety should pay for the cost of having it. Additionally, I feel using associated consts for the extension and size hint is more idiomatic than having accessor methods. I don't know why I didn't use these from the start -- maybe associated consts didn't exist yet, or I didn't yet know how/when to use them. Askama is pretty old at this point... | |||||
* | updated for actix-web 4.0.0-beta.14 | CrunkLord420 | 2021-12-14 | 1 | -1/+2 | |
| | ||||||
* | Use char for patterns where possible | Dirkjan Ochtman | 2021-12-08 | 2 | -3/+3 | |
| | ||||||
* | Update axum to 0.4 (by switching to axum-core) | Michael Alyn Miller | 2021-12-05 | 1 | -5/+3 | |
| | ||||||
* | Move askama_mendes integration into Askama repo (#561) | Dirkjan Ochtman | 2021-12-01 | 1 | -2/+2 | |
| | ||||||
* | Allow whitespace trimming in {{raw}} blocks | René Kijewski | 2021-11-29 | 2 | -18/+21 | |
| | ||||||
* | Add Axum integration | Michael Alyn Miller | 2021-11-27 | 2 | -0/+19 | |
| | ||||||
* | Simplify take_content() implementation | René Kijewski | 2021-11-24 | 1 | -43/+37 | |
| | ||||||
* | Parse `&str` instead of `&[u8]` | René Kijewski | 2021-11-24 | 1 | -132/+120 | |
| | | | | | Askama's takes valid UTF-8 files as input. So why operate on byte slices instead of strings? This makes writing some functions a lot simpler. | |||||
* | Simplify identifier() implementation | René Kijewski | 2021-11-24 | 1 | -17/+15 | |
| | ||||||
* | Simplify ws() and split_ws_parts() | René Kijewski | 2021-11-24 | 1 | -43/+19 | |
| | ||||||
* | use nom::error::ErrorKind | René Kijewski | 2021-11-24 | 1 | -16/+7 | |
| | ||||||
* | Added support for optional escaper for escape filter (resolves #556) | vallentin | 2021-11-19 | 2 | -11/+36 | |
| | ||||||
* | Implement `for … in … if …` | René Kijewski | 2021-11-11 | 2 | -30/+33 | |
| | ||||||
* | Implement for-else | René Kijewski | 2021-11-11 | 3 | -29/+72 | |
| | | | | | | | | | | | | | This PR implements for-else statements like in Jinja. They make it easy to print an alternative message if the loop iterator was empty. E.g. ```rs {% for result in result %} <li>{{ result }}</li> {% else %} <li><em>no results</em></li> {% endfor %} ``` | |||||
* | Prepare for actix-web v4 (#553) | Sergey Pashinin | 2021-11-11 | 1 | -4/+2 | |
| | ||||||
* | Implement {{loop.cycle(…)}} similar to Jinja | René Kijewski | 2021-11-11 | 1 | -7/+30 | |
| | ||||||
* | Don't parse non-template attributes | Dirkjan Ochtman | 2021-11-10 | 1 | -9/+5 | |
| | ||||||
* | Fix support for raw method identifiers | Kelly Thomas Kline | 2021-10-13 | 1 | -1/+1 | |
| | ||||||
* | Use char() instead of tag() when possible | René Kijewski | 2021-10-12 | 1 | -73/+76 | |
| | ||||||
* | Remove custom ParserError type | René Kijewski | 2021-10-12 | 1 | -5/+3 | |
| | ||||||
* | Fix suggestions from nightly clippy | Dirkjan Ochtman | 2021-10-05 | 1 | -13/+9 | |
| | ||||||
* | Ensure that {%break%} is only used inside of a loop | René Kijewski | 2021-08-30 | 1 | -46/+76 | |
| | ||||||
* | Add {% break %} and {% continue %} | René Kijewski | 2021-08-30 | 2 | -0/+26 | |
| | | | | | This PR adds `{% break %}` and `{% continue %}` statements to break out of a loop, or continue with the next element of the iterator. | |||||
* | Parse boolean literals in assignment targets | René Kijewski | 2021-08-25 | 2 | -3/+27 | |
| | | | | | | | | 268d825 introduced a regression that made matching against boolean literals impossible. E.g. "true" was interpreted as the variable "r#true". This PR fixes the problem. The bug was reported by @Restioson in issue #531. | |||||
* | Upgrade to nom 7 | Dirkjan Ochtman | 2021-08-21 | 1 | -5/+9 | |
| | ||||||
* | Better error messages using cuts | René Kijewski | 2021-07-30 | 1 | -131/+186 | |
| | ||||||
* | Use "target()" to parse "when" block | René Kijewski | 2021-07-30 | 3 | -253/+83 | |
| | | | | | | | | | | | | `target()` as used in parsing "let" and "if let" implements parsing nested tuples and structs. But it does not implement parsing literals. The functions `match_variant()` and `with_parameters()` as used in parsing "when" blocks do not implement parsing nested structs, but it implements parsing literals. This PR combines `match_variant()` and `with_parameters()` into `target()`, so that all `{%when%}` support nested structs, too. | |||||
* | Allow omitting "with" keyword in match blocks | René Kijewski | 2021-07-30 | 1 | -1/+1 | |
| | | | | | | | | | Askama uses the syntax `{% when Variant with (parameters) %}` in `{% match %}` blocks. This is done because Askama does not implement the whole pattern matching of Rust's `match` statements. This PR wants to bring Askama a step closer Rust's matching, so the "with" keyword should not be needed anymore. | |||||
* | Allow using "with" keyword in "let" statements | René Kijewski | 2021-07-30 | 1 | -0/+1 | |
| | | | | | | | | Askama uses the syntax `{% when Variant with (parameters) %}` in `{% match %}` blocks. This change allows the optional use of the keyword "with" in "let" and "if let" statements, too. | |||||
* | Silence clippy warning from Rust 1.54 | Dirkjan Ochtman | 2021-07-30 | 1 | -0/+1 | |
| | ||||||
* | Implement destructoring of structs | René Kijewski | 2021-07-05 | 2 | -8/+59 | |
| | | | | | This PR implements the destructoring of structs on the lhs of "let" and "for" statements. | |||||
* | Parse nested tuples in "let" statement lhs | René Kijewski | 2021-07-05 | 2 | -17/+35 | |
| | ||||||
* | Reduce code duplication for writing targets | René Kijewski | 2021-07-05 | 1 | -22/+9 | |
| | | | | | This change also fixes a bug in the loop generator, which failed for shadowed variables. | |||||
* | Move logic where target shadows or declares a variable into method | René Kijewski | 2021-07-05 | 1 | -23/+33 | |
| |