🌿 Parsley the template parser has been released to maven.wocommunity.org so it's now easy to try out. Just add it to your pom.xml.
Parsley is not "automatically enabled" when added as a dependency, since it contains utility functionality you might want to use without having it as your default template parser. You must activate it somewhere during application initialization to use it as your default parser, for example in your Application class constructor as shown below.
<dependency>
<groupId>is.rebbi</groupId>
<artifactId>parsley</artifactId>
<version>1.2.0</version>
</dependency>
<!-- make sure to also remove WOOgnl from the pom if present -->
public Application() {
parsley.Parsley.register();
parsley.Parsley.showInlineRenderingErrors( isDevelopmentModeSafe() ); // For enabling inline error reporting in dev mode
}
Parsley is an evolution of Project Wonder's WOOgnl template parser. It's largest currently visible "new feature" is inline display of some common templating errors during development, replacing the beloved meter long stack trace pages.
Parsley's largest changes are behind the scenes though. It parses templates to an AST before converting them to a WO Dynamic Element template. This is what enables the inline error messages and will allow for some more fun functionality as we extend it. Parsley's template parser is also used in ng-objects, meaning templates that work in WO under Parsley are syntactically guaranteed to carry over.
Note that Parsley does not support all of WOOgnl's features. Specifics can be found in the section "Differences from WOOgnl" in the README
| 🌶 cayenne | these look like dead code, no? | May 13 |
| 🌶 cayenne | Update README.md | May 12 |
| 🌶 cayenne | Update README.md | May 12 |
| 🚀 ng-objects | Move actual interface methods above interface default methods | May 12 |
| 🚀 ng-objects | Renamed NGMessageInterface to NGMessage | May 12 |
| 🚀 ng-objects | Accept request content as InputStream instead of a byte array | May 12 |
| 🚀 ng-objects | Deleted NGMessage | May 12 |
| 🚀 ng-objects | Move NGMessage utility logic to NGMessageInterface | May 12 |
| 🚀 ng-objects | Deleted NGMessage's httpVersion field/methods | May 12 |
| 🚀 ng-objects | Deleted NGAdaptorRaw | May 12 |
| 🤸♀️ wonder-slim | 8.0.0 | Apr 30 |
| 🦡 vermilingua | 1.1.4 | Apr 24 |
| 🌿 parsley | 1.4.1 | Apr 22 |
| 🚀 ng-objects | 0.1.1 | Apr 22 |
| 🦡 vermilingua | 1.1.3 | Apr 15 |
| 🦡 vermilingua | 1.1.2 | Apr 15 |
| 🌿 parsley | 1.4.0 | Apr 8 |
| 🚀 ng-objects | 0.1.0 | Mar 7 |
| 🌿 parsley | 1.3.0 | Nov 15 |
| 📜 wonder | Wonder 7.4 | May 28 |