{"id":20273360,"url":"https://github.com/justusadam/mustache","last_synced_at":"2025-04-05T22:06:21.963Z","repository":{"id":1379140,"uuid":"41973443","full_name":"JustusAdam/mustache","owner":"JustusAdam","description":"Haskell implementation of mustache templates","archived":false,"fork":false,"pushed_at":"2023-07-21T15:18:27.000Z","size":253,"stargazers_count":98,"open_issues_count":12,"forks_count":33,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T20:09:55.499Z","etag":null,"topics":["haskell","mustache-templates","template-language"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JustusAdam.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,"governance":null}},"created_at":"2015-09-05T19:45:48.000Z","updated_at":"2024-11-04T23:42:07.000Z","dependencies_parsed_at":"2023-07-05T20:16:43.685Z","dependency_job_id":"d0c7ed7b-17ce-43da-81c7-474f38f8d985","html_url":"https://github.com/JustusAdam/mustache","commit_stats":{"total_commits":169,"total_committers":20,"mean_commits":8.45,"dds":0.1775147928994083,"last_synced_commit":"530c0f10188fdaead9688d56f728b87fabcb228b"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustusAdam%2Fmustache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustusAdam%2Fmustache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustusAdam%2Fmustache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JustusAdam%2Fmustache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JustusAdam","download_url":"https://codeload.github.com/JustusAdam/mustache/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247406087,"owners_count":20933803,"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":["haskell","mustache-templates","template-language"],"created_at":"2024-11-14T12:48:48.642Z","updated_at":"2025-04-05T22:06:21.927Z","avatar_url":"https://github.com/JustusAdam.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mustache [![Travis Status](https://travis-ci.org/JustusAdam/mustache.svg?branch=master)](https://travis-ci.org/JustusAdam/mustache) [![Hackage](https://img.shields.io/hackage/v/mustache.svg)](https://hackage.haskell.org/package/mustache) [![Join the chat at https://gitter.im/JustusAdam/mustache](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/JustusAdam/mustache?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nHaskell implementation of [mustache templates][mustache-homepage].\n\n[mustache-homepage]: https://mustache.github.io\n\nImplements the official [specs version 1.1.3](https://github.com/mustache/spec/releases/tag/v1.1.3)\n\n## Motivation\n\nThe old Haskell implementation of mustache templates [hastache][] seemed pretty abandoned to me. This implementation aims to be much easier to use and (fingers crossed) better maintained.\n\n[hastache]: https://hackage.haskell.org/package/hastache\n\nSince it is so easy to use and requires but a few files of code, I've also written a small executable that compiles and renders mustache templates with data input from json or yaml files.\n\n## Usage\n\n### Library\n\nPlease refer to the [documentation][] on hackage.\n\n[documentation]: https://hackage.haskell.org/package/mustache\n\n### Executable `haskell-mustache`\n\n    $ haskell-mustache --help\n    Simple mustache template substitution\n\n    arguments [OPTIONS] TEMPLATE [DATA-FILES]\n\n    Common flags:\n      -t --templatedirs[=DIRECTORY]  The directory in which to search for the\n                                     templates\n      -? --help                      Display help message\n      -V --version                   Print version information\n\nCurrent implementation substitutes the `TEMPLATE` once with each `DATA-FILE`\n\n#### Example\n\n    $ haskell-mustache my-template-file data-file-1.json data-file-2.json data-file-3.json\n\n## Roadmap\n\n- [x] String parser for mustache templates\n- [x] Template substitution\n- [x] Standalone executable\n- [x] Support for 'set delimiter'\n- [x] More efficiency using `Text` rather than `String`\n- [x] More efficient Text parsing\n- [x] Test coverage provided via the official [specs](https://github.com/mustache/spec)\n- [x] Haddock documentation\n- [ ] More instances for `ToMustache` typeclass\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustusadam%2Fmustache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjustusadam%2Fmustache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjustusadam%2Fmustache/lists"}