All the template are now compiled at compile-time with the `ructe` crate.
I preferred to use it instead of askama because it allows more complex Rust expressions, where askama only supports a small subset of expressions and doesn't allow them everywhere (for instance, `{{ macro!() | filter }}` would result in a parsing error).
The diff is quite huge, but there is normally no changes in functionality.
Fixes #161 and unblocks #110 and #273
		
	
			
		
			
				
	
	
		
			15 lines
		
	
	
		
			401 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			401 B
		
	
	
	
		
			HTML
		
	
	
	
	
	
| @use templates::partials::post_card;
 | |
| @use plume_models::posts::Post;
 | |
| @use template_utils::*;
 | |
| 
 | |
| @(ctx: BaseContext, articles: Vec<Post>, link: &str, title: &str)
 | |
| 
 | |
| @if articles.len() > 0 {
 | |
|     <h2>@i18n!(ctx.1, title) — <a href="@link">@i18n!(ctx.1, "View all")</a></h2>
 | |
|     <div class="cards spaced">
 | |
|         @for article in articles {
 | |
|             @:post_card(ctx, article)
 | |
|         }
 | |
|     </div>
 | |
| }
 |