andrewdavey / cassette

Manages .NET web application assets (scripts, css and templates)
http://getcassette.net
MIT License
536 stars 144 forks source link

Fonts and CSS Animations for Semantic UI not working once bundled #478

Closed davidsbond closed 6 years ago

davidsbond commented 7 years ago

Hello,

I'm using Semantic UI as a front-end framework combined with Cassette for bundling. The issue I'm having is that once cassette is in release mode, any CSS animations (such as spinning icons, modal fade ins etc.) don't work. On top of this, around every third time I refresh a page the fonts are no longer loaded and icons are replaced by random symbol characters. I see no warnings or 404 errors in the developer console.

I don't have cassette set up in any unusual way:

        /// <summary>
        ///     Configures the specified bundles.
        /// </summary>
        /// <param name="bundles">The bundles.</param>
        public void Configure(BundleCollection bundles)
        {
            CreateAreaBundles(bundles);

            bundles.AddPerSubDirectory<ScriptBundle>("Scripts");
            bundles.AddPerSubDirectory<StylesheetBundle>("Content"); 
        }

        /// <summary>
        /// Creates a script and style sheet bundle for each area in the solution. The
        /// directory structure should follow ~/Areas/{Area}/{Scripts|Content}
        /// </summary>
        /// <param name="bundles">The bundle collection.</param>
        private static void CreateAreaBundles(BundleCollection bundles)
        {
            var areaNames = RouteTable.Routes.OfType<Route>()
                .Where(d => d.DataTokens != null && d.DataTokens.ContainsKey("area"))
                .Select(r => r.DataTokens["area"]).Distinct();

            foreach (var area in areaNames)
            {
                try
                {
                    bundles.AddPerSubDirectory<StylesheetBundle>($"~/Areas/{area}/Content");
                }
                catch (DirectoryNotFoundException ex)
                {
                    if (Debugger.IsAttached)
                    {
                        Trace.WriteLine($"Missing bundle asset folder: {ex.Message}");
                    }
                }

                try
                {
                    bundles.AddPerSubDirectory<ScriptBundle>($"~/Areas/{area}/Scripts");
                }
                catch (DirectoryNotFoundException ex)
                {
                    if (Debugger.IsAttached)
                    {
                        Trace.WriteLine($"Missing bundle asset folder: {ex.Message}");
                    }
                }
            }
        }

Has anybody encountered an issue such as this before and have a resolution? Or does Semantic UI have features that Cassette does not support>

Thanks,

David.

davidsbond commented 6 years ago

Project is not maintained