diff --git a/output/about.html b/output/about.html index 409d7cc..799b9e8 100644 --- a/output/about.html +++ b/output/about.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + About Page @@ -212,9 +212,9 @@
Updated: 2025-08-08 Fri 23:07
-
-

About

-
+
+

About

+

TODO

diff --git a/output/blogs/2025/08/spending-the-whole-day-on-this-website.html b/output/blogs/2025/08/spending-the-whole-day-on-this-website.html index 19e4077..7eed2c2 100644 --- a/output/blogs/2025/08/spending-the-whole-day-on-this-website.html +++ b/output/blogs/2025/08/spending-the-whole-day-on-this-website.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + 09-08-2025: Website Changes @@ -213,11 +213,11 @@

09-08-2025: Website Changes

-
+ -
-

What was worked on

-
+
+

What was worked on

+

I saw a few websites that used marginal notes on the right side of the screen like this one, so I decided to try and implement this feature in this wesbite. In my mind I thought of using an external pre-configured CSS that I can just insert and ta-da it would work.

diff --git a/output/blogs/2025/08/wacom-with-arch.html b/output/blogs/2025/08/wacom-with-arch.html index 13c8a60..7028957 100644 --- a/output/blogs/2025/08/wacom-with-arch.html +++ b/output/blogs/2025/08/wacom-with-arch.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Wacom With Arch @@ -213,11 +213,11 @@

Wacom With Arch

-
+ -
-

Setting up Wacom Tablet in Arch Hyprland

-
+
+

Setting up Wacom Tablet in Arch Hyprland

+

I purchased a One by Wacom tablet almost 2 years ago now and it works flawlessly in both Windows and MacOS and even in most Linux distros with some configuration.

diff --git a/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html b/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html index 6227de4..ee0f97a 100644 --- a/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html +++ b/output/blogs/2025/08/weekly-review-week-ending-august-10-2025.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Weekly review: Week ending August 10, 2025 @@ -213,29 +213,29 @@

Weekly review: Week ending August 10, 2025

-
+ -
-

Reviewing the week

-
+
+

Reviewing the week

+

Mostly continuing reading from the book clean code, also setup the ankii cards and this website. The amount of leetcode problems I solved could improve however.

@@ -249,27 +249,27 @@ I'm thinking of using time-blocks to represent the hours I spent doing each thin

-
-

Next week

-
+
+

Next week

+
-
-

TODO Read as much of Clean Code as possible

+
+

TODO Read as much of Clean Code as possible

-
-

TODO Finish another (misc) book

+
+

TODO Finish another (misc) book

-
-

TODO Write more (metric unspecified, need to experiment to see what works best)

+
+

TODO Write more (metric unspecified, need to experiment to see what works best)

-
-

TODO Start the book Dose Effect

+
+

TODO Start the book Dose Effect

-
-

TODO More leetcode problems to solve (again, metric unspecified)

+
+

TODO More leetcode problems to solve (again, metric unspecified)

-
-

TODO Touch typing: daily practice

+
+

TODO Touch typing: daily practice

diff --git a/output/blogs/2025/08/what-do-i-want-to-do-with-emacs.html b/output/blogs/2025/08/what-do-i-want-to-do-with-emacs.html index 2ff4b1a..0fef978 100644 --- a/output/blogs/2025/08/what-do-i-want-to-do-with-emacs.html +++ b/output/blogs/2025/08/what-do-i-want-to-do-with-emacs.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + What Do I Want To Do With Emacs @@ -213,7 +213,7 @@

What Do I Want To Do With Emacs

-
+

I first started using Emacs (and Linux for that matter) since around the end of 2023, and it's been well over a year of trial and error with this text editor. At first I was using this for all sorts of things such as: @@ -240,7 +240,7 @@ After some thinking I narrowed it down and collated it in the following diagram:

-
+

2025-08-08-emacs.svg

diff --git a/output/blogs/2025/08/zettelkasten.html b/output/blogs/2025/08/zettelkasten.html index 6d42523..9cac9ac 100644 --- a/output/blogs/2025/08/zettelkasten.html +++ b/output/blogs/2025/08/zettelkasten.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Zettelkasten Method @@ -213,11 +213,11 @@

