Auto-publish on Thu 7 Aug 22:36:47 BST 2025

This commit is contained in:
2025-08-07 22:36:47 +01:00
parent 4cfadcb225
commit 3443e98d1f
17 changed files with 2584 additions and 464 deletions

View File

@@ -7,18 +7,204 @@
<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" 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/post-lists.html">Posts | </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 19:16</div>
<div id="updated">Updated: 2025-08-07 Thu 17:59</div>
</div>
<div id="content" class="content">
<h1 class="title">About Me</h1>
@@ -26,30 +212,30 @@
<h2>Table of Contents</h2>
<div id="text-table-of-contents" role="doc-toc">
<ul>
<li><a href="#org547a59a">About Me 👋</a></li>
<li><a href="#orgbb03d54">Interests</a></li>
<li><a href="#org4dd0252">Interests</a></li>
<li><a href="#org1bc8b5e">Interests</a></li>
<li><a href="#org43564dd">Interests</a></li>
<li><a href="#org810565b">Interests</a></li>
<li><a href="#org5853062">Interests</a></li>
<li><a href="#orgd08bb34">Interests</a></li>
<li><a href="#org6e951fd">Interests</a></li>
<li><a href="#orge7a441d">Interests</a></li>
<li><a href="#org3ec0d91">Interests</a></li>
<li><a href="#org69c0add">Interests</a></li>
<li><a href="#org7efdfb1">Interests</a></li>
<li><a href="#org969143e">Interests</a></li>
<li><a href="#org12ef0d4">Interests</a></li>
<li><a href="#orgb07db2e">Interests</a></li>
<li><a href="#org1231f1d">Interests</a></li>
<li><a href="#orgeb6f55b">Back to Home</a></li>
<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>
</ul>
</div>
</div>
<div id="outline-container-org547a59a" class="outline-2">
<h2 id="org547a59a">About Me 👋</h2>
<div class="outline-text-2" id="text-org547a59a">
<div id="outline-container-org525e49c" class="outline-2">
<h2 id="org525e49c">About Me 👋</h2>
<div class="outline-text-2" id="text-org525e49c">
<p>
I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudflare Pages</b>.
</p>
@@ -59,9 +245,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-orgbb03d54" class="outline-2">
<h2 id="orgbb03d54">Interests</h2>
<div class="outline-text-2" id="text-orgbb03d54">
<div id="outline-container-org7d53523" class="outline-2">
<h2 id="org7d53523">Interests</h2>
<div class="outline-text-2" id="text-org7d53523">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -70,9 +256,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-org4dd0252" class="outline-2">
<h2 id="org4dd0252">Interests</h2>
<div class="outline-text-2" id="text-org4dd0252">
<div id="outline-container-orgab15c03" class="outline-2">
<h2 id="orgab15c03">Interests</h2>
<div class="outline-text-2" id="text-orgab15c03">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -81,9 +267,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-org1bc8b5e" class="outline-2">
<h2 id="org1bc8b5e">Interests</h2>
<div class="outline-text-2" id="text-org1bc8b5e">
<div id="outline-container-orge37696f" class="outline-2">
<h2 id="orge37696f">Interests</h2>
<div class="outline-text-2" id="text-orge37696f">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -92,9 +278,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-org43564dd" class="outline-2">
<h2 id="org43564dd">Interests</h2>
<div class="outline-text-2" id="text-org43564dd">
<div id="outline-container-orgddefd1b" class="outline-2">
<h2 id="orgddefd1b">Interests</h2>
<div class="outline-text-2" id="text-orgddefd1b">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -103,9 +289,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-org810565b" class="outline-2">
<h2 id="org810565b">Interests</h2>
<div class="outline-text-2" id="text-org810565b">
<div id="outline-container-orgcaa4248" class="outline-2">
<h2 id="orgcaa4248">Interests</h2>
<div class="outline-text-2" id="text-orgcaa4248">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -114,9 +300,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-org5853062" class="outline-2">
<h2 id="org5853062">Interests</h2>
<div class="outline-text-2" id="text-org5853062">
<div id="outline-container-org07cbfea" class="outline-2">
<h2 id="org07cbfea">Interests</h2>
<div class="outline-text-2" id="text-org07cbfea">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -125,9 +311,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-orgd08bb34" class="outline-2">
<h2 id="orgd08bb34">Interests</h2>
<div class="outline-text-2" id="text-orgd08bb34">
<div id="outline-container-org6190cfd" class="outline-2">
<h2 id="org6190cfd">Interests</h2>
<div class="outline-text-2" id="text-org6190cfd">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -136,9 +322,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-org6e951fd" class="outline-2">
<h2 id="org6e951fd">Interests</h2>
<div class="outline-text-2" id="text-org6e951fd">
<div id="outline-container-org166e504" class="outline-2">
<h2 id="org166e504">Interests</h2>
<div class="outline-text-2" id="text-org166e504">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -147,9 +333,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-orge7a441d" class="outline-2">
<h2 id="orge7a441d">Interests</h2>
<div class="outline-text-2" id="text-orge7a441d">
<div id="outline-container-org876620e" class="outline-2">
<h2 id="org876620e">Interests</h2>
<div class="outline-text-2" id="text-org876620e">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -158,9 +344,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-org3ec0d91" class="outline-2">
<h2 id="org3ec0d91">Interests</h2>
<div class="outline-text-2" id="text-org3ec0d91">
<div id="outline-container-org51ecc87" class="outline-2">
<h2 id="org51ecc87">Interests</h2>
<div class="outline-text-2" id="text-org51ecc87">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -169,9 +355,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-org69c0add" class="outline-2">
<h2 id="org69c0add">Interests</h2>
<div class="outline-text-2" id="text-org69c0add">
<div id="outline-container-orga439f32" class="outline-2">
<h2 id="orga439f32">Interests</h2>
<div class="outline-text-2" id="text-orga439f32">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -180,9 +366,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-org7efdfb1" class="outline-2">
<h2 id="org7efdfb1">Interests</h2>
<div class="outline-text-2" id="text-org7efdfb1">
<div id="outline-container-org144f20d" class="outline-2">
<h2 id="org144f20d">Interests</h2>
<div class="outline-text-2" id="text-org144f20d">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -191,9 +377,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-org969143e" class="outline-2">
<h2 id="org969143e">Interests</h2>
<div class="outline-text-2" id="text-org969143e">
<div id="outline-container-orgdba5bb2" class="outline-2">
<h2 id="orgdba5bb2">Interests</h2>
<div class="outline-text-2" id="text-orgdba5bb2">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -202,9 +388,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-org12ef0d4" class="outline-2">
<h2 id="org12ef0d4">Interests</h2>
<div class="outline-text-2" id="text-org12ef0d4">
<div id="outline-container-org9dc7bfb" class="outline-2">
<h2 id="org9dc7bfb">Interests</h2>
<div class="outline-text-2" id="text-org9dc7bfb">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -213,9 +399,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-orgb07db2e" class="outline-2">
<h2 id="orgb07db2e">Interests</h2>
<div class="outline-text-2" id="text-orgb07db2e">
<div id="outline-container-org624d410" class="outline-2">
<h2 id="org624d410">Interests</h2>
<div class="outline-text-2" id="text-org624d410">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -224,9 +410,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-org1231f1d" class="outline-2">
<h2 id="org1231f1d">Interests</h2>
<div class="outline-text-2" id="text-org1231f1d">
<div id="outline-container-org2f37793" class="outline-2">
<h2 id="org2f37793">Interests</h2>
<div class="outline-text-2" id="text-org2f37793">
<ul class="org-ul">
<li>Linux</li>
<li>Open source</li>
@@ -235,8 +421,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-orgeb6f55b" class="outline-2">
<h2 id="orgeb6f55b">Back to <a href="index.html">Home</a></h2>
<div id="outline-container-orgdd3fc0a" class="outline-2">
<h2 id="orgdd3fc0a">Back to <a href="index.html">Home</a></h2>
</div>
</div>
<div id="postamble" class="status">
@@ -245,7 +431,7 @@ I'm building a personal site using <b>Emacs</b>, <b>Org-mode</b>, and <b>Cloudfl
<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.debian.org/">Debian</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
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>

