95 Commits

Author SHA1 Message Date
René Kijewski
ab1c3d499c book: update mdbook version and highlight jinja blocks 2025-07-27 02:44:34 +02:00
Markus Ebner
fca6e6f78b
Switch Rust edition of askama_derive to 2024 2025-07-05 03:21:34 +02:00
René Kijewski
9bf41656a4 ci: some fixes
* forgot to update source folder in [#473]
* documentation creation was not checked for `askama_escape`
* cluster-fuzz could not [upload sarif file] that contained its outcome
* let all fuzzers run for the same amount of time

[#473]: <https://redirect.github.com/askama-rs/askama/pull/473>
[upload sarif file]: <https://docs.github.com/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github>
2025-06-03 14:48:37 +02:00
René Kijewski
0e30499f59 ci: update fuzzing corpus to include derive 2025-06-01 19:14:28 +02:00
Guillaume Gomez
39b957a1b3 Add issue templates 2025-05-28 03:17:01 +02:00
René Kijewski
e99f612391 Drive-by fixes 2025-05-18 23:06:42 +02:00
René Kijewski
e2aa22d423 ci: disable Cluster-Fuzz until there is a seed corpus for derive 2025-05-17 23:31:03 +02:00
René Kijewski
b716014612 Fuzz code generator, too 2025-05-17 23:21:45 +02:00
René Kijewski
6ce85f318c Make code generator re-usable for other projects
This PR
* removes the crate `askama_derive_standalone`,
* makes `askama_derive` a normal library, and
* adds the proc-macro crate `askama_macros`,

Before, it was not possible for another crate to re-export
`askama::Template` in a useful way, because the generated code assumes
that it has access to an `extern crate askama`.

`askama_derive` will export the function `derive_template()` like
`askama_derive_standalone` did, but it has an additional argument to
accept a `TokenStream` that should contain (an) statement(s) to define
the identifier `askama`, e.g. `quote! { extern crate askama; }`.

The new proc-macro crate `askama_macros` now defines the derive-macro
`Template` by calling `askama_derive::derive_template()`.

Prior art: [`encase`] → [`encase_derive`] → [`encase_derive_impl`];
[2298a3e].

[`encase`]: <https://crates.io/crates/encase/0.11.0>
[`encase_derive`]: <https://crates.io/crates/encase_derive/0.11.0>
[`encase_derive_impl`]: <https://crates.io/crates/encase_derive_impl/0.11.0>
[2298a3e]: <2298a3efd5>
2025-05-17 13:20:21 +02:00
René Kijewski
979f9d8ef4 ci: remove zizmor test
It was a small script to test common Github action config errors, but
IMHO it became more opinionated with every release. No, I won't add a
hashsum to every `uses` line, thank you for asking again and again.

Also, it takes 3 minutes to build by now. 3 minutes until the first real
test is executed.
2025-05-02 01:09:35 +02:00
dependabot[bot]
3cdc0ea4c1 build(deps): bump astral-sh/setup-uv from 5 to 6
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 5 to 6.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v5...v6)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-25 01:17:27 +02:00
René Kijewski
79be271593 Run doctests 2025-04-22 23:37:23 +02:00
Guillaume Gomez
7fccbdf1d7 Remove usage of nextest 2025-04-22 11:34:55 +02:00
Guillaume Gomez
04a4d5b020 Update MSRV to 1.83 2025-04-22 11:34:55 +02:00
René Kijewski
661c38cdc6 ci: fix up to #380 2025-03-23 23:52:04 +01:00
René Kijewski
35a1be81af ci: ensure that github CI config is safe using zizmor
Zizmor: <https://woodruffw.github.io/zizmor/>
2025-03-23 23:25:08 +01:00
René Kijewski
f564e724e1 Revive askama_escaped
We adopted `askama_escape` with the other askama crates. It was not
updated for quite some time, but still gets 25k+ downloads / day Mon to
Fri.

This PR re-adds the crate using our current HTML escaping function.
2025-03-21 22:45:25 +01:00
René Kijewski
d8896bcc43 Re-enable Cluster-Fuzz in CI 2025-03-19 23:49:24 +01:00
Guillaume Gomez
3c4a2eb9b0 Comment out Cluster-Fuzz for now 2025-03-11 19:31:06 +01:00
Guillaume Gomez
3b52c907c3 Rename rinja into askama 2025-03-11 19:31:06 +01:00
René Kijewski
98cb4233e2 Make derive optional
This is the same as in e.g. `serde` with the feature of the same name.
If you manually depend on `rinja_derive`, then you can make better use
of your multi-core setup.
2025-02-09 17:47:17 +01:00
René Kijewski
44965f54f5 derive: add option to specify rinja path 2025-02-04 14:34:46 +01:00
René Kijewski
a101903871 Minor clean-ups
* add missing softlinks
* sorted `Cargo.toml`s in root and testing
* suppress warnings in expanded code
2025-01-29 12:30:52 +01:00
René Kijewski
5944ab9bef Implement enum variants 2025-01-26 02:23:51 +01:00
René Kijewski
78734c1e4d Add salvo example by translating the axum example 2025-01-13 19:53:50 +01:00
René Kijewski
bcf59ed305 Add poem example by translating the actix-web example 2025-01-13 13:54:45 +01:00
René Kijewski
861c59032d Add rocket example by translating the warp example 2025-01-13 13:08:02 +01:00
René Kijewski
42a82c4785 Add warp example by translating the axum example 2025-01-13 13:08:02 +01:00
René Kijewski
5bf465eb3c Add axum example by translating the actix-web example 2025-01-13 13:08:02 +01:00
René Kijewski
5b4df98ff6 ci: group checks in fast, avg and slow 2025-01-04 19:08:16 +01:00
René Kijewski
d254942dbc Add jinja2 tests to verify that jinja2 renders the same 2025-01-01 09:31:52 +01:00
René Kijewski
e7540e17a1 Add no-std and alloc-only tests 2024-12-21 18:53:44 +01:00
René Kijewski
bedc31797c Make #![no_std] compatible 2024-12-21 18:53:44 +01:00
René Kijewski
430b99bdac Fix clippy warnings in rust nightly 1.85 2024-12-11 19:50:29 +01:00
René Kijewski
69ad5ea026 Remove integration crates 2024-11-25 03:03:15 +01:00
Guillaume Gomez
8dd3fc9628
Merge pull request #238 from Kijewski/pr-is_ascii_whitespace
parser: use built-in whitespace trimming
2024-11-14 14:43:14 +01:00
René Kijewski
b76d1000b6 book: pin to mdbook v0.4.40 for now 2024-11-14 11:12:02 +01:00
René Kijewski
d3b9b6ea56 Raise MSRV to 1.80 2024-11-13 23:33:06 +01:00
René Kijewski
3abdf13f35 ci: add cluster-fuzz integration 2024-11-10 04:58:33 +01:00
René Kijewski
9cef402849 Add --feature full
`features = ["full"]` enables all features except integration crates.
2024-10-08 13:40:55 +02:00
René Kijewski
acd6a48557 ci: fix a few typos and add check
This PR adds `_typos.toml`, which lets `typos` ignore generated data.
Some filler texts are "fixed", too. It does not matter what the actual
text is.
2024-08-30 17:01:13 +02:00
René Kijewski
785aea3668 fuzz: add minified corpus after 1,000,000,000 runs 2024-08-29 17:05:42 +02:00
dependabot[bot]
95d9629f88
build(deps): bump actions/checkout from 2 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-20 09:11:41 +00:00
Guillaume Gomez
f87027fe1d
Merge pull request #144 from Kijewski/pr-doc_auto_cfg
doc: use `feature(doc_cfg, doc_auto_cfg)` everywhere
2024-08-20 11:10:30 +02:00
René Kijewski
d3138f48cb ci: test doc generation for all published packages 2024-08-20 07:44:47 +02:00
René Kijewski
2b173d99c1 ci: run dependabot daily 2024-08-20 07:00:11 +02:00
René Kijewski
8433e24917 filters: fuzzer for html escaping 2024-08-19 13:31:07 +02:00
René Kijewski
b62d558c21 parser: add fuzzer 2024-08-19 13:31:07 +02:00
René Kijewski
90096ef973 ci: sort elements in Cargo.toml 2024-08-13 19:17:37 +02:00
René Kijewski
d5a4f9ca2e ci: add DevSkim test to find oddities in the code 2024-08-13 18:29:06 +02:00