Skip to content
Native desktop app for experimenting with Tracery grammars
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
icons
src
.compilerc
.gitignore
.travis.yml
CHANGELOG
LICENSE
README.md
appveyor.yml
icon.png
package.json
screenshot.png
tsconfig.json
tslint.json
yarn.lock

README.md

Tracery.app

Linux Build Status Windows build status

This is a simple desktop editor/IDE for Tracery.

The app

As you edit your Tracery grammar on the left, it'll live-reload new example texts on the right.

Download It!

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.

Current Status

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.

Contributing

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:

  1. Clone this repo
  2. Yarn install
  3. electron-forge start will spin up a dev copy of the app with an inspector attached.
  4. electron-forge make will 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 into package.json and removing the osxSign and osxNotarize keys/objects from the config -> forge -> electronPackagerConfig subobject.

For more info on dev tooling, check out the Electron Forge documentation

License

This project is licensed under the MIT License. See the LICENSE file in this repo for more information.

Contact Info

https://github.com/lazerwalker https://twitter.com/lazerwalker

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.