From 9e4794d2791a8ff727bbff58a49a8184bc6d1bb7 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Fri, 28 Nov 2025 17:38:16 -0500 Subject: [PATCH 1/6] link source code --- src/content/git/auto-theme.nvim.mdx | 2 +- src/content/git/barrettruth.com.mdx | 2 +- src/content/git/bmath.mdx | 2 ++ src/content/git/competitive-programming.mdx | 2 ++ src/content/git/cp.nvim.mdx | 2 +- src/content/git/dots.mdx | 2 ++ src/content/git/midnight.nvim.mdx | 2 +- src/content/git/sl.mdx | 4 +++- src/content/git/wp.mdx | 2 ++ 9 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/content/git/auto-theme.nvim.mdx b/src/content/git/auto-theme.nvim.mdx index 5d56370..64a65b0 100644 --- a/src/content/git/auto-theme.nvim.mdx +++ b/src/content/git/auto-theme.nvim.mdx @@ -4,6 +4,6 @@ slug: "auto-theme.nvim" date: "11/28/2025" --- -[Source code](https://github.com/barrett-ruth/auto-theme.nvim) +[source code](github.com/barrett-ruth/auto-theme.nvim) wip diff --git a/src/content/git/barrettruth.com.mdx b/src/content/git/barrettruth.com.mdx index 40f2566..fe4ee55 100644 --- a/src/content/git/barrettruth.com.mdx +++ b/src/content/git/barrettruth.com.mdx @@ -4,4 +4,4 @@ date: "07/10/2025" slug: "barrettruth.com" --- -source code for this website +[source code](github.com/barrett-ruth/barrettruth.com) for this website diff --git a/src/content/git/bmath.mdx b/src/content/git/bmath.mdx index 6ddd306..3698795 100644 --- a/src/content/git/bmath.mdx +++ b/src/content/git/bmath.mdx @@ -3,6 +3,8 @@ title: "bmath" date: "09/10/2025" --- +[source code](github.com/barrett-ruth/bmath) + header-only c++23 math library built to learn and apply modern c++ in a competitive programming environment diff --git a/src/content/git/competitive-programming.mdx b/src/content/git/competitive-programming.mdx index 2dfd8ae..39e8afe 100644 --- a/src/content/git/competitive-programming.mdx +++ b/src/content/git/competitive-programming.mdx @@ -3,6 +3,8 @@ title: "competitive-programming" date: "09/10/2025" --- +[source code](github.com/barrett-ruth/competitive-programming) + a collection of my competitive programming solutions categorized as follows: - `/kattis`: a few ICPC problems from UVA's "practices" diff --git a/src/content/git/cp.nvim.mdx b/src/content/git/cp.nvim.mdx index 6f3156f..76f474d 100644 --- a/src/content/git/cp.nvim.mdx +++ b/src/content/git/cp.nvim.mdx @@ -4,7 +4,7 @@ slug: "cp.nvim" date: "10/10/2025" --- -[Source code](https://github.com/barrett-ruth/cp.nvim) +[source code](github.com/barrett-ruth/cp.nvim) Things have changed since I last documented my competitive programming setup [here](/software/my-cp-setup.html). diff --git a/src/content/git/dots.mdx b/src/content/git/dots.mdx index a83fe78..e0e4093 100644 --- a/src/content/git/dots.mdx +++ b/src/content/git/dots.mdx @@ -3,4 +3,6 @@ title: "dots" date: "07/10/2025" --- +[source code](github.com/barrett-ruth/dots) + collection of configurations for neovim, zsh, ghostty, xorg, tmux, as well as os-specific configurations and custom scripts diff --git a/src/content/git/midnight.nvim.mdx b/src/content/git/midnight.nvim.mdx index ead875f..194e2bf 100644 --- a/src/content/git/midnight.nvim.mdx +++ b/src/content/git/midnight.nvim.mdx @@ -4,7 +4,7 @@ slug: "midnight.nvim" date: "8/11/2025" --- -[Source code](https://github.com/barrett-ruth/midnight.nvim) +[source code](github.com/barrett-ruth/midnight.nvim) neovim theme for code, not colors. diff --git a/src/content/git/sl.mdx b/src/content/git/sl.mdx index da8555a..8a80aee 100644 --- a/src/content/git/sl.mdx +++ b/src/content/git/sl.mdx @@ -3,4 +3,6 @@ title: "sl" date: "09/10/2025" --- -[archive](/meditations/suck-less-or-suck-more) of [suckless](https://suckless.org/) repositories +[source code](github.com/barrett-ruth/sl) + +[archive](/meditations/suck-less-or-suck-more.html) of [suckless](https://suckless.org/) repositories diff --git a/src/content/git/wp.mdx b/src/content/git/wp.mdx index 8739bab..907ca17 100644 --- a/src/content/git/wp.mdx +++ b/src/content/git/wp.mdx @@ -3,4 +3,6 @@ title: "wp" date: "07/10/2025" --- +[source code](github.com/barrett-ruth/wp) + some of my wallpapers From c5dbbbf6b86c797946596f204956ff072c3b4d87 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Fri, 28 Nov 2025 17:41:20 -0500 Subject: [PATCH 2/6] fix url placemnt --- src/content/git/auto-theme.nvim.mdx | 2 -- src/content/git/barrettruth.com.mdx | 2 +- src/content/git/bmath.mdx | 2 -- src/content/git/competitive-programming.mdx | 2 -- src/content/git/cp.nvim.mdx | 2 -- src/content/git/dots.mdx | 2 -- src/content/git/midnight.nvim.mdx | 2 -- src/content/git/sl.mdx | 2 -- src/content/git/wp.mdx | 2 -- src/content/software/my-cp-setup.mdx | 2 -- src/pages/git/[slug].astro | 4 ++++ 11 files changed, 5 insertions(+), 19 deletions(-) diff --git a/src/content/git/auto-theme.nvim.mdx b/src/content/git/auto-theme.nvim.mdx index 64a65b0..f00f97c 100644 --- a/src/content/git/auto-theme.nvim.mdx +++ b/src/content/git/auto-theme.nvim.mdx @@ -4,6 +4,4 @@ slug: "auto-theme.nvim" date: "11/28/2025" --- -[source code](github.com/barrett-ruth/auto-theme.nvim) - wip diff --git a/src/content/git/barrettruth.com.mdx b/src/content/git/barrettruth.com.mdx index fe4ee55..c6916f9 100644 --- a/src/content/git/barrettruth.com.mdx +++ b/src/content/git/barrettruth.com.mdx @@ -4,4 +4,4 @@ date: "07/10/2025" slug: "barrettruth.com" --- -[source code](github.com/barrett-ruth/barrettruth.com) for this website +code for this website diff --git a/src/content/git/bmath.mdx b/src/content/git/bmath.mdx index 3698795..6ddd306 100644 --- a/src/content/git/bmath.mdx +++ b/src/content/git/bmath.mdx @@ -3,8 +3,6 @@ title: "bmath" date: "09/10/2025" --- -[source code](github.com/barrett-ruth/bmath) - header-only c++23 math library built to learn and apply modern c++ in a competitive programming environment diff --git a/src/content/git/competitive-programming.mdx b/src/content/git/competitive-programming.mdx index 39e8afe..2dfd8ae 100644 --- a/src/content/git/competitive-programming.mdx +++ b/src/content/git/competitive-programming.mdx @@ -3,8 +3,6 @@ title: "competitive-programming" date: "09/10/2025" --- -[source code](github.com/barrett-ruth/competitive-programming) - a collection of my competitive programming solutions categorized as follows: - `/kattis`: a few ICPC problems from UVA's "practices" diff --git a/src/content/git/cp.nvim.mdx b/src/content/git/cp.nvim.mdx index 76f474d..221e377 100644 --- a/src/content/git/cp.nvim.mdx +++ b/src/content/git/cp.nvim.mdx @@ -4,8 +4,6 @@ slug: "cp.nvim" date: "10/10/2025" --- -[source code](github.com/barrett-ruth/cp.nvim) - Things have changed since I last documented my competitive programming setup [here](/software/my-cp-setup.html). # my goals diff --git a/src/content/git/dots.mdx b/src/content/git/dots.mdx index e0e4093..a83fe78 100644 --- a/src/content/git/dots.mdx +++ b/src/content/git/dots.mdx @@ -3,6 +3,4 @@ title: "dots" date: "07/10/2025" --- -[source code](github.com/barrett-ruth/dots) - collection of configurations for neovim, zsh, ghostty, xorg, tmux, as well as os-specific configurations and custom scripts diff --git a/src/content/git/midnight.nvim.mdx b/src/content/git/midnight.nvim.mdx index 194e2bf..f7f0ed0 100644 --- a/src/content/git/midnight.nvim.mdx +++ b/src/content/git/midnight.nvim.mdx @@ -4,8 +4,6 @@ slug: "midnight.nvim" date: "8/11/2025" --- -[source code](github.com/barrett-ruth/midnight.nvim) - neovim theme for code, not colors. # motivation diff --git a/src/content/git/sl.mdx b/src/content/git/sl.mdx index 8a80aee..1dd6738 100644 --- a/src/content/git/sl.mdx +++ b/src/content/git/sl.mdx @@ -3,6 +3,4 @@ title: "sl" date: "09/10/2025" --- -[source code](github.com/barrett-ruth/sl) - [archive](/meditations/suck-less-or-suck-more.html) of [suckless](https://suckless.org/) repositories diff --git a/src/content/git/wp.mdx b/src/content/git/wp.mdx index 907ca17..8739bab 100644 --- a/src/content/git/wp.mdx +++ b/src/content/git/wp.mdx @@ -3,6 +3,4 @@ title: "wp" date: "07/10/2025" --- -[source code](github.com/barrett-ruth/wp) - some of my wallpapers diff --git a/src/content/software/my-cp-setup.mdx b/src/content/software/my-cp-setup.mdx index 58bbd91..c759e23 100644 --- a/src/content/software/my-cp-setup.mdx +++ b/src/content/software/my-cp-setup.mdx @@ -3,8 +3,6 @@ title: "my cp setup" date: "15/04/2025" --- -Source code [here](https://github.com/barrett-ruth/dots/blob/main/nvim/lua/cp.lua). - # my goals I wanted the following features in my competitive programming (cp) setup: diff --git a/src/pages/git/[slug].astro b/src/pages/git/[slug].astro index 763f227..5874028 100644 --- a/src/pages/git/[slug].astro +++ b/src/pages/git/[slug].astro @@ -13,6 +13,7 @@ export async function getStaticPaths() { const { repo } = Astro.props; const { Content } = await repo.render(); const cloneCommand = `git clone https://git.barrettruth.com/${repo.slug}.git`; +const githubUrl = `https://github.com/barrett-ruth/${repo.slug}`; --- @@ -24,5 +25,8 @@ const cloneCommand = `git clone https://git.barrettruth.com/${repo.slug}.git`; {cloneCommand} +
+
source code
+
From f4d5b70932bece06e458d72507b6703c231720bb Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Fri, 28 Nov 2025 19:46:21 -0500 Subject: [PATCH 3/6] more post --- src/content/git/auto-theme.nvim.mdx | 53 ++++++++++++++++++++++++++++- src/content/git/midnight.nvim.mdx | 4 +-- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/content/git/auto-theme.nvim.mdx b/src/content/git/auto-theme.nvim.mdx index f00f97c..6e2aeee 100644 --- a/src/content/git/auto-theme.nvim.mdx +++ b/src/content/git/auto-theme.nvim.mdx @@ -4,4 +4,55 @@ slug: "auto-theme.nvim" date: "11/28/2025" --- -wip +# the problem + +I toggle between light and dark mode at at around 17:00 every day. Resetting my environment and theme across all my applications was a pain. + +I use my color scheme [midnight.nvim](/git/midnight.nvim.html) on macOS and linux with these applications: + +1. [neovim](https://neovim.io/) +2. [ghostty](https://ghostty.org/) +3. [sioyek](https://sioyek.info/) +4. [ungoogled-chromium](https://github.com/ungoogled-software/ungoogled-chromium) +5. [swaywm](https://swaywm.org/) +6. [rofi](https://github.com/davatorium/rofi) +7. [fzf](https://github.com/junegunn/fzf) +8. [tmux](https://github.com/tmux/tmux/wiki) +9. [ripgrep](https://github.com/BurntSushi/ripgrep) +10. [zsh](https://www.zsh.org/) + +# criteria for solution + +I run or trigger _one command_--every application updates automatically. + +The feasability of this depends on the underlying support software has for dynamic reloading of configuration. In many cases this is not possible. + +# the solution + +As of November 28, 2025, I've created [this script](https://github.com/barrett-ruth/dots/blob/main/scripts/theme) which is bound by a [karabiner](https://karabiner-elements.pqrs.org/) and [keyd](https://github.com/rvaiya/keyd) binding for macOS and linux, respectively. + +## successes + +1. neovim: I use my non-polling, macOS/linux-supporting automatic theme switcher [auto-theme.nvim](https://github.com/barrett-ruth/auto-theme.nvim) +2. ghostty (macOS): `osascript` clicks the "Reload Configuration" button in the Ghostty menu bar configuration. +3. sioyek: Any changes to user configuration are automatically picked up and reloaded--easy. +4. ungoogled-chromium: I folded and used the default system theme which automatically reads and updates according to the system environment +5. swaywm (linux): sioyek reads from a symlink'ed theme file updated and reloaded by the script +6. rofi insert here +7. fzf insert here +8. tmux: I re-export `$THEME` with `set-environment` and force-redraw the bar with `refresh-client -S` to update any relevant ui. + +## failures + +Unfortunately, the following programs I've found nearly impossible to dynamically reload: + +2. ghostty (linux): I've bound `alt+r` to the `reload_config` command and press it manually. + +- I could not find an `osacript`-equivalent way to reload the config in linux. + +9. ripgrep: I use the default theme. + +- The ripgrep global configuration file does not support environment variables, exterminating the option to provide a `${THEME}`-based path in the global configuration file. +- I'm also not willing to write an alias wrapper. I don't like to stray too far from the defaults. + +10. cabn't force export in all shells - doesn't matter because all sub-programs use it diff --git a/src/content/git/midnight.nvim.mdx b/src/content/git/midnight.nvim.mdx index f7f0ed0..4fd42ef 100644 --- a/src/content/git/midnight.nvim.mdx +++ b/src/content/git/midnight.nvim.mdx @@ -4,8 +4,6 @@ slug: "midnight.nvim" date: "8/11/2025" --- -neovim theme for code, not colors. - -# motivation +# a theme for code, not colors I was tired of all the over-engineered and distracting color schemes. I wrote this to focus on the code in competitive programming and workplace environments. I included highlighting of constants (e.g. strings, numbers, booleans) and language keywords to emphasize the maximally important aspects of code and its structure, respectively. From 27b778896d08bb38c0568041ec69dc7a3586a900 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Fri, 28 Nov 2025 23:56:01 -0500 Subject: [PATCH 4/6] styling and post updates --- public/styles/posts.css | 4 ++-- src/content/git/auto-theme.nvim.mdx | 18 +++++++----------- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/public/styles/posts.css b/public/styles/posts.css index b9b7892..7601c46 100644 --- a/public/styles/posts.css +++ b/public/styles/posts.css @@ -5,7 +5,7 @@ body:has(.post-container) { overflow: hidden; } -body:has(.post-container) header { +body:has(.post-container) > header { flex-shrink: 0; position: sticky; top: 0; @@ -19,7 +19,7 @@ body:has(.post-container) .main { overflow-x: hidden; } -body:has(.post-container) footer { +body:has(.post-container) > footer { flex-shrink: 0; } diff --git a/src/content/git/auto-theme.nvim.mdx b/src/content/git/auto-theme.nvim.mdx index 6e2aeee..adcde49 100644 --- a/src/content/git/auto-theme.nvim.mdx +++ b/src/content/git/auto-theme.nvim.mdx @@ -34,25 +34,21 @@ As of November 28, 2025, I've created [this script](https://github.com/barrett-r ## successes 1. neovim: I use my non-polling, macOS/linux-supporting automatic theme switcher [auto-theme.nvim](https://github.com/barrett-ruth/auto-theme.nvim) -2. ghostty (macOS): `osascript` clicks the "Reload Configuration" button in the Ghostty menu bar configuration. -3. sioyek: Any changes to user configuration are automatically picked up and reloaded--easy. +2. ghostty: Ghostty supports [light and dark themes based on the system appearance](https://github.com/tmux/tmux/wiki)--easy. +3. sioyek: Any changes to user configuration are automatically reloaded--a script updates user preferences in-place 4. ungoogled-chromium: I folded and used the default system theme which automatically reads and updates according to the system environment -5. swaywm (linux): sioyek reads from a symlink'ed theme file updated and reloaded by the script -6. rofi insert here -7. fzf insert here -8. tmux: I re-export `$THEME` with `set-environment` and force-redraw the bar with `refresh-client -S` to update any relevant ui. +5. swaywm (linux): sway reads from a symlink'ed theme file `sed`ed, updated and reloaded by the script +6. rofi: `config.rasi` also reads from a symlink'ed theme files that is updated and reloaded by the script +7. fzf insert here - read from symlinked file?/cat? +8. tmux: `tmux.conf` reads from symlink'ed theme files that are automatically reloaded with `source-file` ## failures Unfortunately, the following programs I've found nearly impossible to dynamically reload: -2. ghostty (linux): I've bound `alt+r` to the `reload_config` command and press it manually. - -- I could not find an `osacript`-equivalent way to reload the config in linux. - 9. ripgrep: I use the default theme. - The ripgrep global configuration file does not support environment variables, exterminating the option to provide a `${THEME}`-based path in the global configuration file. - I'm also not willing to write an alias wrapper. I don't like to stray too far from the defaults. -10. cabn't force export in all shells - doesn't matter because all sub-programs use it +10. zsh: it's impossible to update `$THEME` across all existing shells (simply a limit of posix). However, all affected _programs_ will read the proper `$THEME`--I'm fine compromising here. From 24d6d2a757263a0c343b79ed42db1b92b24ee353 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Sat, 29 Nov 2025 00:54:06 -0500 Subject: [PATCH 5/6] themes --- public/styles/common.css | 22 ++++++----- public/styles/index.css | 75 ++++++++++++++++++------------------- public/styles/posts.css | 25 ------------- src/components/Footer.astro | 16 +++++++- src/components/Header.astro | 8 +++- 5 files changed, 69 insertions(+), 77 deletions(-) diff --git a/public/styles/common.css b/public/styles/common.css index fa7c8aa..b547bbd 100644 --- a/public/styles/common.css +++ b/public/styles/common.css @@ -201,7 +201,7 @@ body { header, footer { - padding: 20px; + padding: 30px 20px; font-size: 1.5em; display: flex; align-items: center; @@ -270,14 +270,18 @@ pre { "calt" 0; } -@media (max-width: 768px) { - header { - font-size: 0.9em; - padding: 15px; - } - +@media (max-width: 1024px) { + header, footer { - font-size: 0.9em; - padding: 15px; + font-size: 1.2em; + padding: 20px 15px; + } +} + +@media (max-width: 640px) { + header, + footer { + font-size: 1em; + padding: 15px 10px; } } diff --git a/public/styles/index.css b/public/styles/index.css index a3fd17e..9cb6166 100644 --- a/public/styles/index.css +++ b/public/styles/index.css @@ -1,31 +1,26 @@ -html { - height: 100vh; - overflow: hidden; -} - -body { +/* List pages only - no scroll */ +body:has(.content) { display: flex; flex-direction: column; height: 100vh; overflow: hidden; } -/* Fixed header and footer for list pages */ -body:has(.content) header { - flex-shrink: 0; +body:has(.content) > header { + flex: 0 0 auto; } -body:has(.content) footer { - flex-shrink: 0; -} - -.main { - flex: 1; - overflow: hidden; +body:has(.content) > .main { + flex: 1 1 auto; + min-height: 0; display: flex; align-items: center; } +body:has(.content) > footer { + flex: 0 0 auto; +} + .content { width: 100%; height: 100%; @@ -35,29 +30,17 @@ body:has(.content) footer { gap: 80px; align-items: center; justify-content: space-between; - overflow: hidden; } .topics { - font-size: 3em; - max-height: calc(100vh - 200px); - column-count: 2; - column-gap: 80px; + font-size: clamp(1.5em, 4vw, 3em); + max-height: 100%; + column-width: 300px; + column-gap: clamp(20px, 4vw, 60px); column-fill: auto; margin: 0; padding: 0; list-style: none; - overflow-y: auto; - overflow-x: hidden; -} - -.topics::-webkit-scrollbar { - display: none; -} - -.topics { - -ms-overflow-style: none; - scrollbar-width: none; } .topics li:first-child { @@ -69,7 +52,7 @@ body:has(.content) footer { } .posts { - font-size: 2.2em; + font-size: clamp(1.2em, 3vw, 2.2em); text-align: right; display: flex; flex-direction: column; @@ -128,21 +111,35 @@ body:has(.topics:only-child) .content { } body:has(.topics:only-child) .topics { - column-count: 2; + column-width: 300px; column-fill: auto; - max-width: 1200px; } -@media (max-width: 768px) { +@media (max-width: 1024px) { + body:has(.content) { + height: 100vh; + } + + .content { + flex-direction: column; + padding: 20px; + gap: 40px; + justify-content: flex-start; + overflow-y: auto; + } + .topics { font-size: 2em; - padding: 0 20px; + column-width: unset; column-count: 1; + max-height: unset; + width: 100%; } .posts { - font-size: 1.47em; - padding: 0 20px; + font-size: 1.5em; + text-align: left; + width: 100%; } .topic a { diff --git a/public/styles/posts.css b/public/styles/posts.css index 7601c46..67f35ae 100644 --- a/public/styles/posts.css +++ b/public/styles/posts.css @@ -1,28 +1,3 @@ -body:has(.post-container) { - display: flex; - flex-direction: column; - height: 100vh; - overflow: hidden; -} - -body:has(.post-container) > header { - flex-shrink: 0; - position: sticky; - top: 0; - z-index: 100; - background: var(--background); -} - -body:has(.post-container) .main { - flex: 1; - overflow-y: auto; - overflow-x: hidden; -} - -body:has(.post-container) > footer { - flex-shrink: 0; -} - li { margin: 5px 0; } diff --git a/src/components/Footer.astro b/src/components/Footer.astro index 246edb2..c4e8bf0 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -29,11 +29,23 @@ text-decoration: none; cursor: pointer; } - @media (max-width: 768px) { + @media (max-width: 1024px) { + footer { + flex-direction: column; + gap: 15px; + } + .footer-links-left, + .footer-links-right { + gap: 15px; + } + } + + @media (max-width: 640px) { .footer-links-left, .footer-links-right { flex-direction: column; - gap: 5px; + gap: 10px; + align-items: center; } } diff --git a/src/components/Header.astro b/src/components/Header.astro index 789d462..69f7c6b 100644 --- a/src/components/Header.astro +++ b/src/components/Header.astro @@ -29,18 +29,22 @@ const promptText = topic ? `barrett@ruth:~$ ${topic}` : "barrett@ruth:~$"; cursor: pointer; user-select: none; } - @media (max-width: 768px) { + @media (max-width: 640px) { header { flex-direction: row; - flex-wrap: wrap; + justify-content: space-between; gap: 10px; } .terminal-container { flex: 1 1 auto; min-width: 0; } + .terminal-prompt { + font-size: 0.9em; + } #theme-toggle { flex: 0 0 auto; + font-size: 1.2em; } } From 40024cb2fb4beabe3f47b5015aa366b28843e811 Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Sat, 29 Nov 2025 02:39:43 -0500 Subject: [PATCH 6/6] post --- public/styles/index.css | 46 +++++++++++++++++++---------- src/components/Footer.astro | 11 ++++--- src/content/git/auto-theme.nvim.mdx | 14 ++++----- 3 files changed, 43 insertions(+), 28 deletions(-) diff --git a/public/styles/index.css b/public/styles/index.css index 9cb6166..d1c2cf7 100644 --- a/public/styles/index.css +++ b/public/styles/index.css @@ -34,13 +34,15 @@ body:has(.content) > footer { .topics { font-size: clamp(1.5em, 4vw, 3em); - max-height: 100%; + max-height: 80vh; column-width: 300px; column-gap: clamp(20px, 4vw, 60px); column-fill: auto; margin: 0; padding: 0; list-style: none; + overflow-y: auto; + overflow-x: hidden; } .topics li:first-child { @@ -106,43 +108,57 @@ ul { right: 0; } +body:has(#repo-list) .content, body:has(.topics:only-child) .content { justify-content: flex-start; + display: block; } +body:has(#repo-list) .topics, body:has(.topics:only-child) .topics { - column-width: 300px; + column-width: 350px; column-fill: auto; + height: calc(100vh - 200px); + overflow-y: hidden; + overflow-x: auto; + max-height: calc(100vh - 200px); + width: 100%; } -@media (max-width: 1024px) { +body:has(#repo-list) .posts { + display: none; +} + +@media (max-width: 768px) { body:has(.content) { - height: 100vh; + height: auto; + min-height: 100vh; + } + + body:has(.content) > .main { + display: block; + min-height: calc(100vh - 200px); } .content { - flex-direction: column; + display: block; padding: 20px; - gap: 40px; - justify-content: flex-start; - overflow-y: auto; + height: auto; } .topics { - font-size: 2em; - column-width: unset; + font-size: 1.8em; column-count: 1; - max-height: unset; - width: 100%; + max-height: none; } .posts { - font-size: 1.5em; - text-align: left; - width: 100%; + font-size: 1.4em; + margin-top: 30px; } .topic a { + display: block; margin-bottom: 15px; } } diff --git a/src/components/Footer.astro b/src/components/Footer.astro index c4e8bf0..06d6914 100644 --- a/src/components/Footer.astro +++ b/src/components/Footer.astro @@ -31,7 +31,7 @@ } @media (max-width: 1024px) { footer { - flex-direction: column; + flex-direction: row; gap: 15px; } .footer-links-left, @@ -41,11 +41,14 @@ } @media (max-width: 640px) { + footer { + flex-direction: row; + flex-wrap: wrap; + } .footer-links-left, .footer-links-right { - flex-direction: column; - gap: 10px; - align-items: center; + flex-direction: row; + gap: 15px; } } diff --git a/src/content/git/auto-theme.nvim.mdx b/src/content/git/auto-theme.nvim.mdx index adcde49..7173bfd 100644 --- a/src/content/git/auto-theme.nvim.mdx +++ b/src/content/git/auto-theme.nvim.mdx @@ -16,8 +16,8 @@ I use my color scheme [midnight.nvim](/git/midnight.nvim.html) on macOS and linu 4. [ungoogled-chromium](https://github.com/ungoogled-software/ungoogled-chromium) 5. [swaywm](https://swaywm.org/) 6. [rofi](https://github.com/davatorium/rofi) -7. [fzf](https://github.com/junegunn/fzf) -8. [tmux](https://github.com/tmux/tmux/wiki) +7. [tmux](https://github.com/tmux/tmux/wiki) +8. [fzf](https://github.com/junegunn/fzf) 9. [ripgrep](https://github.com/BurntSushi/ripgrep) 10. [zsh](https://www.zsh.org/) @@ -39,16 +39,12 @@ As of November 28, 2025, I've created [this script](https://github.com/barrett-r 4. ungoogled-chromium: I folded and used the default system theme which automatically reads and updates according to the system environment 5. swaywm (linux): sway reads from a symlink'ed theme file `sed`ed, updated and reloaded by the script 6. rofi: `config.rasi` also reads from a symlink'ed theme files that is updated and reloaded by the script -7. fzf insert here - read from symlinked file?/cat? -8. tmux: `tmux.conf` reads from symlink'ed theme files that are automatically reloaded with `source-file` +7. tmux: `tmux.conf` reads from symlink'ed theme files that are automatically reloaded with `source-file` ## failures Unfortunately, the following programs I've found nearly impossible to dynamically reload: -9. ripgrep: I use the default theme. - -- The ripgrep global configuration file does not support environment variables, exterminating the option to provide a `${THEME}`-based path in the global configuration file. -- I'm also not willing to write an alias wrapper. I don't like to stray too far from the defaults. - +8. fzf: Overwriting fzf's themes, from the interactive shell `fzf` binary to `fzf-{cd,file}-widget` to integration with [fzf-lua](https://github.com/ibhagwan/fzf-lua/), I found this potentially doable but just _way too complex_. Feel free to investigate yourself--I'm going with the default theme. +9. ripgrep: I use the default theme. The ripgrep global configuration file does not support environment variables, exterminating the option to provide a `${THEME}`-based path in the global configuration file. 10. zsh: it's impossible to update `$THEME` across all existing shells (simply a limit of posix). However, all affected _programs_ will read the proper `$THEME`--I'm fine compromising here.