what's going on inside the house? (a changelog)

  • revision 16: lots of little things

    2025-01-18
    • new permalinking experience: /b is now a redirect to the target page, anchored on the branch, rather than a 200 OK serving you the target page but aliased.

      2025-01-18
      • the permalink button on the right now copies the permalink to your clipboard directly, because navigating to the permalink only to be redirected to a non-permanent link would be pretty useless.

        2025-01-18
        • this feature requires JavaScript, and if you have JavaScript disabled, it requires you to get real.

          2025-01-18
    • subpage listings are now generated automatically.

      2025-01-18
      • this changes the inner structure of major categories a bit. nesting has been reduced and there’s only a flat list of pages under each individual category.

        2025-01-18
      • in the future, I’d like to incorporate a fuzzy search & tagging system to make it a bit easier to find posts. maybe I’ll also rewrite Atom feeds to be based off of this.

        2025-01-18
    • branch dates are now rendered server-side to prevent layout shifting on load.

      2025-01-18
      • because of this, dates now use YYYY-MM-DD format consistently in all locales.

        2025-01-18
      • despite this, the dates are still corrected on the client side to account for time zone differences.

        2025-01-18
    • the treehouse will now scale more nicely with your font size preferences, as you’ve set them in your browser.

      2025-01-18
      • we now use rem units for everything.

        2025-01-18
    • indent guides now consistently appear on touch devices.

      2025-01-18
  • revision 15: command line wonder

    2024-12-10
    • so I was looking for a place to dump random shit into and had the revelation that the answer lies within… text editors!

      2024-12-10
      • therefore the treehouse now has a vim-inspired (…vimspired!) command line (or, put more modernly, a command bar—except my commands can take arguments, because hell why not.)

        2024-12-10
    • you can trigger the command line by hitting : on your keyboard, or if you’re not on a desktop, press the little :| button at the bottom.

      2024-12-10
      • I’m a little annoyed how mobile browsers display the command bar at the moment, but it’s likely we’ll have to wait about another two years until we get progress on that. oh well.

        2024-12-10
        • maybe I can make it work at least in Chrome in the meantime. won’t make me, a Firefox user, any more happy, but that’s still a fair amount of market share.

          2024-12-10
    • this was intended to be a dev mode only feature, but it feels too good not to use it for a feature dump for anything that might clutter the main layout…

      2024-12-10
  • revision 14: Feed Me Weird Things

    2024-11-30
    • there is now an Atom feed available on the website! add it to your favourite feed reader to follow any updates from page:treehouse/new.

      2024-11-30
  • revision 13: virtual insanity

    2024-11-23
    • removed version history cry

      2024-11-23
      • the quality of this feature was too low for my standards. this was caused by the treehouse’s codebase being one giant pile of spaghetti, onto which bolting a version history feature only caused more havoc oh

        2024-11-23
        • if you’ve ever run across broken branch links, you can thank version history jank for that.

          2024-11-23
    • I refactored treehouse (the software) to no longer generate files upfront! instead, there’s a virtual file system from which the web server sources files.

      2024-11-23
      • this virtual file system, or at least the part that assembles the page as it’s served to you, generates pages lazily—which causes my dev experience to be faaaaaaaAAAAAAAAAAAAAAAAAAAA

        st

        2024-11-23
      • this generally doesn’t mean anything for you, but for me… man, does the treehouse feel fast to edit now!

        2024-11-23
        • generating all the page versions upfront meant I needed to wait over a second for the page to refresh, which made editing any minute details really painful. imagine I did all the previous layout refurnishment with that…

          2024-11-23
  • revision 12: refurnishment

    2024-11-04
    • I changed the layout of the treehouse to be more spacious and fit more branches on the screen

      2024-11-04
      • you may have noticed the usable area for branches is now much wider without the branches themselves being too long.

        2024-11-04
        • I like that balance, though I don’t love how far to the right the branch buttons have gone now. feels like there’s a lot of unnecessary mouse travel happening with that.

          2024-11-04
    • since the layout rules are a bit more complex than the previous one, I expect lots of bugs around narrow displays…

      2024-11-04
    • one rad change is that the liquidex brand colored hobby corners are now more elegant, displaying the whole icon, and using a tamer text underline than the previous long border.

      2024-11-04
      • this icon is gonna be the death of me on narrow layouts

        2024-11-04
    • page titles are now way bigger!

      2024-11-04
      • I like this change in particular because it clarifies the visual hierarchy between page titles and the commonly used level 3 header on pages

        2024-11-04
    • the fact I’m still finding bugs in the layout as I’m writing this is not exactly the most encouraging, but I’m optimistic it’s gonna be a change for the better ralsei_love

      2024-11-04
  • revision 11: version history

    2024-09-29
    • there’s now a little history icon next to the treehouse in the footer, which lets you see the history of a page.

      2024-09-29
      • for example, here’s this page’s history!

        2024-09-29
    • there’s still lots of work to be done around this feature—the endgame is to allow JavaScript-less branch permalinking.

      2024-09-29
      • currently linking to a branch on a historic version will send you to the correct page, but it will not highlight the branch due to the frontend being stupid.

        2024-09-29
      • historic pages also link to current pages and branches, which is definitely not how it should work. this will require some big refactoring work though, so I haven’t gotten around to doing it yet.

        2024-09-29
  • revision 10: I am speed

    2024-07-25
    • the treehouse now caches most static assets, so that they don’t have to be redownloaded. especially that very large font, which I should probably optimize now that I think about it!

      2024-07-25
      • there are some minor exceptions to this, which include:

        2024-07-25
        • pages themselves. we cannot cache those at all. well, maybe in release mode, for like 10 seconds, which defeats the point.

          2024-07-25
          • we can only cache those assets which are guaranteed not to change given their URL.

            caching on the treehouse is performed by means of a ?cache query parameter which contains a truncated BLAKE3 sum of the cached file’s contents. that way we can tell the browser to redownload the asset by changing out the hash.

            this is impossible to do for pages, because they may change at any point in time.

            2024-07-25
          • I tend to update the treehouse very often - including post-deploy, if I fuck something up - so if I enable caching for e.g. an hour, and people visit the broken version, they’re then stuck with a broken version for an hour. seriously, timed caching is not a good solution for incremental website updates.

            2024-07-25
            • except for /sandbox maybe, because that tends to be fetched in short bursts… I’ll think about it.

              2024-07-25
        • linked branches. it’s hard and not worth it for the few extra kilobytes saved - for snappiness it would be much better to prefetch branch content when the user hovers over a branch.

          2024-07-25
          • not sure what to do about mobile devices, because they don’t have a hover state.

            2024-07-25
    • more images now have proper width="" height="" attributes, which should help eliminate layout shift when loading pages.

      2024-07-25
    • the treehouse is now powered by Djot, not Markdown! took me an evening or two to rewrite everything to the new markup, but I think it’ll be worth it. I can already see some pretty big clarity wins.

      2024-07-25
      • my favorite feature so far is that you can add custom attributes to anything. like this, for example:

        {:program=haku}
        ```haku
        (- 100 35)
        ```
        
        2024-07-25
        • and have you noticed that there’s a code block inside this code block? you can’t do that in Markdown!

          ``````djot
          {:program=haku}
          ```haku
          (- 100 35)
          ```
          ``````
          
          2024-07-25
    • literate programming blocks are now correctly rendered with JavaScript disabled, thanks to me rewriting the HTML renderer in the Djot transition.

      2024-07-25
    • I also took the liberty to add some highlighting to missing emojis. meaning they now stick out like a sore thumb :sore_thumb: to nag me about adding them in (or pulling them in from other branches. hello :verified: :TODO: :DONE: how have you been)

      2024-07-25
      • yeah yeah we all know how ad blindness works, this is totally not gonna push me to do this isn’t it

        2024-07-25
  • revision 9: summer cleaning

    2024-06-13
    • cleaned up a bunch of pages! see new for the details

      2024-06-13
    • there are now a bunch of colorful folder page icons next to pages

      2024-06-13
      • experiments show that this improves readability by 100% despite the icons being ugly and blurry due to not integer-scaling. it’s not like I can really fix that though, since they’re next to text; good luck making pixel-perfect icons that are meant to appear next to fonts of like 10 different sizes that increment by very little.

        2024-06-13
        • maybe one day I’ll hint them to a bunch of sizes…

          2024-06-13
    • the treehouse’s design is now certified 4% more accessible :verified: by means of using rem metrics for all the UI elements, so now the UI will scale depending on the font size you’ve set in your browser. ain’t that cool?

      2024-06-13
      • on the one hand it seems cool, but I have to note here that I designed this website with 14px fonts and pixel metrics in mind. having switched it to rem everywhere might have produced some wonky layout bugs; if you find any, please report them to me!

        2024-06-13
      • I also have the feeling that the layout is now a lot more spacious, but I can’t quite figure out why. you may expect the layout to shrink a bit in the coming days. or not. I use a slightly smaller font size in my browser so I might just forget about it.

        2024-06-13
  • revision 8: fancy syntax highlighting

    2024-05-24
    • over the past few months the treehouse has been receiving a bunch more syntax highlighters

      2024-05-24
    • there are now syntaxes for Lua, Rust, JSON, and C!

      2024-05-24
      • C++ probably coming soon™, but with its much more complex syntax it’s likely the highlighting isn’t gonna be as nice

        2024-05-24
        • and I’m only mentioning it because there are some C++ code snippets in the treehouse, and it would be really nice if they finally started being highlighted

          2024-05-24
    • what’s cool is that all the syntax highlighters work even if you have JavaScript disabled. which I wouldn’t recommend, but it’s nice. because you absolutely do not need to embed a heavyweight JavaScript library for this

      2024-05-24
      • and it enhances the responsiveness! you don’t need to wait for code to be highlighted.

        2024-05-24
    • I was also told there’s a secret now? like, no clue what they mean by that but cool?

      2024-05-24
  • revision 7: the main page is now a lot more colorful :rainbow:

    2024-03-08
    • each major content category now has an icon and a liquidex brand color™ assigned to it

      2024-03-08
      • there may be more colors in the future, given that there are probably gonna be more categories smile
        and I’d like the other non-hobby categories to get their own colors too, but the four that are currently here are good enough for now.

        2024-03-08
  • revision 6: it now works on Webkit

    2024-03-03
    • this was a hefty refactor, but I introduced a replacement for the standard is="" attribute that works on Webkit.

      2024-03-03
      • seriously, fuck you, Apple. wish the people who work there and oppose industry standards would stop sitting there with a finger up their ass and accept that reality is not always what you want it to be.

        2024-03-03
        • even as I’m writing this, I’m trembling over how half my website is probably gonna break after this refactor, due to me having it written in pure JavaScript rather than TypeScript, but eh, fuck it.

          reality is not always what you want it to be.

          2024-03-03
        • just know that I’m writing this not because I think the standards are good, but because one vendor not following them just results in extra work on our part - the developers’ part - doing more work than is actually really necessary to accomplish a certain task.

          2024-03-03
        • using the browser’s built-in capabilities is good. you’re just making me (and hundreds of thousands of other developers) write a shitty, slow version of what the browser could do by default, had it been following Web standards.

          2024-03-03
    • also, the links are now a bit prettier! everybody likes pretty links, right?

      2024-03-03
      • page links no longer need to have the .html at the end. I’m still in progress of porting the website over to the new format, so you may see some spots where there’s a .html extension.

        2024-03-03
        • buut if you really wanna, you can strip it off when sending the link to other people.

          2024-03-03
  • revision 5: added news page!

    2024-02-22
    • this page will show you all the updates that have been happening since your last visit

      2024-02-22
    • it will also lightly nag you whenever there are new posts with a 1 badge

      2024-02-22
      • if that’s too annoying for you, it’s easy to disable - scroll down on the news page and there’s a (collapsed by default) settings section for the page

        2024-02-22
    • another thing: there are now indent guides! my girlfriend said these make the website a lot more readable for her, so I guess they’re good

      2024-02-22
  • revision 4: there’s now a thing in the footer

    2024-02-08
  • revision 3: just a bit more polish relieved

    2024-02-08
    • emoji tooltips now have a neat animation on hover rather than just sort of appearing and disappearing immediately

      2024-02-08
    • pages can now have thumbnails that display in embeds

      2024-02-08
  • revision 2: just really comfy UX relieved

    2024-02-07
    • first thing you probably noticed: added indent guides (may require a modern browser due to usage of :has)

      2024-02-07
    • added some nice animations

      2024-02-07
      • hovering over branches is now animated

        2024-02-07
      • when a branch is focused via a hyperlink, the background will now pulse in and out to grab your attention

        2024-02-07
        • this replaces the previous dotted underline which my friends reported to be hard to spot

          2024-02-07
    • added dates to branches (requires JavaScript)

      2024-02-07
      • JavaScript requirement due to dates being formatted in your system’s locale

        2024-02-07
      • right now these are invisible on the mobile layout because it’s unclear where they should be positioned ralsei_dead

        2024-02-07
    • added page titles (you can see them on this page!)

      2024-02-07
    • fixed “hey expand me” chevrons sometimes shifting layout when a branch is expanded

      2024-02-07
      • yeah, these ones - like the one that just disappeared when you clicked on the branch above

        2024-02-07
    • /b endpoint is now used for shorter links. it also generates OpenGraph metadata so that Your Favorite Messaging Platform can display the linked branch’s content

      2024-02-07
      • what’s left here is to add some more OpenGraph to do stuff like: thumbnails, default descriptions, and so on and so forth - but the seeds for that have already been planted smile

        2024-02-07
    • internals: branches are now based on flexboxes rather than background images. this requires sending a bit more HTML, but the layout is a lot more stable as well as being easier to extend

      2024-02-07