Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains a working checkpoint of a (admittedly still very skeletal) html generator to make a web-navigable view of the data in a catalog.
The overall idea of this is to... well, like I said: make web-navigable thing. The filesystem projection of a catalog into a git repo viewed on github is the next-best-thing we've got so far; I'd like to have something prettier, more fitted to the purpose, and with more crosslinking.
This is still just an outline. It contains copious hacks in the "test". It's not production-ready. It's not even wired up to the CLI yet. Nonetheless, I hoist the PR (and might want to merge it, and keep working iteratively from here, for productivity... I already let it get stale and had to do a big rebase once).
The exact filesystem layout may be subject to change. This is a rebase of an old prototype (from before warpforge v0.2); the exact filesystem I'd like to use nowaday should more closely mirror the paths of the catalog filesystem projection in JSON, just with different extensions (which is not what we have here).Now updated.Everything else also subject to change :) There's no styling, etc.
Future work includes turning this into a real CLI command;
giving it parameters for which catalog(s?) to generate content from;
teaching it to render and link up certain pieces of metadata (especially, right now, Replays);
downstream of rendering Replays, we can crosslink their imports to other parts of the catalog;
and probably a lot more.
(Oh, and in the guts, I'd like to refactor this to use https://github.com/warpfork/go-fsx in the fairly immediate future. Right now, there's an unholy mixture of
fs.FS
andos.*
because of the lack of stdlib fs interfaces for write operations. The go-fsx repo is intended to address that, but I haven't pulled it in yet. This might end up being addressed as part of #13, though.)