You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/04/03 18:25:40 UTC

[isis-site] 02/02: ISIS-2336: updates with search index

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/isis-site.git

commit 17de66c144360d5a3f25dcddef80303a889c15f9
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Apr 3 19:22:56 2020 +0100

    ISIS-2336: updates with search index
---
 content/404.html                                   |   33 +-
 .../_attachments/algolia-search/config.json        |   40 +
 content/comguide/2.0.0-M3/about.html               |   36 +-
 ...verifying-releases.html => algolia-search.html} |  319 +--
 .../2.0.0-M3/antora-publish-procedure.html         |   65 +-
 content/comguide/2.0.0-M3/applying-patches.html    |   36 +-
 content/comguide/2.0.0-M3/cutting-a-release.html   |   36 +-
 content/comguide/2.0.0-M3/key-generation.html      |   40 +-
 .../comguide/2.0.0-M3/merging-a-pull-request.html  |   36 +-
 content/comguide/2.0.0-M3/pmc-notes.html           |   36 +-
 content/comguide/2.0.0-M3/policies.html            |   36 +-
 content/comguide/2.0.0-M3/policies/git-policy.html |   36 +-
 .../2.0.0-M3/policies/versioning-policy.html       |   36 +-
 .../comguide/2.0.0-M3/post-release-successful.html |   95 +-
 .../2.0.0-M3/post-release-unsuccessful.html        |   36 +-
 .../release-process-for-interim-releases.html      |   36 +-
 .../comguide/2.0.0-M3/release-process-prereqs.html |   42 +-
 content/comguide/2.0.0-M3/verifying-releases.html  |   36 +-
 content/conguide/2.0.0-M3/about.html               |   33 +-
 content/conguide/2.0.0-M3/agilej.html              |   33 +-
 .../conguide/2.0.0-M3/building-apache-isis.html    |   33 +-
 .../2.0.0-M3/building-docs-and-website.html        |   33 +-
 content/conguide/2.0.0-M3/cmd-line.html            |   33 +-
 content/conguide/2.0.0-M3/contributing.html        |   33 +-
 content/conguide/2.0.0-M3/documentation/about.html |   33 +-
 .../2.0.0-M3/documentation/asciidoc-syntax.html    |   33 +-
 .../documentation/building-docs-and-website.html   |   33 +-
 content/conguide/2.0.0-M3/eclipse/about.html       |   33 +-
 content/conguide/2.0.0-M3/git/about.html           |   33 +-
 content/conguide/2.0.0-M3/intellij/about.html      |   33 +-
 content/core/2.0.0-M3/about.html                   |   33 +-
 content/core/2.0.0-M3/archdesign/about.html        |   33 +-
 content/core/2.0.0-M3/codegen-bytebuddy/about.html |   33 +-
 content/core/2.0.0-M3/commons/about.html           |   33 +-
 .../commons/concurrent-task-list-UNUSED.html       |   33 +-
 .../core/2.0.0-M3/internaltestsupport/about.html   |   33 +-
 content/core/2.0.0-M3/metamodel/about.html         |   33 +-
 content/core/2.0.0-M3/metamodel/class-diagram.html |   33 +-
 .../ApplicationFeatureFactory.html                 |   33 +-
 .../runtime-services/AuditerDispatchService.html   |   33 +-
 .../AuthenticationSessionProvider.html             |   33 +-
 .../runtime-services/ChangedObjectsService.html    |   33 +-
 .../CommandDtoServiceInternal.html                 |   33 +-
 .../ContentNegotiationService.html                 |   33 +-
 .../InteractionDtoServiceInternal.html             |   33 +-
 .../PersistenceSessionServiceInternal.html         |   33 +-
 .../runtime-services/PublisherDispatchService.html |   33 +-
 .../runtime-services/RepresentationService.html    |   33 +-
 content/core/2.0.0-M3/runtime-services/about.html  |   33 +-
 content/core/2.0.0-M3/runtime/about.html           |   33 +-
 content/core/2.0.0-M3/smoketests/about.html        |   33 +-
 content/core/2.0.0-M3/webapp/about.html            |   33 +-
 content/core/2.0.0-M3/webapp/webmodules.html       |   33 +-
 content/docs/2.0.0-M3/about.html                   |   33 +-
 content/docs/2.0.0-M3/archive/1-x.html             |   33 +-
 content/docs/2.0.0-M3/demo/about.html              |   33 +-
 content/docs/2.0.0-M3/downloads/how-to.html        |   33 +-
 .../going-deeper/articles-and-presentations.html   |   33 +-
 content/docs/2.0.0-M3/going-deeper/books.html      |   33 +-
 content/docs/2.0.0-M3/landing-page/components.html |   33 +-
 content/docs/2.0.0-M3/landing-page/guides.html     |   33 +-
 content/docs/2.0.0-M3/landing-page/internal.html   |   33 +-
 content/docs/2.0.0-M3/landing-page/libraries.html  |   33 +-
 content/docs/2.0.0-M3/landing-page/releases.html   |   33 +-
 content/docs/2.0.0-M3/mavendeps/about.html         |   33 +-
 content/docs/2.0.0-M3/more-thanks/more-thanks.html |   33 +-
 content/docs/2.0.0-M3/parent-pom/about.html        |   33 +-
 content/docs/2.0.0-M3/resources/about.html         |   33 +-
 content/docs/2.0.0-M3/resources/cheatsheet.html    |   33 +-
 content/docs/2.0.0-M3/resources/icons.html         |   33 +-
 content/docs/2.0.0-M3/starters/about.html          |   33 +-
 .../docs/2.0.0-M3/starters/helloworld-script.html  |   33 +-
 content/docs/2.0.0-M3/starters/helloworld.html     |   33 +-
 .../docs/2.0.0-M3/starters/simpleapp-script.html   |   33 +-
 content/docs/2.0.0-M3/starters/simpleapp.html      |   33 +-
 content/docs/2.0.0-M3/support/about.html           |   33 +-
 content/docs/2.0.0-M3/support/mailing-list.html    |   33 +-
 content/docs/2.0.0-M3/support/slack-channel.html   |   33 +-
 .../what-is-apache-isis/common-use-cases.html      |   33 +-
 .../what-is-apache-isis/isis-in-pictures.html      |   33 +-
 .../2.0.0-M3/what-is-apache-isis/powered-by.html   |   33 +-
 .../what-is-apache-isis/powered-by/commapp.html    |   33 +-
 .../what-is-apache-isis/powered-by/contactapp.html |   33 +-
 .../what-is-apache-isis/powered-by/cqnz.html       |   33 +-
 .../what-is-apache-isis/powered-by/estatio.html    |   33 +-
 .../powered-by/gesconsultor-grc.html               |   33 +-
 .../powered-by/transport-planner.html              |   33 +-
 .../what-is-apache-isis/screencasts-older.html     |   33 +-
 .../2.0.0-M3/what-is-apache-isis/screencasts.html  |   33 +-
 .../what-is-apache-isis/screencasts/playlists.html |   33 +-
 content/extensions/2.0.0-M3/about.html             |   33 +-
 content/extensions/2.0.0-M3/command-log/about.html |   33 +-
 content/incubator/2.0.0-M3/about.html              |   33 +-
 content/incubator/2.0.0-M3/microprofile/about.html |   33 +-
 content/incubator/2.0.0-M3/model/about.html        |   33 +-
 content/legacy/2.0.0-M3/about.html                 |   33 +-
 content/legacy/2.0.0-M3/applib/about.html          |   33 +-
 content/legacy/2.0.0-M3/commons/about.html         |   33 +-
 content/legacy/2.0.0-M3/metamodel/about.html       |   33 +-
 content/legacy/2.0.0-M3/restclient/about.html      |   33 +-
 content/legacy/2.0.0-M3/runtime/about.html         |   33 +-
 content/legacy/2.0.0-M3/servletapi/about.html      |   33 +-
 content/mappings/2.0.0-M3/about.html               |   33 +-
 content/mappings/2.0.0-M3/jaxrsclient/about.html   |   33 +-
 content/mappings/2.0.0-M3/minio/about.html         |   33 +-
 .../mappings/2.0.0-M3/outbox-publisher/about.html  |   33 +-
 content/mappings/2.0.0-M3/restclient/about.html    |   33 +-
 content/mappings/2.0.0-M3/slack/about.html         |   33 +-
 content/pjdo/2.0.0-M3/about.html                   |   33 +-
 content/pjdo/2.0.0-M3/configuring.html             |   33 +-
 content/pjdo/2.0.0-M3/configuring/bulk-load.html   |   33 +-
 .../disabling-persistence-by-reachability.html     |   33 +-
 .../pjdo/2.0.0-M3/configuring/persistence-xml.html |   33 +-
 content/pjdo/2.0.0-M3/configuring/properties.html  |   33 +-
 .../configuring/using-jndi-data-source.html        |   33 +-
 content/pjdo/2.0.0-M3/db-schemas.html              |   33 +-
 content/pjdo/2.0.0-M3/hints-and-tips.html          |   33 +-
 .../hints-and-tips/diagnosing-n-plus-1.html        |   33 +-
 content/pjdo/2.0.0-M3/hints-and-tips/java8.html    |   33 +-
 .../hints-and-tips/jdoql-and-timestamps.html       |   33 +-
 .../hints-and-tips/overriding-jdo-annotations.html |   33 +-
 .../subtype-entity-not-fully-populated.html        |   33 +-
 .../typesafe-queries-and-fetchgroups.html          |   33 +-
 content/pjdo/2.0.0-M3/jdo-mappings.html            |   33 +-
 .../mandatory-properties-in-subtypes.html          |   33 +-
 .../2.0.0-M3/jdo-mappings/mapping-to-a-view.html   |   33 +-
 .../one-to-m-bidirectional-relationships.html      |   33 +-
 content/pjdo/2.0.0-M3/services/IsisJdoSupport.html |   33 +-
 content/refguide/2.0.0-M3/about.html               |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Action.html   |   33 +-
 .../2.0.0-M3/applib-ant/Action/associateWith.html  |   33 +-
 .../2.0.0-M3/applib-ant/Action/command.html        |   33 +-
 .../2.0.0-M3/applib-ant/Action/domainEvent.html    |   33 +-
 .../2.0.0-M3/applib-ant/Action/hidden.html         |   33 +-
 .../2.0.0-M3/applib-ant/Action/publishing.html     |   33 +-
 .../2.0.0-M3/applib-ant/Action/restrictTo.html     |   33 +-
 .../2.0.0-M3/applib-ant/Action/semantics.html      |   33 +-
 .../2.0.0-M3/applib-ant/Action/typeOf.html         |   33 +-
 .../refguide/2.0.0-M3/applib-ant/ActionLayout.html |   33 +-
 .../applib-ant/ActionLayout/bookmarking.html       |   33 +-
 .../applib-ant/ActionLayout/contributedAs.html     |   33 +-
 .../2.0.0-M3/applib-ant/ActionLayout/cssClass.html |   33 +-
 .../applib-ant/ActionLayout/cssClassFa.html        |   33 +-
 .../applib-ant/ActionLayout/describedAs.html       |   33 +-
 .../2.0.0-M3/applib-ant/ActionLayout/hidden.html   |   33 +-
 .../2.0.0-M3/applib-ant/ActionLayout/named.html    |   33 +-
 .../2.0.0-M3/applib-ant/ActionLayout/position.html |   33 +-
 .../applib-ant/ActionLayout/promptStyle.html       |   33 +-
 .../2.0.0-M3/applib-ant/ActionLayout/redirect.html |   33 +-
 .../refguide/2.0.0-M3/applib-ant/Collection.html   |   33 +-
 .../applib-ant/Collection/domainEvent.html         |   33 +-
 .../2.0.0-M3/applib-ant/Collection/editing.html    |   33 +-
 .../2.0.0-M3/applib-ant/Collection/hidden.html     |   33 +-
 .../Collection/mementoSerialization.html           |   33 +-
 .../2.0.0-M3/applib-ant/Collection/typeOf.html     |   33 +-
 .../2.0.0-M3/applib-ant/CollectionLayout.html      |   33 +-
 .../applib-ant/CollectionLayout/cssClass.html      |   33 +-
 .../applib-ant/CollectionLayout/defaultView.html   |   33 +-
 .../applib-ant/CollectionLayout/describedAs.html   |   33 +-
 .../applib-ant/CollectionLayout/hidden.html        |   33 +-
 .../applib-ant/CollectionLayout/named.html         |   33 +-
 .../applib-ant/CollectionLayout/paged.html         |   33 +-
 .../applib-ant/CollectionLayout/sortedBy.html      |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Column.html   |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Digits.html   |   33 +-
 .../2.0.0-M3/applib-ant/Discriminator.html         |   33 +-
 .../refguide/2.0.0-M3/applib-ant/DomainObject.html |   33 +-
 .../applib-ant/DomainObject/actionDomainEvent.html |   33 +-
 .../2.0.0-M3/applib-ant/DomainObject/auditing.html |   33 +-
 .../DomainObject/autoCompleteRepository.html       |   33 +-
 .../2.0.0-M3/applib-ant/DomainObject/bounding.html |   33 +-
 .../DomainObject/collectionDomainEvent.html        |   33 +-
 .../DomainObject/createdLifecycleEvent.html        |   33 +-
 .../2.0.0-M3/applib-ant/DomainObject/editing.html  |   33 +-
 .../DomainObject/loadedLifecycleEvent.html         |   33 +-
 .../applib-ant/DomainObject/mixinMethod.html       |   33 +-
 .../2.0.0-M3/applib-ant/DomainObject/nature.html   |   33 +-
 .../applib-ant/DomainObject/objectType.html        |   33 +-
 .../DomainObject/persistedLifecycleEvent.html      |   33 +-
 .../DomainObject/persistingLifecycleEvent.html     |   33 +-
 .../DomainObject/propertyDomainEvent.html          |   33 +-
 .../applib-ant/DomainObject/publishing.html        |   33 +-
 .../DomainObject/removingLifecycleEvent.html       |   33 +-
 .../DomainObject/updatedLifecycleEvent.html        |   33 +-
 .../DomainObject/updatingLifecycleEvent.html       |   33 +-
 .../2.0.0-M3/applib-ant/DomainObjectLayout.html    |   33 +-
 .../applib-ant/DomainObjectLayout/bookmarking.html |   33 +-
 .../applib-ant/DomainObjectLayout/cssClass.html    |   33 +-
 .../applib-ant/DomainObjectLayout/cssClassFa.html  |   33 +-
 .../DomainObjectLayout/cssClassUiEvent.html        |   33 +-
 .../applib-ant/DomainObjectLayout/describedAs.html |   33 +-
 .../applib-ant/DomainObjectLayout/iconUiEvent.html |   33 +-
 .../DomainObjectLayout/layoutUiEvent.html          |   33 +-
 .../applib-ant/DomainObjectLayout/named.html       |   33 +-
 .../applib-ant/DomainObjectLayout/paged.html       |   33 +-
 .../applib-ant/DomainObjectLayout/plural.html      |   33 +-
 .../DomainObjectLayout/titleUiEvent.html           |   33 +-
 .../2.0.0-M3/applib-ant/DomainService.html         |   33 +-
 .../2.0.0-M3/applib-ant/DomainService/nature.html  |   33 +-
 .../applib-ant/DomainService/objectType.html       |   33 +-
 .../2.0.0-M3/applib-ant/DomainServiceLayout.html   |   33 +-
 .../applib-ant/DomainServiceLayout/menuBar.html    |   33 +-
 .../applib-ant/DomainServiceLayout/named.html      |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Facets.html   |   33 +-
 content/refguide/2.0.0-M3/applib-ant/HomePage.html |   33 +-
 .../2.0.0-M3/applib-ant/IsisSessionScope.html      |   33 +-
 .../refguide/2.0.0-M3/applib-ant/MemberOrder.html  |   33 +-
 .../2.0.0-M3/applib-ant/MemberOrder/name.html      |   33 +-
 .../2.0.0-M3/applib-ant/MemberOrder/sequence.html  |   33 +-
 .../refguide/2.0.0-M3/applib-ant/MinLength.html    |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Mixin.html    |   33 +-
 .../refguide/2.0.0-M3/applib-ant/Mixin/method.html |   33 +-
 .../2.0.0-M3/applib-ant/NotPersistent.html         |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Nullable.html |   33 +-
 .../refguide/2.0.0-M3/applib-ant/Parameter.html    |   33 +-
 .../2.0.0-M3/applib-ant/Parameter/fileAccept.html  |   33 +-
 .../2.0.0-M3/applib-ant/Parameter/maxLength.html   |   33 +-
 .../2.0.0-M3/applib-ant/Parameter/mustSatisfy.html |   33 +-
 .../2.0.0-M3/applib-ant/Parameter/optionality.html |   33 +-
 .../applib-ant/Parameter/regexPattern.html         |   33 +-
 .../2.0.0-M3/applib-ant/ParameterLayout.html       |   33 +-
 .../applib-ant/ParameterLayout/cssClass.html       |   33 +-
 .../applib-ant/ParameterLayout/describedAs.html    |   33 +-
 .../applib-ant/ParameterLayout/labelPosition.html  |   33 +-
 .../applib-ant/ParameterLayout/multiLine.html      |   33 +-
 .../2.0.0-M3/applib-ant/ParameterLayout/named.html |   33 +-
 .../applib-ant/ParameterLayout/renderDay.html      |   33 +-
 .../applib-ant/ParameterLayout/typicalLength.html  |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Pattern.html  |   33 +-
 .../2.0.0-M3/applib-ant/PersistenceCapable.html    |   33 +-
 .../refguide/2.0.0-M3/applib-ant/PrimaryKey.html   |   33 +-
 .../refguide/2.0.0-M3/applib-ant/Programmatic.html |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Property.html |   33 +-
 .../2.0.0-M3/applib-ant/Property/command.html      |   33 +-
 .../2.0.0-M3/applib-ant/Property/domainEvent.html  |   33 +-
 .../2.0.0-M3/applib-ant/Property/editing.html      |   33 +-
 .../2.0.0-M3/applib-ant/Property/fileAccept.html   |   33 +-
 .../2.0.0-M3/applib-ant/Property/hidden.html       |   33 +-
 .../2.0.0-M3/applib-ant/Property/maxLength.html    |   33 +-
 .../applib-ant/Property/mementoSerialization.html  |   33 +-
 .../2.0.0-M3/applib-ant/Property/mustSatisfy.html  |   33 +-
 .../2.0.0-M3/applib-ant/Property/optionality.html  |   33 +-
 .../2.0.0-M3/applib-ant/Property/projecting.html   |   33 +-
 .../2.0.0-M3/applib-ant/Property/publishing.html   |   33 +-
 .../2.0.0-M3/applib-ant/Property/regexPattern.html |   33 +-
 .../2.0.0-M3/applib-ant/PropertyLayout.html        |   33 +-
 .../applib-ant/PropertyLayout/cssClass.html        |   33 +-
 .../applib-ant/PropertyLayout/describedAs.html     |   33 +-
 .../2.0.0-M3/applib-ant/PropertyLayout/hidden.html |   33 +-
 .../applib-ant/PropertyLayout/labelPosition.html   |   33 +-
 .../applib-ant/PropertyLayout/multiLine.html       |   33 +-
 .../2.0.0-M3/applib-ant/PropertyLayout/named.html  |   33 +-
 .../applib-ant/PropertyLayout/navigable.html       |   33 +-
 .../applib-ant/PropertyLayout/promptStyle.html     |   33 +-
 .../applib-ant/PropertyLayout/renderDay.html       |   33 +-
 .../applib-ant/PropertyLayout/repainting.html      |   33 +-
 .../applib-ant/PropertyLayout/typicalLength.html   |   33 +-
 content/refguide/2.0.0-M3/applib-ant/Title.html    |   33 +-
 .../refguide/2.0.0-M3/applib-ant/ViewModel.html    |   33 +-
 .../2.0.0-M3/applib-ant/ViewModel/objectType.html  |   33 +-
 .../2.0.0-M3/applib-ant/XmlJavaTypeAdapter.html    |   33 +-
 .../2.0.0-M3/applib-ant/XmlRootElement.html        |   33 +-
 content/refguide/2.0.0-M3/applib-ant/about.html    |   33 +-
 .../refguide/2.0.0-M3/applib-ant/about/jdo.html    |   33 +-
 .../refguide/2.0.0-M3/applib-ant/about/jee.html    |   33 +-
 .../refguide/2.0.0-M3/applib-ant/about/main.html   |   33 +-
 .../refguide/2.0.0-M3/applib-ant/about/other.html  |   33 +-
 .../2.0.0-M3/applib-ant/about/partial.html         |   33 +-
 .../2.0.0-M3/applib-classes/ViewModel.html         |   33 +-
 .../refguide/2.0.0-M3/applib-classes/about.html    |   33 +-
 .../refguide/2.0.0-M3/applib-classes/events.html   |   33 +-
 .../applib-classes/events/domainevent.html         |   33 +-
 .../events/domainevent/AbstractDomainEvent.html    |   33 +-
 .../events/domainevent/ActionDomainEvent.html      |   33 +-
 .../events/domainevent/CollectionDomainEvent.html  |   33 +-
 .../events/domainevent/PropertyDomainEvent.html    |   33 +-
 .../applib-classes/events/lifecycleevent.html      |   33 +-
 .../lifecycleevent/AbstractLifecycleEvent.html     |   33 +-
 .../events/lifecycleevent/ObjectCreatedEvent.html  |   33 +-
 .../events/lifecycleevent/ObjectLoadedEvent.html   |   33 +-
 .../lifecycleevent/ObjectPersistedEvent.html       |   33 +-
 .../lifecycleevent/ObjectPersistingEvent.html      |   33 +-
 .../events/lifecycleevent/ObjectRemovingEvent.html |   33 +-
 .../events/lifecycleevent/ObjectUpdatedEvent.html  |   33 +-
 .../events/lifecycleevent/ObjectUpdatingEvent.html |   33 +-
 .../2.0.0-M3/applib-classes/events/uievent.html    |   33 +-
 .../events/uievent/CssClassUiEvent.html            |   33 +-
 .../applib-classes/events/uievent/IconUiEvent.html |   33 +-
 .../events/uievent/TitleUiEvent.html               |   33 +-
 content/refguide/2.0.0-M3/applib-classes/i18n.html |   33 +-
 .../applib-classes/i18n/TranslatableString.html    |   33 +-
 .../refguide/2.0.0-M3/applib-classes/layout.html   |   33 +-
 .../2.0.0-M3/applib-classes/layout/menubars.html   |   33 +-
 .../applib-classes/layout/object-layout.html       |   33 +-
 .../applib-classes/roles-mixins-contributees.html  |   33 +-
 .../roles-mixins-contributees/contributee.html     |   33 +-
 .../roles-mixins-contributees/mixins.html          |   33 +-
 .../roles-mixins-contributees/mixins/Dto.html      |   33 +-
 .../roles-mixins-contributees/mixins/Object.html   |   33 +-
 .../mixins/Persistable.html                        |   33 +-
 .../roles-mixins-contributees/roles.html           |   33 +-
 .../roles/HoldsUpdatedAt.html                      |   33 +-
 .../roles/HoldsUpdatedBy.html                      |   33 +-
 .../roles/Timestampable.html                       |   33 +-
 content/refguide/2.0.0-M3/applib-classes/spec.html |   33 +-
 .../refguide/2.0.0-M3/applib-classes/utility.html  |   33 +-
 .../2.0.0-M3/applib-classes/utility/Enums.html     |   33 +-
 .../applib-classes/utility/ObjectContracts.html    |   33 +-
 .../2.0.0-M3/applib-classes/utility/Reasons.html   |   33 +-
 .../applib-classes/utility/TitleBuffer.html        |   33 +-
 .../2.0.0-M3/applib-classes/value-types.html       |   33 +-
 .../2.0.0-M3/applib-classes/value-types/Blob.html  |   33 +-
 .../2.0.0-M3/applib-classes/value-types/Clob.html  |   33 +-
 .../applib-classes/value-types/Markup.html         |   33 +-
 .../refguide/2.0.0-M3/applib-methods/about.html    |   33 +-
 .../2.0.0-M3/applib-methods/lifecycle.html         |   33 +-
 .../2.0.0-M3/applib-methods/lifecycle/created.html |   33 +-
 .../2.0.0-M3/applib-methods/lifecycle/loaded.html  |   33 +-
 .../applib-methods/lifecycle/persisted.html        |   33 +-
 .../applib-methods/lifecycle/persisting.html       |   33 +-
 .../applib-methods/lifecycle/removing.html         |   33 +-
 .../2.0.0-M3/applib-methods/lifecycle/updated.html |   33 +-
 .../applib-methods/lifecycle/updating.html         |   33 +-
 .../refguide/2.0.0-M3/applib-methods/prefixes.html |   33 +-
 .../applib-methods/prefixes/autoComplete.html      |   33 +-
 .../2.0.0-M3/applib-methods/prefixes/choices.html  |   33 +-
 .../2.0.0-M3/applib-methods/prefixes/default.html  |   33 +-
 .../applib-methods/prefixes/deprecated/addTo.html  |   33 +-
 .../applib-methods/prefixes/deprecated/clear.html  |   33 +-
 .../applib-methods/prefixes/deprecated/modify.html |   33 +-
 .../prefixes/deprecated/removeFrom.html            |   33 +-
 .../prefixes/deprecated/validate.html              |   33 +-
 .../prefixes/deprecated/validateAddTo.html         |   33 +-
 .../prefixes/deprecated/validateRemoveFrom.html    |   33 +-
 .../2.0.0-M3/applib-methods/prefixes/disable.html  |   33 +-
 .../2.0.0-M3/applib-methods/prefixes/get.html      |   33 +-
 .../2.0.0-M3/applib-methods/prefixes/hide.html     |   33 +-
 .../2.0.0-M3/applib-methods/prefixes/set.html      |   33 +-
 .../refguide/2.0.0-M3/applib-methods/reserved.html |   33 +-
 .../2.0.0-M3/applib-methods/reserved/cssClass.html |   33 +-
 .../reserved/deprecated/disable.html               |   33 +-
 .../applib-methods/reserved/deprecated/getId.html  |   33 +-
 .../applib-methods/reserved/deprecated/hide.html   |   33 +-
 .../reserved/deprecated/validate.html              |   33 +-
 .../2.0.0-M3/applib-methods/reserved/iconName.html |   33 +-
 .../2.0.0-M3/applib-methods/reserved/layout.html   |   33 +-
 .../2.0.0-M3/applib-methods/reserved/title.html    |   33 +-
 .../2.0.0-M3/applib-svc/AcceptHeaderService.html   |   33 +-
 .../applib-svc/ApplicationFeatureRepository.html   |   33 +-
 .../2.0.0-M3/applib-svc/AuditerService.html        |   33 +-
 .../2.0.0-M3/applib-svc/BookmarkService.html       |   33 +-
 .../2.0.0-M3/applib-svc/BookmarkUiService.html     |   33 +-
 .../refguide/2.0.0-M3/applib-svc/ClockService.html |   33 +-
 .../2.0.0-M3/applib-svc/CommandContext.html        |   33 +-
 .../applib-svc/CommandDtoProcessorService.html     |   33 +-
 .../applib-svc/CommandExecutorService.html         |   33 +-
 .../2.0.0-M3/applib-svc/CommandService.html        |   33 +-
 .../2.0.0-M3/applib-svc/ConfigurationMenu.html     |   33 +-
 .../applib-svc/ConfigurationViewService.html       |   45 +-
 .../2.0.0-M3/applib-svc/ContentMappingService.html |   52 +-
 .../2.0.0-M3/applib-svc/DeepLinkService.html       |   45 +-
 .../applib-svc/EmailNotificationService.html       |   74 +-
 .../refguide/2.0.0-M3/applib-svc/EmailService.html |   52 +-
 .../2.0.0-M3/applib-svc/ErrorReportingService.html |   70 +-
 .../2.0.0-M3/applib-svc/EventBusService.html       |   33 +-
 .../2.0.0-M3/applib-svc/ExceptionRecognizer.html   |   33 +-
 .../applib-svc/ExceptionRecognizerService.html     |   33 +-
 .../2.0.0-M3/applib-svc/FactoryService.html        |   33 +-
 .../2.0.0-M3/applib-svc/GridLoaderService.html     |   33 +-
 .../refguide/2.0.0-M3/applib-svc/GridService.html  |   33 +-
 .../2.0.0-M3/applib-svc/GridSystemService.html     |   33 +-
 .../2.0.0-M3/applib-svc/HealthCheckService.html    |   33 +-
 .../refguide/2.0.0-M3/applib-svc/HintStore.html    |   33 +-
 .../applib-svc/HomePageResolverService.html        |   33 +-
 .../2.0.0-M3/applib-svc/InteractionContext.html    |   33 +-
 .../refguide/2.0.0-M3/applib-svc/JaxbService.html  |   33 +-
 .../2.0.0-M3/applib-svc/LayoutService.html         |   33 +-
 .../2.0.0-M3/applib-svc/LayoutServiceMenu.html     |   33 +-
 .../2.0.0-M3/applib-svc/LocaleProvider.html        |   33 +-
 .../2.0.0-M3/applib-svc/MenuBarsLoaderService.html |   33 +-
 .../2.0.0-M3/applib-svc/MenuBarsService.html       |   33 +-
 .../2.0.0-M3/applib-svc/MessageService.html        |   33 +-
 .../2.0.0-M3/applib-svc/MetaModelService.html      |   33 +-
 .../2.0.0-M3/applib-svc/MetaModelServiceMenu.html  |   33 +-
 .../2.0.0-M3/applib-svc/MetricsService.html        |   33 +-
 .../2.0.0-M3/applib-svc/PublisherService.html      |   33 +-
 .../2.0.0-M3/applib-svc/QueryResultsCache.html     |   33 +-
 .../applib-svc/QueryResultsCacheControl.html       |   33 +-
 .../2.0.0-M3/applib-svc/RepositoryService.html     |   33 +-
 .../2.0.0-M3/applib-svc/RoutingService.html        |   33 +-
 .../refguide/2.0.0-M3/applib-svc/Scratchpad.html   |   33 +-
 .../2.0.0-M3/applib-svc/ServiceInjector.html       |   33 +-
 .../2.0.0-M3/applib-svc/ServiceRegistry.html       |   33 +-
 .../2.0.0-M3/applib-svc/SessionLoggingService.html |   33 +-
 .../refguide/2.0.0-M3/applib-svc/SudoService.html  |   33 +-
 .../2.0.0-M3/applib-svc/SwaggerService.html        |   33 +-
 .../applib-svc/TableColumnOrderService.html        |   33 +-
 .../refguide/2.0.0-M3/applib-svc/TitleService.html |   33 +-
 .../2.0.0-M3/applib-svc/TransactionService.html    |   33 +-
 .../2.0.0-M3/applib-svc/TranslationService.html    |   33 +-
 .../2.0.0-M3/applib-svc/TranslationsResolver.html  |   33 +-
 .../2.0.0-M3/applib-svc/UrlEncodingService.html    |   33 +-
 .../2.0.0-M3/applib-svc/UserProfileService.html    |   33 +-
 .../applib-svc/UserRegistrationService.html        |   33 +-
 .../refguide/2.0.0-M3/applib-svc/UserService.html  |   33 +-
 .../2.0.0-M3/applib-svc/WrapperFactory.html        |   33 +-
 .../refguide/2.0.0-M3/applib-svc/XmlService.html   |   33 +-
 .../2.0.0-M3/applib-svc/XmlSnapshotService.html    |   33 +-
 content/refguide/2.0.0-M3/applib-svc/about.html    |   33 +-
 content/refguide/2.0.0-M3/config/about.html        |   33 +-
 .../application-specific/application-css.html      |   33 +-
 .../2.0.0-M3/config/section-hooks/Other~post.html  |   33 +-
 .../2.0.0-M3/config/section-hooks/Other~pre.html   |   33 +-
 .../config/section-hooks/isis.applib~post.html     |   33 +-
 .../config/section-hooks/isis.applib~pre.html      |   33 +-
 .../isis.core.meta-model.introspector~post.html    |   33 +-
 .../isis.core.meta-model.introspector~pre.html     |   33 +-
 .../isis.core.meta-model.validator~post.html       |   33 +-
 .../isis.core.meta-model.validator~pre.html        |   33 +-
 .../section-hooks/isis.core.meta-model~post.html   |   33 +-
 .../section-hooks/isis.core.meta-model~pre.html    |   33 +-
 .../isis.core.runtime-services~post.html           |   33 +-
 .../isis.core.runtime-services~pre.html            |   33 +-
 .../section-hooks/isis.core.runtime~post.html      |   33 +-
 .../section-hooks/isis.core.runtime~pre.html       |   33 +-
 .../config/section-hooks/isis.extensions~post.html |   33 +-
 .../config/section-hooks/isis.extensions~pre.html  |   33 +-
 .../config/section-hooks/isis.incubator~post.html  |   33 +-
 .../config/section-hooks/isis.incubator~pre.html   |   33 +-
 .../config/section-hooks/isis.legacy~post.html     |   33 +-
 .../config/section-hooks/isis.legacy~pre.html      |   33 +-
 .../config/section-hooks/isis.mappings~post.html   |   33 +-
 .../config/section-hooks/isis.mappings~pre.html    |   33 +-
 ...isis.persistence.jdo-datanucleus.impl~post.html |   33 +-
 .../isis.persistence.jdo-datanucleus.impl~pre.html |   33 +-
 .../isis.persistence.jdo-datanucleus~post.html     |   33 +-
 .../isis.persistence.jdo-datanucleus~pre.html      |   33 +-
 .../section-hooks/isis.security.shiro~post.html    |   33 +-
 .../section-hooks/isis.security.shiro~pre.html     |   33 +-
 .../config/section-hooks/isis.subdomains~post.html |   33 +-
 .../config/section-hooks/isis.subdomains~pre.html  |   33 +-
 .../config/section-hooks/isis.testing~post.html    |   33 +-
 .../config/section-hooks/isis.testing~pre.html     |   33 +-
 .../section-hooks/isis.value-types~post.html       |   33 +-
 .../config/section-hooks/isis.value-types~pre.html |   33 +-
 .../isis.viewer.restfulobjects~post.html           |   33 +-
 .../isis.viewer.restfulobjects~pre.html            |   33 +-
 .../section-hooks/isis.viewer.wicket~post.html     |   33 +-
 .../section-hooks/isis.viewer.wicket~pre.html      |   33 +-
 .../config/section-hooks/resteasy~post.html        |   33 +-
 .../config/section-hooks/resteasy~pre.html         |   33 +-
 .../2.0.0-M3/config/section-hooks/spring~post.html |   33 +-
 .../2.0.0-M3/config/section-hooks/spring~pre.html  |   33 +-
 .../refguide/2.0.0-M3/config/sections/Other.html   |   35 +-
 .../2.0.0-M3/config/sections/isis.applib.html      |   35 +-
 .../config/sections/isis.core.meta-model.html      |   35 +-
 .../isis.core.meta-model.introspector.html         |   35 +-
 .../sections/isis.core.meta-model.validator.html   |   35 +-
 .../sections/isis.core.runtime-services.html       |   35 +-
 .../config/sections/isis.core.runtime.html         |   39 +-
 .../2.0.0-M3/config/sections/isis.extensions.html  |   35 +-
 .../2.0.0-M3/config/sections/isis.legacy.html      |   35 +-
 .../sections/isis.persistence.jdo-datanucleus.html |   35 +-
 .../isis.persistence.jdo-datanucleus.impl.html     |   35 +-
 .../config/sections/isis.security.shiro.html       |   35 +-
 .../2.0.0-M3/config/sections/isis.testing.html     |   35 +-
 .../2.0.0-M3/config/sections/isis.value-types.html |   35 +-
 .../sections/isis.viewer.restfulobjects.html       |   35 +-
 .../config/sections/isis.viewer.wicket.html        |   35 +-
 .../2.0.0-M3/config/sections/resteasy.html         |   35 +-
 content/refguide/2.0.0-M3/schema/about.html        |   33 +-
 content/refguide/2.0.0-M3/schema/aim.html          |   33 +-
 content/refguide/2.0.0-M3/schema/chg.html          |   33 +-
 content/refguide/2.0.0-M3/schema/cmd.html          |   33 +-
 content/refguide/2.0.0-M3/schema/common.html       |   33 +-
 content/refguide/2.0.0-M3/schema/ixn.html          |   33 +-
 content/refguide/2.0.0-M3/schema/mml.html          |   33 +-
 .../relnotes/2.0.0-M3/2018/2.0.0-M1/mignotes.html  |   33 +-
 .../2018/2.0.0-M1/mignotes/legacy-modules.html     |   33 +-
 .../2018/2.0.0-M1/mignotes/meta-annotations.html   |   33 +-
 .../2018/2.0.0-M1/mignotes/moved-types.html        |   33 +-
 .../2018/2.0.0-M1/mignotes/other-changes.html      |   33 +-
 .../2.0.0-M1/mignotes/removed-annotations.html     |   33 +-
 .../mignotes/removed-configuration-properties.html |   33 +-
 .../2018/2.0.0-M1/mignotes/removed-types.html      |   33 +-
 .../2.0.0-M1/mignotes/updated-annotations.html     |   33 +-
 .../2018/2.0.0-M1/mignotes/updated-classes.html    |   33 +-
 .../relnotes/2.0.0-M3/2018/2.0.0-M1/relnotes.html  |   33 +-
 .../relnotes/2.0.0-M3/2019/2.0.0-M2/relnotes.html  |   33 +-
 .../2.0.0-M3/2020/2.0.0-M3/migrating-to-2.0.0.html |   33 +-
 .../relnotes/2.0.0-M3/2020/2.0.0-M3/relnotes.html  |   33 +-
 content/relnotes/2.0.0-M3/about.html               |   33 +-
 content/security/2.0.0-M3/about.html               |   33 +-
 content/security/2.0.0-M3/audit-trail/about.html   |   33 +-
 content/security/2.0.0-M3/bypass/about.html        |   33 +-
 content/security/2.0.0-M3/core/about.html          |   33 +-
 .../domain-services-api-for-applications.html      |   33 +-
 content/security/2.0.0-M3/keycloak/about.html      |   33 +-
 content/security/2.0.0-M3/secman/about.html        |   33 +-
 content/security/2.0.0-M3/secman/api.html          |   33 +-
 .../2.0.0-M3/secman/jbcrypt-encryption.html        |   33 +-
 .../security/2.0.0-M3/secman/jdo-persistence.html  |   33 +-
 content/security/2.0.0-M3/secman/model.html        |   33 +-
 content/security/2.0.0-M3/secman/shiro-realm.html  |   33 +-
 content/security/2.0.0-M3/session-log/about.html   |   33 +-
 .../security/2.0.0-M3/shiro-realm-ldap/about.html  |   33 +-
 content/security/2.0.0-M3/shiro/about.html         |   33 +-
 .../shiro/about/configuring-isis-to-use-shiro.html |   33 +-
 .../shiro/about/enhanced-wildcard-permission.html  |   33 +-
 .../security/2.0.0-M3/shiro/about/ini-realm.html   |   33 +-
 .../security/2.0.0-M3/shiro/about/jdbc-realm.html  |   33 +-
 .../security/2.0.0-M3/shiro/about/ldap-realm.html  |   33 +-
 content/security/2.0.0-M3/shiro/about/run-as.html  |   33 +-
 .../2.0.0-M3/shiro/about/shiro-caching.html        |   33 +-
 .../security/2.0.0-M3/usage-by-isis-viewers.html   |   33 +-
 content/setupguide/2.0.0-M3/about.html             |   33 +-
 content/setupguide/2.0.0-M3/eclipse/about.html     |   33 +-
 content/setupguide/2.0.0-M3/intellij/about.html    |   33 +-
 .../2.0.0-M3/intellij/hints-and-tips.html          |   33 +-
 content/sitemap-comguide.xml                       |  128 +-
 content/sitemap-conguide.xml                       |  100 +-
 content/sitemap-core.xml                           |  188 +-
 content/sitemap-docs.xml                           |  300 +--
 content/sitemap-extensions.xml                     |   20 +-
 content/sitemap-incubator.xml                      |   28 +-
 content/sitemap-legacy.xml                         |   60 +-
 content/sitemap-mappings.xml                       |   52 +-
 content/sitemap-pjdo.xml                           |  164 +-
 content/sitemap-refguide.xml                       | 2796 ++++++++++----------
 content/sitemap-relnotes.xml                       |  124 +-
 content/sitemap-security.xml                       |  188 +-
 content/sitemap-setupguide.xml                     |   36 +-
 content/sitemap-subdomains.xml                     |   92 +-
 content/sitemap-testing.xml                        |  148 +-
 content/sitemap-userguide.xml                      |  548 ++--
 content/sitemap-valuetypes.xml                     |   36 +-
 content/sitemap-vro.xml                            |  180 +-
 content/sitemap-vw.xml                             |  300 +--
 content/subdomains/2.0.0-M3/about.html             |   33 +-
 content/subdomains/2.0.0-M3/base/about.html        |   33 +-
 content/subdomains/2.0.0-M3/docx/about.html        |   33 +-
 content/subdomains/2.0.0-M3/excel/about.html       |   33 +-
 content/subdomains/2.0.0-M3/freemarker/about.html  |   33 +-
 content/subdomains/2.0.0-M3/ognl/about.html        |   33 +-
 content/subdomains/2.0.0-M3/pdfbox/about.html      |   33 +-
 content/subdomains/2.0.0-M3/settings/about.html    |   33 +-
 content/subdomains/2.0.0-M3/spring/about.html      |   33 +-
 content/subdomains/2.0.0-M3/xdocreport/about.html  |   33 +-
 content/subdomains/2.0.0-M3/zip/about.html         |   33 +-
 content/testing/2.0.0-M3/about.html                |   33 +-
 content/testing/2.0.0-M3/fakedata/about.html       |   33 +-
 content/testing/2.0.0-M3/fixtures/about.html       |   33 +-
 .../fixtures/fixture-scripts/api-and-usage.html    |   33 +-
 .../fixture-scripts/mocking-the-clock.html         |   33 +-
 .../fixtures/fixture-scripts/sudo-service.html     |   33 +-
 .../services/ExecutionParametersService.html       |   33 +-
 .../2.0.0-M3/fixtures/services/FixtureScripts.html |   33 +-
 .../FixtureScriptsSpecificationProvider.html       |   33 +-
 content/testing/2.0.0-M3/h2console/about.html      |   33 +-
 .../2.0.0-M3/h2console/services/H2ManagerMenu.html |   33 +-
 content/testing/2.0.0-M3/hsqldbmgr/about.html      |   33 +-
 .../hsqldbmgr/services/HsqlDbManagerMenu.html      |   33 +-
 .../testing/2.0.0-M3/integtestsupport/about.html   |   33 +-
 .../integtestsupport/domain-model-validator.html   |   33 +-
 .../integtestsupport/swagger-exporter.html         |   33 +-
 content/testing/2.0.0-M3/specsupport/about.html    |   33 +-
 .../testing/2.0.0-M3/unittestsupport/about.html    |   33 +-
 .../userguide/2.0.0-M3/_to-repurpose/about.html    |   33 +-
 content/userguide/2.0.0-M3/about.html              |   33 +-
 content/userguide/2.0.0-M3/btb/about.html          |   33 +-
 .../userguide/2.0.0-M3/btb/headless-access.html    |   33 +-
 .../AbstractIsisSessionTemplate.html               |   33 +-
 .../BackgroundCommandExecution.html                |   33 +-
 content/userguide/2.0.0-M3/btb/hints-and-tips.html |   33 +-
 .../2.0.0-M3/btb/hints-and-tips/are-you-sure.html  |   33 +-
 .../2.0.0-M3/btb/hints-and-tips/custom-css.html    |   33 +-
 .../how-to-handle-void-and-null-results.html       |   33 +-
 .../how-to-implement-a-spellchecker.html           |   33 +-
 .../btb/hints-and-tips/persisted-title.html        |   33 +-
 .../replacing-default-service-implementations.html |   33 +-
 .../simulating-collections-of-values.html          |   33 +-
 .../subclass-properties-in-tables.html             |   33 +-
 .../hints-and-tips/transactions-and-errors.html    |   33 +-
 .../btb/hints-and-tips/vetoing-visibility.html     |   33 +-
 .../hints-and-tips/view-model-instantiation.html   |   33 +-
 content/userguide/2.0.0-M3/btb/i18n.html           |   33 +-
 .../userguide/2.0.0-M3/btb/other-techniques.html   |   33 +-
 .../userguide/2.0.0-M3/btb/programming-model.html  |   33 +-
 .../btb/programming-model/custom-validator.html    |   33 +-
 .../2.0.0-M3/btb/programming-model/finetuning.html |   33 +-
 content/userguide/2.0.0-M3/flyway/about.html       |   33 +-
 content/userguide/2.0.0-M3/fun/about.html          |   33 +-
 content/userguide/2.0.0-M3/fun/business-rules.html |   33 +-
 .../2.0.0-M3/fun/business-rules/usability.html     |   33 +-
 .../2.0.0-M3/fun/business-rules/validity.html      |   33 +-
 .../2.0.0-M3/fun/business-rules/visibility.html    |   33 +-
 .../userguide/2.0.0-M3/fun/concepts-patterns.html  |   33 +-
 .../apache-isis-vs-cqrs-and-event-sourcing.html    |   33 +-
 .../fun/concepts-patterns/architecture.html        |   33 +-
 .../fun/concepts-patterns/core-values.html         |   33 +-
 .../fun/concepts-patterns/deployment-options.html  |   33 +-
 .../concepts-patterns/domain-driven-design.html    |   33 +-
 .../2.0.0-M3/fun/concepts-patterns/metamodel.html  |   33 +-
 .../concepts-patterns/naked-objects-pattern.html   |   33 +-
 .../2.0.0-M3/fun/domain-entities-and-services.html |   33 +-
 .../fun/domain-entities-and-services/crud.html     |   33 +-
 .../domain-entities.html                           |   33 +-
 .../domain-services.html                           |   33 +-
 .../inject-services.html                           |   33 +-
 .../2.0.0-M3/fun/drop-downs-and-defaults.html      |   33 +-
 .../userguide/2.0.0-M3/fun/meta-annotations.html   |   33 +-
 content/userguide/2.0.0-M3/fun/mixins.html         |   33 +-
 content/userguide/2.0.0-M3/fun/modules.html        |   33 +-
 content/userguide/2.0.0-M3/fun/object-members.html |   33 +-
 .../2.0.0-M3/fun/object-members/actions.html       |   33 +-
 .../2.0.0-M3/fun/object-members/collections.html   |   33 +-
 .../2.0.0-M3/fun/object-members/properties.html    |   33 +-
 content/userguide/2.0.0-M3/fun/overview.html       |   33 +-
 .../2.0.0-M3/fun/overview/business-rules.html      |   33 +-
 .../userguide/2.0.0-M3/fun/overview/events.html    |   33 +-
 .../2.0.0-M3/fun/overview/identifiers.html         |   33 +-
 .../userguide/2.0.0-M3/fun/overview/modules.html   |   33 +-
 .../2.0.0-M3/fun/overview/object-members.html      |   33 +-
 .../2.0.0-M3/fun/overview/programming-model.html   |   33 +-
 .../fun/overview/types-of-domain-objects.html      |   33 +-
 .../userguide/2.0.0-M3/fun/programming-model.html  |   33 +-
 content/userguide/2.0.0-M3/fun/ui.html             |   33 +-
 .../2.0.0-M3/fun/ui/action-icons-and-css.html      |   33 +-
 .../userguide/2.0.0-M3/fun/ui/menubars-layout.html |   33 +-
 .../2.0.0-M3/fun/ui/names-and-descriptions.html    |   33 +-
 .../userguide/2.0.0-M3/fun/ui/object-layout.html   |   33 +-
 .../2.0.0-M3/fun/ui/object-titles-and-icons.html   |   33 +-
 .../userguide/2.0.0-M3/fun/ui/table-columns.html   |   33 +-
 content/userguide/2.0.0-M3/fun/view-models.html    |   33 +-
 .../2.0.0-M3/fun/view-models/UNUSED-dto.html       |   33 +-
 content/valuetypes/2.0.0-M3/about.html             |   33 +-
 content/valuetypes/2.0.0-M3/asciidoc/about.html    |   33 +-
 content/valuetypes/2.0.0-M3/markdown/about.html    |   33 +-
 content/valuetypes/2.0.0-M3/sse/about.html         |   33 +-
 content/vro/2.0.0-M3/about.html                    |   33 +-
 content/vro/2.0.0-M3/architecture.html             |   33 +-
 content/vro/2.0.0-M3/configuration-properties.html |   33 +-
 content/vro/2.0.0-M3/cors/about.html               |   33 +-
 content/vro/2.0.0-M3/health-check.html             |   33 +-
 content/vro/2.0.0-M3/hints-and-tips.html           |   33 +-
 .../vro/2.0.0-M3/hints-and-tips/angular-tips.html  |   33 +-
 .../2.0.0-M3/hints-and-tips/pretty-printing.html   |   33 +-
 .../hints-and-tips/restful-image-property.html     |   33 +-
 .../2.0.0-M3/hints-and-tips/troubleshooting.html   |   33 +-
 .../hints-and-tips/using-chrome-devtools.html      |   33 +-
 .../hints-and-tips/view-model-as-parameter.html    |   33 +-
 content/vro/2.0.0-M3/layout-resources.html         |   33 +-
 content/vro/2.0.0-M3/ro-spec.html                  |   33 +-
 content/vro/2.0.0-M3/security.html                 |   33 +-
 .../vro/2.0.0-M3/simplified-representations.html   |   33 +-
 .../action-invocation.html                         |   33 +-
 .../apache-isis-profile.html                       |   33 +-
 .../configuration-properties.html                  |   33 +-
 .../simplified-representations/domain-object.html  |   33 +-
 .../object-collection.html                         |   33 +-
 .../other-representations.html                     |   33 +-
 content/vw/2.0.0-M3/about.html                     |   33 +-
 content/vw/2.0.0-M3/configuration-properties.html  |   33 +-
 content/vw/2.0.0-M3/customisation.html             |   33 +-
 content/vw/2.0.0-M3/customisation/about-page.html  |   33 +-
 .../vw/2.0.0-M3/customisation/auto-refresh.html    |   33 +-
 content/vw/2.0.0-M3/customisation/brand-logo.html  |   33 +-
 .../customisation/cheap-n-cheerful-theme.html      |   33 +-
 .../2.0.0-M3/customisation/custom-javascript.html  |   33 +-
 .../2.0.0-M3/customisation/request-parameters.html |   33 +-
 .../customisation/top-level-index-page.html        |   33 +-
 .../customisation/tweaking-css-classes.html        |   33 +-
 .../customisation/using-different-css-file.html    |   33 +-
 .../vw/2.0.0-M3/customisation/welcome-page.html    |   33 +-
 content/vw/2.0.0-M3/exceldownload/about.html       |   33 +-
 content/vw/2.0.0-M3/extending.html                 |   33 +-
 .../2.0.0-M3/extending/custom-bootstrap-theme.html |   33 +-
 content/vw/2.0.0-M3/extending/custom-pages.html    |   33 +-
 .../login-via-query-args-prototyping.html          |   33 +-
 .../extending/replacing-page-elements.html         |   33 +-
 content/vw/2.0.0-M3/features.html                  |   33 +-
 content/vw/2.0.0-M3/features/blob-attachments.html |   33 +-
 content/vw/2.0.0-M3/features/bookmarked-pages.html |   33 +-
 .../vw/2.0.0-M3/features/hints-and-copy-url.html   |   33 +-
 content/vw/2.0.0-M3/features/recent-pages.html     |   33 +-
 .../features/sidebar-vs-modal-dialogs.html         |   33 +-
 content/vw/2.0.0-M3/features/titles-in-tables.html |   33 +-
 .../vw/2.0.0-M3/features/user-registration.html    |   33 +-
 content/vw/2.0.0-M3/features/where-am-i.html       |   33 +-
 content/vw/2.0.0-M3/fullcalendar/about.html        |   33 +-
 content/vw/2.0.0-M3/gmap3/about.html               |   33 +-
 content/vw/2.0.0-M3/hints-and-tips.html            |   33 +-
 .../hints-and-tips/highlight-current-row.html      |   33 +-
 .../i18n-label-in-wicket-viewer.html               |   33 +-
 .../2.0.0-M3/hints-and-tips/per-user-themes.html   |   33 +-
 .../vw/2.0.0-M3/hints-and-tips/svg-support.html    |   33 +-
 content/vw/2.0.0-M3/pdfjs/about.html               |   33 +-
 content/vw/2.0.0-M3/security.html                  |   33 +-
 698 files changed, 24795 insertions(+), 3714 deletions(-)

