eleboog.com

journal search

newest / archive / journal / more

Journal Search - webdev

← back
← prev  | page 2 |

October 2, 2024

[ this is not finished. it will never be finished. fuck you ]

(note to self: if this becomes 100+ lines, just make it a fucking blog post jesus christ)

Yeah, it’s been a while since I made an update to this site. But hey! I got an actual post this time!!!!

Since I’m writing this while I am still working on editing the post, I’m going to leave a checklist here of things I want to work on surrounding the site before I publish a new article.

Syntax Highlighting

This post uses a lot of code blocks and code strips (what I’m calling “monospace” formatting). I’m really proud of where my syntax highlighting and code block functionality is right now. However, I want to make a couple of tweaks and updates to make my implementation first-class.

First, I need to do a quick check on whether syntax highlighting in code blocks works without JavaScript. In my eyes, it should, since all of the processing happens on the server-side and all the client gets is a bunch of <span>’s with different colors attached to them. If it doesn’t, I need to figure out why and fix that before publishing.

Ideally, my site should require as little client-side scripting as possible, if any. The main reason I moved away from Zonelets (a popular blog template for Neocities) is because of how it required client-side scripting to even function properly and let you see what posts are on the site. Especially after I moved away from Neocities, a platform that is built around banning server-side scripting, that reliance on client-side scripting to make up for that slack seemed kinda silly now that I can use server-side scripting.

I know it’s kinda silly to want as little JS as possible on a site powered by JS/TS in the backend and on a platform designed around single page applications & routing… but hey, a girl can have her cake and eat it too sometimes.

The other main thing regarding syntax highlighting I wanted to check is how to get it to work with Tailwind’s automatic theming. Currently, the site switches from light to dark mode with the browser / OS — there is no way for the user to set it differently. That’s something I want to change in the future, but for now it makes things Just Work™ a little better because I can use Tailwind’s automatic light/dark theming system to change colors based on theme.

Before, I just had the MDXCodeBlock component change its entire theme depending on whether the browser is in light or dark mode. This had two problems: the theme only updated once, and it updated slightly after the rest of the site is themed properly. The theme is set to light mode by default, so in dark mode, the theme would be too dark for half a second before the theme check actually goes through and the code block theming fixes itself. That is very bad.

My thinking is that since what gets sent to the browser is a bunch of <span>’s with colors slapped on them anyway… what if I make those individual colors themed instead of changing what colors to slap on depending on the theme? The easiest way to do this would be to make a new theme where instead of defining the color by a color: attribute in style, the color is defined by classes. That way, not only can I build a theme with my existing Tailwind colors and themed around my site, but I can also give all tokens two colors — one for light, and one for dark — using the dark: prefix I already use in the rest of my site.

August 14, 2024

I survived my summer class. I think. I haven’t checked my grades yet but last I saw it I got a C. C’s get degrees. Especially when you do half of the classwork within three days holy mother of god how did i live

Right now, I’m in Kentucky visiting some very special people. I might make a blog post about the journey, but I’m not sure how much detail I want to give in a fully public space like this site. I’m also not sure how much detail I can really give in general. It’s pretty much just “I got an emergency lift to the bus stop, rode Greyhound for eight hours, I shat in a McDonalds, and that’s the story.” Actually now that I list all of that out I probably could make a decent sized post about all of that, hmm. Maybe I’ll do that. But now I’ve got so many ideas for blog posts but never really committing to any of them that I feel halfway to Malamaroo again. I need to square my sights on one idea and stick with it.

Now that I have a bunch of free time finally, I’m going to try working on the narrated article system for real this time. I want to make it work with and without Javascript: my site is currently fully functional without Javascript and I want to keep it that way for the two people who like that. I also want the UX to blend in nicely with the text-first minimal aesthetic I’ve got going on.

I also probably need to do some updates to the header, especially on mobile, as well as add some enhancements to the site for mobile in general. The header is slightly jank on my iPhone 12 mini and I think the best solution is to make a version of the header that feels “designed” for mobile like it does for desktop. I also have noticed that blog post images are a little wonky on mobile especially if I’ve resized them (what works on desktop does not work on mobile lmao), so I think what I’ll do is just disable that sizing if you’re on mobile… I need to figure out how to do that through JSX though.

So yeah, this next week or so is looking really bright both for my personal life and my projects. Hopefully you actually get to see some stuff from me other than journal entries within a few days.

and in case you didn’t catch my last “now” entry LISTEN TO THIS RIGHT FUCKING NOW

August 9, 2024

I think I finally fixed my sleep schedule. For now. I’m actually really proud of myself for finally getting into a morning groove. I feel way better when I’m actually up in the mornings: waking up in the afternoon seems to lay some weird sort of lethargy on my day and it’s hard to motivate myself to get anything productive done.

I’m also about to finish my summer class catch up apocalypse. Got to read a bunch of cool stories written by fellow classmates, and imo no matter what grade I get, that alone makes this class worth it for me.

