« get me outta code hell

news technical stuff - hsmusic-data - Data files for https://hsmusic.wiki - track, album, artist & flash info, etc
summary refs log tree commit diff
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2024-04-10 12:46:01 -0300
committer(quasar) nebula <qznebula@protonmail.com>2024-04-13 22:42:35 -0300
commit30b90aa0e3aa56aa25e7ce6ec144d584d1350d03 (patch)
tree6d02176cc0c0c1272f76c15ace0210fb7627e0de
parenta9c0f79971611bd7b69d2e604d85a9edec98042b (diff)
news technical stuff
-rw-r--r--news.yaml16
1 files changed, 16 insertions, 0 deletions
diff --git a/news.yaml b/news.yaml
index b50e080b..9ef20992 100644
--- a/news.yaml
+++ b/news.yaml
@@ -38,6 +38,22 @@ Content: |-
 
     Those wishes all guided the creation and the early identity of the music wiki. And, hopefully, we've brought the same ideas, refined and ever-better realized, into everything new for you to explore and discover in this update!
 
+    <hr>
+
+    <i>Technical jargon again! Skip this section... if you must... and you dare!</i>
+
+    Internal and infrastructural changes make up a great bulk of the code work over this update: in JavaScript files excluding the content generation area of the codebase, over 4000 lines were removed and 11000 lines were added. In total, [90 pull requests](https://github.com/hsmusic/hsmusic-wiki/pulls?q=merged%3A2023-10-25..2024-04-13) were described in detail and frequently brought new features, alongside internal improvements for nearly all systems.
+
+    Since [[news-entry:iridescent-noon]] we've implemented and applied a framework for "compositional" operations across almost all kinds of data on the wiki. This essentially boils down to writing data processing — like "which tracks has this artist contributed to?" or "what is the color of this track?" or "what's the appropriate list terminology for this flash act?" or "what are all the details of this album's track sections?" — in terms of smaller building blocks. Compositions follow a pipeline structure, and come with a variety of syntax conveniences, to ensure it's easy to write the same style of data processing code everywhere. Where content functions make writing new user-interface features a breeze, compositions do the same for data processing, with very similar benefits: individual components can be unit-tested, are easier to debug, can be reused and recontextualized, can be expanded and simplified, can be broken up and newly combined, and generally make solving bigger data problems much more approachable.
+
+    We've revisited and refactored the ways major internal systems interact. Most notably, we've brought all YAML processing specifications into [a newly tidied format](https://github.com/hsmusic/hsmusic-wiki/pull/386) defined in the same files as high-level data processing; the "guts" of the loading process still operate in a separate module, but that module is no longer also responsible for defining what each *kind of thing* looks like in YAML. We've reworked the way we define [how references between kinds of data work](https://github.com/hsmusic/hsmusic-wiki/pull/394); these are also consolidated with the rest of a thing's definition, and thanks to the new approach, clear out an awkward spot of code duplication.
+
+    We've broken various ground in the HTML templating system which all content and UI on the website is written with. We've dramatically improved the interface for working with HTML attributes, which makes both [incrementally built-up components](https://github.com/hsmusic/hsmusic-wiki/blob/ad349c3a6949d8e6751ada62f297038336b1bcc6/src/content/dependencies/image.js) and [hierarchies](https://github.com/hsmusic/hsmusic-wiki/blob/ad349c3a6949d8e6751ada62f297038336b1bcc6/src/content/dependencies/generateTooltip.js#L21-L29) with [conditional attributes](https://github.com/hsmusic/hsmusic-wiki/blob/ad349c3a6949d8e6751ada62f297038336b1bcc6/src/content/dependencies/generateFlashActSidebarSideMapBox.js#L54-L82) much cleaner and easier to write. We've written special tags that slot into existing hierarchies and, [almost like magic](https://github.com/hsmusic/hsmusic-wiki/pull/441), finally enable cleaner word wrapping. We've [reworked language processing](https://github.com/hsmusic/hsmusic-wiki/pull/348) to enable these, so that content doesn't get flattened into an HTML string until the page is actually rendered, which is much-needed groundworks for a [host](https://github.com/hsmusic/hsmusic-wiki/issues/358) of [future](https://github.com/hsmusic/hsmusic-wiki/issues/434) [capabilities](https://github.com/hsmusic/hsmusic-wiki/issues/380) besides.
+
+    We've [implemented](https://github.com/hsmusic/hsmusic-wiki/pull/218) and [carefully improved](https://github.com/hsmusic/hsmusic-wiki/issues?q=merged%3A2023-10-25..2024-04-13+label%3A%22page+part%3A+tooltips%22+) a tooltip system almost completely from scratch, posing and exploring a wide variety of challenges and questions that have made the client-side JavaScript far more self-confident. Similarly, various new modules, implemented alongside carefully prepared HTML hierarchies and CSS rules, begin to beat a path for more interesting and exciting client dynamics in the future.
+
+    <hr>
+
     As we gratefully expressed [[news-entry:crystal-hung-in-firmaments-descent|last time]], everything about the wiki is in thanks not just to the entire Homestuck community and all the amazing works created within and around it, but also to everyone who has ever touched the wiki. Thank you to all who reported data errors, brought new additions, started and joined discussions of all wonderful sorts, suggested features and offered feedback, and said kind words about the wiki and all the incredible work everyone has done and continues to do here.
 
     During the six or so months this update was in progress, we got to work more directly than ever before with such an awesome group of people, and meet and speak with many more. It's been an incredible experience, and we wouldn't come close to capturing it if we had thousands *more* words to spare. Likewise, the additions and changes escape simple summary; you're much encouraged to explore what's new, as ever, [[static:changelog#13-apr-2024|in the changelog]].