Skip to content

Mnemonic Word Generator. Generate words that are easy to read/say/understand/remember.

License

Notifications You must be signed in to change notification settings

evenbrenna/mngen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mnGen - Mnemonic Word Generator

Spits out random words from this word list.

The word list consists of 1633 words that are easy to read, say, understand and remember. They are also easy to distinguish from one another.

"... suitable for transmission or storage by voice, handwriting, memorization or other non-computerized means."

You could use it to generate easy-to-remember passwords or name your servers. Or dogs. Sometimes you just need a few top-notch words thrown at you.

Install

$ npm install --save mngen

Usage

var mnGen = require('mngen');

mnGen.word();     // => 'tokyo'
mnGen.word(3);    // => "office-piano-fabric"

mnGen.list(3);    // => ['canoe', 'amigo', 'kermit']
mnGen.list(3, 2); // => ['fuji-visa', 'kilo-lemon', 'baker-echo']
mnGen.list(3, 2, '/'); // => ['fuji/visa', 'kilo/lemon', 'baker/echo']

mngen.list(2665057, 2); // => ERR: Max list length for [glue] === 2 is 2665056

API

.word([[glue], [separator]])

Returns: String

  • Get a single random word
  • Give an integer glue to make it a dash-joined combo of multiple words.
  • Specify separator to customize separator between combos of multiple words.
mnGen.word();  // => "eagle"
mnGen.word(3); // => "office-piano-fabric"
mnGen.word(3, '/'); // => "office/piano/fabric"

.list([length, [glue], [separator]])

Returns: Array

  • Get an array of random words.
  • Default length is 100
  • Array entries are unique.
  • Specify glue to make entries dash-joined combos of multiple words.
  • Specify separator to customize separator between combos of multiple words.
  • Throws error if length > possible unique entries given glue (See Usage for example)
nmGen.list();     // => An array of 100 unique words
mnGen.list(3);    // => ['canoe', 'amigo', 'kermit']
mnGen.list(3, 2); // => ['fuji-visa', 'kilo-lemon', 'baker-echo']
mnGen.list(3, 2, '/'); // => ['fuji/visa', 'kilo/lemon', 'baker/echo']

CLI

$ npm install --global mngen

$ mngen
# => tokyo

$ mngen --glue 2
# => "english-legal"

$ mngen --glue 2 --separator /
# => "dexter/toronto"

$ mngen --list 3
# => canoe amigo kermit

$ mngen --list 2 --glue 3
# => oxford-soviet-rubber shave-deal-freddie

TODO

  • Add options:
    • Choose entry separator for list in cli (comma, newline, space, etc)
    • Custom word-lists

Thanks

Inspired by Sindre Sorhus

About

Mnemonic Word Generator. Generate words that are easy to read/say/understand/remember.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published