{"id":20551394,"url":"https://github.com/generate/generate-snippet","last_synced_at":"2025-04-14T11:20:41.385Z","repository":{"id":57246194,"uuid":"64571914","full_name":"generate/generate-snippet","owner":"generate","description":"Generate a file or code snippet from any user-defined template.","archived":false,"fork":false,"pushed_at":"2016-08-20T00:00:15.000Z","size":18,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T02:49:49.871Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/generate.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":"2016-07-31T01:47:06.000Z","updated_at":"2022-04-29T00:08:08.000Z","dependencies_parsed_at":"2022-08-24T16:31:39.681Z","dependency_job_id":null,"html_url":"https://github.com/generate/generate-snippet","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/generate%2Fgenerate-snippet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generate%2Fgenerate-snippet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generate%2Fgenerate-snippet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generate%2Fgenerate-snippet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/generate","download_url":"https://codeload.github.com/generate/generate-snippet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248868767,"owners_count":21174758,"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":"2024-11-16T02:30:21.962Z","updated_at":"2025-04-14T11:20:41.363Z","avatar_url":"https://github.com/generate.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\n\u003ca href=\"https://github.com/generate/generate\"\u003e\n\u003cimg height=\"150\" width=\"150\" src=\"https://raw.githubusercontent.com/generate/generate/master/docs/logo.png\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\nGenerate a file or code snippet from any user-defined template.\n\n# generate-snippet\n\n[![NPM version](https://img.shields.io/npm/v/generate-snippet.svg?style=flat)](https://www.npmjs.com/package/generate-snippet) [![NPM downloads](https://img.shields.io/npm/dm/generate-snippet.svg?style=flat)](https://npmjs.org/package/generate-snippet) [![Build Status](https://img.shields.io/travis/generate/generate-snippet.svg?style=flat)](https://travis-ci.org/generate/generate-snippet)\n\n![generate-snippet demo](https://raw.githubusercontent.com/generate/generate-snippet/master/docs/demo.gif)\n\n## Quickstart\n\n**Install**\n\nInstall [generate](https://github.com/generate/generate) and `generate-snippet`:\n\n```sh\n$ npm install --global generate generate-snippet\n```\n\n**Generate a snippet**\n\nInitiate a prompt to generate any arbitrary snippet from the `~/templates` directory (in user home on your system):\n\n```sh\n$ gen snippet\n```\n\n## Data\n\nAny `.json` files in `~/templates/data` will be automatically loaded onto the context.\n\n### Data conventions\n\nThe basename of each `.json` file will be used as the root property for the object contained in the JSON file. For example, if `button.json` has the following contents:\n\n```json\n{\n  \"text\": \"Click me!\"\n}\n```\n\nIt will be loaded onto the context as:\n\n```js\n{\n  button: {\n    text: 'Click me!'\n  }\n}\n```\n\n### data.json\n\nIf `data.json` is used, its contents will be loaded onto the \"root\" of the context. For example:\n\n```json\n{\n  \"text\": \"Click me!\"\n}\n```\n\nWill be loaded onto the context as:\n\n```js\n{\n  text: 'Click me!'\n}\n```\n\n## What is \"Generate\"?\n\nGenerate is a command line tool and developer framework for scaffolding out new GitHub projects using [generators](https://github.com/generate/generate/blob/master/docs/generators.md) and [tasks](https://github.com/generate/generate/blob/master/docs/tasks.md).\n\nAnswers to prompts and the user's environment can be used to determine the templates, directories, files and contents to build. Support for [gulp](http://gulpjs.com), [base](https://github.com/node-base/base) and [assemble](https://github.com/assemble/assemble) plugins, and much more.\n\n**For more information**:\n\n* Visit the [generate project](https://github.com/generate/generate/)\n* Visit the [generate documentation](https://github.com/generate/generate/blob/master/docs/)\n* Find [generators on npm](https://www.npmjs.com/browse/keyword/generate-generator) (help us [author generators](https://github.com/generate/generate/blob/master/docs/micro-generators.md))\n\n## Getting started\n\n### Install\n\n**Installing the CLI**\n\nTo run the `snippet` generator from the command line, you'll need to install [Generate](https://github.com/generate/generate) globally first. You can do that now with the following command:\n\n```sh\n$ npm install --global generate\n```\n\nThis adds the `gen` command to your system path, allowing it to be run from any directory.\n\n**Install generate-snippet**\n\nInstall this module with the following command:\n\n```sh\n$ npm install --global generate-snippet\n```\n\n### Usage\n\nRun this generator's `default` [task](https://github.com/generate/generate/blob/master/docs/tasks.md#default) with the following command:\n\n```sh\n$ gen snippet\n```\n\n**What you should see in the terminal**\n\nIf completed successfully, you should see both `starting` and `finished` events in the terminal, like the following:\n\n```sh\n[00:44:21] starting ...\n...\n[00:44:22] finished ✔\n```\n\nIf you do not see one or both of those events, please [let us know about it](../../issues).\n\n### Help\n\nTo see a general help menu and available commands for Generate's CLI, run:\n\n```sh\n$ gen help\n```\n\n## Tasks\n\nAll available tasks.\n\n### [snippet](generator.js#L66)\n\nPrompts you to choose a snippet from `~/snippets/templates` to generate to the current working directory or specified `--dest`. You can optionally store default data to use for rendering templates in `~/snippets/data`, where the name of each `.json` file matches the name of a snippet. General data can be stored in `~/snippets/data/data.json`.\n\n**Example**\n\n```sh\n$ gen snippet\n```\n\nVisit Generate's [documentation for tasks](https://github.com/generate/generate/blob/master/docs/tasks.md).\n\n## Next steps\n\n### Running unit tests\n\nIt's never too early to begin running unit tests. When you're ready to get started, the following command will ensure the project's dependencies are installed then run all of the unit tests:\n\n```sh\n$ npm install \u0026\u0026 test\n```\n\n### Publishing your generator\n\nIf you're tests are passing and you're ready to publish your generator to [npm](https://www.npmjs.com), you can do that now with the following command:\n\n**Are you sure you're ready?!**\n\nLet's go!\n\n```sh\n$ npm publish\n```\n\n## About\n\n### Related projects\n\n* [generate-gitignore](https://www.npmjs.com/package/generate-gitignore): Generate a .gitignore file from the command line when Generate's CLI is installed globally, or… [more](https://github.com/generate/generate-gitignore) | [homepage](https://github.com/generate/generate-gitignore \"Generate a .gitignore file from the command line when Generate's CLI is installed globally, or use as a plugin or sub-generator in your own generator to make it a continuous part of the build workflow when scaffolding out a new project.\")\n* [generate-license](https://www.npmjs.com/package/generate-license): Generate a license file for a GitHub project. | [homepage](https://github.com/generate/generate-license \"Generate a license file for a GitHub project.\")\n* [generate-project](https://www.npmjs.com/package/generate-project): Scaffold out complete code projects from the command line, or use this generator as a… [more](https://github.com/generate/generate-project) | [homepage](https://github.com/generate/generate-project \"Scaffold out complete code projects from the command line, or use this generator as a plugin in other generators to provide baseline functionality.\")\n\n### Community\n\nAre you using [Generate](https://github.com/generate/generate) in your project? Have you published a [generator](https://github.com/generate/generate/blob/master/docs/generators.md) and want to share your project with the world?\n\nHere are some suggestions!\n\n* If you get like Generate and want to tweet about it, please feel free to mention `@generatejs` or use the `#generatejs` hashtag\n* Show your love by starring [Generate](https://github.com/generate/generate) and `generate-snippet`\n* Get implementation help on [StackOverflow](http://stackoverflow.com/questions/tagged/generate) (please use the `generatejs` tag in questions)\n* **Gitter** Discuss Generate with us on [Gitter](https://gitter.im/generate/generate)\n* If you publish an generator, thank you! To make your project as discoverable as possible, please add the keyword `generategenerator` to package.json.\n\n### Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n### Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm install -d \u0026\u0026 npm test\n```\n\n### Author\n\n**Jon Schlinkert**\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT license](https://github.com/generate/generate-snippet/blob/master/LICENSE).\n\n***\n\n_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.30, on August 19, 2016._","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenerate%2Fgenerate-snippet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenerate%2Fgenerate-snippet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenerate%2Fgenerate-snippet/lists"}