Commit Graph
100 Commits
Author SHA1 Message Date
Justin Hileman a777c587f2 Add resolveValue method to base Template.
DRYs up compiled class output a bit and makes things FASTER!

Speeds up value resolution by 33% for primitives, 25% for methods and properties, and 10% for lambdas.
2013-01-26 16:19:06 -08:00
Justin Hileman cf76a4b8f9 Remove unused escape param from renderInternal 2013-01-26 14:49:14 -08:00
Justin Hileman 05e527fe21 Don't instantiate a LambdaHelper for classes with no Lambdas :) 2013-01-26 14:36:24 -08:00
Justin Hileman 38453d0eac Merge remote-tracking branch 'rothshahar/patch-1' into dev 2013-01-24 16:45:04 -08:00
Justin Hileman b1ca6f3cae Update Lambda Helper docblock. It was a lie. 2013-01-23 06:24:15 -08:00
Justin Hileman e5bc8d5edf Add a CascadingLoader implementation. 2013-01-21 10:26:12 -08:00
Justin Hileman b22d15a759 Add an inline template loader.
This loader is awesome for micro-frameworks such as Silex :)
2013-01-21 10:03:57 -08:00
Justin Hileman 59020c2e4f Remove unnecessary @implements annotations. 2013-01-21 10:02:58 -08:00
Justin Hileman 5fcd9f6d25 mention UnknownTemplateException in loader interface 2013-01-20 15:52:21 -08:00
Justin Hileman a20068657e Link to main docs more prominently 2013-01-20 11:24:59 -08:00
Justin Hileman 1f07edd1ad Bail early on log formatting if message has no placeholders. 2013-01-20 10:59:36 -08:00
Justin Hileman d0023b5baa Merge branch 'feature/catchable-exceptions' into dev 2013-01-20 10:51:06 -08:00
Justin Hileman 8b02366a3f Add test coverage for new exception types. 2013-01-20 10:50:00 -08:00
Justin Hileman 0436c59477 Improve Mustache exception types, catchability.
* Subclass common exception types (runtime, logic, invalid argument).
 * Add new "unknown x" exceptions for filters, helpers and templates.
 * Make all Mustache exceptions implement Mustache_Exception interface… Gotta catch 'em all!
2013-01-20 10:35:55 -08:00
Justin Hileman 5e69e63ffb Merge branch 'feature/bootstrap' into dev 2013-01-12 09:22:59 -08:00
Justin Hileman d766076b5a Add LambdaHelper and Logger to build_bootstrap. 2013-01-12 09:17:33 -08:00
Justin Hileman 01bcf6a51a Add a build_bootstrap script.
Generates `mustache.php`, a single-file bootstrap library which is a lot easier to include in your project.
2013-01-12 09:10:33 -08:00
Justin Hileman ff66639719 Add Symfony ClassLoader (needed for bootstrap) 2013-01-12 09:10:10 -08:00
Justin Hileman 64dbf3fcb0 Merge branch 'release/2.1.0' into dev 2013-01-11 23:22:53 -08:00
Justin Hileman 6ac9cf03e4 Merge branch 'release/2.1.0' 2013-01-11 23:18:03 -08:00
Justin Hileman 638ed9abc1 Bump version to 2.1.0 2013-01-11 23:17:53 -08:00
Justin Hileman d252fddf4a Add plug for PSR-3 2013-01-11 22:53:27 -08:00
Justin Hileman 1515f5126b Update logger to implement accepted PSR log spec
Add tests!
2013-01-11 22:48:43 -08:00
Justin Hileman 7522e2206d Update loging to match (proposed) logging PSR. 2012-11-30 19:01:47 -08:00
Justin Hileman d1fb1d86c5 Handle prematurely closed streams in StreamLogger. 2012-11-28 22:45:15 -08:00
Justin Hileman 8c059f566b MonologLogger should not extend AbstractLogger. 2012-11-28 22:45:15 -08:00
Justin Hileman 782017e461 Add get/setLevel to AbstractLogger. 2012-11-28 22:45:15 -08:00
Justin Hileman cd4e6b3b26 Initial logging proposal.
C.f. #112

Add logging to the Mustache Engine.

 * Add a Logger interface.
 * If a Logger instance is passed to the Engine constructor
   (or added later via setLogger) template compiling,
   caching, errors and missing partials will be logged.
 * Add a Stream Logger and Monolog Logger implementation. You
   should use the Monolog Logger.
