* 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
* Use [node-]redis as a direct dependency
* Extract Redis client creation to its own module
* Attach extensive logging in the Redis client creation module
* Allow the rate limiter to pass requests when Redis is disconnected
* Update rate-limit-redis
* Default error input to empty object for formatRedisError method
* Provide a name for the rate limiter's Redis client
* Include redis-mock, exclude ioredis/ioredis-mock
* Remove unused RedisAccessor#exists method
* Switch RedisAccessor to use redis/redis-mock
* Provide a name for logging on the Redis page cache
* Remove extraneous trailing space from Redis logging prefix
Our updated use of console.* will already be adding a space after the prefix
* Replace ioredis-mock with redis-mock in tests
* Revert removal of ioredis dependency
* Bind Redis client to async promisified methods
* Extract former RedisAccessor constructor tests to new create-client tests
* Update RedisAccessor tests to work with the callback-based redis client
* Handle formatting Redis errors (or not) with more resiliency
* Move site search to use an endpoint
* Update browser.js
* Update search.js
* Update lib/search/versions.js
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* Fix URLs
Co-authored-by: James M. Greene <JamesMGreene@github.com>
* get link liquid tag to accept variables as param
* new liquid tag `link_as_article_card`
* refactor link liquid tag slightly so we can control what props get rendered
* generalize filterCodeExample to use in all guides section
* pass in `js-filter-card-max` instead of hardcode max
* tweaks and add `data` to CSP for images
* add liquid tag tests
* add some browser tests for card filters
* we still need to rely on `getPathWithLanguage` for hrefs that already have the language code embedded
Co-authored-by: Emily Gould <4822039+emilyistoofunky@users.noreply.github.com>
* remove unnecessary `render` methods
* we don't use `link_with_short_title` anymore
* remove `shortTitle` option
* remove ink_with_short_title tag test
* Add read-frontmatter.js
* Use it
* Page static read/init are async now
* Fix some blockers
* I'm confused
* Fix some more bugs
* Use frontmatter schema, ensure end fence exists
* Fix a bug
* Still read full contents for index.md files
* Remove comment
* Only get ToC items for index pages
* Readd frontmatter error and verdadero handling
* Fix some borked tests
* Simplify the code
* Add a comment
* Remove redundant variable
* Re-simplify the Page construction
* End chunk _after_ endline
* Just use Page.init