Ejemplo n.º 1
0
 public void FetchData(S2cSite site, string @filetype)
 {
     DataDictionary = new Dictionary<string, string>();
     Console.WriteLine(string.Format("Fetching {0} data...", @filetype));
     switch (@filetype)
     {
         case "paths":
             break;
         case "json":
             FetchJsonResourceData(site);
             break;
         case "view":
             FetchSerpBannerData(site);
             break;
         case "less":
             FetchLessData(site);
             break;
         case "javascript":
             FetchJavaScriptData(site);
             break;
         case "image":
             FetchImageData(site);
             break;
     }
     Console.WriteLine("Finished");
 }
Ejemplo n.º 2
0
 private void FetchLessData(S2cSite site)
 {
     S2CFilesList = new List <S2cFile>();
     LessImportsStatementsList = new List <string>();
     SiteDomTagsForProcessing  = site.PageObject["link"];
     FetchStyleCssFiles(site);
 }
Ejemplo n.º 3
0
        public void TransformData(S2cSite site, string @filetype)
        {
            Console.WriteLine(string.Format("Processing {0} data...", @filetype));
            switch (@filetype)
            {
            case "paths":
                break;

            case "json":
                TransformJsonResourceData(site, FilePathDictionary, DataDictionary);
                break;

            case "view":
                TransformViewData(FilePathDictionary, DataDictionary);
                break;

            case "less":
                TransformLessData(site);
                break;

            case "javascript":
                JavaScriptSiteScriptTagsToS2CJavaScriptFiles(site);
                break;

            case "image":
                TransformImageData(site);
                break;
            }
            Console.WriteLine("Finished");
        }
Ejemplo n.º 4
0
        //Transform Data Methods

        private void TransformJsonResourceData(S2cSite site, Dictionary <string, string> filePathDictionary,
                                               Dictionary <string, string> dataDictionary)
        {
            CreateScriptUri(site, JavascriptFilesList, site.PageObject["script"]);
            S2CFilesList.Add(new S2cFile(filePathDictionary["rightrailfilepath"], dataDictionary["rightraildata"]));
            S2CFilesList.Add(new S2cFile(filePathDictionary["scripturifilepath"], dataDictionary["scripturidata"]));
        }
Ejemplo n.º 5
0
        public void FetchData(S2cSite site, string @filetype)
        {
            DataDictionary = new Dictionary <string, string>();
            Console.WriteLine(string.Format("Fetching {0} data...", @filetype));
            switch (@filetype)
            {
            case "paths":
                break;

            case "json":
                FetchJsonResourceData(site);
                break;

            case "view":
                FetchSerpBannerData(site);
                break;

            case "less":
                FetchLessData(site);
                break;

            case "javascript":
                FetchJavaScriptData(site);
                break;

            case "image":
                FetchImageData(site);
                break;
            }
            Console.WriteLine("Finished");
        }
Ejemplo n.º 6
0
        public void WriteData(S2cSite site, string @filetype)
        {
            Console.WriteLine(string.Format("Saving {0} data...", @filetype));
            switch (@filetype)
            {
            case "paths":
                WritePaths(site);
                break;

            case "json":
                WriteS2cFileData(S2CFilesList);
                break;

            case "view":
                WriteS2cFileData(S2CFilesList);
                break;

            case "less":
                WriteLessFileData(FilePathDictionary);
                break;

            case "javascript":
                WriteJavaScriptData(FilePathDictionary, DataDictionary);
                break;

            case "image":
                WriteImageData();
                break;
            }
            Console.WriteLine("Finished");
        }
Ejemplo n.º 7
0
 private void GenerateJsonResourceFilePaths(S2cSite site)
 {
     FilePathDictionary.Add("rightrailfilepath",
                            GenerateFilePath(site.RightRailFilepath, "", site.SiteName + ".json"));
     FilePathDictionary.Add("scripturifilepath",
                            GenerateFilePath(site.ScriptUriFilepath, "", site.SiteName + ".json"));
 }