2012-11-28 22:45:15 -08:00
Justin Hileman 2e97db3fc0 Clean up options documentation, order. 2012-11-28 20:28:03 -08:00
Justin Hileman 1792140afa Default cache permissions to the current umask.
Use system-defined umask by default, and strongly recommend going that route, but allow overrides.
2012-11-28 20:24:14 -08:00
Justin Hileman 042d537992 Allow "empty" filesystem loader extension.
Fixes #123
2012-11-28 12:59:06 -08:00
Justin Hileman 1560863c49 Failing test for empty-string filesystem loader extension.
See #123
2012-11-28 12:58:20 -08:00
Justin Hileman a6e09fd457 Learn to English 2012-10-01 15:46:14 -07:00
Justin Hileman 5b8e2215e2 Adding CONTRIBUTING file 2012-10-01 15:44:49 -07:00
Justin Hileman 242e94c91b Avoid indentomatic with long filter chains. 2012-10-01 14:51:15 -07:00
Justin Hileman 2872dd5048 Another non-callable test case for good measure 2012-10-01 14:51:15 -07:00
Justin Hileman fc453b5d01 Better filters implementation:
* Throw UnexpectedValueException when unknown
   filter is found.
 * More optimized compiler code.
 * Falsey initial values will still be fed through
   the pipe.
2012-10-01 14:51:15 -07:00
Justin Hileman 1cf44d5de9 First value in the pipe should be interpolated first. 2012-10-01 14:51:15 -07:00
Justin Hileman a64a6f82ee Handle broken pipes 2012-10-01 14:51:15 -07:00
Justin Hileman d209d1aea9 Implement {{% FILTERS }} pragma. 2012-10-01 14:51:14 -07:00
Justin Hileman f73df2af68 Add pragmas to compiler, tokenizer. 2012-10-01 14:37:39 -07:00
Justin Hileman 6a462c6792 Merge branch 'hotfix/2.0.2' into dev 2012-09-12 09:13:16 -07:00
Justin Hileman d99be3444e Merge branch 'hotfix/2.0.2' 2012-09-12 09:13:06 -07:00
Justin Hileman cf3c86f415 Bump patch version 2012-09-12 09:13:01 -07:00
Justin Hileman 5504f59cba Merge branch 'hotfix/2.0.1' into dev 2012-09-12 09:08:04 -07:00
Justin Hileman d98153e1e3 Merge branch 'hotfix/2.0.1' 2012-09-12 09:07:44 -07:00
Justin Hileman 43fbd5060c Bump patch version 2012-09-12 09:07:38 -07:00
Justin Hileman d1b5601bd2 Fix class names in documentation 2012-08-21 12:59:15 -07:00
Justin Hileman 277288137b Coding standards fixes. 2012-08-02 10:36:07 -07:00
Justin Hileman cc7d164a42 Coding standards fix. 2012-08-02 10:32:35 -07:00
Justin Hileman 510f6cafd1 Merge branch 'dev' into feature/lambda-helper 2012-08-02 10:03:30 -07:00
Justin Hileman 5f29e8305b Fix Context::find
Don't ask closures about their methods or properties
2012-08-01 23:08:50 -07:00
Justin Hileman 83cf3158ae Context::find Failing test
Closures don't like it when you touch their properties.
2012-08-01 23:08:17 -07:00
Justin Hileman 169e6e0a1f Fix whitespace in a few test files (PSR-2) 2012-07-27 17:58:55 -07:00
Justin Hileman 52c7ccf1b9 Pass a helper to section lambdas 2012-07-23 11:56:23 -07:00
Justin Hileman 9e436f8c07 Merge branch 'release/2.0.0' into dev 2012-07-09 15:02:10 -07:00
Justin Hileman cf22d1492f Merge branch 'release/2.0.0'
Conflicts:
	.gitmodules
	Mustache.php
	test/fixtures/examples/i18n/I18n.php
	vendor/spec
2012-07-09 14:55:26 -07:00
Justin Hileman 0673292ac8 Bump version to 2.0.0 2012-07-09 14:53:10 -07:00
Justin Hileman 27c7719a33 Travis changes available point releases too often. 2012-06-13 17:40:51 -07:00
Justin Hileman 0c22b75ec1 Version bump to 2.0.2-rc.1 2012-06-13 12:51:37 -07:00
Justin Hileman 83b6f935f7 Fixes for PSR-1/2 2012-06-13 12:50:18 -07:00
Justin Hileman 7750a41369 Minor code style cleanup. 2012-05-17 16:21:14 -07:00
Justin Hileman d8bc0b870f 'Improve' code coverage :) 2012-05-17 16:21:04 -07:00
Justin Hileman 49e47de612 Use versions Travis actually supports 2012-05-17 15:02:28 -07:00
Justin Hileman 5486537b10 Composer updates 2012-05-17 14:58:28 -07:00
Justin Hileman 4dd4db6065 Code style cleanup. 2012-05-03 08:03:54 -07:00
Justin Hileman 2448992cc8 Update to proposed PSR-1 coding standard.
* 4 space (no tab) indent
 * K&R-style braces
