{"id":13680396,"url":"https://github.com/Shipow/searchstone","last_synced_at":"2025-04-29T23:31:29.589Z","repository":{"id":8261919,"uuid":"57442841","full_name":"Shipow/searchstone","owner":"Shipow","description":":black_joker: Hearthstone's cards search engine built with algolia instantsearch.","archived":false,"fork":false,"pushed_at":"2022-12-03T03:17:23.000Z","size":39765,"stargazers_count":128,"open_issues_count":15,"forks_count":25,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T05:21:08.607Z","etag":null,"topics":["algolia","algolia-instantsearch","card","game","hearthstone"],"latest_commit_sha":null,"homepage":"http://searchstone.io","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/Shipow.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}},"created_at":"2016-04-30T13:24:43.000Z","updated_at":"2025-02-03T22:12:59.000Z","dependencies_parsed_at":"2023-01-11T20:10:51.898Z","dependency_job_id":null,"html_url":"https://github.com/Shipow/searchstone","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shipow%2Fsearchstone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shipow%2Fsearchstone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shipow%2Fsearchstone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shipow%2Fsearchstone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shipow","download_url":"https://codeload.github.com/Shipow/searchstone/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251600086,"owners_count":21615637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["algolia","algolia-instantsearch","card","game","hearthstone"],"created_at":"2024-08-02T13:01:16.653Z","updated_at":"2025-04-29T23:31:24.568Z","avatar_url":"https://github.com/Shipow.png","language":"JavaScript","funding_links":[],"categories":["Hearthstone Datamining","JavaScript"],"sub_categories":[],"readme":"# [Searchstone.io](http://searchstone.io)\n\n![Searchstone](https://cdn-images-1.medium.com/max/2000/1*TDiE4_ANWjtekDNZmisj-g.png)\n\n[Searchstone.io](http://searchstone.io) is an open source search engine for the Hearthstone card playing video game.\nIt relies on [Algolia](https://community.algolia.com/?utm_medium=link\u0026utm_source=github\u0026utm_campaign=searchstone) API for the search and [instantsearch.js](https://community.algolia.com/instantsearch.js/?utm_medium=link\u0026utm_source=githubm\u0026utm_campaign=searchstone) for the UI.\n\nRead the project story on Medium:\n[A painstakingly crafted search for Hearthstone](https://medium.com/@Kevin_Granger/a-painstakingly-crafted-search-for-hearthstone-c21b3fa4223c)\n\nIf you want to be involved in that project there are many ways to participate. You could obviously open issues or submit some PR on this github repo and we initiated the discussion on the [Show \u0026 Tell section of Algolia's community forum](https://discourse.algolia.com/t/searchstone-io-search-for-hearthstone-updated/2902/5).\nYou can also find us participating to the [Hearthsim community](https://hearthsim.info/) on Discord.\n\n## Features\n- Search as-you-type experience\n- Full-text search in name, description and attributes\n- Smart Highlighting\n- Multi-language support\n- Typo tolerance\n- List and grid views\n- Refinement on every attributes (Set, Race, Type, Mana, Class, Mechanics, Attack, Health)\n- Golden animations cards\n- Responsive design + Retina support\n- Top decks\n- Search by Artist\n- Speed ⚡\n- PWA (in progress)\n\n## Development\n\n### Run the website\n```shell\n$\u003e yarn install\n$\u003e yarn dev\n```\n\n### Build for production (deployed by Netlify)\n\n```shell\n$\u003e yarn build\n```\n\n### Extension Release Update\n\n#### Config API keys\n\n- edit 'config.json', add your Algolia and Cloudinary credentials (App ID/ API key).\n\n#### Extract pics\n\n- First, update your game to latest version.\n- The following commands will install dependencies in a virtual environment:\n  ```shell\n  $\u003e python3 -m venv myenv\n  $\u003e source myenv/bin/activate\n  $\u003e pip install --upgrade pip setuptools wheel\n  $\u003e pip install unitypack decrunch\n  $\u003e pip install lz4 hearthstone unitypack pillow\n  ```\n- Now, download and run HearthSim's extract script:\n  ```shell\n  $\u003e git clone https://github.com/HearthSim/HearthstoneJSON.git\n  $\u003e cd HearthstoneJSON\n  // adapt with your game directory\n  $\u003e python ./generate_card_textures.py --outdir=textures/ /Applications/Hearthstone/Data/OSX/{rad_base,card,premiummaterials,shared}*.unity3d --skip-existing\n  $\u003e deactivate\n  ```\n- copy only the .jpg images from HearthstoneJSON/textures/512px/ to your searchstone/import/art/ folder\n- run script to upload files to Cloudinary\n  ```shell\n  $\u003e gulp cloudinary:art\n  ```\n\n### Script update\n  - look at potential changes on https://hearthstonejson.com/\n  - edit import/import.js\n  - update variables set (ie. \"ICECROWN\": \"Frozen Throne\"), setID (ie. \"ICECROWN\": 11), map (ie. \"OVERLOAD\": \"Overload\"), configure condition for set.format regarding the current year for standard.\n\n#### Update records in Algolia Index\n\n- Select the latest version here https://api.hearthstonejson.com/v1/\n- Download card collectible in 'all' languages (ie. https://api.hearthstonejson.com/v1/20970/all/cards.collectible.json)\n- Put the file in import/in\n- Run import.js script:\n  ```shell\n  $\u003e node import\n  ```\n- upload import/out/algolia-hearthstone.json to Algolia\n  ```shell\n  $\u003e gulp algolia:index\n  ```\n\n### Algolia instantSearch.js configuration\n- edit src/js/algolia-instantsearch-conf.js\n- update set (ie: ICECROWN), setFull (ie. ICECROWN : \"Frozen Throne\")\n\n### UI\n- add set icons to the sketch file and export setIcons.svg\n- add set class definition to hits.scss and refinements.scss\n\n### Extra: Animated Golden Cards, Top Decks and Hearthpwn links\n- update card list from Hearthpwn ```$\u003enode import-hearthpwn-cards.js```\n- merge data by running again ```$\u003e node import.js```\n- update deck list from Hearthpwn ```$\u003enode import-hearthpwn-decks.js```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FShipow%2Fsearchstone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FShipow%2Fsearchstone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FShipow%2Fsearchstone/lists"}