Commit 80bc8747e9
Unsigned
Layout: unified · split
README.org +5 −5
| @@ -1,8 +1,8 @@ | |||
| 1 | #+title: README | 1 | #+title: README |
| 2 | 2 | ||
| 3 | * cmc.pub | 3 | * cleberg.net |
| 4 | 4 | ||
| 5 | [[https://cmc.pub][cmc.pub]] is my personal webpage and blog. This website and blog utilize the | 5 | [[https://cleberg.net][cleberg.net]] is my personal webpage and blog. This website and blog utilize the |
| 6 | powerful Org-Mode publishing system, courtesy of the [[https://github.com/emacs-love/weblorg][weblorg]] Emacs package. | 6 | powerful Org-Mode publishing system, courtesy of the [[https://github.com/emacs-love/weblorg][weblorg]] Emacs package. |
| 7 | 7 | ||
| 8 | ** Features & Configuration | 8 | ** Features & Configuration |
| @@ -19,8 +19,8 @@ a local copy of the repository. This can be accomplished by running the | |||
| 19 | following commands within Emacs: | 19 | following commands within Emacs: |
| 20 | 20 | ||
| 21 | #+begin_src sh | 21 | #+begin_src sh |
| 22 | git clone https://github.com/ccleberg/cmc.pub && \ | 22 | git clone https://github.com/ccleberg/cleberg.net && \ |
| 23 | cd cmc.pub && \ | 23 | cd cleberg.net && \ |
| 24 | emacs -nw | 24 | emacs -nw |
| 25 | #+end_src | 25 | #+end_src |
| 26 | 26 | ||
| @@ -70,7 +70,7 @@ To quickly create a new blog post within Emacs, follow these steps: | |||
| 70 | the newly opened file. | 70 | the newly opened file. |
| 71 | 71 | ||
| 72 | This streamlined process allows you to rapidly generate fresh content for | 72 | This streamlined process allows you to rapidly generate fresh content for |
| 73 | cmc.pub, taking advantage of the existing template structure and formatting. | 73 | cleberg.net, taking advantage of the existing template structure and formatting. |
| 74 | 74 | ||
| 75 | ** Contributing & Tasks | 75 | ** Contributing & Tasks |
| 76 | 76 | ||
build.sh +1 −1
| @@ -34,7 +34,7 @@ if [[ "$answer" =~ ^[Yy]$ ]]; then | |||
| 34 | emacs --script publish.el &>/dev/null | 34 | emacs --script publish.el &>/dev/null |
| 35 | 35 | ||
| 36 | # Deploy changes | 36 | # Deploy changes |
| 37 | rsync -r --delete-before .build/* $ubuntu_server:/var/www/cmc.pub/ | 37 | rsync -r --delete-before .build/* $ubuntu_server:/var/www/cleberg.net/ |
| 38 | else | 38 | else |
| 39 | echo "Environment: Development" | 39 | echo "Environment: Development" |
| 40 | 40 | ||
content/blog/2021-04-23-php-comment-system.org +1 −1
| @@ -57,7 +57,7 @@ that future readers will be able to see the source data long after I'm | |||
| 57 | gone, or the website has gone offline. However, I still haven't | 57 | gone, or the website has gone offline. However, I still haven't |
| 58 | committed any images served on my blog to Git, as I'm not entirely sold | 58 | committed any images served on my blog to Git, as I'm not entirely sold |
| 59 | on Git LFS yet - for now, images can be found at | 59 | on Git LFS yet - for now, images can be found at |
| 60 | [[https://img.cmc.pub][img.cmc.pub]]. | 60 | [[https://img.cleberg.net][img.cleberg.net]]. |
| 61 | 61 | ||
| 62 | Saving my comments back to the Git repository ensures that another | 62 | Saving my comments back to the Git repository ensures that another |
| 63 | aspect of my site will degrade gracefully. | 63 | aspect of my site will degrade gracefully. |
content/blog/2022-02-10-njalla-dns-api.org +2 −2
| @@ -6,9 +6,9 @@ | |||
| 6 | * Njalla's API | 6 | * Njalla's API |
| 7 | 7 | ||
| 8 | As noted in my recent post about | 8 | As noted in my recent post about |
| 9 | [[https://cmc.pub/blog/ditching-cloudflare/][switching to Njalla from | 9 | [[https://cleberg.net/blog/ditching-cloudflare/][switching to Njalla from |
| 10 | Cloudflare]], I was searching for a way to replace my very easy-to-use | 10 | Cloudflare]], I was searching for a way to replace my very easy-to-use |
| 11 | bash script to [[https://cmc.pub/blog/cloudflare-dns-api/][update Cloudflare's | 11 | bash script to [[https://cleberg.net/blog/cloudflare-dns-api/][update Cloudflare's |
| 12 | DNS via their API]]. | 12 | DNS via their API]]. |
| 13 | 13 | ||
| 14 | To reiterate what I said in those posts, this is a common necessity for | 14 | To reiterate what I said in those posts, this is a common necessity for |
content/blog/2022-02-16-debian-and-nginx.org +2 −2
| @@ -18,7 +18,7 @@ alert: it feels identical to Ubuntu for my purposes. | |||
| 18 | I did the normal things when first launching the VPS, such as adding a | 18 | I did the normal things when first launching the VPS, such as adding a |
| 19 | new user, locking down SSH, etc. If you want to see that level of | 19 | new user, locking down SSH, etc. If you want to see that level of |
| 20 | detail, read my other post about | 20 | detail, read my other post about |
| 21 | [[https://cmc.pub/blog/how-to-set-up-a-vps-web-server/][How to Set | 21 | [[https://cleberg.net/blog/how-to-set-up-a-vps-web-server/][How to Set |
| 22 | Up a VPS Web Server]]. | 22 | Up a VPS Web Server]]. |
| 23 | 23 | ||
| 24 | All of this has been similar, apart from small things such as the | 24 | 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. | |||
| 159 | Finally, I set up the Agate software on this server again to host my | 159 | Finally, I set up the Agate software on this server again to host my |
| 160 | Gemini server content, using Rust as I have before. You can read my | 160 | Gemini server content, using Rust as I have before. You can read my |
| 161 | other post for more information on installing Agate: | 161 | other post for more information on installing Agate: |
| 162 | [[https://cmc.pub/blog/hosting-a-gemini-server/][Hosting a Gemini | 162 | [[https://cleberg.net/blog/hosting-a-gemini-server/][Hosting a Gemini |
| 163 | Server]]. | 163 | Server]]. |
| 164 | 164 | ||
| 165 | All in all, Debian + Nginx is very slick and I prefer it over my old | 165 | All in all, Debian + Nginx is very slick and I prefer it over my old |
content/blog/2022-02-17-exiftool.org +1 −1
| @@ -45,7 +45,7 @@ distributions, but I really only care to test out this one package. | |||
| 45 | ** Recursively Strip Data | 45 | ** Recursively Strip Data |
| 46 | 46 | ||
| 47 | I actually use this tool extensively to strip any photos uploaded to the | 47 | I actually use this tool extensively to strip any photos uploaded to the |
| 48 | website that serves all the images for my blog (=img.cmc.pub=). | 48 | website that serves all the images for my blog (=img.cleberg.net=). |
| 49 | 49 | ||
| 50 | The following command is incredibly useful and can be modified to | 50 | The following command is incredibly useful and can be modified to |
| 51 | include any image extensions that =exiftool= supports: | 51 | include any image extensions that =exiftool= supports: |
content/blog/2022-03-24-server-hardening.org +2 −2
| @@ -110,7 +110,7 @@ via your randomized port. | |||
| 110 | 110 | ||
| 111 | ** =ufw= | 111 | ** =ufw= |
| 112 | 112 | ||
| 113 | To see how to configure =ufw=, see my other post: [[https://cmc.pub/blog/ufw.html][Secure Your | 113 | To see how to configure =ufw=, see my other post: [[https://cleberg.net/blog/ufw.html][Secure Your |
| 114 | Network with the Uncomplicated Firewall]]. | 114 | Network with the Uncomplicated Firewall]]. |
| 115 | 115 | ||
| 116 | The general notion with an on-device firewall is that you want to deny all | 116 | The general notion with an on-device firewall is that you want to deny all |
| @@ -196,7 +196,7 @@ sudo ufw enable | |||
| 196 | 196 | ||
| 197 | This process involves editing a couple files and installing an MFA package, | 197 | This process involves editing a couple files and installing an MFA package, |
| 198 | so I will not include all the details in this post. To see how to configure | 198 | so I will not include all the details in this post. To see how to configure |
| 199 | MFA for =ssh=, see my other post: [[https://cmc.pub/blog/ssh-mfa.html][Enabling MFA for | 199 | MFA for =ssh=, see my other post: [[https://cleberg.net/blog/ssh-mfa.html][Enabling MFA for |
| 200 | SSH]]. | 200 | SSH]]. |
| 201 | 201 | ||
| 202 | ** =fail2ban= | 202 | ** =fail2ban= |
content/blog/2022-06-01-ditching-cloudflare.org +1 −1
| @@ -77,7 +77,7 @@ the server hosting my various websites and apps. | |||
| 77 | 77 | ||
| 78 | However, as I was moving away from Cloudflare, I was not able to find a | 78 | However, as I was moving away from Cloudflare, I was not able to find a |
| 79 | suitable replacement that was both inexpensive and simple. So, I simply | 79 | suitable replacement that was both inexpensive and simple. So, I simply |
| 80 | went back to hosting [[https://cmc.pub/blog/set-up-nginx-reverse-proxy/][my own | 80 | went back to hosting [[https://cleberg.net/blog/set-up-nginx-reverse-proxy/][my own |
| 81 | reverse proxy with Nginx]]. With the recent additions of Unifi hardware | 81 | reverse proxy with Nginx]]. With the recent additions of Unifi hardware |
| 82 | in my server/network rack, I am much more protected against spam and | 82 | in my server/network rack, I am much more protected against spam and |
| 83 | malicious attacks at the network edge than I was before I switched to | 83 | malicious attacks at the network edge than I was before I switched to |
content/blog/2022-11-29-nginx-referrer-ban-list.org +2 −2
| @@ -101,7 +101,7 @@ In order to test the results, let's curl the contents of our site. To | |||
| 101 | start, I'll curl the site normally: | 101 | start, I'll curl the site normally: |
| 102 | 102 | ||
| 103 | #+begin_src sh | 103 | #+begin_src sh |
| 104 | curl https://cmc.pub | 104 | curl https://cleberg.net |
| 105 | #+end_src | 105 | #+end_src |
| 106 | 106 | ||
| 107 | The HTML contents of the page come back successfully: | 107 | The HTML contents of the page come back successfully: |
| @@ -113,7 +113,7 @@ The HTML contents of the page come back successfully: | |||
| 113 | Next, let's include a banned referrer: | 113 | Next, let's include a banned referrer: |
| 114 | 114 | ||
| 115 | #+begin_src sh | 115 | #+begin_src sh |
| 116 | curl --referer https://news.ycombinator.com https://cmc.pub | 116 | curl --referer https://news.ycombinator.com https://cleberg.net |
| 117 | #+end_src | 117 | #+end_src |
| 118 | 118 | ||
| 119 | This time, I'm met with a 403 Forbidden response page. That means we are | 119 | This time, I'm met with a 403 Forbidden response page. That means we are |
content/blog/2023-01-05-mass-unlike-tumblr-posts.org +2 −2
| @@ -56,7 +56,7 @@ and be sure you're on the "Console" tab. It should look something like | |||
| 56 | this (this is in Firefox, Chromium should be similar): | 56 | this (this is in Firefox, Chromium should be similar): |
| 57 | 57 | ||
| 58 | #+caption: Firefox Dev !Tools | 58 | #+caption: Firefox Dev !Tools |
| 59 | [[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]] | 59 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]] |
| 60 | 60 | ||
| 61 | All you need to do is paste the following snippet into the dev console. | 61 | All you need to do is paste the following snippet into the dev console. |
| 62 | This code will collect all unlike buttons (=elements=) and then click | 62 | 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 | |||
| 88 | unliked. | 88 | unliked. |
| 89 | 89 | ||
| 90 | #+caption: Script !Results | 90 | #+caption: Script !Results |
| 91 | [[https:///img.cmc.pub/blog/20230105-mass-unlike-tumblr-posts/script_results.png]] | 91 | [[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.png]] |
| 92 | 92 | ||
| 93 | Thinking about this further, I would bet that this would be fairly | 93 | Thinking about this further, I would bet that this would be fairly |
| 94 | simple to package into a browser add-on so that users could install the | 94 | simple to package into a browser add-on so that users could install the |
content/blog/2023-06-30-self-hosting-voyager.org +1 −1
| @@ -120,4 +120,4 @@ sudo systemctl restart nginx.service | |||
| 120 | The site will now be available at the =server_name= you specified above! | 120 | The site will now be available at the =server_name= you specified above! |
| 121 | 121 | ||
| 122 | You can visit my instance at | 122 | You can visit my instance at |
| 123 | [[https://voyager.cmc.pub][voyager.cmc.pub]] for an example. | 123 | [[https://voyager.cleberg.net][voyager.cleberg.net]] for an example. |
content/blog/2023-10-04-digital-minimalism.org +1 −1
| @@ -3,7 +3,7 @@ | |||
| 3 | #+description: | 3 | #+description: |
| 4 | #+slug: digital-minimalism | 4 | #+slug: digital-minimalism |
| 5 | 5 | ||
| 6 | I've written [[https://cmc.pub/wiki/#digital-garden][a note about minimalism]] | 6 | I've written [[https://cleberg.net/wiki/#digital-garden][a note about minimalism]] |
| 7 | before, but I wanted to dedicate some time to reflect on digital | 7 | before, but I wanted to dedicate some time to reflect on digital |
| 8 | minimalism and how I've been able to minimize the impact of digital | 8 | minimalism and how I've been able to minimize the impact of digital |
| 9 | devices in my life. | 9 | devices in my life. |
content/blog/2023-10-17-self-hosting-anonymousoverflow.org +2 −2
| @@ -6,7 +6,7 @@ | |||
| 6 | * Overview | 6 | * Overview |
| 7 | 7 | ||
| 8 | I recently launched an instance of AnonymousOverflow at | 8 | I recently launched an instance of AnonymousOverflow at |
| 9 | [[https://ao.cmc.pub][ao.cmc.pub]] and wanted to write a brief | 9 | [[https://ao.cleberg.net][ao.cleberg.net]] and wanted to write a brief |
| 10 | post on how easy it is to install with Docker Compose and Nginx. | 10 | post on how easy it is to install with Docker Compose and Nginx. |
| 11 | 11 | ||
| 12 | This guide uses Ubuntu server, Docker Compose, and Nginx as a reverse | 12 | This guide uses Ubuntu server, Docker Compose, and Nginx as a reverse |
| @@ -128,4 +128,4 @@ sudo systemctl restart nginx.service | |||
| 128 | #+end_src | 128 | #+end_src |
| 129 | 129 | ||
| 130 | The website will now be available publicly. Visit | 130 | The website will now be available publicly. Visit |
| 131 | [[https://ao.cmc.pub][my instance]] for an example. | 131 | [[https://ao.cleberg.net][my instance]] for an example. |
content/blog/2024-03-13-doom-emacs.org +5 −5
| @@ -269,10 +269,10 @@ list them all, so I will simply cover a few of the basic commands I use myself. | |||
| 269 | 269 | ||
| 270 | (setq org-publish-project-alist | 270 | (setq org-publish-project-alist |
| 271 | `(("blog" | 271 | `(("blog" |
| 272 | :base-directory "~/Source/cmc.pub/" | 272 | :base-directory "~/Source/cleberg.net/" |
| 273 | :base-extension "org" | 273 | :base-extension "org" |
| 274 | :recursive t | 274 | :recursive t |
| 275 | :publishing-directory "~/Source/cmc.pub/public/" | 275 | :publishing-directory "~/Source/cleberg.net/public/" |
| 276 | :publishing-function org-html-publish-to-html | 276 | :publishing-function org-html-publish-to-html |
| 277 | ;; HTML5 | 277 | ;; HTML5 |
| 278 | :html-doctype "html5" | 278 | :html-doctype "html5" |
| @@ -311,13 +311,13 @@ list them all, so I will simply cover a few of the basic commands I use myself. | |||
| 311 | ) | 311 | ) |
| 312 | 312 | ||
| 313 | ("static" | 313 | ("static" |
| 314 | :base-directory "~/Source/cmc.pub/static/" | 314 | :base-directory "~/Source/cleberg.net/static/" |
| 315 | :base-extension "css\\|txt\\|jpg\\|gif\\|png" | 315 | :base-extension "css\\|txt\\|jpg\\|gif\\|png" |
| 316 | :recursive t | 316 | :recursive t |
| 317 | :publishing-directory "~/Source/cmc.pub/public/" | 317 | :publishing-directory "~/Source/cleberg.net/public/" |
| 318 | :publishing-function org-publish-attachment) | 318 | :publishing-function org-publish-attachment) |
| 319 | 319 | ||
| 320 | ("cmc.pub" :components ("blog" "static")))) | 320 | ("cleberg.net" :components ("blog" "static")))) |
| 321 | #+end_src | 321 | #+end_src |
| 322 | 322 | ||
| 323 | ** General Thoughts | 323 | ** General Thoughts |
content/blog/2024-03-29-org-blog.org +6 −6
| @@ -8,7 +8,7 @@ feed duplicated itself when I moved this blog over to org-mode last night. | |||
| 8 | 8 | ||
| 9 | This post focuses specifically on the configuration and tools I use to blog from | 9 | This post focuses specifically on the configuration and tools I use to blog from |
| 10 | Emacs with Org-Mode and does not focus on Emacs or Org-Mode themselves. Refer to | 10 | Emacs with Org-Mode and does not focus on Emacs or Org-Mode themselves. Refer to |
| 11 | the post I wrote about [[https://cmc.pub/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base | 11 | the post I wrote about [[https://cleberg.net/blog/doom-emacs-org-mode.html][Doom Emacs & Org-Mode]] for more information about my base |
| 12 | Emacs configuration. | 12 | Emacs configuration. |
| 13 | 13 | ||
| 14 | * Weblorg | 14 | * Weblorg |
| @@ -60,7 +60,7 @@ Now that I've installed weblorg, I need to configure the project. I'll start by | |||
| 60 | navigating to my site's source code and creating a =publish.el= file. | 60 | navigating to my site's source code and creating a =publish.el= file. |
| 61 | 61 | ||
| 62 | #+begin_src sh | 62 | #+begin_src sh |
| 63 | cd ~/Source/cmc.pub && nano publish.el | 63 | cd ~/Source/cleberg.net && nano publish.el |
| 64 | #+end_src | 64 | #+end_src |
| 65 | 65 | ||
| 66 | Since I'm using Doom, Emacs will not automatically load the packages I need | 66 | 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 | |||
| 80 | ;; To build with the custom URL below, call: | 80 | ;; To build with the custom URL below, call: |
| 81 | ;;;; ENV=prod emacs --script publish.el | 81 | ;;;; ENV=prod emacs --script publish.el |
| 82 | (if (string= (getenv "ENV") "prod") | 82 | (if (string= (getenv "ENV") "prod") |
| 83 | (setq weblorg-default-url "https://cmc.pub")) | 83 | (setq weblorg-default-url "https://cleberg.net")) |
| 84 | 84 | ||
| 85 | ;; site metadata | 85 | ;; site metadata |
| 86 | (weblorg-site | 86 | (weblorg-site |
| 87 | :theme nil | 87 | :theme nil |
| 88 | :template-vars '(("site_name" . "cmc.pub") | 88 | :template-vars '(("site_name" . "cleberg.net") |
| 89 | ("site_owner" . "hello@cmc.pub") | 89 | ("site_owner" . "hello@cleberg.net") |
| 90 | ("site_description" . "Just a blip of ones and zeroes."))) | 90 | ("site_description" . "Just a blip of ones and zeroes."))) |
| 91 | 91 | ||
| 92 | ;; route for rendering the index page of the website | 92 | ;; route for rendering the index page of the website |
| @@ -235,7 +235,7 @@ Within this script, I do the following: | |||
| 235 | #+begin_src sh | 235 | #+begin_src sh |
| 236 | rm -rf .build/* && \ | 236 | rm -rf .build/* && \ |
| 237 | ENV=prod emacs--script publish.el && \ | 237 | ENV=prod emacs--script publish.el && \ |
| 238 | scp -r .build/* ubuntu:/var/www/cmc.pub/ | 238 | scp -r .build/* ubuntu:/var/www/cleberg.net/ |
| 239 | #+end_src | 239 | #+end_src |
| 240 | 240 | ||
| 241 | *** Time to Build | 241 | *** Time to Build |
content/blog/2024-04-08-docker-local-web-server.org +6 −6
| @@ -76,7 +76,7 @@ To see the updates, you can delete the previous container in the GUI or run | |||
| 76 | =docker run= command below. | 76 | =docker run= command below. |
| 77 | 77 | ||
| 78 | #+begin_src sh | 78 | #+begin_src sh |
| 79 | 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 | 79 | 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 |
| 80 | #+end_src | 80 | #+end_src |
| 81 | 81 | ||
| 82 | Here's an example of my development configuration file. | 82 | Here's an example of my development configuration file. |
| @@ -84,14 +84,14 @@ Here's an example of my development configuration file. | |||
| 84 | #+begin_src conf | 84 | #+begin_src conf |
| 85 | # nginx-config.conf | 85 | # nginx-config.conf |
| 86 | server { | 86 | server { |
| 87 | server_name cmc.pub www.cmc.pub; | 87 | server_name cleberg.net www.cleberg.net; |
| 88 | 88 | ||
| 89 | root /usr/share/nginx/html; | 89 | root /usr/share/nginx/html; |
| 90 | index index.html; | 90 | index index.html; |
| 91 | autoindex on; | 91 | autoindex on; |
| 92 | 92 | ||
| 93 | access_log /var/log/nginx/cmc.pub.access.log; | 93 | access_log /var/log/nginx/cleberg.net.access.log; |
| 94 | error_log /var/log/nginx/cmc.pub.error.log; | 94 | error_log /var/log/nginx/cleberg.net.error.log; |
| 95 | 95 | ||
| 96 | location / { | 96 | location / { |
| 97 | try_files $uri $uri/ =404; | 97 | try_files $uri $uri/ =404; |
| @@ -109,7 +109,7 @@ server { | |||
| 109 | I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to | 109 | I am currently blogging with [[https://emacs.love/weblorg/][weblorg]], which uses a custom =publish.el= file to |
| 110 | build the static site. Within this file, I have configured my deployment process | 110 | build the static site. Within this file, I have configured my deployment process |
| 111 | to check for the =ENV= variable in thesh and if it's set to =prod=, the script | 111 | to check for the =ENV= variable in thesh and if it's set to =prod=, the script |
| 112 | will set the base URLs to =https://cmc.pub=. If not, it sets the base URLs | 112 | will set the base URLs to =https://cleberg.net=. If not, it sets the base URLs |
| 113 | to =localhost:8000= (which matches the port used in the container above). | 113 | to =localhost:8000= (which matches the port used in the container above). |
| 114 | 114 | ||
| 115 | Therefore, I have modified my =build.sh= script to build with =localhost= URLs | 115 | Therefore, I have modified my =build.sh= script to build with =localhost= URLs |
| @@ -123,7 +123,7 @@ if [ "$ENV" == "prod" ]; then | |||
| 123 | echo "Environment = Production" && \ | 123 | echo "Environment = Production" && \ |
| 124 | rm -rf .build/* && \ | 124 | rm -rf .build/* && \ |
| 125 | emacs --script publish.el && \ | 125 | emacs --script publish.el && \ |
| 126 | scp -r .build/* ubuntu:/var/www/cmc.pub/ | 126 | scp -r .build/* ubuntu:/var/www/cleberg.net/ |
| 127 | else | 127 | else |
| 128 | echo "Environment = Development" && \ | 128 | echo "Environment = Development" && \ |
| 129 | rm -rf .build/* && \ | 129 | rm -rf .build/* && \ |
content/blog/2024-04-18-mu4e.org +3 −3
| @@ -159,9 +159,9 @@ auth on | |||
| 159 | host smtp.startmail.com | 159 | host smtp.startmail.com |
| 160 | port 465 | 160 | port 465 |
| 161 | protocol smtp | 161 | protocol smtp |
| 162 | from hello@cmc.pub | 162 | from hello@cleberg.net |
| 163 | user hello@cmc.pub | 163 | user hello@cleberg.net |
| 164 | passwordeval security find-generic-password -s startmail -a hello@cmc.pub -w | 164 | passwordeval security find-generic-password -s startmail -a hello@cleberg.net -w |
| 165 | tls on | 165 | tls on |
| 166 | tls_starttls off | 166 | tls_starttls off |
| 167 | 167 | ||
content/blog/2024-08-11-org-mode-features.org +8 −8
| @@ -7,7 +7,7 @@ | |||
| 7 | * Cycling (Folding) | 7 | * Cycling (Folding) |
| 8 | 8 | ||
| 9 | #+begin_quote | 9 | #+begin_quote |
| 10 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L7][View this section]] in org-mode. | 10 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L7][View this section]] in org-mode. |
| 11 | #+end_quote | 11 | #+end_quote |
| 12 | 12 | ||
| 13 | My absolute top-used feature is [[https://orgmode.org/manual/Global-and-local-cycling.html][global and local cycling]] and it's not even | 13 | 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: | |||
| 55 | * TODO Lists | 55 | * TODO Lists |
| 56 | 56 | ||
| 57 | #+begin_quote | 57 | #+begin_quote |
| 58 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L55][View this section]] in org-mode. | 58 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L55][View this section]] in org-mode. |
| 59 | #+end_quote | 59 | #+end_quote |
| 60 | 60 | ||
| 61 | Next up on in this post are [[https://orgmode.org/manual/TODO-Items.html][TODO Lists]]. Being able to combine note taking and | 61 | 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. | |||
| 106 | * Time Stamping | 106 | * Time Stamping |
| 107 | 107 | ||
| 108 | #+begin_quote | 108 | #+begin_quote |
| 109 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L106][View this section]] in org-mode. | 109 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L106][View this section]] in org-mode. |
| 110 | #+end_quote | 110 | #+end_quote |
| 111 | 111 | ||
| 112 | Another great feature are the [[https://orgmode.org/manual/Dates-and-Times.html][dates and times]] functionalities within org-mode. | 112 | 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. | |||
| 137 | * Tags | 137 | * Tags |
| 138 | 138 | ||
| 139 | #+begin_quote | 139 | #+begin_quote |
| 140 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L137][View this section]] in org-mode. | 140 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L137][View this section]] in org-mode. |
| 141 | #+end_quote | 141 | #+end_quote |
| 142 | 142 | ||
| 143 | Next up are [[https://orgmode.org/manual/Tags.html][Tags]], which provide a way to document contexts within and across | 143 | 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. | |||
| 162 | * Tables | 162 | * Tables |
| 163 | 163 | ||
| 164 | #+begin_quote | 164 | #+begin_quote |
| 165 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L162][View this section]] in org-mode. | 165 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L162][View this section]] in org-mode. |
| 166 | #+end_quote | 166 | #+end_quote |
| 167 | 167 | ||
| 168 | One of the most inconvenient parts of writing in Markdown was dealing with | 168 | One of the most inconvenient parts of writing in Markdown was dealing with |
| @@ -232,7 +232,7 @@ on the second line. | |||
| 232 | * Source Code Blocks | 232 | * Source Code Blocks |
| 233 | 233 | ||
| 234 | #+begin_quote | 234 | #+begin_quote |
| 235 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L232][View this section]] in org-mode. | 235 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L232][View this section]] in org-mode. |
| 236 | #+end_quote | 236 | #+end_quote |
| 237 | 237 | ||
| 238 | ** Introduction to Source Code Blocks | 238 | ** Introduction to Source Code Blocks |
| @@ -302,7 +302,7 @@ results below the code block. | |||
| 302 | * Exporting and Publishing | 302 | * Exporting and Publishing |
| 303 | 303 | ||
| 304 | #+begin_quote | 304 | #+begin_quote |
| 305 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L302][View this section]] in org-mode. | 305 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L302][View this section]] in org-mode. |
| 306 | #+end_quote | 306 | #+end_quote |
| 307 | 307 | ||
| 308 | I would be remiss if I did not mention the native [[https://orgmode.org/manual/Exporting.html][exporting and publishing]] | 308 | 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. | |||
| 336 | * Agenda | 336 | * Agenda |
| 337 | 337 | ||
| 338 | #+begin_quote | 338 | #+begin_quote |
| 339 | [[https://github.com/ccleberg/cmc.pub/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L336][View this section]] in org-mode. | 339 | [[https://github.com/ccleberg/cleberg.net/blob/main/content/blog/2024-08-11-org-mode-features.org?plain=1#L336][View this section]] in org-mode. |
| 340 | #+end_quote | 340 | #+end_quote |
| 341 | 341 | ||
| 342 | Last, but not least, are [[https://orgmode.org/manual/Agenda-Views.html][Agenda Views]]. With agenda views, you can easily view | 342 | Last, but not least, are [[https://orgmode.org/manual/Agenda-Views.html][Agenda Views]]. With agenda views, you can easily view |
content/blog/2024-12-27-self-hosting-the-lounge.org +1 −1
| @@ -11,7 +11,7 @@ desirable features for a modern IRC client. The Lounge supports push | |||
| 11 | notifications, link previews, file uploads, always connected, multi-user | 11 | notifications, link previews, file uploads, always connected, multi-user |
| 12 | support, and is available as a PWA for mobile devices. | 12 | support, and is available as a PWA for mobile devices. |
| 13 | 13 | ||
| 14 | I wanted to write this as I had written a post about [[https://cmc.pub/blog/self-hosting-convos.html][self-hosting Convos]] and | 14 | I wanted to write this as I had written a post about [[https://cleberg.net/blog/self-hosting-convos.html][self-hosting Convos]] and |
| 15 | have recently migrated over to The Lounge instead. | 15 | have recently migrated over to The Lounge instead. |
| 16 | 16 | ||
| 17 | If you'd like to try a demo first, head over to [[https://demo.thelounge.chat/][the official demo website]]. | 17 | If you'd like to try a demo first, head over to [[https://demo.thelounge.chat/][the official demo website]]. |
content/blog/2025-02-24-email-migration.org +1 −1
| @@ -48,7 +48,7 @@ This led to a dead end as my two methods failed: | |||
| 48 | At this point, I decided to take a step back and use [[https://github.com/djcb/mu][mu]], a command-line utility | 48 | At this point, I decided to take a step back and use [[https://github.com/djcb/mu][mu]], a command-line utility |
| 49 | that would index my files and sync back and forth with Migadu for me. | 49 | that would index my files and sync back and forth with Migadu for me. |
| 50 | 50 | ||
| 51 | Using my blog post, [[https://cmc.pub/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the | 51 | Using my blog post, [[https://cleberg.net/blog/mu4e.html][Email in Doom Emacs with Mu4e on macOS]], (and skipping the |
| 52 | mu4e parts) I was able to set up a minimal directory connected to my Migadu IMAP | 52 | mu4e parts) I was able to set up a minimal directory connected to my Migadu IMAP |
| 53 | account. Using my terminal, I simply moved all of my messages into the =mu= | 53 | account. Using my terminal, I simply moved all of my messages into the =mu= |
| 54 | directory and synchronized the account, and voila, my messages synchronized | 54 | directory and synchronized the account, and voila, my messages synchronized |
content/blog/2025-03-11-new-domain.org +4 −4
| @@ -10,9 +10,9 @@ result: | |||
| 10 | |----------+-------------------+---------------| | 10 | |----------+-------------------+---------------| |
| 11 | | Category | Old | Current | | 11 | | Category | Old | Current | |
| 12 | |----------+-------------------+---------------| | 12 | |----------+-------------------+---------------| |
| 13 | | Domain | cleberg.net | [[https://cmc.pub][cmc.pub]] | | 13 | | Domain | cleberg.net | [[https://cleberg.net][cleberg.net]] | |
| 14 | | Email | hello@cleberg.net | [[mailto:hello@cmc.pub][hello@cmc.pub]] | | 14 | | Email | hello@cleberg.net | [[mailto:hello@cleberg.net][hello@cleberg.net]] | |
| 15 | | GPG Key | [[https://keys.openpgp.org/search?q=hello%40cleberg.net][hello@cleberg.net]] | [[https://keys.openpgp.org/search?q=hello%40cmc.pub][hello@cmc.pub]] | | 15 | | GPG Key | [[https://keys.openpgp.org/search?q=hello%40cleberg.net][hello@cleberg.net]] | [[https://keys.openpgp.org/search?q=hello%40cleberg.net][hello@cleberg.net]] | |
| 16 | |----------+-------------------+---------------| | 16 | |----------+-------------------+---------------| |
| 17 | 17 | ||
| 18 | /New services will continue to be updated on the [[https://cmc.pub/services/][services]] page./ | 18 | /New services will continue to be updated on the [[https://cleberg.net/services/][services]] page./ |
content/index.org +1 −1
| @@ -1,2 +1,2 @@ | |||
| 1 | #+title: cmc.pub | 1 | #+title: cleberg.net |
| 2 | #+description: Just a blip of ones and zeroes. | 2 | #+description: Just a blip of ones and zeroes. |
content/now/index.org +2 −2
| @@ -29,7 +29,7 @@ This is a [[https://nownownow.com/about][/now]] page. | |||
| 29 | 29 | ||
| 30 | - Achieved my GitHub Foundations cert. Very easy. | 30 | - Achieved my GitHub Foundations cert. Very easy. |
| 31 | - Migrated back to [[https://github.com/ccleberg][GitHub]]. | 31 | - Migrated back to [[https://github.com/ccleberg][GitHub]]. |
| 32 | - Migrated domain from =cleberg.net= to [[https://cmc.pub][cmc.pub]]. | 32 | - Migrated domain from =cleberg.net= to [[https://cleberg.net][cleberg.net]]. |
| 33 | - Deleted a bunch of accounts to reduce online footprint. Looking for more ways | 33 | - Deleted a bunch of accounts to reduce online footprint. Looking for more ways |
| 34 | to reduce. | 34 | to reduce. |
| 35 | 35 | ||
| @@ -41,4 +41,4 @@ This is a [[https://nownownow.com/about][/now]] page. | |||
| 41 | - Weather's warming up, so disc golf frequency is increasing. | 41 | - Weather's warming up, so disc golf frequency is increasing. |
| 42 | - Meeting new people at the Irish pub nearby. | 42 | - Meeting new people at the Irish pub nearby. |
| 43 | 43 | ||
| 44 | View the historical [[https://github.com/ccleberg/cmc.pub/commits/main/content/now/index.org][log of changes]] for this page. | 44 | View the historical [[https://github.com/ccleberg/cleberg.net/commits/main/content/now/index.org][log of changes]] for this page. |
content/salary/index.org +1 −1
| @@ -46,7 +46,7 @@ raise while in the same role. | |||
| 46 | | Teaching Assistant | University of Nebraska | Lincoln, NE | 2017-08 | 2018-05 | $7/hour | | 46 | | Teaching Assistant | University of Nebraska | Lincoln, NE | 2017-08 | 2018-05 | $7/hour | |
| 47 | | Community Management Intern | Walgreens | Lincoln, NE | 2017-06 | 2018-02 | $14/hour | | 47 | | Community Management Intern | Walgreens | Lincoln, NE | 2017-06 | 2018-02 | $14/hour | |
| 48 | 48 | ||
| 49 | [[[https://cmc.pub/salary.csv][source data]]] | 49 | [[[https://cleberg.net/salary.csv][source data]]] |
| 50 | 50 | ||
| 51 | ** Salary Visualization | 51 | ** Salary Visualization |
| 52 | :PROPERTIES: | 52 | :PROPERTIES: |
content/services/index.org +23 −23
| @@ -5,32 +5,32 @@ | |||
| 5 | 5 | ||
| 6 | | Service | Replaces | | 6 | | Service | Replaces | |
| 7 | |-------------------+------------------| | 7 | |-------------------+------------------| |
| 8 | | [[https://ao.cmc.pub/][AnonymousOverflow]] | StackOverflow | | 8 | | [[https://ao.cleberg.net/][AnonymousOverflow]] | StackOverflow | |
| 9 | | [[https://br.cmc.pub/][BiblioReads]] | Goodreads | | 9 | | [[https://br.cleberg.net/][BiblioReads]] | Goodreads | |
| 10 | | [[https://pin.cmc.pub/][Binternet]] | Pinterest | | 10 | | [[https://pin.cleberg.net/][Binternet]] | Pinterest | |
| 11 | | [[https://bw.cmc.pub/][BreezeWiki]] | Fandom | | 11 | | [[https://bw.cleberg.net/][BreezeWiki]] | Fandom | |
| 12 | | [[https://ld.cmc.pub][LibremDB]] | IMDb | | 12 | | [[https://ld.cleberg.net][LibremDB]] | IMDb | |
| 13 | | [[https://pb.cmc.pub][Priviblur]] | Tumblr | | 13 | | [[https://pb.cleberg.net][Priviblur]] | Tumblr | |
| 14 | | [[https://rimgo.cmc.pub/][Rimgo]] | Imgur | | 14 | | [[https://rimgo.cleberg.net/][Rimgo]] | Imgur | |
| 15 | | [[https://rd.cmc.pub/][Rural Dictionary]] | Urban Dictionary | | 15 | | [[https://rd.cleberg.net/][Rural Dictionary]] | Urban Dictionary | |
| 16 | | [[https://art.cmc.pub/][SkunkyArt]] | DeviantArt | | 16 | | [[https://art.cleberg.net/][SkunkyArt]] | DeviantArt | |
| 17 | | [[https://small.cmc.pub][Small]] | Medium | | 17 | | [[https://small.cleberg.net][Small]] | Medium | |
| 18 | | [[https://yt.cmc.pub/][Invidious]] | YouTube | | 18 | | [[https://yt.cleberg.net/][Invidious]] | YouTube | |
| 19 | 19 | ||
| 20 | * Other Services | 20 | * Other Services |
| 21 | 21 | ||
| 22 | | Service | Description | | 22 | | Service | Description | |
| 23 | |----------------+--------------------------------------------------| | 23 | |----------------+--------------------------------------------------| |
| 24 | | [[https://cc.cmc.pub/][CyberChef]] | The Cyber Swiss Army Knife | | 24 | | [[https://cc.cleberg.net/][CyberChef]] | The Cyber Swiss Army Knife | |
| 25 | | [[https://files.cmc.pub/][FileArchive]] | An interesting file archive | | 25 | | [[https://files.cleberg.net/][FileArchive]] | An interesting file archive | |
| 26 | | [[https://paste.cmc.pub/][FlashPaper]] | One-time encrypted password/secret sharing | | 26 | | [[https://paste.cleberg.net/][FlashPaper]] | One-time encrypted password/secret sharing | |
| 27 | | [[https://hat.cmc.pub/][Hat.sh]] | Simple, fast, secure client-side file encryption | | 27 | | [[https://hat.cleberg.net/][Hat.sh]] | Simple, fast, secure client-side file encryption | |
| 28 | | [[https://lt.cmc.pub][LibreTranslate]] | A translation engine | | 28 | | [[https://lt.cleberg.net][LibreTranslate]] | A translation engine | |
| 29 | | [[https://office.cmc.pub/][Office]] | The world's smallest office suite | | 29 | | [[https://office.cleberg.net/][Office]] | The world's smallest office suite | |
| 30 | | [[https://org.cmc.pub/][Org-Live]] | A basic org-mode editor for the web I built | | 30 | | [[https://org.cleberg.net/][Org-Live]] | A basic org-mode editor for the web I built | |
| 31 | | [[https://pgp.cmc.pub/][PGP]] | A simple and easy-to-use client-side PGP tool | | 31 | | [[https://pgp.cleberg.net/][PGP]] | A simple and easy-to-use client-side PGP tool | |
| 32 | | [[https://search.cmc.pub/][SearXNG]] | A privacy-respecting, open metasearch engine | | 32 | | [[https://search.cleberg.net/][SearXNG]] | A privacy-respecting, open metasearch engine | |
| 33 | | [[https://send.cmc.pub/][Send]] | Simple, private file sharing | | 33 | | [[https://send.cleberg.net/][Send]] | Simple, private file sharing | |
| 34 | | [[https://slash.cmc.pub/][Slash]] | Bookmark and link sharing platform | | 34 | | [[https://slash.cleberg.net/][Slash]] | Bookmark and link sharing platform | |
| 35 | 35 | ||
| 36 | See the [[https://github.com/ccleberg/cmc.pub/commits/main/content/services/index.org][git log]] if you want to see a log of changes made to this page. | 36 | See the [[https://github.com/ccleberg/cleberg.net/commits/main/content/services/index.org][git log]] if you want to see a log of changes made to this page. |
content/wiki/ios.org +1 −1
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | Related: | 4 | Related: |
| 5 | 5 | ||
| 6 | - [[https://cmc.pub/wiki/hardware.html][Hardware]] | 6 | - [[https://cleberg.net/wiki/hardware.html][Hardware]] |
| 7 | 7 | ||
| 8 | My primary mobile OS. Currently running iOS 17. This wiki page contains most of | 8 | My primary mobile OS. Currently running iOS 17. This wiki page contains most of |
| 9 | the apps I have used at one point or another across my different iPhones. | 9 | the apps I have used at one point or another across my different iPhones. |
content/wiki/macos.org +1 −1
| @@ -3,7 +3,7 @@ | |||
| 3 | 3 | ||
| 4 | Related: | 4 | Related: |
| 5 | 5 | ||
| 6 | - [[https://cmc.pub/wiki/hardware/][Hardware]] | 6 | - [[https://cleberg.net/wiki/hardware/][Hardware]] |
| 7 | 7 | ||
| 8 | My primary OS. Currently running macOS Sonoma 14. This wiki page contains most | 8 | My primary OS. Currently running macOS Sonoma 14. This wiki page contains most |
| 9 | of the apps I have used at one point or another across my different Macbooks. | 9 | of the apps I have used at one point or another across my different Macbooks. |
publish.el +3 −3
| @@ -8,13 +8,13 @@ | |||
| 8 | 8 | ||
| 9 | ;; Set default URL for Weblorg | 9 | ;; Set default URL for Weblorg |
| 10 | (if (string= (getenv "ENV") "prod") | 10 | (if (string= (getenv "ENV") "prod") |
| 11 | (setq weblorg-default-url "https://cmc.pub")) | 11 | (setq weblorg-default-url "https://cleberg.net")) |
| 12 | 12 | ||
| 13 | ;; Define site configuration | 13 | ;; Define site configuration |
| 14 | (weblorg-site | 14 | (weblorg-site |
| 15 | :theme nil | 15 | :theme nil |
| 16 | :template-vars `(("site_name" . "cmc.pub") | 16 | :template-vars `(("site_name" . "cleberg.net") |
| 17 | ("site_owner" . "Christian Cleberg <hello@cmc.pub>") | 17 | ("site_owner" . "Christian Cleberg <hello@cleberg.net>") |
| 18 | ("site_description" . "Just a blip of ones and zeroes."))) | 18 | ("site_description" . "Just a blip of ones and zeroes."))) |
| 19 | 19 | ||
| 20 | ;; Define routes for rendering content | 20 | ;; Define routes for rendering content |
theme/static/.well-known/security.txt +3 −3
| @@ -1,11 +1,11 @@ | |||
| 1 | -----BEGIN PGP SIGNED MESSAGE----- | 1 | -----BEGIN PGP SIGNED MESSAGE----- |
| 2 | Hash: SHA512 | 2 | Hash: SHA512 |
| 3 | 3 | ||
| 4 | Contact: mailto:hello@cmc.pub | 4 | Contact: mailto:hello@cleberg.net |
| 5 | Expires: 2100-01-01T06:00:00.000Z | 5 | Expires: 2100-01-01T06:00:00.000Z |
| 6 | Encryption: https://cmc.pub/gpg.txt | 6 | Encryption: https://cleberg.net/gpg.txt |
| 7 | Preferred-Languages: en | 7 | Preferred-Languages: en |
| 8 | Canonical: https://cmc.pub/.well-known/security.txt | 8 | Canonical: https://cleberg.net/.well-known/security.txt |
| 9 | -----BEGIN PGP SIGNATURE----- | 9 | -----BEGIN PGP SIGNATURE----- |
| 10 | 10 | ||
| 11 | iHUEARYKAB0WIQTGhwCm+ktxg7bO5H3u3Jlc0U8ZPAUCZ9DLeQAKCRDu3Jlc0U8Z | 11 | iHUEARYKAB0WIQTGhwCm+ktxg7bO5H3u3Jlc0U8ZPAUCZ9DLeQAKCRDu3Jlc0U8Z |
theme/templates/base.html +1 −1
| @@ -34,7 +34,7 @@ | |||
| 34 | <p>Last build: <{{ now() | strftime("%Y-%m-%d %a %H:%M:%S") }}></p> | 34 | <p>Last build: <{{ now() | strftime("%Y-%m-%d %a %H:%M:%S") }}></p> |
| 35 | <p> | 35 | <p> |
| 36 | <a href="https://stats.uptimerobot.com/OwOWs7HU0z">Status</a> · | 36 | <a href="https://stats.uptimerobot.com/OwOWs7HU0z">Status</a> · |
| 37 | <a href="https://github.com/ccleberg/cmc.pub" target="_blank" | 37 | <a href="https://github.com/ccleberg/cleberg.net" target="_blank" |
| 38 | rel="noopener">Source Code</a> · | 38 | rel="noopener">Source Code</a> · |
| 39 | <a href="/feed.xml">RSS Feed</a> · | 39 | <a href="/feed.xml">RSS Feed</a> · |
| 40 | <a href="/.well-known/security.txt">security.txt</a> | 40 | <a href="/.well-known/security.txt">security.txt</a> |
theme/templates/feed.xml +3 −3
| @@ -10,7 +10,7 @@ | |||
| 10 | xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" | 10 | xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" |
| 11 | xmlns:media="http://search.yahoo.com/mrss/"> | 11 | xmlns:media="http://search.yahoo.com/mrss/"> |
| 12 | <channel> | 12 | <channel> |
| 13 | <title>{{ site_name | default("cmc.pub") }}</title> | 13 | <title>{{ site_name | default("cleberg.net") }}</title> |
| 14 | <atom:link | 14 | <atom:link |
| 15 | href="{{ url_for("rss") }}" | 15 | href="{{ url_for("rss") }}" |
| 16 | rel="self" type="application/rss+xml" /> | 16 | rel="self" type="application/rss+xml" /> |
| @@ -20,13 +20,13 @@ | |||
| 20 | <pubDate>{{ posts | first | getattr("date") | strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate> | 20 | <pubDate>{{ posts | first | getattr("date") | strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate> |
| 21 | <lastBuildDate>{{ now() | strftime("%a, %d %b %Y %H:%M:%S %z") }}</lastBuildDate> | 21 | <lastBuildDate>{{ now() | strftime("%a, %d %b %Y %H:%M:%S %z") }}</lastBuildDate> |
| 22 | <generator>{{ meta.generator }}</generator> | 22 | <generator>{{ meta.generator }}</generator> |
| 23 | <webMaster>{{ site_owner | default("hello@cmc.pub") }}</webMaster> | 23 | <webMaster>{{ site_owner | default("hello@cleberg.net") }}</webMaster> |
| 24 | 24 | ||
| 25 | {% for post in posts %} | 25 | {% for post in posts %} |
| 26 | <item> | 26 | <item> |
| 27 | <title>{{ post.title }}</title> | 27 | <title>{{ post.title }}</title> |
| 28 | <link>{{ url_for("blog", slug=post.slug) }}</link> | 28 | <link>{{ url_for("blog", slug=post.slug) }}</link> |
| 29 | <author>{{ post.author|default("hello@cmc.pub") }}</author> | 29 | <author>{{ post.author|default("hello@cleberg.net") }}</author> |
| 30 | <guid isPermaLink="false">{{ url_for("blog", slug=post.slug) }}</guid> | 30 | <guid isPermaLink="false">{{ url_for("blog", slug=post.slug) }}</guid> |
| 31 | <pubDate>{{ post.date|strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate> | 31 | <pubDate>{{ post.date|strftime("%a, %d %b %Y %H:%M:%S %z") }}</pubDate> |
| 32 | <description><![CDATA[{{ post.html|safe }}]]></description> | 32 | <description><![CDATA[{{ post.html|safe }}]]></description> |
theme/templates/index.html +8 −8
| @@ -1,9 +1,9 @@ | |||
| 1 | {% extends "base.html" %} {% block main %} | 1 | {% extends "base.html" %} {% block main %} |
| 2 | <section> | 2 | <section> |
| 3 | <h1><i>~cmc.pub</i></h1> | 3 | <h1><i>~cleberg.net</i></h1> |
| 4 | <pre>pub ed25519 2025-03-11 [SCA] | 4 | <pre>pub ed25519 2025-03-11 [SCA] |
| 5 | <a href="/gpg.txt">C687 00A6 FA4B 7183 B6CE E47D EEDC 995C D14F 193C</a> | 5 | <a href="/gpg.txt">C687 00A6 FA4B 7183 B6CE E47D EEDC 995C D14F 193C</a> |
| 6 | uid [ultimate] Christian Cleberg <hello@cmc.pub> | 6 | uid [ultimate] Christian Cleberg <hello@cleberg.net> |
| 7 | sub cv25519 2025-03-11 [E]</pre> | 7 | sub cv25519 2025-03-11 [E]</pre> |
| 8 | </section> | 8 | </section> |
| 9 | <section> | 9 | <section> |
| @@ -32,7 +32,7 @@ sub cv25519 2025-03-11 [E]</pre> | |||
| 32 | <section> | 32 | <section> |
| 33 | <h2>Everything Else</h2> | 33 | <h2>Everything Else</h2> |
| 34 | <ul> | 34 | <ul> |
| 35 | <li><a href="https://cv.cmc.pub">Curriculum Vitae</a></li> | 35 | <li><a href="https://cv.cleberg.net">Curriculum Vitae</a></li> |
| 36 | <li><a href="/now/">Now</a></li> | 36 | <li><a href="/now/">Now</a></li> |
| 37 | <li><a href="/salary/">Salary</a></li> | 37 | <li><a href="/salary/">Salary</a></li> |
| 38 | <li><a href="/services/">Services</a></li> | 38 | <li><a href="/services/">Services</a></li> |
| @@ -43,9 +43,9 @@ sub cv25519 2025-03-11 [E]</pre> | |||
| 43 | <section> | 43 | <section> |
| 44 | <h2>Contact</h2> | 44 | <h2>Contact</h2> |
| 45 | <ul> | 45 | <ul> |
| 46 | <li><a href="mailto:hello@cmc.pub">hello@cmc.pub</a> (<a href="https://cmc.pub/gpg.txt">GPG</a>)</li> | 46 | <li><a href="mailto:hello@cleberg.net">hello@cleberg.net</a> (<a href="https://cleberg.net/gpg.txt">GPG</a>)</li> |
| 47 | <li>cyb0rg on <a href="https://libera.chat/">libera.chat</a></li> | 47 | <li>cyb0rg on <a href="https://libera.chat/">libera.chat</a></li> |
| 48 | <li><a href="https://lemmy.cmc.pub/u/cmc">@cmc</a> on Lemmy</li> | 48 | <li><a href="https://lemmy.cleberg.net/u/cmc">@cmc</a> on Lemmy</li> |
| 49 | <li>@cmc.01 on <a href="https://signal.org/">Signal</a></li> | 49 | <li>@cmc.01 on <a href="https://signal.org/">Signal</a></li> |
| 50 | <li><a href="https://github.com/ccleberg">GitHub</a></li> | 50 | <li><a href="https://github.com/ccleberg">GitHub</a></li> |
| 51 | </ul> | 51 | </ul> |
| @@ -55,9 +55,9 @@ sub cv25519 2025-03-11 [E]</pre> | |||
| 55 | <div class="h-card"> | 55 | <div class="h-card"> |
| 56 | <span class="p-name">Christian Cleberg</span> | 56 | <span class="p-name">Christian Cleberg</span> |
| 57 | <span class="p-nickname">cmc</span> (IRC) | 57 | <span class="p-nickname">cmc</span> (IRC) |
| 58 | <img class="u-photo" src="https://cmc.pub/favicon.png"/> | 58 | <img class="u-photo" src="https://cleberg.net/favicon.png"/> |
| 59 | <a class="u-url u-uid" href="http://cmc.pub" rel="me">w</a>, | 59 | <a class="u-url u-uid" href="http://cleberg.net" rel="me">w</a>, |
| 60 | <a class="u-email" href="mailto:hello@cmc.pub">e</a> | 60 | <a class="u-email" href="mailto:hello@cleberg.net">e</a> |
| 61 | <span class="p-locality">Omaha</span>, | 61 | <span class="p-locality">Omaha</span>, |
| 62 | <abbr class="p-region" title="Nebraska">NE</abbr>, | 62 | <abbr class="p-region" title="Nebraska">NE</abbr>, |
| 63 | <div class="p-country-name">U.S.A</div> | 63 | <div class="p-country-name">U.S.A</div> |
theme/templates/post.html +1 −1
| @@ -23,6 +23,6 @@ | |||
| 23 | {% endif %} | 23 | {% endif %} |
| 24 | </section> | 24 | </section> |
| 25 | <section>{{ post.html | safe }}</section> | 25 | <section>{{ post.html | safe }}</section> |
| 26 | <blockquote><a href="mailto:hello@cmc.pub">Reply via email</a></blockquote> | 26 | <blockquote><a href="mailto:hello@cleberg.net">Reply via email</a></blockquote> |
| 27 | </article> | 27 | </article> |
| 28 | {% endblock %} | 28 | {% endblock %} |
utils/hooks/post-push +1 −1
| @@ -26,4 +26,4 @@ emacs --script publish.el &>/dev/null | |||
| 26 | minify -o theme/static/styles.min.css theme/static/styles.css | 26 | minify -o theme/static/styles.min.css theme/static/styles.css |
| 27 | 27 | ||
| 28 | # Deploy changes | 28 | # Deploy changes |
| 29 | rsync -r --delete-before .build/* $ubuntu_server:/var/www/cmc.pub/ | 29 | rsync -r --delete-before .build/* $ubuntu_server:/var/www/cleberg.net/ |
utils/nginx-dev.conf +3 −3
| @@ -1,12 +1,12 @@ | |||
| 1 | server { | 1 | server { |
| 2 | server_name cmc.pub www.cmc.pub; | 2 | server_name cleberg.net www.cleberg.net; |
| 3 | 3 | ||
| 4 | root /usr/share/nginx/html; | 4 | root /usr/share/nginx/html; |
| 5 | index index.html; | 5 | index index.html; |
| 6 | autoindex on; | 6 | autoindex on; |
| 7 | 7 | ||
| 8 | access_log /var/log/nginx/cmc.pub.access.log; | 8 | access_log /var/log/nginx/cleberg.net.access.log; |
| 9 | error_log /var/log/nginx/cmc.pub.error.log; | 9 | error_log /var/log/nginx/cleberg.net.error.log; |
| 10 | 10 | ||
| 11 | location / { | 11 | location / { |
| 12 | try_files $uri $uri/ =404; | 12 | try_files $uri $uri/ =404; |
utils/salary_visualization.py +1 −1
| @@ -13,7 +13,7 @@ import plotly.graph_objs as go | |||
| 13 | locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') | 13 | locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') |
| 14 | 14 | ||
| 15 | # Read the CSV file | 15 | # Read the CSV file |
| 16 | df = pd_read_csv('~/git/cmc.pub/theme/static/salary.csv') | 16 | df = pd_read_csv('~/git/cleberg.net/theme/static/salary.csv') |
| 17 | 17 | ||
| 18 | def format_currency(value: float) -> str: | 18 | def format_currency(value: float) -> str: |
| 19 | """ | 19 | """ |