diff --git a/README.markdown b/README.markdown
index fe144b7..2b467cf 100644
--- a/README.markdown
+++ b/README.markdown
@@ -1,6 +1,6 @@
# Kostache
-Kostache is a [Kohana 3](https://github.com/kohana/kohana) module for using [Mustache](http://defunkt.github.com/mustache/) templates in your application.
+Kostache is a [Kohana 3](https://github.com/kohana/kohana) module for using [Mustache](http://mustache.github.com/) templates in your application.
## Usage
@@ -54,4 +54,4 @@ For specific usage and documentation, see:
[PHP Mustache](http://github.com/bobthecow/mustache.php)
-[Original Mustache](http://defunkt.github.com/mustache/)
+[Original Mustache](http://mustache.github.com/)
diff --git a/classes/Mustache/Loader/Kohana.php b/classes/Mustache/Loader/Kohana.php
index 49de1c3..001e7a2 100644
--- a/classes/Mustache/Loader/Kohana.php
+++ b/classes/Mustache/Loader/Kohana.php
@@ -13,7 +13,7 @@ class Mustache_Loader_Kohana implements Mustache_Loader, Mustache_Loader_Mutable
if (isset($options['extension']))
{
- $this->_extension = '.' . ltrim($options['extension'], '.');
+ $this->_extension = ltrim($options['extension'], '.');
}
}
@@ -29,7 +29,13 @@ class Mustache_Loader_Kohana implements Mustache_Loader, Mustache_Loader_Mutable
protected function _load_file($name)
{
- $filename = Kohana::find_file($this->_base_dir, $name, $this->_extension);
+ $filename = Kohana::find_file($this->_base_dir, strtolower($name), $this->_extension);
+
+ if ( ! $filename)
+ {
+ throw new Kohana_Exception('Mustache template ":name" not found', array(':name' => $name));
+ }
+
return file_get_contents($filename);
}
diff --git a/config/userguide.php b/config/userguide.php
deleted file mode 100644
index 353acf1..0000000
--- a/config/userguide.php
+++ /dev/null
@@ -1,23 +0,0 @@
- array(
-
- // This should be the path to this modules userguide pages, without the 'guide/'. Ex: '/guide/modulename/' would be 'modulename'
- 'kostache' => array(
-
- // Whether this modules userguide pages should be shown
- 'enabled' => TRUE,
-
- // The name that should show up on the userguide index page
- 'name' => 'KOstache',
-
- // A short description of this module, shown on the index page
- 'description' => 'Logic-less View/Mustache Module for Kohana v3',
-
- // Copyright message, shown in the footer for this module
- 'copyright' => 'Zombor',
- )
- )
-);
\ No newline at end of file
diff --git a/guide/kostache/examples.md b/guide/kostache/examples.md
deleted file mode 100644
index 6068751..0000000
--- a/guide/kostache/examples.md
+++ /dev/null
@@ -1,139 +0,0 @@
-# Kostache Examples
-
-## Complex Example
-
-Model (This example uses [AutoModeler](http://github.com/zombor/Auto-Modeler)):
-
- class Model_Test extends AutoModeler
- {
- protected $_table_name = 'tests';
-
- protected $_data = array(
- 'id' => '',
- 'name' => '',
- 'value' => '',
- );
-
- protected $_rules = array(
- 'name' => array('not_empty'),
- 'value' => array('not_empty'),
- );
- }
-
-View:
-
- class View_Example extends Kostache
- {
- public $title = 'Testing';
-
- public function things()
- {
- return Inflector::plural(get_class(new Model_Test));
- }
-
- public function tests()
- {
- $tests = array();
- foreach (AutoModeler::factory('test')->fetch_all() as $test)
- {
- $tests[] = $test->as_array();
- }
- return $tests;
- }
- }
-
-Template:
-
-
-
-
-
- {{title}}
-
-
- {{title}}
- Here are all my {{things}}:
-
- {{#tests}}
- - {{id}}: ({{name}}:{{value}})
- {{/tests}}
-
-
-
-
-Controller:
-
- class Controller_Welcome extends Controller {
-
- public function action_index()
- {
- echo new View_Example;
- }
-
- } // End Welcome
-
-## Grabbing a single model value
-
-Model (This example uses [AutoModeler](http://github.com/zombor/Auto-Modeler)):
-
- class Model_Test extends AutoModeler
- {
- protected $_table_name = 'tests';
-
- protected $_data = array(
- 'id' => '',
- 'name' => '',
- 'value' => '',
- );
-
- protected $_rules = array(
- 'name' => array('not_empty'),
- 'value' => array('not_empty'),
- );
- }
-
-View:
-
- class View_Singular extends Kostache
- {
- protected $_pragmas = array(Kostache::PRAGMA_DOT_NOTATION => TRUE);
-
- public $thing_id = NULL;
- public $title = 'Testing';
-
- public function thing()
- {
- return new Model_Test($this->thing_id);
- }
- }
-
-Template:
-
-
-
-
-
- {{title}}
-
-
- {{title}}
- This is just one thing:
- {{thing.id}}
-
- - Name: {{thing.name}}
- - Value: {{thing.value}}
-
-
-
-
-Controller:
-
- class Controller_Welcome extends Controller {
-
- public function action_singular($id)
- {
- $view = new View_Singular;
- $view->thing_id = $id;
- echo $view;
- }
- } // End Welcome
diff --git a/guide/kostache/index.md b/guide/kostache/index.md
deleted file mode 100644
index 72aefac..0000000
--- a/guide/kostache/index.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# About Kostache
-
-Kostache is a Kohana module for using [Mustache](http://defunkt.github.com/mustache/) templates in your application.
-
-Mustache is a logic-less template class. It is impossible to embed logic into mustache files.
-
-This module requires mustache.php and includes it as a git submodule. See [Working With Git](tutorials.git) for more information about managing submodules.
\ No newline at end of file
diff --git a/guide/kostache/menu.md b/guide/kostache/menu.md
deleted file mode 100644
index a76cf3f..0000000
--- a/guide/kostache/menu.md
+++ /dev/null
@@ -1,4 +0,0 @@
-1. **Kostache**
- - [About](index)
- - [Usage](usage)
- - [Examples](examples)
\ No newline at end of file
diff --git a/guide/kostache/usage.md b/guide/kostache/usage.md
deleted file mode 100644
index 9bd0148..0000000
--- a/guide/kostache/usage.md
+++ /dev/null
@@ -1,58 +0,0 @@
-# Kostache Usage
-
-View classes go in classes/view/
-
-classes/view/example.php
-
- class View_Example extends Kostache
- {
- public $foo = 'bar';
- }
-
-Template files go in templates/
-
-templates/example.mustache
-
- This is a {{foo}}
-
-In your controller, just do:
-
- $view = new View_Example;
- echo $view;
-
-And you get:
-
- "This is a bar"
-
-## Partials
-
-To use a partial in your template you use the greater than sign (>) and the name, e.g. {{>header}}.
-
-You must define partials within the $_partials array in your view class. The key is the name that you use in your template and the value is a path to your partial file.
-
- protected $_partials = array(
- 'header' => 'header', // Loads templates/header.mustache
- 'footer' => 'footer/default', // Loads templates/footer/default.mustache
- );
-
-## Using the Kostache_Layout class
-
-Kostache comes with a Kostache_Layout class instead of a template controller. This allows your layouts to be more OOP and self contained, and they do not rely on your controllers so much.
-
-To use it, have your view extend the Kostache_Layout class. You can then specify your own layout file by placing it in templates/layout.mustache. At a minimum, it needs to have a {{>content}} partial defined in it.
-
-If you have a view that extends the Kostache_Layout class, but wish to render only the template and not the entire layout, you can set the public $render_layout property to FALSE. This is useful if you want to use the same view class for external requests and HMVC requests.
-
- $view = new View_Post_List;
- if ($this->request !== Request::instance) // Is internal request
- {
- $view->render_layout = FALSE;
- }
-
-## Mustache Documentation
-
-For specific usage and documentation, see:
-
-[PHP Mustache](http://github.com/bobthecow/mustache.php)
-
-[Original Mustache](http://defunkt.github.com/mustache/)
\ No newline at end of file