Install node.js: https://nodejs.org/en/
Fork repo on github page
Clone repo (replace gmichlicki-neducatio with your username)
git clone git@github.com:gmichlicki-neducatio/hangman-challenge.git
Install dependencies
npm i
Start development
npm start
Multi-stage development
npm run multi
DoT template engine documentation: http://olado.github.io/doT/index.html
You can use LESS and SCSS preprocessors. Simply add a file with the extension .less or .scss to the workspace directory, and then add tag:
<link rel="stylesheet" href="your-file.css">
to the one.dot or multi.dot file. Note the extension used in the href attribute, it must be .css.
The server will look for the .less file first, then .scss, and finally .css.
2 files with variables are also created each time the user visits website.
One for each preprocessor language: _vars.less
and _vars.scss
.
Variables are described in the next section of this document
- it.alphabet – all letters of the alphabet
- it.numberOfWords - number of words drawn (always 1)
- it.word - a word to guess
- it.letters - a word to guess letter by letter
- it.numberOfLetters - number of letters in the guessed word (including duplicates)
- it.lettersInWord - unique letters used in the guessed word (excluding duplicates, sorted alphabetically)
- it.numberOfLettersInWord - number of unique letters used in the guessed word
- it.lettersNotInWord - letters not used in the guessed word
- it.numberOfLettersNotInWord - number of unique letters not used in the guessed word
Inside .less files there are corresponding variables created in _vars.less
file:
- @alphabet
- @numberOfWords
- @word
- @letters
- @numberOfLetters
- @lettersInWord
- @numberOfLettersInWord
- @lettersNotInWord
- @numberOfLettersNotInWord
Inside .scss files there are corresponding variables created in _vars.scss
file:
- $alphabet
- $numberOfWords
- $word
- $letters
- $numberOfLetters
- $lettersInWord
- $numberOfLettersInWord
- $lettersNotInWord
- $numberOfLettersNotInWord
-
it.alphabet – all letters of the alphabet
-
it.numberOfWords - number of words drawn (5 by default)
-
it.words - array containing words data:
a. it.words[n].word - a word to guess
b. it.words[n].letters - a word to guess letter by letter
c. it.words[n].numberOfLetters - number of letters in the guessed word (including duplicates)
d. it.words[n].lettersInWord - unique letters used in the guessed word (excluding duplicates, sorted alphabetically)
e. it.words[n].numberOfLettersInWord - number of unique letters used in the guessed word
f. it.words[n].lettersNotInWord - letters not used in the guessed word
g. it.words[n].numberOfLettersNotInWord - number of unique letters not used in the guessed word
where 'n' is a number between 0-4, eg. it.words[4].word
Inside .less files there are corresponding variables created in _vars.less
file:
- @alphabet
- @numberOfWords
- @word1
- @letters1
- @numberOfLetters1
- @lettersInWord1
- @numberOfLettersInWord1
- @lettersNotInWord1
- @numberOfLettersNotInWord1
Points 3-9 are repeated for each subsequent word with a prefix replaced to its number
Inside .scss files there are corresponding variables created in _vars.scss
file:
- $alphabet
- $numberOfWords
- $word1
- $letters1
- $numberOfLetters1
- $lettersInWord1
- $numberOfLettersInWord1
- $lettersNotInWord1
- $numberOfLettersNotInWord1
Points 3-9 are repeated for each subsequent word with a prefix replaced to its number