diff --git a/content/404.html b/content/404.html
index 72fd65a..3c66edb 100644
--- a/content/404.html
+++ b/content/404.html
@@ -8,6 +8,7 @@
     <link rel="stylesheet" href="/_/css/site.css">
     <link rel="stylesheet" href="/_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="status-404">
@@ -28,6 +29,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -320,7 +326,7 @@ page.parent doesn't seem to be set...
 If you typed the URL of this page manually, please double check that you entered the address correctly.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -360,5 +366,30 @@ If you typed the URL of this page manually, please double check that you entered
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/_attachments/algolia-search/config.json b/content/comguide/2.0.0-M3/_attachments/algolia-search/config.json
new file mode 100644
index 0000000..d213f94
--- /dev/null
+++ b/content/comguide/2.0.0-M3/_attachments/algolia-search/config.json
@@ -0,0 +1,40 @@
+{
+  "index_name": "isis-apache-org",
+  "start_urls": [
+    "https://isis.apache.org"
+  ],
+  "sitemap_urls": [
+    "https://isis.apache.org/sitemap.xml"
+  ],
+  "stop_urls": [
+    "https://isis.apache.org/versions/1.17.0/documentation.html",
+    "https://isis.apache.org/versions/1.16.2/documentation.html",
+    "https://isis.apache.org/versions/1.16.1/documentation.html",
+    "https://isis.apache.org/versions/1.16.0/documentation.html",
+    "https://isis.apache.org/versions/1.15.1/documentation.html",
+    "https://isis.apache.org/versions/1.15.0/documentation.html",
+    "https://isis.apache.org/versions/1.14.0/documentation.html",
+    "https://isis.apache.org/versions/1.13.2.1/documentation.html",
+    "https://isis.apache.org/versions/1.13.2/documentation.html",
+    "https://isis.apache.org/versions/1.13.1/documentation.html",
+    "https://isis.apache.org/versions/1.13.0/documentation.html",
+    "https://isis.apache.org/versions/1.12.2/documentation.html",
+    "https://isis.apache.org/versions/1.12.1/documentation.html",
+    "https://isis.apache.org/versions/1.12.0/documentation.html",
+    "https://isis.apache.org/versions/1.11.1/documentation.html",
+    "https://isis.apache.org/versions/1.11.0/documentation.html"
+  ],
+  "selectors": {
+    "lvl0": {
+      "selector": "//nav[@class='breadcrumbs']//li[last()]/a",
+      "type": "xpath",
+      "global": true,
+      "default_value": "Home"
+    },
+    "lvl1": ".doc h1"
+    ,"lvl2": ".doc h2"
+    ,"lvl3": ".doc h3"
+    ,"lvl4": ".doc h4"
+    ,"text": ".doc p, .doc td.content, .doc th.tableblock"
+  }
+}
\ No newline at end of file
diff --git a/content/comguide/2.0.0-M3/about.html b/content/comguide/2.0.0-M3/about.html
index 7b7ef6c..c75244a 100644
--- a/content/comguide/2.0.0-M3/about.html
+++ b/content/comguide/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -175,6 +181,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -369,7 +378,7 @@ page.parent doesn't seem to be set...
 <p>This committers' guide is for committers of Apache Isis itself who want guidance on release process, publishing documents and other related procedures.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -409,5 +418,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/verifying-releases.html b/content/comguide/2.0.0-M3/algolia-search.html
