Auto-publish on Fri 8 Aug 18:27:52 BST 2025

This commit is contained in:
2025-08-08 18:27:52 +01:00
parent 0309c458ba
commit 1fa7e85a58
18 changed files with 752 additions and 2198 deletions

View File

@@ -3,208 +3,27 @@
"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-08 Fri 18:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>About Me</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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="style.css" />
<script src="script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 17:59</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-07 Thu 17:59</div>
</div>
<div id="content" class="content">
<h1 class="title">About Me</h1>
@@ -212,30 +31,30 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org525e49c">About Me 👋</a></li>
<li><a href="#org7d53523">Interests</a></li>
<li><a href="#orgab15c03">Interests</a></li>
<li><a href="#orge37696f">Interests</a></li>
<li><a href="#orgddefd1b">Interests</a></li>
<li><a href="#orgcaa4248">Interests</a></li>
<li><a href="#org07cbfea">Interests</a></li>
<li><a href="#org6190cfd">Interests</a></li>
<li><a href="#org166e504">Interests</a></li>
<li><a href="#org876620e">Interests</a></li>
<li><a href="#org51ecc87">Interests</a></li>
<li><a href="#orga439f32">Interests</a></li>
<li><a href="#org144f20d">Interests</a></li>
<li><a href="#orgdba5bb2">Interests</a></li>
<li><a href="#org9dc7bfb">Interests</a></li>
<li><a href="#org624d410">Interests</a></li>
<li><a href="#org2f37793">Interests</a></li>
<li><a href="#orgdd3fc0a">Back to Home</a></li>
<li><a href="#org4d9a0e1">1. About Me 👋</a></li>
<li><a href="#orgea96809">2. Interests</a></li>
<li><a href="#org7235000">3. Interests</a></li>
<li><a href="#org0497330">4. Interests</a></li>
<li><a href="#orgdf6979e">5. Interests</a></li>
<li><a href="#orgb146fca">6. Interests</a></li>
<li><a href="#orgcbf59fe">7. Interests</a></li>
<li><a href="#orgadfa38c">8. Interests</a></li>
<li><a href="#org9aa5921">9. Interests</a></li>
<li><a href="#org9df86b2">10. Interests</a></li>
<li><a href="#orgfb5cb5a">11. Interests</a></li>
<li><a href="#org43e87c8">12. Interests</a></li>
<li><a href="#org6ea8e3f">13. Interests</a></li>
<li><a href="#orgf6fd9b0">14. Interests</a></li>
<li><a href="#org87522a1">15. Interests</a></li>
<li><a href="#orgf20dcc0">16. Interests</a></li>
<li><a href="#org0718be5">17. Interests</a></li>
<li><a href="#org255a3b0">18. Back to Home</a></li>
</ul>
</div>
</div>
<div id="outline-container-org525e49c" class="outline-2">
<h2 id="org525e49c">About Me 👋</h2>
<div class="outline-text-2" id="text-org525e49c">
<div id="outline-container-org4d9a0e1" class="outline-2">
<h2 id="org4d9a0e1"><span class="section-number-2">1.</span> About Me 👋</h2>
<div class="outline-text-2" id="text-1">
<p>
I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudflare Pages</b>.
</p>
@@ -245,9 +64,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</p>
</div>
</div>
<div id="outline-container-org7d53523" class="outline-2">
<h2 id="org7d53523">Interests</h2>
<div class="outline-text-2" id="text-org7d53523">
<div id="outline-container-orgea96809" class="outline-2">
<h2 id="orgea96809"><span class="section-number-2">2.</span> Interests</h2>
<div class="outline-text-2" id="text-2">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -256,9 +75,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-orgab15c03" class="outline-2">
<h2 id="orgab15c03">Interests</h2>
<div class="outline-text-2" id="text-orgab15c03">
<div id="outline-container-org7235000" class="outline-2">
<h2 id="org7235000"><span class="section-number-2">3.</span> Interests</h2>
<div class="outline-text-2" id="text-3">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -267,9 +86,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-orge37696f" class="outline-2">
<h2 id="orge37696f">Interests</h2>
<div class="outline-text-2" id="text-orge37696f">
<div id="outline-container-org0497330" class="outline-2">
<h2 id="org0497330"><span class="section-number-2">4.</span> Interests</h2>
<div class="outline-text-2" id="text-4">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -278,9 +97,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-orgddefd1b" class="outline-2">
<h2 id="orgddefd1b">Interests</h2>
<div class="outline-text-2" id="text-orgddefd1b">
<div id="outline-container-orgdf6979e" class="outline-2">
<h2 id="orgdf6979e"><span class="section-number-2">5.</span> Interests</h2>
<div class="outline-text-2" id="text-5">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -289,9 +108,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-orgcaa4248" class="outline-2">
<h2 id="orgcaa4248">Interests</h2>
<div class="outline-text-2" id="text-orgcaa4248">
<div id="outline-container-orgb146fca" class="outline-2">
<h2 id="orgb146fca"><span class="section-number-2">6.</span> Interests</h2>
<div class="outline-text-2" id="text-6">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -300,9 +119,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org07cbfea" class="outline-2">
<h2 id="org07cbfea">Interests</h2>
<div class="outline-text-2" id="text-org07cbfea">
<div id="outline-container-orgcbf59fe" class="outline-2">
<h2 id="orgcbf59fe"><span class="section-number-2">7.</span> Interests</h2>
<div class="outline-text-2" id="text-7">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -311,9 +130,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org6190cfd" class="outline-2">
<h2 id="org6190cfd">Interests</h2>
<div class="outline-text-2" id="text-org6190cfd">
<div id="outline-container-orgadfa38c" class="outline-2">
<h2 id="orgadfa38c"><span class="section-number-2">8.</span> Interests</h2>
<div class="outline-text-2" id="text-8">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -322,9 +141,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org166e504" class="outline-2">
<h2 id="org166e504">Interests</h2>
<div class="outline-text-2" id="text-org166e504">
<div id="outline-container-org9aa5921" class="outline-2">
<h2 id="org9aa5921"><span class="section-number-2">9.</span> Interests</h2>
<div class="outline-text-2" id="text-9">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -333,9 +152,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org876620e" class="outline-2">
<h2 id="org876620e">Interests</h2>
<div class="outline-text-2" id="text-org876620e">
<div id="outline-container-org9df86b2" class="outline-2">
<h2 id="org9df86b2"><span class="section-number-2">10.</span> Interests</h2>
<div class="outline-text-2" id="text-10">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -344,9 +163,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org51ecc87" class="outline-2">
<h2 id="org51ecc87">Interests</h2>
<div class="outline-text-2" id="text-org51ecc87">
<div id="outline-container-orgfb5cb5a" class="outline-2">
<h2 id="orgfb5cb5a"><span class="section-number-2">11.</span> Interests</h2>
<div class="outline-text-2" id="text-11">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -355,9 +174,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-orga439f32" class="outline-2">
<h2 id="orga439f32">Interests</h2>
<div class="outline-text-2" id="text-orga439f32">
<div id="outline-container-org43e87c8" class="outline-2">
<h2 id="org43e87c8"><span class="section-number-2">12.</span> Interests</h2>
<div class="outline-text-2" id="text-12">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -366,9 +185,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org144f20d" class="outline-2">
<h2 id="org144f20d">Interests</h2>
<div class="outline-text-2" id="text-org144f20d">
<div id="outline-container-org6ea8e3f" class="outline-2">
<h2 id="org6ea8e3f"><span class="section-number-2">13.</span> Interests</h2>
<div class="outline-text-2" id="text-13">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -377,9 +196,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-orgdba5bb2" class="outline-2">
<h2 id="orgdba5bb2">Interests</h2>
<div class="outline-text-2" id="text-orgdba5bb2">
<div id="outline-container-orgf6fd9b0" class="outline-2">
<h2 id="orgf6fd9b0"><span class="section-number-2">14.</span> Interests</h2>
<div class="outline-text-2" id="text-14">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -388,9 +207,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org9dc7bfb" class="outline-2">
<h2 id="org9dc7bfb">Interests</h2>
<div class="outline-text-2" id="text-org9dc7bfb">
<div id="outline-container-org87522a1" class="outline-2">
<h2 id="org87522a1"><span class="section-number-2">15.</span> Interests</h2>
<div class="outline-text-2" id="text-15">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -399,9 +218,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org624d410" class="outline-2">
<h2 id="org624d410">Interests</h2>
<div class="outline-text-2" id="text-org624d410">
<div id="outline-container-orgf20dcc0" class="outline-2">
<h2 id="orgf20dcc0"><span class="section-number-2">16.</span> Interests</h2>
<div class="outline-text-2" id="text-16">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -410,9 +229,9 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-org2f37793" class="outline-2">
<h2 id="org2f37793">Interests</h2>
<div class="outline-text-2" id="text-org2f37793">
<div id="outline-container-org0718be5" class="outline-2">
<h2 id="org0718be5"><span class="section-number-2">17.</span> Interests</h2>
<div class="outline-text-2" id="text-17">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -421,8 +240,8 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
</ul>
</div>
</div>
<div id="outline-container-orgdd3fc0a" class="outline-2">
<h2 id="orgdd3fc0a">Back to <a href="index.html">Home</a></h2>
<div id="outline-container-org255a3b0" class="outline-2">
<h2 id="org255a3b0"><span class="section-number-2">18.</span> Back to <a href="index.html">Home</a></h2>
</div>
</div>
<div id="postamble" class="status">

