## 1. Project Overview & Quickstart (algolia/configuration-reference)

# configuration-reference

Open-source repository algolia/configuration-reference

### Repository Details
- **Repository:** [algolia/configuration-reference](https://github.com/algolia/configuration-reference)
- **Primary Language:** Code

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (algolia/algolia.github.io)

## File: README.md

# Algolia Community website

This is the source code of https://community.algolia.com/. The deployment to this live website is automated
when changes are pushed to the `source` branch.

## Local setup

## Requirements

To run this project, you will need:

- Node.js >= 9.80, via nvm - [install instructions](https://github.com/creationix/nvm#install-script)
- Yarn >= 1.5.1 - [install instructions ("Alternatives" tab)](https://yarnpkg.com/en/docs/install): curl -o- -L https://yarnpkg.com/install.sh

Pro tip: Remove any brew installed/globall system installed Node.js and Yarn, just use nvm and Alternatives installation, they works perfectly.

Then:

```sh
nvm install
nvm use
```

## Dev

To develop on this project, do:

```shell
yarn
yarn dev
```

## Deploy

The deploy steps are directly handled by Gulp.js in the gulpfile.

```shell
yarn build
yarn deploy
```

## Updating the underlying index

The current `appId` storing the data is `latency` (accessible for writes by Algolia employees).
If you want to update the data, first test it on a **new index**: modify `algolia-projects.json` and run:

```sh
appId= adminApiKey= yarn update-index
```

Once you are sure this is the right config, then run the same command using `latency` credentials.

_You may encounter issues while running `yarn deploy`, you can fix it by following this [GH thread](https://github.com/shinnn/gulp-gh-pages/issues/116#issuecomment-364959382)_

---

## File: config.json

{
  "algolia": {
    "index": "community.algolia.com",
    "settings": {
      "minWordSizefor1Typo": 4,
      "minWordSizefor2Typos": 8,
      "hitsPerPage": 20,
      "maxValuesPerFacet": 100,
      "numericAttributesToIndex": null,
      "attributesToRetrieve": null,
      "allowTyposOnNumericTokens": false,
      "ignorePlurals": true,
      "advancedSyntax": false,
      "removeStopWords": false,
      "replaceSynonymsInHighlight": false,
      "distinct": false,
      "unretrievableAttributes": null,
      "optionalWords":
       [],
      "attributesForFaceting": ["category"],
      "attributesToSnippet": null,
      "attributesToHighlight": null,
      "attributeForDistinct": null,
      "synonyms":
       [],
      "ranking":
       [ "typo",
         "geo",
         "words",
         "filters",
         "proximity",
         "attribute",
         "exact",
         "custom" ],
      "customRanking": ["asc(categoryRanking)", "asc(ranking)"],
      "searchableAttributes": ["name", "description", "category"],
      "separatorsToIndex": "+-%/",
      "removeWordsIfNoResults": "none",
      "queryType": "prefixAll",
      "highlightPreTag": "",
      "highlightPostTag": "",
      "snippetEllipsisText": "",
      "typoTolerance": "true"
    }
  }
}

---

## File: package.json

{
  "private": true,
  "license": "MIT",
  "scripts": {
    "build": "gulp build:prod && node createManifest.js && node removeHash.js && npm run svgmin && npm run svgstore",
    "dev": "gulp dev",
    "svgmin": "rm -f src/img/projects/projects-defs.svg && svgo -f src/img/projects/ --pretty",
    "svgstore": "svgstore -o src/img/projects/projects-defs.svg src/img/projects/*.svg",
    "lint": "eslint .",
    "deploy": "gulp deploy",
    "update-index": "gulp export:algolia-index && gulp export:algolia-settings"
  },
  "dependencies": {
    "algoliasearch": "3.35.1",
    "async": "2.6.3",
    "@babel/eslint-parser": "7.29.9",
    "babel-loader": "8.4.1",
    "critical": "1.3.10",
    "del": "3.0.0",
    "eslint": "4.19.1",
    "eslint-config-algolia": "13.4.0",
    "eslint-config-prettier": "2.10.0",
    "eslint-plugin-import": "2.32.0",
    "eslint-plugin-prettier": "2.7.0",
    "fragments.css": "1.0.49-alpha",
    "gh-pages": "1.2.0",
    "glob": "7.2.3",
    "gulp": "3.9.1",
    "gulp-autoprefixer": "5.0.0",
    "gulp-critical-css": "1.0.1",
    "gulp-filter": "5.1.0",
    "gulp-haml": "1.0.1",
    "gulp-imagemin": "4.1.0",
    "gulp-livereload": "3.8.1",
    "gulp-minify-css": "1.2.4",
    "gulp-notify": "3.2.0",
    "gulp-rename": "1.4.0",
    "gulp-rev": "8.1.1",
    "gulp-rev-rewrite": "1.1.4",
    "gulp-sass": "4.1.1",
    "gulp-uglify-es": "1.0.4",
    "gulp-util": "3.0.8",
    "gulp-webserver": "0.9.1",
    "html-escape": "2.0.0",
    "image-size": "0.9.7",
    "imagemin-pngquant": "5.1.0",
    "instantsearch.js": "2.10.5",
    "lodash": "4.18.1",
    "prettier": "1.19.1",
    "run-sequence": "2.2.1",
    "svgmin": "0.1.0",
    "svgo": "1.3.2",
    "svgstore-cli": "1.3.2",
    "sw-toolbox": "3.6.0",
    "webpack": "4.47.0",
    "webpack-stream": "4.0.3"
  },
  "engines": {
    "node": "^9.8.0",
    "yarn": "^1.7.0"
  }
}

---

## File: renovate.json

{
  "extends": [
    "config:application",
    "schedule:weekends"
  ],
  "semanticCommits": true,
  "rebaseStalePrs": true,
  "automerge": true,
  "major": {
    "automerge": false
  },
  "automergeType": "branch-push"
}

---

## File: scss-lint.yml

# Default application configuration that all configurations inherit from.
# Documentation: https://github.com/causes/scss-lint/blob/master/lib/scss_lint/linter/README.md
exclude: 'scss/vendors/*'
exclude: 'scss/_base.scss'
exclude: 'scss/_fonts.scss'
exclude: 'scss/_app.scss'
exclude: 'scss/_normalise.scss'
exclude: 'scss/_variables.scss'

linters:
  BorderZero:
    enabled: true

  CapitalizationInSelector:
    enabled: true

  ColorVariable:
    enabled: false

  PropertySortOrder:
    order: concentric

  DeclarationOrder:
    enabled: true

  DuplicateProperty:
    enabled: true

  EmptyLineBetweenBlocks:
    enabled: true

  EmptyRule:
    enabled: true

  MergeableSelector:
    force_nesting: true

---

## File: src/algolia-projects.json

[
  {
    "name": "InstantSearch.js",
    "category": "InstantSearch",
    "description": "Library of UI widgets to build an instant-search experience.",
    "url_home": "https://www.algolia.com/doc/guides/building-search-ui/getting-started/js/",
    "url_github": "https://github.com/algolia/instantsearch.js",
    "icon": "instantsearch",
    "ranking": 1,
    "categoryRanking": 1
  },
  {
    "name": "Angular InstantSearch",
    "category": "InstantSearch",
    "description": "Lightning-fast search for Angular",
    "url_home": "https://www.algolia.com/doc/guides/building-search-ui/getting-started/angular/",
    "url_github": "https://github.com/algolia/angular-instantsearch",
    "icon": "instantsearch-angular",
    "ranking": 4,
    "categoryRanking": 1
  },
  {
    "name": "React InstantSearch",
    "category": "InstantSearch",
    "description": "Lightning-fast search for React and React Native apps",
    "url_home": "https://www.algolia.com/doc/guides/building-search-ui/getting-started/react/",
    "url_github": "https://github.com/algolia/react-instantsearch",
    "icon": "instantsearch-react",
    "ranking": 2,
    "categoryRanking": 1
  },
  {
    "name": "Vue InstantSearch",
    "category": "InstantSearch",
    "description": "The ultimate Vue.js toolbox for creating instant search experiences",
    "url_home": "https://www.algolia.com/doc/guides/building-search-ui/getting-started/vue/",
    "url_github": "https://github.com/algolia/vue-instantsearch",
    "icon": "instantsearch-vue",
    "ranking": 3,
    "categoryRanking": 1
  },
  {
    "name": "Android InstantSearch",
    "category": "Native InstantSearch",
    "description": "Lightning-fast search for Android applications",
    "url_home": "https://www.algolia.com/doc/guides/building-search-ui/getting-started/android/",
    "url_github": "https://github.com/algolia/instantsearch-android",
    "icon": "android",
    "ranking": 1400,
    "categoryRanking": 2
  },
  {
    "name": "iOS InstantSearch",
    "category": "Native InstantSearch",
    "description": "Lightning-fast search for iOS applications",
    "url_home": "https://www.algolia.com/doc/guides/building-search-ui/getting-started/ios/",
    "url_github": "https://github.com/algolia/instantsearch-ios",
    "icon": "ios",
    "ranking": 1400,
    "categoryRanking": 2
  },
  {
    "name": "autocomplete.js",
    "category": "Libraries",
    "description": "Display as-you-type search results with a dropdown.",
    "url_home": "",
    "url_github": "https://github.com/algolia/autocomplete.js",
    "icon": "autocomplete",
    "ranking": 1,
    "categoryRanking": 3
  },
  {
    "name": "helper.js",
    "category": "Libraries",
    "description": "A set of utilities for further customizing search behavior",
    "url_home": "https://community.algolia.com/algoliasearch-helper-js/",
    "url_github": "https://github.com/algolia/algoliasearch-helper-js/",
    "icon": "helper.js",
    "ranking": 3,
    "categoryRanking": 3
  },
  {
    "name": "WordPress",
    "category": "Extensions",
    "description": "Surface your site's best content with lighting-fast, beautiful search",
    "url_home": "https://www.algolia.com/doc/integration/wordpress/getting-started/quick-start/",
    "url_github": null,
    "icon": "wordpress",
    "ranking": 2,
    "categoryRanking": 4
  },
  {
    "name": "Magento",
    "category": "Extensions",
    "description": "Deliver fast and relevant search results with the Algolia extension for Magento.",
    "url_home": "https://community.algolia.com/magento/",
    "url_github": "https://github.com/algolia/magento",
    "icon": "magento",
    "ranking": 3,
    "categoryRanking": 4
  },
  {
    "name": "Zendesk",
    "category": "Extensions",
    "description": "Level up your Zendesk Help Center with an awesome search experience.",
    "url_home": "https://community.algolia.com/zendesk/",
    "url_github": "https://github.com/algolia/zendesk",
    "icon": "zendesk",
    "ranking": 4,
    "categoryRanking": 4
  },
  {
    "name": "Jekyll",
    "category": "Extensions",
    "description": "Add fast and relevant search to your Jekyll site",
    "url_home": "https://community.algolia.com/jekyll-algolia/",
    "url_github": "https://github.com/algolia/jekyll-algolia",
    "icon": "jekyll",
    "ranking": 5,
    "categoryRanking": 4
  },
  {
    "name": "Shopify",
    "category": "Extensions",
    "description": "Give your customers the search they deserve with Algolia's Shopify integration",
    "url_home": "https://community.algolia.com/shopify/",
    "url_github": null,
    "icon": "shopify",
    "ranking": 3,
    "categoryRanking": 4
  },
  {
    "name": "Ruby on Rails",
    "category": "Frameworks",
    "description": "Ruby on Rails integration for Algolia",
    "url_home": "https://www.algolia.com/doc/api-client/rails/setup/",
    "url_github": "https://github.com/algolia/algoliasearch-rails",
    "icon": "ror",
    "ranking": 1,
    "categoryRanking": 5
  },
  {
    "name": "Laravel",
    "category": "Frameworks",
    "description": "Laravel integration for Algolia",
    "url_home": "https://www.algolia.com/doc/api-client/laravel/install/",
    "url_github": "https://github.com/algolia/algoliasearch-laravel",
    "icon": "laravel",
    "ranking": 2,
    "categoryRanking": 5
  },
  {
    "name": "Symfony",
    "category": "Frameworks",
    "description": "Symfony integration for Algolia",
    "url_home": "https://www.algolia.com/doc/framework-integration/symfony/getting-started/",
    "url_github": "https://github.com/algolia/AlgoliaSearchBundle",
    "icon": "symfony",
    "ranking": 3,
    "categoryRanking": 5
  },
  {
    "name": "Django",
    "category": "Frameworks",
    "description": "Django integration for Algolia",
    "url_home": "https://www.algolia.com/doc/api-client/django/setup/",
    "url_github": "https://github.com/algolia/algoliasearch-django",
    "icon": "django",
    "ranking": 4,
    "categoryRanking": 5
  },
  {
    "name": "Ruby",
    "category": "API Clients",
    "description": "Algolia Search API client for Ruby",
    "url_home": "https://www.algolia.com/doc/api-client/ruby/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-ruby",
    "icon": "ruby",
    "ranking": 4,
    "categoryRanking": 6
  },
  {
    "name": "Scala",
    "category": "API Clients",
    "description": "Algolia Search API client for Scala",
    "url_home": "https://www.algolia.com/doc/api-client/scala/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-scala",
    "icon": "scala",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "GO",
    "category": "API Clients",
    "description": "Algolia Search API client for Go",
    "url_home": "https://www.algolia.com/doc/api-client/go/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-go",
    "icon": "go",
    "ranking": 3,
    "categoryRanking": 6
  },
  {
    "name": "Python",
    "category": "API Clients",
    "description": "Algolia Search API client for Python",
    "url_home": "https://www.algolia.com/doc/api-client/python/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-python",
    "icon": "python",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "Node.js",
    "category": "API Clients",
    "description": "Algolia Search API client for Node.js",
    "url_home": "https://www.algolia.com/doc/api-client/javascript/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-javascript",
    "icon": "node",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "Command line",
    "category": "API Clients",
    "description": "Algolia Search API client for the command line",
    "url_home": "",
    "url_github": "https://github.com/algolia/algoliasearch-client-cmd",
    "icon": "cli",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "Java",
    "category": "API Clients",
    "description": "Algolia Search API client for Java",
    "url_home": "https://www.algolia.com/doc/api-client/java/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-java",
    "icon": "java",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "Android",
    "category": "API Clients",
    "description": "Algolia Search API client for Android",
    "url_home": "https://www.algolia.com/doc/api-client/android/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-android",
    "icon": "android",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "Swift",
    "category": "API Clients",
    "description": "Algolia Search API client for Swift",
    "url_home": "https://www.algolia.com/doc/api-client/swift/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-swift",
    "icon": "swift",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "C#",
    "category": "API Clients",
    "description": "Algolia Search API client for C#",
    "url_home": "https://www.algolia.com/doc/api-client/csharp/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-csharp",
    "icon": "csharp",
    "ranking": 1000,
    "categoryRanking": 6
  },
  {
    "name": "PHP",
    "category": "API Clients",
    "description": "Algolia Search API client for PHP",
    "url_home": "https://www.algolia.com/doc/api-client/php/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-php",
    "icon": "php",
    "ranking": 1,
    "categoryRanking": 6
  },
  {
    "name": "Kotlin",
    "category": "API Clients",
    "description": "Algolia Search API Client for Kotlin",
    "url_home": "https://www.algolia.com/doc/api-client/getting-started/install/kotlin/",
    "url_github": "https://github.com/algolia/algoliasearch-client-kotlin",
    "icon": "kotlin",
    "ranking": 2,
    "categoryRanking": 6
  },
  {
    "name": "JavaScript",
    "category": "API Clients",
    "description": "Algolia Search API client for JavaScript",
    "url_home": "https://www.algolia.com/doc/api-client/javascript/getting-started/",
    "url_github": "https://github.com/algolia/algoliasearch-client-javascript",
    "icon": "javascript",
    "ranking": 3,
    "categoryRanking": 6
  },
  {
    "name": "Supersearch",
    "category": "Showcase",
    "description": "Search for the videos of Super Bowl commercials, dating back decades.",
    "url_home": "https://community.algolia.com/supersearch/",
    "url_github": "https://github.com/algolia/supersearch",
    "icon": "superbowlsearch",
    "ranking": 1000,
    "categoryRanking": 7
  },
  {
    "name": "Searchstone",
    "category": "Showcase",
    "description": "Hearthstone players rejoice, this visually pleasing card search is yours.",
    "url_home": "http://searchstone.io/",
    "url_github": "https://github.com/shipow/searchstone",
    "icon": "searchstone",
    "ranking": 4,
    "categoryRanking": 7
  },
  {
    "name": "Marvel Search",
    "category": "Showcase",
    "description": "Search for characters in the Marvel Universe",
    "url_home": "https://community.algolia.com/marvel-search/",
    "url_github": "https://github.com/algolia/marvel-search",
    "icon": "marvel",
    "ranking": 1000,
    "categoryRanking": 7
  },
  {
    "name": "Hacker News",
    "category": "Showcase",
    "description": "Search all posts on HackerNews, sorted by votes or date.",
    "url_home": "https://hn.algolia.com/",
    "url_github": "https://github.com/algolia/hn-search",
    "icon": "hackernews",
    "ranking": 5,
    "categoryRanking": 7
  },
  {
    "name": "Yarn",
    "category": "Showcase",
    "description": "Search all packages in the npm and Yarn registry.",
    "url_home": "https://yarnpkg.com/",
    "url_github": "https://github.com/yarnpkg/website",
    "icon": "yarn",
    "ranking": 1,
    "categoryRanking": 7
  },
  {
    "name": "Public API Search",
    "category": "Showcase",
    "description": "Look for public APIs and find what you need in milliseconds 🔍✨",
    "url_home": "https://www.api-search.io/",
    "url_github": "https://github.com/clemfromspace/api-search",
    "icon": "public-api-search",
    "ranking": 2,
    "categoryRanking": 7
  },
  {
    "name": "GDPR Search",
    "category": "Showcase",
    "description": "Official text of GDPR–General Data Protection Regulation–made searchable by Algolia.",
    "url_home": "http://gdpr.algolia.com/",
    "url_github": "https://github.com/clemfromspace/api-search",
    "icon": "gdpr-algolia",
    "ranking": 3,
    "categoryRanking": 7
  },
  {
    "name": "Atom npm search",
    "category": "Tools",
    "description": "Search & install NPM packages from import/require statements powered by Algolia.",
    "url_home": "",
    "url_github": "https://github.com/algolia/atom-autocomplete-module-import",
    "icon": "atom",
    "ranking": 4,
    "categoryRanking": 8
  },
  {
    "name": "Awesome Autocomplete for GitHub",
    "category": "Tools",
    "description": "A browser extension that makes it easier to search on GitHub.",
    "url_home": "https://github.algolia.com/",
    "url_github": "https://github.com/algolia/github-awesome-autocomplete",
    "icon": "autocomplete",
    "ranking": 3,
    "categoryRanking": 8
  },
  {
    "name": "Search Grader",
    "category": "Tools",
    "description": "Size up your search with this step-by-step questionnaire",
    "url_home": "https://grader.algolia.com/",
    "url_github": null,
    "icon": "grader",
    "ranking": 2,
    "categoryRanking": 8
  },
  {
    "name": "DocSearch",
    "category": "Tools",
    "description": "Search for technical documentation. Free for open source.",
    "url_home": "https://docsearch.algolia.com/",
    "url_github": "https://github.com/algolia/docsearch",
    "icon": "docsearch",
    "ranking": 1,
    "categoryRanking": 8
  },
  {
    "name": "Searchbox",
    "category": "Tools",
    "description": "A point-and-click design tool for a search box that matches your site",
    "url_home": "http://shipow.github.io/searchbox/",
    "url_github": "https://github.com/Shipow/searchbox",
    "icon": "searchbox",
    "ranking": 1000,
    "categoryRanking": 8
  },
  {
    "name": "Represent",
    "category": "Misc",
    "description": "Show your support with an Algolia t-shirt and stickers.",
    "url_home": "https://docs.google.com/a/algolia.com/forms/d/e/1FAIpQLScFHcqkzw8QoS-XkU1zZ4eOg77K2t88qIXrqOC-828ahyiCnQ/viewform",
    "url_github": null,
    "icon": "represent",
    "ranking": 1000,
    "categoryRanking": 9
  },
  {
    "name": "Netlify",
    "category": "Extensions",
    "description": "Automatically index your website to Algolia when deploying your project to Netlify",
    "url_home": "https://github.com/algolia/algoliasearch-netlify",
    "url_github": "https://github.com/algolia/algoliasearch-netlify",
    "icon": "netlify",
    "ranking": 6,
    "categoryRanking": 4
  }
]

---

## File: src/robots.txt

User-agent: *
Disallow: /instantsearch.js/v1/*

---

## File: src/img/icons/manifest.json

{
 "name": "App",
 "icons": [
  {
   "src": "\/android-icon-36x36.png",
   "sizes": "36x36",
   "type": "image\/png",
   "density": "0.75"
  },
  {
   "src": "\/android-icon-48x48.png",
   "sizes": "48x48",
   "type": "image\/png",
   "density": "1.0"
  },
  {
   "src": "\/android-icon-72x72.png",
   "sizes": "72x72",
   "type": "image\/png",
   "density": "1.5"
  },
  {
   "src": "\/android-icon-96x96.png",
   "sizes": "96x96",
   "type": "image\/png",
   "density": "2.0"
  },
  {
   "src": "\/android-icon-144x144.png",
   "sizes": "144x144",
   "type": "image\/png",
   "density": "3.0"
  },
  {
   "src": "\/android-icon-192x192.png",
   "sizes": "192x192",
   "type": "image\/png",
   "density": "4.0"
  }
 ]
}