<commit_before># js-xwords #

Client side crossword generator

## Requirements - version 1.0.1: ##

1. The application should produce a printable question grid (with little numbers like in the newspaper) and also the answers. Also, it needs to print the clues with the question grid.

2. It should run completely on the client side so that the miminum possible load is placed on the server.

3. The display and computational elements should be separated so that the computational part could be added in to an existing or a new design with minimal effort (ideally none!).

4. The interface should have some mechanism for making the crossword easier - for example randomly adding letters within the question grid - this would make the crossword easier for weaker students/groups.

5. It must be quick and easy to use - with the absolute minimum of clicking and typing.


## Live Online ##

[http://demos.waystoskinacat.com/xWords/](http://demos.waystoskinacat.com/xWords/) 

## Overview of the code ##

The bulk of the code is separated into two files.  The display code is in [xWordsDisplay.js](src/js/xWordsDisplay.js) and the crossword generation part which is in [xWords.js](src/js/xWords.js)

The functions in xWordsDisplay are called from the interface in the HTML file ([index.htm](src/index.htm)) and xWordsDisplay calls xWords using the create function which returns the crossword question and answer grids.

xWords.js can be reused elsewhere independent of the rest of the code on the site for crossword puzzle generation.<commit_msg>Added known issues to read me<commit_after># js-xwords #

Client side crossword generator

## Requirements - version 1.0.1: ##

1. The application should produce a printable question grid (with little numbers like in the newspaper) and also the answers. Also, it needs to print the clues with the question grid.

2. It should run completely on the client side so that the miminum possible load is placed on the server.

3. The display and computational elements should be separated so that the computational part could be added in to an existing or a new design with minimal effort (ideally none!).

4. The interface should have some mechanism for making the crossword easier - for example randomly adding letters within the question grid - this would make the crossword easier for weaker students/groups.

5. It must be quick and easy to use - with the absolute minimum of clicking and typing.


## Live Online ##

[http://demos.waystoskinacat.com/xWords/](http://demos.waystoskinacat.com/xWords/) 

## Overview of the code ##

The bulk of the code is separated into two files.  The display code is in [xWordsDisplay.js](src/js/xWordsDisplay.js) and the crossword generation part which is in [xWords.js](src/js/xWords.js)

The functions in xWordsDisplay are called from the interface in the HTML file ([index.htm](src/index.htm)) and xWordsDisplay calls xWords using the create function which returns the crossword question and answer grids.

xWords.js can be reused elsewhere independent of the rest of the code on the site for crossword puzzle generation.

## Known issues ##
[Chrome Print Bug](/issues/6)
{'fraction_non_alphanumeric': 0.06031746031746032, 'fraction_numerical': 0.005396825396825397, 'mean_word_length': 4.2869127516778525, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4565059', 'n_tokens_mistral': 846, 'n_tokens_neox': 794, 'n_words': 445}