View File

@@ -0,0 +1,232 @@
<?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>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>
</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>
<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">
<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>
</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,233 @@
<?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>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>
</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>
<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">
<ul class="org-ul">
<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>
</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,256 @@
<?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>

View File

@@ -7,24 +7,210 @@
<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" 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/post-lists.html">Posts | </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 20:58</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-org38d82f8" class="outline-2">
<h2 id="org38d82f8">Contact Using the Following:</h2>
<div class="outline-text-2" id="text-org38d82f8">
<div id="outline-container-org0023c95" class="outline-2">
<h2 id="org0023c95">Contact Using the Following:</h2>
<div class="outline-text-2" id="text-org0023c95">
<p>
&gt; LinkedIn: <b><a href="https://www.linkedin.com/in/zaine-ul-abideen-qayyum-801a53247/">LinkedIn</a></b>
</p>
@@ -55,7 +241,7 @@ Thanks for visiting!
<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.debian.org/">Debian</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
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>

View File

@@ -7,24 +7,210 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Zaine Qayyum</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" 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/post-lists.html">Posts | </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 22:50</div>
<div id="updated">Updated: 2025-08-07 Thu 22:32</div>
</div>
<div id="content" class="content">
<h1 class="title">Zaine Qayyum</h1>
<div id="outline-container-org56334fe" class="outline-2">
<h2 id="org56334fe">Welcome! 🌱</h2>
<div class="outline-text-2" id="text-org56334fe">
<div id="outline-container-org3f485ab" class="outline-2">
<h2 id="org3f485ab">Welcome! 🌱</h2>
<div class="outline-text-2" id="text-org3f485ab">
<p>
This is a website built using Emacs Org-mode and published using <code>org-publish</code>.
</p>
@@ -35,13 +221,15 @@ Feel free to explore:
<ul class="org-ul">
<li><a href="about.html">About Page</a></li>
<li><a href="posts/post-lists.html">Posts Page</a></li>
<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>
</ul>
</div>
</div>
<div id="outline-container-org2c4e688" class="outline-2">
<h2 id="org2c4e688">How to publish web pages using <code>org-publish</code></h2>
<div class="outline-text-2" id="text-org2c4e688">
<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">
<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>
@@ -61,27 +249,27 @@ The first thing we will want to do is edit our <code>init.el</code> file, which
<div class="org-src-container">
<pre class="src src-emacs-lisp">
(<span style="font-weight: bold;">setq</span> org-publish-project-alist
'((<span style="font-style: italic;">"org-notes"</span>
<span style="font-weight: bold;">:base-directory</span> <span style="font-style: italic;">"~/web"</span>
<span style="font-weight: bold;">:base-extension</span> <span style="font-style: italic;">"org"</span>
<span style="font-weight: bold;">:publishing-directory</span> <span style="font-style: italic;">"~/web"</span>
<span style="font-weight: bold;">:recursive</span> t
<span style="font-weight: bold;">:publishing-function</span> org-html-publish-to-html
<span style="font-weight: bold;">:with-author</span> nil
<span style="font-weight: bold;">:with-creator</span> nil
<span style="font-weight: bold;">:html-validation-link</span> nil
<span style="font-weight: bold;">:with-toc</span> t
<span style="font-weight: bold;">:section-numbers</span> t
<span style="font-weight: bold;">:html-head</span> <span style="font-style: italic;">"&lt;link rel=\"stylesheet\" href=\"style.css\" /&gt;"</span>
(<span class="org-keyword">setq</span> org-publish-project-alist
'((<span class="org-string">"org-notes"</span>
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/web"</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">"~/web"</span>
<span class="org-builtin">:recursive</span> t
<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-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-head</span> <span class="org-string">"&lt;link rel=\"stylesheet\" href=\"style.css\" /&gt;"</span>
)
(<span style="font-style: italic;">"org-static"</span>
<span style="font-weight: bold;">:base-directory</span> <span style="font-style: italic;">"~/web"</span>
<span style="font-weight: bold;">:base-extension</span> <span style="font-style: italic;">"css</span><span style="font-weight: bold; font-style: italic;">\\</span><span style="font-weight: bold; font-style: italic;">|</span><span style="font-style: italic;">js</span><span style="font-weight: bold; font-style: italic;">\\</span><span style="font-weight: bold; font-style: italic;">|</span><span style="font-style: italic;">png</span><span style="font-weight: bold; font-style: italic;">\\</span><span style="font-weight: bold; font-style: italic;">|</span><span style="font-style: italic;">jpg</span><span style="font-weight: bold; font-style: italic;">\\</span><span style="font-weight: bold; font-style: italic;">|</span><span style="font-style: italic;">gif"</span>
<span style="font-weight: bold;">:publishing-directory</span> <span style="font-style: italic;">"~/web/output"</span>
<span style="font-weight: bold;">:recursive</span> t
<span style="font-weight: bold;">:publishing-function</span> org-publish-attachment)
(<span style="font-style: italic;">"website"</span> <span style="font-weight: bold;">:components</span> (<span style="font-style: italic;">"org-notes"</span> <span style="font-style: italic;">"org-static"</span>))))
(<span class="org-string">"org-static"</span>
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/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-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-builtin">:publishing-directory</span> <span class="org-string">"~/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-static"</span>))))
</pre>
</div>
@@ -94,7 +282,7 @@ What this snippet of code is doing is it is telling <code>org-publish</code> wha
<pre class="src src-emacs-lisp">
#+TITLE: Website Name
#+OPTIONS: toc:nil num:nil
#+HTML_HEAD: &lt;link rel=<span style="font-style: italic;">"stylesheet"</span> href=<span style="font-style: italic;">"style.css"</span>&gt;
#+HTML_HEAD: &lt;link rel=<span class="org-string">"stylesheet"</span> href=<span class="org-string">"style.css"</span>&gt;
* Welcome!
@@ -121,7 +309,7 @@ This will generate a html file inside the <code>~/web/output/</code> directory,
<div class="org-src-container">
<pre class="src src-bash">
<span style="font-weight: bold;">cd</span> ~/web/output
<span class="org-builtin">cd</span> ~/web/output
python3 -m http.server 8000
</pre>
@@ -132,9 +320,9 @@ And there we go! The files are now being hosted on <code>http://localhost:8000/<
</p>
</div>
</div>
<div id="outline-container-orgd69ff2a" class="outline-2">
<h2 id="orgd69ff2a">Contact</h2>
<div class="outline-text-2" id="text-orgd69ff2a">
<div id="outline-container-orgf1acb9e" class="outline-2">
<h2 id="orgf1acb9e">Contact</h2>
<div class="outline-text-2" id="text-orgf1acb9e">
<p>
Feel free to reach out on GitHub: <a href="https://github.com/zainezq">https://github.com/zainezq</a>
</p>
@@ -147,7 +335,7 @@ Feel free to reach out on GitHub: <a href="https://github.com/zainezq">https://g
<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.debian.org/">Debian</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
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>

View File

@@ -1,21 +0,0 @@
// COPY BUTTON:
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("pre.src").forEach(function (block) {
const button = document.createElement("button");
button.innerText = "Copy";
button.className = "copy-btn";
// Append button inside <pre>
block.appendChild(button);
button.addEventListener("click", function () {
const text = block.innerText.replace(button.innerText, ""); // exclude button text
navigator.clipboard.writeText(text.trim()).then(() => {
button.innerText = "Copied!";
setTimeout(() => (button.innerText = "Copy"), 1500);
});
});
});
});

