removed dead code and finished permalinks
This commit is contained in:
parent
cfbeb07f37
commit
b848922eee
2 changed files with 15 additions and 14 deletions
|
@ -16,6 +16,7 @@ pub fn get_posts() -> std::vec::Vec<Post> {
|
||||||
let connection = establish_connection();
|
let connection = establish_connection();
|
||||||
posts
|
posts
|
||||||
.filter(published.eq(true))
|
.filter(published.eq(true))
|
||||||
|
.limit(5)
|
||||||
.load::<Post>(&connection)
|
.load::<Post>(&connection)
|
||||||
.expect("Error loading posts")
|
.expect("Error loading posts")
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,19 +4,6 @@ use actix_files as fs;
|
||||||
use actix_web::{get, web, HttpResponse, Responder};
|
use actix_web::{get, web, HttpResponse, Responder};
|
||||||
use tera::{Context, Tera};
|
use tera::{Context, Tera};
|
||||||
|
|
||||||
fn create_context() -> tera::Context {
|
|
||||||
// Use globbing
|
|
||||||
let tera: Tera = match Tera::new("templates/**/*.html") {
|
|
||||||
Ok(t) => t,
|
|
||||||
Err(e) => {
|
|
||||||
println!("Parsing error(s): {}", e);
|
|
||||||
::std::process::exit(1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Context::new()
|
|
||||||
}
|
|
||||||
|
|
||||||
#[get("/")]
|
#[get("/")]
|
||||||
async fn root() -> impl Responder {
|
async fn root() -> impl Responder {
|
||||||
fs::NamedFile::open("html/index.html")
|
fs::NamedFile::open("html/index.html")
|
||||||
|
@ -44,5 +31,18 @@ async fn blog() -> impl Responder {
|
||||||
#[get("/blog/{post_id}")]
|
#[get("/blog/{post_id}")]
|
||||||
async fn blog_permalink(web::Path(post_id): web::Path<u32>) -> impl Responder {
|
async fn blog_permalink(web::Path(post_id): web::Path<u32>) -> impl Responder {
|
||||||
let post = get_post_by_id(post_id as i32);
|
let post = get_post_by_id(post_id as i32);
|
||||||
HttpResponse::Ok().json(post)
|
|
||||||
|
let mut context = Context::new();
|
||||||
|
context.insert("posts", &[post]);
|
||||||
|
|
||||||
|
// one-off render blog template with context
|
||||||
|
let result = Tera::one_off(
|
||||||
|
&(std::fs::read_to_string("templates/blog.html")
|
||||||
|
.unwrap_or_else(|_| panic!("Couldn't load blog template."))
|
||||||
|
.as_str()),
|
||||||
|
&context,
|
||||||
|
true,
|
||||||
|
)
|
||||||
|
.unwrap_or_else(|_| panic!("Couldn't render blog template."));
|
||||||
|
HttpResponse::Ok().body(result)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue