« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/src/util
AgeCommit message (Collapse)Author
2023-08-02infra: html: make deeper layers of Template content translucent(quasar) nebula
2023-08-02html: Tag.clone, Template.clone: clone own constructors(quasar) nebula
2023-08-02infra: coarsely report relation() ancestry in errors via cause(quasar) nebula
2023-07-30content: image, transformContent: support custom img links(quasar) nebula
2023-07-30yeet tons of (MOSTLY) dead node-transforming code(quasar) nebula
2023-07-30content: transformContent: parse and process images(quasar) nebula
2023-07-26content: generateWikiHomeAlbumsRow + homepage content(quasar) nebula
2023-07-14Merge branch 'url-special-chars' into data-steps(quasar) nebula
2023-07-14never encode slashes in URLs(quasar) nebula
2023-07-14handle special characters in URLs more carefully(quasar) nebula
2023-07-05content: listArtistsbyLatestContribution: stuck in the array mines(quasar) nebula
2023-07-04filterMultipleArrays: forgot this part(quasar) nebula
2023-07-04util: gut and fillet sorting utilities(quasar) nebula
2023-07-04util: {sort,filter}MultipleArrays behind {sort,filter}ByCount(quasar) nebula
2023-07-03content: listArtistsBy{CommentaryEntries,Name} + syntax changes(quasar) nebula
2023-06-26content: generateArtistInfoPageArtworksChunkedList(quasar) nebula
2023-06-26util: new sortEntryThingPairs util(quasar) nebula
2023-06-23sugar: stitchArrays: accept null(quasar) nebula
2023-06-23content: generateCoverCarousel(quasar) nebula
This also introduces a handy stitchArrays() utility, which probably has some uses not caught in this commit.
2023-06-12html: inspect.custom() annotations for html classes(quasar) nebula
2023-06-12html: new Stationery class for instantiating Templates(quasar) nebula
2023-06-12html: move slot validation into own function(quasar) nebula
2023-06-11infra: treat fulfillment information as sets & reuse where possible(quasar) nebula
2023-06-04Merge remote-tracking branch 'origin/staging' into data-steps(quasar) nebula
2023-06-03html: accept false (ala cond && tag) in isHTML(quasar) nebula
2023-06-02content: generateArtistInfoPage: artwork contributions(quasar) nebula
This actually covers the foundations for other types of contribs too. It's hopefully a fair bit cleaner and easier to follow than the previous data processing for this page!
2023-05-25content: sprawl & transformContent(quasar) nebula
Sprawling basically means tying a component to objects which aren't directly passed to it. This is necessary for functions like transformContent, which was *mostly* implemented here (the multiline/lyrics modes are stubs, and a number of links haven't been implemented yet).
2023-04-27data: make sortByConditions return sorted array(quasar) nebula
This wasn't causing any bugs within the codebase but it should be consistent with the rest of the sort functions anyway.
2023-04-27data: new sortByPositionInFlash act function(quasar) nebula
Fixes #168. This refactors the duplicated logic with sortByPositionInAlbum into a new template, sortByPositionInParent.
2023-04-27data: refactor sortByDate to handle latestFirst directly(quasar) nebula
Fixes #180. This enables sortByDate to keep dateless items at the end even when sorting with latest first, and conveniently reduces the ops since there's no need for .reverse() before and after the sort anymore. It also cleans logic by deduplicating latest-first code in compositional sort functions using sortByDate.
2023-04-27sort art galleries reverse-chronologically (again)(quasar) nebula
Fixes #170.
2023-04-15html: clone tags & templates passed in via slots(quasar) nebula
I'm not 100% sure the right behavior here in the long run (whether we should be doing a deep clone or not), so for now I haven't added any specific tests. Snapshot tests covering uses of templates which depend on cloning (i.e. parents which reuse a given template) will do better to make sure everything keeps working like it should.
2023-04-15html, test: default slots only for null, not falsey values(quasar) nebula
2023-04-15content: generateAlbumNavLinks, generatePageLayout nav bar(quasar) nebula
2023-04-09test: html.template slot value errors(quasar) nebula
2023-04-09test: html.template & Template descriptor errors(quasar) nebula
2023-04-08html: drastically simplify template/slot system(quasar) nebula
2023-04-06build steps: jank together ultra-basic page write(quasar) nebula
Super simple technically functional sketch.
2023-04-05html: tags(), isBlank()(quasar) nebula
2023-04-05html: standard blank() function(quasar) nebula
For now this just returns an empty array, but if we need to make changes later, it won't require editing all instances of blank content!
2023-04-04html: better Slot error traces(quasar) nebula
There's a bad joke to be made about "mutation" versus "mutilation".
2023-03-29html: pass null/undefined through in slot values(quasar) nebula
2023-03-28data steps: unfinished behavior & fixes in test lib(quasar) nebula
2023-03-23data steps: html fixes + pass through content when no tagName(quasar) nebula
2023-03-21data steps: album additional files list(quasar) nebula
This is WIP but seems to be working! Pretty big test of the new html.template system, which needed some extension here.
2023-03-21data steps: deep flatten HTML(quasar) nebula
This should totally obliterate the need for html.fragment.
2023-03-21data steps: test cases for new html implementation(quasar) nebula
Only Tag interface and stringification for now. Template tests coming soon!
2023-03-21data steps: fix property-from-attribute setter/getters(quasar) nebula
2023-03-21data steps: new html.tag implementation(quasar) nebula
...including template & slot support, unit tests incoming
2023-03-18data steps: annotate content function names(quasar) nebula