View File

@@ -1,97 +0,0 @@
:root {
--bg: #ffffff;
--fg: #000000;
--link: #1a0dab;
--heading: #004c99;
--code-bg: #f0f0f0;
}
body {
background-color: var(--bg);
color: var(--fg);
transition: background-color 0.3s, color 0.3s;
}
/* Headings (override org.css if needed) */
h1, h2, h3 {
color: var(--heading);
}
/* Links */
a {
color: var(--link);
}
a:hover {
text-decoration: underline;
}
/* Copy button inside code blocks */
.copy-btn {
position: absolute;
top: 0.4em;
right: 0.4em;
background-color: var(--code-bg);
color: var(--heading);
border: 1px solid var(--heading);
border-radius: 4px;
padding: 0.2em 0.6em;
font-size: 0.8rem;
cursor: pointer;
z-index: 10;
transition: background-color 0.3s;
}
.copy-btn:hover {
background-color: var(--heading);
color: var(--code-bg);
}
/* Nav styling */
nav {
border-radius: 6px;
margin-bottom: 1rem;
font-weight: 600;
font-size: 1.1rem;
}
nav a {
color: var(--link);
text-decoration: none;
font-weight: 600;
}
nav a:hover {
text-decoration: underline;
}
/* Footer styling */
footer {
color: var(--fg);
padding: 1rem;
margin-top: 2rem;
border-radius: 6px;
text-align: center;
font-size: 0.9rem;
font-style: italic;
}
#updated {
font-size: 0.8rem;
color: var(--fg);
margin-bottom: 1rem;
font-style: italic;
}
pre.src::before {
content: none !important;
}
/* Container: <pre> */
pre.src {
padding: 1.5em 1em 1em 1em; /* top padding leaves space for button */
font-family: "Fira Mono", "Courier New", monospace;
font-size: 0.9rem;
line-height: 1.4;
overflow-x: auto;
white-space: pre-wrap; /* wrap long lines */
}

