https://github.com/rjz/codename
Project name generator
https://github.com/rjz/codename
codename javascript
Last synced: 11 months ago
JSON representation
Project name generator
- Host: GitHub
- URL: https://github.com/rjz/codename
- Owner: rjz
- Created: 2014-02-02T23:41:22.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2018-10-25T04:55:41.000Z (over 7 years ago)
- Last Synced: 2025-04-19T22:06:27.919Z (11 months ago)
- Topics: codename, javascript
- Language: JavaScript
- Homepage: http://codenames.herokuapp.com/
- Size: 35.2 KB
- Stars: 22
- Watchers: 5
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Codename generator
Generates codenames. What for, you ask?
## Installation
$ npm install -g codename
## Usage
From node,
var codename = require('codename')();
var filters = ['alliterative', 'random'],
lists = ['crayons', 'adjectives', 'cities', 'animals'],
myName = codename.generate(filters, lists);
#### Options
`codename.generate` takes two options: `filters` and `lists`.
* `filters` (`Array[String|Function]`) - describes a set of filters
that should be used to reduce each list to a single word
* `lists` - (`Array[String|Array]`) - the names or contents of the lists
to use for selecting names
#### From the CLI,
All arguments are forwarded from comma-delimited strings:
$ codename \
--lists=crayons,adjectives,cities,animals \
--filters=alliterative,unique,random
### Writing Filters
Each filter takes a `memo` listing any other words selected followed by
the list of words the filter should be applied to. For instance, a filter
to limit results to words containing the letter `j`:
var letterJFilter = function (memo, words) {
return words.filter(function (w) {
return w.toLowerCase().indexOf('j') > -1;
});
};
Alternatively, a filter may return a *single* word that should be added to
the name. These filters are `output` filters, and they should only be used
at the end of a filter list.
Filters may be contributed to `src/filters` or supplied as function arguments to `codename.generate`.
### Word Lists
* Adjectives from http://www.keepandshare.com/doc/12894/adjective-list
* Animals from http://en.wikipedia.org/wiki/Lists_of_animals
* Cities from http://answers.google.com/answers/threadview?id=596822
* Crayons from http://www.colourlovers.com/web/blog/2008/04/22/all-120-crayon-names-color-codes-and-fun-facts
### License
* word lists (c) their respective authors
* codename released under the WTFPL