Skip to content

Releases: ShinyTrinkets/twofold.ts

TwoFold (2✂︎f) v0.12.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 14:45
8d1eb9b
  • 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

Choose a tag to compare

@github-actions github-actions released this 08 Jun 12:15
fb81f9a
  • 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

Choose a tag to compare

@github-actions github-actions released this 21 May 21:00
0e611ef
  • 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

Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 May 18:37
2c23f01

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

Choose a tag to compare

@github-actions github-actions released this 11 May 18:32
348367d
  • 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

Choose a tag to compare

@github-actions github-actions released this 28 Apr 21:34
bdf936a
  • 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

Choose a tag to compare

@github-actions github-actions released this 11 Apr 16:35
5ededb0
  • 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