{"id":16890839,"url":"https://github.com/isruslan/learn-generators","last_synced_at":"2025-04-05T14:09:52.089Z","repository":{"id":26283138,"uuid":"29730706","full_name":"isRuslan/learn-generators","owner":"isRuslan","description":"JavaScript ES(6|2015) generators workshopper. Learn in practice. :metal:","archived":false,"fork":false,"pushed_at":"2022-07-01T11:50:35.000Z","size":863,"stargazers_count":265,"open_issues_count":0,"forks_count":43,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-04-14T03:01:17.364Z","etag":null,"topics":["es6-generators","generators","javascript","nodeschool","tutorial","workshop","workshopper"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/isRuslan.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":"2015-01-23T11:55:53.000Z","updated_at":"2024-01-12T17:57:07.000Z","dependencies_parsed_at":"2022-09-21T07:41:51.368Z","dependency_job_id":null,"html_url":"https://github.com/isRuslan/learn-generators","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isRuslan%2Flearn-generators","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isRuslan%2Flearn-generators/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isRuslan%2Flearn-generators/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/isRuslan%2Flearn-generators/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/isRuslan","download_url":"https://codeload.github.com/isRuslan/learn-generators/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247345856,"owners_count":20924102,"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":["es6-generators","generators","javascript","nodeschool","tutorial","workshop","workshopper"],"created_at":"2024-10-13T17:04:40.385Z","updated_at":"2025-04-05T14:09:52.067Z","avatar_url":"https://github.com/isRuslan.png","language":"JavaScript","readme":"Learn ES6 Generators\n================\n\n\u003eAn Intro to ES6 generators via a set of self-guided workshops.\n\n![learn-generators](https://raw.githubusercontent.com/isRuslan/learn-generators/master/learn-generators.jpg)\n\n[![NPM](https://nodei.co/npm/learn-generators.png)](https://nodei.co/npm/learn-generators/)\n\n\u003ca href=\"https://twitter.com/intent/tweet?hashtags=nodeschool\u0026via=isRuslan\u0026original_referer=https://github.com/\u0026text=Learn+ES6+Generators+with\u0026tw_p=tweetbutton\u0026url=https://github.com/isRuslan/learn-generators\" target=\"_blank\"\u003e\n  \u003cimg src=\"http://jpillora.com/github-twitter-button/img/tweet.png\"\u003e\u003c/img\u003e\n\u003c/a\u003e [![npm version](https://badge.fury.io/js/learn-generators.svg)](http://badge.fury.io/js/learn-generators)\n\nYou can ask questions in [nodeschool/discussions](https://github.com/nodeschool/discussions) board:   [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/nodeschool/discussions?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nSend an anonymous feedback about `learn-generators` here: \u003ca href=\"https://docs.google.com/forms/d/1f_9BvE7Z61dRRg1uKslgNJMQ1AmeO_uTExC-QltBbKY\" target=\"_blank\"\u003egoogle/form\u003c/a\u003e.\n\n## Install or Update\n\n\u003eYou need nodejs \u003e= 0.12.x or iojs \u003e= 1.0.x\n\n```\n$ npm install learn-generators -g\n```\n\n## Start learning\n\n#### 0. General information\n\n`learn-generators` is i18n-friendly workshopper, currently you can learn on English or French language.\nHit `choose language` menu item or selet language with `-l` flag with aviable prefixes: `en`, `fr`, `ko`, `ja`, `es` and `ru`. Type:\n\n```\n$ learn-generators -l\n```\n\nTo see available languages and select the language which you like.\n\nYou can also get all available commads in `help`:\n\n```\n$ learn-generators help\n```\n\n#### 1. Select a topic to learn\n\nOnce the workshop is installed, run `learn-generators` to print a menu\nwhere you use the arrows ↑↓ (vim `jk` works too) to select a topic to learn.\n\n```\n$ learn-generators\n```\n\n#### 2. Writing your solution\n\nOnce you have selected a topic, the workshop will remember which problem you are working on. \nUsing your preferred editor, simply create a file to write your solution in. Most topics will\nsupply some boilerplate with which to get started. Copy this from the topic description to your\nsolution file.\n\n#### 3. Testing your solution\n\nUse the workshop's `run` command to point the workshop at your solution file. Your solution will loaded \nand passed the topic input. This usually won't perform any validation, it will only show the program output.\n\n```\n$ learn-generators run mysolution.js\n```\n\n#### 4. Verifying your solution\n\nYour solution will be verified against the output of the 'official' solution. \nIf all of the output matches, then you have successfully solved the problem!\n\n```\n$ learn-generators verify mysolution.js\n```\n\n## Stuck?\n\nFeedback and criticism is welcome, please log your troubles in [issues](https://github.com/isRuslan/learn-generators/issues).\nOr you can send an anonymous feedback here: \u003ca href=\"https://docs.google.com/forms/d/1f_9BvE7Z61dRRg1uKslgNJMQ1AmeO_uTExC-QltBbKY\" target=\"_blank\"\u003egoogle/form\u003c/a\u003e.\n\n\n## Thanks\n\nYou can learn generators due to this people:\n\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\u003cth align=\"left\"\u003eName\u003c/th\u003e\u003cth\u003eGitHub\u003c/th\u003e\u003cth\u003eTwitter\u003c/th\u003e\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eRuslan Ismagilov\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/isRuslan\"\u003e@isRuslan\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/is_ruslan\"\u003e@is_ruslan\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eIlia Akhmadullin\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/i-akhmadullin\"\u003e@i-akhmadullin\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/i_akhmadullin\"\u003e@i_akhmadullin\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eMax Ogden\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/maxogden\"\u003e@maxogden\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/maxogden\"\u003e@maxogden\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eChristophe Porteneuve\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/tdd\"\u003e@tdd\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/porteneuve\"\u003e@porteneuve\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eJulien Fontanet\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/julien-f\"\u003e@julien-f\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/JulienFontanet\"\u003e@JulienFontanet\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eShim\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/marocchino\"\u003e@marocchino\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/marocchino\"\u003e@marocchino\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eKuniyoshi Tone\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/kunichan2013\"\u003e@kunichan2013\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/kunitone\"\u003e@kunitone\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003ctd align=\"left\"\u003eNicolás Bevilacqua\u003c/td\u003e\u003ctd\u003e\u003ca href=\"https://github.com/nicobevilacqua\"\u003e@nicobevilacqua\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/NicoBeviIacqua_\"\u003e@NicoBeviIacqua_\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n**Rod Vagg (@rvagg)** made this workshopper framework (⌐■_■)\n\n\n## License\nMIT © [Ruslan Ismagilov](https://github.com/isRuslan)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisruslan%2Flearn-generators","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisruslan%2Flearn-generators","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisruslan%2Flearn-generators/lists"}