site

files for beauhilton.com
git clone https://git.beauhilton.com/site.git
Log | Files | Refs

colophon.md (3223B)


      1 # Colophon
      2 
      3 This site is hosted on an [OpenBSD](https://www.openbsd.org/) server 
      4 on [vultr](https://vultr.com),
      5 built using plain text files processed by [soupault](https://soupault.app)
      6 and auto-[rsync'd](https://en.wikipedia.org/wiki/Rsync) to the server 
      7 as part of a pre-commit hook.
      8 
      9 The source files are available on [my git server](https://git.beauhilton.com/site/)
     10 and [GitHub](https://github.com/cbeauhilton/beauhilton.com).
     11 
     12 I also use [entr](https://eradman.com/entrproject/) (on Nix) 
     13 or [caretaker](https://github.com/grego/caretaker) (on Arch) 
     14 during development to auto-rebuild as I edit the source files.
     15 
     16 Regarding the design,
     17 the focus is on simplicity and a small footprint.
     18 It's the kind thing to do,
     19 for the user and the planet.
     20 No Javascript, just static HTML. 
     21 I used to specify fonts, 
     22 e.g. one of my favorites, [IBM Plex](https://www.ibm.com/plex/),
     23 but in an effort to keep things light and tidy,
     24 I now just use system fonts.
     25 
     26 <https://talks.beauhilton.com> and 
     27 <https://notes.beauhilton.com> 
     28 are not part of the website proper,
     29 but are rather generated using GitHub Pages.
     30 The talks are built using [slidev](https://sli.dev/),
     31 which translates markdown files into beautiful web-first slide decks
     32 (I now only use PowerPoint under great duress),
     33 and the notes use [quartz](https://quartz.jzhao.xyz/),
     34 which translates [Obsidian](https://obsidian.md/)-style markdown files 
     35 (see a theme here?) 
     36 into a website of interconnected notes
     37 a la [Zettelkasten](https://en.wikipedia.org/wiki/Zettelkasten).
     38 
     39 ## Nix Workflow
     40 
     41 As of 2023-10-10 or so, 
     42 I use a Nix-based workflow with flakes and [devenv.sh](https://devenv.sh/).
     43 The basic steps are similar to what is included below in the Non-Nix section,
     44 though more conveniently packaged and portable.
     45 
     46 It's delightful.
     47 
     48 I may write it up at some point, but for now, 
     49 look at [flake.nix](https://git.beauhilton.com/site/file/flake.nix.html) in the source code.
     50 One of the great things about Nix 
     51 is that it's self-documenting and self-contained.
     52 
     53 On my non-Nix laptop running Arch, I still use the workflow below,
     54 though at some point I'll probably install Nix on Arch and unify my approach.
     55 
     56 
     57 ## Non-Nix Workflow
     58 
     59 The workflow is terminal-based
     60 and pretty basic.
     61 
     62 It amounts to:
     63 
     64 ```shell
     65 cd src/site
     66 ./sh.sh
     67 $EDITOR site/gulag_archipelago.md
     68 ```
     69 
     70 `sh.sh` contains the following:
     71 
     72 ```shell
     73 $TERMINAL -e caretaker &>/dev/null & disown
     74 $TERMINAL -e python3 -m http.server --directory build &>/dev/null & disown
     75 $TERMINAL -e $BROWSER http://localhost:8000 &>/dev/null & disown
     76 ```
     77 
     78 This will open three new terminals running:
     79 a caretaker instance for auto-rebuild 
     80 (I recently activated caching in soupault, 
     81 rebuilds are lightning quick), 
     82 a web server for preview, 
     83 and a browser pointing to the server.
     84 
     85 At that point I will usually throw the terminals 
     86 running the server and `caretaker` to another desktop 
     87 to achieve a clean editing environment.
     88 
     89 When it's ready to go live,
     90 I use an alias called `glazy`: `git add . && git commit -m "update" && git push`.
     91 This will trigger the pre-commit hook,
     92 which rebuilds the site again
     93 and activates rsync to send the built site to the web server,
     94 before pushing the source files to
     95 GitHub and my git server.