Brainy
Brainy is a replacement for the popular Smarty templating language. It is a fork from the Smarty 3 trunk.
Brainy is still very new and it's likely that you will encounter some issues. Please report any problems that you encounter.
Why Brainy?
- Brainy generates clean and fast code by default.
- Brainy has security defaults that align better with best practices.
- Brainy does not include features that are infrequently used and increase code bloat.
Because Brainy is a fork of Smarty 3, it shares much of the same syntax and features while eliminating dangerous footguns and making it hard to write bad code.
Getting Started
Check out the Getting Started page on the wiki.
Minimum Requirements
- PHP 5.4+ or HHVM 3.7+
mbstring
PHP extension
The mbstring
extension is required in order to properly support Unicode in templates and user-provided content. Brainy 3 cannot be run in a mode that does not handle Unicode properly.
Contributing to Brainy
For information on how to set up a local dev environment and run the tests, see the wiki page on Hacking on Brainy.
Where is Brainy headed?
See the project roadmap for information on upcoming releases.
Requested Contributions
If you're interested in helping out, pull requests for the following tasks will be warmly welcomed:
- Convert all non-public methods to use camel case.
- Add proper PHPDoc annotations to all functions and methods.
- Refactoring:
- Eliminate dead code
@
error suppression- Increase code coverage
- etc.
- Help identify and resolve potential security issues, or find ways to help developers avoid security issues.
- Performance optimization of generated code
At the time of writing, the project has approximately 68% line coverage.
Support
Need to contact us directly? Email [email protected] and be sure to include the name of this project in the subject.
Copyright and License
Copyright 2014-2015 Box, Inc. All rights reserved.
Copyright 2002 – 2014 New Digital Group, Inc.
This library is licensed under the GNU Lesser Public License. A copy of the license should have been provided.