* Write our plugin
* Include it
* Move the RegEx
* Don't rewriteLocalLinks with cheerio anymore
* Process after HTML ast is generated
* Use the same logic as before, just to see if it'll pass
* Don't require languageCode/version
* Only work on local links
* Needs an href
* Only update href if there's a new one to use
* Check for node.properties
* Some links are just mean
* Move use-english-headings to be a plugin
* Bail if no englishHeadings were passed
* Install rehype-wrap
* Wrap ol > li img in div.procedural-image-wrapper
* Test for platform without cheerio
* Use a plugin for rewriteAssetPathsToS3
* Remove cheerio from page.render
* Fix require paths
* SImplify
* Fix some 🐛s
* Use our own rehype-wrap
* Move rewriteAssetPathsToS3 after HTML AST
* Remove some console logs
* Fix check for includesPlatformSpecificContent
* Rename ast => tree
* Uninstall hubdown, install unified deps
* Create create-processor
* Use it
* Update a doc
* Tweak the language
* Use the same versions that hubdown used
* Add Lunr as a site search option
* Use a class like the Algolia option does
* Lint
* Working on showing real content, prep for highlighting
* Move searching to their own files
* Split out ridiculous fn
* Add highlighting
* Less lunr search code
* A little more tidy
* Then chain on write too
* Mark from server too
* Write a batch of indices
* Update compress.js
* Highlighting with fewer calls
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Update lunr-search.js
* Add markdown parsing dependencies
* Use it for the link test
* Use ast tests for hard-coded language
* Dedupe visiting for links
* Add new mdast utils to check-deps exclusions
* Explicitly set the Redis database number used for rate limiting
* Switch to using ioredis as the Redis client for rate limiting
* Install ioredis-mock as a primary dependency
* Create a Redis BasicAccessor class and tests
* Switch rendered page caching to use Redis for storage
* Add support for additional Redis SET options like TTLs
* Remove currently unused methods
* Rename redis-accessors/basic to redis-accessor and remove extra fluff
* Change default behavior for cache setting to throw if an error occurs
Add option allowSetFailures to facilitate graceful failures
* Allow SET failures to fail gracefully for the rendered page cache
* Remove as-yet unneeded serialization options from RedisAccessor
* Move Redis client construction into RedisAccessor constructor, just pass in databaseNumber as option
* Remove rendered-page-cache in favor of direct RedisAccessor use
* Add tests for RedisAccessor constructor param validations
* Eliminate one roundtrip to Redis for the cached HTML existence check
Are we fast yet?
* Set a rendered page cache TTL of 24 hours
* npm i connect-datadog
* Add connectDatadog middleware
* Add comments
* Use DD_API_KEY to gate
Co-authored-by: Chiedo John <2156688+chiedo@users.noreply.github.com>
* chore: Move standard to ESLint config
* fix: auto-fix ESLint indent issues
* fix: ESLint prefer-regex-literals
* fix: ESLint array-callback-return
- .filter must return a boolean value
- .map replaced with forEach when the value isn't used
* fix: ESLint no-extra-semi
Related to #128
- Prettier to fix indenting/quoting across files
- Manually adjust list styles to "-" style
- Ignore all translated files from automated formatting
- Drop redundant CI env variable
* add linkinator npm package
* add new script that uses Linkinator
* reorg the excluded links file and update comments
* replace blc artifacts with linkinator artifacts in .gitignore
* update the scheduled workflow to use the new script
* dismantle BLC scripts
* add workflow_dispatch event so we can test this manually
* npm uninstall broken-link-checker
* use different exit codes depending on whether broken links are found