Rhythm.Staticize.StaticizeTest.StaticizeTest1 C# (CSharp) Method

StaticizeTest1() private method

private StaticizeTest1 ( ) : void
return void
        public void StaticizeTest1()
        {
            // 编号
            String batchId = CreateBatchId();

            // 输出文件夹
            string outputDirectory = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, batchId);
            System.IO.Directory.CreateDirectory(outputDirectory);

            List<KeyValuePair<Uri, String>> pages = new List<KeyValuePair<Uri, string>>(10000);

            // 将下面的 URL 生成为 HTML 静态化文件,文件会生成在 bin 下
            var urls = new[] {
                "http://www.zhihu.com/question/25519625",
                "http://www.zhihu.com/question/27232313",
                "http://www.zhihu.com/question/31291872",
                "http://www.zhihu.com/question/31293043",
                "http://www.zhihu.com/question/31318753",
                "http://cn.bing.com/",
                "http://36kr.com/"
            };

            // 需要说明,如果页面内的图片、CSS、JS 采用相对路径 即不含(http://host/),Staticize 能够自动下载并放在文件夹中
            // 但如果是绝对路径,如 http://img3.douban.com/misc/mixed_static/7011201580a8cbed.css ,则是不会下载的。
            {
                for (int i = 1; i < urls.Length; i++)
                {
                    string outputFile = System.IO.Path.Combine(outputDirectory, string.Concat("zihu-", i.ToString(), ".html"));
                    pages.Add(new KeyValuePair<Uri, String>(new Uri(urls[i]), outputFile));
                }
            }

            CreateDirectory(pages, outputDirectory);

            Staticizer staticize = new Staticizer();

            staticize.AddBehavior(
                new ImageResourcesDownloadBehavior(outputDirectory)
                );

            //staticize.AddValidation(
            //    //验证CSS文件是否存在
            //    ValidationProjection.HasCssLink("/resources/css/jquery-ui-themes.css"),
            //    ValidationProjection.HasCssLink("/resources/css/axure_rp_page.css"),
            //    //验证网页主要页面DOM元素(id)是否存在
            //    ValidationProjection.HasElement("main_container"),
            //    //验证JS文件是否存在
            //    ValidationProjection.HasScriptLink("/data/sitemap.js"),
            //    ValidationProjection.HasScriptLink("/resources/scripts/jquery-1.7.1.min.js"),
            //    ValidationProjection.HasScriptLink("/resources/scripts/axutils.js"),
            //    ValidationProjection.HasScriptLink("/resources/scripts/jquery-ui-1.8.10.custom.min.js"),
            //    ValidationProjection.HasScriptLink("/resources/scripts/axurerp_beforepagescript.js"),
            //    ValidationProjection.HasScriptLink("/resources/scripts/messagecenter.js")
            //    );

            //staticize.AddValidation(
            //    //验证 HTML Docuemnt 中引用的资源是否存在。
            //   ValidationProjection.ResourcesExisting(outputDirectory),
            //    //XPath
            //   ValidationProjection.XPathEquals("main_template.html", "main_container"),
            //   ValidationProjection.InternalALinkExisting(outputDirectory)
            //    );

            var stepTaken = new StaticizeStepStatus();

            var staticizeResults = staticize.Staticize(pages, stepTaken);

            var validationResults = staticizeResults.GetValidationResults();
            validationResults.Save(System.IO.Path.Combine(outputDirectory, "validationResults.txt"));
        }