anchor.diff:  -author('rsaccon@gmail.com').
   
   %% API
  --export([compile_templates/0,
  -    render_html/0]).
  +-export([compile_templates/0, render_html/0]).
   
   %%====================================================================
   %% API
  
positive.code:         true,
          fun(Path, _Acc) ->
              Name = filename:rootname(filename:basename(Path)),
              erlydtl_api:compile(Path, Name, Name, DocRoot)
          end,
          []).
    
  
negative.code: %% Internal functions
  %%====================================================================
  
  render(OutDir, Module, Ext, Var) ->
      case catch Module:render(Var) of
          {'EXIT', Reason} -> 
              io:format("TRACE ~p:~p ~p: rendering failure: ~n",[?MODULE, ?LINE, Reason]);
          Val -> 
              case file:open(filename:join([OutDir, lists:concat([Module, Ext])]), [write]) of
          		{ok, IoDev} ->
          		    file:write(IoDev, Val),
          		    file:close(IoDev),
          		    io:format("TRACE ~p:~p ~p: success~n",[?MODULE, ?LINE, Module]);
          		_ ->
          		    io:format("TRACE ~p:~p ~p: file write failure~n",[?MODULE, ?LINE, Module])
          	end
      end.
      
  render(OutDir, Module, Ext) ->
      case catch Module:render() of
          {'EXIT', Reason} -> 
              io:format("TRACE ~p:~p ~p: rendering failure: ~n",[?MODULE, ?LINE, Reason]);
          Val -> 
              case file:open(filename:join([OutDir, lists:concat([Module, Ext])]), [write]) of
          		{ok, IoDev} ->
          		    file:write(IoDev, Val),
          		    file:close(IoDev),
          		    io:format("TRACE ~p:~p ~p: success~n",[?MODULE, ?LINE, Module]);
          		_ ->
          		    io:format("TRACE ~p:~p ~p: file write failure~n",[?MODULE, ?LINE, Module])
          	end
      end.
  