Skip to content

dnapoleoni/Kevin

 
 

Repository files navigation

Kevin, a cryptic crossword maker

Kevin, son of 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!) Now supporting non-NYT formatted grids
  • (NEW!) Undo & Redo

Kevin is a forked offshoot of the original NYT-specific crossword maker, called Phil, minimally altered to support other formats of crossword layout.

Chek out the original, Phil - created by Kieran King, here.

Related repositories

Kevin uses Font Awesome icons and jsPDF (along with jsPDF-AutoTable) for generating PDFs.

The Kevin solving engine (in progress) uses the Glucose 3.0 SAT solver. The sources (with previous modifications) are in the third_party directory.

(original instructions by Kieran King)

Getting started

To use Kevin:

  1. Go to https://dnapoleoni.github.io/Kevin/.

To run your own copy of Kevin:

  1. Install a working Emscripten environment. On Mac, using homebrew is a good choice.

  2. From the command line, run:

    cd third_party/glucose-3.0/simp
    make xwsolve.js
    

    At this point, xwsolve.js and xwsolve.wasm should be generated.

  3. Go back to the Kevin main directory (cd ../../..) and create symbolic links (aliases):

    ln -s third_party/glucose-3.0/simp/xwsolve.* .
    
  4. Run a local webserver. If you have Python 3 installed, then:

    python3 -m http.server 8000
    

    If you have only Python 2 installed, then:

    python -m SimpleHTTPServer 8000
    
  5. Point your browser to localhost:8000.

Crossword resources

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.

© Daniel Napoleoni, based on a repo by Kieran King

Packages

No packages published

Languages

  • JavaScript 81.6%
  • HTML 9.8%
  • CSS 8.6%