Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

89 lines (68 sloc) 2.787 kB
<erl>
out(A) ->
[{ssi, "TAB.inc","%%",[{"index", "choosen"}]},
{ehtml,
[{'div', [{id, "entry"}],
[{h1,[],"Yaws"},
{p,[],"Yaws is a HTTP high perfomance 1.1 webserver particularly"
" well suited for dynamic-content webapplications. Two separate modes of operations are supported."},
{ul,[],
[{li,[],
{p,[],"Standalone mode where Yaws runs as a regular webserver "
"daemon. This is the default mode."}},
{li,[],
{p,[], "Embedded mode where Yaws runs as an embedded webserver in "
"another erlang application."}}
]},
{p,[], ["Yaws is entirely written in ",
{a, [{href, "http://www.erlang.org"}], "Erlang"},
" furthermore it is a multithreaded webserver where one "
"Erlang light weight process is used to handle each client."]},
{p,[], "The main advantages of yaws compared to other Web technologies"
" are performance and elegance. The performance comes from the "
" underlying Erlang system and its ability to handle concurrent "
" processes in an efficent way. Its elegance comes from Erlang as "
"well. Web applications dont have to be written in ugly adhoc "
"languages."},
{h2,[], "yaws.hyber.org"},
{p,[], ["The www page for Yaws is ",
{a ,[{href,"http://yaws.hyber.org"}], "yaws.hyber.org"},
" The documentation, examples as well as releases can be "
"found there, and of course, ",
{a ,[{href,"http://yaws.hyber.org"}],"yaws.hyber.org"},
" is itself powered by Yaws."]},
{p,[], ["A mailing list exists at: ",
{a,[{href,"https://lists.sourceforge.net/lists/listinfo/""erlyaws-list"}],
"https://lists.sourceforge.net/lists/listinfo/erlyaws-list"}]},
{h2, [], "News"},
gen_news(A)]}]},
{ssi, "END2",[],[]}].
gen_news(A) ->
case file:open(A#arg.docroot ++ "/news",[read]) of
{ok, Fd} ->
gen_news(Fd, io:get_line(Fd,''));
Err ->
{p,[], f("No news: ~p",[Err])}
end.
gen_news(Fd, eof) ->
file:close(Fd),
[];
gen_news(Fd, Line) ->
Items = gen_items(Fd, io:get_line(Fd, '')),
case Items of
[] ->
gen_news(Fd, io:get_line(Fd,''));
_ ->
X = [{'div', [{class, "news"}],
[{h3, [], Line},
{ul, [], Items}]}
],
[X | gen_news(Fd, io:get_line(Fd,''))]
end.
gen_items(Fd, [10]) ->
[];
gen_items(Fd,eof) ->
[];
gen_items(Fd,Line) ->
[{li, [], {p, [], Line}} |gen_items(Fd, io:get_line(Fd, ''))].
</erl>
Jump to Line
Something went wrong with that request. Please try again.