* Ensure all Express 'next' calls include 'return's
* Add headersSent checks during archived versions flow
* Return a 404 earlier if archived resource fetch fails
* Short-circuit responses for archived stuff
* Be more careful about responding to and short-circuiting after search requests
* Fix tests
* Middleware overhaul!
- Remove unnecessary 'async' keywords from middleware functions
- Ensure all middleware functions we create have names
- Wrap the method contents of all async middleware functions in a try-catch+next(error) pattern
* Use asyncMiddleware wrapper instead of try-catch+next(error) pattern
* Remove unnecessary try-catch+next(error) pattern from context middleware
* 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
* Move search results to use relative urls
* ..and now we have real mark tags instead of em tags
Co-authored-by: Chiedo John <2156688+chiedo@users.noreply.github.com>
* 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>