{"id":20821010,"url":"https://github.com/hubgit/extract","last_synced_at":"2025-10-07T08:28:11.148Z","repository":{"id":13885528,"uuid":"16583685","full_name":"hubgit/extract","owner":"hubgit","description":"Extract data from HTML using a JSON template","archived":false,"fork":false,"pushed_at":"2014-02-27T20:04:12.000Z","size":148,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"gh-pages","last_synced_at":"2025-09-09T01:24:14.669Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://git.macropus.org/extract/extract.js","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/hubgit.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":"2014-02-06T15:37:11.000Z","updated_at":"2024-04-28T16:55:22.000Z","dependencies_parsed_at":"2022-08-24T07:20:59.805Z","dependency_job_id":null,"html_url":"https://github.com/hubgit/extract","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hubgit/extract","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubgit%2Fextract","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubgit%2Fextract/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubgit%2Fextract/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubgit%2Fextract/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hubgit","download_url":"https://codeload.github.com/hubgit/extract/tar.gz/refs/heads/gh-pages","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hubgit%2Fextract/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278742604,"owners_count":26037855,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-11-17T22:10:59.467Z","updated_at":"2025-10-07T08:28:11.097Z","avatar_url":"https://github.com/hubgit.png","language":"JavaScript","readme":"# About\n\nExtract is a template language that lets you declaratively transform HTML nodes into\nJavascript objects using JSON markup and CSS selectors. The idea is to write\nsome JSON markup that looks like the object that you want to end up with, and then\nadd selectors to tell Extract where the data should come from.\n\n# Usage\n\n**Turn:**\n\n\t\u003cdiv id=\"test\"\u003e\n\t\t\u003cdiv class=\"example\" id=\"example-1\"\u003e\n\t\t\t\u003ch2\u003eHello\u003c/h2\u003e\n\t\t\u003c/div\u003e\n\t\t\u003cdiv class=\"example\" id=\"example-2\"\u003e\n\t\t\t\u003ch2\u003eGoodbye\u003c/h2\u003e\n\t\t\u003c/div\u003e\n\t\u003c/div\u003e\n\n**into:**\n\n\t[\n\t\t{ id: \"1\", message: \"Hello\" },\n\t\t{ id: \"3\", message: \"Goodbye\" }\n\t]\n\n**using:**\n\n\tvar template = [ '.example', { id: '@id', message: 'h2' } ];\n\tvar node = document.getElementById('test');\n\tvar result = Extract.parse(template, node);\n\t\n# Demonstration\n\n[Demo](http://git.macropus.org/extract/demo/)\n\n# History\n\nDerived from [Jath](https://github.com/dnewcome/jath)\n\n# License\n\n[MIT license](http://git.macropus.org/mit-license/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubgit%2Fextract","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhubgit%2Fextract","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhubgit%2Fextract/lists"}