Auto-publish on Sun 10 Aug 20:56:38 BST 2025
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>About Page</title>
|
||||
@@ -212,9 +212,9 @@
|
||||
<div id="updated">Updated: 2025-08-08 Fri 23:07</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org1da8450" class="outline-2">
|
||||
<h2 id="org1da8450">About</h2>
|
||||
<div class="outline-text-2" id="text-org1da8450">
|
||||
<div id="outline-container-org8650b5e" class="outline-2">
|
||||
<h2 id="org8650b5e">About</h2>
|
||||
<div class="outline-text-2" id="text-org8650b5e">
|
||||
<p>
|
||||
TODO
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>09-08-2025: Website Changes</title>
|
||||
@@ -213,11 +213,11 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">09-08-2025: Website Changes</h1>
|
||||
<div class="filetags"><span class="tag post-tag">emacs</span> <span class="tag post-tag">website</span></div>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">emacs</span> </a> <a href="/categories.html"> <span class="post-tag">website</span> </a></div>
|
||||
|
||||
<div id="outline-container-orgc28805d" class="outline-2">
|
||||
<h2 id="orgc28805d">What was worked on</h2>
|
||||
<div class="outline-text-2" id="text-orgc28805d">
|
||||
<div id="outline-container-org3118419" class="outline-2">
|
||||
<h2 id="org3118419">What was worked on</h2>
|
||||
<div class="outline-text-2" id="text-org3118419">
|
||||
<p>
|
||||
I saw a few websites that used marginal notes on the right side of the screen like <a href="https://ogbe.net/blog/emacs_org_static_site">this one</a>, 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.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Wacom With Arch</title>
|
||||
@@ -213,11 +213,11 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Wacom With Arch</h1>
|
||||
<div class="filetags"><span class="tag post-tag">insights</span></div>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">insights</span> </a></div>
|
||||
|
||||
<div id="outline-container-org40f05a1" class="outline-2">
|
||||
<h2 id="org40f05a1">Setting up Wacom Tablet in Arch Hyprland</h2>
|
||||
<div class="outline-text-2" id="text-org40f05a1">
|
||||
<div id="outline-container-org08ef16d" class="outline-2">
|
||||
<h2 id="org08ef16d">Setting up Wacom Tablet in Arch Hyprland</h2>
|
||||
<div class="outline-text-2" id="text-org08ef16d">
|
||||
<p>
|
||||
I purchased a <a href="https://www.wacom.com/en-gb/products/one-by-wacom">One by Wacom</a> tablet almost 2 years ago now and it works flawlessly in both Windows and MacOS and even in most Linux distros with some configuration.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Weekly review: Week ending August 10, 2025</title>
|
||||
@@ -213,29 +213,29 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Weekly review: Week ending August 10, 2025</h1>
|
||||
<div class="filetags"><span class="tag post-tag">weekly-review</span></div>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">weekly-review</span> </a></div>
|
||||
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org6c94b8b">Reviewing the week</a></li>
|
||||
<li><a href="#org57e6033">Next week</a>
|
||||
<li><a href="#org94004e9">Reviewing the week</a></li>
|
||||
<li><a href="#orge4d06a6">Next week</a>
|
||||
<ul>
|
||||
<li><a href="#org598660f"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</a></li>
|
||||
<li><a href="#orgce82200"><span class="todo TODO">TODO</span> Finish another (misc) book</a></li>
|
||||
<li><a href="#org3f4c010"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</a></li>
|
||||
<li><a href="#org8dcbcf1"><span class="todo TODO">TODO</span> Start the book Dose Effect</a></li>
|
||||
<li><a href="#org8f5f1e7"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</a></li>
|
||||
<li><a href="#org62c4c15"><span class="todo TODO">TODO</span> Touch typing: daily practice</a></li>
|
||||
<li><a href="#orgeffd283"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</a></li>
|
||||
<li><a href="#org09a41c0"><span class="todo TODO">TODO</span> Finish another (misc) book</a></li>
|
||||
<li><a href="#org28bb958"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</a></li>
|
||||
<li><a href="#orge0b2a96"><span class="todo TODO">TODO</span> Start the book Dose Effect</a></li>
|
||||
<li><a href="#orgebf38ae"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</a></li>
|
||||
<li><a href="#orge9cd58b"><span class="todo TODO">TODO</span> Touch typing: daily practice</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org6c94b8b" class="outline-2">
|
||||
<h2 id="org6c94b8b">Reviewing the week</h2>
|
||||
<div class="outline-text-2" id="text-org6c94b8b">
|
||||
<div id="outline-container-org94004e9" class="outline-2">
|
||||
<h2 id="org94004e9">Reviewing the week</h2>
|
||||
<div class="outline-text-2" id="text-org94004e9">
|
||||
<p>
|
||||
Mostly continuing reading from the book <code>clean code</code>, also setup the ankii cards and this website. The amount of leetcode problems I solved could improve however.
|
||||
</p>
|
||||
@@ -249,27 +249,27 @@ I'm thinking of using time-blocks to represent the hours I spent doing each thin
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org57e6033" class="outline-2">
|
||||
<h2 id="org57e6033">Next week</h2>
|
||||
<div class="outline-text-2" id="text-org57e6033">
|
||||
<div id="outline-container-orge4d06a6" class="outline-2">
|
||||
<h2 id="orge4d06a6">Next week</h2>
|
||||
<div class="outline-text-2" id="text-orge4d06a6">
|
||||
</div>
|
||||
<div id="outline-container-org598660f" class="outline-3">
|
||||
<h3 id="org598660f"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</h3>
|
||||
<div id="outline-container-orgeffd283" class="outline-3">
|
||||
<h3 id="orgeffd283"><span class="todo TODO">TODO</span> Read as much of Clean Code as possible</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgce82200" class="outline-3">
|
||||
<h3 id="orgce82200"><span class="todo TODO">TODO</span> Finish another (misc) book</h3>
|
||||
<div id="outline-container-org09a41c0" class="outline-3">
|
||||
<h3 id="org09a41c0"><span class="todo TODO">TODO</span> Finish another (misc) book</h3>
|
||||
</div>
|
||||
<div id="outline-container-org3f4c010" class="outline-3">
|
||||
<h3 id="org3f4c010"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</h3>
|
||||
<div id="outline-container-org28bb958" class="outline-3">
|
||||
<h3 id="org28bb958"><span class="todo TODO">TODO</span> Write more (metric unspecified, need to experiment to see what works best)</h3>
|
||||
</div>
|
||||
<div id="outline-container-org8dcbcf1" class="outline-3">
|
||||
<h3 id="org8dcbcf1"><span class="todo TODO">TODO</span> Start the book Dose Effect</h3>
|
||||
<div id="outline-container-orge0b2a96" class="outline-3">
|
||||
<h3 id="orge0b2a96"><span class="todo TODO">TODO</span> Start the book Dose Effect</h3>
|
||||
</div>
|
||||
<div id="outline-container-org8f5f1e7" class="outline-3">
|
||||
<h3 id="org8f5f1e7"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</h3>
|
||||
<div id="outline-container-orgebf38ae" class="outline-3">
|
||||
<h3 id="orgebf38ae"><span class="todo TODO">TODO</span> More leetcode problems to solve (again, metric unspecified)</h3>
|
||||
</div>
|
||||
<div id="outline-container-org62c4c15" class="outline-3">
|
||||
<h3 id="org62c4c15"><span class="todo TODO">TODO</span> Touch typing: daily practice</h3>
|
||||
<div id="outline-container-orge9cd58b" class="outline-3">
|
||||
<h3 id="orge9cd58b"><span class="todo TODO">TODO</span> Touch typing: daily practice</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>What Do I Want To Do With Emacs</title>
|
||||
@@ -213,7 +213,7 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">What Do I Want To Do With Emacs</h1>
|
||||
<div class="filetags"><span class="tag post-tag">emacs</span> <span class="tag post-tag">review</span></div>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">emacs</span> </a> <a href="/categories.html"> <span class="post-tag">review</span> </a></div>
|
||||
|
||||
<p>
|
||||
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:
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgbd590c1" class="figure">
|
||||
<div id="org287950d" class="figure">
|
||||
<p><img src="../../../assets/sketchnotes/2025-08-08-emacs.svg" alt="2025-08-08-emacs.svg" class="org-svg" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Zettelkasten Method</title>
|
||||
@@ -213,11 +213,11 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Zettelkasten Method</h1>
|
||||
<div class="filetags"><span class="tag post-tag">education</span></div>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">education</span> </a></div>
|
||||
|
||||
<div id="outline-container-org92c1968" class="outline-2">
|
||||
<h2 id="org92c1968">The Zettelkasten Method</h2>
|
||||
<div class="outline-text-2" id="text-org92c1968">
|
||||
<div id="outline-container-org8222392" class="outline-2">
|
||||
<h2 id="org8222392">The Zettelkasten Method</h2>
|
||||
<div class="outline-text-2" id="text-org8222392">
|
||||
<p>
|
||||
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 <i>second brain</i>, where you can jot down ideas and information whilst simultaneously being able to connect them together.
|
||||
</p>
|
||||
@@ -241,7 +241,7 @@ There are many personal knowledge management systems' (PKMS) out there that allo
|
||||
</p>
|
||||
|
||||
|
||||
<div id="org4bec175" class="figure">
|
||||
<div id="org7f9343c" class="figure">
|
||||
<p><img src="../../../assets/images/org-roam-ui-graph.png" alt="org-roam-ui-graph.png" />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Blogs Introduction</title>
|
||||
@@ -213,11 +213,11 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Blogs Introduction</h1>
|
||||
<div class="filetags"><span class="tag post-tag">introduction</span></div>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">introduction</span> </a></div>
|
||||
|
||||
<div id="outline-container-orgdce2816" class="outline-2">
|
||||
<h2 id="orgdce2816">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgdce2816">
|
||||
<div id="outline-container-org8b91fa3" class="outline-2">
|
||||
<h2 id="org8b91fa3">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-org8b91fa3">
|
||||
<p>
|
||||
In this section you will find posts that are not as <i>structured</i> as the ones found in <a href="../posts/posts-list.html">here</a>. Mainly these will deal with findings, research, assorted writings and random bits and blobs.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Blogs List</title>
|
||||
@@ -209,23 +209,23 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Blogs List</h1>
|
||||
<p>
|
||||
See the categories: <a href="../categories.html">Categories</a>
|
||||
</p>
|
||||
<div id="outline-container-org5f3756c" class="outline-2">
|
||||
<h2 id="org5f3756c">Blogs:</h2>
|
||||
<div class="outline-text-2" id="text-org5f3756c">
|
||||
<div id="outline-container-orgdf4a299" class="outline-2">
|
||||
<h2 id="orgdf4a299">Blogs:</h2>
|
||||
<div class="outline-text-2" id="text-orgdf4a299">
|
||||
<ul class="org-ul">
|
||||
<li><a href="2025/08/weekly-review-week-ending-august-10-2025.html">Weekly review: Week ending August 10, 2025</a> <span class="post-date">2025-08-10</span> <a href="/tags/weekly-review.html"> <span class="post-tag">weekly-review</span> </a></li>
|
||||
<li><a href="2025/08/spending-the-whole-day-on-this-website.html">09-08-2025: Website Changes</a> <span class="post-date">2025-08-09</span> <a href="/tags/emacs.html"> <span class="post-tag">emacs</span> </a> <a href="/tags/website.html"> <span class="post-tag">website</span> </a></li>
|
||||
<li><a href="2025/08/wacom-with-arch.html">Wacom With Arch</a> <span class="post-date">2025-08-08</span> <a href="/tags/insights.html"> <span class="post-tag">insights</span> </a></li>
|
||||
<li><a href="2025/08/what-do-i-want-to-do-with-emacs.html">What Do I Want To Do With Emacs</a> <span class="post-date">2025-08-08</span> <a href="/tags/emacs.html"> <span class="post-tag">emacs</span> </a> <a href="/tags/review.html"> <span class="post-tag">review</span> </a></li>
|
||||
<li><a href="2025/08/zettelkasten.html">Zettelkasten Method</a> <span class="post-date">2025-08-07</span> <a href="/tags/education.html"> <span class="post-tag">education</span> </a></li>
|
||||
<li><a href="blogs-intro.html">Blogs Introduction</a> <span class="post-date">2025-08-06</span> <a href="/tags/introduction.html"> <span class="post-tag">introduction</span> </a></li>
|
||||
<li><a href="2025/08/weekly-review-week-ending-august-10-2025.html">Weekly review: Week ending August 10, 2025</a> <span class="post-date">10-08-2025 00:00</span> <a href="/tags/weekly-review.html"> <span class="post-tag">weekly-review</span> </a></li>
|
||||
<li><a href="2025/08/spending-the-whole-day-on-this-website.html">09-08-2025: Website Changes</a> <span class="post-date">09-08-2025 00:00</span> <a href="/tags/emacs.html"> <span class="post-tag">emacs</span> </a> <a href="/tags/website.html"> <span class="post-tag">website</span> </a></li>
|
||||
<li><a href="2025/08/wacom-with-arch.html">Wacom With Arch</a> <span class="post-date">08-08-2025 00:00</span> <a href="/tags/insights.html"> <span class="post-tag">insights</span> </a></li>
|
||||
<li><a href="2025/08/what-do-i-want-to-do-with-emacs.html">What Do I Want To Do With Emacs</a> <span class="post-date">08-08-2025 00:00</span> <a href="/tags/emacs.html"> <span class="post-tag">emacs</span> </a> <a href="/tags/review.html"> <span class="post-tag">review</span> </a></li>
|
||||
<li><a href="2025/08/zettelkasten.html">Zettelkasten Method</a> <span class="post-date">07-08-2025 00:00</span> <a href="/tags/education.html"> <span class="post-tag">education</span> </a></li>
|
||||
<li><a href="blogs-intro.html">Blogs Introduction</a> <span class="post-date">06-08-2025 00:00</span> <a href="/tags/introduction.html"> <span class="post-tag">introduction</span> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Categories</title>
|
||||
@@ -209,17 +209,19 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org20c2b3b" class="outline-2">
|
||||
<h2 id="org20c2b3b">Categories (Includes both blogs and posts)</h2>
|
||||
<div class="outline-text-2" id="text-org20c2b3b">
|
||||
<div id="outline-container-org5537f85" class="outline-2">
|
||||
<h2 id="org5537f85">Categories (Includes both blogs and posts)</h2>
|
||||
<div class="outline-text-2" id="text-org5537f85">
|
||||
<ul class="org-ul">
|
||||
<li><a href="tags/books.html"><span class="post-tag">books</span></a> (2)</li>
|
||||
<li><a href="tags/education.html"><span class="post-tag">education</span></a> (1)</li>
|
||||
<li><a href="tags/emacs.html"><span class="post-tag">emacs</span></a> (2)</li>
|
||||
<li><a href="tags/insights.html"><span class="post-tag">insights</span></a> (1)</li>
|
||||
<li><a href="tags/introduction.html"><span class="post-tag">introduction</span></a> (2)</li>
|
||||
<li><a href="tags/notes.html"><span class="post-tag">notes</span></a> (2)</li>
|
||||
<li><a href="tags/review.html"><span class="post-tag">review</span></a> (1)</li>
|
||||
<li><a href="tags/website.html"><span class="post-tag">website</span></a> (1)</li>
|
||||
<li><a href="tags/weekly-review.html"><span class="post-tag">weekly-review</span></a> (1)</li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Contact</title>
|
||||
@@ -213,9 +213,9 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Contact</h1>
|
||||
<div id="outline-container-org1c95882" class="outline-2">
|
||||
<h2 id="org1c95882">Contact Using the Following:</h2>
|
||||
<div class="outline-text-2" id="text-org1c95882">
|
||||
<div id="outline-container-org3657b8e" class="outline-2">
|
||||
<h2 id="org3657b8e">Contact Using the Following:</h2>
|
||||
<div class="outline-text-2" id="text-org3657b8e">
|
||||
<p>
|
||||
> LinkedIn: <b><a href="https://www.linkedin.com/in/zaine-ul-abideen-qayyum-801a53247/">LinkedIn</a></b>
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Home Page</title>
|
||||
@@ -209,22 +209,22 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 11:53</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:38</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org77f7dfd">Welcome! 🌱</a></li>
|
||||
<li><a href="#orga8528a4">How to publish web pages using <code>org-publish</code></a></li>
|
||||
<li><a href="#org9eee3df">Contact</a></li>
|
||||
<li><a href="#org0307468">Welcome! 🌱</a></li>
|
||||
<li><a href="#org4d98a39">How to publish web pages using <code>org-publish</code></a></li>
|
||||
<li><a href="#org4ccdcf2">Contact</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org77f7dfd" class="outline-2">
|
||||
<h2 id="org77f7dfd">Welcome! 🌱</h2>
|
||||
<div class="outline-text-2" id="text-org77f7dfd">
|
||||
<div id="outline-container-org0307468" class="outline-2">
|
||||
<h2 id="org0307468">Welcome! 🌱</h2>
|
||||
<div class="outline-text-2" id="text-org0307468">
|
||||
<p>
|
||||
This is a website built using Emacs Org-mode and published using <code>org-publish</code>. <label for="sn1" class="margin-toggle sidenote-number"></label><input type="checkbox" id="sn1" class="margin-toggle"/><span class="sidenote"> 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</span>
|
||||
</p>
|
||||
@@ -242,9 +242,9 @@ Feel free to explore:
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga8528a4" class="outline-2">
|
||||
<h2 id="orga8528a4">How to publish web pages using <code>org-publish</code></h2>
|
||||
<div class="outline-text-2" id="text-orga8528a4">
|
||||
<div id="outline-container-org4d98a39" class="outline-2">
|
||||
<h2 id="org4d98a39">How to publish web pages using <code>org-publish</code></h2>
|
||||
<div class="outline-text-2" id="text-org4d98a39">
|
||||
<p>
|
||||
This website is heavily inspired by some people who have decided to use <code>org-publish</code> as a way to convert <code>org</code> files into <code>html</code>. 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.
|
||||
</p>
|
||||
@@ -304,7 +304,6 @@ What this snippet of code is doing is it is telling <code>org-publish</code> wha
|
||||
<pre class="src src-emacs-lisp">
|
||||
#+TITLE: Website Name
|
||||
#+OPTIONS: toc:nil num:nil
|
||||
#+HTML_HEAD: <link rel=<span class="org-string">"stylesheet"</span> href=<span class="org-string">"style.css"</span>>
|
||||
|
||||
* Welcome!
|
||||
|
||||
@@ -342,9 +341,9 @@ And there we go! The files are now being hosted on <code>http://localhost:8000/<
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9eee3df" class="outline-2">
|
||||
<h2 id="org9eee3df">Contact</h2>
|
||||
<div class="outline-text-2" id="text-org9eee3df">
|
||||
<div id="outline-container-org4ccdcf2" class="outline-2">
|
||||
<h2 id="org4ccdcf2">Contact</h2>
|
||||
<div class="outline-text-2" id="text-org4ccdcf2">
|
||||
<p>
|
||||
Feel free to reach out on GitHub: <a href="https://github.com/zainezq">https://github.com/zainezq</a>
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Posts</title>
|
||||
@@ -213,18 +213,18 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Posts</h1>
|
||||
<div id="outline-container-orgd932836" class="outline-2">
|
||||
<h2 id="orgd932836">Links</h2>
|
||||
<div class="outline-text-2" id="text-orgd932836">
|
||||
<div id="outline-container-org77cc5c4" class="outline-2">
|
||||
<h2 id="org77cc5c4">Links</h2>
|
||||
<div class="outline-text-2" id="text-org77cc5c4">
|
||||
</div>
|
||||
<div id="outline-container-org24a85f2" class="outline-4">
|
||||
<h4 id="org24a85f2"><a href="posts/posts-intro.html">Posts Introduction</a>   <span class="tag"><span class="intro">intro</span></span></h4>
|
||||
<div id="outline-container-orgcc6eeba" class="outline-4">
|
||||
<h4 id="orgcc6eeba"><a href="posts/posts-intro.html">Posts Introduction</a>   <span class="tag"><span class="intro">intro</span></span></h4>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf95deea" class="outline-4">
|
||||
<h4 id="orgf95deea"><a href="posts/zettelkasten.html">Zettelkasten Method</a>   <span class="tag"><span class="education">education</span></span></h4>
|
||||
<div class="outline-text-4" id="text-orgf95deea">
|
||||
<div id="outline-container-org5f84343" class="outline-4">
|
||||
<h4 id="org5f84343"><a href="posts/zettelkasten.html">Zettelkasten Method</a>   <span class="tag"><span class="education">education</span></span></h4>
|
||||
<div class="outline-text-4" id="text-org5f84343">
|
||||
<p>
|
||||
<span class="timestamp-wrapper"><span class="timestamp"><2025-08-06 Wed></span></span>
|
||||
</p>
|
||||
|
||||
258
output/posts/clean-code/clean-code-chapter-1.html
Normal file
258
output/posts/clean-code/clean-code-chapter-1.html
Normal file
@@ -0,0 +1,258 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Clean Code: Chapter 1 Notes</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
right: 12px;
|
||||
padding: 3px;
|
||||
color: #555;
|
||||
background-color: #f2f2f299;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { }
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="/assets/styles/style.css" />
|
||||
<script src="/assets/scripts/script.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
|
||||
<div class="banner-header">
|
||||
<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: 2025-08-10 Sun 20:35</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Clean Code: Chapter 1 Notes</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">books</span> </a> <a href="/categories.html"> <span class="post-tag">notes</span> </a></div>
|
||||
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgc919f69">Chapter 1: Clean Code</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
Link to <a href="clean-code-chapter-2.html">Chapter 2</a>
|
||||
</p>
|
||||
<div id="outline-container-orgc919f69" class="outline-2">
|
||||
<h2 id="orgc919f69">Chapter 1: Clean Code</h2>
|
||||
<div class="outline-text-2" id="text-orgc919f69">
|
||||
<p>
|
||||
Referenced Items:
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Implementation Patterns, Kent Beck, Addison-Wesley, 2007.</li>
|
||||
<li>Literate Programming, Donald E. Knuth, Center for the Study of Language and Information, Leland Stanford Junior University, 1992.</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Principles mentioned:
|
||||
Single Responsibility Principle (SRP), the Open Closed Principle (OCP), and the Dependency Inversion Principle (DIP)
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<footer>
|
||||
<div class="copyright-container">
|
||||
<div class="copyright">
|
||||
Copyright © 2022-2025 Zaine Qayyum. All rights reserved unless otherwise noted.</div></div>
|
||||
<div class="generated">
|
||||
Created with <a href="https://www.gnu.org/software/emacs/">Emacs</a> 30.1 (<a href="https://orgmode.org">Org</a> mode 9.7.11) on <a href="https://www.archlinux.org/">Arch</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
415
output/posts/clean-code/clean-code-chapter-2.html
Normal file
415
output/posts/clean-code/clean-code-chapter-2.html
Normal file
@@ -0,0 +1,415 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Clean Code: Chapter 2 Notes</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
right: 12px;
|
||||
padding: 3px;
|
||||
color: #555;
|
||||
background-color: #f2f2f299;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { }
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="/assets/styles/style.css" />
|
||||
<script src="/assets/scripts/script.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
|
||||
<div class="banner-header">
|
||||
<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: 2025-08-10 Sun 20:36</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Clean Code: Chapter 2 Notes</h1>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">books</span> </a> <a href="/categories.html"> <span class="post-tag">notes</span> </a></div>
|
||||
|
||||
<div id="table-of-contents" role="doc-toc">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org0ffba03">Chapter 2: Meaningful Names</a>
|
||||
<ul>
|
||||
<li><a href="#org1af5764">Use intention revealing names:</a></li>
|
||||
<li><a href="#orga7ee1b9">Avoid disinformation</a></li>
|
||||
<li><a href="#org877d16a">Make Meaningful Distinctions</a></li>
|
||||
<li><a href="#org1de3bec">Use Pronouncable Names</a></li>
|
||||
<li><a href="#orga372c7a">Use Searchable Names</a></li>
|
||||
<li><a href="#orgdf53ad2">Avoid Encodings</a></li>
|
||||
<li><a href="#orgc6e7d70">Avoid Mental Mappings</a></li>
|
||||
<li><a href="#org22b7e88">Class Names</a></li>
|
||||
<li><a href="#org07dadf7">Method Names</a></li>
|
||||
<li><a href="#org31576bd">Don't be cute/Don't use puns</a></li>
|
||||
<li><a href="#org2946b89">Pick one word per concept</a></li>
|
||||
<li><a href="#orgf9acdb4">Solution Domain Names and Problem Domain Names</a></li>
|
||||
<li><a href="#orga15a5c0">Add Meaningful Context</a></li>
|
||||
<li><a href="#org0e4c47c">Don't add gratuitous context</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<p>
|
||||
Link to <a href="clean-code-chapter-1.html">Chapter 1</a>
|
||||
</p>
|
||||
<div id="outline-container-org0ffba03" class="outline-2">
|
||||
<h2 id="org0ffba03">Chapter 2: Meaningful Names</h2>
|
||||
<div class="outline-text-2" id="text-org0ffba03">
|
||||
</div>
|
||||
<div id="outline-container-org1af5764" class="outline-3">
|
||||
<h3 id="org1af5764">Use intention revealing names:</h3>
|
||||
<div class="outline-text-3" id="text-org1af5764">
|
||||
<p>
|
||||
Names should reveal intent, there is no revelation in naming an integer <code>d</code>, intending it stands for days. Instead, you should use the following names:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-java"><span class="org-type">int</span> <span class="org-variable-name">elapsedTimeInDays</span>;
|
||||
<span class="org-type">int</span> <span class="org-variable-name">daysSinceCreation</span>;
|
||||
<span class="org-type">int</span> <span class="org-variable-name">daysSinceModification</span>;
|
||||
<span class="org-type">int</span> <span class="org-variable-name">fileAgeInDays</span>;
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga7ee1b9" class="outline-3">
|
||||
<h3 id="orga7ee1b9">Avoid disinformation</h3>
|
||||
<div class="outline-text-3" id="text-orga7ee1b9">
|
||||
<p>
|
||||
Don't postfix the word 'list' to the name 'accounts' unless it's actually a list. This is because the reader will <i>assume</i> the data type of accountsList is indeed a list, instead choose a name like <code>accountsGroup</code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org877d16a" class="outline-3">
|
||||
<h3 id="org877d16a">Make Meaningful Distinctions</h3>
|
||||
<div class="outline-text-3" id="text-org877d16a">
|
||||
<p>
|
||||
While it is possible to name by being disinformative, it is also possible to name being non informative. Consider:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-java">
|
||||
<span class="org-keyword">public</span> <span class="org-keyword">static</span> <span class="org-type">void</span> <span class="org-function-name">copyChars</span>(<span class="org-type">char</span> <span class="org-variable-name">a1</span>[], <span class="org-type">char</span> <span class="org-variable-name">a2</span>[]) {
|
||||
<span class="org-keyword">for</span> (<span class="org-type">int</span> <span class="org-variable-name">i</span> = 0; i < a1.length; i++) {
|
||||
a2[i] = a1[i];
|
||||
}
|
||||
}
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
What on earth does <code>a[1]</code> and <code>a[2]</code> even stand for? We are better off using names like source and destination (due to the function's intent of copying the array).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Furthermore, noise words are redundant. We should never use the word <code>variable</code> when naming a variable, or <code>table</code> when naming a table.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1de3bec" class="outline-3">
|
||||
<h3 id="org1de3bec">Use Pronouncable Names</h3>
|
||||
<div class="outline-text-3" id="text-org1de3bec">
|
||||
<p>
|
||||
This is quite straightforward. Do not use a name like <code>genymdhms</code> to refer to generation date, year, month, day, hour, minute,
|
||||
and second. Instead use <code>generationTimeStamp</code>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga372c7a" class="outline-3">
|
||||
<h3 id="orga372c7a">Use Searchable Names</h3>
|
||||
<div class="outline-text-3" id="text-orga372c7a">
|
||||
<p>
|
||||
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:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<i>The length of a name should correspond to the size of its scope</i>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgdf53ad2" class="outline-3">
|
||||
<h3 id="orgdf53ad2">Avoid Encodings</h3>
|
||||
<div class="outline-text-3" id="text-orgdf53ad2">
|
||||
<p>
|
||||
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: <code>PhoneNumber phoneString;</code> we can see the reader being misled into thinking the phone number is a String.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc6e7d70" class="outline-3">
|
||||
<h3 id="orgc6e7d70">Avoid Mental Mappings</h3>
|
||||
<div class="outline-text-3" id="text-orgc6e7d70">
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org22b7e88" class="outline-3">
|
||||
<h3 id="org22b7e88">Class Names</h3>
|
||||
<div class="outline-text-3" id="text-org22b7e88">
|
||||
<p>
|
||||
<div class="epigraph"><blockquote>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</blockquote></div>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org07dadf7" class="outline-3">
|
||||
<h3 id="org07dadf7">Method Names</h3>
|
||||
<div class="outline-text-3" id="text-org07dadf7">
|
||||
<p>
|
||||
Methods should have verb or verb phrase names.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org31576bd" class="outline-3">
|
||||
<h3 id="org31576bd">Don't be cute/Don't use puns</h3>
|
||||
<div class="outline-text-3" id="text-org31576bd">
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<ul class="org-ul">
|
||||
<li>Example: <code>HandGrenade</code> instead of <code>DeleteItems</code></li>
|
||||
<li>Example: <code>whack()</code> instead of <code>kill()</code></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org2946b89" class="outline-3">
|
||||
<h3 id="org2946b89">Pick one word per concept</h3>
|
||||
<div class="outline-text-3" id="text-org2946b89">
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf9acdb4" class="outline-3">
|
||||
<h3 id="orgf9acdb4">Solution Domain Names and Problem Domain Names</h3>
|
||||
<div class="outline-text-3" id="text-orgf9acdb4">
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga15a5c0" class="outline-3">
|
||||
<h3 id="orga15a5c0">Add Meaningful Context</h3>
|
||||
<div class="outline-text-3" id="text-orga15a5c0">
|
||||
<p>
|
||||
Enclose names with well-named classes, functions, or namespaces. When all else fails, then prefix with something that provides more context.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org0e4c47c" class="outline-3">
|
||||
<h3 id="org0e4c47c">Don't add gratuitous context</h3>
|
||||
<div class="outline-text-3" id="text-org0e4c47c">
|
||||
<p>
|
||||
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'.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<footer>
|
||||
<div class="copyright-container">
|
||||
<div class="copyright">
|
||||
Copyright © 2022-2025 Zaine Qayyum. All rights reserved unless otherwise noted.</div></div>
|
||||
<div class="generated">
|
||||
Created with <a href="https://www.gnu.org/software/emacs/">Emacs</a> 30.1 (<a href="https://orgmode.org">Org</a> mode 9.7.11) on <a href="https://www.archlinux.org/">Arch</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Posts Introduction</title>
|
||||
@@ -213,11 +213,11 @@
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Posts Introduction</h1>
|
||||
<div class="filetags"><span class="tag post-tag">introduction</span></div>
|
||||
<div class="filetags"><a href="/categories.html"> <span class="post-tag">introduction</span> </a></div>
|
||||
|
||||
<div id="outline-container-orgee09982" class="outline-2">
|
||||
<h2 id="orgee09982">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgee09982">
|
||||
<div id="outline-container-orgdab296b" class="outline-2">
|
||||
<h2 id="orgdab296b">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgdab296b">
|
||||
<p>
|
||||
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 <code>posts</code> is to develop the skill of being able to deliver habitual high quality explanations as well as reinforcing the topic(s) learnt.
|
||||
</p>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Posts List</title>
|
||||
@@ -209,18 +209,20 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Posts List</h1>
|
||||
<p>
|
||||
See the categories: <a href="../categories.html">Categories</a>
|
||||
</p>
|
||||
<div id="outline-container-org172aca2" class="outline-2">
|
||||
<h2 id="org172aca2">Posts:</h2>
|
||||
<div class="outline-text-2" id="text-org172aca2">
|
||||
<div id="outline-container-orgc1336e1" class="outline-2">
|
||||
<h2 id="orgc1336e1">Posts:</h2>
|
||||
<div class="outline-text-2" id="text-orgc1336e1">
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts-intro.html">Posts Introduction</a> <span class="post-date">2025-08-06</span> <a href="/tags/introduction.html"> <span class="post-tag">introduction</span> </a></li>
|
||||
<li><a href="clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a> <span class="post-date">10-08-2025 20:00</span> <a href="/tags/books.html"> <span class="post-tag">books</span> </a> <a href="/tags/notes.html"> <span class="post-tag">notes</span> </a></li>
|
||||
<li><a href="clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a> <span class="post-date">10-08-2025 19:45</span> <a href="/tags/books.html"> <span class="post-tag">books</span> </a> <a href="/tags/notes.html"> <span class="post-tag">notes</span> </a></li>
|
||||
<li><a href="posts-intro.html">Posts Introduction</a> <span class="post-date">06-08-2025 00:00</span> <a href="/tags/introduction.html"> <span class="post-tag">introduction</span> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Setup</title>
|
||||
@@ -209,13 +209,17 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-08 Fri 20:25</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Setup</h1>
|
||||
<div id="outline-container-org417d10f" class="outline-2">
|
||||
<h2 id="org417d10f">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-org417d10f">
|
||||
<div id="outline-container-org32a3c56" class="outline-2">
|
||||
<h2 id="org32a3c56">Introduction</h2>
|
||||
<div class="outline-text-2" id="text-org32a3c56">
|
||||
<p>
|
||||
<i>Last updated: <span class="timestamp-wrapper"><span class="timestamp"><2025-08-10 Sun 20:42></span></span></i>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This page will highlight the <code>build-script.el</code> used to generate this website. This entire website is generated through org files using the command:
|
||||
</p>
|
||||
@@ -226,9 +230,9 @@ This page will highlight the <code>build-script.el</code> used to generate this
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgcb8faa6" class="outline-2">
|
||||
<h2 id="orgcb8faa6">The script</h2>
|
||||
<div class="outline-text-2" id="text-orgcb8faa6">
|
||||
<div id="outline-container-orgbda3b74" class="outline-2">
|
||||
<h2 id="orgbda3b74">The script</h2>
|
||||
<div class="outline-text-2" id="text-orgbda3b74">
|
||||
<p>
|
||||
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 <code>org-publish-project-alist</code> which handles nearly all of the project generation instructions.
|
||||
</p>
|
||||
@@ -259,6 +263,8 @@ The script is as follows, at the start I have some metadata relating to the file
|
||||
(<span class="org-keyword">require</span> '<span class="org-constant">ox-publish</span>)
|
||||
(<span class="org-keyword">require</span> '<span class="org-constant">cl-lib</span>)
|
||||
(<span class="org-keyword">require</span> '<span class="org-constant">org</span>)
|
||||
(<span class="org-keyword">require</span> '<span class="org-constant">ox</span>)
|
||||
(<span class="org-keyword">require</span> '<span class="org-constant">ox-html</span>)
|
||||
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Initialize the package system
|
||||
</span>(package-initialize)
|
||||
@@ -267,28 +273,47 @@ The script is as follows, at the start I have some metadata relating to the file
|
||||
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Install dependencies
|
||||
</span>(package-install 'htmlize)
|
||||
(add-to-list 'load-path <span class="org-string">"~/master-folder/org_files/org_web/"</span>)
|
||||
(<span class="org-keyword">require</span> '<span class="org-constant">htmlize</span>)
|
||||
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Load the publishing system
|
||||
</span>(<span class="org-keyword">setq</span> org-html-htmlize-output-type 'css)
|
||||
(<span class="org-keyword">setq</span> org-html-head-include-default-style nil)
|
||||
(<span class="org-keyword">setq</span> org-html-htmlize-output-type 'css)
|
||||
|
||||
(<span class="org-keyword">defvar</span> <span class="org-variable-name">z-shared-head</span>
|
||||
<span class="org-string">"
|
||||
<link rel=\"stylesheet\" href=\"https://gongzhitaao.org/orgcss/org.css\" /> <link rel=\"stylesheet\" href=\"/assets/style.css\" /> <script src=\"/assets/script.js\" defer></script> "</span>)
|
||||
<span class="org-string">"
|
||||
<link rel=\"stylesheet\" href=\"/assets/styles/style.css\" />
|
||||
<script src=\"/assets/scripts/script.js\" defer></script> "</span>)
|
||||
|
||||
(<span class="org-keyword">setq</span> org-export-global-macros
|
||||
(append
|
||||
'((<span class="org-string">"sidenote"</span>
|
||||
. <span class="org-string">"@@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>@@"</span>)
|
||||
(<span class="org-string">"epigraph"</span> . <span class="org-string">"@@html:<div class=\"epigraph\"><blockquote>$1<footer>$2</footer></blockquote></div>@@"</span>)
|
||||
(<span class="org-string">"epigraph_single"</span> . <span class="org-string">"@@html:<div class=\"epigraph\"><blockquote>$1</blockquote></div>@@"</span>)
|
||||
(<span class="org-string">"epigraph3"</span> . <span class="org-string">"@@html:<div class=\"epigraph\"><blockquote>$1<footer>$2, <cite>$3</cite></footer></blockquote></div>@@"</span>)
|
||||
(<span class="org-string">"kbd"</span> . <span class="org-string">"@@html:<kbd>$1</kbd>@@@@latex:\\texttt{$1}@@"</span>)
|
||||
(<span class="org-string">"margimg"</span>
|
||||
. <span class="org-string">"@@html:<aside class=\"marginnote\"><figure class=\"mn-fig\"><img src=\"$1\" alt=\"$2\" class=\"mn-img\" loading=\"lazy\" decoding=\"async\"/>$3</figure></aside>@@"</span>)
|
||||
|
||||
|
||||
org-export-global-macros)))
|
||||
|
||||
|
||||
(<span class="org-keyword">defvar</span> <span class="org-variable-name">z-preamble</span>
|
||||
<span class="org-string">"
|
||||
<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>"</span>
|
||||
)
|
||||
<div id=\"updated\">Updated: %C</div>
|
||||
|
||||
"</span>
|
||||
)
|
||||
|
||||
(<span class="org-keyword">defvar</span> <span class="org-variable-name">z-postamble</span>
|
||||
<span class="org-string">"<footer>
|
||||
@@ -301,7 +326,6 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
</footer>"</span>)
|
||||
|
||||
|
||||
|
||||
(<span class="org-keyword">defun</span> <span class="org-function-name">z/posts-sitemap</span> (title list)
|
||||
<span class="org-doc">"sitemap that lists post links as bullet points with dates and tags."</span>
|
||||
(concat
|
||||
@@ -322,7 +346,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get publish date
|
||||
</span> (<span class="org-keyword">let</span> ((date (org-publish-find-date full-path org-publish-project-alist)))
|
||||
(<span class="org-keyword">when</span> date
|
||||
(<span class="org-keyword">setq</span> date-str (format-time-string <span class="org-string">"%Y-%m-%d"</span> date))))
|
||||
(<span class="org-keyword">setq</span> date-str (format-time-string <span class="org-string">"%d-%m-%Y %H:%M"</span> date))))
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get FILETAGS from file buffer
|
||||
</span> (<span class="org-keyword">when</span> (file-exists-p full-path)
|
||||
(<span class="org-keyword">with-temp-buffer</span>
|
||||
@@ -331,7 +355,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
(<span class="org-keyword">let*</span> ((tags (cadr (assoc <span class="org-string">"FILETAGS"</span> (org-collect-keywords '(<span class="org-string">"FILETAGS"</span>))))))
|
||||
(<span class="org-keyword">when</span> tags
|
||||
(<span class="org-keyword">setq</span> tags-str (mapconcat (<span class="org-keyword">lambda</span> (tag)
|
||||
(format <span class="org-string">"@@html:<span class=\"post-tag\">%s</span>@@"</span> tag))
|
||||
(format <span class="org-string">"@@html:<a href=\"/tags/%s.html\"> <span class=\"post-tag\">%s</span> </a>@@"</span> tag tag))
|
||||
(split-string tags <span class="org-string">":"</span> t) <span class="org-comment-delimiter">;; </span><span class="org-comment"><- Splits by ":" and removes empty strings
|
||||
</span> <span class="org-string">" "</span>))))))
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Final line output
|
||||
@@ -360,7 +384,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get publish date
|
||||
</span> (<span class="org-keyword">let</span> ((date (org-publish-find-date full-path org-publish-project-alist)))
|
||||
(<span class="org-keyword">when</span> date
|
||||
(<span class="org-keyword">setq</span> date-str (format-time-string <span class="org-string">"%Y-%m-%d"</span> date))))
|
||||
(<span class="org-keyword">setq</span> date-str (format-time-string <span class="org-string">"%d-%m-%Y %H:%M"</span> date))))
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get FILETAGS from file buffer
|
||||
</span> (<span class="org-keyword">when</span> (file-exists-p full-path)
|
||||
(<span class="org-keyword">with-temp-buffer</span>
|
||||
@@ -369,7 +393,7 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
(<span class="org-keyword">let*</span> ((tags (cadr (assoc <span class="org-string">"FILETAGS"</span> (org-collect-keywords '(<span class="org-string">"FILETAGS"</span>))))))
|
||||
(<span class="org-keyword">when</span> tags
|
||||
(<span class="org-keyword">setq</span> tags-str (mapconcat (<span class="org-keyword">lambda</span> (tag)
|
||||
(format <span class="org-string">"@@html:<span class=\"post-tag\">%s</span>@@"</span> tag))
|
||||
(format <span class="org-string">"@@html:<a href=\"/tags/%s.html\"> <span class=\"post-tag\">%s</span> </a>@@"</span> tag tag))
|
||||
(split-string tags <span class="org-string">":"</span> t) <span class="org-comment-delimiter">;; </span><span class="org-comment"><- Splits by ":" and removes empty strings
|
||||
</span> <span class="org-string">" "</span>))))))
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Final line output
|
||||
@@ -488,27 +512,51 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
idx)
|
||||
)))
|
||||
|
||||
(<span class="org-keyword">defun</span> <span class="org-function-name">z/filetags-html</span> (info)
|
||||
<span class="org-doc">"Return an HTML snippet for FILETAGS from INFO, or nil if none."</span>
|
||||
(<span class="org-keyword">let</span> ((tags (plist-get info <span class="org-builtin">:filetags</span>)))
|
||||
(<span class="org-keyword">when</span> tags
|
||||
(format
|
||||
<span class="org-string">"<div class=\"filetags\">%s</div>\n"</span>
|
||||
(mapconcat (<span class="org-keyword">lambda</span> (tag)
|
||||
(format <span class="org-string">"<a href=\"/categories.html\"> <span class=\"post-tag\">%s</span> </a>"</span> tag))
|
||||
tags <span class="org-string">" "</span>)))))
|
||||
|
||||
(<span class="org-keyword">defun</span> <span class="org-function-name">z/insert-filetags-after-title</span> (output backend info)
|
||||
<span class="org-doc">"Insert FILETAGS after the first <h1 class=\"title\"> in OUTPUT."</span>
|
||||
(<span class="org-keyword">if</span> (org-export-derived-backend-p backend 'html)
|
||||
(<span class="org-keyword">let</span> ((block (z/filetags-html info)))
|
||||
(<span class="org-keyword">if</span> (<span class="org-keyword">and</span> block
|
||||
(string-match <span class="org-string">"</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">(</span></span><span class="org-string"><h1[</span><span class="org-string"><span class="org-negation-char">^</span></span><span class="org-string">>]*class=[\"']title[\"'][</span><span class="org-string"><span class="org-negation-char">^</span></span><span class="org-string">>]*>.*?</h1></span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">)</span></span><span class="org-string">"</span> output))
|
||||
(replace-match (concat <span class="org-string">"\\1\n"</span> block) t nil output)
|
||||
output))
|
||||
output))
|
||||
|
||||
(org-export-define-derived-backend 'z-html 'html
|
||||
<span class="org-builtin">:filters-alist</span> '((<span class="org-builtin">:filter-final-output</span> . z/insert-filetags-after-title)))
|
||||
|
||||
(<span class="org-keyword">defun</span> <span class="org-function-name">z/z-publish-to-html</span> (plist filename pub-dir)
|
||||
<span class="org-doc">"Publish FILENAME to HTML using the z-html backend."</span>
|
||||
(org-publish-org-to 'z-html filename <span class="org-string">".html"</span> plist pub-dir))
|
||||
|
||||
|
||||
<span class="org-comment-delimiter">;; </span><span class="org-comment">Define the publishing project
|
||||
</span>(<span class="org-keyword">setq</span> org-publish-project-alist
|
||||
`((<span class="org-string">"org-main"</span>
|
||||
<span class="org-builtin">:recursive</span> t
|
||||
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/"</span>
|
||||
<span class="org-builtin">:publishing-function</span> org-html-publish-to-html
|
||||
<span class="org-builtin">:publishing-function</span> z/z-publish-to-html
|
||||
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output"</span>
|
||||
<span class="org-builtin">:with-author</span> nil
|
||||
<span class="org-builtin">:with-creator</span> t
|
||||
<span class="org-builtin">:with-toc</span> t
|
||||
<span class="org-builtin">:base-extension</span> <span class="org-string">"org"</span>
|
||||
<span class="org-builtin">:section-numbers</span> nil
|
||||
<span class="org-builtin">:time-stamp-file</span> nil
|
||||
<span class="org-builtin">:auto-sitemap</span> t
|
||||
<span class="org-builtin">:sitemap-filename</span> <span class="org-string">"sitemap.org"</span>
|
||||
<span class="org-builtin">:sitemap-title</span> <span class="org-string">"Sitemap"</span>
|
||||
<span class="org-builtin">:sitemap-sort-files</span> chronologically
|
||||
<span class="org-builtin">:html-preamble</span> ,z-preamble
|
||||
<span class="org-builtin">:html-postamble</span> ,z-postamble
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head)
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head
|
||||
)
|
||||
|
||||
(<span class="org-string">"org-categories-sitemap"</span>
|
||||
<span class="org-builtin">:recursive</span> t
|
||||
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/"</span>
|
||||
@@ -520,13 +568,14 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
<span class="org-builtin">:sitemap-function</span> z/categories-sitemap
|
||||
<span class="org-builtin">:html-preamble</span> ,z-preamble
|
||||
<span class="org-builtin">:html-postamble</span> ,z-postamble
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head)
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head
|
||||
)
|
||||
(<span class="org-string">"org-posts"</span>
|
||||
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/posts"</span>
|
||||
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output/posts/"</span>
|
||||
<span class="org-builtin">:recursive</span> t
|
||||
<span class="org-builtin">:base-extension</span> <span class="org-string">"org"</span>
|
||||
<span class="org-builtin">:publishing-function</span> org-html-publish-to-html
|
||||
<span class="org-builtin">:publishing-function</span> z/z-publish-to-html
|
||||
<span class="org-builtin">:with-author</span> nil
|
||||
<span class="org-builtin">:with-creator</span> nil
|
||||
<span class="org-builtin">:html-validation-link</span> nil
|
||||
@@ -539,13 +588,15 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
<span class="org-builtin">:sitemap-title</span> <span class="org-string">"Posts List"</span>
|
||||
<span class="org-builtin">:sitemap-style</span> list
|
||||
<span class="org-builtin">:sitemap-function</span> z/posts-sitemap
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head)
|
||||
<span class="org-builtin">:sitemap-sort-files</span> anti-chronologically
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head
|
||||
)
|
||||
(<span class="org-string">"org-blogs"</span>
|
||||
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/blogs"</span>
|
||||
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output/blogs/"</span>
|
||||
<span class="org-builtin">:recursive</span> t
|
||||
<span class="org-builtin">:base-extension</span> <span class="org-string">"org"</span>
|
||||
<span class="org-builtin">:publishing-function</span> org-html-publish-to-html
|
||||
<span class="org-builtin">:publishing-function</span> z/z-publish-to-html
|
||||
<span class="org-builtin">:with-author</span> nil
|
||||
<span class="org-builtin">:with-creator</span> nil
|
||||
<span class="org-builtin">:html-validation-link</span> nil
|
||||
@@ -556,7 +607,9 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
<span class="org-builtin">:sitemap-title</span> <span class="org-string">"Blogs List"</span>
|
||||
<span class="org-builtin">:sitemap-style</span> list
|
||||
<span class="org-builtin">:sitemap-function</span> z/blogs-sitemap
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head)
|
||||
<span class="org-builtin">:sitemap-sort-files</span> anti-chronologically
|
||||
<span class="org-builtin">:html-head</span> ,z-shared-head
|
||||
)
|
||||
(<span class="org-string">"org-tags"</span>
|
||||
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/tags"</span>
|
||||
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output/tags"</span>
|
||||
@@ -592,9 +645,9 @@ Created with %c on <a href=\"https://www.archlinux.org/\">Arch</a> &
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb101495" class="outline-2">
|
||||
<h2 id="orgb101495">Publish Script</h2>
|
||||
<div class="outline-text-2" id="text-orgb101495">
|
||||
<div id="outline-container-org1d8a76e" class="outline-2">
|
||||
<h2 id="org1d8a76e">Publish Script</h2>
|
||||
<div class="outline-text-2" id="text-org1d8a76e">
|
||||
<p>
|
||||
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:
|
||||
</p>
|
||||
@@ -607,16 +660,8 @@ As the project is hosted on Github, I have created a small script that is able t
|
||||
</span><span class="org-builtin">set</span> -e
|
||||
|
||||
<span class="org-comment-delimiter"># </span><span class="org-comment">Define paths
|
||||
</span><span class="org-variable-name">ORG_PROJECT_NAME</span>=<span class="org-string">"website"</span>
|
||||
<span class="org-variable-name">ORG_OUTPUT_DIR</span>=<span class="org-string">"$HOME/master-folder/org_files/org_web/output"</span>
|
||||
</span><span class="org-variable-name">ORG_OUTPUT_DIR</span>=<span class="org-string">"$HOME/master-folder/org_files/org_web/output"</span>
|
||||
|
||||
<span class="org-comment-delimiter"># </span><span class="org-comment">commands used prior to having the `build-script.el`
|
||||
</span><span class="org-comment-delimiter"># </span><span class="org-comment">echo "Running org-publish..."
|
||||
</span><span class="org-comment-delimiter"># </span><span class="org-comment">emacs --batch \
|
||||
</span><span class="org-comment-delimiter"># </span><span class="org-comment">--eval "(require 'org)" \
|
||||
</span><span class="org-comment-delimiter"># </span><span class="org-comment">--eval "(require 'ox-publish)" \
|
||||
</span><span class="org-comment-delimiter"># </span><span class="org-comment">--eval "(org-publish \"$ORG_PROJECT_NAME\" t)"
|
||||
</span>
|
||||
<span class="org-builtin">cd</span> <span class="org-string">"$ORG_OUTPUT_DIR"</span>
|
||||
|
||||
<span class="org-builtin">echo</span> <span class="org-string">"HTML published to: $ORG_OUTPUT_DIR"</span>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Sitemap</title>
|
||||
@@ -209,7 +209,7 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<h1 class="title">Sitemap</h1>
|
||||
@@ -217,13 +217,18 @@
|
||||
<li><a href="about.html">About Page</a></li>
|
||||
<li><a href="index.html">Home Page</a></li>
|
||||
<li><a href="contact.html">Contact</a></li>
|
||||
<li><a href="setup.html">Setup</a></li>
|
||||
<li><a href="posts.html">Posts</a></li>
|
||||
<li><a href="categories.html">Categories</a></li>
|
||||
<li><a href="setup.html">Setup</a></li>
|
||||
<li>posts
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/posts-intro.html">Posts Introduction</a></li>
|
||||
<li><a href="posts/posts-list.html">Posts List</a></li>
|
||||
<li>clean-code
|
||||
<ul class="org-ul">
|
||||
<li><a href="posts/clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a></li>
|
||||
<li><a href="posts/clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a></li>
|
||||
</ul></li>
|
||||
</ul></li>
|
||||
<li>blogs
|
||||
<ul class="org-ul">
|
||||
@@ -232,9 +237,11 @@
|
||||
</ul></li>
|
||||
<li>tags
|
||||
<ul class="org-ul">
|
||||
<li><a href="tags/emacs.html">Tag: emacs</a></li>
|
||||
<li><a href="tags/education.html">Tag: education</a></li>
|
||||
<li><a href="tags/notes.html">Tag: notes</a></li>
|
||||
<li><a href="tags/books.html">Tag: books</a></li>
|
||||
<li><a href="tags/introduction.html">Tag: introduction</a></li>
|
||||
<li><a href="tags/emacs.html">Tag: emacs</a></li>
|
||||
<li><a href="tags/website.html">Tag: website</a></li>
|
||||
<li><a href="tags/review.html">Tag: review</a></li>
|
||||
<li><a href="tags/insights.html">Tag: insights</a></li>
|
||||
|
||||
236
output/tags/books.html
Normal file
236
output/tags/books.html
Normal file
@@ -0,0 +1,236 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: books</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
right: 12px;
|
||||
padding: 3px;
|
||||
color: #555;
|
||||
background-color: #f2f2f299;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { }
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="/assets/styles/style.css" />
|
||||
<script src="/assets/scripts/script.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
|
||||
<div class="banner-header">
|
||||
<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: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orge7a234c" class="outline-2">
|
||||
<h2 id="orge7a234c">Posts tagged books</h2>
|
||||
<div class="outline-text-2" id="text-orge7a234c">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a></li>
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<footer>
|
||||
<div class="copyright-container">
|
||||
<div class="copyright">
|
||||
Copyright © 2022-2025 Zaine Qayyum. All rights reserved unless otherwise noted.</div></div>
|
||||
<div class="generated">
|
||||
Created with <a href="https://www.gnu.org/software/emacs/">Emacs</a> 30.1 (<a href="https://orgmode.org">Org</a> mode 9.7.11) on <a href="https://www.archlinux.org/">Arch</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: education</title>
|
||||
@@ -209,12 +209,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org8c60989" class="outline-2">
|
||||
<h2 id="org8c60989">Posts tagged education</h2>
|
||||
<div class="outline-text-2" id="text-org8c60989">
|
||||
<div id="outline-container-orgd3e2ad2" class="outline-2">
|
||||
<h2 id="orgd3e2ad2">Posts tagged education</h2>
|
||||
<div class="outline-text-2" id="text-orgd3e2ad2">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/zettelkasten.html">Zettelkasten Method</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: emacs</title>
|
||||
@@ -209,12 +209,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgf82809f" class="outline-2">
|
||||
<h2 id="orgf82809f">Posts tagged emacs</h2>
|
||||
<div class="outline-text-2" id="text-orgf82809f">
|
||||
<div id="outline-container-org31606eb" class="outline-2">
|
||||
<h2 id="org31606eb">Posts tagged emacs</h2>
|
||||
<div class="outline-text-2" id="text-org31606eb">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/spending-the-whole-day-on-this-website.html">09-08-2025: Website Changes</a></li>
|
||||
<li><a href="../blogs/2025/08/what-do-i-want-to-do-with-emacs.html">What Do I Want To Do With Emacs</a></li>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: insights</title>
|
||||
@@ -209,12 +209,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org39e9328" class="outline-2">
|
||||
<h2 id="org39e9328">Posts tagged insights</h2>
|
||||
<div class="outline-text-2" id="text-org39e9328">
|
||||
<div id="outline-container-org4536e0c" class="outline-2">
|
||||
<h2 id="org4536e0c">Posts tagged insights</h2>
|
||||
<div class="outline-text-2" id="text-org4536e0c">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/wacom-with-arch.html">Wacom With Arch</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: introduction</title>
|
||||
@@ -209,12 +209,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgc1846f6" class="outline-2">
|
||||
<h2 id="orgc1846f6">Posts tagged introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgc1846f6">
|
||||
<div id="outline-container-orgfdf5335" class="outline-2">
|
||||
<h2 id="orgfdf5335">Posts tagged introduction</h2>
|
||||
<div class="outline-text-2" id="text-orgfdf5335">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/blogs-intro.html">Blogs Introduction</a></li>
|
||||
<li><a href="../posts/posts-intro.html">Posts Introduction</a></li>
|
||||
|
||||
236
output/tags/notes.html
Normal file
236
output/tags/notes.html
Normal file
@@ -0,0 +1,236 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: notes</title>
|
||||
<meta name="generator" content="Org Mode" />
|
||||
<style type="text/css">
|
||||
#content { max-width: 60em; margin: auto; }
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #e6e6e6;
|
||||
border-radius: 3px;
|
||||
background-color: #f2f2f2;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
right: 12px;
|
||||
padding: 3px;
|
||||
color: #555;
|
||||
background-color: #f2f2f299;
|
||||
}
|
||||
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.equation-container {
|
||||
display: table;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.equation {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.equation-label {
|
||||
display: table-cell;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { }
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="/assets/styles/style.css" />
|
||||
<script src="/assets/scripts/script.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="preamble" class="status">
|
||||
|
||||
<div class="banner-header">
|
||||
<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: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org326a16d" class="outline-2">
|
||||
<h2 id="org326a16d">Posts tagged notes</h2>
|
||||
<div class="outline-text-2" id="text-org326a16d">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-2.html">Clean Code: Chapter 2 Notes</a></li>
|
||||
<li><a href="../posts/clean-code/clean-code-chapter-1.html">Clean Code: Chapter 1 Notes</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<footer>
|
||||
<div class="copyright-container">
|
||||
<div class="copyright">
|
||||
Copyright © 2022-2025 Zaine Qayyum. All rights reserved unless otherwise noted.</div></div>
|
||||
<div class="generated">
|
||||
Created with <a href="https://www.gnu.org/software/emacs/">Emacs</a> 30.1 (<a href="https://orgmode.org">Org</a> mode 9.7.11) on <a href="https://www.archlinux.org/">Arch</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: review</title>
|
||||
@@ -209,12 +209,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-orgdc2fc5e" class="outline-2">
|
||||
<h2 id="orgdc2fc5e">Posts tagged review</h2>
|
||||
<div class="outline-text-2" id="text-orgdc2fc5e">
|
||||
<div id="outline-container-orgb4d2aea" class="outline-2">
|
||||
<h2 id="orgb4d2aea">Posts tagged review</h2>
|
||||
<div class="outline-text-2" id="text-orgb4d2aea">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/what-do-i-want-to-do-with-emacs.html">What Do I Want To Do With Emacs</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: website</title>
|
||||
@@ -209,12 +209,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org7ca0fbd" class="outline-2">
|
||||
<h2 id="org7ca0fbd">Posts tagged website</h2>
|
||||
<div class="outline-text-2" id="text-org7ca0fbd">
|
||||
<div id="outline-container-orgcdd07d4" class="outline-2">
|
||||
<h2 id="orgcdd07d4">Posts tagged website</h2>
|
||||
<div class="outline-text-2" id="text-orgcdd07d4">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/spending-the-whole-day-on-this-website.html">09-08-2025: Website Changes</a></li>
|
||||
</ul>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-08-10 Sun 18:15 -->
|
||||
<!-- 2025-08-10 Sun 20:55 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Tag: weekly-review</title>
|
||||
@@ -209,12 +209,12 @@
|
||||
</nav>
|
||||
<button class="theme-toggle" id="theme-toggle" type="button" aria-label="Toggle dark mode">🌗 Theme</button>
|
||||
</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 18:15</div>
|
||||
<div id="updated">Updated: 2025-08-10 Sun 20:55</div>
|
||||
</div>
|
||||
<div id="content" class="content">
|
||||
<div id="outline-container-org627c305" class="outline-2">
|
||||
<h2 id="org627c305">Posts tagged weekly-review</h2>
|
||||
<div class="outline-text-2" id="text-org627c305">
|
||||
<div id="outline-container-org555a011" class="outline-2">
|
||||
<h2 id="org555a011">Posts tagged weekly-review</h2>
|
||||
<div class="outline-text-2" id="text-org555a011">
|
||||
<ul class="org-ul">
|
||||
<li><a href="../blogs/2025/08/weekly-review-week-ending-august-10-2025.html">Weekly review: Week ending August 10, 2025</a></li>
|
||||
</ul>
|
||||
|
||||
Reference in New Issue
Block a user