Zettelkasten Method

-
+ -
-

The Zettelkasten Method

-
+
+

The Zettelkasten Method

+

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.

@@ -241,7 +241,7 @@ There are many personal knowledge management systems' (PKMS) out there that allo

-
+

org-roam-ui-graph.png

diff --git a/output/blogs/blogs-intro.html b/output/blogs/blogs-intro.html index 2ea6276..2b60a31 100644 --- a/output/blogs/blogs-intro.html +++ b/output/blogs/blogs-intro.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Blogs Introduction @@ -213,11 +213,11 @@

Blogs Introduction

-
+ -
-

Introduction

-
+
+

Introduction

+

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.

diff --git a/output/blogs/blogs-list.html b/output/blogs/blogs-list.html index c75d178..b37eece 100644 --- a/output/blogs/blogs-list.html +++ b/output/blogs/blogs-list.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Blogs List @@ -209,23 +209,23 @@
-
Updated: 2025-08-10 Sun 18:15
+
Updated: 2025-08-10 Sun 20:55

Blogs List

See the categories: Categories

-
-

Blogs:

-
+ diff --git a/output/categories.html b/output/categories.html index 6f0f91d..2bf580f 100644 --- a/output/categories.html +++ b/output/categories.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Categories @@ -209,17 +209,19 @@
-
Updated: 2025-08-10 Sun 18:15
+
Updated: 2025-08-10 Sun 20:55
-
-

Categories (Includes both blogs and posts)

-
+
+

Categories (Includes both blogs and posts)

+
    +
  • (2)
  • (1)
  • (2)
  • (1)
  • (2)
  • +
  • (2)
  • (1)
  • (1)
  • (1)
  • diff --git a/output/contact.html b/output/contact.html index 38465cc..1c95568 100644 --- a/output/contact.html +++ b/output/contact.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Contact @@ -213,9 +213,9 @@

Contact

-
-

Contact Using the Following:

-
+
+

Contact Using the Following:

+

> LinkedIn: LinkedIn

diff --git a/output/index.html b/output/index.html index e4e517d..10c54b2 100644 --- a/output/index.html +++ b/output/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Home Page @@ -209,22 +209,22 @@
-
Updated: 2025-08-10 Sun 11:53
+
Updated: 2025-08-10 Sun 20:38
-
-

Welcome! 🌱

-
+
+

Welcome! 🌱

+

This is a website built using Emacs Org-mode and published using org-publish. The very first iteration of this website used the Angular framework, only after a while I realised (as every Emacs lover does) that I want to make this an Emacs-centric project

@@ -242,9 +242,9 @@ Feel free to explore:
-
-

How to publish web pages using org-publish

-
+
+

How to publish web pages using org-publish

+

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.

@@ -304,7 +304,6 @@ 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">
 
 * Welcome!
 
@@ -342,9 +341,9 @@ And there we go! The files are now being hosted on http://localhost:8000/<
 

-
-

Contact

-
+
+

Contact

+

Feel free to reach out on GitHub: https://github.com/zainezq

diff --git a/output/posts.html b/output/posts.html index a4b80e4..9e9bcaf 100644 --- a/output/posts.html +++ b/output/posts.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Posts @@ -213,18 +213,18 @@

Posts

-
-

Links

-
+
+

Links

+
-
-

Posts Introduction   intro

+
+

Posts Introduction   intro

-
-

Zettelkasten Method   education

-
+
+

Zettelkasten Method   education

+

<2025-08-06 Wed>

diff --git a/output/posts/clean-code/clean-code-chapter-1.html b/output/posts/clean-code/clean-code-chapter-1.html new file mode 100644 index 0000000..3d04d84 --- /dev/null +++ b/output/posts/clean-code/clean-code-chapter-1.html @@ -0,0 +1,258 @@ + + + + + + + +Clean Code: Chapter 1 Notes + + + + + + + +
+ + +
Updated: 2025-08-10 Sun 20:35
+
+
+

Clean Code: Chapter 1 Notes

+ + +
+

Table of Contents

+ +
+

+Link to Chapter 2 +

+
+

Chapter 1: Clean Code

+
+

