/knotty

A domain-specific language for knitting patterns

Primary LanguageRacketGNU General Public License v3.0GPL-3.0

Knotty

Domain Specific Language for knitting patterns

Coverage Status

Documentation

Description

Grid-based editors are handy for colorwork. Knitspeak is great for lace. Knotty aims for the best of both worlds. It's a way to design knitting patterns that incorporate both textured stitches and multiple colors of yarn.

Features

Knotty patterns are encoded in a format that is easy for humans to write and parse, but is also highly structured.

Patterns can be viewed and saved in an HTML format that contains an interactive knitting chart and written instructions. You can also import and export Knitspeak files, and create Fair Isle patterns directly from color graphics.

Knotty has been coded as a module for Typed Racket. Reference information is available in the manual.

A Knotty executable is also available that can be used from the command line to convert knitting patterns from one format to another.

Getting Started

Clone this repository.

Download the latest version of Racket for your operating system. It comes with the graphical application DrRacket. Open DrRacket and select the menu option "File > Install Package". Type "knotty" into the text box and press "Install".

Open the test script demo.rkt from the knotty-lib directory of the repository and press "Run" in the top right of the window. The demonstration script contains a very short knitting pattern, together with many lines of comments describing how to go about making your own.