similarity index 69%
copy from content/comguide/2.0.0-M3/verifying-releases.html
copy to content/comguide/2.0.0-M3/algolia-search.html
index 0c10650..b098929 100644
--- a/content/comguide/2.0.0-M3/verifying-releases.html
+++ b/content/comguide/2.0.0-M3/algolia-search.html
@@ -3,15 +3,16 @@
   <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1">
-    <title>Verifying a Release :: Apache Isis</title>
-    <link rel="canonical" href="https://isis.apache.org/comguide/2.0.0-M3/verifying-releases.html">
+    <title>Appendix: Algolia Search :: Apache Isis</title>
+    <link rel="canonical" href="https://isis.apache.org/comguide/2.0.0-M3/algolia-search.html">
     <meta name="generator" content="Antora 2.2.0">
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
-  <link rel="next" href="post-release-successful.html" title="Post Release (Successful)">
-  <link rel="prev" href="cutting-a-release.html" title="Cutting a Release">
+  <link rel="next" href="release-process-prereqs.html" title="Appendix: Release Process Prereqs">
+  <link rel="prev" href="key-generation.html" title="Key Generation">
   </head>
   <body class="article">
 <header class="header">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -138,12 +144,12 @@
   <aside class="nav">
     <div class="panels">
 <div class="nav-panel-pagination">
