out(A) ->
    [{ssi, "TAB.inc","%%",[{"index", "choosen"}]},
      [{'div', [{id, "entry"}],

        {p,[],"Yaws is a HTTP high perfomance 1.1 webserver particularly"
         " well suited for dynamic-content web applications. Two
         separate modes of operations are supported:"},
           {p,[],"Standalone mode where Yaws runs as a regular webserver "
            "daemon. This is the default mode."}},
           {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"},
                ", and furthermore it is a multithreaded webserver where one "
                "Erlang lightweight 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 don't have to be written in ugly ad hoc "

        {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,[], ["Code is on : ",

        {p,[], ["A mailing list exists at: ",
         {p, [], ["A lot of excellent"
                 " engineers have contributed to Yaws over the years, "
                  "we keep a list of all "
                  ,{a ,[{href,"contributors.txt"}], "contributors"}
         {p, [], ["A high resolution logo created by Tomas Selander exists at ",
                  {a, [{href, "yaws.eps"}],  "yaws.eps"}]},

         {h2, [], "News"},
         {p, [], ["To see all the most recent changes and activity in Yaws "
                  "development, please visit the ",
                  {a, [{href, "https://github.com/klacke/yaws"}],
                   "Yaws github repository"}, "."]},

     {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])}

gen_news(Fd, eof) ->
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,''))]

gen_items(Fd, [10]) ->
gen_items(Fd,eof) ->
gen_items(Fd,Line) ->
    [{li, [], {p, [], Line}} |gen_items(Fd, io:get_line(Fd, ''))].