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.html
that 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.json
files will need to reference@aibex/botscripten
beginning 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
system
tag is removed. Passages are assumed to be system level passages unless aspeaker-*
tag is defined multiline
is the default behavior. To deliver a large block of text with newlines, use theoneline
tag
- 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
auto
tag 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 thewait
tag 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 directives
option 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.js
as it's an intermediate file in the twine build - Refactored build scripts and
concurrently
output 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 bar
in 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