Skip to content

1.5

Past due by over 8 years 60% complete

Tale Jade 1.5 will be the first completely breaking change.

You might always stick to 1.4.*, since 1.5. won't introduce new features, I promise!
It will be a structure overhaul.

Things that got changed already:

  • Lexer has been split into Tokens, Scanners, a State and the Lexer that composes them
  • The lexer now uses tale-reader, which is a string-parsing li…

Tale Jade 1.5 will be the first completely breaking change.

You might always stick to 1.4.*, since 1.5. won't introduce new features, I promise!
It will be a structure overhaul.

Things that got changed already:

  • Lexer has been split into Tokens, Scanners, a State and the Lexer that composes them
  • The lexer now uses tale-reader, which is a string-parsing library fit to Tale Jade's needs (and possibly other lexers I will write in the future)
  • tale-tree now replaces every tree-logic inside tale-jade
  • Parser has been split into a ton of Nodes, a State and the Parser that composes them
  • Instanciation now uses tale-factory to avoid a ton of necessary checks
  • Lexer can be extended easily, either by adding Scanners that throw out existing tokens or by adding completely new tokens. Both are just extending a class and adding a config value to the lexer (or extending the lexer, whatever you prefer)
  • Complete PSR-2 overhaul. No underscore-prefixes.
  • All config keys of all classes will be under_scorized, not camelCased anymore (primarily to fit Symfony's style)

Things that will be changed:

  • The Compiler will get a full overhaul and will use a Formatter and probably some further classes for a modular structure to easily extend it (I'm not done yet, I didn't find the best structure yet and that is probably the main reason why 1.5 is not released yet)
  • Filters will be changed and will give a possibility to change deeper parts and format filterered content easier
  • All functions have been put into a small Utility that will be compressed and compiled in stand_alone mode

Things that might be important:

  • Tale Jade now handles scalars quite differently.
    Before a code like a(class=col-md-5) renderered to a(class="col-md-5"). It will now probably throw an error, because it tries to subtract the constants col, md and the digit 5. A scalar string will now be a scalar string only if it's enclosed in quotes of any kind. Everything behind = is essentially PHP (or rather, an expression. That won't mean that all attribute values get printed as PHP. Tale Jade now checks for scalar values quite cleaner

Also, some more stuff I can't think of at the moment and will add here later probably.

Thanks for your interest!

Loading