Git Product home page Git Product logo

gatsby-plugin-algolia-docsearch-appid's Introduction

gatsby-plugin-algolia-docsearch

Easily add Algolia DocSearch to your Gatsby site.

Inspired by the code at https://github.com/gatsbyjs/gatsby/tree/master/packages/gatsby-plugin-google-tagmanager

Install

npm install --save gatsby-plugin-algolia-docsearch

How to use

// In your gatsby-config.js
plugins: [
  {
    resolve: `gatsby-plugin-algolia-docsearch`,
    options: {
      apiKey: "ALGOLIA_DOCUSEARCH_API_KEY", // required
      indexName: "ALGOLIA_DOCUSEARCH_INDEX_NAME", // required
      inputSelector: "ALGOLIA_DOCUSEARCH_INPUT_SELCTOR", // required
      appId: "ALGOLIA_DOCUSEARCH_APP_ID", // optional
      debug: false, // (bool) Optional. Default `false`
      loadCss: true // (bool) Optional. Default `true`
      deferJs: false // (bool) Optional. Default `false`
    }
  }
];

The fields apiKey, indexName and inputSelector must be set. This plugin has been configured not to throw when one of these is missing, rather, it will simply do nothing. If you are running your own custom implementation of DocSearch, you'll also need to provide your appId.

By default, this plugin loads the DocSearch CSS from a CDN. However you can stop it from doing that by setting loadCss to false. This is useful if you are using your own custom CSS and want to use your own workflow.

In addition, you can set deferJs to true which adds the defer attribute to the script tag that loads the CDN hosted DocSearch js file. This may be useful if you find that the script is holding up rendering of your site.

Now all that you need to do it add an input type element anywhere on the page with a selector that matches the inputSelector field in your options object to enjoy Algolia DocSearch in your Gatsby project!

Element Check

This plugin uses the MutationObserver API to watch for changes to your DOM tree and then call the docsearch function once at least once instance of the element is found in the tree.

It's a pretty neat API with support for all browsers including IE11. (<= IE10 won't be able to use this plugin however)

A small amount of overhead may occur on initial load due to this function watching the DOM tree however, once the element is found successfully the observer is destroyed.

gatsby-plugin-algolia-docsearch-appid's People

Contributors

jimmycann avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.