View File

@@ -1,21 +0,0 @@
// COPY BUTTON:
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("pre.src").forEach(function (block) {
const button = document.createElement("button");
button.innerText = "Copy";
button.className = "copy-btn";
// Append button inside <pre>
block.appendChild(button);
button.addEventListener("click", function () {
const text = block.innerText.replace(button.innerText, ""); // exclude button text
navigator.clipboard.writeText(text.trim()).then(() => {
button.innerText = "Copied!";
setTimeout(() => (button.innerText = "Copy"), 1500);
});
});
});
});

View File

@@ -1,97 +0,0 @@
:root {
--bg: #ffffff;
--fg: #000000;
--link: #1a0dab;
--heading: #004c99;
--code-bg: #f0f0f0;
}
body {
background-color: var(--bg);
color: var(--fg);
transition: background-color 0.3s, color 0.3s;
}
/* Headings (override org.css if needed) */
h1, h2, h3 {
color: var(--heading);
}
/* Links */
a {
color: var(--link);
}
a:hover {
text-decoration: underline;
}
/* Copy button inside code blocks */
.copy-btn {
position: absolute;
top: 0.4em;
right: 0.4em;
background-color: var(--code-bg);
color: var(--heading);
border: 1px solid var(--heading);
border-radius: 4px;
padding: 0.2em 0.6em;
font-size: 0.8rem;
cursor: pointer;
z-index: 10;
transition: background-color 0.3s;
}
.copy-btn:hover {
background-color: var(--heading);
color: var(--code-bg);
}
/* Nav styling */
nav {
border-radius: 6px;
margin-bottom: 1rem;
font-weight: 600;
font-size: 1.1rem;
}
nav a {
color: var(--link);
text-decoration: none;
font-weight: 600;
}
nav a:hover {
text-decoration: underline;
}
/* Footer styling */
footer {
color: var(--fg);
padding: 1rem;
margin-top: 2rem;
border-radius: 6px;
text-align: center;
font-size: 0.9rem;
font-style: italic;
}
#updated {
font-size: 0.8rem;
color: var(--fg);
margin-bottom: 1rem;
font-style: italic;
}
pre.src::before {
content: none !important;
}
/* Container: <pre> */
pre.src {
padding: 1.5em 1em 1em 1em; /* top padding leaves space for button */
font-family: "Fira Mono", "Courier New", monospace;
font-size: 0.9rem;
line-height: 1.4;
overflow-x: auto;
white-space: pre-wrap; /* wrap long lines */
}

