Use Ructe (#327)
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
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
#![feature(custom_attribute, iterator_flatten)]
|
||||
#![feature(custom_attribute)]
|
||||
|
||||
extern crate activitypub;
|
||||
#[macro_use]
|
||||
@@ -10,7 +10,6 @@ extern crate chrono;
|
||||
extern crate failure;
|
||||
#[macro_use]
|
||||
extern crate failure_derive;
|
||||
extern crate gettextrs;
|
||||
extern crate hex;
|
||||
extern crate heck;
|
||||
extern crate hyper;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
use gettextrs::gettext;
|
||||
use heck::CamelCase;
|
||||
use openssl::rand::rand_bytes;
|
||||
use pulldown_cmark::{Event, Parser, Options, Tag, html};
|
||||
@@ -23,8 +22,13 @@ pub fn make_actor_id(name: &str) -> String {
|
||||
.collect()
|
||||
}
|
||||
|
||||
/**
|
||||
* Redirects to the login page with a given message.
|
||||
*
|
||||
* Note that the message should be translated before passed to this function.
|
||||
*/
|
||||
pub fn requires_login<T: Into<Uri<'static>>>(message: &str, url: T) -> Flash<Redirect> {
|
||||
Flash::new(Redirect::to(format!("/login?m={}", gettext(message.to_string()))), "callback", url.into().to_string())
|
||||
Flash::new(Redirect::to(format!("/login?m={}", message)), "callback", url.into().to_string())
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
|
||||
Reference in New Issue
Block a user