BIN
output/assets/gr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -47,23 +47,51 @@ a:hover {
color: var(--code-bg);
}
/* Nav styling */
nav {
.banner-header {
display: flex;
align-items: center;
justify-content: flex-start;
flex-wrap: wrap; /* allow items to wrap on small screens */
background-color: var(--banner-bg, #fff);
padding: 0.5rem 1rem;
border-radius: 6px;
margin-bottom: 1rem;
}
.banner-logo {
height: 80px;
width: auto;
margin-right: 1.5rem;
border-radius: 50%;
}
/* Keep nav horizontal on desktop */
nav {
display: flex;
gap: 1rem;
font-weight: 600;
font-size: 1.1rem;
}
nav a {
color: var(--link);
text-decoration: none;
font-weight: 600;
/* Mobile styles */
@media (max-width: 600px) {
.banner-header {
flex-direction: column; /* stack logo + nav */
align-items: center;
text-align: center;
}
.banner-logo {
margin: 0 0 0.5rem 0; /* space under logo */
}
nav {
flex-wrap: wrap; /* allow nav links to wrap */
justify-content: center;
gap: 0.5rem;
font-size: 1rem; /* slightly smaller text */
}
}
nav a:hover {
text-decoration: underline;
}
/* Footer styling */
footer {
@@ -123,3 +151,6 @@ pre.src {
li {
margin-bottom: 8px;
}

View File

@@ -0,0 +1,74 @@
<?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-08 Fri 18:26 -->
<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>
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:17</div>
</div>
<div id="content" class="content">
<h1 class="title">Zettelkasten Method</h1>
<div id="outline-container-org434d74e" class="outline-2">
<h2 id="org434d74e">The Zettelkasten Method</h2>
<div class="outline-text-2" id="text-org434d74e">
<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>
<p>
The <a href="https://zettelkasten.de/introduction/">official website</a> describes in detail exactly what the Zettelkasten method is, providing use cases and benefits to this method. The part I wanted to highlighted in this is the following paragraph, where the author depicts how this concept would be explained to someone unfamiliar with it:
</p>
<blockquote>
<p>
A Zettelkasten is a personal tool for thinking and writing. It has hypertextual features to make a web of thoughts possible. The difference to other systems is that you create a web of thoughts instead of notes of arbitrary size and form, and emphasize connection, not a collection.
</p>
</blockquote>
<p>
This web of thoughts is exactly what makes it useful, it takes on the seemingly cluttered <i>mess of information</i> and is able to link the nodes together to create something meaningful and useful.
</p>
<p>
There are many personal knowledge management systems' (PKMS) out there that allow you to practice this method; the most common ones being <a href="https://obsidian.md/">Obsidian</a> and <a href="https://www.orgroam.com/">Org Roam</a>. After using Org Roam with Emacs for about a year or so, I realised how useful this method really is. A random idea can be jotted down and later connected to a bigger project or note system. The following picture below is a screenshot of a graph generated UI for all the nodes created in my Org Roam folder:
</p>
<div id="org96a1a52" class="figure">
<p><img src="../../../assets/org-roam-ui-graph.png" alt="org-roam-ui-graph.png" />
</p>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<footer>
<div class="copyright-container">
<div class="copyright">
Copyright &copy; 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>

View File

@@ -3,215 +3,33 @@
"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-07 Thu 22:36 -->
<!-- 2025-08-08 Fri 18:26 -->
<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>
<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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="../style.css" />
<script src="../script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 22:24</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 17:31</div>
</div>
<div id="content" class="content">
<h1 class="title">Blogs Introduction</h1>
<div id="outline-container-org802326d" class="outline-2">
<h2 id="org802326d">Introduction</h2>
<div class="outline-text-2" id="text-org802326d">
<div id="outline-container-orgf4b7d50" class="outline-2">
<h2 id="orgf4b7d50">Introduction</h2>
<div class="outline-text-2" id="text-orgf4b7d50">
<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>

View File

@@ -3,218 +3,39 @@
"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-07 Thu 22:36 -->
<!-- 2025-08-08 Fri 18:26 -->
<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>
<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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="../style.css" />
<script src="../script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 22:36</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:26</div>
</div>
<div id="content" class="content">
<h1 class="title">Blogs List</h1>
<div id="outline-container-orgfb616a4" class="outline-2">
<h2 id="orgfb616a4">Posts:</h2>
<div class="outline-text-2" id="text-orgfb616a4">
<p>
See the categories: <a href="../categories.html">Categories</a>
</p>
<div id="outline-container-orgd8a5189" class="outline-2">
<h2 id="orgd8a5189">Blogs:</h2>
<div class="outline-text-2" id="text-orgd8a5189">
<ul class="org-ul">
<li><a href="2025/08/zettelkasten.html">Zettelkasten Method</a> <span class="post-date">2025-08-05</span> <span class="post-tag">education</span></li>
<li><a href="blogs-intro.html">Blogs Introduction</a> <span class="post-date">2025-08-08</span> <span class="post-tag">introduction</span></li>
<li><a href="zettelkasten.html">Zettelkasten Method</a> <span class="post-date">2025-08-05</span> <span class="post-tag">education</span></li>
</ul>
</div>
</div>

View File

@@ -1,256 +0,0 @@
<?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-07 Thu 22:36 -->
<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>
<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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="../style.css" />
<script src="../script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 22:22</div>
</div>
<div id="content" class="content">
<h1 class="title">Zettelkasten Method</h1>
<div id="outline-container-orgfb00723" class="outline-2">
<h2 id="orgfb00723">The Zettelkasten Method</h2>
<div class="outline-text-2" id="text-orgfb00723">
<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>
<p>
The <a href="https://zettelkasten.de/introduction/">official website</a> describes in detail exactly what the Zettelkasten method is, providing use cases and benefits to this method. The part I wanted to highlighted in this is the following paragraph, where the author depicts how this concept would be explained to someone unfamiliar with it:
</p>
<blockquote>
<p>
A Zettelkasten is a personal tool for thinking and writing. It has hypertextual features to make a web of thoughts possible. The difference to other systems is that you create a web of thoughts instead of notes of arbitrary size and form, and emphasize connection, not a collection.
</p>
</blockquote>
<p>
This web of thoughts is exactly what makes it useful, it takes on the seemingly cluttered <i>mess of information</i> and is able to link the nodes together to create something meaningful and useful.
</p>
<p>
There are many personal knowledge management systems' (PKMS) out there that allow you to practice this method; the most common ones being <a href="https://obsidian.md/">Obsidian</a> and <a href="https://www.orgroam.com/">Org Roam</a>. After using Org Roam with Emacs for about a year or so, I realised how useful this method really is. A random idea can be jotted down and later connected to a bigger project or note system. The following picture below is a screenshot of a graph generated UI for all the nodes created in my Org Roam folder:
</p>
<div id="org98b53b9" class="figure">
<p><img src="../assets/org-roam-ui-graph.png" alt="org-roam-ui-graph.png" />
</p>
</div>
</div>
</div>
</div>
<div id="postamble" class="status">
<footer>
<div class="copyright-container">
<div class="copyright">
Copyright &copy; 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>

50
output/categories.html Normal file
View File

@@ -0,0 +1,50 @@
<?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-08 Fri 18:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Categories</title>
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:26</div>
</div>
<div id="content" class="content">
<div id="outline-container-orgd8c8b5e" class="outline-2">
<h2 id="orgd8c8b5e">Categories (Includes both blogs and posts)</h2>
<div class="outline-text-2" id="text-orgd8c8b5e">
<ul class="org-ul">
<li><a href="tags/education.html"><span class="post-tag">education</span></a> (1)</li>
<li><a href="tags/introduction.html"><span class="post-tag">introduction</span></a> (2)</li>
</ul>
</div>
</div>
</div>
<div id="postamble" class="status">
<footer>
<div class="copyright-container">
<div class="copyright">
Copyright &copy; 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>

View File

@@ -3,214 +3,33 @@
"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-08 Fri 18:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Contact</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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="style.css" />
<script src="script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 17:53</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-07 Thu 17:53</div>
</div>
<div id="content" class="content">
<h1 class="title">Contact</h1>
<div id="outline-container-org0023c95" class="outline-2">
<h2 id="org0023c95">Contact Using the Following:</h2>
<div class="outline-text-2" id="text-org0023c95">
<div id="outline-container-org39f3b2e" class="outline-2">
<h2 id="org39f3b2e">Contact Using the Following:</h2>
<div class="outline-text-2" id="text-org39f3b2e">
<p>
&gt; LinkedIn: <b><a href="https://www.linkedin.com/in/zaine-ul-abideen-qayyum-801a53247/">LinkedIn</a></b>
</p>

View File

@@ -3,214 +3,32 @@
"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-08 Fri 18:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zaine Qayyum</title>
<title>Home Page</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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="style.css" />
<script src="script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 22:32</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 16:09</div>
</div>
<div id="content" class="content">
<h1 class="title">Zaine Qayyum</h1>
<div id="outline-container-org3f485ab" class="outline-2">
<h2 id="org3f485ab">Welcome! 🌱</h2>
<div class="outline-text-2" id="text-org3f485ab">
<div id="outline-container-org32f5262" class="outline-2">
<h2 id="org32f5262">Welcome! 🌱</h2>
<div class="outline-text-2" id="text-org32f5262">
<p>
This is a website built using Emacs Org-mode and published using <code>org-publish</code>.
</p>
@@ -224,12 +42,13 @@ Feel free to explore:
<li><a href="posts/posts-list.html">Posts Page</a></li>
<li><a href="blogs/blogs-list.html">Blogs Page</a></li>
<li><a href="setup.html">Setup Page</a></li>
<li><a href="sitemap.html">Sitemap</a></li>
</ul>
</div>
</div>
<div id="outline-container-orga29d9d8" class="outline-2">
<h2 id="orga29d9d8">How to publish web pages using <code>org-publish</code></h2>
<div class="outline-text-2" id="text-orga29d9d8">
<div id="outline-container-org638b1c3" class="outline-2">
<h2 id="org638b1c3">How to publish web pages using <code>org-publish</code></h2>
<div class="outline-text-2" id="text-org638b1c3">
<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>
@@ -246,6 +65,9 @@ So how does one go about publishing web pages through Emacs's <code>org-publish<
The first thing we will want to do is edit our <code>init.el</code> file, which is the <b>initialization</b> file. In this file we want to add the following:
</p>
<p>
<i>This is a simple and quick way of getting this setup, although there is a better and more scalable approach to this, where we have a build script that runs each time we want to generate the project. See <a href="setup.html">here</a> for more details.</i>
</p>
<div class="org-src-container">
<pre class="src src-emacs-lisp">
@@ -320,9 +142,9 @@ And there we go! The files are now being hosted on <code>http://localhost:8000/<
</p>
</div>
</div>
<div id="outline-container-orgf1acb9e" class="outline-2">
<h2 id="orgf1acb9e">Contact</h2>
<div class="outline-text-2" id="text-orgf1acb9e">
<div id="outline-container-org5e07529" class="outline-2">
<h2 id="org5e07529">Contact</h2>
<div class="outline-text-2" id="text-org5e07529">
<p>
Feel free to reach out on GitHub: <a href="https://github.com/zainezq">https://github.com/zainezq</a>
</p>

View File

@@ -3,222 +3,43 @@
"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-08 Fri 18:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Posts</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>
<script src="script.js" defer></script>
<link rel="stylesheet" type="text/css" href="https://gongzhitaao.org/orgcss/org.css"/>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-06 Wed 21:03</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-06 Wed 21:03</div>
</div>
<div id="content" class="content">
<h1 class="title">Posts</h1>
<div id="outline-container-org5de7eb9" class="outline-2">
<h2 id="org5de7eb9">Links</h2>
<div class="outline-text-2" id="text-org5de7eb9">
<div id="outline-container-org7dddfed" class="outline-2">
<h2 id="org7dddfed">Links</h2>
<div class="outline-text-2" id="text-org7dddfed">
</div>
<div id="outline-container-org7f0c48b" class="outline-4">
<h4 id="org7f0c48b"><a href="posts/posts-intro.html">Posts Introduction</a>&#xa0;&#xa0;&#xa0;<span class="tag"><span class="intro">intro</span></span></h4>
<div id="outline-container-org9f85092" class="outline-4">
<h4 id="org9f85092"><a href="posts/posts-intro.html">Posts Introduction</a>&#xa0;&#xa0;&#xa0;<span class="tag"><span class="intro">intro</span></span></h4>
</div>
<div id="outline-container-orgb393014" class="outline-4">
<h4 id="orgb393014"><a href="posts/zettelkasten.html">Zettelkasten Method</a>&#xa0;&#xa0;&#xa0;<span class="tag"><span class="education">education</span></span></h4>
<div class="outline-text-4" id="text-orgb393014">
<div id="outline-container-org0d9486e" class="outline-4">
<h4 id="org0d9486e"><a href="posts/zettelkasten.html">Zettelkasten Method</a>&#xa0;&#xa0;&#xa0;<span class="tag"><span class="education">education</span></span></h4>
<div class="outline-text-4" id="text-org0d9486e">
<p>
<span class="timestamp-wrapper"><span class="timestamp">&lt;2025-08-06 Wed&gt;</span></span>
</p>

View File

@@ -3,215 +3,33 @@
"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-07 Thu 22:36 -->
<!-- 2025-08-08 Fri 18:26 -->
<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>
<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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="../style.css" />
<script src="../script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 21:58</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-07 Thu 21:58</div>
</div>
<div id="content" class="content">
<h1 class="title">Posts Introduction</h1>
<div id="outline-container-org43bfd69" class="outline-2">
<h2 id="org43bfd69">Introduction</h2>
<div class="outline-text-2" id="text-org43bfd69">
<div id="outline-container-org7fe7ae0" class="outline-2">
<h2 id="org7fe7ae0">Introduction</h2>
<div class="outline-text-2" id="text-org7fe7ae0">
<p>
In this section you will find posts related to both technical and non-technical topics. As Einstein said: “If you cant explain it simply you dont 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>

View File

@@ -3,215 +3,36 @@
"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-07 Thu 22:36 -->
<!-- 2025-08-08 Fri 18:26 -->
<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>
<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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="../style.css" />
<script src="../script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 22:36</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:26</div>
</div>
<div id="content" class="content">
<h1 class="title">Posts List</h1>
<div id="outline-container-org7aeea3c" class="outline-2">
<h2 id="org7aeea3c">Posts:</h2>
<div class="outline-text-2" id="text-org7aeea3c">
<p>
See the categories: <a href="../categories.html">Categories</a>
</p>
<div id="outline-container-org385b7f7" class="outline-2">
<h2 id="org385b7f7">Posts:</h2>
<div class="outline-text-2" id="text-org385b7f7">
<ul class="org-ul">
<li><a href="posts-intro.html">Posts Introduction</a> <span class="post-date">2025-08-06</span> <span class="post-tag">introduction</span></li>
</ul>

View File

@@ -3,214 +3,33 @@
"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-08 Fri 18:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Setup</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" type="text/css" href="https://gongzhitaao.org/orgcss/org.css" />
<link rel="stylesheet" href="style.css" />
<script src="script.js" defer></script>
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<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>
<div id="updated">Updated: 2025-08-07 Thu 22:36</div>
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:26</div>
</div>
<div id="content" class="content">
<h1 class="title">Setup</h1>
<div id="outline-container-org829abdc" class="outline-2">
<h2 id="org829abdc">Introduction</h2>
<div class="outline-text-2" id="text-org829abdc">
<div id="outline-container-orga729cc8" class="outline-2">
<h2 id="orga729cc8">Introduction</h2>
<div class="outline-text-2" id="text-orga729cc8">
<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>
@@ -221,45 +40,36 @@ This page will highlight the <code>build-script.el</code> used to generate this
</div>
</div>
</div>
<div id="outline-container-orgb9cb047" class="outline-2">
<h2 id="orgb9cb047">The script</h2>
<div class="outline-text-2" id="text-orgb9cb047">
<div id="outline-container-org6bbc685" class="outline-2">
<h2 id="org6bbc685">The script</h2>
<div class="outline-text-2" id="text-org6bbc685">
<p>
The script is as follows, at the start I have commented out pieces of code (somewhat relevant to the script but never really used), followed by package management. Then there's the declaration of variables and functions and finally the <code>org-publish-project-alist</code> which handles nearly all of the project generation instructions.
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>
<div class="org-src-container">
<pre class="src src-emacs-lisp">
<span class="org-comment-delimiter">;; </span><span class="org-comment">Commented out things:
<span class="org-comment-delimiter">;;; </span><span class="org-comment">build-site.el --- Publish my website using org-publish -*- lexical-binding: t; -*-
</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">(defvar z-head
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">"&lt;link rel=\"stylesheet\" type=\"text/css\" href=\"https://gongzhitaao.org/orgcss/org.css\" /&gt;
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">&lt;link rel=\"stylesheet\" href=\"/style.css\" /&gt;")
<span class="org-comment-delimiter">;; </span><span class="org-comment">Author: Zaine Qayyum <a href="mailto:zaineulabideen%40outlook.com">&lt;zaineulabideen@outlook.com&gt;</a>
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">Created: 2025-08-08
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">Purpose: Build and publish my static site from Org files.
</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">(setq org-html-validation-link nil
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">org-html-head-include-scripts nil
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">org-html-head-include-default-style nil
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">org-html-head z-head)
<span class="org-comment-delimiter">;;; </span><span class="org-comment">Commentary:
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">Run this file with:
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">emacs -Q --script build-site.el
</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">(type-of (car '(rose violet daisy buttercup)))
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">(cadr (assoc "FILETAGS" (org-collect-keywords '("FILETAGS"))))
<span class="org-comment-delimiter">;;; </span><span class="org-comment">Code:
</span>
<span class="org-comment-delimiter">;; </span><span class="org-comment">(let ((list '(("post1.org") ("post2.org"))))
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">(mapconcat (lambda (entry)
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">(format "- [[file:%s]]" (car entry)))
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">list
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">"\n"))
</span>
<span class="org-comment-delimiter">;;</span><span class="org-comment">BEGIN:
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">Set the package installation directory so that packages aren't stored in the
</span><span class="org-comment-delimiter">;; </span><span class="org-comment">~/.emacs.d/elpa path.
</span>(<span class="org-keyword">require</span> '<span class="org-constant">package</span>)
(<span class="org-keyword">require</span> '<span class="org-constant">package</span>)
(<span class="org-keyword">setq</span> package-user-dir (expand-file-name <span class="org-string">"./.packages"</span>))
(<span class="org-keyword">setq</span> package-archives '((<span class="org-string">"melpa"</span> . <span class="org-string">"https://melpa.org/packages/"</span>)
(<span class="org-string">"elpa"</span> . <span class="org-string">"https://elpa.gnu.org/packages/"</span>)))
(<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-comment-delimiter">;; </span><span class="org-comment">Initialize the package system
</span>(package-initialize)
(<span class="org-keyword">unless</span> package-archive-contents
@@ -269,17 +79,25 @@ The script is as follows, at the start I have commented out pieces of code (some
</span>(package-install 'htmlize)
<span class="org-comment-delimiter">;; </span><span class="org-comment">Load the publishing system
</span>(<span class="org-keyword">require</span> '<span class="org-constant">ox-publish</span>)
(<span class="org-keyword">setq</span> org-html-htmlize-output-type 'css)
</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">defvar</span> <span class="org-variable-name">z-shared-head</span>
<span class="org-string">"
&lt;link rel=\"stylesheet\" href=\"https://gongzhitaao.org/orgcss/org.css\" /&gt; &lt;link rel=\"stylesheet\" href=\"/assets/style.css\" /&gt; &lt;script src=\"/assets/script.js\" defer&gt;&lt;/script&gt; "</span>)
(<span class="org-keyword">defvar</span> <span class="org-variable-name">z-preamble</span>
<span class="org-string">"&lt;nav&gt;
&lt;a href=\"/\"&gt;Home | &lt;/a&gt;
&lt;a href=\"/posts/posts-list.html\"&gt;Posts | &lt;/a&gt;
&lt;a href=\"/blogs/blogs-list.html\"&gt;Blogs | &lt;/a&gt;
&lt;a href=\"/contact.html\"&gt;Contact&lt;/a&gt;
&lt;/nav&gt;
&lt;div id=\"updated\"&gt;Updated: %C&lt;/div&gt;"</span>
<span class="org-string">"
&lt;div class=\"banner-header\"&gt;
&lt;a href=\"/\"&gt; &lt;img src=\"/assets/gr.png\" alt=\"Site Logo\" class=\"banner-logo\" /&gt; &lt;/a&gt;
&lt;nav&gt;
&lt;a href=\"/\"&gt;Home | &lt;/a&gt;
&lt;a href=\"/posts/posts-list.html\"&gt;Posts | &lt;/a&gt;
&lt;a href=\"/blogs/blogs-list.html\"&gt;Blogs | &lt;/a&gt;
&lt;a href=\"/contact.html\"&gt;Contact&lt;/a&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;div id=\"updated\"&gt;Updated: %C&lt;/div&gt;"</span>
)
(<span class="org-keyword">defvar</span> <span class="org-variable-name">z-postamble</span>
@@ -299,6 +117,7 @@ Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &
(concat
<span class="org-string">"#+TITLE: "</span> title <span class="org-string">"\n"</span>
<span class="org-string">"#+OPTIONS: toc:nil num:nil \n\n"</span>
<span class="org-string">"See the categories: @@html:&lt;a href=\"../categories.html\"&gt;Categories&lt;/a&gt;@@\n\n"</span>
<span class="org-string">"* Posts:\n"</span>
(mapconcat
(<span class="org-keyword">lambda</span> (entry)
@@ -336,7 +155,8 @@ Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &
(concat
<span class="org-string">"#+TITLE: "</span> title <span class="org-string">"\n"</span>
<span class="org-string">"#+OPTIONS: toc:nil num:nil \n\n"</span>
<span class="org-string">"* Posts:\n"</span>
<span class="org-string">"See the categories: @@html:&lt;a href=\"../categories.html\"&gt;Categories&lt;/a&gt;@@\n\n"</span>
<span class="org-string">"* Blogs:\n"</span>
(mapconcat
(<span class="org-keyword">lambda</span> (entry)
(<span class="org-keyword">let*</span> ((link (car entry))
@@ -368,9 +188,120 @@ Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &
<span class="org-string">"\n"</span>)))
(<span class="org-keyword">defun</span> <span class="org-function-name">z/categories-sitemap</span> (title _list)
<span class="org-doc">"Generate a categories page by scanning tags across org-posts and org-blogs."</span>
(<span class="org-keyword">let*</span> ((expanded (org-publish-expand-projects org-publish-project-alist))
(posts (assoc <span class="org-string">"org-posts"</span> expanded))
(blogs (assoc <span class="org-string">"org-blogs"</span> expanded))
<span class="org-comment-delimiter">;; </span><span class="org-comment">DO NOT set :exclude to "" &#8212; it excludes everything
</span> (files (cl-remove-duplicates
(append (<span class="org-keyword">and</span> posts (org-publish-get-base-files posts))
(<span class="org-keyword">and</span> blogs (org-publish-get-base-files blogs)))
<span class="org-builtin">:test</span> #'file-equal-p))
<span class="org-comment-delimiter">;; </span><span class="org-comment">optional: drop the generated sitemaps
</span> (files (cl-remove-if
(<span class="org-keyword">lambda</span> (f)
(member (file-name-nondirectory f)
'(<span class="org-string">"posts-list.org"</span> <span class="org-string">"blogs-list.org"</span> <span class="org-string">"sitemap.org"</span> <span class="org-string">"categories.org"</span>)))
files))
(counts (make-hash-table <span class="org-builtin">:test</span> 'equal)))
<span class="org-comment-delimiter">;;</span><span class="org-comment">(message "files I will scan: %S" files)
</span> (<span class="org-keyword">dolist</span> (f files)
(<span class="org-keyword">when</span> (file-readable-p f)
(<span class="org-keyword">with-temp-buffer</span>
(insert-file-contents f)
(org-mode)
(<span class="org-keyword">let*</span> ((kw (org-collect-keywords '(<span class="org-string">"FILETAGS"</span> <span class="org-string">"TAGS"</span>)))
(raw (car (<span class="org-keyword">or</span> (cdr (assoc <span class="org-string">"FILETAGS"</span> kw))
(cdr (assoc <span class="org-string">"TAGS"</span> kw))))))
(<span class="org-keyword">when</span> raw
(<span class="org-keyword">dolist</span> (tag (split-string raw <span class="org-string">":"</span> t))
(puthash tag (1+ (gethash tag counts 0)) counts)))))))
(<span class="org-keyword">let</span> (tags)
(maphash (<span class="org-keyword">lambda</span> (k _) (<span class="org-keyword">push</span> k tags)) counts)
(<span class="org-keyword">setq</span> tags (sort tags #'string-lessp))
(concat
<span class="org-string">"#+TITLE: "</span> title <span class="org-string">"\n#+OPTIONS: toc:nil num:nil title:nil\n\n* Categories (Includes both blogs and posts)\n"</span>
(<span class="org-keyword">if</span> tags
(mapconcat
(<span class="org-keyword">lambda</span> (tag)
(format <span class="org-string">"- [[file:tags/%s.org][@@html:&lt;span class=\"post-tag\"&gt;%s&lt;/span&gt;@@]] (%d)"</span>
(z/tag-slug tag) tag (gethash tag counts))
)
tags
<span class="org-string">"\n"</span>)
<span class="org-string">"_No tags found yet._"</span>)))))
(<span class="org-keyword">defun</span> <span class="org-function-name">z/tag-slug</span> (s)
<span class="org-doc">"Turn a tag into a safe filename."</span>
(<span class="org-keyword">let</span> ((down (downcase s)))
(replace-regexp-in-string <span class="org-string">"[</span><span class="org-string"><span class="org-negation-char">^</span></span><span class="org-string">a-z0-9]+"</span> <span class="org-string">"-"</span> down)))
(<span class="org-keyword">defun</span> <span class="org-function-name">z/collect-post-files</span> ()
<span class="org-doc">"Return all .org files from org-posts and org-blogs."</span>
(<span class="org-keyword">let*</span> ((expanded (org-publish-expand-projects org-publish-project-alist))
(posts (assoc <span class="org-string">"org-posts"</span> expanded))
(blogs (assoc <span class="org-string">"org-blogs"</span> expanded)))
(cl-remove-duplicates
(append (<span class="org-keyword">and</span> posts (org-publish-get-base-files posts))
(<span class="org-keyword">and</span> blogs (org-publish-get-base-files blogs)))
<span class="org-builtin">:test</span> #'file-equal-p)))
(<span class="org-keyword">defun</span> <span class="org-function-name">z/gather-tag-index</span> ()
<span class="org-doc">"Return hash: tag -&gt; list of (FILE TITLE DATE-ISO)."</span>
(<span class="org-keyword">let</span> ((idx (make-hash-table <span class="org-builtin">:test</span> 'equal)))
(<span class="org-keyword">dolist</span> (f (z/collect-post-files))
(<span class="org-keyword">when</span> (<span class="org-keyword">and</span> (string-match-p <span class="org-string">"\\.org\\'"</span> f)
(file-readable-p f)
<span class="org-comment-delimiter">;; </span><span class="org-comment">ignore generated lists
</span> (not (member (file-name-nondirectory f)
'(<span class="org-string">"posts-list.org"</span> <span class="org-string">"blogs-list.org"</span> <span class="org-string">"sitemap.org"</span> <span class="org-string">"categories.org"</span>))))
(<span class="org-keyword">with-temp-buffer</span>
(insert-file-contents f)
(org-mode)
(<span class="org-keyword">let*</span> ((kw (org-collect-keywords '(<span class="org-string">"TITLE"</span> <span class="org-string">"FILETAGS"</span> <span class="org-string">"TAGS"</span> <span class="org-string">"DATE"</span>)))
(title (<span class="org-keyword">or</span> (car (cdr (assoc <span class="org-string">"TITLE"</span> kw)))
(file-name-base f)))
(date (<span class="org-keyword">or</span> (car (cdr (assoc <span class="org-string">"DATE"</span> kw))) <span class="org-string">""</span>)) <span class="org-comment-delimiter">;; </span><span class="org-comment">optional
</span> (raw (car (<span class="org-keyword">or</span> (cdr (assoc <span class="org-string">"FILETAGS"</span> kw))
(cdr (assoc <span class="org-string">"TAGS"</span> kw))))))
(<span class="org-keyword">when</span> raw
(<span class="org-keyword">dolist</span> (tag (split-string raw <span class="org-string">":"</span> t))
(<span class="org-keyword">push</span> (list f title date) (gethash tag idx))))))))
idx))
(<span class="org-keyword">defun</span> <span class="org-function-name">z/write-tag-pages</span> ()
<span class="org-doc">"Generate tags/*.org pages listing posts for each tag."</span>
(<span class="org-keyword">let*</span> ((site-root (expand-file-name <span class="org-string">"~/master-folder/org_files/org_web/"</span>))
(tags-dir (expand-file-name <span class="org-string">"tags"</span> site-root)))
(<span class="org-keyword">unless</span> (file-directory-p tags-dir)
(make-directory tags-dir t))
(<span class="org-keyword">let</span> ((idx (z/gather-tag-index)))
(maphash
(<span class="org-keyword">lambda</span> (tag items)
(<span class="org-keyword">let*</span> ((slug (z/tag-slug tag))
(outfile (expand-file-name (format <span class="org-string">"%s.org"</span> slug) tags-dir)))
(<span class="org-keyword">with-temp-file</span> outfile
(insert (format <span class="org-string">"#+TITLE: Tag: %s\n#+OPTIONS: toc:nil num:nil title:nil \n\n* Posts tagged %s\n"</span>
tag tag))
<span class="org-comment-delimiter">;; </span><span class="org-comment">sort newest first if DATE present
</span> (<span class="org-keyword">setq</span> items (sort items (<span class="org-keyword">lambda</span> (a b) (string&gt; (nth 2 a) (nth 2 b)))))
(<span class="org-keyword">dolist</span> (it items)
(<span class="org-keyword">let*</span> ((file (nth 0 it))
(title (nth 1 it))
(rel (file-relative-name file tags-dir)))
<span class="org-comment-delimiter">;; </span><span class="org-comment">link to the source .org; org-publish will rewrite to the .html
</span> (insert (format <span class="org-string">"- [[file:%s][%s]]\n"</span> rel title)))))))
idx)
)))
<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-notes"</span>
`((<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
@@ -381,17 +312,27 @@ Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &
<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> <span class="org-string">"
&lt;link rel=\"stylesheet\" type=\"text/css\" href=\"https://gongzhitaao.org/orgcss/org.css\" /&gt;
&lt;link rel=\"stylesheet\" href=\"style.css\" /&gt;
&lt;script src=\"script.js\" defer&gt;&lt;/script&gt;
"</span>
)
<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>
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output"</span>
<span class="org-builtin">:base-extension</span> <span class="org-string">"org"</span>
<span class="org-builtin">:auto-sitemap</span> t
<span class="org-builtin">:sitemap-filename</span> <span class="org-string">"categories.org"</span>
<span class="org-builtin">:sitemap-title</span> <span class="org-string">"Categories"</span>
<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-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">:base-extension</span> <span class="org-string">"org"</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>
@@ -408,15 +349,9 @@ Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &
<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> <span class="org-string">"
&lt;link rel=\"stylesheet\" type=\"text/css\" href=\"https://gongzhitaao.org/orgcss/org.css\" /&gt;
&lt;link rel=\"stylesheet\" href=\"../style.css\" /&gt;
&lt;script src=\"../script.js\" defer&gt;&lt;/script&gt;
"</span>
)
<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">:base-extension</span> <span class="org-string">"org"</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>
@@ -424,8 +359,6 @@ Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &
<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
<span class="org-builtin">:with-toc</span> t
<span class="org-builtin">:section-numbers</span> t
<span class="org-builtin">:html-preamble</span> ,z-preamble
<span class="org-builtin">:html-postamble</span> ,z-postamble
<span class="org-builtin">:auto-sitemap</span> t
@@ -433,46 +366,45 @@ Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &
<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> <span class="org-string">"
&lt;link rel=\"stylesheet\" type=\"text/css\" href=\"https://gongzhitaao.org/orgcss/org.css\" /&gt;
&lt;link rel=\"stylesheet\" href=\"../style.css\" /&gt;
&lt;script src=\"../script.js\" defer&gt;&lt;/script&gt;
"</span>
)
<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>
<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">:with-author</span> nil
<span class="org-builtin">:with-creator</span> nil
<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-string">"org-assets"</span>
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/assets/"</span>
<span class="org-builtin">:base-extension</span> <span class="org-string">"css</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">js</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">png</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">jpg</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">gif</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">svg</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">pdf</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">woff</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">woff2</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">ttf"</span>
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output/assets/"</span>
<span class="org-builtin">:recursive</span> t
<span class="org-builtin">:publishing-function</span> org-publish-attachment)
(<span class="org-string">"org-static"</span>
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/"</span>
<span class="org-builtin">:base-extension</span> <span class="org-string">"css</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">js"</span>
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output"</span>
<span class="org-builtin">:recursive</span> t
<span class="org-builtin">:publishing-function</span> org-publish-attachment)
))
(<span class="org-string">"website"</span>
<span class="org-builtin">:components</span> (<span class="org-string">"org-notes"</span> <span class="org-string">"org-assets"</span> <span class="org-string">"org-posts"</span> <span class="org-string">"org-blogs"</span> <span class="org-string">"org-static"</span>))))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Delete the output before generating the new one
</span>(delete-directory <span class="org-string">"~/master-folder/org_files/org_web/output/"</span> t)
(delete-directory <span class="org-string">"~/master-folder/org_files/org_web/output/"</span> t)
(delete-directory <span class="org-string">"~/master-folder/org_files/org_web/tags/"</span> t)
(message <span class="org-string">"Directory deleted"</span>)
<span class="org-comment-delimiter">;; </span><span class="org-comment">Generate the site output
</span>(org-publish-all t)
</span>(z/write-tag-pages)
(org-publish-all t)
(message <span class="org-string">"Build complete!"</span>)
<span class="org-comment-delimiter">;;; </span><span class="org-comment">build-site.el ends here
</span>
</pre>
</div>
</div>
</div>
<div id="outline-container-org9d45ee3" class="outline-2">
<h2 id="org9d45ee3">Publish Script</h2>
<div class="outline-text-2" id="text-org9d45ee3">
<div id="outline-container-org36c15bb" class="outline-2">
<h2 id="org36c15bb">Publish Script</h2>
<div class="outline-text-2" id="text-org36c15bb">
<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>

65
output/sitemap.html Normal file
View File

@@ -0,0 +1,65 @@
<?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-08 Fri 18:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Sitemap</title>
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:26</div>
</div>
<div id="content" class="content">
<h1 class="title">Sitemap</h1>
<ul class="org-ul">
<li><a href="index.html">Home Page</a></li>
<li><a href="posts.html">Posts</a></li>
<li><a href="contact.html">Contact</a></li>
<li><a href="about.html">About Me</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>
</ul></li>
<li>blogs
<ul class="org-ul">
<li><a href="blogs/blogs-intro.html">Blogs Introduction</a></li>
<li><a href="blogs/blogs-list.html">Blogs List</a></li>
</ul></li>
<li>tags
<ul class="org-ul">
<li><a href="tags/education.html">Tag: education</a></li>
<li><a href="tags/introduction.html">Tag: introduction</a></li>
</ul></li>
</ul>
</div>
<div id="postamble" class="status">
<footer>
<div class="copyright-container">
<div class="copyright">
Copyright &copy; 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>

View File

@@ -0,0 +1,49 @@
<?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-08 Fri 18:26 -->
<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>
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:26</div>
</div>
<div id="content" class="content">
<div id="outline-container-org9803f4a" class="outline-2">
<h2 id="org9803f4a">Posts tagged education</h2>
<div class="outline-text-2" id="text-org9803f4a">
<ul class="org-ul">
<li><a href="../blogs/2025/08/zettelkasten.html">Zettelkasten Method</a></li>
</ul>
</div>
</div>
</div>
<div id="postamble" class="status">
<footer>
<div class="copyright-container">
<div class="copyright">
Copyright &copy; 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>

View File

@@ -0,0 +1,50 @@
<?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-08 Fri 18:26 -->
<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>
<meta name="generator" content="Org Mode" />
<link rel="stylesheet" href="https://gongzhitaao.org/orgcss/org.css" /> <link rel="stylesheet" href="/assets/style.css" /> <script src="/assets/script.js" defer></script>
</head>
<body>
<div id="preamble" class="status">
<div class="banner-header">
<a href="/"> <img src="/assets/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>
</div>
<div id="updated">Updated: 2025-08-08 Fri 18:26</div>
</div>
<div id="content" class="content">
<div id="outline-container-org5426831" class="outline-2">
<h2 id="org5426831">Posts tagged introduction</h2>
<div class="outline-text-2" id="text-org5426831">
<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>
</ul>
</div>
</div>
</div>
<div id="postamble" class="status">
<footer>
<div class="copyright-container">
<div class="copyright">
Copyright &copy; 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>