public void Execute()
        {
            List <FileInfo> files = new List <FileInfo>();

            foreach (String fileFilter in _howToGenerate.FileFilter)
            {
                files.AddRange(GetFiles(fileFilter));
            }

            // TODO: ReferenceTable

            var writer = new HtmlWriter("out.html", _howToGenerate.ColumnWidth);

            writer.AddCssIncludes(
                new CssInclude("screen.css"),
                new CssInclude("print.css")
            {
                Media = "print"
            },
                new CssInclude("ie.css")
            {
                Conditional = "if lt IE 8"
            },
                new CssInclude("custom.css"),
                new CssInclude("fancy-type-screen.css")
                );

            foreach (FileInfo file in files)
            {
                Console.WriteLine("Processing file " + file.FullName);

                var content  = File.ReadAllText(file.FullName);
                var markdown = new Markdown();
                var html     = markdown.Transform(content);

                writer.Append(html);
            }

            writer.Write();
        }