cmc/ccleberg

GitHub profile README

clone: git clone https://gitbay.org/cmc/ccleberg.git

f7e04ee04cc644176f833ae890f10a3f703336d5

unsigned

author: Christian Cleberg <hello@cleberg.net> · 2025-12-06T21:51:20Z

move full elisp to its own file
 README.org   | 41 ++--------------------------------------
 christian.el | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 39 deletions(-)

diff --git a/README.org b/README.org
index 670dc3f..9610575 100644
--- a/README.org
+++ b/README.org
@@ -1,23 +1,4 @@
 #+begin_src el
-;;; christian.el --- Personal profile & blog index -*- lexical-binding: t -*-
-
-;; Author:  Christian Cleberg <hello@cleberg.net>
-;; Version: 0.1
-;; Keywords: privacy, security, self-hosting
-;; Package-Requires: ((emacs "27.1"))
-
-;;; Commentary:
-
-;;   I'm a Tech Assurance Manager at KPMG.
-;;   I run a personal site at https://cleberg.net which contains:
-;;       - a blog,
-;;       - information about me,
-;;       - publicly‑hosted services.
-;;
-;;   Prefer Tor?  Use the .onion address for the same content.
-
-;;; Code:
-
 (defvar christian/profile
   '((name        . "Christian")
     (email       . "hello@cleberg.net")
@@ -41,24 +22,6 @@
                   (:date "2025-10-25"
                           :title "Digital Garden"
                           :url "https://cleberg.net/blog/digital-garden.html")))))
-
-(defun christian/display-profile ()
-  "Pretty‑print the profile in a *Help* buffer."
-  (interactive)
-  (with-help-window "*Christian Profile*"
-    (princ (format "%s %s\n\n" (alist-get 'name christian/profile)
-                   (alist-get 'emoji christian/profile)))
-    (princ (format "%s\n\n" (alist-get 'role christian/profile)))
-    (princ (format "Website: %s\n" (alist-get 'site-url christian/profile)))
-    (princ (format "Tor (onion): %s\n\n" (alist-get 'tor-url christian/profile)))
-    (princ "=== Latest Blog Posts ===\n")
-    (dolist (post (alist-get 'blog-posts christian/profile))
-      (princ (format "- %s (%s)\n  %s\n"
-                     (plist-get post :title)
-                     (plist-get post :date)
-                     (plist-get post :url))))))
-
-(provide 'christian)
-
-;;; christian.el ends here
 #+end_src
+
+/psst! you can run [[christian.el][./christian.el]] in emacs to view this information dynamically/
diff --git a/christian.el b/christian.el
new file mode 100644
index 0000000..1003f91
--- /dev/null
+++ b/christian.el
@@ -0,0 +1,62 @@
+;;; christian.el --- Personal profile & blog index -*- lexical-binding: t -*-
+
+;; Author:  Christian Cleberg <hello@cleberg.net>
+;; Version: 0.1
+;; Keywords: privacy, security, self-hosting
+;; Package-Requires: ((emacs "27.1"))
+
+;;; Commentary:
+
+;;   I'm a Tech Assurance Manager at KPMG.
+;;   I run a personal site at https://cleberg.net which contains:
+;;       - a blog,
+;;       - information about me,
+;;       - publicly‑hosted services.
+;;
+;;   Prefer Tor?  Use the .onion address for the same content.
+
+;;; Code:
+
+(defvar christian/profile
+  '((name        . "Christian")
+    (email       . "hello@cleberg.net")
+    (role        . "Tech Assurance Manager at KPMG")
+    (gpg-key     . "https://cleberg.net/gpg.txt")
+    (site-url    . "https://cleberg.net")
+    (tor-url     . "http://sv3g2dlyvwyk2nvi3eeh55fcrpdvjlclhi6wwsx57cste6lwdjanzyyd.onion")
+    (blog-posts  .
+                 ((:date "2025-12-06"
+                          :title "Self‑Hosting Guide: Tor Websites"
+                          :url "https://cleberg.net/blog/self-hosting-guide-tor-websites.html")
+                  (:date "2025-11-23"
+                          :title "Practical Uses for AI in IT Audit"
+                          :url "https://cleberg.net/blog/practical-uses-for-ai-in-it-audit.html")
+                  (:date "2025-11-15"
+                          :title "Striving for 100% WCAG 2 Compliance"
+                          :url "https://cleberg.net/blog/striving-for-100-wcag-2-compliance.html")
+                  (:date "2025-11-02"
+                          :title "Using aerc on macOS"
+                          :url "https://cleberg.net/blog/using-aerc-on-macos.html")
+                  (:date "2025-10-25"
+                          :title "Digital Garden"
+                          :url "https://cleberg.net/blog/digital-garden.html")))))
+
+(defun christian/display-profile ()
+  "Pretty‑print the profile in a *Help* buffer."
+  (interactive)
+  (with-help-window "*Christian Profile*"
+    (princ (format "%s %s\n\n" (alist-get 'name christian/profile)
+                   (alist-get 'emoji christian/profile)))
+    (princ (format "%s\n\n" (alist-get 'role christian/profile)))
+    (princ (format "Website: %s\n" (alist-get 'site-url christian/profile)))
+    (princ (format "Tor (onion): %s\n\n" (alist-get 'tor-url christian/profile)))
+    (princ "=== Latest Blog Posts ===\n")
+    (dolist (post (alist-get 'blog-posts christian/profile))
+      (princ (format "- %s (%s)\n  %s\n"
+                     (plist-get post :title)
+                     (plist-get post :date)
+                     (plist-get post :url))))))
+
+(provide 'christian)
+
+;;; christian.el ends here