* Move category to top-level doc set
* Move doc set to the top and update short title
* Undo package-lock changes
* updated hardcoded refs in tests
* Update test
* Fix hardcoded link in test
Co-authored-by: Sarah Schneider <sarahs@github.com>
* enable more react landing pages
* move nextjs page logic to separate middleware
* enable codespaces landing page + fixes
* enable /education
* enable /admin
* use pathToRegexp to match routes for react rendering
* run lint
* fix: typo in url
* update sidebar test
* Remove json.parse(json.stringify( usage to improve performance
* Fix missing / duplicate keys in some renders
* Fix missing react-is dependency (only seemed to cause problems from pruning on the heroku deploy)
* Add nextjs tag to datadog-connect config when nextjs is a query param
* Fix router.asPath usage to exclude query param
* Fix styling inconsistencies noticed when testing
* Add a few tests
* Upgrade primer to 16
* Upgrade colors in scss
* Get SCSS to build
* Initial dark mode support
* trashcan -> trash
* More specific search browser test
* Fix link color on homepage
* Update overrides.scss
* Upgrade some colors to primer variables
* Hide dark mode support for now
* Apply suggestions from code review
* Update overrides.scss
* Add new product to products.yml
* Move directory to new location
* Update new index page
* Remove old category from github product index
* Add getting started category
* Add Jekyll category
* Create custom domain category
* Update links to custom domain articles
* Add redirects and update links for getting started articles
* Add redirects and update links for jekyll articles
* Fix link
* Fix link
* Fix link
* Fix link
* Install throng for easy cluster management
* Extract the Express app construction into its own file
* Switch server.js to use app clustering for deployed environments
* Worker count is based on the lesser of process.env.WEB_CONCURRENCY and the count of CPUs
* Reading clustered output is difficult, let's prefix the std{out,err} streams
Co-authored-by: Jason Etcovitch <jasonetco@github.com>
* Add `page_event_id` to all successive events
* Update events.js
* Break out event inits into functions so they don't break each other
* Update events.js
* Update events.js
* Update events.js
* Cache archived asset JS/CSS for a day
* Don't waste time with ETag calculations
* Add a comment about the expiration length
* Cache images and fonts for a day
* Cache GraphQL data files for a week
* Set Fastly surrogate-key header on all responses
* Update test to account for new response header