{"id":32195623,"url":"https://github.com/tailrecursion/boot-heredoc","last_synced_at":"2026-03-16T20:32:35.542Z","repository":{"id":62434804,"uuid":"42413357","full_name":"tailrecursion/boot-heredoc","owner":"tailrecursion","description":"Parse files and replace string blocks with a Clojure string.","archived":false,"fork":false,"pushed_at":"2015-09-27T20:38:24.000Z","size":156,"stargazers_count":5,"open_issues_count":3,"forks_count":0,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-07-06T14:49:33.057Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","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/tailrecursion.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2015-09-13T21:19:03.000Z","updated_at":"2019-02-06T06:23:40.000Z","dependencies_parsed_at":"2022-11-01T21:02:16.395Z","dependency_job_id":null,"html_url":"https://github.com/tailrecursion/boot-heredoc","commit_stats":null,"previous_names":["tailrecursion/boot-multiline-str"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/tailrecursion/boot-heredoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailrecursion%2Fboot-heredoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailrecursion%2Fboot-heredoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailrecursion%2Fboot-heredoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailrecursion%2Fboot-heredoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tailrecursion","download_url":"https://codeload.github.com/tailrecursion/boot-heredoc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailrecursion%2Fboot-heredoc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280365625,"owners_count":26318388,"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-22T02:00:06.515Z","response_time":63,"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":"2025-10-22T02:17:40.567Z","updated_at":"2025-10-22T02:17:48.896Z","avatar_url":"https://github.com/tailrecursion.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# boot-heredoc\n\n[](dependency)\n```clojure\n[tailrecursion/boot-heredoc \"0.1.1\"] ;; latest release\n```\n[](/dependency)\n\n[Boot] task for adding multiline strings literals to Clojure\n\n## Example\n```clojure\n(def lorem-ipsum\n  ;;{{\n  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam eget\n  eleifend metus. Curabitur vitae vestibulum ligula, vel pulvinar nisl. Sed\n  cursus ipsum id enim rutrum iaculis. Mauris non ullamcorper sem. In porttitor\n  mi ut massa molestie, eu pharetra turpis aliquet. Ut fermentum varius tortor,\n  sit amet maximus mi. Praesent et orci orci. Nullam auctor nisi eget sagittis\n  pharetra. Sed ullamcorper mauris sit amet metus pulvinar, et pretium elit\n  tincidunt.\n  ;;}}\n  )\n\n;; becomes...\n\n(def lorem-ipsum \"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam eget\\neleifend metus. Curabitur vitae vestibulum ligula, vel pulvinar nisl. Sed\\ncursus ipsum id enim rutrum iaculis. Mauris non ullamcorper sem. In porttitor\\nmi ut massa molestie, eu pharetra turpis aliquet. Ut fermentum varius tortor,\\nsit amet maximus mi. Praesent et orci orci. Nullam auctor nisi eget sagittis\\npharetra. Sed ullamcorper mauris sit amet metus pulvinar, et pretium elit\\ntincidunt.\")\n```\n## Usage\n\nAdd `boot-heredoc` to your `build.boot` dependencies and `require` the namespace.\n\n\u003e **Note:** the boot-heredoc dependency is only needed at when compiling\n\u003e source files. So you should add boot-heredoc with the _test_ scope.\n\n```clj\n(merge-env!\n  :dependencies '[[tailrecursion/boot-heredoc \"X.Y.Z\" :scope \"test\"]])\n(require '[boot.heredoc :refer [heredoc]])\n```\n\nBy default the multiline string literals starts with `;;{{` and ends with `;;}}` and\nit replaces those blocks on `.hl` files. Those are customizable using options.\n\nYou can see the options available on the command line:\n\n```bash\nboot heredoc -h\n```\n\nor in the REPL:\n\n```clj\nboot.user=\u003e (doc heredoc)\n```\n\n## License\n\nCopyright © 2015 Marcelo Nomoto\n\nDistributed under the Eclipse Public License either version 1.0 or (at\nyour option) any later version.\n\n[Boot]:                https://github.com/boot-clj/boot\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailrecursion%2Fboot-heredoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftailrecursion%2Fboot-heredoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailrecursion%2Fboot-heredoc/lists"}