Last night, I finished porting over my second most complex website over to Nitride and it went pretty smoothly. More importantly, I didn't end up switching back to Gallium or Nitride to do sweeping changes.
The only big complexity is that this iteration uses encrypted pages in JavaScript that requires a bit of work to encrypt via C# and then decrypt in JavaScript; but that isn't a Nitride problem, that's a capitalism problem.
So I'm encouraged by that. The next site is going to be mfgames.com, which I view as my third most complex site. After that, it starts to get seriously trivial and I don't expect there to be any more gotchas other than refining patterns and documentation.
The most complex was fedran.com. My first site, d.moonfire.us, was fifth (it has some external Git repositories) but was my initial test case.
My goal is that I'm going to say that Nitride is mostly ready for prime time when I get through all twenty sites that I manage for myself and others. Then maybe I'll spring for a developer SSL certificate and actually put it on nuget.org.
Tags: #CSharp #MfGamesNitride
So, as I've been working on Nitride, I was thinking of how it could handle a complex site like fedran.com but also how it could handle a huge one I manage that has a several million words of text in it.
Apparently, to process two hundred Git repos, merge them together, and style everything takes just over fifty-five seconds.
Slow, but probably workable.
[ #MfGamesNitride ]
Well, that was "agony". Or it could be I have so much automated into my beancount setup that it basically involves going to various book vendors, downloading their reports and typing make
.
When everything is good, make send sync
sends all the statements to authors and I just have to sit and send paychecks via PayPal.
My plan is to rewrite this in Nitride (I know, a static site generator) because it is also a file-based ECS processor that could easily be used to parse the files and generate outputs and the static files).
#beancount #plaintextaccounting #mfgamesnitride
I'm working on converting second largest website (of about twelve) over to MfGames.Nitride and I realize I really should upload a common pattern (scheduling posts) to one of the core libraries.
I also have a small smattering of other patterns that I think I would like to see implemented at either the MfGames.Gallium (ECS) layer or in Nitride, so a little maintenance run would be good.
While bobbing in and out of my black hole nap, I think I also figured out a reasonable pattern for doing the password protected areas until I can write the One True System†to merge subscribers together into a static site.
That might also lead into a Gemini variant because I want to have this site over there... it's just overwhelming at this point. But, since Nitride was written to do both HTML and Gemtext static sites/pods, having most of it there will also make it easier when I do find a solution.
†I will long for this but it will never happen.
#csharp #mfgamesnitride #mfgamesgallium #gemini
I both hate and love when I find a more efficient pattern for building things. I'm doing another site like fedran.com that has project pages (e.g., https://fedran.com/sand-and-blood/) which also has chapter pages.
The current pattern is that the project page, chapters, credits, etc use a page builder class that is injected via Autofac (ProjectPageBuilderService.Factory
) which lets me keep things a lot cleaner and lets me move it from between projects.
I also figured out an easier way to create the verbiage on those pages, mainly creating a /description.md
and then loading it and pulling the data off the YAML header instead of writing a Rust CLI to generate a JSON file which is then pulled out.
Still using the Rust CLI for Fedran though, because it does a lot including rolling up trigger warnings, page counts, and the cross-referencing needed for the metadata on that site.
#autofac #mfgamesnitride #rust