Skip to content

Collection of crossword puzzle file format converters and other utilities, written in Kotlin.

License

Notifications You must be signed in to change notification settings

jpd236/kotwords

Repository files navigation

kotwords

GitHub Workflow Status Maven Central javadoc

Collection of crossword puzzle file format converters and other utilities, written in Kotlin.

The library uses Kotlin multiplatform and supports Java, Javascript, and native Mac/Windows/Linux.

This project also includes a web interface for generating digital versions of different variety puzzles.

Features

  • Read crosswords in a variety of file formats, including formats used by online puzzle sites
  • Remove a direction of clues to make puzzles more challenging
  • Write crosswords in .puz, .jpz, or .ipuz format
  • Generate PDFs for crosswords
  • Create .jpz and .ipuz files for variety crossword puzzles

How To Use

In your build.gradle:

dependencies {
  implementation "com.jeffpdavidson.kotwords:kotwords:1.4.0"
}

Sample code for parsing a JPZ file and converting it to a PDF with only Down clues:

  val pdf = JpzFile(jpz).asPuzzle().withDownsOnly().asPdf();

See the Javadoc for full API details.

Development

Kotwords is a standard Gradle project that can be imported into IntelliJ. Common commands include:

  • Run all tests for all environments: ./gradlew check
  • Run a local instance of the web tools: ./gradlew jsRun
  • Publish to the local Maven repository for testing in another application: ./gradlew publishToMavenLocal

Bug reports and contributions welcome!

About

Collection of crossword puzzle file format converters and other utilities, written in Kotlin.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages