{"id":13715751,"url":"https://github.com/replicatedhq/hugo-algolia","last_synced_at":"2026-03-04T20:33:05.187Z","repository":{"id":45546700,"uuid":"97770242","full_name":"replicatedhq/hugo-algolia","owner":"replicatedhq","description":"Enables search with Algolia in Hugo static sites","archived":false,"fork":false,"pushed_at":"2024-08-21T00:36:06.000Z","size":62,"stargazers_count":48,"open_issues_count":16,"forks_count":11,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-14T12:40:53.742Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/replicatedhq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-07-19T23:36:42.000Z","updated_at":"2024-11-24T21:00:38.000Z","dependencies_parsed_at":"2024-01-09T19:01:10.894Z","dependency_job_id":"b2e0cb3c-aed8-476b-8033-62290d377204","html_url":"https://github.com/replicatedhq/hugo-algolia","commit_stats":{"total_commits":36,"total_committers":6,"mean_commits":6.0,"dds":0.2222222222222222,"last_synced_commit":"b20d9a4e423acf75358b95663d1317f6448bc51c"},"previous_names":["10dimensional/hugo-algolia"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/replicatedhq/hugo-algolia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fhugo-algolia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fhugo-algolia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fhugo-algolia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fhugo-algolia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/replicatedhq","download_url":"https://codeload.github.com/replicatedhq/hugo-algolia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/replicatedhq%2Fhugo-algolia/sbom","scorecard":{"id":112485,"data":{"date":"2025-08-04","repo":{"name":"github.com/replicatedhq/hugo-algolia","commit":"b20d9a4e423acf75358b95663d1317f6448bc51c"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":1.9,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Code-Review","score":3,"reason":"Found 7/23 approved changesets -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 14 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"15 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-9vvw-cc9w-f27h","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-2pr6-76vf-7546","Warn: Project is vulnerable to: GHSA-8j8c-7jfh-h6hx","Warn: Project is vulnerable to: GHSA-fvqr-27wr-82fm","Warn: Project is vulnerable to: GHSA-4xc9-xhrj-v574","Warn: Project is vulnerable to: GHSA-x5rq-j2xg-h7qm","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-qxg5-2qff-p49r"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-15T12:46:05.218Z","repository_id":45546700,"created_at":"2025-08-15T12:46:05.218Z","updated_at":"2025-08-15T12:46:05.218Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30091779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T19:41:02.502Z","status":"ssl_error","status_checked_at":"2026-03-04T19:40:05.550Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T00:01:03.058Z","updated_at":"2026-03-04T20:33:04.243Z","avatar_url":"https://github.com/replicatedhq.png","language":"JavaScript","funding_links":[],"categories":["Full stack"],"sub_categories":["Algolia site search [↗](https://awesomestacks.dev/algolia-site-search)"],"readme":"# hugo-algolia\n**Generate and send indices from Hugo static sites for use with Algolia.**\n\nAn alternative to the [Docsearch](https://community.algolia.com/docsearch/) plugin, allowing for manual index exports. Supports YAML, JSON, and TOML front matter.\n\n### Installation\n\nInstall `hugo-algolia` from [npm](https://npmjs.org)\n\n```\nnpm install hugo-algolia\n```\n\nOr\n\n```\nyarn add hugo-algolia\n```\n\n### How does it work?\n`hugo-algolia` looks into the `/content` folder of your site by default and places a JSON file with the export into the `/public` folder, but if you'd like to use custom inputs and outputs just pass an `-i` or `-o` followed by your path via command line.\n\n#### Example\nIn your package.json file:\n\n```\n//Default\nscripts: {\n    \"index\": \"hugo-algolia\"\n}\n```\n\nor\n\n```\nscripts: {\n    \"index\": \"hugo-algolia -i \\\"content/subdir/**\\\" -o public/my-index.json\"\n}\n```\n\n### Sending to Algolia\nYou can send your index to Algolia by including your API key, app ID, and index name in your config.yaml, which you can find in your Algolia account dashboard. Then, pass an `-s` flag to your `hugo-algolia` command.\n\n```\n---\nbaseURL: \"/\"\nlanguageCode: \"en-us\"\ntitle: \"Your site name\"\ntheme: \"your-theme\"\ndescription: \"A cool site!\"\n\nalgolia:\n  index: \"index-name\"\n  key: \"[your API key]\"\n  appID: \"[your app id]\"\n---\n```\n\nthen \n\n```\nscripts: {\n    \"index-and-send\": \"hugo-algolia -s\"\n}\n```\n\n**If you don't want to set your write key in your `config.yaml`, you can also use environment variables. Just set a variable `ALGOLIA_WRITE_KEY` to the write key for your account, and the module will use that instead.**\n\n### What if I don't want to index a specific file?\nThat's cool! Just set the `index` param in your file's front matter to `false` and `hugo-algolia` will skip it during the indexing process. Content with `draft: true` will also be ignored.\n\n### Options\nThere are a few flags you can use to customize your indices:\n\n* `-m` - Create multiple indices based on the default `index` param in the front matter of each markdown file, or another specified param. \n\t```\n    hugo-algolia -m \"[optional-custom-param]\"\n\t```\n* `-p` - Partially index files using only specified params.\n\t```\n    hugo-algolia -p \"[param], [param], [param]\"\n\t```\n* `-all` - By default, `hugo-algolia` skips content that doesn't have an `index` param, or whichever param you specify in your command. If you'd like to index those files, use this flag.\n\n* `--config` - Pass in a custom config file.\n    ```\n    hugo-algolia --config ./mysweetconfig.yaml\n\t```\n\n##### You can also combine any of the above commands, including the one's mentioned outside of this section:\n```\nhugo-algolia -m \"categories\" -p \"title, uri, categories\" -all \n```\n\nThis command would create multiple indices depending on the category of each `.md` file, but only inlcude the `title`, `uri`, and `categories` information in the output file.\n\n#### A note about TOML\nThe `gray-matter` package used in this module does not support TOML front matter out of the box. If you're using TOML in your front matter, just use the `toml` flag in your command.\n\n```\nhugo-algolia --toml\n```\n\n#### A note about duplicated index entries and objectIDs\n\nAlgolia assigns each entry in the index an objectID. It uses this attribute as primary key for an entry. If you want to update an entry, you must send the objectID for the entry you want to update. To prevent duplicated content, this package uses the page's URI as objectID. This way, you can generate the index as many times as you want and Algolia will only index content that has changed. If you want to override an objectID for an entry, you can especify it in the frontmatter.\n\n# License\nThis project is based on the lunr plugin from https://github.com/dgrigg/hugo-lunr, but adapted for use with the Algolia search engine. It is under the ISC License. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freplicatedhq%2Fhugo-algolia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freplicatedhq%2Fhugo-algolia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freplicatedhq%2Fhugo-algolia/lists"}