summaryrefslogtreecommitdiff
path: root/christian.el
blob: 7f269e341a570dc3615be9e9cd918f8dfde84145 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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 "2026-02-12"
                         :title "Automating Weblorg Deployments with GitHub Actions"
                         :url "https://cleberg.net/blog/automating-weblorg-deployments.html")
                 (:date "2026-02-08"
                         :title "Managing My Dotfiles with GNU Stow and Git"
                         :url "https://cleberg.net/blog/gnu-stow.html")
                 (:date "2026-02-07"
                         :title "IndieWeb Carnival: Intersecting Interests"
                         :url "https://cleberg.net/blog/indiweb-carnival-2026-02-intersecting-interests>
                 (:date "2026-02-02"
                         :title "Emacs Carnival: Completion"
                         :url "https://cleberg.net/blog/emacs-carnival-2026-02-completion.html")
                 (:date "2026-01-31"
                         :title "Emacs Carnival: This Year, I Will..."
                         :url "https://cleberg.net/blog/emacs-carnival-2026-01-this-year-i-will.html")))))

(defun christian/display-profile ()
  "Prettyprint 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