{"id":29671342,"url":"https://github.com/linkorb/stamp","last_synced_at":"2025-07-22T20:07:37.140Z","repository":{"id":37545977,"uuid":"119518254","full_name":"linkorb/stamp","owner":"linkorb","description":"Stamp generate files by applying data to templates.","archived":false,"fork":false,"pushed_at":"2024-11-06T20:22:11.000Z","size":166,"stargazers_count":3,"open_issues_count":3,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-29T11:01:25.459Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linkorb.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}},"created_at":"2018-01-30T10:07:39.000Z","updated_at":"2019-11-25T13:09:59.000Z","dependencies_parsed_at":"2022-08-18T02:55:33.437Z","dependency_job_id":null,"html_url":"https://github.com/linkorb/stamp","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/linkorb/stamp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Fstamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Fstamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Fstamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Fstamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linkorb","download_url":"https://codeload.github.com/linkorb/stamp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Fstamp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266143625,"owners_count":23883054,"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":[],"created_at":"2025-07-22T20:07:36.603Z","updated_at":"2025-07-22T20:07:37.127Z","avatar_url":"https://github.com/linkorb.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Stamp\n\nStamp generate files by applying data to templates.\n\n## Use-cases:\n\n* Generate common repository files like README.md, LICENSE, .gitignore, etc (by combining stamp with [metaculous](https://github.com/linkorb/metaculous))\n* Static site generator\n* Documentation generator\n\n## Installation\n\n    composer require linkorb/stamp --dev\n\n## Usage\n\n    vendor/bin/stamp --help\n\n## How does it work?\n\nWhen you run `stamp generate`, Stamp will look for it's configuration in a file called `stamp.yaml` in the current directory. You can also pass a specify config file using `-c`.\n\nStamp will then loop through the `templates` defined in the config file, and use the template files defined by the `src` key, and generate the file defined by the `dest` key.\n\nBy specifying an `items` key, one template may be applied multiple times, resulting in multiple output files.\n\nBy specifying a `variables` key, the variables at the template level will get merged with the project level variables before being passed to the template, allowing you to override/add variables at the template level. \n\n## stamp.yml example:\n\nHere's a simple example `stamp.yml` file:\n\n```yml\nvariables:\n  title: Hello world\n  license: mit\n\ntemplates:\n  - src: stamp/README.md.twig\n    dest: README.md\n    variables:\n      title: Hello world README file\n\n  - src: https://raw.githubusercontent.com/IQAndreas/markdown-licenses/master/{{ license }}.md\n    dest: LICENSE\n  \n  - src: https://raw.githubusercontent.com/gitlabhq/gitlabhq/master/CONTRIBUTING.md\n    dest: CONTRIBUTING.md\n```\n\nSimply type `stamp generate` (or `vendor/bin/stamp generate`) in the root of your project, and the listed files will be (re)generated based on their templates.\n\nUsing URLs as templates allow you to manage your templates in one location (a git repository), making it easy to update your projects based on updated templates.\n\nStamp supports multiple template languages/engines, which will be used based on the template file (src) file extension:\n\n* `.twig`: Use the [Twig](https://twig.symfony.com/) template language\n* `.hbs`, `.handlebars`: Use the [Handlebars](https://handlebarsjs.com/) template language (powered by [LightnCandy](https://github.com/zordius/lightncandy))\n* `.mustache`: Use the [Mustache](https://mustache.github.io/) template language (powered by [LightnCandy](https://github.com/zordius/lightncandy))\n\n## Variables and functions\n\nStamp is using the [LinkORB Loader](https://github.com/linkorb/loader) library for loading the stamp.yaml file.\n\nIt therefor supports all features related to variables, includes and functions that the loader does.\n\n## Development / debugging:\n\nThe `examples/` directory contains an example configuration (`stamp.yaml`) and template files.\n\n## License\n\nMIT. Please refer to the [license file](LICENSE) for details.\n\n## Brought to you by the LinkORB Engineering team\n\n\u003cimg src=\"http://www.linkorb.com/d/meta/tier1/images/linkorbengineering-logo.png\" width=\"200px\" /\u003e\u003cbr /\u003e\nCheck out our other projects at [linkorb.com/engineering](http://www.linkorb.com/engineering).\n\nBtw, we're hiring!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkorb%2Fstamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkorb%2Fstamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkorb%2Fstamp/lists"}