aboutsummaryrefslogtreecommitdiff
path: root/content/blog
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2025-03-11 16:09:26 -0500
committerChristian Cleberg <hello@cleberg.net>2025-03-11 16:09:26 -0500
commit75cb2408e9251a32779a2c8814d4aaf1a0aae57c (patch)
treefddf8653aa26a9486ed9e2f56c2215b1742f9f92 /content/blog
parentb6068f40908e9185fa8b04df1ebde52866f81296 (diff)
downloadcleberg.net-75cb2408e9251a32779a2c8814d4aaf1a0aae57c.tar.gz
cleberg.net-75cb2408e9251a32779a2c8814d4aaf1a0aae57c.tar.bz2
cleberg.net-75cb2408e9251a32779a2c8814d4aaf1a0aae57c.zip
move from cleberg.net to cmc.pub
Diffstat (limited to 'content/blog')
-rw-r--r--content/blog/2020-12-29-zork.org2
-rw-r--r--content/blog/2021-03-28-vaporwave-vs-outrun.org12
-rw-r--r--content/blog/2021-04-23-php-comment-system.org2
-rw-r--r--content/blog/2022-02-10-njalla-dns-api.org4
-rw-r--r--content/blog/2022-02-16-debian-and-nginx.org4
-rw-r--r--content/blog/2022-02-17-exiftool.org2
-rw-r--r--content/blog/2022-02-22-tuesday.org2
-rw-r--r--content/blog/2022-03-02-reliable-notes.org6
-rw-r--r--content/blog/2022-03-24-server-hardening.org4
-rw-r--r--content/blog/2022-06-01-ditching-cloudflare.org2
-rw-r--r--content/blog/2022-10-04-syncthing.org2
-rw-r--r--content/blog/2022-11-29-nginx-referrer-ban-list.org4
-rw-r--r--content/blog/2023-01-05-mass-unlike-tumblr-posts.org4
-rw-r--r--content/blog/2023-06-23-byobu.org2
-rw-r--r--content/blog/2023-06-23-self-hosting-convos.org4
-rw-r--r--content/blog/2023-06-30-self-hosting-voyager.org2
-rw-r--r--content/blog/2023-10-04-digital-minimalism.org2
-rw-r--r--content/blog/2023-10-11-self-hosting-authelia.org4
-rw-r--r--content/blog/2023-10-17-self-hosting-anonymousoverflow.org4
-rw-r--r--content/blog/2024-01-27-tableau-dashboard.org4
-rw-r--r--content/blog/2024-03-13-doom-emacs.org18
-rw-r--r--content/blog/2024-03-15-self-hosting-ddns-updater.org2
-rw-r--r--content/blog/2024-03-29-org-blog.org12
-rw-r--r--content/blog/2024-04-08-docker-local-web-server.org18
-rw-r--r--content/blog/2024-04-18-mu4e.org8
-rw-r--r--content/blog/2024-05-03-ubuntu-on-macos.org10
-rw-r--r--content/blog/2024-07-11-emacs-on-ipad.org10
-rw-r--r--content/blog/2024-08-11-org-mode-features.org16
-rw-r--r--content/blog/2024-08-25-n8n-sentiment-analysis.org6
-rw-r--r--content/blog/2024-09-20-prometheus-grafana-cloud.org18
-rw-r--r--content/blog/2024-10-31-continue-ollama-code-assistant.org10
-rw-r--r--content/blog/2024-12-27-self-hosting-the-lounge.org10
-rw-r--r--content/blog/2025-01-23-self-hosting-tandoor.org14
-rw-r--r--content/blog/2025-02-11-obscura-vpn.org8
-rw-r--r--content/blog/2025-02-24-email-migration.org2
35 files changed, 117 insertions, 117 deletions
diff --git a/content/blog/2020-12-29-zork.org b/content/blog/2020-12-29-zork.org
index 68e32fb..ff9a794 100644
--- a/content/blog/2020-12-29-zork.org
+++ b/content/blog/2020-12-29-zork.org
@@ -32,7 +32,7 @@ as it was truly intended, you should try to play it without using the
map.
#+caption: Zork Map
-[[https://img.cleberg.net/blog/20201229-zork/zork_map.jpg]]
+[[https://img.cmc.pub/blog/20201229-zork/zork_map.jpg]]
/[[https://www.filfre.net/2012/01/exploring-zork-part-1/][Map Source]]/
diff --git a/content/blog/2021-03-28-vaporwave-vs-outrun.org b/content/blog/2021-03-28-vaporwave-vs-outrun.org
index d5163f8..28c4ebb 100644
--- a/content/blog/2021-03-28-vaporwave-vs-outrun.org
+++ b/content/blog/2021-03-28-vaporwave-vs-outrun.org
@@ -16,12 +16,12 @@ Vaporwave: the results include *a lot* of Outrun-themed images. You'll
find a similar trend almost everywhere.
#+caption: Vaporwave Search Results
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/vaporwave-search-results.png]]
* Vaporwave
#+caption: Macintosh Plus Album Cover
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/macintosh-plus.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/macintosh-plus.png]]
Okay, so what is Vaporwave? I'm going to just copy-and-paste some
general info from the Wikipedia article on
@@ -80,7 +80,7 @@ is a large part of Vaporwave.
* Outrun
#+caption: Outrun
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/outrun.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/outrun.png]]
Now, let's get to Outrun. This one is a little trickier since the genre
has largely been lumped under the Vaporwave title for so long. However,
@@ -115,16 +115,16 @@ would look like. Take a look at a common video game discussed in Outrun
circles, Far Cry 3: Blood Dragon:
#+caption: Fry Cry 3: Blood Dragon
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/far-cry.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/far-cry.png]]
Another example that doesn't force the color scheme as hard as some
online art does is Kung Fury:
#+caption: Kung Fury
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/kung-fury.png]]
#+caption: Kung Fury Hacker Scene
-[[https://img.cleberg.net/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.png]]
+[[https://img.cmc.pub/blog/20210328-vaporwave-vs-outrun/kung-fury-hacker.png]]
* Conclusion
diff --git a/content/blog/2021-04-23-php-comment-system.org b/content/blog/2021-04-23-php-comment-system.org
index ac5b1dc..c2a5b6f 100644
--- a/content/blog/2021-04-23-php-comment-system.org
+++ b/content/blog/2021-04-23-php-comment-system.org
@@ -57,7 +57,7 @@ that future readers will be able to see the source data long after I'm
gone, or the website has gone offline. However, I still haven't
committed any images served on my blog to Git, as I'm not entirely sold
on Git LFS yet - for now, images can be found at
-[[https://img.cleberg.net][img.cleberg.net]].
+[[https://img.cmc.pub][img.cmc.pub]].
Saving my comments back to the Git repository ensures that another
aspect of my site will degrade gracefully.
diff --git a/content/blog/2022-02-10-njalla-dns-api.org b/content/blog/2022-02-10-njalla-dns-api.org
index b68d5ac..71664dc 100644
--- a/content/blog/2022-02-10-njalla-dns-api.org
+++ b/content/blog/2022-02-10-njalla-dns-api.org
@@ -6,9 +6,9 @@
* Njalla's API
As noted in my recent post about
-[[https://cleberg.net/blog/ditching-cloudflare/][switching to Njalla from
+[[https://cmc.pub/blog/ditching-cloudflare/][switching to Njalla from
Cloudflare]], I was searching for a way to replace my very easy-to-use
-bash script to [[https://cleberg.net/blog/cloudflare-dns-api/][update Cloudflare's
+bash script to [[https://cmc.pub/blog/cloudflare-dns-api/][update Cloudflare's
DNS via their API]].
To reiterate what I said in those posts, this is a common necessity for
diff --git a/content/blog/2022-02-16-debian-and-nginx.org b/content/blog/2022-02-16-debian-and-nginx.org
index 5c611d4..e74b4a5 100644
--- a/content/blog/2022-02-16-debian-and-nginx.org
+++ b/content/blog/2022-02-16-debian-and-nginx.org
@@ -18,7 +18,7 @@ alert: it feels identical to Ubuntu for my purposes.
I did the normal things when first launching the VPS, such as adding a
new user, locking down SSH, etc. If you want to see that level of
detail, read my other post about
-[[https://cleberg.net/blog/how-to-set-up-a-vps-web-server/][How to Set
+[[https://cmc.pub/blog/how-to-set-up-a-vps-web-server/][How to Set
Up a VPS Web Server]].
All of this has been similar, apart from small things such as the
@@ -159,7 +159,7 @@ the Nginx docs to see what other fun things I can do with all of this.
Finally, I set up the Agate software on this server again to host my
Gemini server content, using Rust as I have before. You can read my
other post for more information on installing Agate:
-[[https://cleberg.net/blog/hosting-a-gemini-server/][Hosting a Gemini
+[[https://cmc.pub/blog/hosting-a-gemini-server/][Hosting a Gemini
Server]].
All in all, Debian + Nginx is very slick and I prefer it over my old
diff --git a/content/blog/2022-02-17-exiftool.org b/content/blog/2022-02-17-exiftool.org
index 3798ebb..c7cb790 100644
--- a/content/blog/2022-02-17-exiftool.org
+++ b/content/blog/2022-02-17-exiftool.org
@@ -45,7 +45,7 @@ distributions, but I really only care to test out this one package.
** Recursively Strip Data
I actually use this tool extensively to strip any photos uploaded to the
-website that serves all the images for my blog (=img.cleberg.net=).
+website that serves all the images for my blog (=img.cmc.pub=).
The following command is incredibly useful and can be modified to
include any image extensions that =exiftool= supports:
diff --git a/content/blog/2022-02-22-tuesday.org b/content/blog/2022-02-22-tuesday.org
index 79939e3..c2da991 100644
--- a/content/blog/2022-02-22-tuesday.org
+++ b/content/blog/2022-02-22-tuesday.org
@@ -26,7 +26,7 @@ Let's look at everything that fell in place today:
Slavonic word =въторъ=, meaning "the second."
5. Written in the classic monospaced, digital font (think of digital
clocks from the 80s/90s), there is nice symmetry to the numbers
- ([[https://img.cleberg.net/blog/20220222-tuesday/digital_font.png][view
+ ([[https://img.cmc.pub/blog/20220222-tuesday/digital_font.png][view
the image here]]!).
6. This one isn't naturally-occurring, but it seems people around the
world are celebrating the day. For example, a group is putting
diff --git a/content/blog/2022-03-02-reliable-notes.org b/content/blog/2022-03-02-reliable-notes.org
index 96b8254..1c99e22 100644
--- a/content/blog/2022-03-02-reliable-notes.org
+++ b/content/blog/2022-03-02-reliable-notes.org
@@ -44,7 +44,7 @@ Markdown file in plain-text, since it does contain any features to
preview Markdown as HTML:
#+caption: Plain Text Markdown
-[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/plain_markdown.png]]
+[[https://img.cmc.pub/blog/20220302-easy-reliable-note-taking/plain_markdown.png]]
** Saving & Syncing Files
:PROPERTIES:
@@ -118,13 +118,13 @@ Here's an example of how my Markdown notes look when opened in
plain-text mode:
#+caption: Obsidian Markdown Source Mode
-[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]]
+[[https://img.cmc.pub/blog/20220302-easy-reliable-note-taking/obsidian_source_mode.png]]
Here's the "live preview" version, where the Markdown is rendered into
its HTML format:
#+caption: Obsidian Markdown Live Preview
-[[https://img.cleberg.net/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]]
+[[https://img.cmc.pub/blog/20220302-easy-reliable-note-taking/obsidian_live_preview.png]]
*** Programming on Desktop
:PROPERTIES:
diff --git a/content/blog/2022-03-24-server-hardening.org b/content/blog/2022-03-24-server-hardening.org
index 7c9af8d..8704a27 100644
--- a/content/blog/2022-03-24-server-hardening.org
+++ b/content/blog/2022-03-24-server-hardening.org
@@ -110,7 +110,7 @@ via your randomized port.
** =ufw=
-To see how to configure =ufw=, see my other post: [[https://cleberg.net/blog/ufw.html][Secure Your
+To see how to configure =ufw=, see my other post: [[https://cmc.pub/blog/ufw.html][Secure Your
Network with the Uncomplicated Firewall]].
The general notion with an on-device firewall is that you want to deny all
@@ -196,7 +196,7 @@ sudo ufw enable
This process involves editing a couple files and installing an MFA package,
so I will not include all the details in this post. To see how to configure
- MFA for =ssh=, see my other post: [[https://cleberg.net/blog/ssh-mfa.html][Enabling MFA for
+ MFA for =ssh=, see my other post: [[https://cmc.pub/blog/ssh-mfa.html][Enabling MFA for
SSH]].
** =fail2ban=
diff --git a/content/blog/2022-06-01-ditching-cloudflare.org b/content/blog/2022-06-01-ditching-cloudflare.org
index 4b18b91..b7ba52d 100644
--- a/content/blog/2022-06-01-ditching-cloudflare.org
+++ b/content/blog/2022-06-01-ditching-cloudflare.org
@@ -77,7 +77,7 @@ the server hosting my various websites and apps.
However, as I was moving away from Cloudflare, I was not able to find a
suitable replacement that was both inexpensive and simple. So, I simply
-went back to hosting [[https://cleberg.net/blog/set-up-nginx-reverse-proxy/][my own
+went back to hosting [[https://cmc.pub/blog/set-up-nginx-reverse-proxy/][my own
reverse proxy with Nginx]]. With the recent additions of Unifi hardware
in my server/network rack, I am much more protected against spam and
malicious attacks at the network edge than I was before I switched to
diff --git a/content/blog/2022-10-04-syncthing.org b/content/blog/2022-10-04-syncthing.org
index 9211f50..9395540 100644
--- a/content/blog/2022-10-04-syncthing.org
+++ b/content/blog/2022-10-04-syncthing.org
@@ -95,7 +95,7 @@ add/modify connected devices.
Here's an example web GUI dashboard:
#+caption: Syncthing Dashboard
-[[https://img.cleberg.net/blog/20221020-syncthing/syncthing_gui.png]]
+[[https://img.cmc.pub/blog/20221020-syncthing/syncthing_gui.png]]
** Remote Devices
diff --git a/content/blog/2022-11-29-nginx-referrer-ban-list.org b/content/blog/2022-11-29-nginx-referrer-ban-list.org
index 698196a..27c39fb 100644
--- a/content/blog/2022-11-29-nginx-referrer-ban-list.org
+++ b/content/blog/2022-11-29-nginx-referrer-ban-list.org
@@ -101,7 +101,7 @@ In order to test the results, let's curl the contents of our site. To
start, I'll curl the site normally:
#+begin_src sh
-curl https://cleberg.net
+curl https://cmc.pub
#+end_src
The HTML contents of the page come back successfully:
@@ -113,7 +113,7 @@ The HTML contents of the page come back successfully:
Next, let's include a banned referrer:
#+begin_src sh
-curl --referer https://news.ycombinator.com https://cleberg.net
+curl --referer https://news.ycombinator.com https://cmc.pub
#+end_src
This time, I'm met with a 403 Forbidden response page. That means we are
diff --git a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
index e3811c6..d0f6cd2 100644
--- a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
+++ b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org
@@ -56,7 +56,7 @@ and be sure you're on the "Console" tab. It should look something like
this (this is in Firefox, Chromium should be similar):
#+caption: Firefox Dev !Tools
-[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]]
+[[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]]
All you need to do is paste the following snippet into the dev console.
This code will collect all unlike buttons (=elements=) and then click
@@ -88,7 +88,7 @@ the console, pressed Enter, and then the posts are automatically
unliked.
#+caption: Script !Results
-[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.png]]
+[[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/script_results.png]]
Thinking about this further, I would bet that this would be fairly
simple to package into a browser add-on so that users could install the
diff --git a/content/blog/2023-06-23-byobu.org b/content/blog/2023-06-23-byobu.org
index 14ddff4..41d0223 100644
--- a/content/blog/2023-06-23-byobu.org
+++ b/content/blog/2023-06-23-byobu.org
@@ -19,7 +19,7 @@ Take a look below at my current multi-window set-up in byobu while I
write this blog post:
#+caption: byobu
-[[https://img.cleberg.net/blog/20230623-byobu/byobu.png]]
+[[https://img.cmc.pub/blog/20230623-byobu/byobu.png]]
*** Keybindings
diff --git a/content/blog/2023-06-23-self-hosting-convos.org b/content/blog/2023-06-23-self-hosting-convos.org
index 3d10520..dff8249 100644
--- a/content/blog/2023-06-23-self-hosting-convos.org
+++ b/content/blog/2023-06-23-self-hosting-convos.org
@@ -130,10 +130,10 @@ There are numerous themes to choose from; the theme shown in the images
below is Dracula.
#+caption: Convos Home
-[[https://img.cleberg.net/blog/20230623-convos/convos_home.png]]
+[[https://img.cmc.pub/blog/20230623-convos/convos_home.png]]
#+caption: Convos Chat
-[[https://img.cleberg.net/blog/20230623-convos/convos_chat.png]]
+[[https://img.cmc.pub/blog/20230623-convos/convos_chat.png]]
* Registering a Nickname
diff --git a/content/blog/2023-06-30-self-hosting-voyager.org b/content/blog/2023-06-30-self-hosting-voyager.org
index 7e66776..33baef9 100644
--- a/content/blog/2023-06-30-self-hosting-voyager.org
+++ b/content/blog/2023-06-30-self-hosting-voyager.org
@@ -120,4 +120,4 @@ sudo systemctl restart nginx.service
The site will now be available at the =server_name= you specified above!
You can visit my instance at
-[[https://voyager.cleberg.net][voyager.cleberg.net]] for an example.
+[[https://voyager.cmc.pub][voyager.cmc.pub]] for an example.
diff --git a/content/blog/2023-10-04-digital-minimalism.org b/content/blog/2023-10-04-digital-minimalism.org
index 798d3ff..ac4d4f5 100644
--- a/content/blog/2023-10-04-digital-minimalism.org
+++ b/content/blog/2023-10-04-digital-minimalism.org
@@ -3,7 +3,7 @@
#+description:
#+slug: digital-minimalism
-I've written [[https://cleberg.net/wiki/#digital-garden][a note about minimalism]]
+I've written [[https://cmc.pub/wiki/#digital-garden][a note about minimalism]]
before, but I wanted to dedicate some time to reflect on digital
minimalism and how I've been able to minimize the impact of digital
devices in my life.
diff --git a/content/blog/2023-10-11-self-hosting-authelia.org b/content/blog/2023-10-11-self-hosting-authelia.org
index 2b9a6b7..07628f8 100644
--- a/content/blog/2023-10-11-self-hosting-authelia.org
+++ b/content/blog/2023-10-11-self-hosting-authelia.org
@@ -441,11 +441,11 @@ When visiting the protected domain, you will now be redirected to your
authentication domain and presented with the Authelia login portal.
#+caption: Authelia Portal
-[[https://img.cleberg.net/blog/20231010-authelia/authelia_portal.png]]
+[[https://img.cmc.pub/blog/20231010-authelia/authelia_portal.png]]
Once you've successfully authenticated, you can visit your
authentication domain directly and see that you're currently
authenticated to any domain protected by Authelia.
#+caption: Authelia Success
-[[https://img.cleberg.net/blog/20231010-authelia/authelia_success.png]]
+[[https://img.cmc.pub/blog/20231010-authelia/authelia_success.png]]
diff --git a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
index 3b9068b..6479fbf 100644
--- a/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
+++ b/content/blog/2023-10-17-self-hosting-anonymousoverflow.org
@@ -6,7 +6,7 @@
* Overview
I recently launched an instance of AnonymousOverflow at
-[[https://ao.cleberg.net][ao.cleberg.net]] and wanted to write a brief
+[[https://ao.cmc.pub][ao.cmc.pub]] and wanted to write a brief
post on how easy it is to install with Docker Compose and Nginx.
This guide uses Ubuntu server, Docker Compose, and Nginx as a reverse
@@ -128,4 +128,4 @@ sudo systemctl restart nginx.service
#+end_src
The website will now be available publicly. Visit
-[[https://ao.cleberg.net][my instance]] for an example.
+[[https://ao.cmc.pub][my instance]] for an example.
diff --git a/content/blog/2024-01-27-tableau-dashboard.org b/content/blog/2024-01-27-tableau-dashboard.org
index f1efc36..cdeb7b9 100644
--- a/content/blog/2024-01-27-tableau-dashboard.org
+++ b/content/blog/2024-01-27-tableau-dashboard.org
@@ -11,7 +11,7 @@ them to create the dashboard below. You can view this dashboard interactively
online here: [[https://public.tableau.com/app/profile/c.c7042/viz/OmahaCrimeData2015-2023/OmahaCrimeData2015-2023#1][Omaha Crime Data (2015 - 2023)]].
#+caption: Tableau Dashboard
-[[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]]
+[[https://img.cmc.pub/blog/20240127-tableau-dashboard/dashboard.png]]
* Gather the Data
@@ -140,4 +140,4 @@ There's a ton of other options available to be used in a dashboard like this,
but this project shows a quick preview of what you can do in Tableau Public.
#+caption: Tableau Dashboard
-[[https://img.cleberg.net/blog/20240127-tableau-dashboard/dashboard.png]]
+[[https://img.cmc.pub/blog/20240127-tableau-dashboard/dashboard.png]]
diff --git a/content/blog/2024-03-13-doom-emacs.org b/content/blog/2024-03-13-doom-emacs.org
index d4f0c19..1b83488 100644
--- a/content/blog/2024-03-13-doom-emacs.org
+++ b/content/blog/2024-03-13-doom-emacs.org
@@ -12,10 +12,10 @@ and the help pane open at the bottomm.
The themes are =doom-homage-white= and =doom-homage-black=.
#+caption: Doom Emacs Light Mode
-[[https://img.cleberg.net/blog/20240314-doom-emacs/light.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/light.png]]
#+caption: Doom Emacs Dark Mode
-[[https://img.cleberg.net/blog/20240314-doom-emacs/dark.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/dark.png]]
** Getting Started
@@ -183,7 +183,7 @@ been slowly adoping some Python and general web dev tools as well.
*** Markdown
#+caption: Markdown Preview
-[[https://img.cleberg.net/blog/20240314-doom-emacs/markdown.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/markdown.png]]
Markdown is fairly simple as the syntax is limited, so just make sure the
=~/.doom.d/init.el= includes the =markdown= declaration in the =:lang= section.
@@ -205,7 +205,7 @@ things like link hiding.
*** Org-Mode
#+caption: Org-Mode Preview
-[[https://img.cleberg.net/blog/20240314-doom-emacs/org.png]]
+[[https://img.cmc.pub/blog/20240314-doom-emacs/org.png]]
Similar to the markdown section above, ensure that the =~/.doom.d/init.el=
includes the =org= declaration in the =:lang= section.
@@ -269,10 +269,10 @@ list them all, so I will simply cover a few of the basic commands I use myself.
(setq org-publish-project-alist
`(("blog"
- :base-directory "~/Source/cleberg.net/"
+ :base-directory "~/Source/cmc.pub/"
:base-extension "org"
:recursive t
- :publishing-directory "~/Source/cleberg.net/public/"
+ :publishing-directory "~/Source/cmc.pub/public/"
:publishing-function org-html-publish-to-html
;; HTML5
:html-doctype "html5"
@@ -311,13 +311,13 @@ list them all, so I will simply cover a few of the basic commands I use myself.
)
("static"
- :base-directory "~/Source/cleberg.net/static/"
+ :base-directory "~/Source/cmc.pub/static/"
:base-extension "css\\|txt\\|jpg\\|gif\\|png"
:recursive t
- :publishing-directory "~/Source/cleberg.net/public/"
+ :publishing-directory "~/Source/cmc.pub/public/"
:publishing-function org-publish-attachment)
- ("cleberg.net" :components ("blog" "static"))))
+ ("cmc.pub" :components ("blog" "static"))))
#+end_src
** General Thoughts
diff --git a/content/blog/2024-03-15-self-hosting-ddns-updater.org b/content/blog/2024-03-15-self-hosting-ddns-updater.org
index 64e7a6c..82cfc7a 100644
--- a/content/blog/2024-03-15-self-hosting-ddns-updater.org
+++ b/content/blog/2024-03-15-self-hosting-ddns-updater.org
@@ -4,7 +4,7 @@
#+slug: self-hosting-ddns-updater
#+caption: DDNS Updater Web View
-[[https://img.cleberg.net/blog/20240315-ddns-updater/ddns.png]]
+[[https://img.cmc.pub/blog/20240315-ddns-updater/ddns.png]]
[[https://github.com/qdm12/ddns-updater][DDNS Updater]] is a program to keep DNS A and/or AAAA records updated for multiple
DNS providers.
diff --git a/content/blog/2024-03-29-org-blog.org b/content/blog/2024-03-29-org-blog.org
index 5ae1a2b..6173231 100644
--- a/content/blog/2024-03-29-org-blog.org
+++ b/content/blog/2024-03-29-org-blog.org
@@ -8,7 +8,7 @@ feed duplicated itself when I moved this blog over to org-mode last night.
This post focuses specifically on the configuration and tools I use to blog from
Emacs with Org-Mode and does not focus on Emacs or Org-Mode themselves. Refer to
-the post I wrote about [[https://cleberg.net/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base
+the post I wrote about [[https://cmc.pub/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base
Emacs configuration.
* Weblorg
@@ -60,7 +60,7 @@ Now that I've installed weblorg, I need to configure the project. I'll start by
navigating to my site's source code and creating a =publish.el= file.
#+begin_src sh
-cd ~/Source/cleberg.net && nano publish.el
+cd ~/Source/cmc.pub && nano publish.el
#+end_src
Since I'm using Doom, Emacs will not automatically load the packages I need
@@ -80,13 +80,13 @@ explicitly tell Emacs where Doom stores the =htmlize=, =weblorg=, and
;; To build with the custom URL below, call:
;;;; ENV=prod emacs --script publish.el
(if (string= (getenv "ENV") "prod")
- (setq weblorg-default-url "https://cleberg.net"))
+ (setq weblorg-default-url "https://cmc.pub"))
;; site metadata
(weblorg-site
:theme nil
- :template-vars '(("site_name" . "cleberg.net")
- ("site_owner" . "hello@cleberg.net")
+ :template-vars '(("site_name" . "cmc.pub")
+ ("site_owner" . "hello@cmc.pub")
("site_description" . "Just a blip of ones and zeroes.")))
;; route for rendering the index page of the website
@@ -235,7 +235,7 @@ Within this script, I do the following:
#+begin_src sh
rm -rf .build/* && \
ENV=prod emacs--script publish.el && \
-scp -r .build/* ubuntu:/var/www/cleberg.net/
+scp -r .build/* ubuntu:/var/www/cmc.pub/
#+end_src
*** Time to Build
diff --git a/content/blog/2024-04-08-docker-local-web-server.org b/content/blog/2024-04-08-docker-local-web-server.org
index f551450..46679c9 100644
--- a/content/blog/2024-04-08-docker-local-web-server.org
+++ b/content/blog/2024-04-08-docker-local-web-server.org
@@ -33,7 +33,7 @@ Open the installer and follow the installation process until the application
finishes the installation process.
#+caption: Docker Desktop on macOS
-[[https://img.cleberg.net/blog/20240408-docker-local-web-server/docker-desktop.png]]
+[[https://img.cmc.pub/blog/20240408-docker-local-web-server/docker-desktop.png]]
** Creating an Nginx Container
@@ -56,7 +56,7 @@ docker run -it --rm -d -p 8000:80 --name web nginx
You can navigate to [[http://localhost:8000]] to see the resulting page.
#+caption: Default Nginx Container
-[[https://img.cleberg.net/blog/20240408-docker-local-web-server/default-container.png]]
+[[https://img.cmc.pub/blog/20240408-docker-local-web-server/default-container.png]]
** Customizing the Nginx Container
@@ -76,7 +76,7 @@ To see the updates, you can delete the previous container in the GUI or run
=docker run= command below.
#+begin_src sh
-docker run -it -d -p 8000:80 --name web -v ~/Source/cleberg.net/.build:/usr/share/nginx/html -v ~/Source/cleberg.net/nginx-config.conf:/etc/nginx/conf.d/default.conf nginx
+docker run -it -d -p 8000:80 --name web -v ~/Source/cmc.pub/.build:/usr/share/nginx/html -v ~/Source/cmc.pub/nginx-config.conf:/etc/nginx/conf.d/default.conf nginx
#+end_src
Here's an example of my development configuration file.
@@ -84,14 +84,14 @@ Here's an example of my development configuration file.
#+begin_src conf
# nginx-config.conf
server {
- server_name cleberg.net www.cleberg.net;
+ server_name cmc.pub www.cmc.pub;
root /usr/share/nginx/html;
index index.html;
autoindex on;
- access_log /var/log/nginx/cleberg.net.access.log;
- error_log /var/log/nginx/cleberg.net.error.log;
+ access_log /var/log/nginx/cmc.pub.access.log;
+ error_log /var/log/nginx/cmc.pub.error.log;
location / {
try_files $uri $uri/ =404;
@@ -102,14 +102,14 @@ server {
}
#+end_src
-[[https://img.cleberg.net/blog/20240408-docker-local-web-server/custom-container.png]]
+[[https://img.cmc.pub/blog/20240408-docker-local-web-server/custom-container.png]]
* Customizing Deployment Actions
I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to
build the static site. Within this file, I have configured my deployment process
to check for the =ENV= variable in thesh and if it's set to =prod=, the script
-will set the base URLs to =https://cleberg.net=. If not, it sets the base URLs
+will set the base URLs to =https://cmc.pub=. If not, it sets the base URLs
to =localhost:8000= (which matches the port used in the container above).
Therefore, I have modified my =build.sh= script to build with =localhost= URLs
@@ -123,7 +123,7 @@ if [ "$ENV" == "prod" ]; then
echo "Environment = Production" && \
rm -rf .build/* && \
emacs --script publish.el && \
- scp -r .build/* ubuntu:/var/www/cleberg.net/
+ scp -r .build/* ubuntu:/var/www/cmc.pub/
else
echo "Environment = Development" && \
rm -rf .build/* && \
diff --git a/content/blog/2024-04-18-mu4e.org b/content/blog/2024-04-18-mu4e.org
index dadfc0b..3683f6e 100644
--- a/content/blog/2024-04-18-mu4e.org
+++ b/content/blog/2024-04-18-mu4e.org
@@ -159,9 +159,9 @@ auth on
host smtp.startmail.com
port 465
protocol smtp
-from hello@cleberg.net
-user hello@cleberg.net
-passwordeval security find-generic-password -s startmail -a hello@cleberg.net -w
+from hello@cmc.pub
+user hello@cmc.pub
+passwordeval security find-generic-password -s startmail -a hello@cmc.pub -w
tls on
tls_starttls off
@@ -300,4 +300,4 @@ The home page shows various options and metadata about the account you've
opened.
#+caption: Mu4e Home Page
-[[https://img.cleberg.net/blog/20240418-mu4e/mu4e.png]]
+[[https://img.cmc.pub/blog/20240418-mu4e/mu4e.png]]
diff --git a/content/blog/2024-05-03-ubuntu-on-macos.org b/content/blog/2024-05-03-ubuntu-on-macos.org
index e474a0d..5248c9b 100644
--- a/content/blog/2024-05-03-ubuntu-on-macos.org
+++ b/content/blog/2024-05-03-ubuntu-on-macos.org
@@ -32,7 +32,7 @@ Once installed, you can launch OrbStack and create a Linux machine in a matter
of seconds. The creation dialog defaults to Ubuntu.
#+caption: OrbStack's Linux Machine Creation Page
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/create.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/create.png]]
** Launching the Machine
@@ -62,7 +62,7 @@ In the example below, we can see that the machine is using =Linux ubuntu 6.9.6=
and operates similar to a fresh Ubuntu install on bare metal.
#+caption: Ubuntu CLI
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/cli.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/cli.png]]
You can also click the machine's folder icon in OrbStack to open the machine's
file system within macOS's native Files app. Within Files, you can double-click
@@ -70,13 +70,13 @@ to open any files and they will open in the macOS defaults for those file types
(e.g., TextEdit).
#+caption: Ubuntu Files
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/files.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/files.png]]
Here's an example of opening the =test.md= file in the screenshot above, which
defaults to opening in Xcode on my system.
#+caption: Ubuntu Files
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/xcode.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/xcode.png]]
*** Test Examples
@@ -84,7 +84,7 @@ As a quick example of the system, I installed =neofetch=, switched to the =zsh=
shell, and ran a few common commands.
#+caption: Test Examples
-[[https://img.cleberg.net/blog/20240503-ubuntu-on-macos/test.png]]
+[[https://img.cmc.pub/blog/20240503-ubuntu-on-macos/test.png]]
** Thoughts
diff --git a/content/blog/2024-07-11-emacs-on-ipad.org b/content/blog/2024-07-11-emacs-on-ipad.org
index 662cac3..4922f48 100644
--- a/content/blog/2024-07-11-emacs-on-ipad.org
+++ b/content/blog/2024-07-11-emacs-on-ipad.org
@@ -15,7 +15,7 @@ I recommend [[https://apps.apple.com/us/app/ish-shell/id1436902243][iSH]], since
and will allow you to install packages that you need.
#+caption: iSH Application
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/ish.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/ish.png]]
** Require Packages
@@ -28,7 +28,7 @@ apk add emacs ripgrep fd findutils
#+end_src
#+caption: Package !Installation
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dependencies.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/dependencies.png]]
** Emacs
@@ -40,7 +40,7 @@ incredibly slow and buggy that I was not even able to take screenshots. Someone
smarter than me could likely get it to work with a little tinkering.
#+caption: Emacs
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/emacs.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/emacs.png]]
*** MELPA
@@ -49,13 +49,13 @@ able to search through their 5700+ packages instead of just ELPA packages. If
you don't, you will only have access to ELPA packages like the ones below.
#+caption: package-install
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/melpa.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/melpa.png]]
Once you have MELPA, you can install packages like the =dashboard= package shown
below.
#+caption: emacs-dashboard
-[[https://img.cleberg.net/blog/20240711-emacs-on-ipad/dashboard.png]]
+[[https://img.cmc.pub/blog/20240711-emacs-on-ipad/dashboard.png]]
*** Speed
diff --git a/content/blog/2024-08-11-org-mode-features.org b/content/blog/2024-08-11-org-mode-features.org
index c8b1e01..603d822 100644
--- a/content/blog/2024-08-11-org-mode-features.org
+++ b/content/blog/2024-08-11-org-mode-features.org
@@ -7,7 +7,7 @@
* Cycling (Folding)
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L7][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L7][View this section]] in org-mode.
#+end_quote
My absolute top-used feature is [[https://orgmode.org/manual/Global-and-local-cycling.html][global and local cycling]] and it's not even
@@ -55,7 +55,7 @@ at the top of the buffer:
* TODO Lists
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L55][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L55][View this section]] in org-mode.
#+end_quote
Next up on in this post are [[https://orgmode.org/manual/TODO-Items.html][TODO Lists]]. Being able to combine note taking and
@@ -106,7 +106,7 @@ that variable to alert me of tasks with iOS native notifications.
* Time Stamping
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L106][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L106][View this section]] in org-mode.
#+end_quote
Another great feature are the [[https://orgmode.org/manual/Dates-and-Times.html][dates and times]] functionalities within org-mode.
@@ -137,7 +137,7 @@ different options available when creating timestamps.
* Tags
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L137][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L137][View this section]] in org-mode.
#+end_quote
Next up are [[https://orgmode.org/manual/Tags.html][Tags]], which provide a way to document contexts within and across
@@ -162,7 +162,7 @@ m= and search for a tag of your choosing.
* Tables
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L162][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L162][View this section]] in org-mode.
#+end_quote
One of the most inconvenient parts of writing in Markdown was dealing with
@@ -232,7 +232,7 @@ on the second line.
* Source Code Blocks
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L232][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L232][View this section]] in org-mode.
#+end_quote
** Introduction to Source Code Blocks
@@ -302,7 +302,7 @@ results below the code block.
* Exporting and Publishing
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L302][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L302][View this section]] in org-mode.
#+end_quote
I would be remiss if I did not mention the native [[https://orgmode.org/manual/Exporting.html][exporting and publishing]]
@@ -336,7 +336,7 @@ external [[https://orgmode.org/tools.html][tools]], including [[https://orgmode.
* Agenda
#+begin_quote
-[[https://git.sr.ht/~cyborg/cleberg.net/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L336][View this section]] in org-mode.
+[[https://git.sr.ht/~cyborg/cmc.pub/tree/main/item/content/blog/2024-08-11-org-mode-features.org#L336][View this section]] in org-mode.
#+end_quote
Last, but not least, are [[https://orgmode.org/manual/Agenda-Views.html][Agenda Views]]. With agenda views, you can easily view
diff --git a/content/blog/2024-08-25-n8n-sentiment-analysis.org b/content/blog/2024-08-25-n8n-sentiment-analysis.org
index 194844e..d997e98 100644
--- a/content/blog/2024-08-25-n8n-sentiment-analysis.org
+++ b/content/blog/2024-08-25-n8n-sentiment-analysis.org
@@ -113,7 +113,7 @@ You can open the included workflow at
and create a new configuration.
#+caption: n8n Workflow
-[[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/workflow.png]]
+[[https://img.cmc.pub/blog/20240825-n8n-sentiment-analysis/workflow.png]]
This workflow contains the following nodes:
1. Email Trigger (IMAP)
@@ -151,10 +151,10 @@ send yourself a test email!
After testing each step noted above, n8n provided the results below - it works!
#+caption: Positive Results
-[[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/positive_results.png]]
+[[https://img.cmc.pub/blog/20240825-n8n-sentiment-analysis/positive_results.png]]
#+caption: Negative Results
-[[https://img.cleberg.net/blog/20240825-n8n-sentiment-analysis/negative_results.png]]
+[[https://img.cmc.pub/blog/20240825-n8n-sentiment-analysis/negative_results.png]]
While this isn't anything earth-shattering, it does show easy it is to get
started with n8n and large language models in a self-hosted environment.
diff --git a/content/blog/2024-09-20-prometheus-grafana-cloud.org b/content/blog/2024-09-20-prometheus-grafana-cloud.org
index 4eb05aa..c0e9603 100644
--- a/content/blog/2024-09-20-prometheus-grafana-cloud.org
+++ b/content/blog/2024-09-20-prometheus-grafana-cloud.org
@@ -277,7 +277,7 @@ and determine what Grafana should do when an alert is triggered.
** OnCall
#+caption: OnCall
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/oncall.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/oncall.png]]
Within the Alerts & IRM section of Grafana (=/alerts-and-incidents=), open the
Users page.
@@ -299,12 +299,12 @@ users and teams to be on call for specific date and time ranges. For my
purposes, I put myself on-call 24/7 so that I receive all alerts.
#+caption: User Information
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/irm_user_info.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/irm_user_info.png]]
** Alerting
#+caption: Alerting Insights
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/alerting_insights.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/alerting_insights.png]]
Now that we have defined users and team associated with an on-call schedule and
configured to receive the proper alerts, let's define a rule that will generate
@@ -323,13 +323,13 @@ evaluation group. This is connected to our Grafana email, but can be associated
with any notification policy.
#+caption: New Alert Rule
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/new_alert.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/new_alert.png]]
When the alert fires, it will generate an email (or whatever notification policy
you assigned) and will look something like the following image.
#+caption: Alerting Example
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/email_alert.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/email_alert.png]]
** Dashboards
@@ -337,13 +337,13 @@ As promised above, here are some dashboard screenshots based on the
configurations above.
#+caption: Nginx Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_nginx.png]]
#+caption: Node Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_node.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_node.png]]
#+caption: OnCall Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_oncall.png]]
#+caption: Prometheus Dashboard
-[[https://img.cleberg.net/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.png]]
+[[https://img.cmc.pub/blog/20240920-prometheus-grafana-cloud/dashboard_prometheus.png]]
diff --git a/content/blog/2024-10-31-continue-ollama-code-assistant.org b/content/blog/2024-10-31-continue-ollama-code-assistant.org
index 790d668..8aceca1 100644
--- a/content/blog/2024-10-31-continue-ollama-code-assistant.org
+++ b/content/blog/2024-10-31-continue-ollama-code-assistant.org
@@ -201,19 +201,19 @@ Continue:
Below are a few screenshots from my current VS Codium window:
#+caption: Available Continue Commands
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_commands.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_commands.png]]
#+caption: Continue Fullscreen Chat Window
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_fullscreen.png]]
#+caption: Inline Hotkeys
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_inline_hotkeys.png]]
#+caption: Inline Editing Suggestions
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_inline.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_inline.png]]
#+caption: Sidebar Context Window
-[[https://img.cleberg.net/blog/20241031-continue-ollama-code-assistant/continue_sidebar.png]]
+[[https://img.cmc.pub/blog/20241031-continue-ollama-code-assistant/continue_sidebar.png]]
* Conclusion
diff --git a/content/blog/2024-12-27-self-hosting-the-lounge.org b/content/blog/2024-12-27-self-hosting-the-lounge.org
index b3dd943..2462b50 100644
--- a/content/blog/2024-12-27-self-hosting-the-lounge.org
+++ b/content/blog/2024-12-27-self-hosting-the-lounge.org
@@ -11,7 +11,7 @@ desirable features for a modern IRC client. The Lounge supports push
notifications, link previews, file uploads, always connected, multi-user
support, and is available as a PWA for mobile devices.
-I wanted to write this as I had written a post about [[https://cleberg.net/blog/self-hosting-convos.html][self-hosting Convos]] and
+I wanted to write this as I had written a post about [[https://cmc.pub/blog/self-hosting-convos.html][self-hosting Convos]] and
have recently migrated over to The Lounge instead.
If you'd like to try a demo first, head over to [[https://demo.thelounge.chat/][the official demo website]].
@@ -60,7 +60,7 @@ browsing from a different device. Don't forget to allow the port through your
machine's firewall, if you have one enabled.
#+caption: Login
-[[https://img.cleberg.net/blog/20241229-thelounge/login.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/login.png]]
** Nginx Reverse Proxy
@@ -155,10 +155,10 @@ bottom of the sidebar and connect to individual channels or users via the plus
(=+=) button next to your server's name in the sidebar.
#+caption: New Server Connection
-[[https://img.cleberg.net/blog/20241229-thelounge/new_connection.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/new_connection.png]]
#+caption: Existing Server Connection
-[[https://img.cleberg.net/blog/20241229-thelounge/existing_connection.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/existing_connection.png]]
#+caption: Channel View
-[[https://img.cleberg.net/blog/20241229-thelounge/channel.png]]
+[[https://img.cmc.pub/blog/20241229-thelounge/channel.png]]
diff --git a/content/blog/2025-01-23-self-hosting-tandoor.org b/content/blog/2025-01-23-self-hosting-tandoor.org
index 985c3ca..db226bf 100644
--- a/content/blog/2025-01-23-self-hosting-tandoor.org
+++ b/content/blog/2025-01-23-self-hosting-tandoor.org
@@ -125,22 +125,22 @@ The app is now available on your custom domain!
** Screenshots
#+caption: Login
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/login.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/login.png]]
#+caption: Recipes
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/recipes.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/recipes.png]]
#+caption: Meal Plan
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/mealplan.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/mealplan.png]]
#+caption: Shopping Lists
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/shopping.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/shopping.png]]
#+caption: Cook Book
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/cookbook.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/cookbook.png]]
#+caption: Import
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/import.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/import.png]]
#+caption: Administration Panel
-[[https://img.cleberg.net/blog/20250123-self-hosting-tandoor/admin.png]]
+[[https://img.cmc.pub/blog/20250123-self-hosting-tandoor/admin.png]]
diff --git a/content/blog/2025-02-11-obscura-vpn.org b/content/blog/2025-02-11-obscura-vpn.org
index afd2e7b..8134ba3 100644
--- a/content/blog/2025-02-11-obscura-vpn.org
+++ b/content/blog/2025-02-11-obscura-vpn.org
@@ -55,7 +55,7 @@ far as I can tell, there is no free tier available. In my opinion, this is a
good thing as I hesitate to understand how privacy-focused apps make money when
they offer free services to users.
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/payment.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/payment.png]]
#+caption: Payment
** Connection
@@ -64,10 +64,10 @@ Once you've enrolled in either a subscription or one-time payment, Obscura will
return you to the app and allow you to connect. You can choose a specific server
location or automatically connect.
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/connect.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/connect.png]]
#+caption: Initial Connection
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/toolbar.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/toolbar.png]]
#+caption: Toolbar Utility
** Speed
@@ -91,7 +91,7 @@ nodes before connecting to your target.
From the image below, we can see that Mullvad confirmed my traffic to be
connected through a Mullvad IP address.
-[[https://img.cleberg.net/blog/20250211-obscura-vpn/mullvad-check.png]]
+[[https://img.cmc.pub/blog/20250211-obscura-vpn/mullvad-check.png]]
#+caption: Mullvad Check
* Final Thoughts
diff --git a/content/blog/2025-02-24-email-migration.org b/content/blog/2025-02-24-email-migration.org
index b9cf3ff..b2eb93f 100644
--- a/content/blog/2025-02-24-email-migration.org
+++ b/content/blog/2025-02-24-email-migration.org
@@ -48,7 +48,7 @@ This led to a dead end as my two methods failed:
At this point, I decided to take a step back and use [[https://github.com/djcb/mu][mu]], a command-line utility
that would index my files and sync back and forth with Migadu for me.
-Using my blog post, [[https://cleberg.net/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the
+Using my blog post, [[https://cmc.pub/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the
mu4e parts) I was able to set up a minimal directory connected to my Migadu IMAP
account. Using my terminal, I simply moved all of my messages into the =mu=
directory and synchronized the account, and voila, my messages synchronized