+In this section you will find posts that are not as structured as the ones found in here. Mainly these will deal with findings, research, assorted writings and random bits and blobs.
+
+This Zettelkasten method is growing in popularity for taking notes. Ever felt as though there's too much pieces of information but you don't know how to deal with it? This method solves exactly that problem and more. Think of it as forming a second brain, where you can jot down ideas and information whilst simultaneously being able to connect them together.
+
+
+
+The official website describes in detail exactly what the Zettelkasten method is, providing use cases and benefits to this method. The part I wanted to highlighted in this is the following paragraph, where the author depicts how this concept would be explained to someone unfamiliar with it:
+
+
+
+
+A Zettelkasten is a personal tool for thinking and writing. It has hypertextual features to make a web of thoughts possible. The difference to other systems is that you create a web of thoughts instead of notes of arbitrary size and form, and emphasize connection, not a collection.
+
+
+
+
+This web of thoughts is exactly what makes it useful, it takes on the seemingly cluttered mess of information and is able to link the nodes together to create something meaningful and useful.
+
+
+
+There are many personal knowledge management systems' (PKMS) out there that allow you to practice this method; the most common ones being Obsidian and Org Roam. After using Org Roam with Emacs for about a year or so, I realised how useful this method really is. A random idea can be jotted down and later connected to a bigger project or note system. The following picture below is a screenshot of a graph generated UI for all the nodes created in my Org Roam folder:
+
This website is heavily inspired by some people who have decided to use org-publish as a way to convert org files into html. I came across a few that took the plunge and decided to migrate from platforms like Wordpress and instead opted for a more transparent, text-based workflow.
@@ -61,27 +249,27 @@ The first thing we will want to do is edit our init.el file, which
@@ -94,7 +282,7 @@ What this snippet of code is doing is it is telling org-publish wha
#+TITLE: Website Name
#+OPTIONS: toc:nil num:nil
-#+HTML_HEAD: <link rel="stylesheet" href="style.css">
+#+HTML_HEAD: <link rel="stylesheet" href="style.css">
* Welcome!
@@ -121,7 +309,7 @@ This will generate a html file inside the ~/web/output/ directory,
-In this section you will find posts related to both technical and non-technical topics. As Einstein said: “If you can’t explain it simply you don’t understand it well enough”, thus the goal with these posts is to develop the skill of being able to deliver habitual high quality explanations as well as reinforcing the topic learnt.
+In this section you will find posts related to both technical and non-technical topics. As Einstein said: “If you can’t explain it simply you don’t understand it well enough”, thus the goal with these posts is to develop the skill of being able to deliver habitual high quality explanations as well as reinforcing the topic(s) learnt.
@@ -61,10 +247,6 @@ I think the magic comes when you need to put words to things. It is quite easy t
The final line Putting things in words exposes that vagueness is profound in the context of learning. In the pursuit of any academic discipline, we're often confronted with vagueness. Yet, it’s often through explaining a concept to someone else, using your own words, analogies, and diagrams, that one ends up actually understanding it.
-
-
-<2025-08-06 Wed>
-
@@ -74,7 +256,7 @@ The final line Putting things in words exposes that vagueness is profound
+This page will highlight the build-script.el used to generate this website. This entire website is generated through org files using the command:
+
+
+
+
emacs -Q --script build-site.el
+
+
+
+
+
+
The script
+
+
+The script is as follows, at the start I have commented out pieces of code (somewhat relevant to the script but never really used), followed by package management. Then there's the declaration of variables and functions and finally the org-publish-project-alist which handles nearly all of the project generation instructions.
+
+As the project is hosted on Github, I have created a small script that is able to push changes to the remote repository, which Cloudflare will automatically detect and rebuild the website:
+
+
+
+
+#!/bin/bash
+
+# Exit immediately if any command fails
+set -e
+
+# Define paths
+ORG_PROJECT_NAME="website"
+ORG_OUTPUT_DIR="$HOME/master-folder/org_files/org_web/output"
+
+# commands used prior to having the `build-script.el`
+# echo "Running org-publish..."
+# emacs --batch \
+# --eval "(require 'org)" \
+# --eval "(require 'ox-publish)" \
+# --eval "(org-publish \"$ORG_PROJECT_NAME\" t)"
+
+cd"$ORG_OUTPUT_DIR"
+
+echo"HTML published to: $ORG_OUTPUT_DIR"
+
+# Git commands
+echo"Adding changes to Git..."
+git add .
+
+echo"Committing..."
+git commit -m "Auto-publish on $(date)" || echo"Nothing to commit."
+
+echo"Pushing to GitHub..."
+git push origin main
+
+echo"Done! Changes pushed and Cloudflare should rebuild the site."
+
+