private static void BuildCss(CssPack pack) { const string cssTemplate = "<link rel=\"stylesheet\" type=\"text/css\" href=\"/{0}\" />"; var fileList = pack.Files.ToList(); var text = string.Join(string.Empty, fileList.Select(file => string.Format(cssTemplate, file)).ToArray()); CssTagsInternal.Add(pack.Name, text); }
public static void AddCssPack(CssPack pack) { BuildCss(pack); if (!pack.SkipBundling) { BuildCompressedCss(pack); } }
private static void BuildCompressedCss(CssPack pack) { var contents = Utils.GetCompressedContents(pack.Files, pack.BasePath, new StyleSheetCompressor()); CompressedCssContentsInternal.Add(pack.Name, contents); if (string.IsNullOrWhiteSpace(pack.CacheBustingString)) { pack.CacheBustingString = Utils.GetSignature(contents); } switch (pack.CacheBustingMethod) { case CacheBustingMethod.VaryByUrlPath: var compressedTemplate = "<link rel=\"stylesheet\" type=\"text/css\" href=\"/bundles/css/{0}/{1}\" />"; CompressedCssTagsInternal.Add(pack.Name, string.Format(compressedTemplate, pack.CacheBustingString, pack.Name)); break; default: compressedTemplate = "<link rel=\"stylesheet\" type=\"text/css\" href=\"/bundles/css/{0}?r={1}\" />"; CompressedCssTagsInternal.Add(pack.Name, string.Format(compressedTemplate, pack.Name, pack.CacheBustingString)); break; } }