Compare commits

...

2 commits

34 changed files with 29 additions and 33 deletions

View file

@ -88,7 +88,7 @@ date: 2021-07-05
It is important to take the time to ensure that the things that we create are as simple as possible while still doing everything they need to do. It is important to take the time to ensure that the things that we create are as simple as possible while still doing everything they need to do.
It often makes them harder to make in the first place but the extra investment of time and energy upfront make maintaining and modifying them much simpler. It often makes them harder to make in the first place but the extra investment of time and energy upfront make maintaining and modifying them much simpler.
Overall it saves much more time then it takes, but the time saved is spread out over years and is less noticeable. Overall it saves much more time then it takes, but the time saved is spread out over years and is less noticeable.
Kind of like good <a href="/blog/habits">habits</a> where the cost is now and the rewards are later. Kind of like good <a href="/posts/habits">habits</a> where the cost is now and the rewards are later.
</p> </p>
<p> <p>

View file

@ -135,7 +135,7 @@ impl PsqlData for Article {
} }
pub async fn load_articles(pool: &Pool<Postgres>) -> Result<(), Box<dyn Error>> { pub async fn load_articles(pool: &Pool<Postgres>) -> Result<(), Box<dyn Error>> {
let paths = fs::read_dir("blog/").unwrap(); let paths = fs::read_dir("posts/").unwrap();
for path_entry in paths { for path_entry in paths {
let path: PathBuf = path_entry.unwrap().path(); let path: PathBuf = path_entry.unwrap().path();
let metadata = metadata(path.clone()).unwrap(); let metadata = metadata(path.clone()).unwrap();

View file

@ -1,7 +1,7 @@
use serde::Deserialize; use serde::Deserialize;
pub mod admin; pub mod admin;
pub mod blog; pub mod posts;
pub mod projects; pub mod projects;
pub mod root; pub mod root;
pub mod templates; pub mod templates;

View file

@ -8,22 +8,22 @@ use axum::{
use sqlx::PgPool; use sqlx::PgPool;
use std::{collections::HashMap, error::Error}; use std::{collections::HashMap, error::Error};
use super::templates::{ArticleTemplate, BlogFooterTemplate, BlogTemplate, HtmlTemplate}; use super::templates::{ArticleTemplate, PostFooterTemplate, PostTemplate, HtmlTemplate};
pub fn get_router() -> Router { pub fn get_router() -> Router {
Router::new() Router::new()
.route("/", get(blog)) .route("/", get(post))
.route("/:article", get(article)) .route("/:article", get(article))
} }
async fn blog(Extension(pool): Extension<PgPool>) -> impl IntoResponse { async fn post(Extension(pool): Extension<PgPool>) -> impl IntoResponse {
let blog_page = BlogTemplate { let post_page = PostTemplate {
articles: match get_articles_date_sorted(&pool).await { articles: match get_articles_date_sorted(&pool).await {
Ok(list) => list, Ok(list) => list,
Err(_) => Vec::new(), Err(_) => Vec::new(),
}, },
}; };
HtmlTemplate(blog_page) HtmlTemplate(post_page)
} }
async fn article( async fn article(
@ -35,7 +35,7 @@ async fn article(
Ok(a) => *a, Ok(a) => *a,
Err(_) => return Err(StatusCode::NOT_FOUND), Err(_) => return Err(StatusCode::NOT_FOUND),
}; };
let footer = BlogFooterTemplate { let footer = PostFooterTemplate {
previous: match article.previous { previous: match article.previous {
Some(a) => a, Some(a) => a,
None => "".to_string(), None => "".to_string(),

View file

@ -23,7 +23,7 @@ use crate::{
use super::{ use super::{
admin, admin,
blog::{self, get_articles_date_sorted}, posts::{self, get_articles_date_sorted},
projects, projects,
templates::{ templates::{
AboutTemplate, AiTemplate, BlogrollTemplate, BooksTemplate, ContactTemplate, CookingTemplate, CreationTemplate, GiftsTemplate, HomeTemplate, HtmlTemplate, InterestsTemplate, LinksPageTemplate, LoginTemplate, MoneyTemplate, NowTemplate, ResumeTemplate, SignupTemplate, TechnologyTemplate, TimeTemplate, UsesTemplate, WorkTemplate AboutTemplate, AiTemplate, BlogrollTemplate, BooksTemplate, ContactTemplate, CookingTemplate, CreationTemplate, GiftsTemplate, HomeTemplate, HtmlTemplate, InterestsTemplate, LinksPageTemplate, LoginTemplate, MoneyTemplate, NowTemplate, ResumeTemplate, SignupTemplate, TechnologyTemplate, TimeTemplate, UsesTemplate, WorkTemplate
@ -37,7 +37,7 @@ pub fn get_router(pool: PgPool) -> Router {
let middleware_database = pool.clone(); let middleware_database = pool.clone();
Router::new() Router::new()
.nest("/blog", blog::get_router()) .nest("/posts", posts::get_router())
.nest("/projects", projects::get_router()) .nest("/projects", projects::get_router())
.nest("/admin", admin::get_router()) .nest("/admin", admin::get_router())
.nest_service( .nest_service(

View file

@ -49,8 +49,8 @@ pub struct LinksPageTemplate {
} }
#[derive(Template)] #[derive(Template)]
#[template(path = "blog.html")] #[template(path = "posts.html")]
pub struct BlogTemplate { pub struct PostTemplate {
pub articles: Vec<Article>, pub articles: Vec<Article>,
} }
@ -128,7 +128,7 @@ pub struct CreationTemplate {}
#[derive(Template)] #[derive(Template)]
#[template(path = "blog_footer.html")] #[template(path = "blog_footer.html")]
pub struct BlogFooterTemplate { pub struct PostFooterTemplate {
pub previous: String, pub previous: String,
pub next: String, pub next: String,
} }

View file

@ -33,7 +33,7 @@
</g> </g>
</svg> </svg>
<li> <li>
<a id="blog" href="/blog"> <a id="posts" href="/posts">
<svg width="40" height="40" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" stroke="#8ec07c" transform="rotate(0)"> <svg width="40" height="40" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" stroke="#8ec07c" transform="rotate(0)">
<title>Posts</title> <title>Posts</title>
<g id="SVGRepo_bgCarrier" stroke-width="0"></g> <g id="SVGRepo_bgCarrier" stroke-width="0"></g>

View file

@ -13,23 +13,19 @@
</p> </p>
<h4>Currently Reading</h4> <h4>Currently Reading</h4>
<p>
I have a couple books on the go at the moment.
</p>
<p>
Bit Tyrants by Rob Larson for non fiction.
</p>
<p>
Slow Down by Kohei Saito as an audiobook.
It is on degrowth similar to Less is More, and a subject that I am finding very interesting and compelling at the moment.
</p>
<p> <p>
River of Gods by Ian McDonald for fiction. River of Gods by Ian McDonald for fiction.
A science ficton book taking place in India and through their cultural lens. A science ficton book taking place in India and through their cultural lens.
The author is British so was unsure, but he seems to be approaching the background with respect and I am enjoying the book. The author is British so was unsure, but he seems to be approaching the background with respect and I am enjoying the book.
</p> </p>
<h4>Read so far in 2024</h4> <h4>Read so far in 2025</h4>
<ul class="no-bul">
<li>Bit Tyrants - Rob Larson</li>
<li>Slow Down - Kohei Saito</li>
</ul>
<h4>In 2024</h4>
<ul class="no-bul"> <ul class="no-bul">
<li>Data Grab - Ulisses Mejas & Nick Couldry</li> <li>Data Grab - Ulisses Mejas & Nick Couldry</li>
<li>Less is More - Jason Hickel</li> <li>Less is More - Jason Hickel</li>
@ -55,8 +51,8 @@
<h4>Reflections from Books I have read</h4> <h4>Reflections from Books I have read</h4>
<ul class="no-bul"> <ul class="no-bul">
<li><a href="/blog/deepwork">Deep Work</a></li> <li><a href="/posts/deepwork">Deep Work</a></li>
<li><a href="/blog/mfn">A Mind for Numbers</a></li> <li><a href="/posts/mfn">A Mind for Numbers</a></li>
</ul> </ul>
<h3> <h3>

View file

@ -6,7 +6,7 @@
<p> <p>
Creating things is something that my family has always held as something very important. Creating things is something that my family has always held as something very important.
We tend to operate more on the building fixing side of things but there is something sacred in any act of creation. We tend to operate more on the building fixing side of things but there is something sacred in any act of creation.
I wrote about this feeling in <a href="/blog/mm">Midnight Musings</a> when I was unable to sleep. I wrote about this feeling in <a href="/posts/mm">Midnight Musings</a> when I was unable to sleep.
</p> </p>
<p> <p>
I dabble. I dabble.

View file

@ -31,16 +31,16 @@
</section><br> </section><br>
<section id="blog"> <section id="blog">
<h2>Blog</h2> <h2>Posts</h2>
<p> <p>
Chronological <a href="blog">stuff</a> that I have written. Chronological <a href="/posts">stuff</a> that I have written.
Not adding to this as much with the focus more on less time sensitive information, but if something is timely then will still be added as a blog post. Not adding to this as much with the focus more on less time sensitive information, but if something is timely then will still be added as a blog post.
</p> </p>
<h3>Most Recent Posts</h3> <h3>Most Recent Posts</h3>
<ul class="no-bul"> <ul class="no-bul">
{% for article in recent_articles %} {% for article in recent_articles %}
<li><a href="/blog/{{article.reference}}">{{article.title}}</a></li> <li><a href="/posts/{{article.reference}}">{{article.title}}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>
</section><br> </section><br>

View file

@ -4,7 +4,7 @@
{% block content %} {% block content %}
<ul class="no-bul"> <ul class="no-bul">
{% for article in articles %} {% for article in articles %}
<li><a href="/blog/{{article.reference}}">{{article.title}}</a></li> <li><a href="/posts/{{article.reference}}">{{article.title}}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>
{% endblock %} {% endblock %}