{"id":18250205,"url":"https://github.com/fabricate-site/fabricate","last_synced_at":"2026-04-13T23:05:47.575Z","repository":{"id":37476540,"uuid":"367724772","full_name":"fabricate-site/fabricate","owner":"fabricate-site","description":"Flexible static website generation with Clojure","archived":false,"fork":false,"pushed_at":"2025-04-03T14:34:56.000Z","size":781,"stargazers_count":57,"open_issues_count":7,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-03T15:37:46.292Z","etag":null,"topics":["clojure","static-site-generator"],"latest_commit_sha":null,"homepage":"https://fabricate.site","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabricate-site.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":"2021-05-15T20:33:36.000Z","updated_at":"2025-04-03T14:35:02.000Z","dependencies_parsed_at":"2024-01-20T15:31:21.565Z","dependency_job_id":"67639ec4-34b1-48e6-9eff-e6e4f2bb4955","html_url":"https://github.com/fabricate-site/fabricate","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricate-site%2Ffabricate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricate-site%2Ffabricate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricate-site%2Ffabricate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabricate-site%2Ffabricate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabricate-site","download_url":"https://codeload.github.com/fabricate-site/fabricate/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247209298,"owners_count":20901745,"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":["clojure","static-site-generator"],"created_at":"2024-11-05T09:42:42.776Z","updated_at":"2026-04-13T23:05:47.519Z","avatar_url":"https://github.com/fabricate-site.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fabricate\n**Form by art and labor**\n\n## Introduction \nFabricate is a Clojure library for making static websites, using Clojure.\n\nFabricate gives you something many other tools don't: the power to evaluate Clojure code to generate the contents of a page. The “using Clojure” part of that first sentence contains the core idea: Fabricate is built on the idea that you should be able to use Clojure to generate as much (or little) of your website as is necessary.\n\nPlease see [fabricate.site](https://fabricate.site) for more documentation.\n## Core API\n\nFabricate also gives you an API that can generate a website using 3 core functions.\n\n```clojure\n(require '[site.fabricate.api :as api])\n\n(-\u003e\u003e {}  \n    (api/plan! [])\n    (api/assemble  [])\n    (api/construct! [])\n```\n\nThis API, while straightforward enough to quickly get started with, does not constrain what you can do with Fabricate. You can extend Fabricate to new markup formats or other methods of generating pages. If you use Clerk for some things and markdown for others, Fabricate can flexibly accommodate all of them with a unified API.\n\nIt does this by defining 3 multimethods, each one corresponding to each of the 3 functions above:\n1. sources (`api/collect`)\n2. building documents from sources (`api/build`)\n3. generating pages from documents (`api/produce!`)\n\nThe [API documentation](https://fabricate.site/reference/namespaces/site.fabricate.api.html) provides a more detailed description of how these all fit together.\n\n## Sources\nFabricate includes functions to generate page data from two sources:\n- Templates containing Clojure expressions\n- Clojure files\n\nMarkdown support is planned, as is greater compatibility with the emerging [kindly](https://github.com/scicloj/kindly) protocol for flexible display of Clojure values.\n\n## Status\n\nFabricate's core API – `site.fabricate.api` is now stable. Any namespace containing the `prototype` prefix should be considered subject to change. Namespaces will be \"promoted\" from prototype to stable as I refine them.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabricate-site%2Ffabricate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabricate-site%2Ffabricate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabricate-site%2Ffabricate/lists"}