This is a simple desktop editor/IDE for Tracery.
As you edit your Tracery grammar on the left, it'll live-reload new example texts on the right.
To download the latest release, go to the GitHub Releases Tab in this repo. Right now, Tracery.app is only available for macOS.
Windows and Linux builds are coming very soon. In the meanmwhile, Windows/Linux users can follow the development setup instructions below to build your own copy of the app.
It's very early prerelease! Please open issues or tweet at me (https://twitter.com/lazerwalker) if you encounter any issues. I'm particularly interested in feedback about Windows or Linux builds, as I've only really tested on macOS.
Some features include:
- File saving/loading (wow!)
- Automatically generate new text phrases when you save or press Cmd/Ctrl+R
- Automatic JSON formatting on save/refresh (automatic indentation, standardizing on double-quotes, removing trailing commas, etc)
- HTML rendering, if your Tracery grammar generates HTML
- Persistence of generated examples if you click the 'lock' icon over any individual generated text
- Clipboard copy for any individual generated text, or all generated examples
- Selection for which root node examples are generated from
Worth noting: although Tracery's documentation suggests you can embed JavaScript code within your Tracery grammar (e.g. { letters: "a b c".split(" ") }), this app only supports strict JSON for security purposes. This is a common tradeoff for Tracery-based tools; if you're used to using something like Cheap Bots Done Quick, you'll likely not even notice this.
Contributions are welcome!
Tracery.app is built using Electron, which means it's a JavaScript webapp bundled up within a native shell. Specifically, it's built using TypeScript and React, with Electron Forge to manage the build process.
Yes, Electron apps are relatively unperformant compared to building proper native apps. Have that discussion elsewhere :)
To get a dev environment up and running:
- Clone this repo
- Yarn install
electron-forge startwill spin up a dev copy of the app with an inspector attached.electron-forge makewill compile you a full generated app binary for your current platform. If you're on a Mac, you'll either need to set up codesigning and notarization (documentation coming soon) or disable both of those by going intopackage.jsonand removing theosxSignandosxNotarizekeys/objects from theconfig -> forge -> electronPackagerConfigsubobject.
For more info on dev tooling, check out the Electron Forge documentation
This project is licensed under the MIT License. See the LICENSE file in this repo for more information.
https://github.com/lazerwalker https://twitter.com/lazerwalker
