Esempio n. 1
0
 public void AddUrlIncludeSpeedy(UrlInclude urlInclude, AssetLinks result)
 {
     if (urlInclude.Type == AssetType.Script)
     {
         result.Scripts.Add($"{urlInclude.Url}");
     }
     else
     {
         result.Styles.Add($"<link async=\"true\" href=\"{urlInclude.Url}\" rel=\"stylesheet\" />");
     }
 }
Esempio n. 2
0
        protected virtual void AddThemeIncludeSpeedy(ThemeInclude themeInclude, AssetLinks result, IThemesProvider themesProvider)
        {
            Item item = themeInclude.Theme;

            if (item == null && !themeInclude.ThemeId.IsNull)
            {
                item = ContentRepository.GetItem(themeInclude.ThemeId);
            }
            if (item != null)
            {
                Log.Debug($"Starting optimized files generation process for {item.Name} with following configuration {_configuration}");
                IList <Item> allThemes = ServiceLocator.ServiceProvider.GetService <IThemingContext>().GetAllThemes(item);
                GetLinksSpeedy(allThemes.FilterBaseThemes(), _configuration.ScriptsMode, _configuration.StylesMode, result);
                GetLinksSpeedy(themesProvider.GetThemes(item, allThemes), _configuration.ScriptsMode, _configuration.StylesMode, result);
            }
        }
Esempio n. 3
0
 protected virtual void GetLinksSpeedy(IEnumerable <Item> allThemes, AssetServiceMode scriptsMode, AssetServiceMode stylesMode, AssetLinks result)
 {
     foreach (Item allTheme in allThemes)
     {
         AssetLinks assetLinks = new AssetLinks();
         GetScriptLinks(allTheme, scriptsMode, assetLinks);
         GetStylesLinks(allTheme, stylesMode, assetLinks);
         foreach (string item in from link in assetLinks.Styles
                  select $"<link async=\"true\" href=\"{link}\" rel=\"stylesheet\" />")
         {
             result.Styles.Add(item);
         }
         foreach (string item2 in from link in assetLinks.Scripts
                  select link)
         {
             result.Scripts.Add(item2);
         }
     }
 }
Esempio n. 4
0
 protected virtual void GetLinksSpeedy(IEnumerable <Item> allThemes, AssetServiceMode scriptsMode, AssetServiceMode stylesMode, SpeedyAssetLinks result)
 {
     foreach (Item allTheme in allThemes)
     {
         AssetLinks assetLinks = new AssetLinks();
         GetScriptLinks(allTheme, scriptsMode, assetLinks);
         GetStylesLinks(allTheme, stylesMode, assetLinks);
         foreach (string item in from link in assetLinks.Styles
                  select $"<link async=\"true\" href=\"{link}\" rel=\"stylesheet\" />")
         {
             var cssFileUri      = item.Replace($"<link async=\"true\" href=\"", string.Empty).Replace($"\" rel=\"stylesheet\" />", string.Empty);
             var prefetchInclude = item.Replace($"async=\"true\"", $"async=\"true\" rel=\"prefetch\"");
             result.PlainStyles.Add(cssFileUri);
             result.PrefetchStyles.Add(prefetchInclude);
             result.Styles.Add(item);
         }
         foreach (string item2 in from link in assetLinks.Scripts
                  select link)
         {
             result.Scripts.Add(item2);
         }
     }
 }
 public SpeedyAssetLinks(AssetLinks links)
 {
     this.Scripts = links.Scripts;
     this.Styles  = links.Styles;
 }