{"id":16099013,"url":"https://github.com/hellerve/exemplar","last_synced_at":"2026-01-28T19:36:06.507Z","repository":{"id":79626256,"uuid":"52882172","full_name":"hellerve/exemplar","owner":"hellerve","description":"An exemplar port for zepto","archived":false,"fork":false,"pushed_at":"2016-09-01T14:41:13.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-03T22:56:51.066Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hellerve.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2016-03-01T14:19:21.000Z","updated_at":"2023-09-08T17:07:39.000Z","dependencies_parsed_at":"2023-03-08T00:00:29.596Z","dependency_job_id":null,"html_url":"https://github.com/hellerve/exemplar","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/hellerve/exemplar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellerve%2Fexemplar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellerve%2Fexemplar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellerve%2Fexemplar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellerve%2Fexemplar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hellerve","download_url":"https://codeload.github.com/hellerve/exemplar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellerve%2Fexemplar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28850395,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"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-10-09T18:25:25.417Z","updated_at":"2026-01-28T19:36:06.493Z","avatar_url":"https://github.com/hellerve.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# exemplar\n\nThis is a port of the [exemplar](https://github.com/lfex/exemplar) library\nto zepto. It is more or less direct, but overcomes one or two of its'\nawkwardnesses (and introduces another, yay).\n\n# Usage\n\nThe port is compatible enough with the original version to look familiar.\n\n````clojure\n(load \"exemplar/exemplar\")\n\n(++ (doctype) (html (-head) (body (p \"i am some text\"))))\n; =\u003e \u003c!DOCTYPE html\u003e\\n\u003chtml\u003e\u003chead /\u003e\u003cbody\u003e\u003cp\u003ei am some text\u003c/p\u003e\u003c/body\u003e\u003c/html\u003e\n(link #{\"href\" \"https://google.com\"})\n; =\u003e \u003clink href=\"https://google.com\"\u003e\n```\n\nTo people who know exemplar, there should be a few things that are new:\n1. Multiple child elements need not be wrapped in a list.\n2. The attributes on the other hand are presented in the form of a hash map.\n3. Elements that provoke nameclashes (namely: `head` and `map`) are prefixed with a hyphen.\n\nThis makes the code a bit easier to look at overall (or so I believe).\n\nAs in exemplar, one can also define one's own elements:\n\n```clojure\n(defelem fancy-custom-element)\n(fancy-custom-element (p \"i am inside a fancy elem\"))\n; =\u003e \u003cfancy-custom-element\u003e\u003cp\u003ei am inside a fancy elem\u003c/p\u003e\u003c/fancy-custom-element\u003e\n```\n\nTo avoid nameclashes, one can also do a `render-as`-style call to `defelem`:\n\n```clojure\n(defelem fancy-custom-element \"fce\")\n(fancy-custom-element (p \"i am inside a fancy elem\"))\n; =\u003e \u003cfce\u003e\u003cp\u003ei am inside a fancy elem\u003c/p\u003e\u003c/fce\u003e\n```\n\nThis is the reason why `-map` renders to `\u003cmap\u003e`.\n\n\u003chr/\u003e\n\nHave fun!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellerve%2Fexemplar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhellerve%2Fexemplar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellerve%2Fexemplar/lists"}