|
NAMEJifty::Manual::UsingCSSandJS - Using CSS and JavaScriptDESCRIPTIONJifty comes bundled with a series of separately developed JavaScript libraries as well as a set of CSS definitions that both allow Jifty to functionally and beautifully work out of the box. This document describes the mechanisms behind the scenes as well as some of the details inside the included files.BUILT-IN FEATURESBoth, CSS and JavaScript (further abbreviated as "JS") files typically reside in the "share/web/static" directory of Jifty, keeping separate "css" and "js" subdirectories for each of both sets of files. When using Jifty without any interference into these files, all of those files will get loaded from the Jifty-provided directories.In both cases, there are hooks for expansion by keeping empty but present files in the "css" and "js" directories. By simply creating and populating these files inside the "share/web/static/css" and "share/web/static/js" directories brings the predefined hooks to work. Also there is a big difference of the whole operation between an application running in "DevelMode" or a productive application. In DevelMode, every single CSS and JS file will get included into every single template page being rendered. On the other hand, a productive application will merge all CSS and JS definitions upon the first request and will only include one file each containing all CSS and JS definitions in a single request. USING AND EXPANDING CSSAssembly of CSS definitionsWhen Jifty assembles all CSS definitions (which is internally done inside Jifty::Web by the method "include_css"), a single file, "main.css" is included into the generated HTML code of the current page. This file consists of a series of @import directives that reference every single CSS file to get used.Expansion of CSS definitionsJifty maintains two initially empty files, "app-base.css" and "app.css" that may get "overloaded" by simply providing these files in an application's "share/web/static/css" directory.These two files will get included in different order, "app-base.css" being the very first and "app.css" getting included very late in the CSS construction process. This means that general definitions that should apply to all subsequently encountered styles could easily get done in "app-base.css" whereas individual redefinitions, expansions or your application's own definitions could go into "app.css". Jifty's own definitionsJifty provides a series of definitions that are responsible for a good look without any modification. Please note that not all of the used CSS classes are already defined, but they will provide a hook for modification of the general look. Some of the styles are listed below.
USING AND EXPANDING JAVASCRIPTJifty comes bundled with a series of separately developed JavaScript libraries, like
Assembly of JS definitionsJifty maintains a complete list of JS files to include. This list may be retrieved or set by the accessor "Jifty->web->javascript_libs". There should, However, rarely arise a situation to do that, because Jifty has already reserved two files that may get added to your application:
The assembly process of all JS definitions is done in Jifty::Web by the method "include_javascript". SEE ALSOJifty::Web
Visit the GSP FreeBSD Man Page Interface. |