Просмотр исходного кода

test_var and test_comment working again, others not yet

git-svn-id: http://erlydtl.googlecode.com/svn/trunk@29 a5195066-8e3e-0410-a82a-05b01b1b9875
rsaccon 17 лет назад
Родитель
Сommit
1d0c8e923d

+ 0 - 11
demo/out/test_extends.html

@@ -1,11 +0,0 @@
-bar1string
-
-base template
-
-replacing the base title
-
-more of base template
-
-replacing the base content - variable: bar2string after variable 
-
-end of base template

+ 11 - 0
demo/out/test_var.html

@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>Test variable</title>								 
+  </head>
+  <body>
+	foostring1
+	foostring2
+  </body>
+</html>

+ 2 - 2
demo/templates/test_var.html

@@ -5,7 +5,7 @@
     <title>Test variable</title>								 
   </head>
   <body>
-	{{ variable1 }}
-	<!--{{ variable2 }}-->
+	{{ var1 }}
+	<!--{{ var2 }}-->
   </body>
 </html>

+ 12 - 11
src/demo/erlydtl_demo.erl

@@ -86,11 +86,11 @@ compile(Name, Ext) ->
 %%--------------------------------------------------------------------
 render() ->
     render("var"),
-    render("extends", ".html", ["barstring1", "barstring2"]),
-    render("comment", ".html"),
-    render("htmltags", ".html"),
-    render("csstags", ".css"),
-    render("for", ".html", [["apple", "banana"]]).
+    render("extends"),
+    render("comment"),
+    render("for"),
+    render("htmltags"),
+    render("csstags").
         
 
 %%--------------------------------------------------------------------
@@ -102,19 +102,20 @@ render("var" = Name) ->
     render(Name, ".html", [{var1, "foostring1"}, {var2, "foostring2"}]);
  
 render("extends" = Name) ->
-    render(Name, ".html", ["bar1string", "bar2string"]);
+    render(Name, ".html", [{var1, "barstring1"}, {var2, "barstring2"}]);
         
 render("comment" = Name) ->
     render(Name, ".html");
+    
+render("for" = Name) ->
+    render(Name, ".html", [{fruit_list, ["apple", "banana"]}]);
                 
 render("htmltags" = Name) ->
     render(Name, ".html");
     
 render("csstags" = Name) ->
-    render(Name, ".html");    
+    render(Name, ".html").    
                     
-render("for" = Name) ->
-    render(Name, ".html", [["apple", "banana"]]).
 
 
 %%--------------------------------------------------------------------
@@ -142,8 +143,8 @@ render(Name, Ext, Args) ->
 %% Internal functions
 %%====================================================================
 
-render2(OutDir, Module, Ext, Args) ->
-    case catch apply(Module, render, Args) of
+render2(OutDir, Module, Ext, Arg) ->
+    case catch apply(Module, render, [Arg]) of
         {'EXIT', Reason} -> 
             io:format("TRACE ~p:~p ~p: rendering failure: ~n",[?MODULE, ?LINE, Reason]);
         Val -> 

+ 1 - 3
src/erlydtl/erlydtl_server.erl

@@ -204,7 +204,7 @@ compile([H | T], ModuleName, FunctionName, RelDir, Ext) ->
 	    _ ->
 	        Var = erl_syntax:variable(new_var(Args, 0)),
 	        Body0 = lists:foldl(fun(X, Acc) -> 
-	                X2 = list_to_atom(lists:concat(["A", X])),
+	                X2 = list_to_atom(tl(atom_to_list(X))),
         	        A = erl_syntax:variable(X),
         	        B = erl_syntax:application(erl_syntax:atom(proplists), 
     	                erl_syntax:atom(get_value), [erl_syntax:atom(X2), Var]),
@@ -214,8 +214,6 @@ compile([H | T], ModuleName, FunctionName, RelDir, Ext) ->
         	    Args),
         	{[Var], Body0}
 	end, 
-%io:format("TRACE ~p:~p Body ~p~n",[?MODULE, ?LINE, Body]),
-io:format("TRACE ~p:~p Body ~p~n",[?MODULE, ?LINE, erl_syntax:revert(Body)]),
 	Clause = erl_syntax:clause(Args1, none, Body),
 	Func = erl_syntax:function(erl_syntax:atom(FunctionName), [Clause]),
 	[Mod, Cmp] = [erl_syntax:attribute(erl_syntax:atom(X), [erl_syntax:atom(Y)]) ||