-  <a class="page-previous" rel="prev" href="cutting-a-release.html" title="Cutting a Release"><span></span></a>
+  <a class="page-previous" rel="prev" href="key-generation.html" title="Key Generation"><span></span></a>
   <a class="page-next" rel="next"
-     href="post-release-successful.html" title="Post Release (Successful)"><span></span></a>
+     href="release-process-prereqs.html" title="Appendix: Release Process Prereqs"><span></span></a>
 <!--
 page.parent doesn't seem to be set...
-  <a class="page-parent disabled" rel="prev" href="" title="Cutting a Release"><span></span></a>
+  <a class="page-parent disabled" rel="prev" href="" title="Key Generation"><span></span></a>
 -->
 </div>
 <div class="nav-panel-menu is-active" data-panel="menu">
@@ -161,7 +167,7 @@ page.parent doesn't seem to be set...
   <li class="nav-item" data-depth="1">
     <a class="nav-link" href="cutting-a-release.html">Cutting a Release</a>
   </li>
-  <li class="nav-item is-current-page" data-depth="1">
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="verifying-releases.html">Verifying Releases</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -176,6 +182,9 @@ page.parent doesn't seem to be set...
   <li class="nav-item" data-depth="1">
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
+  <li class="nav-item is-current-page" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
   <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
@@ -360,236 +369,221 @@ page.parent doesn't seem to be set...
 <nav class="breadcrumbs" aria-label="breadcrumbs">
   <ul>
     <li><a href="about.html">Committers' Guide</a></li>
-    <li><a href="verifying-releases.html">Verifying Releases</a></li>
+    <li><a href="algolia-search.html">Appendix: Algolia Search</a></li>
   </ul>
 </nav>
-  <div class="edit-this-page"><a href="https://github.com/apache/isis/edit/2.0.0-M3/antora/components/comguide/modules/ROOT/pages/verifying-releases.adoc">Edit</a></div>
+  <div class="edit-this-page"><a href="https://github.com/apache/isis/edit/2.0.0-M3/antora/components/comguide/modules/ROOT/pages/algolia-search.adoc">Edit</a></div>
 </div>
 <article class="doc">
     <a name="section-top"></a>
-<h1 class="page">Verifying a Release</h1>
+<h1 class="page">Appendix: Algolia Search</h1>
 <div id="preamble">
 <div class="sectionbody">
 <div class="paragraph">
-<p>The release process consists of:</p>
+<p><a href="https://algolia.com">Algolia</a> is a commercial index-as-a-service offering, with a free plan for open source projects.
+It is used by many websites built with <a href="https://antora.org">Antora</a>, including Antora&#8217;s own <a href="https://docs.antora.org">website</a>.</p>
 </div>
-<div class="ulist">
-<ul>
-<li>
-<p>the release manager <a href="cutting-a-release.html" class="page">cutting the release</a></p>
-</li>
-<li>
-<p>members of the Apache Isis PMC verifying and voting on the release (documented below)</p>
-</li>
-<li>
-<p>the release manager performing post-release tasks, for either a <a href="post-release-successful.html" class="page">successful</a> or an <a href="#comguide:ROOT:post-release-unsuccessful">unsuccessful</a> vote.</p>
-</li>
-</ul>
+<div class="paragraph">
+<p>This page describes how we have incorporated Algolia to provide a searchable index for <a href="https://isis.apache.org">isis.apache.org</a> website.
+They are based on/adapt Dan Allen&#8217;s <a href="https://gitlab.com/antora/antora-ui-default/issues/44#note_68053321">notes</a> for setting up search on the Antora website.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>An alternative and perhaps slightly simpler approach would be to use <a href="https://docsearch.algolia.com">Algolia&#8217;s DocSearch</a>, which performs the scanning automatically.</p>
 </div>
 <div class="paragraph">
-<p>This section describes some guidance on what a voter (members of the Apache Isis PMC and anyone else who wishes) is expected to do before casting their vote in order to verify a release.</p>
+<p>The benefit of the approach described here is that it could be scripted easily into CI.</p>
+</div>
+</td>
+</tr>
+</table>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="background"><a class="anchor" href="#background"></a>Background</h2>
+<h2 id="clone-the-isis-site"><a class="anchor" href="#clone-the-isis-site"></a>Clone the isis-site</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Whenever a release manager announces a vote on a release (as per the [release process]) on the <a href="../../docs/2.0.0-M3/support/mailing-list.html#mailing-lists" class="page">dev mailing list</a>, it is the responsibility of the project&#8217;s PMC to cast their vote on the release.
-Anyone else can also vote, but only members of the Apache Isis PMC&#8217;s vote are binding.</p>
+<p>If necessary, clone out the current version of the isis website:</p>
 </div>
-<div class="paragraph">
-<p>Per this <a href="http://www.apache.org/dev/release.html">ASF documentation</a>, the legal requirements for an ASF release are:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">git clone https://github.com/apache/isis-site .
+git checkout asf-site</code></pre>
 </div>
-<div class="ulist">
-<ul>
-<li>
-<p>a source zip file + corresponding signature (signed by the release manager, which is in the ASF web of trust and in our KEYS file)</p>
-</li>
-<li>
-<p>all source files have the Apache license (this is ensured by the running of the rat plugin prior to release; you could run it on the unzipped source)</p>
-</li>
-<li>
-<p>all dependencies are appropriately licensed; see the <code>DEPENDENCIES</code> file which is automatically generated from the POMs plus the supplemental-models.xml file</p>
-</li>
-</ul>
 </div>
 <div class="paragraph">
-<p>Note that the binaries are <em>not</em> an ASF release, they merely exist on the Maven central repo as a convenience.
-That said, you might also want to verify the release by pulling the binaries from the Maven staging repository.
-Details of how to do this are also documented below.</p>
+<p>The "asf-site" branch is what is published, and the content of the site resides in <code>content</code> directory.</p>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="prerequisites"><a class="anchor" href="#prerequisites"></a>Prerequisites</h2>
+<h2 id="create-algolia-application-and-empty-index"><a class="anchor" href="#create-algolia-application-and-empty-index"></a>Create Algolia Application and Empty Index</h2>
 <div class="sectionbody">
-<div class="paragraph">
-<p>You will also require the following commands/tools:</p>
-</div>
 <div class="ulist">
 <ul>
 <li>
-<p><code>bash</code> - to run shell script</p>
+<p>Registered on <a href="https://algolia.com" class="bare">https://algolia.com</a></p>
 </li>
 <li>
-<p><code>curl</code> - to download the ZIP and ASC files</p>
+<p>Applied for open source license</p>
 </li>
 <li>
-<p><code>gpg</code> - to verify signatures</p>
+<p>On website:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Created app: "5ISP5TFAEN"</p>
 </li>
 <li>
-<p><code>unzip</code> - to unzip the ZIP files</p>
+<p>Created empty index "isis-apache-org"</p>
 </li>
 <li>
-<p>JDK 8</p>
+<p>Made note of the search API key: "0fc51c28b4ad46e7318e96d4e97fab7c"</p>
 </li>
 <li>
-<p>Apache Maven (<code>mvn</code>) 3.5.0+</p>
+<p>Made note of the Admin API key: "xxx"</p>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+the "admin API" should not be made public, as it allows the index to be modified or deleted.
+</td>
+</tr>
+</table>
+</div>
+</li>
+</ul>
+</div>
 </li>
 </ul>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="verifying-source-artifacts"><a class="anchor" href="#verifying-source-artifacts"></a>Verifying source artifacts</h2>
+<h2 id="create-the-crawler-config"><a class="anchor" href="#create-the-crawler-config"></a>Create the Crawler config</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The easiest way to verify the source artifacts is to use a script that automates the steps.
-Run these commands, with the environment variables set correctly.
-(The full details should also be in the VOTE email):</p>
+<p>We use Algolia&#8217;s <a href="https://docsearch.algolia.com/docs/scraper/">DocSearch crawler</a> tool (also called the scraper) to index over the static html files to populate the index records.
+A config file describes how to process the files</p>
 </div>
 <div class="listingblock">
+<div class="title">algolia-config.json</div>
 <div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">VERSION=2.0.0-M3
-RC=RC1
-NEXUSREPONUM=11xx
-
-curl https://downloads.apache.org/isis/KEYS &gt; /tmp/KEYS
-gpg --import /tmp/KEYS
-
-rm -rf isis-$VERSION*
-
-curl -O -L https://raw.githubusercontent.com/apache/isis/release-$VERSION-$RC/scripts/verify-isis-release.sh
-
-chmod +x ./verify-isis-release.sh
-./verify-isis-release.sh $NEXUSREPONUM $VERSION $RC</code></pre>
+<pre class="highlightjs highlight"><code class="language-json hljs" data-lang="json">{
+  "index_name": "isis-apache-org",
+  "start_urls": [
+    "https://isis.apache.org"
+  ],
+  "sitemap_urls": [
+    "https://isis.apache.org/sitemap.xml"
+  ],
+  "stop_urls": [
+    "https://isis.apache.org/versions/1.17.0/documentation.html",
+    "https://isis.apache.org/versions/1.16.2/documentation.html",
+    "https://isis.apache.org/versions/1.16.1/documentation.html",
+    "https://isis.apache.org/versions/1.16.0/documentation.html",
+    "https://isis.apache.org/versions/1.15.1/documentation.html",
+    "https://isis.apache.org/versions/1.15.0/documentation.html",
+    "https://isis.apache.org/versions/1.14.0/documentation.html",
+    "https://isis.apache.org/versions/1.13.2.1/documentation.html",
+    "https://isis.apache.org/versions/1.13.2/documentation.html",
+    "https://isis.apache.org/versions/1.13.1/documentation.html",
+    "https://isis.apache.org/versions/1.13.0/documentation.html",
+    "https://isis.apache.org/versions/1.12.2/documentation.html",
+    "https://isis.apache.org/versions/1.12.1/documentation.html",
+    "https://isis.apache.org/versions/1.12.0/documentation.html",
+    "https://isis.apache.org/versions/1.11.1/documentation.html",
+    "https://isis.apache.org/versions/1.11.0/documentation.html"
+  ],
+  "selectors": {
+    "lvl0": {
+      "selector": "//nav[@class='breadcrumbs']//li[last()]/a",
+      "type": "xpath",
+      "global": true,
+      "default_value": "Home"
+    },
+    "lvl1": ".doc h1"
+    ,"lvl2": ".doc h2"
+    ,"lvl3": ".doc h3"
+    ,"lvl4": ".doc h4"
+    ,"text": ".doc p, .doc td.content, .doc th.tableblock"
+  }
+}</code></pre>
 </div>
 </div>
 <div class="paragraph">
-<p>The <code>verify-isis-release.sh</code> script performs these steps:</p>
+<p>The config file reference can be found <a href="https://docsearch.algolia.com/docs/config-file">here</a>.</p>
 </div>
-<div class="ulist">
-<ul>
-<li>
-<p>downloads artifacts (<code>.zip</code> file and <code>.asc</code> file) from the staging repository hosted on <a href="https://repository.apache.org" class="bare">https://repository.apache.org</a>.</p>
-</li>
-<li>
-<p>verifies that the <code>.asc</code> signature is correct</p>
 <div class="paragraph">
-<p>in other words, to confirm that the release was created by an Apache Isis committer</p>
+<p>This has been checked into isis-site as <code>./algolia-config.json</code>.</p>
 </div>
-</li>
-<li>
-<p>builds the framework code from source</p>
-</li>
-<li>
-<p>downloads and builds the helloworld starter apps (from the correct release branch)</p>
-</li>
-<li>
-<p>ditto for the simpleapp starter app</p>
-</li>
-</ul>
 </div>
+</div>
+<div class="sect1">
+<h2 id="update-the-antora-ui-bundle"><a class="anchor" href="#update-the-antora-ui-bundle"></a>Update the Antora UI bundle</h2>
+<div class="sectionbody">
 <div class="paragraph">
-<p>Assuming this completes successfully, you can then test the two starter applications:</p>
+<p>The <a href="https://github.com/apache/isis-antora">Antora UI bundle</a> (which defines the skin of the website) was updated.
+There are four steps:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>Test out helloworld using:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">pushd test-helloworld/isis-app-helloworld
-mvn spring-boot:run
-popd</code></pre>
-</div>
-</div>
+<p>reference the CSS</p>
 </li>
 <li>
-<p>Test out simpleapp using:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">pushd test-simpleapp/isis-app-simpleapp
-mvn -pl webapp spring-boot:run
-popd</code></pre>
-</div>
-</div>
+<p>reference the Javascript</p>
+</li>
+<li>
+<p>set up an input field for the <code>docsearch</code> Javascript function to hook into</p>
+</li>
+<li>
+<p>run the <code>docsearch</code> Javascript function on page load</p>
 </li>
 </ul>
 </div>
 <div class="paragraph">
-<p>You can if you wish perform some additional optional checks, listed <a href="#optional-creadur-tools">below</a>.
-And/or, you can go ahead and <a href="#casting-a-vote">cast your vote</a>.</p>
+<p>These are fully described in the <a href="https://docsearch.algolia.com/docs/dropdown">Algolia docs</a>.
+There are other options for styling, see <a href="https://docsearch.algolia.com/docs/styling/">here</a>.</p>
 </div>
 </div>
 </div>
 <div class="sect1">
-<h2 id="optional-verify-website"><a class="anchor" href="#optional-verify-website"></a>(Optional) Verify Website</h2>
+<h2 id="generate-and-publish-the-site"><a class="anchor" href="#generate-and-publish-the-site"></a>Generate and Publish the site</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>The next version of the website can be found at <a href="https://isis.staged.apache.org" class="bare">https://isis.staged.apache.org</a>.</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="optional-creadur-tools"><a class="anchor" href="#optional-creadur-tools"></a>(Optional) Creadur Tools</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>The <a href="http://creadur.apache.org">Apache Creadur</a> project exists to provide a set of tools to ensure compliance with Apache&#8217;s licensing standards.</p>
-</div>
-<div class="paragraph">
-<p>The main release auditing tool, <a href="http://creadur.apache.org/rat">Apache RAT</a> is used in the <a href="cutting-a-release.html" class="page">release process</a>.</p>
-</div>
-<div class="paragraph">
-<p>Creadur&#8217;s remaining tools - <a href="http://creadur.apache.org/tentacles/">Tentacles</a> and <a href="http://creadur.apache.org/whisker/">Whisker</a> - are to support the verification process.</p>
-</div>
-<div class="paragraph">
-<p>For example, Tentacles generates a report called <code>archives.html</code>.
-This lists all of the top-level binaires, their <code>LICENSE</code> and <code>NOTICE</code> files and any <code>LICENSE</code> and <code>NOTICE</code> files of any binaries they may contain.</p>
-</div>
-<div class="paragraph">
-<p>Validation of the output at this point is all still manual.
-Things to check include:</p>
+<p>The remaining steps are routine and performed each time there is a change to the site:</p>
 </div>
 <div class="ulist">
 <ul>
 <li>
-<p>any binaries that contain no LICENSE and NOTICE files</p>
+<p><a href="post-release-successful.html#generate-website" class="page">Generate website</a> and then</p>
 </li>
 <li>
-<p>any binaries that contain more than one LICENSE or NOTICE file</p>
+<p><a href="post-release-successful.html#index-the-site" class="page">Index the site</a>, and then</p>
+</li>
+<li>
+<p><a href="post-release-successful.html#publish-website" class="page">Publish website</a>.</p>
 </li>
 </ul>
 </div>
 <div class="paragraph">
-<p>In this report, each binary will have three links listed after its name '(licenses, notices, contents)'</p>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="casting-a-vote"><a class="anchor" href="#casting-a-vote"></a>Casting a Vote</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>When you have made the above checks (and any other checks you think may be relevant), cast your vote by replying to the email thread on the mailing list.</p>
-</div>
-<div class="paragraph">
-<p>If you are casting <code>-1</code>, please provide details of the problem(s) you have found.</p>
+<p>And you&#8217;re done.</p>
 </div>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -629,5 +623,30 @@ Things to check include:</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/antora-publish-procedure.html b/content/comguide/2.0.0-M3/antora-publish-procedure.html
