Compare commits

..

4 Commits

Author SHA1 Message Date
f9a2f21647
fix: footnote in article
Some checks failed
Deploy / build-and-test (push) Failing after 1m27s
2025-03-12 19:02:23 +00:00
194b37282a
fix: footnote in article 2025-03-12 19:01:13 +00:00
05dce6c649
style: breakline after frontmatter 2025-03-12 18:59:29 +00:00
233b11a772
feat:initial blog content 2025-03-12 18:58:56 +00:00
8 changed files with 28 additions and 14 deletions

View File

@ -69,6 +69,7 @@ function has_body_changes() {
# Function to update the social media card for a post or section. # Function to update the social media card for a post or section.
function generate_and_commit_card { function generate_and_commit_card {
local file=$1 local file=$1
echo "Generating social media card for $file"
social_media_card=$(./static/code/social-cards-zola -o static/img/social_cards -b http://127.0.0.1:1111 -u -p -i "$file") || { social_media_card=$(./static/code/social-cards-zola -o static/img/social_cards -b http://127.0.0.1:1111 -u -p -i "$file") || {
echo "Failed to update social media card for $file" echo "Failed to update social media card for $file"
exit 1 exit 1
@ -177,6 +178,7 @@ done
# See https://osc.garden/blog/automating-social-media-cards-zola/ for context. # See https://osc.garden/blog/automating-social-media-cards-zola/ for context.
changed_md_files=$(echo "$all_changed_files" | grep '\.md$') changed_md_files=$(echo "$all_changed_files" | grep '\.md$')
# Use parallel to create the social media cards in parallel and commit them. # Use parallel to create the social media cards in parallel and commit them.
echo "processing $changed_md_files out of $all_changed_files"
if [[ -n "$changed_md_files" ]]; then if [[ -n "$changed_md_files" ]]; then
echo "$changed_md_files" | parallel -j 8 generate_and_commit_card echo "$changed_md_files" | parallel -j 8 generate_and_commit_card
fi fi

View File

@ -1,10 +1,14 @@
+++ +++
title = "Chronicles of an Expedition to Peru" title = "Expedition to Peru"
description = "" description = "A mountaineering expedition to the Cordillera Blanca in Peru."
date = 2018-07-05 date = 2018-07-05
updated = 2025-03-12
[taxonomies] [taxonomies]
tags = ["alpinism", "expeditions"] tags = ["alpinism", "expeditions"]
[extra]
social_media_card = "img/social_cards/blog_expedition_to_peru.jpg"
+++ +++
Nuestro vuelo salió de México el miércoles. Hicimos una escala de unas dos horas en el aeropuerto de Nuestro vuelo salió de México el miércoles. Hicimos una escala de unas dos horas en el aeropuerto de
@ -57,15 +61,15 @@ si quería tener derecho a cena.
Es buen momento para aclarar nuestro plan. El itinerario pactado con Nehemio quedó así: Es buen momento para aclarar nuestro plan. El itinerario pactado con Nehemio quedó así:
1. Huaraz - Llamacorral 1. Huaraz - Llamacorral
1. Llamacorral - Campo base del Alpamayo 2. Llamacorral - Campo base del Alpamayo
1. Campo base - Campo alto 3. Campo base - Campo alto
1. Campo alto - Cumbre del Alpamayo - Campo Alto 4. Campo alto - Cumbre del Alpamayo - Campo Alto
1. Campo alto - Cumbre del Quitaraju - Campo Alto 5. Campo alto - Cumbre del Quitaraju - Campo Alto
1. Campo alto - Campo base 6. Campo alto - Campo base
1. Campo base - Campo base del Artesonraju 7. Campo base - Campo base del Artesonraju
1. Campo base de Artesonraju - Campo morrena 8. Campo base de Artesonraju - Campo morrena
1. Campo morrena - Cumbre del Artesonraju - Campo base 9. Campo morrena - Cumbre del Artesonraju - Campo base
1. Campo base - Huaraz 10. Campo base - Huaraz
Estando en el campo base del Alpamayo, nos enteramos de que el Alpamayo tenía, sobre la canaleta de Estando en el campo base del Alpamayo, nos enteramos de que el Alpamayo tenía, sobre la canaleta de
la ruta, unas cornisas enormes que podían caer en cualquier momento y convertirse en una avalancha la ruta, unas cornisas enormes que podían caer en cualquier momento y convertirse en una avalancha

View File

@ -6,6 +6,9 @@ updated = 2025-03-12
[taxonomies] [taxonomies]
tags = ["Infrastructure", "Automation", "Quality"] tags = ["Infrastructure", "Automation", "Quality"]
[extra]
social_media_card = "img/social_cards/blog_infrastructure_as_code.jpg"
+++ +++
# Introduction # Introduction
@ -69,8 +72,10 @@ it. On the other hand, provisioning it through code will make the process reusab
this server as code, is the better approach. Defining everything as code enables you to leverage speed to improve quality, much like Agile this server as code, is the better approach. Defining everything as code enables you to leverage speed to improve quality, much like Agile
uses speed to improve software quality by having tight feedback loops and iterating on that feedback. uses speed to improve software quality by having tight feedback loops and iterating on that feedback.
Infrastructure code can use declarative or imperative Infrastructure code can use declarative or imperative languages[^2].
languages[^2: "Imperative code is a set of instructions that specifies how to make a thing happen. Declarative code specifies what you want, without specifying how to make it happen."].
[^2]: Imperative code is a set of instructions that specifies how to make a thing happen. Declarative code specifies what you want, without
specifying how to make it happen.
# Infrastructure stacks # Infrastructure stacks

View File

@ -6,6 +6,9 @@ updated = 2025-03-12
[taxonomies] [taxonomies]
tags = ["Self-Hosting", "CI/CD", "Linux", "Gitea", "Go"] tags = ["Self-Hosting", "CI/CD", "Linux", "Gitea", "Go"]
[extra]
social_media_card = "img/social_cards/blog_gitea_open_source_github_alternative.jpg"
+++ +++
## Introduction ## Introduction

View File

@ -1,5 +1,5 @@
+++ +++
title = "Self-Hosting a Website in 2025" title = "Self-Hosting a Blog in 2025"
description = "A step-by-step guide to hosting your own website using Zola, Caddy, and Gitea." description = "A step-by-step guide to hosting your own website using Zola, Caddy, and Gitea."
date = 2025-03-12 date = 2025-03-12
updated = 2025-03-12 updated = 2025-03-12

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB