Monday, March 10, 2014

minification

using System.Collections.Generic;

namespace WebRole1.SquishItHelper
{
    public static class Bundles
    {
        public static List NewSiteMasterJavaScript = new List
        {
            new SquishItFile {Url = "Scripts/Plugins/jquery-1.6.1.js", Minify = true},
            new SquishItFile {Url = "Scripts/NewPlugins/Newjquery-1.js", Minify = true},
            new SquishItFile {Url = "Scripts/NewPlugins/Newjquery_003.js", Minify = true},
            new SquishItFile {Url = "Scripts/NewPlugins/Newjquery_002.js", Minify = true},
            new SquishItFile {Url = "Scripts/NewPlugins/Newjquery-ui-1.js", Minify = true},
            new SquishItFile {Url = "Scripts/NewPlugins/Newgeneral.js", Minify = true},
            new SquishItFile {Url = "Scripts/NewPlugins/Newjquery.js", Minify = true},
            new SquishItFile {Url = "Scripts/NewPlugins/Newmisc.js", Minify = true},
            new SquishItFile {Url = "Scripts/jquery.autocomplete.js", Minify = true},          
            new SquishItFile {Url = "Scripts/Plugins/jquery.json-2.2.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/jquery-lang.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/TimeZone.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/AjaxCall.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/ajaxfileupload.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/jquery.cookie.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/json_eval.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/jquery.validationEngine.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/jquery.validationEngine-en.js", Minify = true},
            new SquishItFile {Url = "Scripts/general.js", Minify = true},
            new SquishItFile {Url = "Scripts/Custom/Menu/NewMenu.js", Minify = true},
            new SquishItFile {Url = "Scripts/Common_function.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/ajaxfileupload.js", Minify = true},
            new SquishItFile {Url = "Scripts/Notification/jquery.toastmessage.tests.js", Minify = true},
            new SquishItFile {Url = "Scripts/Notification/Notification.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/jquery.paginate.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/slides.min.jquery.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/jquery-ui-1.8.6.custom.min.js", Minify = false},
            new SquishItFile {Url = "Scripts/Plugins/date.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/jquery.ui.datepicker.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/Timer/demo.js", Minify = true},
            new SquishItFile {Url = "Scripts/Plugins/Timer/jquery.timer.js", Minify = true},
            new SquishItFile {Url = "Scripts/jquery-barcode.js", Minify = true},
            new SquishItFile {Url = "Scripts/jquery-barcode.min.js", Minify = true},
            new SquishItFile {Url = "Scripts/Common_function.js", Minify = true},
            new SquishItFile {Url = "Scripts/Custom/Common/Page.js", Minify = true},
            new SquishItFile {Url = "Scripts/Custom/Common/Module.js", Minify = true}
        };
}

-----------------------------------------------------------------------------------------------


namespace WebRole1.SquishItHelper
{
    public class SquishItFile
    {
        public string Url { get; set; }

        public bool Minify { get; set; }
    }
}

-------------------------------------------------------------------------------------------------------

using System.Collections.Generic;
using System.Configuration;
using System.Web.Configuration;
using SquishIt.Framework;
using SquishIt.Framework.CSS;
using SquishIt.Framework.JavaScript;
using SquishIt.Framework.Minifiers.JavaScript;

namespace WebRole1.SquishItHelper
{
    public class SquishItStartup
    {
        protected static string BasePath = "";

        protected static JavaScriptBundle BuildJavaScriptBundle(List files)
        {
            var bundle = Bundle.JavaScript();

            foreach (var item in files)
            {
                var url = item.Url;

                if (!string.IsNullOrWhiteSpace(BasePath))
                {
                    url = BasePath + item.Url.Replace("~", "");
                }

                if (item.Minify)
                {
                    bundle.WithMinifier().Add(url);
                }
                else
                {
                    bundle.AddMinified(url);
                }
            }

            return bundle;
        }

        protected static CSSBundle BuildCssBundle(List files)
        {
            var bundle = Bundle.Css();

            foreach (var item in files)
            {
                var url = item.Url;

                if (!string.IsNullOrWhiteSpace(BasePath))
                {
                    url = BasePath + item.Url.Replace("~", "");
                }

                if (item.Minify)
                {
                    bundle.Add(url);
                }
                else
                {
                    bundle.AddMinified(url);
                }
            }

            return bundle;
        }

        public static void Setup(string basePath = "")
        {
            BasePath = basePath;
            bool debug = false;
            var section = ConfigurationManager.GetSection("system.web/compilation") as CompilationSection;
            if (section != null)
            {
                debug = section.Debug;
            }
            if (!debug)
            {
                BuildJavaScriptBundle
                    (
                    Bundles.NewSiteMasterJavaScript
                    ).ForceRelease().HashKeyNamed("hash").AsNamed("newsitemaster_#", "~/Scripts/Release/newsitemaster_combined.js");

                BuildJavaScriptBundle
                    (
                    Bundles.LoginJavaScript)
                    .ForceRelease()
                    .HashKeyNamed("hash")
                    .AsNamed("login_#", "~/Scripts/Release/login_combined.js");


}
}
}
------------------------------------------------------------------------------------------------------------------
Gloabal.ascx
  protected void Application_Start(object sender, EventArgs e)
        {
            var sitePath = System.Configuration.ConfigurationManager.AppSettings["SitePath"];
            Bundle.ConfigureDefaults()
                .UseMinifierForJs(
                    new SquishIt.Framework.Minifiers.JavaScript.JsMinMinifier());
            SquishItStartup.Setup(sitePath);
        }


http://www.mroma.net/blog/c-helper-functions-to-map-a-datatable-or-datarow-to-a-class-object/



-------------------------------------------------------------------------------------------------------------------------------------

No comments:

Post a Comment

fill in blanks

ALL Reading Blanks: Special All approaches aim to increase blood flow to areas of tension and to release painful knots opt1 muscle kn...