Search

pkgdown websites can integrate search capability using DocSearch from Algolia. DocSearch is a powerful search engine that is free for documentation websites. There are only two steps needed to enable DocSearch on a pkgdown website.

Indexing

Once you have published your pkgdown website, submit the pkgdown site URL to Docsearch. Docsearch will contact you via e-mail to confirm you are the website owner.

Docsearch will set up a crawler configuration that indexes your site every 24 hours. pkgdown builds a suggested Docsearch crawler configuration in docsearch.json and you should point the Docsearch team to this configuration as a starting point. If you want to optimize your search, Docsearch will accept pull requests to the configuration that incorporate additional options to fine tune the scraping.

Configuration

The Docsearch team will e-mail you some JavaScript to integrate into your website.

<script type="text/javascript">
  docsearch({ 
    apiKey: 'API_KEY',  // a long hex string
    indexName: 'INDEX_NAME', 
    inputSelector: '### REPLACE ME ####', 
    debug: false // Set debug to true if you want to inspect the dropdown 
}); 

Put the value of the apiKey and indexName parameters into your site _pkgdown.yml under template: params:

template:
  params:
    docsearch:
      api_key: API_KEY
      index_name: INDEX_NAME

You also need to add a url: field to _pkgdown.yml that specifies the location of your documentation on the web. For pkgdown, the URL field is:

url: https://pkgdown.r-lib.org

If you are building your own custom Docsearch index, you can also include your Docsearch app_id in _pkgdown.yml.

See the pkgdown configuration for a functional search configuration.

Once this configuration is complete, you should find a search bar after re-building your site. After search is enabled, pressing shift + / (i.e., “?”) will move the focus to the search bar.