Scott Hanselman recommended using the context instead of the browser object. Browser object creates a new context on each call which is a new process. Obviously we don't want that.
Also added an extra check for a load based on network idle. This will not only ensure things are loaded, but there is a built in 500ms timeout looking for inactivity which will let the font rendering process do it's thing which seems to lag a tad with Chromium.
And while we are at it, preloading the font can't hurt.
* Adding social card infrastructure
* Upgrades doc project to .NET 6
* Adds Playwright
* Changes the console to a web project for Playwright
* Adds social card template
* Added blog content
* Parallelized social image processing
* Updating CI to use .NET 6 for docs build
Using Statiq processes for tailwind commands
This reverts commit adb600c4301db4c0d9ce52cb6a4fe410db2baa17.
This reverts commit ab83e41051d198b550898ff5be30062214779308.
This is only for Android (hopefully) which has a system font that doesn't have standard width box drawing characters.
Other systems should still use their defaults.
PNGs were ran through TinyPng. Table.gif was weighing in at over 1.7mb
on my machine. Converted to webm and it's down to 80kb which is pretty
nice for something on the home page. Other gifs didn't have that much of
an improvement so I just left them as GIFs.
The 'root' variable does not exist in current context. Either should call Render(tree) or have it renamed to root. I've chosen root as it's more consistent with the examples later on.
Fixes some tree rendering problems where lines were not properly drawn
at some levels during some circumstances.
* Change the API back to only allow one root.
* Now uses a stack based approach to rendering instead of recursion.
* Removes the need for measuring the whole tree in advance.
Leave this up to each child to render.