diff options
| -rw-r--r-- | README.org | 41 | ||||
| -rw-r--r-- | christian.el | 62 |
2 files changed, 64 insertions, 39 deletions
@@ -1,23 +1,4 @@ #+begin_src el -;;; christian.el --- Personal profile & blog index -*- lexical-binding: t -*- - -;; Author: Christian Cleberg <[email protected]> -;; 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 . "[email protected]") @@ -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 <[email protected]> +;; 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 . "[email protected]") + (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 |
