Releases: ShinyTrinkets/twofold.ts
Releases · ShinyTrinkets/twofold.ts
Release list
TwoFold (2✂︎f) v0.12.0
- completely rewritten tag evaluation. This gives tag functions even more power.
- the AST tree is now a class with some useful functionality.
- created "evaluateAll" tag to run more TwoFold files in the same context.
- created "renderFile" tag to refresh/ render a TwoFold file programatically.
- created "duplicate" tag to duplicate some content based on a list and a
template. - new addon "intoVar" to store the inner text of a tag into a global variable
- double tags have a new var called childCtx that contains the global context
of its children. - BREAKING change: the experimental "import" tag is now called "evaluate". It
can now evaluate all known tags from a file, not just set and JSON and TOML
tags, and eval inside eval inside eval is supported. - BREAKING change: the "dir" tag is renamed to "dirList".
TwoFold (2✂︎f) v0.11.0
- upgraded set, del, json, toml and import logic from evaluate, to regular
tags. This will allow people to implement their own versions of these tags and
other similar data languages (eg: (JSON5, YAML, AML, ENO, REN, etc) - addons! The ignore functionality moved in the ignore addon, and the consume
functionality moved in the consume addon. Many other types of addons are now
possible, disk caching is experimental. - BREAKING change: the "ignore" tag is now called "freeze" to maintain a
consistent name as the freeze=true option. It's also shorter. We also have a
"protect" tag which makes sure the tag will never be consumed by its parent.
TwoFold (2✂︎f) v0.10.0
- BREAKING change: JSON props in backticks are gone!
replaced by the new JSX curly braces {..} props - there is a new {..} prop type, inspired from JSX curly braces
and it allows newlines inside - newlines also allowed inside backtick string props
- new
{...}JSX spread syntax to merge groups of variables,
and to export groups as global variables - created "import" tag to import set, json or toml variables from
other files. This is EXPERIMENTAL for now. - created "toml" tag to define variables available within the file;
it works just like the "json" tag - created "del" tag to delete variables, but you can also set deep
variables to undefined - created "vars" tag to view selected variables, similar to "debug"
TwoFold (2✂︎f) v0.10.0-rc1
v0.10 WIP
- BREAKING change: JSON props in backticks are gone!
replaced by the new JSX curly braces {..} props - there is a new {..} prop type, inspired from JSX curly braces
and it allows newlines inside - newlines also allowed inside backtick string props
- new
{...}JSX spread syntax to merge groups of variables,
and to export groups as global variables - created "import" tag to import set, json or toml variables from
other files. This is EXPERIMENTAL for now. - created "toml" tag to define variables available within the file;
it works just like the "json" tag - created "del" tag to delete variables, but you can also set deep
variables to undefined
TwoFold (2✂︎f) v0.9.0
- BREAKING change: JSON props must be wrapped in backticks `...`.
Before v0.9, they could be wrapped in single or double quotes. - added rawParams for LexTokens, useful to know the type of quotes
for each param value; Backticks are used for string interpolation - can now expand/ interpolate variables inside prop values
- ai/llm tag is now streaming live inside the file, thanks to the new
editSave function, that edits the AST and saves the changes on disk - the app is now logging the output, instead of just console.log
- created "log" tag to log messages using the new logger
- created "json" tag to define variables available within the file
- created "jsDocs" tag to auto-generate documentation in docs/readme
- created Matrix "smith" and "neo" tags, to demonstrate animations,
and changing the node properties and children
TwoFold (2✂︎f) v0.8.0
- created "set" tag to define variables available within the file
- created "table" tag to format ASCII tables to Markdown tables
- added index for LexTokens, useful for custom errors
- added path for ParseTokens, useful to know where is the tag in the AST
- functions for tags can now edit and return meta.node! This will allow lots of
interesting, advanced tag editing use-cases, that were not possible before. - functions for double tags now receive zeroText || innerText, makes more sense
- removed some useless dependencies
TwoFold (2✂︎f) v0.7.0
- re-enabled the --watch command
- allow greek and lots of non-latin letters in tag names
- added an AI chat tag, so you can chat with local or remote LLMs
- hopefully, the lexer and parser are much faster
- much better tests & tests compatible with Deno
- check previous releases in https://github.com/ShinyTrinkets/twofold.js