summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fixed ste.php and steloader.php1.0.1Kevin Chabowski2014-05-24
|
* Refined test_closureKevin Chabowski2014-05-24
|
* Moved to src/ste for psr-4 compliance1.0.0Kevin Chabowski2014-05-24
|
* Moved code into src subfolder and fixed docuKevin Chabowski2014-05-24
|
* Added ste:setlocal and refined test_scope.Kevin Chabowski2014-05-24
|
* Simple autoloader for examples and tests.Kevin Chabowski2014-05-24
|
* Added scoping.Kevin Chabowski2014-05-24
| | | | | | | | | | | | | | | ste:mktag generated tags now have an own scope. They even resemble closures, since they inherit their parent scope. A lot of work was done to keep this compatible with older programs. However: * Templates that relied on the non-scoping behavior of tags will probably fail. * Since $ste->vars is no longer an actual array, things like $ste->vars["foo"]["bar"] = "baz" are no longer possible! A single field access will still work: $ste->vars["foo"] = "bar"
* Fixed ste:getKevin Chabowski2014-05-24
| | | | | | Didn't work at all before. The varname was not passed correctly. Also added the test case that showed this.
* Fixed parsing variablesKevin Chabowski2014-05-24
| | | | | If a variable was the very last thing in a template, the last charater of the variable was duplicated as a text node.
* Added tempvar static function to TranscompilerKevin Chabowski2014-05-22
|
* Getting rid of some notices / fixing _get_var_referencescopesKevin Chabowski2014-05-18
|
* Adding a composer.json file. We should be composer-compatible now!make-composer-compatibleKevin Chabowski2014-05-18
|
* One file per class and new namespace.Kevin Chabowski2014-05-18
| | | | | We should be able to use a PSR4 autoloader (like composer's) now. ste.php is still there as a fallback for old applications.
* ste:foreach now has an else clause for empty arrays.Kevin Chabowski2013-10-28
|
* Removed old test codeKevin Chabowski2013-10-28
|
* Fixed wrong include paths.Kevin Chabowski2013-10-28
|
* STE now means STE Template Engine.Kevin Chabowski2013-10-28
|
* Improved readmeKevin Chabowski2013-10-25
|
* Removed source code documentation. Can be generated at any point.Kevin Chabowski2013-10-25
|
* Merge branch 'parser2'Kevin Chabowski2013-10-25
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | STE gets a new, more robust parser. The previous parser was very fragile and relied on some ugly regular expressions. Other advantages of the new parser: * No precompile phase to implement short tags (?{}, ~{}), that means short tags can now be nested in any order. * The parses now uses the mb_* functions, so it should handle non-ascii text correctly. There were also some improvements to the compiler: * Various small bugfixes. * The compiler accepts and compiles tag parameters that have tags in them. The parser still doesn't accept this (and probably never will), this is mainly used to allow arbitrary code inside of short cmp tags (~{..}). There are now (finally!) tests for the language to maintain a certain quality and consistency (which STE lacked in the past, to be honest). And finally the code was reformatted. Now 1TBS is used instead of Allman.
| * New Testparser2Kevin Chabowski2013-10-25
| |
| * short cmp tags can now contain tags.Kevin Chabowski2013-10-25
| | | | | | | | | | | | | | | | To accomplish this, tag parameters can now be compiled, even if they contain tags (the parser still doesn't allow this, but the compiler can now handle this situation). Also reformatted the code.
| * Fixed some mistakes in mktag subcompilerKevin Chabowski2013-10-25
| | | | | | | | | | | | | | * Undeclared $code variable fixed. * "use ($mandatory_params)" only included, if the $mandatory_params variable will be generated. * Fixed $outputstack not being initialized correctly.
| * Fixed potential bug in VariableNode::transcompileKevin Chabowski2013-10-25
| | | | | | | | Also now PHP doesn't throw notices here.
| * Better handling of newslines and whitespacesKevin Chabowski2013-10-25
| |
| * Made the tests more tolerant for whitespace.Kevin Chabowski2013-10-25
| |
| * Adding default values to some properties.Kevin Chabowski2013-10-23
| | | | | | | | | | | | To reduce the ridiculous amount of notices PHP throws when parsing and executing templates (should really be fixed in the future, this is quite embarassing...).
| * Added some tests.Kevin Chabowski2013-10-23
| | | | | | | | | | | | Many of these break. Mostly because the way whitespace/newlines are added (or not added). This is terribly broken ATM... (It was okay with the old parser, I'll try to replicate that behaviour)
| * Gitignore some tronscompiled templatesKevin Chabowski2013-10-23
| |
| * Merge branch 'parser2' of git@github.com:kch42/Stupid-Template-Engine.git ↵Kevin Chabowski2013-10-23
| |\ | | | | | | | | | into improve-lang
| | * Added some testsKevin Chabowski2013-10-23
| | |
| * | Merge branch 'parser2' into improve-langKevin Chabowski2013-10-21
|/| | | |/ | | | | The new parser will allow some improvements to the language.
| * Removed old parse function and added some documentation.Kevin Chabowski2013-10-21
| |
| * tidyup_ast improvedKevin Chabowski2013-10-20
| |
| * Fixed parse_tag and parse_varKevin Chabowski2013-10-20
| | | | | | | | Now everything seems to work fine. The output code very noisy, though...
| * Added function to tidy up the ASTKevin Chabowski2013-10-20
| |
| * Fixed tag parameter parsingKevin Chabowski2013-10-20
| |
| * Some smaller fixes. Parser seems to work now.Kevin Chabowski2013-10-20
| | | | | | | | | | | | * Parser::next fixed * Parser::search_multi fixes (wrong variable, wrong offset added) * fixed shortifopen and shortcompopen overwriting parser result.
| * Trying to write a better parser. UNTESTED!Kevin Chabowski2013-10-20
|/ | | | | | | | | The previous parser relied on some obscure regular expressions which probably could be tricked. The new parser will also allow a more sane definition of the short tags ?{..|..|..} and ~{..|..|..}. Before these were a terrible hack... All in all the goal of the rewrite is to produce a more robust parser.
* Some minor documentation fixesKevin Chabowski2013-02-03
| | | | Grammar and spelling...
* New docu and fixed mkdocu.shKevin Chabowski2012-10-04
| | | | | mkdocu.sh will now test, if the executable is named "naturaldocs" or "NaturalDocs".
* mute_runtime_errors should now work...Kevin Chabowski2012-10-04
|
* improved <ste:escape> and fixed docu.Kevin Chabowski2012-10-04
| | | | | | | | | * <ste:escape> can now also convert line breaks to <br />, if parameter lines is true. * <ste:escape> now uses PHP's htmlspecialchars instead of htmlentities since it only escapes the minimal neccessary chars which should work, if encoding is handled correctly. * Fixed 2 markup bugs in docu/language_definition.html
* set:array_filter addedKevin Chabowski2012-07-02
|
* Added new Tags to the standard library.Kevin Chabowski2012-06-27
| | | | | | | * ste:in_array checks, if a value is in an array * ste:join joins an array with a glue string * ste:split splits a string with a delimiter to an array * ste:array_add adds an element to an array.
* Fixed STECore::get_var_reference bugs.Kevin Chabowski2012-06-27
| | | | | * It did not return a reference. * Some Tags from the standardlib used references in a wrong way.
* evalbool does not longer yield warnings on non-text inputs.Kevin Chabowski2012-06-06
|
* Fixed broken infloop subcompiler.Kevin Chabowski2012-05-22
|
* Removed a temporary debug output.Kevin Chabowski2012-03-01
|
* Forgot to include the new documentation.Kevin Chabowski2012-02-29
|