+Referenced Items: +

+
    +
  • Implementation Patterns, Kent Beck, Addison-Wesley, 2007.
  • +
  • Literate Programming, Donald E. Knuth, Center for the Study of Language and Information, Leland Stanford Junior University, 1992.
  • +
+ +

+Principles mentioned: +Single Responsibility Principle (SRP), the Open Closed Principle (OCP), and the Dependency Inversion Principle (DIP) +

+
+
+
+
+
+ +
+Created with Emacs 30.1 (Org mode 9.7.11) on Arch GNU/Linux +
+
+
+ + diff --git a/output/posts/clean-code/clean-code-chapter-2.html b/output/posts/clean-code/clean-code-chapter-2.html new file mode 100644 index 0000000..5b0a105 --- /dev/null +++ b/output/posts/clean-code/clean-code-chapter-2.html @@ -0,0 +1,415 @@ + + + + + + + +Clean Code: Chapter 2 Notes + + + + + + + +
+ + +
Updated: 2025-08-10 Sun 20:36
+
+
+

Clean Code: Chapter 2 Notes

+ + + +

+Link to Chapter 1 +

+
+

Chapter 2: Meaningful Names

+
+
+
+

Use intention revealing names:

+
+

+Names should reveal intent, there is no revelation in naming an integer d, intending it stands for days. Instead, you should use the following names: +

+
+
int elapsedTimeInDays;
+int daysSinceCreation;
+int daysSinceModification;
+int fileAgeInDays;
+
+
+
+
+
+

Avoid disinformation

+
+

+Don't postfix the word 'list' to the name 'accounts' unless it's actually a list. This is because the reader will assume the data type of accountsList is indeed a list, instead choose a name like accountsGroup. +

+
+
+
+

Make Meaningful Distinctions

+
+

+While it is possible to name by being disinformative, it is also possible to name being non informative. Consider: +

+ +
+
+public static void copyChars(char a1[], char a2[]) {
+    for (int i = 0; i < a1.length; i++) {
+        a2[i] = a1[i];
+    }
+}
+
+
+
+ +