index 11216d9..2e9d34f 100644
--- a/content/comguide/2.0.0-M3/antora-publish-procedure.html
+++ b/content/comguide/2.0.0-M3/antora-publish-procedure.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -175,6 +181,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -368,6 +377,21 @@ page.parent doesn't seem to be set...
 <h1 class="page">Publishing the Docs</h1>
 <div id="preamble">
 <div class="sectionbody">
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-warning" title="Warning"></i>
+</td>
+<td class="content">
+TODO: v2 - not yet updated.
+There is relevant material in <a href="post-release-successful.html" class="page">Post Release (Successful)</a>, specifically:
+ <a href="post-release-successful.html#generate-website" class="page">Generate website</a> and
+ <a href="post-release-successful.html#publish-website" class="page">Publish website</a>.
+</td>
+</tr>
+</table>
+</div>
 <div class="paragraph">
 <p>Apache Isis' documentation (meaning the website and the users' guide, the reference guide and this contributors' guide) is written using <a href="https://asciidoctor.org/">Asciidoctor</a> syntax, and organized to be published as an <a href="https:antora.org">Antora</a> website.</p>
 </div>
@@ -438,20 +462,6 @@ Therefore, in the <code>isis.git</code> repo site:</p>
 <div class="sect1">
 <h2 id="preview"><a class="anchor" href="#preview"></a>Preview</h2>
 <div class="sectionbody">
-<div class="admonitionblock warning">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-warning" title="Warning"></i>
-</td>
-<td class="content">
-TODO: v2 - not yet updated.
-Need to figure out how to merge the v1 docs (as an archive) with Antora.
-Also, need to use Antora versioning rather than just 'master'
-</td>
-</tr>
-</table>
-</div>
 <div class="paragraph">
 <p>To preview changes (ignoring PDFs), run:</p>
 </div>
@@ -662,7 +672,7 @@ git push</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -702,5 +712,30 @@ git push</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/applying-patches.html b/content/comguide/2.0.0-M3/applying-patches.html
index 46dbcec..4d4e33b 100644
--- a/content/comguide/2.0.0-M3/applying-patches.html
+++ b/content/comguide/2.0.0-M3/applying-patches.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="cutting-a-release.html" title="Cutting a Release">
   <link rel="prev" href="merging-a-pull-request.html" title="Merging a Pull Request">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -473,7 +482,7 @@ git commit -am "&lt;original authors' commit message&gt;" --signoff</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -513,5 +522,30 @@ git commit -am "&lt;original authors' commit message&gt;" --signoff</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/cutting-a-release.html b/content/comguide/2.0.0-M3/cutting-a-release.html
index b7a976b..386ed67 100644
--- a/content/comguide/2.0.0-M3/cutting-a-release.html
+++ b/content/comguide/2.0.0-M3/cutting-a-release.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="verifying-releases.html" title="Verifying Releases">
   <link rel="prev" href="applying-patches.html" title="Applying Patches">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -1220,7 +1229,7 @@ The vote will be open for a minimum of 72 hours.
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1260,5 +1269,30 @@ The vote will be open for a minimum of 72 hours.
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/key-generation.html b/content/comguide/2.0.0-M3/key-generation.html
index 63afb01..183b853 100644
--- a/content/comguide/2.0.0-M3/key-generation.html
+++ b/content/comguide/2.0.0-M3/key-generation.html
@@ -9,8 +9,9 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
-  <link rel="next" href="release-process-prereqs.html" title="Appendix: Release Process Prereqs">
+  <link rel="next" href="algolia-search.html" title="Appendix: Algolia Search">
   <link rel="prev" href="release-process-for-interim-releases.html" title="Interim Releases">
   </head>
   <body class="article">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -140,7 +146,7 @@
 <div class="nav-panel-pagination">
   <a class="page-previous" rel="prev" href="release-process-for-interim-releases.html" title="Interim Releases"><span></span></a>
   <a class="page-next" rel="next"
-     href="release-process-prereqs.html" title="Appendix: Release Process Prereqs"><span></span></a>
+     href="algolia-search.html" title="Appendix: Algolia Search"><span></span></a>
 <!--
 page.parent doesn't seem to be set...
   <a class="page-parent disabled" rel="prev" href="" title="Interim Releases"><span></span></a>
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -1090,7 +1099,7 @@ This is defined under a profile so that it is activated only when we perform a r
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1130,5 +1139,30 @@ This is defined under a profile so that it is activated only when we perform a r
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/merging-a-pull-request.html b/content/comguide/2.0.0-M3/merging-a-pull-request.html
index 39f8324..dcae5a8 100644
--- a/content/comguide/2.0.0-M3/merging-a-pull-request.html
+++ b/content/comguide/2.0.0-M3/merging-a-pull-request.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="applying-patches.html" title="Applying Patches">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -176,6 +182,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -544,7 +553,7 @@ This is intentional: when the merged branch is pushed, github will automatically
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -584,5 +593,30 @@ This is intentional: when the merged branch is pushed, github will automatically
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/pmc-notes.html b/content/comguide/2.0.0-M3/pmc-notes.html
index f80e9fb..f29561f 100644
--- a/content/comguide/2.0.0-M3/pmc-notes.html
+++ b/content/comguide/2.0.0-M3/pmc-notes.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="prev" href="policies.html" title="Appendix: Policies">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -176,6 +182,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -777,7 +786,7 @@ modify_committee.pl isis --remove joebloggs</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -817,5 +826,30 @@ modify_committee.pl isis --remove joebloggs</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/policies.html b/content/comguide/2.0.0-M3/policies.html
index 3f43f9e..449df4a 100644
--- a/content/comguide/2.0.0-M3/policies.html
+++ b/content/comguide/2.0.0-M3/policies.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="pmc-notes.html" title="Appendix: PMC Notes">
   <link rel="prev" href="release-process-prereqs.html" title="Appendix: Release Process Prereqs">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item is-current-page" data-depth="1">
