{"id":20122203,"url":"https://github.com/danielrolls/specup","last_synced_at":"2026-02-19T15:03:25.337Z","repository":{"id":218276341,"uuid":"745915619","full_name":"danielrolls/specup","owner":"danielrolls","description":"Generate markup from yaml from a simple comand line tool","archived":false,"fork":false,"pushed_at":"2025-04-13T20:00:56.000Z","size":32,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T14:01:42.500Z","etag":null,"topics":["markup","mustache","templating","yaml"],"latest_commit_sha":null,"homepage":"","language":"Haskell","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/danielrolls.png","metadata":{"files":{"readme":"README.adoc","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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-01-20T14:38:41.000Z","updated_at":"2025-04-13T20:00:57.000Z","dependencies_parsed_at":"2025-05-06T16:43:45.163Z","dependency_job_id":"7eb66b51-048c-4e5f-985b-d2ac4e2d54be","html_url":"https://github.com/danielrolls/specup","commit_stats":null,"previous_names":["danielrolls/specup"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/danielrolls/specup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielrolls%2Fspecup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielrolls%2Fspecup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielrolls%2Fspecup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielrolls%2Fspecup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielrolls","download_url":"https://codeload.github.com/danielrolls/specup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielrolls%2Fspecup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29619165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"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":["markup","mustache","templating","yaml"],"created_at":"2024-11-13T19:35:37.727Z","updated_at":"2026-02-19T15:03:25.322Z","avatar_url":"https://github.com/danielrolls.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":":source-highlighter: highlight.js\n= SpecUp\n\nThis tool can be used to generate a markup file from your own arbitrary yaml file. Just provide the yaml and a template (in mustache format) and the tool outputs the result of applying the template to yaml. This can be quicker and easier than starting a project in your favourite language and easier to maintain.\n\nExpect the interface to move around a bit.\n\nTo try the tool out, install https://nixos.org/download[Nix] and run\n```\nnix run nixpkgs#specup -- --help\n```\n\n== An example\nImagine you need to publish a list of animals. Rather than pick a format and muck about reformatting just put them into yaml and then write a template. For example, put this into `animal.yaml`:\n[,yaml]\n----\n- animal: Dog\n  class: mammal\n- animal: Crocodile\n  class: reptile\n----\n\nand this into `template.m` to list them in, say, markdown:\n```\n{{# . }}\n# {{{ animal }}}\n\nAnimal class: {{{ class }}}\n\n{{/ . }}\n```\n\nTo apply the template to the yaml file run\n```\nspecup -s animal.yaml -t template.m\n```\n\nNow you can add to the yaml and modify or add templates independently. If you want to modify the yaml just use https://github.com/mikefarah/yq[yq].\n\nAs said above, you can do the same by writing all this in code but usually we don't because it's not worth the time to set up. Also, for small projects it's better not to have to maintain a codebase with library dependencies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielrolls%2Fspecup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielrolls%2Fspecup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielrolls%2Fspecup/lists"}