Ejemplo n.º 8
0
        private void StripImagesFromCssFiles(S2cSite site)
        {
            var lessFiles = site._lessFilesFactory.S2CFilesList;

            foreach (S2cFile lessFile in lessFiles)
            {
                try
                {
                    using (StreamReader sr = new StreamReader(lessFile.FilePath))
                    {
                        foreach (var url in sr.ReadToEnd().Split(' '))
                        {
                            var imageFilePath = GetImageFileNameFromCssUrl(url);
                            if (imageFilePath == null ||
                                !RegexHelper.FileExtensionRegex().Match(imageFilePath).Success)
                            {
                                continue;
                            }
                            var imagePath = GenerateFilePath(site.ResourcesFilepath, "img",
                                                             imageFilePath.Split('/').Last().Split('?').FirstOrDefault());
                            var imageUrl = site.PageUrl + imageFilePath;
                            S2CFilesList.Add(new S2cFile(imagePath, imageUrl));
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("The file could not be read:");
                    Console.WriteLine(e.Message);
                    Console.ReadLine();
                }
            }
        }
Ejemplo n.º 9
0
        // Write Data Methods

        private void WritePaths(S2cSite site)
        {
            Directory.CreateDirectory(site.RouteFilepath);
            foreach (var directoryPath in FormattedSubdirectoryList)
            {
                Directory.CreateDirectory(directoryPath);
            }
        }
Ejemplo n.º 10
0
 private void TransformLessData(S2cSite site)
 {
     LessFileFilePaths = new List <string>();
     FinalCssList      = new List <string>();
     InsertYahooOnlyStyleReference(site);
     GenerateLessFiles(site, SiteDomTagsForProcessing);
     ToLessFilesFromImportStatementList(site);
     CreateSiteLessFile();
 }
Ejemplo n.º 11
0
 private void ToLessFilesFromImportStatementList(S2cSite site)
 {
     foreach (var url in LessImportsStatementsList)
     {
         string filename = ConvertCssExtToLessExt(PathCleanerHelper.CleanCSSPath(url));
         var    path     = GenerateFilePath(site.ResourcesFilepath, "css", filename);
         S2CFilesList.Add(CreateLessFile(path, url));
     }
 }
Ejemplo n.º 12
0
 private void CreateSubdirectoryPaths(S2cSite site)
 {
     foreach (var directory in site.SubdirectoriesList)
     {
         var subdirectory = directory == "partials"
             ? site.ViewsFilepath + directory
             : site.ResourcesFilepath + directory;
         FormattedSubdirectoryList.Add(subdirectory);
     }
 }
Ejemplo n.º 13
0
        private void InsertYahooOnlyStyleReference(S2cSite site)
        {
            if (!site.IsYahooOnly)
            {
                return;
            }
            var yahooFileRoute = site.IsBonnier ? "../../../css/yahoo.less" : "../../css/yahoo.less";

            LessFileFilePaths.Insert(1, yahooFileRoute);
        }
Ejemplo n.º 14
0
        private void GenerateInitialJavascriptFileList(S2cSite site)
        {
            string adstylesFile = "\"~/content/" + site.SiteRoute + "/scripts/adstyles.js\"";

            JavascriptFilesList = new List <string>
            {
                "\"~/scripts/baseinit.js\"",
                "\"~/scripts/siteinit.js\"",
                adstylesFile
            };
        }
Ejemplo n.º 15
0
 private void FetchStyleCssFiles(S2cSite site)
 {
     foreach (var styleTag in site.PageObject["style"])
     {
         var result = Regex.Match(styleTag.InnerText, "\"http.+\"");
         if (result.Success)
         {
             LessImportsStatementsList.Add(result.ToString());
         }
     }
 }
Ejemplo n.º 16
0
        private static IDomObject FindFaviconTag(S2cSite site)
        {
            IDomObject faviconTag = null;

            foreach (var linkTag in site.PageObject["link"])
            {
                if (linkTag["rel"] == "shortcut icon")
                {
                    faviconTag = linkTag;
                }
            }
            return(faviconTag);
        }
Ejemplo n.º 17
0
 private void GenerateLessFiles(S2cSite site, CQ linkTagsCq)
 {
     foreach (var linkTagCq in linkTagsCq)
     {
         var filename = linkTagCq["href"].Split('/').Last();
         if (linkTagCq["rel"] == "stylesheet" && RegexHelper.CssRegex().Match(filename).Success)
         {
             var file = ConvertCssExtToLessExt(filename);
             S2CFilesList.Add(CreateLessFile(GenerateFilePath(site.ResourcesFilepath, "css", file),
                                             linkTagCq["href"]));
         }
     }
 }
Ejemplo n.º 18
0
        private string ArticleJsonProducer(S2cSite site, int numberOfArticles)
        {
            List <string> articlePlaceholderList = new List <string>();
            string        articlePlaceholder     = "{" + "\n\t\t\t" + "\"url\" : \"http//www.example.com\"," + "\n\t\t\t" +
                                                   "\"title\" : \"Example\"," + "\n\t\t\t" + "\"description\" : \"Change me in " +
                                                   site.SiteName + ".json\"" +
                                                   "\n\t\t" + "}";

            for (var i = 0; i < numberOfArticles; i++)
            {
                articlePlaceholderList.Add(articlePlaceholder);
            }

            return(String.Join(",\n\t\t", articlePlaceholderList));
        }
Ejemplo n.º 19
0
 private void StripFilesFromImageTags(S2cSite site)
 {
     foreach (var tag in SiteDomTagsForProcessing)
     {
         if (tag["rel"] == "shortcut icon")
         {
             S2CFilesList.Add(CreateImageFile(tag["href"], site));
         }
         else
         {
             S2CFilesList.Add(tag["data-src"] != null
                 ? CreateImageFile(tag["data-src"], site)
                 : CreateImageFile(tag["src"], site));
         }
     }
 }
Ejemplo n.º 20
0
 private void CreateScriptUri(S2cSite site, List <string> javascriptFilesList, CQ scriptsCq)
 {
     foreach (IDomObject scriptCq in scriptsCq)
     {
         var matchCase        = Regex.Match(scriptsCq["src"].Text(), @"\.js");
         var scriptWithSource = scriptCq["type"] == "text/javascript" && scriptCq["src"] != null;
         var scriptWithFile   = scriptCq["src"] != null && matchCase.Success;
         if (scriptWithSource || scriptWithFile)
         {
             var rawFileName   = scriptCq["src"].Split('/').Last();
             var formattedFile = "\"~/content/" + site.SiteRoute + "/scripts/" +
                                 PathCleanerHelper.CleanJsPath(rawFileName) + "\"";
             javascriptFilesList.Add(formattedFile);
         }
     }
     DataDictionary.Add("scripturidata",
                        "{" + "\n\t" + "\"uris\": [" + "\n\t\t" + String.Join(",\n\t\t", javascriptFilesList) + "\n\t" +
                        "]" + "\n" + "}");
 }
Ejemplo n.º 21
0
 private void JavaScriptSiteScriptTagsToS2CJavaScriptFiles(S2cSite site)
 {
     S2CFilesList = new List <S2cFile>();
     foreach (var tag in SiteDomTagsForProcessing)
     {
         bool validScriptTagConditionOne = (tag["type"] == "text/javascript" && tag["src"] != null);
         bool validScriptTagConditionTwo = (tag["src"] != null &&
                                            RegexHelper.JavaScriptRegex().Match(tag["src"]).Success);
         if (validScriptTagConditionOne || validScriptTagConditionTwo)
         {
             var filepath =
                 PathCleanerHelper.CleanJsPath(GenerateFilePath(site.ResourcesFilepath, "scripts",
                                                                tag["src"].Split('/').Last()));
             if (RegexHelper.JavaScriptRegex().Match(filepath).Success)
             {
                 S2CFilesList.Add(new S2cFile(filepath.Split('?').FirstOrDefault(), tag["src"]));
             }
         }
     }
 }
Ejemplo n.º 22
0
        static void Main()
        {
            Dictionary<string,dynamic> siteArguments = new Dictionary<string,dynamic>
            {
                {"url", "http://www.sportrider.com/find/bike"},
                {"siteRouteName", "sport_rider"},
                {"bonnier", true},
                {"yahooOnly", false}
            };
            S2cSite site = new S2cSite(siteArguments);

            site.Build(site._pathsAndDirectoriesFactory, "paths");
            site.Build(site._jsonFilesFactory, "json");
            site.Build(site._viewsFactory, "view");
            site.Build(site._lessFilesFactory, "less");
            site.Build(site._javaScriptFilesFactory, "javascript");
            site.Build(site._imagesFactory, "image");
            Console.WriteLine("Site Complete press enter to exit...");
            Console.ReadLine();
        }
Ejemplo n.º 23
0
        public void GenerateFilePaths(S2cSite site, string @filetype)
        {
            FilePathDictionary = new Dictionary <string, string>();
            Console.WriteLine("Generating {0} filepaths...", @filetype);
            switch (@filetype)
            {
            case "paths":
                GeneratePathsAndDirectories(site);
                break;

            case "json":
                GenerateJsonResourceFilePaths(site);
                break;

            case "view":
                GenerateBulkFilePaths(FilePathDictionary, site.ViewsFilepath, "",
                                      new List <string> {
                    "TopSerpBanner.cshtml", "BottomSerpBanner.cshtml"
                });
                break;

            case "less":
                GenerateBulkFilePaths(FilePathDictionary, site.ResourcesFilepath, "css",
                                      new List <string> {
                    "insp-custom.less", "site.less"
                });
                break;

            case "javascript":
                GenerateBulkFilePaths(FilePathDictionary, site.ResourcesFilepath, "scripts",
                                      new List <string> {
                    "adstyles.js"
                });
                break;

            case "image":
                break;
            }
            Console.WriteLine("Finished");
        }
Ejemplo n.º 24
0
 private void ToLessFilesFromImportStatementList(S2cSite site)
 {
     foreach (var url in LessImportsStatementsList)
     {
         string filename = ConvertCssExtToLessExt(PathCleanerHelper.CleanCSSPath(url));
         var path = GenerateFilePath(site.ResourcesFilepath, "css", filename);
         S2CFilesList.Add(CreateLessFile(path, url));
     }
 }
Ejemplo n.º 25
0
        private void StripFilesFromImageTags(S2cSite site)
        {
            foreach (var tag in SiteDomTagsForProcessing)
            {
                if (tag["rel"] == "shortcut icon")
                {
                    S2CFilesList.Add(CreateImageFile(tag["href"], site));
                }
                else
                {
                    S2CFilesList.Add(tag["data-src"] != null
                        ? CreateImageFile(tag["data-src"], site)
                        : CreateImageFile(tag["src"], site));
                }

            }
        }
Ejemplo n.º 26
0
 private void InsertYahooOnlyStyleReference(S2cSite site)
 {
     if (!site.IsYahooOnly) return;
     var yahooFileRoute = site.IsBonnier ? "../../../css/yahoo.less" : "../../css/yahoo.less";
     LessFileFilePaths.Insert(1, yahooFileRoute);
 }
Ejemplo n.º 27
0
 private void GenerateLessFiles(S2cSite site, CQ linkTagsCq)
 {
     foreach (var linkTagCq in linkTagsCq)
     {
         var filename = linkTagCq["href"].Split('/').Last();
         if (linkTagCq["rel"] == "stylesheet" && RegexHelper.CssRegex().Match(filename).Success)
         {
             var file = ConvertCssExtToLessExt(filename);
             S2CFilesList.Add(CreateLessFile(GenerateFilePath(site.ResourcesFilepath, "css", file),
                 linkTagCq["href"]));
         }
     }
 }
Ejemplo n.º 28
0
 private void GenerateInitialJavascriptFileList(S2cSite site)
 {
     string adstylesFile = "\"~/content/" + site.SiteRoute + "/scripts/adstyles.js\"";
     JavascriptFilesList = new List<string>
     {
         "\"~/scripts/baseinit.js\"",
         "\"~/scripts/siteinit.js\"",
         adstylesFile
     };
 }
Ejemplo n.º 29
0
 private void FetchSerpBannerData(S2cSite site)
 {
     S2CFilesList = new List<S2cFile>();
     DataDictionary.Add("TopSerpBanner.cshtml", site.PageObject["header"].First().RenderSelection());
     DataDictionary.Add("BottomSerpBanner.cshtml", site.PageObject["footer"].First().RenderSelection());
 }
Ejemplo n.º 30
0
 public void GenerateFilePaths(S2cSite site, string @filetype)
 {
     FilePathDictionary = new Dictionary<string, string>();
     Console.WriteLine("Generating {0} filepaths...", @filetype);
     switch (@filetype)
     {
         case "paths":
             GeneratePathsAndDirectories(site);
             break;
         case "json":
             GenerateJsonResourceFilePaths(site);
             break;
         case "view":
             GenerateBulkFilePaths(FilePathDictionary, site.ViewsFilepath, "",
                 new List<string> {"TopSerpBanner.cshtml", "BottomSerpBanner.cshtml"});
             break;
         case "less":
             GenerateBulkFilePaths(FilePathDictionary, site.ResourcesFilepath, "css",
                 new List<string> {"insp-custom.less", "site.less"});
             break;
         case "javascript":
             GenerateBulkFilePaths(FilePathDictionary, site.ResourcesFilepath, "scripts",
                 new List<string> {"adstyles.js"});
             break;
         case "image":
             break;
     }
     Console.WriteLine("Finished");
 }
Ejemplo n.º 31
0
        //DATA FETCH METHODS

        private void FetchJsonResourceData(S2cSite site)
        {
            FetchRightRailData(site);
            GenerateInitialJavascriptFileList(site);
            S2CFilesList = new List <S2cFile>();
        }
Ejemplo n.º 32
0
 private void FetchRightRailData(S2cSite site)
 {
     DataDictionary.Add("rightraildata",
                        "{" + "\n\t" + "\"data\": [" + "\n\t\t" + ArticleJsonProducer(site, 4) + "\n\t" + "]" + "\n" + "}");
 }
Ejemplo n.º 33
0
 private void FetchSerpBannerData(S2cSite site)
 {
     S2CFilesList = new List <S2cFile>();
     DataDictionary.Add("TopSerpBanner.cshtml", site.PageObject["header"].First().RenderSelection());
     DataDictionary.Add("BottomSerpBanner.cshtml", site.PageObject["footer"].First().RenderSelection());
 }
Ejemplo n.º 34
0
 private void FetchJavaScriptData(S2cSite site)
 {
     SiteDomTagsForProcessing = site.PageObject["script"];
     DataDictionary.Add("adstyles.js",
                        "wsNs = wsNs || {};\nwsNs.csr = wsNs.csr || {};\nwsNs.csr.adStyles = {\n\ttitleColor: '000000',\n\ttitleUnderline: 'false',\n\turlColor: '666666',\n\tbackgroundColor: 'fafafa',\n\ttextColor: '000'\n};");
 }
Ejemplo n.º 35
0
        private S2cFile CreateImageFile(string tag, S2cSite site)
        {
            var url = (RegexHelper.HttpRegex().Match(tag).Success) ? tag : "http:" + tag;

            return(new S2cFile(GenerateFilePath(site.ResourcesFilepath, "img", tag.Split('?').FirstOrDefault()), url));
        }
Ejemplo n.º 36
0
 private void FetchImageData(S2cSite site)
 {
     SiteDomTagsForProcessing = site.PageObject["img"];
     SiteDomTagsForProcessing.Add(FindFaviconTag(site));
 }
Ejemplo n.º 37
0
 //Transform Data Methods
 private void TransformJsonResourceData(S2cSite site, Dictionary<string, string> filePathDictionary,
     Dictionary<string, string> dataDictionary)
 {
     CreateScriptUri(site, JavascriptFilesList, site.PageObject["script"]);
     S2CFilesList.Add(new S2cFile(filePathDictionary["rightrailfilepath"], dataDictionary["rightraildata"]));
     S2CFilesList.Add(new S2cFile(filePathDictionary["scripturifilepath"], dataDictionary["scripturidata"]));
 }
Ejemplo n.º 38
0
 // Write Data Methods
 private void WritePaths(S2cSite site)
 {
     Directory.CreateDirectory(site.RouteFilepath);
     foreach (var directoryPath in FormattedSubdirectoryList)
     {
         Directory.CreateDirectory(directoryPath);
     }
 }
Ejemplo n.º 39
0
 public void WriteData(S2cSite site, string @filetype)
 {
     Console.WriteLine(string.Format("Saving {0} data...", @filetype));
     switch (@filetype)
     {
         case "paths":
             WritePaths(site);
             break;
         case "json":
             WriteS2cFileData(S2CFilesList);
             break;
         case "view":
             WriteS2cFileData(S2CFilesList);
             break;
         case "less":
             WriteLessFileData(FilePathDictionary);
             break;
         case "javascript":
             WriteJavaScriptData(FilePathDictionary, DataDictionary);
             break;
         case "image":
             WriteImageData();
             break;
     }
     Console.WriteLine("Finished");
 }
Ejemplo n.º 40
0
 private static IDomObject FindFaviconTag(S2cSite site)
 {
     IDomObject faviconTag = null;
     foreach (var linkTag in site.PageObject["link"])
     {
         if (linkTag["rel"] == "shortcut icon")
         {
             faviconTag = linkTag;
         }
     }
     return faviconTag;
 }
Ejemplo n.º 41
0
        private string ArticleJsonProducer(S2cSite site, int numberOfArticles)
        {
            List<string> articlePlaceholderList = new List<string>();
            string articlePlaceholder = "{" + "\n\t\t\t" + "\"url\" : \"http//www.example.com\"," + "\n\t\t\t" +
                                        "\"title\" : \"Example\"," + "\n\t\t\t" + "\"description\" : \"Change me in " +
                                        site.SiteName + ".json\"" +
                                        "\n\t\t" + "}";

            for (var i = 0; i < numberOfArticles; i++)
            {
                articlePlaceholderList.Add(articlePlaceholder);
            }

            return String.Join(",\n\t\t", articlePlaceholderList);
        }
Ejemplo n.º 42
0
 private void FetchStyleCssFiles(S2cSite site)
 {
     foreach (var styleTag in site.PageObject["style"])
     {
         var result = Regex.Match(styleTag.InnerText, "\"http.+\"");
         if (result.Success)
         {
             LessImportsStatementsList.Add(result.ToString());
         }
     }
 }
Ejemplo n.º 43
0
 private S2cFile CreateImageFile(string tag, S2cSite site)
 {
     var url = (RegexHelper.HttpRegex().Match(tag).Success) ? tag : "http:" + tag;
     return new S2cFile(GenerateFilePath(site.ResourcesFilepath, "img", tag.Split('?').FirstOrDefault()), url);
 }
Ejemplo n.º 44
0
 private void GenerateJsonResourceFilePaths(S2cSite site)
 {
     FilePathDictionary.Add("rightrailfilepath",
         GenerateFilePath(site.RightRailFilepath, "", site.SiteName + ".json"));
     FilePathDictionary.Add("scripturifilepath",
         GenerateFilePath(site.ScriptUriFilepath, "", site.SiteName + ".json"));
 }
Ejemplo n.º 45
0
 private void CreateScriptUri(S2cSite site, List<string> javascriptFilesList, CQ scriptsCq)
 {
     foreach (IDomObject scriptCq in scriptsCq)
     {
         var matchCase = Regex.Match(scriptsCq["src"].Text(), @"\.js");
         var scriptWithSource = scriptCq["type"] == "text/javascript" && scriptCq["src"] != null;
         var scriptWithFile = scriptCq["src"] != null && matchCase.Success;
         if (scriptWithSource || scriptWithFile)
         {
             var rawFileName = scriptCq["src"].Split('/').Last();
             var formattedFile = "\"~/content/" + site.SiteRoute + "/scripts/" +
                                 PathCleanerHelper.CleanJsPath(rawFileName) + "\"";
             javascriptFilesList.Add(formattedFile);
         }
     }
     DataDictionary.Add("scripturidata",
         "{" + "\n\t" + "\"uris\": [" + "\n\t\t" + String.Join(",\n\t\t", javascriptFilesList) + "\n\t" +
         "]" + "\n" + "}");
 }
Ejemplo n.º 46
0
 // FILEPATHS METHODS
 private void GeneratePathsAndDirectories(S2cSite site)
 {
     FormattedSubdirectoryList = new List<string>();
     CreateSubdirectoryPaths(site);
 }
Ejemplo n.º 47
0
 private void CreateSubdirectoryPaths(S2cSite site)
 {
     foreach (var directory in site.SubdirectoriesList)
     {
         var subdirectory = directory == "partials"
             ? site.ViewsFilepath + directory
             : site.ResourcesFilepath + directory;
         FormattedSubdirectoryList.Add(subdirectory);
     }
 }
Ejemplo n.º 48
0
        private void JavaScriptSiteScriptTagsToS2CJavaScriptFiles(S2cSite site)
        {
            S2CFilesList = new List<S2cFile>();
            foreach (var tag in SiteDomTagsForProcessing)
            {
                bool validScriptTagConditionOne = (tag["type"] == "text/javascript" && tag["src"] != null);
                bool validScriptTagConditionTwo = (tag["src"] != null &&
                                                   RegexHelper.JavaScriptRegex().Match(tag["src"]).Success);
                if (validScriptTagConditionOne || validScriptTagConditionTwo)
                {

                    var filepath =
                        PathCleanerHelper.CleanJsPath(GenerateFilePath(site.ResourcesFilepath, "scripts",
                            tag["src"].Split('/').Last()));
                    if (RegexHelper.JavaScriptRegex().Match(filepath).Success)
                    {
                        S2CFilesList.Add(new S2cFile(filepath.Split('?').FirstOrDefault(), tag["src"]));
                    }
                }
            }
        }
Ejemplo n.º 49
0
 private void FetchImageData(S2cSite site)
 {
     SiteDomTagsForProcessing = site.PageObject["img"];
     SiteDomTagsForProcessing.Add(FindFaviconTag(site));
 }
Ejemplo n.º 50
0
 private void StripImagesFromCssFiles(S2cSite site)
 {
     var lessFiles = site._lessFilesFactory.S2CFilesList;
     foreach (S2cFile lessFile in lessFiles)
     {
         try
         {
             using (StreamReader sr = new StreamReader(lessFile.FilePath))
             {
                 foreach (var url in sr.ReadToEnd().Split(' '))
                 {
                     var imageFilePath = GetImageFileNameFromCssUrl(url);
                     if (imageFilePath == null ||
                         !RegexHelper.FileExtensionRegex().Match(imageFilePath).Success) continue;
                     var imagePath = GenerateFilePath(site.ResourcesFilepath, "img",
                         imageFilePath.Split('/').Last().Split('?').FirstOrDefault());
                     var imageUrl = site.PageUrl + imageFilePath;
                     S2CFilesList.Add(new S2cFile(imagePath, imageUrl));
                 }
             }
         }
         catch (Exception e)
         {
             Console.WriteLine("The file could not be read:");
             Console.WriteLine(e.Message);
             Console.ReadLine();
         }
     }
 }
Ejemplo n.º 51
0
 private void FetchJavaScriptData(S2cSite site)
 {
     SiteDomTagsForProcessing = site.PageObject["script"];
     DataDictionary.Add("adstyles.js",
         "wsNs = wsNs || {};\nwsNs.csr = wsNs.csr || {};\nwsNs.csr.adStyles = {\n\ttitleColor: '000000',\n\ttitleUnderline: 'false',\n\turlColor: '666666',\n\tbackgroundColor: 'fafafa',\n\ttextColor: '000'\n};");
 }
Ejemplo n.º 52
0
 private void TransformImageData(S2cSite site)
 {
     S2CFilesList = new List<S2cFile>();
     StripFilesFromImageTags(site);
     StripImagesFromCssFiles(site);
 }
Ejemplo n.º 53
0
 //DATA FETCH METHODS
 private void FetchJsonResourceData(S2cSite site)
 {
     FetchRightRailData(site);
     GenerateInitialJavascriptFileList(site);
     S2CFilesList = new List<S2cFile>();
 }
Ejemplo n.º 54
0
 private void TransformLessData(S2cSite site)
 {
     LessFileFilePaths = new List<string>();
     FinalCssList = new List<string>();
     InsertYahooOnlyStyleReference(site);
     GenerateLessFiles(site, SiteDomTagsForProcessing);
     ToLessFilesFromImportStatementList(site);
     CreateSiteLessFile();
 }
Ejemplo n.º 55
0
 private void FetchLessData(S2cSite site)
 {
     S2CFilesList = new List<S2cFile>();
     LessImportsStatementsList = new List<string>();
     SiteDomTagsForProcessing = site.PageObject["link"];
     FetchStyleCssFiles(site);
 }
Ejemplo n.º 56
0
 // FILEPATHS METHODS
 private void GeneratePathsAndDirectories(S2cSite site)
 {
     FormattedSubdirectoryList = new List <string>();
     CreateSubdirectoryPaths(site);
 }
Ejemplo n.º 57
0
 private void FetchRightRailData(S2cSite site)
 {
     DataDictionary.Add("rightraildata",
         "{" + "\n\t" + "\"data\": [" + "\n\t\t" + ArticleJsonProducer(site, 4) + "\n\t" + "]" + "\n" + "}");
 }
Ejemplo n.º 58
0
 public void TransformData(S2cSite site, string @filetype)
 {
     Console.WriteLine(string.Format("Processing {0} data...", @filetype));
     switch (@filetype)
     {
         case "paths":
             break;
         case "json":
             TransformJsonResourceData(site, FilePathDictionary, DataDictionary);
             break;
         case "view":
             TransformViewData(FilePathDictionary, DataDictionary);
             break;
         case "less":
             TransformLessData(site);
             break;
         case "javascript":
             JavaScriptSiteScriptTagsToS2CJavaScriptFiles(site);
             break;
         case "image":
             TransformImageData(site);
             break;
     }
     Console.WriteLine("Finished");
 }
Ejemplo n.º 59
0
 private void TransformImageData(S2cSite site)
 {
     S2CFilesList = new List <S2cFile>();
     StripFilesFromImageTags(site);
     StripImagesFromCssFiles(site);
 }