Contact
-Contact Using the Following:
-Contact Using the Following:
+> LinkedIn: LinkedIn
diff --git a/output/index.html b/output/index.html index c77b5e3..6ace0ed 100644 --- a/output/index.html +++ b/output/index.html @@ -15,16 +15,16 @@Zaine Qayyum
-Welcome! ๐ฑ
-Welcome! ๐ฑ
+
This is a website built using Emacs Org-mode and published using org-publish.
How to publish web pages using org-publish
-How to publish web pages using org-publish
+
This website is heavily inspired by some people who have decided to use org-publish as a way to convert org files into html. I came across a few that took the plunge and decided to migrate from platforms like Wordpress and instead opted for a more transparent, text-based workflow.
http://localhost:8000/<
Contact
-Contact
+Feel free to reach out on GitHub: https://github.com/zainezq
diff --git a/output/output/output/script.js b/output/output/output/script.js new file mode 100644 index 0000000..e55bd2d --- /dev/null +++ b/output/output/output/script.js @@ -0,0 +1,21 @@ + +// 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
+ 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);
+ });
+ });
+ });
+});
+
diff --git a/output/output/output/style.css b/output/output/output/style.css
new file mode 100644
index 0000000..f49d1bd
--- /dev/null
+++ b/output/output/output/style.css
@@ -0,0 +1,97 @@
+: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.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 */
+
+}
diff --git a/output/output/script.js b/output/output/script.js
new file mode 100644
index 0000000..e55bd2d
--- /dev/null
+++ b/output/output/script.js
@@ -0,0 +1,21 @@
+
+// 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
+ 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);
+ });
+ });
+ });
+});
+
diff --git a/output/output/style.css b/output/output/style.css
new file mode 100644
index 0000000..f49d1bd
--- /dev/null
+++ b/output/output/style.css
@@ -0,0 +1,97 @@
+: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.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 */
+
+}
diff --git a/output/posts.html b/output/posts.html
index c4c347b..38e9d61 100644
--- a/output/posts.html
+++ b/output/posts.html
@@ -15,25 +15,25 @@
Updated: 2025-08-06 Wed 21:03
Posts
-
-Links
-
+
+Links
+
-
-Posts Introduction intro
+
+Posts Introduction intro
-
-Zettelkasten Method education
-
+
+Zettelkasten Method education
+
diff --git a/output/posts/post-lists.html b/output/posts/post-lists.html
index 5d1573e..f4910bb 100644
--- a/output/posts/post-lists.html
+++ b/output/posts/post-lists.html
@@ -3,10 +3,10 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
+
-Sitemap for project org-posts
+Posts List
@@ -15,13 +15,13 @@
-Updated: 2025-08-06 Wed 22:49
+Updated: 2025-08-06 Wed 22:52
-Sitemap for project org-posts
+Posts List
- Posts Introduction
- Zettelkasten Method
diff --git a/output/posts/posts-intro.html b/output/posts/posts-intro.html
index 5e708a2..2ea0b0b 100644
--- a/output/posts/posts-intro.html
+++ b/output/posts/posts-intro.html
@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
+
Posts Introduction
@@ -16,16 +16,16 @@
Updated: 2025-08-06 Wed 21:11
Posts Introduction
-
-Introduction
-
+
+Introduction
+
In this section you will find posts related to both technical and non-technical topics. As Einstein said: โIf you canโt explain it simply you donโt understand it well enoughโ, thus the goal with these posts is to develop the skill of being able to deliver habitual high quality explanations as well as reinforcing the topic learnt.
diff --git a/output/posts/zettelkasten.html b/output/posts/zettelkasten.html
index 86c5326..b157061 100644
--- a/output/posts/zettelkasten.html
+++ b/output/posts/zettelkasten.html
@@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
+
Zettelkasten Method
@@ -16,7 +16,7 @@
Updated: 2025-08-06 Wed 21:10