Skip to content

my-frontend-lab/Phil

This branch is 2 commits behind keiranking/Phil:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

58243dd · Apr 3, 2018
Dec 8, 2017
Nov 2, 2017
Oct 20, 2017
Oct 18, 2017
Dec 8, 2017
Sep 26, 2017
Oct 10, 2017
Nov 30, 2017
Nov 21, 2017
Apr 3, 2018
Oct 18, 2017
Nov 30, 2017
Nov 2, 2017
Nov 8, 2017

Repository files navigation

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.

Related repositories

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

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

Getting started

To use Phil:

  1. Go to keiranking.com/phil.

To run your own copy of Phil:

  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 Phil 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.

© Keiran King

Packages

No packages published

Languages

  • JavaScript 80.6%
  • CSS 11.1%
  • HTML 8.3%