Phil, a crossword maker
Phil helps you make crosswords, using client-side JavaScript.
- Import & export .xw (JSON) or .puz files.
- Use the built-in dictionary, or any text file you want.
- Print to PDF.
- Create a New York Times submission in seconds.
New to this fork:
- Bob Copeland's JS auto filler
- Custom grid sizes
- NYT Sunday grid (21×21) PDF submissions
- Strict matching mode (matches filtered by crossers' constraints)
- Interactive stats
- Dark mode
- Mobile support
- Rebus
- Circles and shades
- Undo/redo
- Match letter histograms
TODO:
- copy current word into Onelook/xwordinfo pattern
- allow circles and shades in same puzzle or even square
- grid generation CSP: width, height, number of words, mean word length, block %, open %, sym, at least n words of length m
- larger wordlist, grid bank
- Scored word list
- Show word scores in matches list, sort alphabetically or by score
- Character classes in squares, with vowel and consonant shorthands
- Option move/delete
- Add to and remove from wordlist
- Save edited wordlist
- Autofill region, ui integration, scored word lists, choose among fills
- Better responsive layout
Acknowledgements
Phil uses Font Awesome and fonticon for icons, jsPDF and jsPDF-AutoTable for generating PDFs, Chart.js with the datalabels plugin for charts, and HyperList for virtual scrolling of wordlist matches. Thanks to those who documented the .puz file format here. The default wordlist is Peter Broda's wordlist.
Getting started
To use this fork:
To run this fork locally:
-
Clone this repository.
-
Enter the Phil directory.
-
Run a local webserver. For example, with Python 3:
python -m http.server 8000
-
Point your browser to localhost:8000.
Crossword resources
- OneLook and Crossword Tracker search engines
- XWord Info (some features require membership)
- Crosshare, a nice site to construct and share crossword puzzles, and play puzzles shared by others
- Collected wordlists of the National Puzzler's League
- Crossword theme categories
License
Licensed under the Apache License, v2.0 (the 'License').
Unless required by law or agreed in writing, software distributed under the License is distributed on an 'as is' basis, without warranties or conditions, express or implied. See the License for the specific language governing permissions and limitations.
Original Phil Copyright © 2017 Keiran King.