{"id":26142527,"url":"https://github.com/hiteshjasani/cljs-ezd3","last_synced_at":"2026-04-22T01:01:49.443Z","repository":{"id":62433983,"uuid":"132965533","full_name":"hiteshjasani/cljs-ezd3","owner":"hiteshjasani","description":"D3 and Reagent interop made easy","archived":false,"fork":false,"pushed_at":"2018-05-30T23:46:18.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-21T06:54:33.950Z","etag":null,"topics":["clojurescript","d3","library","reagent"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hiteshjasani.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-05-10T23:40:09.000Z","updated_at":"2018-05-31T12:27:00.000Z","dependencies_parsed_at":"2022-11-01T21:15:58.934Z","dependency_job_id":null,"html_url":"https://github.com/hiteshjasani/cljs-ezd3","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/hiteshjasani/cljs-ezd3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshjasani%2Fcljs-ezd3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshjasani%2Fcljs-ezd3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshjasani%2Fcljs-ezd3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshjasani%2Fcljs-ezd3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiteshjasani","download_url":"https://codeload.github.com/hiteshjasani/cljs-ezd3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiteshjasani%2Fcljs-ezd3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32116514,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"ssl_error","status_checked_at":"2026-04-22T00:30:22.894Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["clojurescript","d3","library","reagent"],"created_at":"2025-03-11T03:57:00.764Z","updated_at":"2026-04-22T01:01:49.427Z","avatar_url":"https://github.com/hiteshjasani.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ezd3\n\n[![Clojars Project](https://img.shields.io/clojars/v/org.jasani/ezd3.svg)](https://clojars.org/org.jasani/ezd3)\n\nA clojurescript library to provide an easy interface to D3.\n\nD3 is opinionated on how it wants to work with the DOM.  It will\ninterrogate the DOM finding elements that match selectors and\nadd/remove/modify them in place.\n\nReagent (and React) are opinionated as well.  They want you to modify\ndata structures which they flush one way to the DOM.  They don't query\nthe DOM so much as write to it.\n\nClassically it's been a challenge to get both of these tools to work\ntogether and that's what ezd3 is intended to solve.\n\n## Usage\n\nThis library lets you insert a D3 graph component into Reagent just\nlike any other component.  The only difference is that you must pass a\nfunction that will render the D3 graph.\n\n```clojure\n(defn d3-render [svg] ...)\n\n...\n  [:div\n    [:h1 \"My Great Graph\"]\n    [ezd3/d3svg {:width 200 :height 175 :on-render d3-render\n                 :style {:border \"1px solid #ddd\"}}]\n```\n\nIn this snippet, your d3-render code would be called when the d3svg\ncomponent is added to the DOM.  This means you can code in D3 just\nlike all the Javascript examples.  No more fighting to get D3 and\nReact to play well together.  It just works.\n\nSee the `examples/` directory for actual code.\n\n## License\n\nCopyright © 2018 Hitesh Jasani\n\nDistributed under the BSD-2 Clause \"Simplified\" License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiteshjasani%2Fcljs-ezd3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiteshjasani%2Fcljs-ezd3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiteshjasani%2Fcljs-ezd3/lists"}