2012-05-01 22:03:39 -07:00
Justin Hileman be5cfb3e9e Rename Mustache_Mustache to Mustache_Engine.
Because the former was just too absurd to keep typing.
2012-05-01 21:30:22 -07:00
Justin Hileman 1ffd7c1a8f Remove some more slashes for 5.2. 2012-05-01 14:25:02 -07:00
Justin Hileman 0135107769 Only PHP >= 5.3.0 can call templates directly. 2012-05-01 14:20:26 -07:00
Justin Hileman 36fbb28387 Remove namespace from exception. 2012-05-01 14:20:11 -07:00
Justin Hileman a47289607d Templates are only callable in 5.3+ 2012-05-01 14:08:14 -07:00
Justin Hileman 291ca6d4cb Update the test suite config to actually exclude FiveThree 2012-05-01 14:05:50 -07:00
Justin Hileman d1912038f3 Segregate 5.3+ tests, exclude them from phpunit config. 2012-05-01 14:03:11 -07:00
Justin Hileman 9316775ccb Fix test failures in PHP 5.2.x 2012-05-01 10:19:03 -07:00
Justin Hileman 74e54cb68e Mustache.php v2.0 will play well with PHP 5.2.x 2012-05-01 10:13:19 -07:00
Justin Hileman f5137d2053 Strictly speaking, the submodule init isn't necessary. 2012-04-30 22:51:52 -07:00
Justin Hileman 27a9b1ec72 Add Travis build status badge. 2012-04-30 18:43:16 -07:00
Justin Hileman cf14f04275 Add Travis CI config 2012-04-30 18:35:18 -07:00
Justin Hileman cd6bfaefd3 Merge branch 'hotfix/1.1.0' 2012-04-03 22:01:06 -07:00
Justin Hileman 417b139d86 Version bump (v1.1.0) 2012-04-03 22:00:42 -07:00
Justin Hileman 4de7f2d23b Switch submodule to use git:// repo url. 2012-04-03 21:56:28 -07:00
Justin Hileman 8051acf8ac Switch submodules to use git:// repo urls. 2012-04-03 21:53:55 -07:00
Justin Hileman 2328615772 Change text tokens to proper tokens (instead of strings) 2012-03-26 19:34:55 -07:00
Justin Hileman 1430b27f86 Move examples into the test fixtures. 2012-03-26 19:05:08 -07:00
Justin Hileman 99a5e9b14a Per the spec, missing partials should be treated as an empty string. 2012-03-24 20:45:39 -07:00
Justin Hileman 21d2b9b392 Update composer for 5.2.x 2012-03-17 23:08:43 -07:00
Justin Hileman bec9ce8448 Add support for PHP 5.2.x 2012-03-17 23:05:52 -07:00
Justin Hileman 99ff7316b3 Add composer.json 2012-03-17 22:57:56 -07:00
Justin Hileman 23a4bb04f2 Add custom variable escapers.
cf. #86

 * Add `escape` Mustache constructor option. Expects something callable.
 * Update Compiler to either inline `htmlspecialchars` (old way) or a call to the custom escaper callback.
 * Update Compiler to statically compile charset.
 * Update template classname to account for charset and custom compilers.
2012-03-14 20:07:16 -07:00
Justin Hileman f6f9d3fe6f Allow custom escape callbacks.
cf. #86
2012-03-14 20:04:55 -07:00
Justin Hileman 9693695d2b Fix E_STRICT failure in i18n example. 2012-03-14 19:55:26 -07:00
Justin Hileman ba75d746e1 Add Helper implementation. 2012-03-14 17:49:38 -07:00
Justin Hileman 50b3594458 Fix failing partials example.
Only prepend $indent to the first output on a new line.
2012-03-14 17:41:38 -07:00
Justin Hileman fe9fccb441 Update the partials example to be a failing test case for partial indenting. 2012-03-14 13:20:30 -07:00
Justin Hileman 367013f01c 2x faster. Who needs a Buffer instance, anyway? 2012-03-14 00:00:00 -07:00
Justin Hileman 6ed1f68e68 isIterable fits better in Template than Context. 2012-03-13 20:45:26 -07:00
Justin Hileman e09bfb502f Check if array is iterable without full key diff.
~0.5-1% performance gain.
2012-03-13 20:45:26 -07:00
Justin Hileman 9a334cddf0 Inline isCallable and isTruthy into compiled templates
~3-5% performance gain.
2012-03-13 20:45:26 -07:00
Justin Hileman b27705375a Syntax highlighting for mustache in README. 2012-03-07 09:23:32 -08:00