Currently sitting in my local Starbucks getting comfortable before starting back up on my work. I have some plans with an IRL friend later today, so hopefully that will be a good self-reward for making it through my summer class. I’ve been reeeeaaaally stir-crazy this summer and I can’t wait for it to end lmao. Once the fall semester starts up, there will be a lot more excuses to be out and about and I’ll feel like myself again.

I think during the free couple of weeks after this, I’ll start working on a couple of things that are holding me back from pursuing the next phase of my website:

  • The narrated article implementation is long overdue. I’ll probably use it to double as my next blog post (I’ll talk about all the updates I’ve done to this website and go into detail on how I implemented the narrated articles & the podcast Feed… with the article itself coming out with narration on day one :3)
  • Still, I want to get one more blog post under my belt on top of that. I think the idea I had for a blog post on Geminispace is the best lead to follow. I really really want to make an article exploring Geminispace, and following up on this hyperfixation might be my best chance to actually buck YGS Every Friday Syndrome, at least for a bit.
  • This will also be a good opportunity to implement a couple of miscelaneous pages under an “extras” hub on the navbar (which, yes, is getting progressively longer and longer to the point where I might need to rework the header layout for mobile finally lol). I want to bring back the Battlefield 4 Chat Simulator (cause it would be funny), but I also want to add a page for cool Geminispace resources, a “starwall” where I shout out cool indie web sites that I find on my travels, and a “/slash” page where I compile multiple “slash pages” into one big page (so I don’t have 50 billion little tiny pages that serve only one very niche purpose lmao). Next.js’s routing & middleware features, gob dless.

Finally, whoops, I ever even published my last journal & sharefeed update. To make up for that, I’m gonna add a ton of sharefeed posts this time around. One day, I should make a system that lets me set sharefeed posts in the future, and if I do so, they only show up on the feed once that date has arrived (basically a barebones scheduling system for sharefeed entries). That will make it a lot easier to deliver… “cOnTEnT” (ugh hate that word) on a consistent basis without having to have a superhuman noggin.

Here’s an album I’ve been listening too for a hot minute. . Funny story about this one: I first discovered this band from a CD left in the CD player of my current car when I first got it. I’m glad I did lmao

July 6, 2024

I have a problem: if I want to update my site, I have to shut both it and my Forgejo instance down in order to have enough dedodated wham headroom to actually run pnpm build without making it crash under error code 137. Whoops. I traded one problem (having to do a compile process every time I want to change my website) for a worse one (the same thing but i also have to explicitly shut down both it and something unrelated in order for it to run without crashing).

I could, of course, just throw more money at the problem by upgrading my VPS.

I have $50 in my bank account. That’s not an option.

Another way to fix this problem is to move to something like Astro that’s specifically designed for my use case. I had some trouble wrapping my head around Astro last time I tried it out, but it may be something I have to do in the future. I’m putting a pin on it for now, but I’m not going to hop over just yet. The future stuff I want to do (such as auth & comments systems) will likely be easier on Next than on Astro since Next is the McDonald’s of React-based metaframeworks right now.

This journal update is an attempt at seeing if I can make use of the secret third option: only compiling the contentlayer MDX files unless there’s something I want to change outside of that. If that’s an option I can utilize, then I can probably just make a git action to automatically recompile the MDX whenever I push a commit containing an MDX file. That’ll do for now.

UPDATE: NO. NO IT DOESN’T. THE SITE DOESN’T UPDATE THE PAGES WHEN I JUST COMPILE CONTENTLAYER. I HAVE TO DO EVERYTHING EVERY TIME. IM SCREAMING

Anyways please listen to these jungle sets, they are amazing and i love them and i want to make out with them . Thanks.

July 5, 2024

Welp, I did it. I got the journal implemented.

I decided to make it its own MDX file stuffed in its own special folder and grabbed by its own special TSX page… because I want to be able to use MDX to write this stuff. I don’t wanna have to put <p>’s everywhere lol.

I’ve thought about implementing a table of contents so you can jump to the day you want to see, but I’m deciding against that for now. One day I’ll update the TOC to be collapsible, and once I do, I’ll add it to this page, automatically collapsed (unless you unfurl it, in which case that state will be saved via cookie for later).

I also finally gave some much-needed love to my Hello Again article. I was not very satisfied with how it got published. I rushed so fast to get my site ready and out the door that I forgot to properly proofread my article. So, I’m doing that now. Hopefully these changes will make the article flow better and easier to parse.

Finally, I think it would be a good idea to post the old entries of this journal on here. I don’t have them on me right now, but once I figured out where I put them, I’ll throw them on here for archival purposes.

As usual, here’s my song recommendation of the whenever . See ya in a week or so, I guess.

← prev  | page 2 |
contact —   |  tips appreciated!

The writing contained within this site may contain the author's personal opinions. These opinions do not represent any of the author's employers or other organizations the author is a part of — past, present, or future.

© 2023-2025 kebokyo — All Rights Reserved