View File

@@ -7,6 +7,190 @@
<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">
@@ -15,25 +199,26 @@
<div id="preamble" class="status">
<nav>
<a href="/">Home | </a>
<a href="/posts/post-lists.html">Posts | </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>
<div id="content" class="content">
<h1 class="title">Posts</h1>
<div id="outline-container-org14edd79" class="outline-2">
<h2 id="org14edd79">Links</h2>
<div class="outline-text-2" id="text-org14edd79">
<div id="outline-container-org5de7eb9" class="outline-2">
<h2 id="org5de7eb9">Links</h2>
<div class="outline-text-2" id="text-org5de7eb9">
</div>
<div id="outline-container-org992fddd" class="outline-4">
<h4 id="org992fddd"><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-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>
<div id="outline-container-org256af69" class="outline-4">
<h4 id="org256af69"><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-org256af69">
<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">
<p>
<span class="timestamp-wrapper"><span class="timestamp">&lt;2025-08-06 Wed&gt;</span></span>
</p>
@@ -47,7 +232,7 @@
<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.debian.org/">Debian</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
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>

View File

@@ -1,41 +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-06 Wed 22:52 -->
<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" />
<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/post-lists.html">Posts | </a>
<a href="/contact.html">Contact</a>
</nav>
<div id="updated">Updated: 2025-08-06 Wed 22:52</div>
</div>
<div id="content" class="content">
<h1 class="title">Posts List</h1>
<ul class="org-ul">
<li><a href="posts-intro.html">Posts Introduction</a></li>
<li><a href="zettelkasten.html">Zettelkasten Method</a></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.debian.org/">Debian</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,31 +3,217 @@
"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-06 Wed 22:52 -->
<!-- 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>Posts Introduction</title>
<meta name="generator" content="Org Mode" />
<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">
<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/post-lists.html">Posts | </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:11</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-orga620f09" class="outline-2">
<h2 id="orga620f09">Introduction</h2>
<div class="outline-text-2" id="text-orga620f09">
<div id="outline-container-org43bfd69" class="outline-2">
<h2 id="org43bfd69">Introduction</h2>
<div class="outline-text-2" id="text-org43bfd69">
<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 learnt.
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>
<p>
@@ -61,10 +247,6 @@ I think the magic comes when you need to put words to things. It is quite easy t
<p>
The final line <i>Putting things in words exposes that vagueness</i> is profound in the context of learning. In the pursuit of any academic discipline, we're often confronted with vagueness. Yet, its often through explaining a concept to someone else, using your own words, analogies, and diagrams, that one ends up <i>actually</i> understanding it.
</p>
<p>
<span class="timestamp-wrapper"><span class="timestamp">&lt;2025-08-06 Wed&gt;</span></span>
</p>
</div>
</div>
</div>
@@ -74,7 +256,7 @@ The final line <i>Putting things in words exposes that vagueness</i> is profound
<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.debian.org/">Debian</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
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>

