~dricottone/blog

Portability bug fixes

Now building the site from a Debian-derivative system, as opposed to my
Arch PC. This has made several predictable and one very surprising bug.

First of all, `gawk` has to be specified rather than `/bin/awk` now.
This is a portable change in that `gawk` can be installed on practically
any system and is reliably found at `/usr/bin/gawk`. My mistake for
thinking all Linux distros used `gawk` for system `awk`...

The LaTeX distro for Debian-derivative systems is confusingly broken up,
and best solved by just relying on apt install `latex-cjk-all
texlive-lang-cjk` to work. As a part of this, I broke up the
PDF generation process into separate TeX and PDF file recipes.

I forgot that, due to ignored files, a certain directory wasn't created
by cloning the repo. Oops. Now that directory is explicitly created by a
recipe.

Lastly, it seems that there's an important difference in how escaped
newlines are interpretted in shell variables between `bash` and `dash`.
No idea what the actual reasoning is, but making `bsky.sh` into
`bsky.bash` works.
Linking to socials

A webring is added to the bottom of all blog posts and the home page.
This is powered by openring and stylized as a vertical list against a
light blue background (same blue as sent messages on Chat page).

My recent posts on bluesky are added to the home page. These are
stylized as received chat messages per the Chat page.

My most listened to songs (in alst 30 days) are listed on the home page.
This is an unstylized ordered list.

Minor change to the way width is applied to horizontal breaks.
Now content

Added a new post.

Also added highlighting to the code in an older post.
Chat fixes

Input fields now clear on reload of the web page.

Empty messages now can't be sent. Need to create some UI indicator of
the error, but for now the error is logged to the console at least.
UI Changes

The chat shortcode has been reworked. Rather than appearing as
paragraphs, the UI elements have been sorted into tabs that are hidden
by default and toggled by buttons.

IDs have been added+changed to accomodate this.

Button and input styling have been abstracted slightly. I am considering
moving these styles further out, to my blog CSS.
Fix to highlighted syntax
Styling chat bubbles

CSS for 'own' and 'other' chat bubbles. This is managed with some clever
positioning and rotation of borders. Colors and sizes are all TBD.

Minor tweaks to the JS to enable this. The message is now returned from
decrypt/verify functions as an object, where message.message contains
the content (which formerly was the entire return value) and
message.trust contains the MessageAuthenticated enum value.

I likely will add further styling for messages that could not be
decrypted, and for messages where the signature could not be verified.
Next