/* This converts ::/Demo/ToHtmlToTXTDemo/DemoInPage.DD to
an html document named "OutPage.html".

Notice that an entry like $TX,"GOOGLE",HTML="http://www.google.com"$
will be converted to text in the html with an html link.

Terry cheated by hardcoding www.templeos.org as the website
for ZealOS Links.  Why don't you copy
::/Demo/ToHtmlToTXTDemo/ToHtml.CC to your /Home directory
and modify it?  You are welcome to link to
http://www.templeos.org if you want file that come on the
ZealOS distribution.

You can pass html meta data as args to ToHtml().
*/

Cd(__DIR__);;
#include "ToHtml"

//ToHtml("DemoInPage.DD", "~/DemoOutPage");

I64     Dir2Html(U8 *src_files_find_mask, U8 *dst_files_find_mask)
{
        CDirEntry       *tmpde1 = NULL, *tmpde2;
        I64                      res = 0;
        U8                      *dest_path, *dest_file, *dest_abs, dest_ext[STR_LEN];

        tmpde1 = FilesFind(src_files_find_mask, FUF_RECURSE);
        dest_abs = DirNameAbs(dst_files_find_mask);

        if (tmpde1)
        {
                while (tmpde1)
                {
                        tmpde2 = tmpde1->next;
                        res++;

                        dest_file = StrNew(tmpde1->name);
                        FileExtRemove(dest_file, dest_ext);

                        dest_path = MStrPrint("%s/%s", dest_abs, dest_file);

                        "%s\n", tmpde1->full_name;

                        if (!(tmpde1->attr & RS_ATTR_DIR))
                        {
                                if (StrCompare(dest_ext, "BIN.C")       &&
                                        StrCompare(dest_ext, "BIN")             &&
                                        StrCompare(dest_ext, "html")    &&
                                        StrCompare(dest_ext, "DATA")    &&
                                        StrCompare(dest_ext, "MAP"))
                                {
                                        "%s.html\n\n", dest_path;
                                        ToHtml(tmpde1->full_name, dest_path);
                                }
                        }
                        else
                                Dir2Html(tmpde1->full_name, dest_path);

                        DirEntryDel(tmpde1);
                        tmpde1 = tmpde2;

                        Free(dest_path);
                        Free(dest_file);
                }
        }

        Free(dest_abs);

        return res;

}

I64 HtmlGen()
{
        DocMax;
        DocMax;
        DelTree("::/HTML/");
        Dir2Html("::/", "::/HTML/");
}

HtmlGen;