Notes to Self, on Self Hosting Fonts on My Hugo Blog

Writing this down, so that I will not struggle the next time1, I have to do this. I use Valkyrie for everything on the blog in various weights, except for code and preformatted stuff, which uses Source Code Pro Medium. Both are WOFF2 fonts. Anything in Hugo’s assets/css/extended folder will be picked up by Hugo and bundled into a single CSS file. The fonts are in subdirectories in the static/fonts/font-name folder. Anything in the static folder shows up at the root of the site. ~/mjb/blog/static/images/test.jpg will become /images/test.jpg I’ve created an embed-font-name.css file in the css folder above, with embed instructions generously provided by Matthew Butterick in his font documentation for Valkyrie. I adapted the same for Source Code Pro as well. Here’s a sample of my embed-source-code-pro.css 1 2 3 4 5 6 7 8 @font-face { font-family: 'Source Code Pro Medium'; font-style: normal; font-weight: medium; font-stretch: normal; font-display: auto; src: url('/fonts/source-code-pro/SourceCodePro-Medium.woff2') format('woff2'); } Finally, I created a zz-include-css.css file, which I use to overide the default CSS, so I can use my custom fonts. Since it starts with a zz it comes after the files above, that start with embed, in the final munged and minified CSS file. These are my instructions to have most text rendered with Valkyrie and code as Source Code Pro Medium2 1 2 3 4 5 6 7 8 9 10 #top { font-family: valkyrie; font-variant: oldstyle-nums; } .post-content pre, code { font-family: 'Source Code Pro Medium'; font-style: medium; font-weight: 500; } Look! So pretty :) P.S. Subscribe to my mailing list! Forward these posts and letters to your friends and get them to subscribe! P.P.S. Feed my insatiable reading habit. ...

October 9, 2022 · Mario Jason Braganza

Restart Emacs on System Startup

This post was originaly published on 2022-09-27. Updated 2022-09-28, to include the improved script. It’s been a year, since I figured out the hack that finally let me use my Compose key in Emacs.1 Without it, I am unable to type any kind of quotation marks or umlauts in emacs. A year in, and I’m tired of restarting the service everytime the machine comes on. The computer can do that for me. ...

September 28, 2022 · Mario Jason Braganza

Blocks in Org Mode

I remember, when I first learned it, the Org Manual mentioning I could have code, quotes, poetry and sundry self structured blocks of text, where the text in that block would flow like I wanted it to. I could have indentation or line breaks as I pleased. And then I promptly forgot about it. The only thing I did remember were code blocks. And that I needed to do a #+begin_src and then a #+end_src and put my code in the middle. And all this while, I would keep typing it in, by hand. ...

September 27, 2022 · Mario Jason Braganza

Exclude Files and Folders From an Rsync Copy

I’ve been sticking to plain old rsync -az to sling files around using Rsync. Until I ran into a hiccough today, where I filled up my teensy remote storage on the Pi, because a couple of subdirectories that were part of the run, were hundreds of megabytes large.1 So I did the usual, did hunt around the web thing, and learnt about --exclude So now the new Rsync command is … rsync -az src dest --exclude={'excluded_dir_1','excluded_dir_2'} ...

September 18, 2022 · Mario Jason Braganza

Line Numbers in Hugo Codeblocks

I want my code blocks on the blog to sometimes have line numbers. Looking at the Hugo docs here and here led me to the linenos argument. While we’d start our code blocks like (```python)1, all I need more is to add the line number argument like so. Vanilla code block … print(f""" “It’s silly to try to escape other people’s faults. They are inescapable. Just try to escape your own.” — Marcus Aurelius """) print(f""" “Just that you do the right thing. The rest doesn’t matter.” – Marcus Aurelius """) Now, using the linenos option, I can be all fancy to show … ...

September 17, 2022 · Mario Jason Braganza

Rename a File as You Work on It in Emacs

I often fat fingered the file name / buffer name / Org Roam link name when launching something new. And then when I am busy and knee deep in work, I glance up to see the error glaring at me. I figured out, looked up how to fix it Hit C-x d to flip into a dired buffer Find my filename in the list. (C-s can help search and narrow stuff) Then C-x C-q to go into Wdired mode Change the file name to whatever I want it to C-c C-c to be done with it. Et voilà! (If you are editing an Org Roam node, M-x org-roam-db-sync to keep everything shipshape)1 ...

September 16, 2022 · Mario Jason Braganza