change the asynchronity
This commit is contained in:
@ -23,10 +23,7 @@ pub struct ContactPageTemplate {
|
||||
}
|
||||
|
||||
pub async fn render_contact() -> Result<ContactPageTemplate, StatusCode> {
|
||||
let site_footer = tokio::spawn(render_site_footer());
|
||||
let site_footer = site_footer
|
||||
.await
|
||||
.map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?;
|
||||
let site_footer = render_site_footer().await?;
|
||||
let links = vec![
|
||||
ContactLink {
|
||||
href: "mailto: michalvankosk@gmail.com".to_string(),
|
||||
|
@ -33,8 +33,7 @@ pub async fn render_index() -> Result<IndexTemplate, StatusCode> {
|
||||
get_popular_blog_tags(),
|
||||
get_featured_posts(),
|
||||
get_featured_projects()
|
||||
)
|
||||
.map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?;
|
||||
)?;
|
||||
|
||||
Ok(IndexTemplate {
|
||||
site_footer,
|
||||
|
@ -3,6 +3,7 @@ use askama::Template;
|
||||
use axum::{extract::Path, http::StatusCode};
|
||||
use chrono::{DateTime, Utc};
|
||||
use serde::Deserialize;
|
||||
use tokio::try_join;
|
||||
|
||||
use crate::{
|
||||
components::{
|
||||
@ -38,13 +39,10 @@ pub struct PostTemplate {
|
||||
}
|
||||
|
||||
pub async fn render_post(Path(post_id): Path<String>) -> Result<PostTemplate, StatusCode> {
|
||||
let site_footer = tokio::spawn(render_site_footer());
|
||||
let path = format!("../_posts/blog/{}.md", post_id);
|
||||
let parsed = parse_post::<PostMetadata>(&path).await?;
|
||||
let parse_post = parse_post::<PostMetadata>(&path);
|
||||
let (site_footer, parsed) = try_join!(render_site_footer(), parse_post)?;
|
||||
|
||||
let site_footer = site_footer
|
||||
.await
|
||||
.map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?;
|
||||
Ok(PostTemplate {
|
||||
title: parsed.metadata.title,
|
||||
date: parsed.metadata.date,
|
||||
|
@ -27,7 +27,7 @@ pub async fn render_post_list(tag: Option<Path<String>>) -> Result<PostListTempl
|
||||
// I will forget what happens here in a week. But essentially it's pattern matching and shadowing
|
||||
let tag = tag.map(|Path(tag)| tag);
|
||||
|
||||
let site_footer = tokio::spawn(render_site_footer());
|
||||
let site_footer = render_site_footer().await?;
|
||||
let mut post_list = get_post_list::<PostMetadata>(BLOG_POST_PATH).await?;
|
||||
post_list.sort_by_key(|post| post.metadata.date);
|
||||
post_list.reverse();
|
||||
@ -47,10 +47,6 @@ pub async fn render_post_list(tag: Option<Path<String>>) -> Result<PostListTempl
|
||||
None => post_list,
|
||||
};
|
||||
|
||||
let site_footer = site_footer
|
||||
.await
|
||||
.map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?;
|
||||
|
||||
let header_props = match tag {
|
||||
Some(_) => HeaderProps::with_back_link(Link {
|
||||
href: "/blog".to_string(),
|
||||
|
Reference in New Issue
Block a user