View File

@@ -0,0 +1,232 @@
<?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>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>
</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>
<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">
<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>
</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

@@ -1,41 +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-06 Wed 22:52 -->
<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" />
<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/post-lists.html">Posts | </a>
<a href="/contact.html">Contact</a>
</nav>
<div id="updated">Updated: 2025-08-06 Wed 21:10</div>
</div>
<div id="content" class="content">
<h1 class="title">Zettelkasten Method</h1>
<p>
Testing
</p>
</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.debian.org/">Debian</a> <a href="https://www.gnu.org">GNU</a>/<a href="https://www.kernel.org/">Linux</a>
</div>
</footer>
</div>
</body>
</html>

530
output/setup.html Normal file
View File

@@ -0,0 +1,530 @@
<?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>
<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>
</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>
<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">
<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>
<div class="org-src-container">
<pre class="src src-bash">emacs -Q --script build-site.el
</pre>
</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">
<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.
</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>
<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>
<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>
<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>
<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">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-comment-delimiter">;; </span><span class="org-comment">Initialize the package system
</span>(package-initialize)
(<span class="org-keyword">unless</span> package-archive-contents
(package-refresh-contents))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Install dependencies
</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 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-keyword">defvar</span> <span class="org-variable-name">z-postamble</span>
<span class="org-string">"&lt;footer&gt;
&lt;div class=\"copyright-container\"&gt;
&lt;div class=\"copyright\"&gt;
Copyright &amp;copy; 2022-2025 Zaine Qayyum. All rights reserved unless otherwise noted.&lt;/div&gt;&lt;/div&gt;
&lt;div class=\"generated\"&gt;
Created with %c on &lt;a href=\"https://www.archlinux.org/\"&gt;Arch&lt;/a&gt; &lt;a href=\"https://www.gnu.org\"&gt;GNU&lt;/a&gt;/&lt;a href=\"https://www.kernel.org/\"&gt;Linux&lt;/a&gt;
&lt;/div&gt;
&lt;/footer&gt;"</span>)
(<span class="org-keyword">defun</span> <span class="org-function-name">z/posts-sitemap</span> (title list)
<span class="org-doc">"sitemap that lists post links as bullet points with dates and tags."</span>
(concat
<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>
(mapconcat
(<span class="org-keyword">lambda</span> (entry)
(<span class="org-keyword">let*</span> ((link (car entry))
<span class="org-comment-delimiter">;; </span><span class="org-comment">extract relative file name from the link
</span> (filename (<span class="org-keyword">if</span> (string-match <span class="org-string">"\\[\\[file:</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">(</span></span><span class="org-string">[</span><span class="org-string"><span class="org-negation-char">^</span></span><span class="org-string">]]+</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">)</span></span><span class="org-string">\\]"</span> link)
(match-string 1 link)
link))
(full-path (expand-file-name filename <span class="org-string">"~/master-folder/org_files/org_web/posts/"</span>))
(date-str <span class="org-string">"no date"</span>)
(tags-str <span class="org-string">""</span>))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get publish date
</span> (<span class="org-keyword">let</span> ((date (org-publish-find-date full-path org-publish-project-alist)))
(<span class="org-keyword">when</span> date
(<span class="org-keyword">setq</span> date-str (format-time-string <span class="org-string">"%Y-%m-%d"</span> date))))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get FILETAGS from file buffer
</span> (<span class="org-keyword">when</span> (file-exists-p full-path)
(<span class="org-keyword">with-temp-buffer</span>
(insert-file-contents full-path)
(org-mode)
(<span class="org-keyword">let*</span> ((tags (cadr (assoc <span class="org-string">"FILETAGS"</span> (org-collect-keywords '(<span class="org-string">"FILETAGS"</span>))))))
(<span class="org-keyword">when</span> tags
(<span class="org-keyword">setq</span> tags-str (mapconcat (<span class="org-keyword">lambda</span> (tag)
(format <span class="org-string">"@@html:&lt;span class=\"post-tag\"&gt;%s&lt;/span&gt;@@"</span> tag))
(split-string tags <span class="org-string">":"</span> t) <span class="org-comment-delimiter">;; </span><span class="org-comment">&lt;- Splits by ":" and removes empty strings
</span> <span class="org-string">" "</span>))))))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Final line output
</span> (format <span class="org-string">"- %s @@html:&lt;span class=\"post-date\"&gt;%s&lt;/span&gt;@@ %s"</span> link date-str tags-str)))
(cdr list)
<span class="org-string">"\n"</span>)))
(<span class="org-keyword">defun</span> <span class="org-function-name">z/blogs-sitemap</span> (title list)
<span class="org-doc">"sitemap that lists blog links as bullet points with dates and tags."</span>
(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>
(mapconcat
(<span class="org-keyword">lambda</span> (entry)
(<span class="org-keyword">let*</span> ((link (car entry))
<span class="org-comment-delimiter">;; </span><span class="org-comment">extract relative file name from the link
</span> (filename (<span class="org-keyword">if</span> (string-match <span class="org-string">"\\[\\[file:</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">(</span></span><span class="org-string">[</span><span class="org-string"><span class="org-negation-char">^</span></span><span class="org-string">]]+</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">)</span></span><span class="org-string">\\]"</span> link)
(match-string 1 link)
link))
(full-path (expand-file-name filename <span class="org-string">"~/master-folder/org_files/org_web/blogs/"</span>))
(date-str <span class="org-string">"no date"</span>)
(tags-str <span class="org-string">""</span>))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get publish date
</span> (<span class="org-keyword">let</span> ((date (org-publish-find-date full-path org-publish-project-alist)))
(<span class="org-keyword">when</span> date
(<span class="org-keyword">setq</span> date-str (format-time-string <span class="org-string">"%Y-%m-%d"</span> date))))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get FILETAGS from file buffer
</span> (<span class="org-keyword">when</span> (file-exists-p full-path)
(<span class="org-keyword">with-temp-buffer</span>
(insert-file-contents full-path)
(org-mode)
(<span class="org-keyword">let*</span> ((tags (cadr (assoc <span class="org-string">"FILETAGS"</span> (org-collect-keywords '(<span class="org-string">"FILETAGS"</span>))))))
(<span class="org-keyword">when</span> tags
(<span class="org-keyword">setq</span> tags-str (mapconcat (<span class="org-keyword">lambda</span> (tag)
(format <span class="org-string">"@@html:&lt;span class=\"post-tag\"&gt;%s&lt;/span&gt;@@"</span> tag))
(split-string tags <span class="org-string">":"</span> t) <span class="org-comment-delimiter">;; </span><span class="org-comment">&lt;- Splits by ":" and removes empty strings
</span> <span class="org-string">" "</span>))))))
<span class="org-comment-delimiter">;; </span><span class="org-comment">Final line output
</span> (format <span class="org-string">"- %s @@html:&lt;span class=\"post-date\"&gt;%s&lt;/span&gt;@@ %s"</span> link date-str tags-str)))
(cdr list)
<span class="org-string">"\n"</span>)))
<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-builtin">:recursive</span> t
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/"</span>
<span class="org-builtin">:publishing-function</span> org-html-publish-to-html
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/master-folder/org_files/org_web/output"</span>
<span class="org-builtin">:with-author</span> nil
<span class="org-builtin">:with-creator</span> t
<span class="org-builtin">:with-toc</span> t
<span class="org-builtin">:base-extension</span> <span class="org-string">"org"</span>
<span class="org-builtin">:section-numbers</span> nil
<span class="org-builtin">:time-stamp-file</span> nil
<span class="org-builtin">: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-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>
<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-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
<span class="org-builtin">:sitemap-filename</span> <span class="org-string">"posts-list.org"</span>
<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-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>
<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-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
<span class="org-builtin">:sitemap-filename</span> <span class="org-string">"blogs-list.org"</span>
<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-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)
(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)
(message <span class="org-string">"Build complete!"</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">
<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>
<div class="org-src-container">
<pre class="src src-bash">
<span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/bash
</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Exit immediately if any command fails
</span><span class="org-builtin">set</span> -e
<span class="org-comment-delimiter"># </span><span class="org-comment">Define paths
</span><span class="org-variable-name">ORG_PROJECT_NAME</span>=<span class="org-string">"website"</span>
<span class="org-variable-name">ORG_OUTPUT_DIR</span>=<span class="org-string">"$HOME/master-folder/org_files/org_web/output"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">commands used prior to having the `build-script.el`
</span><span class="org-comment-delimiter"># </span><span class="org-comment">echo "Running org-publish..."
</span><span class="org-comment-delimiter"># </span><span class="org-comment">emacs --batch \
</span><span class="org-comment-delimiter"># </span><span class="org-comment">--eval "(require 'org)" \
</span><span class="org-comment-delimiter"># </span><span class="org-comment">--eval "(require 'ox-publish)" \
</span><span class="org-comment-delimiter"># </span><span class="org-comment">--eval "(org-publish \"$ORG_PROJECT_NAME\" t)"
</span>
<span class="org-builtin">cd</span> <span class="org-string">"$ORG_OUTPUT_DIR"</span>
<span class="org-builtin">echo</span> <span class="org-string">"HTML published to: $ORG_OUTPUT_DIR"</span>
<span class="org-comment-delimiter"># </span><span class="org-comment">Git commands
</span><span class="org-builtin">echo</span> <span class="org-string">"Adding changes to Git..."</span>
git add .
<span class="org-builtin">echo</span> <span class="org-string">"Committing..."</span>
git commit -m <span class="org-string">"Auto-publish on $(date)"</span> || <span class="org-builtin">echo</span> <span class="org-string">"Nothing to commit."</span>
<span class="org-builtin">echo</span> <span class="org-string">"Pushing to GitHub..."</span>
git push origin main
<span class="org-builtin">echo</span> <span class="org-string">"Done! Changes pushed and Cloudflare should rebuild the site."</span>
</pre>
</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

@@ -95,3 +95,31 @@ pre.src {
white-space: pre-wrap; /* wrap long lines */
}
.post-date {
color: pink;
font-size: 0.9em;
margin-left: 8px;
}
.post-tag {
display: inline-block;
background-color: #f0f0f0;
color: #444;
border-radius: 5px;
padding: 2px 6px;
margin-left: 6px;
font-size: 0.8em;
float: right;
}
li::after {
content: "";
display: block;
clear: both;
}
li {
margin-bottom: 8px;
}