Skip to content

Commit

Permalink
Merge pull request #11 from artemeff/mad-static
Browse files Browse the repository at this point in the history
add static files compiler
  • Loading branch information
5HT committed Sep 8, 2014
2 parents 1e531ff + a956393 commit e253b8b
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 0 deletions.
Binary file modified mad
Binary file not shown.
4 changes: 4 additions & 0 deletions src/mad.erl
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@ release(_Cwd,_ConfigFileName,_Config,Params) ->
io:format("Release Params: ~p~n",[Params]),
mad_release:main(Params).

static(_Cwd,_ConfigFileName,Config,Params) ->
io:format("Compile Static Params: ~p~n",[Params]),
mad_static:main(Config, Params).

help(Reason, Data) -> help(io_lib:format("~s ~p", [Reason, Data])).
help(Msg) -> io:format("Error: ~s~n~n", [Msg]), help().
help() ->
Expand Down
41 changes: 41 additions & 0 deletions src/mad_static.erl
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
-module(mad_static).
-copyright('Yuri Artemev').
-compile(export_all).
-define(NODE(Bin), "node_modules/.bin/"++Bin).

main(Config, ["watch"]) ->
case mad_utils:get_value(static, Config, []) of
[] -> skip;
SC ->
Port = mad_utils:get_value(assets_port, SC, 3000),
install_deps(), serve_static(Port)
end;
main(Config, _Params) ->
case mad_utils:get_value(static, Config, []) of
[] -> skip;
SC ->
Files = mad_utils:get_value(files, SC, []),
install_deps(), compile_static(Files)
end.

install_deps() ->
case filelib:is_dir("node_modules/mincer-erl") of
true -> ok;
_ ->
case sh:oneliner("npm install mincer-erl") of
{_,0,_} -> ok;
{_,_,_} -> exit("error while installing mincer-erl")
end
end.

% FIXME exit
serve_static(Port) ->
PortStr = integer_to_list(Port),
sh:oneliner([?NODE("mincer-erl-serve"), "-p " ++ PortStr]).

compile_static(Files) ->
Res = sh:oneliner([?NODE("mincer-erl-compile")] ++ Files),
case Res of
{_,0,_} -> ok;
{_,_,_} -> exit("error while compiling assets")
end.
1 change: 1 addition & 0 deletions src/mad_utils.erl
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ to_atom(X) when is_list(X) -> list_to_atom(X);
to_atom(X) when is_binary(X) -> to_atom(binary_to_list(X));
to_atom(X) -> X.

atomize("static") -> static;
atomize("com"++_) -> compile;
atomize("rep"++_) -> repl;
atomize("bun"++_) -> bundle;
Expand Down

0 comments on commit e253b8b

Please sign in to comment.