move angular html page to layout
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 31 Oct 2010 11:03:08 +0000 (12:03 +0100)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 31 Oct 2010 11:03:08 +0000 (12:03 +0100)
angular-server.pl
templates/Cookbook.html.ep
templates/Cookbook/1-HelloWorld.html [deleted file]
templates/Cookbook/1-HelloWorld.html.ep [new file with mode: 0644]
templates/Cookbook/2-BasicForm.html [deleted file]
templates/Cookbook/2-BasicForm.html.ep [new file with mode: 0644]

index f90740e..db3eeb4 100755 (executable)
@@ -101,6 +101,10 @@ get '/demo/:groovy' => sub {
 };
 
 get '/Cookbook' => 'Cookbook';
+get '/Cookbook/:example' => sub {
+       my $self = shift;
+       $self->render( "Cookbook/" . $self->param('example'), layout => 'angular' );
+};
 
 
 app->start;
@@ -115,3 +119,13 @@ Yea baby!
     <head><title>Funky!</title></head>
     <body><%== content %></body>
 </html>
+
+@@ layouts/angular.html.ep
+<!DOCTYPE HTML>
+<html xmlns:ng="http://angularjs.org">
+  <head>
+    <script type="text/javascript"
+         src="/build/angular.js" ng:autobind></script>
+  </head>
+  <body><%== content %></body>
+</html>
index bdfbcd9..aadadec 100644 (file)
@@ -13,7 +13,7 @@ Examples from
 
 <ul>
 
-% foreach my $path ( sort glob('public/Cookbook/*') ) {
+% foreach my $path ( sort glob('templates/Cookbook/*') ) {
 %      my ( $file, $name ) = ( $1.$2.$3, $2 ) if $path =~ m{^.+/(\d-)([^/]+)(.html)};
 
 <li>
diff --git a/templates/Cookbook/1-HelloWorld.html b/templates/Cookbook/1-HelloWorld.html
deleted file mode 100644 (file)
index 2cbe975..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<!DOCTYPE HTML>
-<html xmlns:ng="http://angularjs.org">
-  <head>
-    <script type="text/javascript"
-         src="/build/angular.js" ng:autobind></script>
-  </head>
-  <body>
-
-Your name: <input type="text" name="name" value="World"/>
-<hr/>
-Hello {{name}}!
-
-  </body>
-</html>
diff --git a/templates/Cookbook/1-HelloWorld.html.ep b/templates/Cookbook/1-HelloWorld.html.ep
new file mode 100644 (file)
index 0000000..b986bcd
--- /dev/null
@@ -0,0 +1,3 @@
+Your name: <input type="text" name="name" value="World"/>
+<hr/>
+Hello {{name}}!
diff --git a/templates/Cookbook/2-BasicForm.html b/templates/Cookbook/2-BasicForm.html
deleted file mode 100644 (file)
index 9051281..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE HTML>
-<html xmlns:ng="http://angularjs.org">
-  <head>
-    <script type="text/javascript"
-         src="http://angularjs.org/ng/js/angular-debug.js" ng:autobind></script>
-  </head>
-  <body>
-
-<div ng:init="user = {name: 'John Smith', address:{line1: '123 Main St.', city:'Anytown', state:'AA', zip:'12345'}, contacts:[{type:'phone', value:'1(234) 555-1212'}]}">
-
-  <label>Name:</label><br/>
-  <input type="text" name="user.name" ng:required/> <br/><br/>
-
-  <label>Address:</label><br/>
-  <input type="text" name="user.address.line1" size="33" ng:required/> <br/>
-  <input type="text" name="user.address.city" size="12" ng:required/>,
-  <input type="text" name="user.address.state" size="2" ng:required ng:validate="regexp:/^\w\w$/"/>
-  <input type="text" name="user.address.zip" size="5" ng:required ng:validate="regexp:/^\d\d\d\d\d$/"/><br/><br/>
-
-  <label>Phone:</label>
-  [ <a href="" ng:click="user.contacts.$add()">add</a> ]
-  <div ng:repeat="contact in user.contacts">
-    <select name="contact.type">
-      <option>email</option>
-      <option>phone</option>
-      <option>pager</option>
-      <option>IM</option>
-    </select>
-    <input type="text" name="contact.value" ng:required/> 
-     [ <a href="" ng:click="user.contacts.$remove(contact)">X</a> ]
-  </div>
-</div>
-
-<hr/>
-Debug View:
-<pre>user={{user}}</pre>
-
-  </body>
-</html>
diff --git a/templates/Cookbook/2-BasicForm.html.ep b/templates/Cookbook/2-BasicForm.html.ep
new file mode 100644 (file)
index 0000000..40b0e13
--- /dev/null
@@ -0,0 +1,28 @@
+<div ng:init="user = {name: 'John Smith', address:{line1: '123 Main St.', city:'Anytown', state:'AA', zip:'12345'}, contacts:[{type:'phone', value:'1(234) 555-1212'}]}">
+
+  <label>Name:</label><br/>
+  <input type="text" name="user.name" ng:required/> <br/><br/>
+
+  <label>Address:</label><br/>
+  <input type="text" name="user.address.line1" size="33" ng:required/> <br/>
+  <input type="text" name="user.address.city" size="12" ng:required/>,
+  <input type="text" name="user.address.state" size="2" ng:required ng:validate="regexp:/^\w\w$/"/>
+  <input type="text" name="user.address.zip" size="5" ng:required ng:validate="regexp:/^\d\d\d\d\d$/"/><br/><br/>
+
+  <label>Phone:</label>
+  [ <a href="" ng:click="user.contacts.$add()">add</a> ]
+  <div ng:repeat="contact in user.contacts">
+    <select name="contact.type">
+      <option>email</option>
+      <option>phone</option>
+      <option>pager</option>
+      <option>IM</option>
+    </select>
+    <input type="text" name="contact.value" ng:required/> 
+     [ <a href="" ng:click="user.contacts.$remove(contact)">X</a> ]
+  </div>
+</div>
+
+<hr/>
+Debug View:
+<pre>user={{user}}</pre>