+What on earth does a[1] and a[2] even stand for? We are better off using names like source and destination (due to the function's intent of copying the array). +

+ +

+Furthermore, noise words are redundant. We should never use the word variable when naming a variable, or table when naming a table. +

+
+
+
+

Use Pronouncable Names

+
+

+This is quite straightforward. Do not use a name like genymdhms to refer to generation date, year, month, day, hour, minute, +and second. Instead use generationTimeStamp. +

+
+
+
+

Use Searchable Names

+
+

+In modern IDE's, it is still quite difficult to search for single-lettered variables. The writer states a personal preference of using single-letter names only as local variables and inside short methods. The following principle is given: +

+ +

+The length of a name should correspond to the size of its scope +

+
+
+
+

Avoid Encodings

+
+

+Don't prefix variables with letters like m_ as was done in the past. Do not type encode as well, an example of this is: PhoneNumber phoneString; we can see the reader being misled into thinking the phone number is a String. +

+
+
+
+

Avoid Mental Mappings

+
+

+Clarity is king, don't use a name for a variable that only you know what it stands for. For example: using the letter r as the lower-cased version of the url with the host and scheme +removed. That's being smart, not professional. +

+
+
+
+

Class Names

+
+

+

Classes and objects should have noun or noun phrase names like Customer, WikiPage, Account, and AddressParser. Avoid words like Manager, Processor, Data, or Info in the name of a class. A class name should not be a verb
+

+
+
+
+

Method Names

+
+

+Methods should have verb or verb phrase names. +

+
+
+
+

Don't be cute/Don't use puns

+
+

+Do not use names that are only understandable to people whom you share jokes etc with. Furthermore, do not use colloquialism and slang in names. +

+
    +
  • Example: HandGrenade instead of DeleteItems
  • +
  • Example: whack() instead of kill()
  • +
+
+
+
+

Pick one word per concept

+
+

+If you have multiple choices for naming a concept, use one and stick with it. For instance if your options are fetch, get and retrieve, use one and stick with it throughout. +

+
+
+
+

Solution Domain Names and Problem Domain Names

+
+

+Where possible use solution domain names, as the people that are going to be reading the code are programmers. Therefore, do not shy away from using CS terms, algorithm names, math names and so forth. +

+ +

+However when it is not possible to use solution domain names (in other words, when there is no "programmer-eese" then use the name from the problem domain. The other programmers can ask the domain expert for clarification. If the code is more to do with the problem domain concepts, then the names should be drawn from them. +

+
+
+
+

Add Meaningful Context

+
+

+Enclose names with well-named classes, functions, or namespaces. When all else fails, then prefix with something that provides more context. +

+
+
+
+

Don't add gratuitous context

+
+

+Shorter names are better than longer ones, generally. This is so long as the context and intent is clear. Don't add redundant or irrelevant additions to the name in the for the sake of 'context'. +

+
+
+
+
+
+
+ +
+Created with Emacs 30.1 (Org mode 9.7.11) on Arch GNU/Linux +
+
+
+ + diff --git a/output/posts/posts-intro.html b/output/posts/posts-intro.html index 8fd7f67..887fe95 100644 --- a/output/posts/posts-intro.html +++ b/output/posts/posts-intro.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Posts Introduction @@ -213,11 +213,11 @@

Posts Introduction

-
+ -
-

Introduction

-
+
+

Introduction

+

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.

diff --git a/output/posts/posts-list.html b/output/posts/posts-list.html index 6bec275..ccfad25 100644 --- a/output/posts/posts-list.html +++ b/output/posts/posts-list.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Posts List @@ -209,18 +209,20 @@
-
Updated: 2025-08-10 Sun 18:15
+
Updated: 2025-08-10 Sun 20:55

Posts List

See the categories: Categories

-
-

Posts:

-
+ diff --git a/output/setup.html b/output/setup.html index 2e68743..c09248d 100644 --- a/output/setup.html +++ b/output/setup.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Setup @@ -209,13 +209,17 @@
-
Updated: 2025-08-08 Fri 20:25
+
Updated: 2025-08-10 Sun 20:55

Setup

-
-

Introduction

-
+
+

Introduction

+
+

+Last updated: <2025-08-10 Sun 20:42> +

+

This page will highlight the build-script.el used to generate this website. This entire website is generated through org files using the command:

@@ -226,9 +230,9 @@ This page will highlight the build-script.el used to generate this
-
-

The script

-
+
+

The script

+

The script is as follows, at the start I have some metadata relating to the file, followed by package management,then the declaration of variables/functions and finally the org-publish-project-alist which handles nearly all of the project generation instructions.

@@ -259,6 +263,8 @@ The script is as follows, at the start I have some metadata relating to the file (require 'ox-publish) (require 'cl-lib) (require 'org) +(require 'ox) +(require 'ox-html) ;; Initialize the package system (package-initialize) @@ -267,28 +273,47 @@ The script is as follows, at the start I have some metadata relating to the file ;; Install dependencies (package-install 'htmlize) +(add-to-list 'load-path "~/master-folder/org_files/org_web/") +(require 'htmlize) -;; Load the publishing system -(setq org-html-htmlize-output-type 'css) -(setq org-html-head-include-default-style nil) +(setq org-html-htmlize-output-type 'css) (defvar z-shared-head - " -<link rel=\"stylesheet\" href=\"https://gongzhitaao.org/orgcss/org.css\" /> <link rel=\"stylesheet\" href=\"/assets/style.css\" /> <script src=\"/assets/script.js\" defer></script> ") + " +<link rel=\"stylesheet\" href=\"/assets/styles/style.css\" /> +<script src=\"/assets/scripts/script.js\" defer></script> ") + +(setq org-export-global-macros + (append + '(("sidenote" + . "@@html:<label for=\"sn$1\" class=\"margin-toggle sidenote-number\"></label><input type=\"checkbox\" id=\"sn$1\" class=\"margin-toggle\"/><span class=\"sidenote\">$2</span>@@") + ("epigraph" . "@@html:<div class=\"epigraph\"><blockquote>$1<footer>$2</footer></blockquote></div>@@") + ("epigraph_single" . "@@html:<div class=\"epigraph\"><blockquote>$1</blockquote></div>@@") + ("epigraph3" . "@@html:<div class=\"epigraph\"><blockquote>$1<footer>$2, <cite>$3</cite></footer></blockquote></div>@@") + ("kbd" . "@@html:<kbd>$1</kbd>@@@@latex:\\texttt{$1}@@") + ("margimg" + . "@@html:<aside class=\"marginnote\"><figure class=\"mn-fig\"><img src=\"$1\" alt=\"$2\" class=\"mn-img\" loading=\"lazy\" decoding=\"async\"/>$3</figure></aside>@@") + + + org-export-global-macros))) + (defvar z-preamble " <div class=\"banner-header\"> - <a href=\"/\"> <img src=\"/assets/gr.png\" alt=\"Site Logo\" class=\"banner-logo\" /> </a> + <a href=\"/\"> <img src=\"/assets/images/gr.png\" alt=\"Site Logo\" class=\"banner-logo\" /> </a> <nav> <a href=\"/\">Home | </a> <a href=\"/posts/posts-list.html\">Posts | </a> <a href=\"/blogs/blogs-list.html\">Blogs | </a> <a href=\"/contact.html\">Contact</a> </nav> + <button class=\"theme-toggle\" id=\"theme-toggle\" type=\"button\" aria-label=\"Toggle dark mode\">🌗 Theme</button> </div> - <div id=\"updated\">Updated: %C</div>" -) + <div id=\"updated\">Updated: %C</div> + +" + ) (defvar z-postamble "<footer> @@ -301,7 +326,6 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & </footer>") - (defun z/posts-sitemap (title list) "sitemap that lists post links as bullet points with dates and tags." (concat @@ -322,7 +346,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & ;; Get publish date (let ((date (org-publish-find-date full-path org-publish-project-alist))) (when date - (setq date-str (format-time-string "%Y-%m-%d" date)))) + (setq date-str (format-time-string "%d-%m-%Y %H:%M" date)))) ;; Get FILETAGS from file buffer (when (file-exists-p full-path) (with-temp-buffer @@ -331,7 +355,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & (let* ((tags (cadr (assoc "FILETAGS" (org-collect-keywords '("FILETAGS")))))) (when tags (setq tags-str (mapconcat (lambda (tag) - (format "@@html:<span class=\"post-tag\">%s</span>@@" tag)) + (format "@@html:<a href=\"/tags/%s.html\"> <span class=\"post-tag\">%s</span> </a>@@" tag tag)) (split-string tags ":" t) ;; <- Splits by ":" and removes empty strings " ")))))) ;; Final line output @@ -360,7 +384,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & ;; Get publish date (let ((date (org-publish-find-date full-path org-publish-project-alist))) (when date - (setq date-str (format-time-string "%Y-%m-%d" date)))) + (setq date-str (format-time-string "%d-%m-%Y %H:%M" date)))) ;; Get FILETAGS from file buffer (when (file-exists-p full-path) (with-temp-buffer @@ -369,7 +393,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & (let* ((tags (cadr (assoc "FILETAGS" (org-collect-keywords '("FILETAGS")))))) (when tags (setq tags-str (mapconcat (lambda (tag) - (format "@@html:<span class=\"post-tag\">%s</span>@@" tag)) + (format "@@html:<a href=\"/tags/%s.html\"> <span class=\"post-tag\">%s</span> </a>@@" tag tag)) (split-string tags ":" t) ;; <- Splits by ":" and removes empty strings " ")))))) ;; Final line output @@ -488,27 +512,51 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & idx) ))) +(defun z/filetags-html (info) + "Return an HTML snippet for FILETAGS from INFO, or nil if none." + (let ((tags (plist-get info :filetags))) + (when tags + (format + "<div class=\"filetags\">%s</div>\n" + (mapconcat (lambda (tag) + (format "<a href=\"/categories.html\"> <span class=\"post-tag\">%s</span> </a>" tag)) + tags " "))))) + +(defun z/insert-filetags-after-title (output backend info) + "Insert FILETAGS after the first <h1 class=\"title\"> in OUTPUT." + (if (org-export-derived-backend-p backend 'html) + (let ((block (z/filetags-html info))) + (if (and block + (string-match "\\(<h1[^>]*class=[\"']title[\"'][^>]*>.*?</h1>\\)" output)) + (replace-match (concat "\\1\n" block) t nil output) + output)) + output)) + +(org-export-define-derived-backend 'z-html 'html + :filters-alist '((:filter-final-output . z/insert-filetags-after-title))) + +(defun z/z-publish-to-html (plist filename pub-dir) + "Publish FILENAME to HTML using the z-html backend." + (org-publish-org-to 'z-html filename ".html" plist pub-dir)) + ;; Define the publishing project (setq org-publish-project-alist `(("org-main" :recursive t :base-directory "~/master-folder/org_files/org_web/" - :publishing-function org-html-publish-to-html + :publishing-function z/z-publish-to-html :publishing-directory "~/master-folder/org_files/org_web/output" - :with-author nil - :with-creator t - :with-toc t :base-extension "org" - :section-numbers nil - :time-stamp-file nil :auto-sitemap t :sitemap-filename "sitemap.org" :sitemap-title "Sitemap" :sitemap-sort-files chronologically :html-preamble ,z-preamble :html-postamble ,z-postamble - :html-head ,z-shared-head) + :html-head ,z-shared-head + ) + ("org-categories-sitemap" :recursive t :base-directory "~/master-folder/org_files/org_web/" @@ -520,13 +568,14 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & :sitemap-function z/categories-sitemap :html-preamble ,z-preamble :html-postamble ,z-postamble - :html-head ,z-shared-head) + :html-head ,z-shared-head + ) ("org-posts" :base-directory "~/master-folder/org_files/org_web/posts" :publishing-directory "~/master-folder/org_files/org_web/output/posts/" :recursive t :base-extension "org" - :publishing-function org-html-publish-to-html + :publishing-function z/z-publish-to-html :with-author nil :with-creator nil :html-validation-link nil @@ -539,13 +588,15 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & :sitemap-title "Posts List" :sitemap-style list :sitemap-function z/posts-sitemap - :html-head ,z-shared-head) + :sitemap-sort-files anti-chronologically + :html-head ,z-shared-head + ) ("org-blogs" :base-directory "~/master-folder/org_files/org_web/blogs" :publishing-directory "~/master-folder/org_files/org_web/output/blogs/" :recursive t :base-extension "org" - :publishing-function org-html-publish-to-html + :publishing-function z/z-publish-to-html :with-author nil :with-creator nil :html-validation-link nil @@ -556,7 +607,9 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> & :sitemap-title "Blogs List" :sitemap-style list :sitemap-function z/blogs-sitemap - :html-head ,z-shared-head) + :sitemap-sort-files anti-chronologically + :html-head ,z-shared-head + ) ("org-tags" :base-directory "~/master-folder/org_files/org_web/tags" :publishing-directory "~/master-folder/org_files/org_web/output/tags" @@ -592,9 +645,9 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
-
-

Publish Script

-
+
+

Publish Script

+

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:

@@ -607,16 +660,8 @@ As the project is hosted on Github, I have created a small script that is able t set -e # Define paths -ORG_PROJECT_NAME="website" -ORG_OUTPUT_DIR="$HOME/master-folder/org_files/org_web/output" +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" diff --git a/output/sitemap.html b/output/sitemap.html index 8d0da6e..8d21de5 100644 --- a/output/sitemap.html +++ b/output/sitemap.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Sitemap @@ -209,7 +209,7 @@
-
Updated: 2025-08-10 Sun 18:15
+
Updated: 2025-08-10 Sun 20:55

Sitemap

@@ -217,13 +217,18 @@
  • About Page
  • Home Page
  • Contact
  • -
  • Setup
  • Posts
  • Categories
  • +
  • Setup
  • posts
  • blogs
      @@ -232,9 +237,11 @@
  • tags
      -
    • Tag: emacs
    • Tag: education
    • +
    • Tag: notes
    • +
    • Tag: books
    • Tag: introduction
    • +
    • Tag: emacs
    • Tag: website
    • Tag: review
    • Tag: insights
    • diff --git a/output/tags/books.html b/output/tags/books.html new file mode 100644 index 0000000..68ea91a --- /dev/null +++ b/output/tags/books.html @@ -0,0 +1,236 @@ + + + + + + + +Tag: books + + + + + + + +
      + + +
      Updated: 2025-08-10 Sun 20:55
      +
      +
      + +
      +
      +
      + +
      +Created with Emacs 30.1 (Org mode 9.7.11) on Arch GNU/Linux +
      +
      +
      + + diff --git a/output/tags/education.html b/output/tags/education.html index 6f5ba05..8bf82b5 100644 --- a/output/tags/education.html +++ b/output/tags/education.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Tag: education @@ -209,12 +209,12 @@
  • -
    Updated: 2025-08-10 Sun 18:15
    +
    Updated: 2025-08-10 Sun 20:55
    -
    -

    Posts tagged education

    -
    +
    +

    Posts tagged education

    +
    diff --git a/output/tags/emacs.html b/output/tags/emacs.html index 07453db..cdf6463 100644 --- a/output/tags/emacs.html +++ b/output/tags/emacs.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Tag: emacs @@ -209,12 +209,12 @@
    -
    Updated: 2025-08-10 Sun 18:15
    +
    Updated: 2025-08-10 Sun 20:55
    -
    -

    Posts tagged emacs

    -
    +
    +

    Posts tagged emacs

    +
    • 09-08-2025: Website Changes
    • What Do I Want To Do With Emacs
    • diff --git a/output/tags/insights.html b/output/tags/insights.html index 31107ae..8d55d08 100644 --- a/output/tags/insights.html +++ b/output/tags/insights.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Tag: insights @@ -209,12 +209,12 @@
    -
    Updated: 2025-08-10 Sun 18:15
    +
    Updated: 2025-08-10 Sun 20:55
    -
    -

    Posts tagged insights

    -
    +
    +

    Posts tagged insights

    +
    diff --git a/output/tags/introduction.html b/output/tags/introduction.html index 288482b..45d5b75 100644 --- a/output/tags/introduction.html +++ b/output/tags/introduction.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Tag: introduction @@ -209,12 +209,12 @@
    -
    Updated: 2025-08-10 Sun 18:15
    +
    Updated: 2025-08-10 Sun 20:55
    -
    -

    Posts tagged introduction

    -
    +
    +

    Posts tagged introduction

    +
    • Blogs Introduction
    • Posts Introduction
    • diff --git a/output/tags/notes.html b/output/tags/notes.html new file mode 100644 index 0000000..1d7a8ce --- /dev/null +++ b/output/tags/notes.html @@ -0,0 +1,236 @@ + + + + + + + +Tag: notes + + + + + + + +
      + + +
      Updated: 2025-08-10 Sun 20:55
      +
      +
      + +
      +
      +
      + +
      +Created with Emacs 30.1 (Org mode 9.7.11) on Arch GNU/Linux +
      +
      +
      + + diff --git a/output/tags/review.html b/output/tags/review.html index 9eb054c..0612186 100644 --- a/output/tags/review.html +++ b/output/tags/review.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Tag: review @@ -209,12 +209,12 @@
    -
    Updated: 2025-08-10 Sun 18:15
    +
    Updated: 2025-08-10 Sun 20:55
    -
    -

    Posts tagged review

    -
    +
    +

    Posts tagged review

    +
    diff --git a/output/tags/website.html b/output/tags/website.html index 613bc02..f93c80d 100644 --- a/output/tags/website.html +++ b/output/tags/website.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Tag: website @@ -209,12 +209,12 @@
    -
    Updated: 2025-08-10 Sun 18:15
    +
    Updated: 2025-08-10 Sun 20:55
    -
    -

    Posts tagged website

    -
    +
    +

    Posts tagged website

    +
    diff --git a/output/tags/weekly-review.html b/output/tags/weekly-review.html index ce16c63..3e1fdf3 100644 --- a/output/tags/weekly-review.html +++ b/output/tags/weekly-review.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Tag: weekly-review @@ -209,12 +209,12 @@
    -
    Updated: 2025-08-10 Sun 18:15
    +
    Updated: 2025-08-10 Sun 20:55
    -
    -

    Posts tagged weekly-review

    -
    +
    +

    Posts tagged weekly-review

    +