1.2.4 (2021-08-02)
1.2.3 (2020-06-01)
- Adds suport for prettier-ignore (#130) (2badc22)
- Fixes release pipeline by adding tokens (7237ee8)
- Merges next into master and removes extra complexity (2e84680)
1.2.2 (2020-05-05)
1.2.2 (2020-03-27)
1.2.2 (2020-03-27)
1.2.2 (2020-03-27)
1.2.1 (2020-03-09)
- Adds beta release channel to circleci (02047d0)
1.2.1-beta.1 (2020-03-09)
- Adds beta release channel to circleci (61174b9)
1.2.0 (2020-03-04)
- Runs botscripten offline (580a0a0)
1.1.0 (2020-03-04)
- Fixes semantic-release to work with our release style (1d278df)
- Completes the removal of botscriptenviewer (bf5ef99)
- Enables semantic-release by disabling --dry-run (6973f61)
- Features
- Changed default color to darker blue to match Botscripten theme
- Created a simpler
sample.htmlthat demonsrates botscripten in a more straightforward manner
- Fixes
- Fixed alignment of header over chat dialog
BREAKING CHANGES
- This release commits us to the semantic version standard going forward
This is our first release using semantic-release and there are still rough edges in changelog generation.
- Features
- There's now just a single story format, "Botscripten" to manage. Prior versions will continue to work, as the CDN will cache those indefinitely. We were able to leverage smaller file sizes for the botscripten output by using cdn.jsdelivr.net URLs for the botscripten files instead of inlining them into the template. While this requires an internet connection to run botscripten stories, it simplifies the install for individuals.
- Breaking Changes
- Chatbook was renamed to
Botscripten.package.jsonfiles will need to reference@aibex/botscriptenbeginning with 0.5.0. This was done to avoid confusion with "Chapbook", the new Twine story format from Twine's creator.
- Chatbook was renamed to
- Breaking Changes
- In the chatbook parser, passages are now returned as an object to avoid empty passages at index 0 (twine numbering starts at zero)
0.3.0 > 0.4.0 Migration Guide
To migrate to 0.4.0, change any instances where you were looping over story.passages to loop instead over story.passageIndex and get the object from the passages collection, or iterate over the object keys of passages itself.
// prior
for (const p in story.passages) {
// ...
}
// new
for (const pid of Object.keys(story.passages)) {
const p = story.passages[pid];
// ...
}- Breaking Changes
- The
systemtag is removed. Passages are assumed to be system level passages unless aspeaker-*tag is defined multilineis the default behavior. To deliver a large block of text with newlines, use theonelinetag
- The
- Features
- "Show Directives" is now enabled by default
- Documentation Updates
- Added clarity to how directives parse. Adding a directive in the middle of a passage will cause unexpected behavior. This is because all directives are extracted and ran FIRST. The most common solution to this is to split a passage up, ensuring that the second passage begins with the relevant directive(s).
0.2.x > 0.3.0 Migration Guide
To migrate to 0.3.0, you'll want to ensure you have speaker-* tags on every line you wish to have a speaker for. Additionally, you will want to add the oneline tag to any passages you wish to deliver at once instead of incrementally.
The system and multline tags can be removed at your leisure.
- Breaking Changes
- The
autotag is removed, and is assumed to be the default behavior. If you would like to pause the conversation until the user takes an action, you should use thewaittag instead. - The
prompt-*tag is removed. If you want to prompt, it's recommended to do so as a directive. This ensures that your Chatbook script is as portable as possible and isn't bound to the constraints of Twine's tag system
- The
- Features
- ChatbookViewer - You can now use the
show directivesoption to view any directives you've defined. This uses the same extractor as the npm module
- ChatbookViewer - You can now use the
0.1.1 > 0.2.0 Migration Guide
To migrate to 0.2.0, you'll want to add a wait tag anywhere you intentionally want Chatbook to pause for user input and there was only a single link available. auto tags can be cleaned up at your leisure.
You'll also need to replace your prompt-* tags with a directive. We recommend #@prompt saveAsName which will require minimal code change for any parsers/interpreters that were relying on prompt tags.
- Features
- node.js support. Chatbook now has a simple parser for Chatbook-formated Twine2 files.
- Tests now running via
yarn test. Currently used to validate the parser is working as-intended
- Fixes
- Removed
chatbook.umd.jsas it's an intermediate file in the twine build - Refactored build scripts and
concurrentlyoutput for a cleaner dev console - Added Husky + Prettier for consistent JavaScript formatting
- Removed
- Other
- Twine and npm versions have been separated. Updates to the parser should not reqiure people to consider upgrading their StoryFormat within Twine
- An Acknowledgements section was added to the readme to specifically thank the prior work that made Chatbook possible. ❤️
Between 0.1.0 and 0.1.1, the chatbook repository was transferred to the aibexhq organization. Contributors remained the same.
- Breaking Changes
- Comments are migrated from JavaScript style
/* ... */to using Octothorpes#/###. This allos us to support Directives. - Removed support completely for
<% ... %>to promote Twine file portability - Removed markdown support, as markdown implementations are not consistent between JavaScript (marked) and other platforms
- Comments are migrated from JavaScript style
- Features
- Directives - Directives allow you to attach meaning to comments for your runtime engine. These statements are the new Octothorpe comment, followed by an
@sign, followed by the directive. For example, a line of#@foo barin your Twine file would be a comment with the directive@foo, and the contentbar.
- Directives - Directives allow you to attach meaning to comments for your runtime engine. These statements are the new Octothorpe comment, followed by an
Initial Release