* Separated logic for extracting indexable content
* Docs edits
* Readability improvements
* Simplify/deduplicate indexing code
* Simplify search code
Pulled in some code that will be included in a future Django release
(query.py)
* Reword a limitation
* Fix typo in docstring
* Raise a warning when Boost() is used in PostgreSQL search backend
* Add note mentioning that RawSearchQuery can be replaced in Django 3.1
* Add comment mentioning that we can replace query.py if Django PR merged
* Jest 24 is out but upgrading to it would require us to also update our Webpack tooling to Babel 7, which is quite significant work.
* Rewrite Draftail initialisation tests to stop relying on jsdom script parsing
When a slice is specifically set to [0:0], which would yield an empty list,
instead wagtail will clear the slice, effectively downloading the entire search
index.
This scenario happens when a search term does not return any results.
So every time you enter a search term that has no results, the entire search
index is downloaded, you don't really feel it because wagtail only downloads
the pk values, and it is unlikely a site has millions of pages, but it is still
very inefficient and unwanted.
* bulk_delete exists to avoid allowing users to delete a whole lot of pages all at once by mistake, when they think they're just deleting one. However, the move/delete analogue breaks down when you're talking about moving an entire subtree, because you're *not* directly altering the children of the moved Page.
* This method was inspired by a Lacey Williams Henschel (@williln) presentation at Wagtail Space US 2018, called 'What the Wagtail docs don't tell you'. https://www.youtube.com/watch?v=PCkxBNXWM64&t=1220s
* Add docs section reference/contrib/redirects
* `reverse` was used but not imported in the wagtail_hooks.py examples, causing them to be invalid
* I switched the Django `url` calls to use `path` instead since that seems both cleaner and officially recommended, the url function is "likely to be deprecated in a future release" per Django docs and `path` is starting to replace it in urls.py files now
* Update ImageRendtion to use default_alt_text property of Image
* Update example in documentation
* Add a test for ImageRenditionField
* Resolves #5816
- use .add_css_file instead of .add_stylesheet in conf.py
- use .add_js_file instead of .add_javascript in conf.py
- fix duplicate clss references in pages model reference (for grouping of methods & attributes)
- rename wagtailspace.js to banner.js (may be used in the future for a generic banner)