@@ -543,7 +552,7 @@ git push origin --delete ISIS-999</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -583,5 +592,30 @@ git push origin --delete ISIS-999</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/policies/git-policy.html b/content/comguide/2.0.0-M3/policies/git-policy.html
index df4c728..9113000 100644
--- a/content/comguide/2.0.0-M3/policies/git-policy.html
+++ b/content/comguide/2.0.0-M3/policies/git-policy.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -175,6 +181,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="../key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="../algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="../release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -493,7 +502,7 @@ git push origin --delete ISIS-999</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -533,5 +542,30 @@ git push origin --delete ISIS-999</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/policies/versioning-policy.html b/content/comguide/2.0.0-M3/policies/versioning-policy.html
index 4c220ff..d362d78 100644
--- a/content/comguide/2.0.0-M3/policies/versioning-policy.html
+++ b/content/comguide/2.0.0-M3/policies/versioning-policy.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -175,6 +181,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="../key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="../algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="../release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -410,7 +419,7 @@ This will help avoid "jar hell" (components having conflicting dependencies of c
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -450,5 +459,30 @@ This will help avoid "jar hell" (components having conflicting dependencies of c
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/post-release-successful.html b/content/comguide/2.0.0-M3/post-release-successful.html
index d4fbf87..b750190 100644
--- a/content/comguide/2.0.0-M3/post-release-successful.html
+++ b/content/comguide/2.0.0-M3/post-release-successful.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="post-release-unsuccessful.html" title="Post Release (Unsuccessful)">
   <link rel="prev" href="verifying-releases.html" title="Verifying Releases">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -859,7 +868,7 @@ git push origin 2.0.0-M3</code></pre>
 </div>
 </div>
 <div class="sect2">
-<h3 id="update-index-html-site-yml-generate"><a class="anchor" href="#update-index-html-site-yml-generate"></a>Update <code>index.html</code> &amp; site.yml` &amp; generate</h3>
+<h3 id="update-index-html-site-yml-generate"><a class="anchor" href="#update-index-html-site-yml-generate"></a>Update <code>index.html</code> &amp; <code>site.yml</code> &amp; generate</h3>
 <div class="paragraph">
 <p>Lastly, we update <code>index.html</code> and then <code>site.yml</code></p>
 </div>
@@ -942,6 +951,63 @@ git commit -m "$ISISJIRA: adds tag to site.yml"</code></pre>
 </div>
 </div>
 <div class="sect1">
+<h2 id="update-the-algolia-search-index"><a class="anchor" href="#update-the-algolia-search-index"></a>Update the Algolia search index</h2>
+<div class="sectionbody">
+
+</div>
+</div>
+<div class="sect1">
+<h2 id="index-the-site"><a class="anchor" href="#index-the-site"></a>Index the site</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Create a <code>algolia.env</code> file holding the <code>APP_ID</code> and the admin <code>API_KEY</code>, in the root of <code>isis-site</code>:</p>
+</div>
+<div class="listingblock">
+<div class="title">algolia.env</div>
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-ini hljs" data-lang="ini">APPLICATION_ID=...
+API_KEY=...</code></pre>
+</div>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+This file should not be checked into the repo, because the API_KEY allows the index to be modified or deleted.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>We use the Algolia-provided <a href="https://hub.docker.com/r/algolia/docsearch-scraper">docker image</a> for the crawler to perform the search (as per the link:as per <a href="https://docsearch.algolia.com/docs/run-your-own/#run-the-crawl-from-the-docker-image">docs</a>):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">cd content
+docker run -it --env-file=../algolia.env -e "CONFIG=$(cat ../algolia-config.json | jq -r tostring)" algolia/docsearch-scraper</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This posts the index up to the <a href="https://algolia.com">Algolia</a> site.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Additional config options for the crawler can be found <a href="https://www.algolia.com/doc/api-reference/crawler/">here</a>.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="publish-website"><a class="anchor" href="#publish-website"></a>Publish website</h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -1172,7 +1238,7 @@ Also, there may be new dependencies that you do not wish to move to, eg release
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1212,5 +1278,30 @@ Also, there may be new dependencies that you do not wish to move to, eg release
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/post-release-unsuccessful.html b/content/comguide/2.0.0-M3/post-release-unsuccessful.html
index 8d086d0..1c64ed3 100644
--- a/content/comguide/2.0.0-M3/post-release-unsuccessful.html
+++ b/content/comguide/2.0.0-M3/post-release-unsuccessful.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="release-process-for-interim-releases.html" title="Interim Releases">
   <link rel="prev" href="post-release-successful.html" title="Post Release (Successful)">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -506,7 +515,7 @@ These steps:</td>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -546,5 +555,30 @@ These steps:</td>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/release-process-for-interim-releases.html b/content/comguide/2.0.0-M3/release-process-for-interim-releases.html
index cad5082..8895be1 100644
--- a/content/comguide/2.0.0-M3/release-process-for-interim-releases.html
+++ b/content/comguide/2.0.0-M3/release-process-for-interim-releases.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="key-generation.html" title="Key Generation">
   <link rel="prev" href="post-release-unsuccessful.html" title="Post Release (Unsuccessful)">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -490,7 +499,7 @@ For example, Jenkins provides post-build plugins to perform such a task.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -530,5 +539,30 @@ For example, Jenkins provides post-build plugins to perform such a task.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/release-process-prereqs.html b/content/comguide/2.0.0-M3/release-process-prereqs.html
index c8c0992..3258193 100644
--- a/content/comguide/2.0.0-M3/release-process-prereqs.html
+++ b/content/comguide/2.0.0-M3/release-process-prereqs.html
@@ -9,9 +9,10 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="policies.html" title="Appendix: Policies">
-  <link rel="prev" href="key-generation.html" title="Key Generation">
+  <link rel="prev" href="algolia-search.html" title="Appendix: Algolia Search">
   </head>
   <body class="article">
 <header class="header">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -138,12 +144,12 @@
   <aside class="nav">
     <div class="panels">
 <div class="nav-panel-pagination">
-  <a class="page-previous" rel="prev" href="key-generation.html" title="Key Generation"><span></span></a>
+  <a class="page-previous" rel="prev" href="algolia-search.html" title="Appendix: Algolia Search"><span></span></a>
   <a class="page-next" rel="next"
      href="policies.html" title="Appendix: Policies"><span></span></a>
 <!--
 page.parent doesn't seem to be set...
-  <a class="page-parent disabled" rel="prev" href="" title="Key Generation"><span></span></a>
+  <a class="page-parent disabled" rel="prev" href="" title="Appendix: Algolia Search"><span></span></a>
 -->
 </div>
 <div class="nav-panel-menu is-active" data-panel="menu">
@@ -176,6 +182,9 @@ page.parent doesn't seem to be set...
   <li class="nav-item" data-depth="1">
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
+  <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
   <li class="nav-item is-current-page" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
@@ -484,7 +493,7 @@ A description of how to do this can be found, for example, <a href="http://bval.
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -524,5 +533,30 @@ A description of how to do this can be found, for example, <a href="http://bval.
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/comguide/2.0.0-M3/verifying-releases.html b/content/comguide/2.0.0-M3/verifying-releases.html
index 0c10650..6f01e30 100644
--- a/content/comguide/2.0.0-M3/verifying-releases.html
+++ b/content/comguide/2.0.0-M3/verifying-releases.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="post-release-successful.html" title="Post Release (Successful)">
   <link rel="prev" href="cutting-a-release.html" title="Cutting a Release">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -177,6 +183,9 @@ page.parent doesn't seem to be set...
     <a class="nav-link" href="key-generation.html">Key Generation</a>
   </li>
   <li class="nav-item" data-depth="1">
+    <a class="nav-link" href="algolia-search.html">Appendix: Algolia Search</a>
+  </li>
+  <li class="nav-item" data-depth="1">
     <a class="nav-link" href="release-process-prereqs.html">Appendix: Release Process Prereqs</a>
   </li>
   <li class="nav-item" data-depth="1">
@@ -589,7 +598,7 @@ Things to check include:</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -629,5 +638,30 @@ Things to check include:</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/about.html b/content/conguide/2.0.0-M3/about.html
index cdef6cc..e7aa4f8 100644
--- a/content/conguide/2.0.0-M3/about.html
+++ b/content/conguide/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -358,7 +364,7 @@ page.parent doesn't seem to be set...
 <p>This guide provides guidance to anyone in the community wanting to contribute to Apache Isis' ongoing development.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -398,5 +404,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/agilej.html b/content/conguide/2.0.0-M3/agilej.html
index 342492d..6ce5e1c 100644
--- a/content/conguide/2.0.0-M3/agilej.html
+++ b/content/conguide/2.0.0-M3/agilej.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="git/about.html" title="Git Cookbook">
   <link rel="prev" href="#asciidoc-syntax.adoc" title="Asciidoc Syntax">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -414,7 +420,7 @@ hide method lines</code></pre>
 <p>For more information on AgileJ, see Paul Wells' 8-part tutorial series on Youtube; the first can be found <a href="https://www.youtube.com/watch?v=YrZQ7lMSsH0">here</a> (view the "show more" comments to click through to other parts).</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -454,5 +460,30 @@ hide method lines</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/building-apache-isis.html b/content/conguide/2.0.0-M3/building-apache-isis.html
index 74f2979..f1959ac 100644
--- a/content/conguide/2.0.0-M3/building-apache-isis.html
+++ b/content/conguide/2.0.0-M3/building-apache-isis.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="building-docs-and-website.html" title="Building Docs and Website">
   <link rel="prev" href="contributing.html" title="Contributing">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -724,7 +730,7 @@ mvn clean install -o -T1C</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -764,5 +770,30 @@ mvn clean install -o -T1C</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/building-docs-and-website.html b/content/conguide/2.0.0-M3/building-docs-and-website.html
index 40772bf..30de757 100644
--- a/content/conguide/2.0.0-M3/building-docs-and-website.html
+++ b/content/conguide/2.0.0-M3/building-docs-and-website.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="#asciidoc-syntax.adoc" title="Asciidoc Syntax">
   <link rel="prev" href="building-apache-isis.html" title="Building Apache Isis">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -359,7 +365,7 @@ page.parent doesn't seem to be set...
 <h1 class="page">Building Docs and Website</h1>
 
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -399,5 +405,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/cmd-line.html b/content/conguide/2.0.0-M3/cmd-line.html
index 43b306c..c51c452 100644
--- a/content/conguide/2.0.0-M3/cmd-line.html
+++ b/content/conguide/2.0.0-M3/cmd-line.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -368,7 +374,7 @@ FIXME
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -408,5 +414,30 @@ FIXME
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/contributing.html b/content/conguide/2.0.0-M3/contributing.html
index 3311fca..2ca3249 100644
--- a/content/conguide/2.0.0-M3/contributing.html
+++ b/content/conguide/2.0.0-M3/contributing.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="building-apache-isis.html" title="Building Apache Isis">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -722,7 +728,7 @@ If so, use:</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -762,5 +768,30 @@ If so, use:</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/documentation/about.html b/content/conguide/2.0.0-M3/documentation/about.html
index 62c61d3..7842577 100644
--- a/content/conguide/2.0.0-M3/documentation/about.html
+++ b/content/conguide/2.0.0-M3/documentation/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -452,7 +458,7 @@ even if you don&#8217;t use IntelliJ as your primary IDE, it&#8217;s worth using
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -492,5 +498,30 @@ even if you don&#8217;t use IntelliJ as your primary IDE, it&#8217;s worth using
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/documentation/asciidoc-syntax.html b/content/conguide/2.0.0-M3/documentation/asciidoc-syntax.html
index 238116c..eb87be0 100644
--- a/content/conguide/2.0.0-M3/documentation/asciidoc-syntax.html
+++ b/content/conguide/2.0.0-M3/documentation/asciidoc-syntax.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -1688,7 +1694,7 @@ But this should become seamless in the future.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1728,5 +1734,30 @@ But this should become seamless in the future.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/documentation/building-docs-and-website.html b/content/conguide/2.0.0-M3/documentation/building-docs-and-website.html
index 1a982e5..12f9a55 100644
--- a/content/conguide/2.0.0-M3/documentation/building-docs-and-website.html
+++ b/content/conguide/2.0.0-M3/documentation/building-docs-and-website.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -434,7 +440,7 @@ even if you don&#8217;t use IntelliJ as your primary IDE, it&#8217;s worth using
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -474,5 +480,30 @@ even if you don&#8217;t use IntelliJ as your primary IDE, it&#8217;s worth using
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/eclipse/about.html b/content/conguide/2.0.0-M3/eclipse/about.html
index 40778ea..eee1513 100644
--- a/content/conguide/2.0.0-M3/eclipse/about.html
+++ b/content/conguide/2.0.0-M3/eclipse/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -382,7 +388,7 @@ page.parent doesn't seem to be set...
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -422,5 +428,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/git/about.html b/content/conguide/2.0.0-M3/git/about.html
index c6a38a7..98ad398 100644
--- a/content/conguide/2.0.0-M3/git/about.html
+++ b/content/conguide/2.0.0-M3/git/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="prev" href="../agilej.html" title="AgileJ">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -657,7 +663,7 @@ git reset --hard <em>shaId</em> <i class="conum" data-value="1"></i><b>(1)</b></
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -697,5 +703,30 @@ git reset --hard <em>shaId</em> <i class="conum" data-value="1"></i><b>(1)</b></
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/conguide/2.0.0-M3/intellij/about.html b/content/conguide/2.0.0-M3/intellij/about.html
index 9cabf05..b973954 100644
--- a/content/conguide/2.0.0-M3/intellij/about.html
+++ b/content/conguide/2.0.0-M3/intellij/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -366,7 +372,7 @@ page.parent doesn't seem to be set...
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -406,5 +412,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/about.html b/content/core/2.0.0-M3/about.html
index 4f3c64d..c1ed306 100644
--- a/content/core/2.0.0-M3/about.html
+++ b/content/core/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -411,7 +417,7 @@ The ones that are missing - for example the <code>core/applib</code> module - in
 They will therefore be found in either the <a href="../../userguide/2.0.0-M3/about.html" class="page">user guide</a>, <a href="../../refguide/2.0.0-M3/about.html" class="page">reference guide</a>, <a href="../../security/2.0.0-M3/about.html" class="page">security guide</a> or <a href="../../testing/2.0.0-M3/about.html" class="page">testing guide</a>.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -451,5 +457,30 @@ They will therefore be found in either the <a href="../../userguide/2.0.0-M3/abo
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/archdesign/about.html b/content/core/2.0.0-M3/archdesign/about.html
index b31f4d1..28cecf9 100644
--- a/content/core/2.0.0-M3/archdesign/about.html
+++ b/content/core/2.0.0-M3/archdesign/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../commons/about.html" title="Commons">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -449,7 +455,7 @@ page.parent doesn't seem to be set...
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -489,5 +495,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/codegen-bytebuddy/about.html b/content/core/2.0.0-M3/codegen-bytebuddy/about.html
index 7b1d54b..6950583 100644
--- a/content/core/2.0.0-M3/codegen-bytebuddy/about.html
+++ b/content/core/2.0.0-M3/codegen-bytebuddy/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../metamodel/about.html" title="MetaModel">
   <link rel="prev" href="../commons/about.html" title="Commons">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -417,7 +423,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -457,5 +463,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/commons/about.html b/content/core/2.0.0-M3/commons/about.html
index 0e5c454..c8ebbbb 100644
--- a/content/core/2.0.0-M3/commons/about.html
+++ b/content/core/2.0.0-M3/commons/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../codegen-bytebuddy/about.html" title="Byte Buddy Proxy Factory">
   <link rel="prev" href="../archdesign/about.html" title="Architecture &amp;amp; Design">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -417,7 +423,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -457,5 +463,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/commons/concurrent-task-list-UNUSED.html b/content/core/2.0.0-M3/commons/concurrent-task-list-UNUSED.html
index 89bf344..488b30a 100644
--- a/content/core/2.0.0-M3/commons/concurrent-task-list-UNUSED.html
+++ b/content/core/2.0.0-M3/commons/concurrent-task-list-UNUSED.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -491,7 +497,7 @@ I&#8217;ve recently learned, that with newer JDKs (unfortunately not in 8) one c
 </dl>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -531,5 +537,30 @@ I&#8217;ve recently learned, that with newer JDKs (unfortunately not in 8) one c
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/internaltestsupport/about.html b/content/core/2.0.0-M3/internaltestsupport/about.html
index 882a6db..3fbc08d 100644
--- a/content/core/2.0.0-M3/internaltestsupport/about.html
+++ b/content/core/2.0.0-M3/internaltestsupport/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -415,7 +421,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -455,5 +461,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/metamodel/about.html b/content/core/2.0.0-M3/metamodel/about.html
index 4e227c4..c82c2bd 100644
--- a/content/core/2.0.0-M3/metamodel/about.html
+++ b/content/core/2.0.0-M3/metamodel/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="class-diagram.html" title="Class Diagram">
   <link rel="prev" href="../codegen-bytebuddy/about.html" title="Byte Buddy Proxy Factory">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -417,7 +423,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -457,5 +463,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/metamodel/class-diagram.html b/content/core/2.0.0-M3/metamodel/class-diagram.html
index bda854e..680399d 100644
--- a/content/core/2.0.0-M3/metamodel/class-diagram.html
+++ b/content/core/2.0.0-M3/metamodel/class-diagram.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../runtime/about.html" title="Runtime">
   <link rel="prev" href="about.html" title="MetaModel">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -459,7 +465,7 @@ page.parent doesn't seem to be set...
 </dl>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -499,5 +505,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/ApplicationFeatureFactory.html b/content/core/2.0.0-M3/runtime-services/ApplicationFeatureFactory.html
index c77f029..759230d 100644
--- a/content/core/2.0.0-M3/runtime-services/ApplicationFeatureFactory.html
+++ b/content/core/2.0.0-M3/runtime-services/ApplicationFeatureFactory.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="AuditerDispatchService.html" title="AuditerDispatchService">
   <link rel="prev" href="about.html" title="Runtime Services">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -418,7 +424,7 @@ TODO: this content has not yet been reviewed/updated for v2.0
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -458,5 +464,30 @@ TODO: this content has not yet been reviewed/updated for v2.0
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/AuditerDispatchService.html b/content/core/2.0.0-M3/runtime-services/AuditerDispatchService.html
index 8b1c542..90934eb 100644
--- a/content/core/2.0.0-M3/runtime-services/AuditerDispatchService.html
+++ b/content/core/2.0.0-M3/runtime-services/AuditerDispatchService.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="AuthenticationSessionProvider.html" title="AuthenticationSessionProvider">
   <link rel="prev" href="ApplicationFeatureFactory.html" title="ApplicationFeatureFactory">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -477,7 +483,7 @@ If no such service(s) are configured, then <em>this</em> service is in effect a
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -517,5 +523,30 @@ If no such service(s) are configured, then <em>this</em> service is in effect a
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/AuthenticationSessionProvider.html b/content/core/2.0.0-M3/runtime-services/AuthenticationSessionProvider.html
index c302e9d..455565f 100644
--- a/content/core/2.0.0-M3/runtime-services/AuthenticationSessionProvider.html
+++ b/content/core/2.0.0-M3/runtime-services/AuthenticationSessionProvider.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="ChangedObjectsService.html" title="ChangedObjectsService">
   <link rel="prev" href="AuditerDispatchService.html" title="AuditerDispatchService">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -452,7 +458,7 @@ the current <code>AuthenticationSession</code> from <code>IsisSessionFactory</co
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -492,5 +498,30 @@ the current <code>AuthenticationSession</code> from <code>IsisSessionFactory</co
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/ChangedObjectsService.html b/content/core/2.0.0-M3/runtime-services/ChangedObjectsService.html
index 4236343..313e1c0 100644
--- a/content/core/2.0.0-M3/runtime-services/ChangedObjectsService.html
+++ b/content/core/2.0.0-M3/runtime-services/ChangedObjectsService.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="CommandDtoServiceInternal.html" title="CommandDtoServiceInternal">
   <link rel="prev" href="AuthenticationSessionProvider.html" title="AuthenticationSessionProvider">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -504,7 +510,7 @@ properties are captured when the transaction commits.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -544,5 +550,30 @@ properties are captured when the transaction commits.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/CommandDtoServiceInternal.html b/content/core/2.0.0-M3/runtime-services/CommandDtoServiceInternal.html
index 74240d1..67813ea 100644
--- a/content/core/2.0.0-M3/runtime-services/CommandDtoServiceInternal.html
+++ b/content/core/2.0.0-M3/runtime-services/CommandDtoServiceInternal.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="ContentNegotiationService.html" title="ContentNegotiationService">
   <link rel="prev" href="ChangedObjectsService.html" title="ChangedObjectsService">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -495,7 +501,7 @@ targets, for symmetry with actions).</td>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -535,5 +541,30 @@ targets, for symmetry with actions).</td>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/ContentNegotiationService.html b/content/core/2.0.0-M3/runtime-services/ContentNegotiationService.html
index 6f58cd3..8c2482d 100644
--- a/content/core/2.0.0-M3/runtime-services/ContentNegotiationService.html
+++ b/content/core/2.0.0-M3/runtime-services/ContentNegotiationService.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="InteractionDtoServiceInternal.html" title="InteractionDtoServiceInternal">
   <link rel="prev" href="CommandDtoServiceInternal.html" title="CommandDtoServiceInternal">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -725,7 +731,7 @@ This can be useful for generic viewers.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -765,5 +771,30 @@ This can be useful for generic viewers.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/InteractionDtoServiceInternal.html b/content/core/2.0.0-M3/runtime-services/InteractionDtoServiceInternal.html
index 0f234d9..4cd70a8 100644
--- a/content/core/2.0.0-M3/runtime-services/InteractionDtoServiceInternal.html
+++ b/content/core/2.0.0-M3/runtime-services/InteractionDtoServiceInternal.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="RepresentationService.html" title="RepresentationService">
   <link rel="prev" href="ContentNegotiationService.html" title="ContentNegotiationService">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -480,7 +486,7 @@ TODO: this content has not yet been reviewed/updated for v2.0
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -520,5 +526,30 @@ TODO: this content has not yet been reviewed/updated for v2.0
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/PersistenceSessionServiceInternal.html b/content/core/2.0.0-M3/runtime-services/PersistenceSessionServiceInternal.html
index 5867b73..232961e 100644
--- a/content/core/2.0.0-M3/runtime-services/PersistenceSessionServiceInternal.html
+++ b/content/core/2.0.0-M3/runtime-services/PersistenceSessionServiceInternal.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="PublisherDispatchService.html" title="PublisherDispatchService">
   <link rel="prev" href="RepresentationService.html" title="RepresentationService">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -549,7 +555,7 @@ This is used during normal use and in integration tests.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -589,5 +595,30 @@ This is used during normal use and in integration tests.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/PublisherDispatchService.html b/content/core/2.0.0-M3/runtime-services/PublisherDispatchService.html
index 7acb3d0..bc1c481 100644
--- a/content/core/2.0.0-M3/runtime-services/PublisherDispatchService.html
+++ b/content/core/2.0.0-M3/runtime-services/PublisherDispatchService.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../webapp/about.html" title="Webapp">
   <link rel="prev" href="PersistenceSessionServiceInternal.html" title="PersistenceSessionServiceInternal">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -493,7 +499,7 @@ The <code>Execution</code> object will be an instance of <code>PropertyEdit</cod
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -533,5 +539,30 @@ The <code>Execution</code> object will be an instance of <code>PropertyEdit</cod
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/RepresentationService.html b/content/core/2.0.0-M3/runtime-services/RepresentationService.html
index fea9862..7c78f8c 100644
--- a/content/core/2.0.0-M3/runtime-services/RepresentationService.html
+++ b/content/core/2.0.0-M3/runtime-services/RepresentationService.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="PersistenceSessionServiceInternal.html" title="PersistenceSessionServiceInternal">
   <link rel="prev" href="InteractionDtoServiceInternal.html" title="InteractionDtoServiceInternal">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -553,7 +559,7 @@ This delegates to <a href="ContentNegotiationService.html" class="page"><code>Co
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -593,5 +599,30 @@ This delegates to <a href="ContentNegotiationService.html" class="page"><code>Co
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime-services/about.html b/content/core/2.0.0-M3/runtime-services/about.html
index fa54ce5..4ccd32e 100644
--- a/content/core/2.0.0-M3/runtime-services/about.html
+++ b/content/core/2.0.0-M3/runtime-services/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="ApplicationFeatureFactory.html" title="ApplicationFeatureFactory">
   <link rel="prev" href="../runtime/about.html" title="Runtime">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -696,7 +702,7 @@ querying and for persisting objects.</p></td>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -736,5 +742,30 @@ querying and for persisting objects.</p></td>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/runtime/about.html b/content/core/2.0.0-M3/runtime/about.html
index 714f409..23999e8 100644
--- a/content/core/2.0.0-M3/runtime/about.html
+++ b/content/core/2.0.0-M3/runtime/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../runtime-services/about.html" title="Runtime Services">
   <link rel="prev" href="../metamodel/class-diagram.html" title="Class Diagram">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -417,7 +423,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -457,5 +463,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/smoketests/about.html b/content/core/2.0.0-M3/smoketests/about.html
index 5cb5e8a..ed63b1d 100644
--- a/content/core/2.0.0-M3/smoketests/about.html
+++ b/content/core/2.0.0-M3/smoketests/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="prev" href="../webapp/webmodules.html" title="&lt;code&gt;WebModule&lt;/code&gt; interface">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -416,7 +422,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -456,5 +462,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/webapp/about.html b/content/core/2.0.0-M3/webapp/about.html
index 75a60e6..97c858c 100644
--- a/content/core/2.0.0-M3/webapp/about.html
+++ b/content/core/2.0.0-M3/webapp/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="webmodules.html" title="&lt;code&gt;WebModule&lt;/code&gt; interface">
   <link rel="prev" href="../runtime-services/PublisherDispatchService.html" title="PublisherDispatchService">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -417,7 +423,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -457,5 +463,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/core/2.0.0-M3/webapp/webmodules.html b/content/core/2.0.0-M3/webapp/webmodules.html
index 0047415..142b368 100644
--- a/content/core/2.0.0-M3/webapp/webmodules.html
+++ b/content/core/2.0.0-M3/webapp/webmodules.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../smoketests/about.html" title="SmokeTest app">
   <link rel="prev" href="about.html" title="Webapp">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -612,7 +618,7 @@ H2Console</code></p></td>
 </tbody>
 </table>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -652,5 +658,30 @@ H2Console</code></p></td>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/about.html b/content/docs/2.0.0-M3/about.html
index c692520..df4d620 100644
--- a/content/docs/2.0.0-M3/about.html
+++ b/content/docs/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -954,7 +960,7 @@ page.parent doesn't seem to be set...
 </tbody>
 </table>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -994,5 +1000,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/archive/1-x.html b/content/docs/2.0.0-M3/archive/1-x.html
index 32de542..4dda1e6 100644
--- a/content/docs/2.0.0-M3/archive/1-x.html
+++ b/content/docs/2.0.0-M3/archive/1-x.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -651,7 +657,7 @@ page.parent doesn't seem to be set...
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -691,5 +697,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/demo/about.html b/content/docs/2.0.0-M3/demo/about.html
index 35b180f..8b589dd 100644
--- a/content/docs/2.0.0-M3/demo/about.html
+++ b/content/docs/2.0.0-M3/demo/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../resources/cheatsheet.html" title="Cheat Sheet">
   <link rel="prev" href="../mavendeps/about.html" title="Aggregator POMs">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -743,7 +749,7 @@ These are licensed by <a href="http://creativecommons.org/licenses/by/3.0/" targ
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -783,5 +789,30 @@ These are licensed by <a href="http://creativecommons.org/licenses/by/3.0/" targ
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/downloads/how-to.html b/content/docs/2.0.0-M3/downloads/how-to.html
index 5b26572..992fa95 100644
--- a/content/docs/2.0.0-M3/downloads/how-to.html
+++ b/content/docs/2.0.0-M3/downloads/how-to.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../../../relnotes/2.0.0-M3/about.html" title="Release Notes">
   <link rel="prev" href="../support/mailing-list.html" title="Mailing Lists">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -719,7 +725,7 @@ See <a href="https://gitbox.apache.org/setup/">gitbox setup</a> for more details
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -759,5 +765,30 @@ See <a href="https://gitbox.apache.org/setup/">gitbox setup</a> for more details
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/going-deeper/articles-and-presentations.html b/content/docs/2.0.0-M3/going-deeper/articles-and-presentations.html
index deaa2ff..d39254c 100644
--- a/content/docs/2.0.0-M3/going-deeper/articles-and-presentations.html
+++ b/content/docs/2.0.0-M3/going-deeper/articles-and-presentations.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -827,7 +833,7 @@ Slides available <strong><a href="http://www.danhaywood.com/spa2016/#/">here</a>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -867,5 +873,30 @@ Slides available <strong><a href="http://www.danhaywood.com/spa2016/#/">here</a>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/going-deeper/books.html b/content/docs/2.0.0-M3/going-deeper/books.html
index 26ca2a1..32d271c 100644
--- a/content/docs/2.0.0-M3/going-deeper/books.html
+++ b/content/docs/2.0.0-M3/going-deeper/books.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -697,7 +703,7 @@ It is implemented by Apache Isis' <a href="../../../vro/2.0.0-M3/about.html" cla
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -737,5 +743,30 @@ It is implemented by Apache Isis' <a href="../../../vro/2.0.0-M3/about.html" cla
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/landing-page/components.html b/content/docs/2.0.0-M3/landing-page/components.html
index ce5b011..53695db 100644
--- a/content/docs/2.0.0-M3/landing-page/components.html
+++ b/content/docs/2.0.0-M3/landing-page/components.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -660,7 +666,7 @@ page.parent doesn't seem to be set...
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -700,5 +706,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/landing-page/guides.html b/content/docs/2.0.0-M3/landing-page/guides.html
index c764718..1323dab 100644
--- a/content/docs/2.0.0-M3/landing-page/guides.html
+++ b/content/docs/2.0.0-M3/landing-page/guides.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -648,7 +654,7 @@ page.parent doesn't seem to be set...
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -688,5 +694,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/landing-page/internal.html b/content/docs/2.0.0-M3/landing-page/internal.html
index eb090bf..014ce8c 100644
--- a/content/docs/2.0.0-M3/landing-page/internal.html
+++ b/content/docs/2.0.0-M3/landing-page/internal.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -638,7 +644,7 @@ They include guides for day-to-day operations, as well as notes on the design/im
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -678,5 +684,30 @@ They include guides for day-to-day operations, as well as notes on the design/im
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/landing-page/libraries.html b/content/docs/2.0.0-M3/landing-page/libraries.html
index aed263d..92fd4a5 100644
--- a/content/docs/2.0.0-M3/landing-page/libraries.html
+++ b/content/docs/2.0.0-M3/landing-page/libraries.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -642,7 +648,7 @@ In other words, tools to help integrating system together.</p>
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -682,5 +688,30 @@ In other words, tools to help integrating system together.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/landing-page/releases.html b/content/docs/2.0.0-M3/landing-page/releases.html
index 45ae072..df99723 100644
--- a/content/docs/2.0.0-M3/landing-page/releases.html
+++ b/content/docs/2.0.0-M3/landing-page/releases.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -661,7 +667,7 @@ These usually include migration notes that explain how to migrate to new feature
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -701,5 +707,30 @@ These usually include migration notes that explain how to migrate to new feature
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/mavendeps/about.html b/content/docs/2.0.0-M3/mavendeps/about.html
index beac17b..c84f983 100644
--- a/content/docs/2.0.0-M3/mavendeps/about.html
+++ b/content/docs/2.0.0-M3/mavendeps/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../demo/about.html" title="Demo App">
   <link rel="prev" href="../parent-pom/about.html" title="Parent POM">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -1071,7 +1077,7 @@ Otherwise it will be ignored.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1111,5 +1117,30 @@ Otherwise it will be ignored.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/more-thanks/more-thanks.html b/content/docs/2.0.0-M3/more-thanks/more-thanks.html
index 447b52e..ae15bb0 100644
--- a/content/docs/2.0.0-M3/more-thanks/more-thanks.html
+++ b/content/docs/2.0.0-M3/more-thanks/more-thanks.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="prev" href="../../../core/2.0.0-M3/about.html" title="Design Docs">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -665,7 +671,7 @@ page.parent doesn't seem to be set...
 <p>and to the many others who contribute their free time and passion to open source.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -705,5 +711,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/parent-pom/about.html b/content/docs/2.0.0-M3/parent-pom/about.html
index 4c4d29b..cf52a96 100644
--- a/content/docs/2.0.0-M3/parent-pom/about.html
+++ b/content/docs/2.0.0-M3/parent-pom/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../mavendeps/about.html" title="Aggregator POMs">
   <link rel="prev" href="../starters/simpleapp.html" title="SimpleApp">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -702,7 +708,7 @@ It builds upon a similar POM provided by the Spring Boot framework, which ensure
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -742,5 +748,30 @@ It builds upon a similar POM provided by the Spring Boot framework, which ensure
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/resources/about.html b/content/docs/2.0.0-M3/resources/about.html
index 966723f..84815ad 100644
--- a/content/docs/2.0.0-M3/resources/about.html
+++ b/content/docs/2.0.0-M3/resources/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -609,7 +615,7 @@ page.parent doesn't seem to be set...
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -649,5 +655,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/resources/cheatsheet.html b/content/docs/2.0.0-M3/resources/cheatsheet.html
index 51cffbe..8499af4 100644
--- a/content/docs/2.0.0-M3/resources/cheatsheet.html
+++ b/content/docs/2.0.0-M3/resources/cheatsheet.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="icons.html" title="Icons">
   <link rel="prev" href="../demo/about.html" title="Demo App">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -617,7 +623,7 @@ page.parent doesn't seem to be set...
 <a href="_attachments/IsisCheatSheet.pdf">Acrobat PDF</a> file or as an <a href="_attachments/IsisCheatSheet.docx">MS Word .docx</a> file.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -657,5 +663,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/resources/icons.html b/content/docs/2.0.0-M3/resources/icons.html
index a9aac32..1e3d01f 100644
--- a/content/docs/2.0.0-M3/resources/icons.html
+++ b/content/docs/2.0.0-M3/resources/icons.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../../../setupguide/2.0.0-M3/about.html" title="Setup Guide">
   <link rel="prev" href="cheatsheet.html" title="Cheat Sheet">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -626,7 +632,7 @@ Here are some open source icon sets for both personal and commercial use (though
 <p>If you know of any others freely usable and easily accessible, let us know through the <a href="../support/mailing-list.html" class="page">mailing list</a>.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -666,5 +672,30 @@ Here are some open source icon sets for both personal and commercial use (though
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/starters/about.html b/content/docs/2.0.0-M3/starters/about.html
index 50a7d83..2f1f9ae 100644
--- a/content/docs/2.0.0-M3/starters/about.html
+++ b/content/docs/2.0.0-M3/starters/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -694,7 +700,7 @@ A much more complete explanation of the structure of the app (and how to use it)
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -734,5 +740,30 @@ A much more complete explanation of the structure of the app (and how to use it)
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/starters/helloworld-script.html b/content/docs/2.0.0-M3/starters/helloworld-script.html
index 57a894d..9697a3b 100644
--- a/content/docs/2.0.0-M3/starters/helloworld-script.html
+++ b/content/docs/2.0.0-M3/starters/helloworld-script.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -600,7 +606,7 @@ mvn spring-boot:run</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -640,5 +646,30 @@ mvn spring-boot:run</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/starters/helloworld.html b/content/docs/2.0.0-M3/starters/helloworld.html
index 5494d5b..bc03c9e 100644
--- a/content/docs/2.0.0-M3/starters/helloworld.html
+++ b/content/docs/2.0.0-M3/starters/helloworld.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="simpleapp.html" title="SimpleApp">
   <link rel="prev" href="../what-is-apache-isis/screencasts.html" title="Screencasts">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -1431,7 +1437,7 @@ Although a little more complex, it provides more structure and example tests, al
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1471,5 +1477,30 @@ Although a little more complex, it provides more structure and example tests, al
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/starters/simpleapp-script.html b/content/docs/2.0.0-M3/starters/simpleapp-script.html
index 9becef9..dd8f996 100644
--- a/content/docs/2.0.0-M3/starters/simpleapp-script.html
+++ b/content/docs/2.0.0-M3/starters/simpleapp-script.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -600,7 +606,7 @@ mvn -pl webapp spring-boot:run</code></pre>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -640,5 +646,30 @@ mvn -pl webapp spring-boot:run</code></pre>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/starters/simpleapp.html b/content/docs/2.0.0-M3/starters/simpleapp.html
index bfaae90..f60aae7 100644
--- a/content/docs/2.0.0-M3/starters/simpleapp.html
+++ b/content/docs/2.0.0-M3/starters/simpleapp.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../parent-pom/about.html" title="Parent POM">
   <link rel="prev" href="helloworld.html" title="HelloWorld">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -2092,7 +2098,7 @@ There is plenty more guidance on this site; start with the <a href="../../../use
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -2132,5 +2138,30 @@ There is plenty more guidance on this site; start with the <a href="../../../use
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/support/about.html b/content/docs/2.0.0-M3/support/about.html
index 6c4b78d..79863ff 100644
--- a/content/docs/2.0.0-M3/support/about.html
+++ b/content/docs/2.0.0-M3/support/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -647,7 +653,7 @@ page.parent doesn't seem to be set...
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -687,5 +693,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/support/mailing-list.html b/content/docs/2.0.0-M3/support/mailing-list.html
index 326b397..e4bd99c 100644
--- a/content/docs/2.0.0-M3/support/mailing-list.html
+++ b/content/docs/2.0.0-M3/support/mailing-list.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../downloads/how-to.html" title="Downloads">
   <link rel="prev" href="slack-channel.html" title="Slack">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -690,7 +696,7 @@ Try not to <a href="http://en.wikipedia.org/wiki/Posting_style#Top-posting)">top
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -730,5 +736,30 @@ Try not to <a href="http://en.wikipedia.org/wiki/Posting_style#Top-posting)">top
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/support/slack-channel.html b/content/docs/2.0.0-M3/support/slack-channel.html
index 288f8ad..1e29fa8 100644
--- a/content/docs/2.0.0-M3/support/slack-channel.html
+++ b/content/docs/2.0.0-M3/support/slack-channel.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="mailing-list.html" title="Mailing Lists">
   <link rel="prev" href="../../../extensions/2.0.0-M3/about.html" title="Extensions Catalog">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -670,7 +676,7 @@ Anyone can join:</p>
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -710,5 +716,30 @@ Anyone can join:</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/common-use-cases.html b/content/docs/2.0.0-M3/what-is-apache-isis/common-use-cases.html
index a78e694..6be9851 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/common-use-cases.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/common-use-cases.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="screencasts.html" title="Screencasts">
   <link rel="prev" href="isis-in-pictures.html" title="Apache Isis in pictures">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -707,7 +713,7 @@ In other words, Apache Isis continues to manage the object lifecycle and persist
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -747,5 +753,30 @@ In other words, Apache Isis continues to manage the object lifecycle and persist
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/isis-in-pictures.html b/content/docs/2.0.0-M3/what-is-apache-isis/isis-in-pictures.html
index 2744bd2..07de6fa 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/isis-in-pictures.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/isis-in-pictures.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="common-use-cases.html" title="Common Use Cases">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -988,7 +994,7 @@ Indeed, the example todoapp demonstrates this.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1028,5 +1034,30 @@ Indeed, the example todoapp demonstrates this.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by.html b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by.html
index cb126a0..7e18b3a 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -1000,7 +1006,7 @@ The source code is available <a href="https://www.assembla.com/code/transportpla
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1040,5 +1046,30 @@ The source code is available <a href="https://www.assembla.com/code/transportpla
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/commapp.html b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/commapp.html
index 88c4064..6ff892e 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/commapp.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/commapp.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -641,7 +647,7 @@ We have found all this hard to find in many other open source frameworks.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -681,5 +687,30 @@ We have found all this hard to find in many other open source frameworks.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/contactapp.html b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/contactapp.html
index a5a6f2c..af6a94c 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/contactapp.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/contactapp.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -638,7 +644,7 @@ Meanwhile we&#8217;re now set up nicely to build further mobile apps using this
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -678,5 +684,30 @@ Meanwhile we&#8217;re now set up nicely to build further mobile apps using this
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/cqnz.html b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/cqnz.html
index c2eca5c..f7b53f4 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/cqnz.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/cqnz.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -659,7 +665,7 @@ All images and trademarks property of their respective owners.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -699,5 +705,30 @@ All images and trademarks property of their respective owners.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/estatio.html b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/estatio.html
index 654b8f1..5d88e24 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/estatio.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/estatio.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -647,7 +653,7 @@ Our heart-felt thanks.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -687,5 +693,30 @@ Our heart-felt thanks.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/gesconsultor-grc.html b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/gesconsultor-grc.html
index 89eef33..ac93ee8 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/gesconsultor-grc.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/gesconsultor-grc.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -744,7 +750,7 @@ At the last count more than 400 domain entities, across 6 different Bounded Cont
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -784,5 +790,30 @@ At the last count more than 400 domain entities, across 6 different Bounded Cont
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/transport-planner.html b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/transport-planner.html
index 9aa97e3..5ba151f 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/transport-planner.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/powered-by/transport-planner.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -683,7 +689,7 @@ The source code is available <a href="https://www.assembla.com/code/transportpla
 <p><em>Case study provided by Christian Steinebach, Marintech</em></p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -723,5 +729,30 @@ The source code is available <a href="https://www.assembla.com/code/transportpla
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/screencasts-older.html b/content/docs/2.0.0-M3/what-is-apache-isis/screencasts-older.html
index fb1d163..c2bd92f 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/screencasts-older.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/screencasts-older.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -879,7 +885,7 @@ More recent screencasts can be found <a href="./screencasts.html">here</a>.</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -919,5 +925,30 @@ More recent screencasts can be found <a href="./screencasts.html">here</a>.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/screencasts.html b/content/docs/2.0.0-M3/what-is-apache-isis/screencasts.html
index 7acec9e..19b0192 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/screencasts.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/screencasts.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../starters/helloworld.html" title="HelloWorld">
   <link rel="prev" href="common-use-cases.html" title="Common Use Cases">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -2803,7 +2809,7 @@ Improving the layout of domain entities by adding a metadata fieldset.</p>
 </tbody>
 </table>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -2843,5 +2849,30 @@ Improving the layout of domain entities by adding a metadata fieldset.</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/docs/2.0.0-M3/what-is-apache-isis/screencasts/playlists.html b/content/docs/2.0.0-M3/what-is-apache-isis/screencasts/playlists.html
index 3bc4556..7a85be0 100644
--- a/content/docs/2.0.0-M3/what-is-apache-isis/screencasts/playlists.html
+++ b/content/docs/2.0.0-M3/what-is-apache-isis/screencasts/playlists.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -609,7 +615,7 @@ mdl</a>
 trib</a></p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -649,5 +655,30 @@ trib</a></p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/extensions/2.0.0-M3/about.html b/content/extensions/2.0.0-M3/about.html
index ed5aa92..19d4382 100644
--- a/content/extensions/2.0.0-M3/about.html
+++ b/content/extensions/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -428,7 +434,7 @@ These typically are for use directly within by the domain application itself.</p
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -468,5 +474,30 @@ These typically are for use directly within by the domain application itself.</p
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/extensions/2.0.0-M3/command-log/about.html b/content/extensions/2.0.0-M3/command-log/about.html
index 6cc4910..68c25e2 100644
--- a/content/extensions/2.0.0-M3/command-log/about.html
+++ b/content/extensions/2.0.0-M3/command-log/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../../../userguide/2.0.0-M3/flyway/about.html" title="Flyway">
   <link rel="prev" href="../../../security/2.0.0-M3/session-log/about.html" title="Session Log">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -465,7 +471,7 @@ TODO: v2 - this is to move into the <a href="../../../mappings/2.0.0-M3/about.ht
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -505,5 +511,30 @@ TODO: v2 - this is to move into the <a href="../../../mappings/2.0.0-M3/about.ht
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/incubator/2.0.0-M3/about.html b/content/incubator/2.0.0-M3/about.html
index 281f9f1..b1ca567 100644
--- a/content/incubator/2.0.0-M3/about.html
+++ b/content/incubator/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -342,7 +348,7 @@ page.parent doesn't seem to be set...
 <p>TODO</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -382,5 +388,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/incubator/2.0.0-M3/microprofile/about.html b/content/incubator/2.0.0-M3/microprofile/about.html
index bb12eb0..04e3f39 100644
--- a/content/incubator/2.0.0-M3/microprofile/about.html
+++ b/content/incubator/2.0.0-M3/microprofile/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="prev" href="../model/about.html" title="@Model">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -353,7 +359,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -393,5 +399,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/incubator/2.0.0-M3/model/about.html b/content/incubator/2.0.0-M3/model/about.html
index e450a06..15627f0 100644
--- a/content/incubator/2.0.0-M3/model/about.html
+++ b/content/incubator/2.0.0-M3/model/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../microprofile/about.html" title="MicroProfile">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -353,7 +359,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -393,5 +399,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/legacy/2.0.0-M3/about.html b/content/legacy/2.0.0-M3/about.html
index 9461bb7..e8d7cab 100644
--- a/content/legacy/2.0.0-M3/about.html
+++ b/content/legacy/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -351,7 +357,7 @@ page.parent doesn't seem to be set...
 <p>This catalog contains deprecated functionality that has been extracted from the core framework, prior to it being removed permanently.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -391,5 +397,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/legacy/2.0.0-M3/applib/about.html b/content/legacy/2.0.0-M3/applib/about.html
index 54fafd2..888a830 100644
--- a/content/legacy/2.0.0-M3/applib/about.html
+++ b/content/legacy/2.0.0-M3/applib/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../commons/about.html" title="Commons">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -362,7 +368,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -402,5 +408,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/legacy/2.0.0-M3/commons/about.html b/content/legacy/2.0.0-M3/commons/about.html
index b0e3532..9f57566 100644
--- a/content/legacy/2.0.0-M3/commons/about.html
+++ b/content/legacy/2.0.0-M3/commons/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../runtime/about.html" title="Runtime">
   <link rel="prev" href="../applib/about.html" title="Applib">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -363,7 +369,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -403,5 +409,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/legacy/2.0.0-M3/metamodel/about.html b/content/legacy/2.0.0-M3/metamodel/about.html
index 9e8fe63..a9d5bf1 100644
--- a/content/legacy/2.0.0-M3/metamodel/about.html
+++ b/content/legacy/2.0.0-M3/metamodel/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -361,7 +367,7 @@ TODO: v2: placeholder for documentation about legacy/metamodel
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -401,5 +407,30 @@ TODO: v2: placeholder for documentation about legacy/metamodel
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/legacy/2.0.0-M3/restclient/about.html b/content/legacy/2.0.0-M3/restclient/about.html
index c180821..e3b2bd5 100644
--- a/content/legacy/2.0.0-M3/restclient/about.html
+++ b/content/legacy/2.0.0-M3/restclient/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="#vw:servletapi:about.adoc" title="Servlet API (Extension)">
   <link rel="prev" href="../runtime/about.html" title="Runtime">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -363,7 +369,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -403,5 +409,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/legacy/2.0.0-M3/runtime/about.html b/content/legacy/2.0.0-M3/runtime/about.html
index 47c8c43..8bb1c59 100644
--- a/content/legacy/2.0.0-M3/runtime/about.html
+++ b/content/legacy/2.0.0-M3/runtime/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../restclient/about.html" title="REST Client">
   <link rel="prev" href="../commons/about.html" title="Commons">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -363,7 +369,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -403,5 +409,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/legacy/2.0.0-M3/servletapi/about.html b/content/legacy/2.0.0-M3/servletapi/about.html
index 80eda24..c9d4f9a 100644
--- a/content/legacy/2.0.0-M3/servletapi/about.html
+++ b/content/legacy/2.0.0-M3/servletapi/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -361,7 +367,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -401,5 +407,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/mappings/2.0.0-M3/about.html b/content/mappings/2.0.0-M3/about.html
index 75e5e63..b6c3f6d 100644
--- a/content/mappings/2.0.0-M3/about.html
+++ b/content/mappings/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -361,7 +367,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -401,5 +407,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/mappings/2.0.0-M3/jaxrsclient/about.html b/content/mappings/2.0.0-M3/jaxrsclient/about.html
index 4c2ec48..19bd06a 100644
--- a/content/mappings/2.0.0-M3/jaxrsclient/about.html
+++ b/content/mappings/2.0.0-M3/jaxrsclient/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../minio/about.html" title="Minio Library">
   <link rel="prev" href="../outbox-publisher/about.html" title="Outbox Publisher">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -363,7 +369,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -403,5 +409,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/mappings/2.0.0-M3/minio/about.html b/content/mappings/2.0.0-M3/minio/about.html
index 0158639..b882a6b 100644
--- a/content/mappings/2.0.0-M3/minio/about.html
+++ b/content/mappings/2.0.0-M3/minio/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../restclient/about.html" title="REST Client">
   <link rel="prev" href="../jaxrsclient/about.html" title="JAX-RS Client Library">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -363,7 +369,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -403,5 +409,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/mappings/2.0.0-M3/outbox-publisher/about.html b/content/mappings/2.0.0-M3/outbox-publisher/about.html
index be4bb75..1ccb32e 100644
--- a/content/mappings/2.0.0-M3/outbox-publisher/about.html
+++ b/content/mappings/2.0.0-M3/outbox-publisher/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../jaxrsclient/about.html" title="JAX-RS Client Library">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -362,7 +368,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -402,5 +408,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/mappings/2.0.0-M3/restclient/about.html b/content/mappings/2.0.0-M3/restclient/about.html
index e4f7a2a..14a57de 100644
--- a/content/mappings/2.0.0-M3/restclient/about.html
+++ b/content/mappings/2.0.0-M3/restclient/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="../slack/about.html" title="Slack Library">
   <link rel="prev" href="../minio/about.html" title="Minio Library">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -363,7 +369,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -403,5 +409,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/mappings/2.0.0-M3/slack/about.html b/content/mappings/2.0.0-M3/slack/about.html
index 6b57cb2..37ef1c2 100644
--- a/content/mappings/2.0.0-M3/slack/about.html
+++ b/content/mappings/2.0.0-M3/slack/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="prev" href="../restclient/about.html" title="REST Client">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -362,7 +368,7 @@ TODO
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -402,5 +408,30 @@ TODO
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/about.html b/content/pjdo/2.0.0-M3/about.html
index 1068417..112bd2a 100644
--- a/content/pjdo/2.0.0-M3/about.html
+++ b/content/pjdo/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -373,7 +379,7 @@ The object store is implemented using <a href="http://datanucleus.org">DataNucle
 <p>This user guide discuss end-user features, configuration and customization of the JDO/DataNucleus object store.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -413,5 +419,30 @@ The object store is implemented using <a href="http://datanucleus.org">DataNucle
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/configuring.html b/content/pjdo/2.0.0-M3/configuring.html
index f3580ad..6c3b7d5 100644
--- a/content/pjdo/2.0.0-M3/configuring.html
+++ b/content/pjdo/2.0.0-M3/configuring.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="jdo-mappings.html" title="JDO Mappings">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -371,7 +377,7 @@ TODO: this content has not yet been reviewed/updated for v2.0
 <p>The <a href="../../refguide/2.0.0-M3/config/about.html" class="page">Configuration Guide</a> includes a <a href="../../refguide/2.0.0-M3/config/sections/isis.persistence.jdo-datanucleus.html" class="page">section</a> for JDO/Persistence object store, and another <a href="../../refguide/2.0.0-M3/config/sections/isis.persistence.jdo-datanucleus.impl.html" class="page">section</a> for configuration that is passed through to DataNucleus unchanged.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -411,5 +417,30 @@ TODO: this content has not yet been reviewed/updated for v2.0
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/configuring/bulk-load.html b/content/pjdo/2.0.0-M3/configuring/bulk-load.html
index ae231bb..4185813 100644
--- a/content/pjdo/2.0.0-M3/configuring/bulk-load.html
+++ b/content/pjdo/2.0.0-M3/configuring/bulk-load.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -405,7 +411,7 @@ Setting the property:</p>
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -445,5 +451,30 @@ Setting the property:</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/configuring/disabling-persistence-by-reachability.html b/content/pjdo/2.0.0-M3/configuring/disabling-persistence-by-reachability.html
index 2b7d6ce..9e0ef38 100644
--- a/content/pjdo/2.0.0-M3/configuring/disabling-persistence-by-reachability.html
+++ b/content/pjdo/2.0.0-M3/configuring/disabling-persistence-by-reachability.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -477,7 +483,7 @@ However, since the <code>Party</code> is not yet in-memory, using the <code>refe
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -517,5 +523,30 @@ However, since the <code>Party</code> is not yet in-memory, using the <code>refe
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/configuring/persistence-xml.html b/content/pjdo/2.0.0-M3/configuring/persistence-xml.html
index 82ca9a2..993b12a 100644
--- a/content/pjdo/2.0.0-M3/configuring/persistence-xml.html
+++ b/content/pjdo/2.0.0-M3/configuring/persistence-xml.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -396,7 +402,7 @@ However, with Apache Isis we tend to use annotations instead and externalize con
 <p>See <a href="http://www.datanucleus.org/products/datanucleus/jdo/persistence.html#persistenceunit">DataNucleus' documentation</a> on <code>persistence.xml</code> to learn more.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -436,5 +442,30 @@ However, with Apache Isis we tend to use annotations instead and externalize con
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/configuring/properties.html b/content/pjdo/2.0.0-M3/configuring/properties.html
index 8ea4da9..be8afaf 100644
--- a/content/pjdo/2.0.0-M3/configuring/properties.html
+++ b/content/pjdo/2.0.0-M3/configuring/properties.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -530,7 +536,7 @@ Further <a href="../configuring.html#disabling-persistence-by-reachability" clas
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -570,5 +576,30 @@ Further <a href="../configuring.html#disabling-persistence-by-reachability" clas
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/configuring/using-jndi-data-source.html b/content/pjdo/2.0.0-M3/configuring/using-jndi-data-source.html
index 0c697c3..fbe92b1 100644
--- a/content/pjdo/2.0.0-M3/configuring/using-jndi-data-source.html
+++ b/content/pjdo/2.0.0-M3/configuring/using-jndi-data-source.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -463,7 +469,7 @@ datanucleus.ConnectionPasswordDecrypter
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -503,5 +509,30 @@ datanucleus.ConnectionPasswordDecrypter
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/db-schemas.html b/content/pjdo/2.0.0-M3/db-schemas.html
index 077ae0d..0e6a8a0 100644
--- a/content/pjdo/2.0.0-M3/db-schemas.html
+++ b/content/pjdo/2.0.0-M3/db-schemas.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="hints-and-tips.html" title="Hints-n-Tips">
   <link rel="prev" href="jdo-mappings.html" title="JDO Mappings">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -450,7 +456,7 @@ TODO - v2 - reference flyway here also.
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -490,5 +496,30 @@ TODO - v2 - reference flyway here also.
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/hints-and-tips.html b/content/pjdo/2.0.0-M3/hints-and-tips.html
index c02b0c9..952f243 100644
--- a/content/pjdo/2.0.0-M3/hints-and-tips.html
+++ b/content/pjdo/2.0.0-M3/hints-and-tips.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="services/IsisJdoSupport.html" title="IsisJdoSupport">
   <link rel="prev" href="db-schemas.html" title="DB Schemas">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -838,7 +844,7 @@ ORDER BY this.timestamp ASC             <i class="conum" data-value="1"></i><b>(
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -878,5 +884,30 @@ ORDER BY this.timestamp ASC             <i class="conum" data-value="1"></i><b>(
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/hints-and-tips/diagnosing-n-plus-1.html b/content/pjdo/2.0.0-M3/hints-and-tips/diagnosing-n-plus-1.html
index 13c96b2..4b09545 100644
--- a/content/pjdo/2.0.0-M3/hints-and-tips/diagnosing-n-plus-1.html
+++ b/content/pjdo/2.0.0-M3/hints-and-tips/diagnosing-n-plus-1.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -371,7 +377,7 @@ In such a case, consider using fetch groups in the initial repository query to b
 See <a href="../hints-and-tips.html#typesafe-queries-and-fetchgroups" class="page">this hint/tip</a> for further details.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -411,5 +417,30 @@ See <a href="../hints-and-tips.html#typesafe-queries-and-fetchgroups" class="pag
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/hints-and-tips/java8.html b/content/pjdo/2.0.0-M3/hints-and-tips/java8.html
index 99bb27d..8030969 100644
--- a/content/pjdo/2.0.0-M3/hints-and-tips/java8.html
+++ b/content/pjdo/2.0.0-M3/hints-and-tips/java8.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -398,7 +404,7 @@ listing version compatibility of these extensions vis-a-vis the core DataNucleus
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -438,5 +444,30 @@ listing version compatibility of these extensions vis-a-vis the core DataNucleus
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/hints-and-tips/jdoql-and-timestamps.html b/content/pjdo/2.0.0-M3/hints-and-tips/jdoql-and-timestamps.html
index fd19864..61be11e 100644
--- a/content/pjdo/2.0.0-M3/hints-and-tips/jdoql-and-timestamps.html
+++ b/content/pjdo/2.0.0-M3/hints-and-tips/jdoql-and-timestamps.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -454,7 +460,7 @@ ORDER BY this.timestamp ASC             <i class="conum" data-value="1"></i><b>(
 <p>It wasn&#8217;t necessary to qualify the other occurances of "timestamp" (though it would be no harm to do so, either).</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -494,5 +500,30 @@ ORDER BY this.timestamp ASC             <i class="conum" data-value="1"></i><b>(
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/hints-and-tips/overriding-jdo-annotations.html b/content/pjdo/2.0.0-M3/hints-and-tips/overriding-jdo-annotations.html
index 36b0435..1488c39 100644
--- a/content/pjdo/2.0.0-M3/hints-and-tips/overriding-jdo-annotations.html
+++ b/content/pjdo/2.0.0-M3/hints-and-tips/overriding-jdo-annotations.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -444,7 +450,7 @@ This is done using the pass-thru <code>datanucleus.Mapping</code> configuration
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -484,5 +490,30 @@ This is done using the pass-thru <code>datanucleus.Mapping</code> configuration
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/hints-and-tips/subtype-entity-not-fully-populated.html b/content/pjdo/2.0.0-M3/hints-and-tips/subtype-entity-not-fully-populated.html
index 3574442..e5ec489 100644
--- a/content/pjdo/2.0.0-M3/hints-and-tips/subtype-entity-not-fully-populated.html
+++ b/content/pjdo/2.0.0-M3/hints-and-tips/subtype-entity-not-fully-populated.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -425,7 +431,7 @@ This is preferable to doing a left outer join from the super- to the subtype tab
 <p>In summary, there&#8217;s just one rule: <strong>always use the getters, never the fields</strong>.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -465,5 +471,30 @@ This is preferable to doing a left outer join from the super- to the subtype tab
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/hints-and-tips/typesafe-queries-and-fetchgroups.html b/content/pjdo/2.0.0-M3/hints-and-tips/typesafe-queries-and-fetchgroups.html
index 0f12545..31ff0ad 100644
--- a/content/pjdo/2.0.0-M3/hints-and-tips/typesafe-queries-and-fetchgroups.html
+++ b/content/pjdo/2.0.0-M3/hints-and-tips/typesafe-queries-and-fetchgroups.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -470,7 +476,7 @@ Putting this all together, we get:</p>
 </table>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -510,5 +516,30 @@ Putting this all together, we get:</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/jdo-mappings.html b/content/pjdo/2.0.0-M3/jdo-mappings.html
index ae0dd88..865b4c3 100644
--- a/content/pjdo/2.0.0-M3/jdo-mappings.html
+++ b/content/pjdo/2.0.0-M3/jdo-mappings.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="db-schemas.html" title="DB Schemas">
   <link rel="prev" href="configuring.html" title="Configuring">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -885,7 +891,7 @@ An <a href="https://github.com/estatio/estatio/blob/b77d0b03ec86463227ba90f83412
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -925,5 +931,30 @@ An <a href="https://github.com/estatio/estatio/blob/b77d0b03ec86463227ba90f83412
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/jdo-mappings/mandatory-properties-in-subtypes.html b/content/pjdo/2.0.0-M3/jdo-mappings/mandatory-properties-in-subtypes.html
index 13db596..416344b 100644
--- a/content/pjdo/2.0.0-M3/jdo-mappings/mandatory-properties-in-subtypes.html
+++ b/content/pjdo/2.0.0-M3/jdo-mappings/mandatory-properties-in-subtypes.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -406,7 +412,7 @@ public class SomeSubtype extends SomeSuperType {
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -446,5 +452,30 @@ public class SomeSubtype extends SomeSuperType {
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/jdo-mappings/mapping-to-a-view.html b/content/pjdo/2.0.0-M3/jdo-mappings/mapping-to-a-view.html
index 2f6a69e..6bef701 100644
--- a/content/pjdo/2.0.0-M3/jdo-mappings/mapping-to-a-view.html
+++ b/content/pjdo/2.0.0-M3/jdo-mappings/mapping-to-a-view.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -367,7 +373,7 @@ An <a href="https://github.com/estatio/estatio/blob/b77d0b03ec86463227ba90f83412
 <p>For more on this topic, see the <a href="http://www.datanucleus.org/products/datanucleus/jdo/mapping.html#schema_rdbms_views">DataNucleus documentation</a>.</p>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -407,5 +413,30 @@ An <a href="https://github.com/estatio/estatio/blob/b77d0b03ec86463227ba90f83412
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/jdo-mappings/one-to-m-bidirectional-relationships.html b/content/pjdo/2.0.0-M3/jdo-mappings/one-to-m-bidirectional-relationships.html
index e12c453..0c47df6 100644
--- a/content/pjdo/2.0.0-M3/jdo-mappings/one-to-m-bidirectional-relationships.html
+++ b/content/pjdo/2.0.0-M3/jdo-mappings/one-to-m-bidirectional-relationships.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -799,7 +805,7 @@ UPDATE "fvessel"."FermentationVessel"
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -839,5 +845,30 @@ UPDATE "fvessel"."FermentationVessel"
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/pjdo/2.0.0-M3/services/IsisJdoSupport.html b/content/pjdo/2.0.0-M3/services/IsisJdoSupport.html
index 3a37f1e..731ded8 100644
--- a/content/pjdo/2.0.0-M3/services/IsisJdoSupport.html
+++ b/content/pjdo/2.0.0-M3/services/IsisJdoSupport.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="prev" href="../hints-and-tips.html" title="Hints-n-Tips">
   </head>
@@ -30,6 +31,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -655,7 +661,7 @@ If you require more flexibility than this, eg for dynamically constructed querie
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -695,5 +701,30 @@ If you require more flexibility than this, eg for dynamically constructed querie
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/refguide/2.0.0-M3/about.html b/content/refguide/2.0.0-M3/about.html
index c5434c6..1007508 100644
--- a/content/refguide/2.0.0-M3/about.html
+++ b/content/refguide/2.0.0-M3/about.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../_/css/site.css">
     <link rel="stylesheet" href="../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -764,7 +770,7 @@ page.parent doesn't seem to be set...
 </ul>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -804,5 +810,30 @@ page.parent doesn't seem to be set...
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/refguide/2.0.0-M3/applib-ant/Action.html b/content/refguide/2.0.0-M3/applib-ant/Action.html
index 6047779..2a95586 100644
--- a/content/refguide/2.0.0-M3/applib-ant/Action.html
+++ b/content/refguide/2.0.0-M3/applib-ant/Action.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../_/css/site.css">
     <link rel="stylesheet" href="../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   <link rel="next" href="ActionLayout.html" title="ActionLayout">
   <link rel="prev" href="about.html" title="Annotations">
@@ -31,6 +32,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -2469,7 +2475,7 @@ Note though that the results of this caching will only be apparent if the action
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -2509,5 +2515,30 @@ Note though that the results of this caching will only be apparent if the action
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/refguide/2.0.0-M3/applib-ant/Action/associateWith.html b/content/refguide/2.0.0-M3/applib-ant/Action/associateWith.html
index feaf532..c75e1e4 100644
--- a/content/refguide/2.0.0-M3/applib-ant/Action/associateWith.html
+++ b/content/refguide/2.0.0-M3/applib-ant/Action/associateWith.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -860,7 +866,7 @@ public class Order {
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -900,5 +906,30 @@ public class Order {
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/refguide/2.0.0-M3/applib-ant/Action/command.html b/content/refguide/2.0.0-M3/applib-ant/Action/command.html
index 67150c2..f6fd335 100644
--- a/content/refguide/2.0.0-M3/applib-ant/Action/command.html
+++ b/content/refguide/2.0.0-M3/applib-ant/Action/command.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -1573,7 +1579,7 @@ The effect is to ignore it for replay purposes:</p>
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1613,5 +1619,30 @@ The effect is to ignore it for replay purposes:</p>
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/refguide/2.0.0-M3/applib-ant/Action/domainEvent.html b/content/refguide/2.0.0-M3/applib-ant/Action/domainEvent.html
index b808f06..a5f277d 100644
--- a/content/refguide/2.0.0-M3/applib-ant/Action/domainEvent.html
+++ b/content/refguide/2.0.0-M3/applib-ant/Action/domainEvent.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -1006,7 +1012,7 @@ However, events can be raised programmatically either by calling the <a href="..
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -1046,5 +1052,30 @@ However, events can be raised programmatically either by calling the <a href="..
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/refguide/2.0.0-M3/applib-ant/Action/hidden.html b/content/refguide/2.0.0-M3/applib-ant/Action/hidden.html
index b0d5893..daf86cc 100644
--- a/content/refguide/2.0.0-M3/applib-ant/Action/hidden.html
+++ b/content/refguide/2.0.0-M3/applib-ant/Action/hidden.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -817,7 +823,7 @@ Both options are provided with a view that in the future the view-layer semantic
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
 </aside>
@@ -857,5 +863,30 @@ Both options are provided with a view that in the future the view-layer semantic
         } );
     });
 </script>
+
+<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
+<script>
+  function focusSearchInput () { document.querySelector('#algolia-search-input').focus() }
+  var search = docsearch({
+    appId: '5ISP5TFAEN',
+    apiKey: '0fc51c28b4ad46e7318e96d4e97fab7c',
+    indexName: 'isis-apache-org',
+    inputSelector: '#algolia-search-input',
+    autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+    debug: false,
+  }).autocomplete
+  search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+  focusSearchInput()
+  window.addEventListener('load', focusSearchInput);
+</script>
+
+<!--
+  docsearch options:
+  https://docsearch.algolia.com/docs/behavior/
+-->
+<!--
+  https://www.algolia.com/doc/api-reference/api-parameters/
+  algoliaOptions: { hitsPerPage: 6 },
+-->
   </body>
 </html>
diff --git a/content/refguide/2.0.0-M3/applib-ant/Action/publishing.html b/content/refguide/2.0.0-M3/applib-ant/Action/publishing.html
index e680cca..0b4e50c 100644
--- a/content/refguide/2.0.0-M3/applib-ant/Action/publishing.html
+++ b/content/refguide/2.0.0-M3/applib-ant/Action/publishing.html
@@ -9,6 +9,7 @@
     <link rel="stylesheet" href="../../../../_/css/site.css">
     <link rel="stylesheet" href="../../../../_/css/site-custom.css">
     <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i|Raleway:300,400,500,700,800|Montserrat:300,400,700" rel="stylesheet">
+    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css"/>
 <link rel="home" href="https://isis.apache.org" title="Apache Isis">
   </head>
   <body class="article">
@@ -29,6 +30,11 @@
     </div>
     <div id="topbar-nav" class="navbar-menu">
       <a class="navbar-end">
+        <div class="navbar-item hide-for-print">
+          <span>
+            <input id="algolia-search-input" placeholder="Search"></span>
+          </span>
+        </div>
         <div class="navbar-item has-dropdown is-hoverable">
           <a class="navbar-link" href="#">Quick Start</a>
           <div class="navbar-dropdown">
@@ -821,7 +827,7 @@ The <a href="../../config/sections/isis.applib.html#isis.applib.annotation.actio
 </div>
 </div>
 </article>
-<aside class="article-aside toc" role="navigation">
+<aside class="article-aside toc hide-for-print" role="navigation">
     <p class="toc-title">On this page</p>
     <div id="article-toc"></div>
... 40863 lines suppressed ...