6
How to Add JS and CSS to Drupal 8? In a recent update made by Drupal 8, they have changed the way the asset libraries for both JS and CSS are attached to the theme. You will need to think of adopting these strategies for a variety of scenarios. Here are some of the widely thought of strategies that you can use to add JS and CSS libraries to your Drupal 8 application or website. Global Styles and Scripts

How to Add JS and CSS to Drupal 8?

Embed Size (px)

Citation preview

Page 1: How to Add JS and CSS to Drupal 8?

How to Add JS and CSS to Drupal 8?

In a recent update made by Drupal 8, they have changed the way the asset libraries for both JS and CSS are attached to the theme. You will need to think of adopting these strategies for a variety of scenarios. Here are some of the widely thought of strategies that you can use to add JS and CSS libraries to your Drupal 8 application or website.

Global Styles and ScriptsIf you want to add the CSS or JS assets through global libraries then here's how you can possibly achieve that.

The name of the global library is global-styling which will help in creating global styles, and it has been declared within the theme_name.libraries.yml. It is also added within the

Page 2: How to Add JS and CSS to Drupal 8?

theme_name.info.yml. You can avail this library through the website, as it has been declared as the global library. The theme_name.libraries.yml file will appear as follows

global-styling: version: VERSIONcss: theme:css/style.css: {}

Declare the file that you have just created to theme_name.info.yml file

name: Exampletype: themecore: 8.xlibraries:- theme_name/global-styling

Next, you need to declare the scripts to the same path

global-scripts:version: VERSIONjs:js/script.js: {}

Now, add the following libraries

Page 3: How to Add JS and CSS to Drupal 8?

name: Exampletype: themecore: 8.x libraries: - theme_name/global-styling - theme_name/global-scripts

Combine both CSS and JS assets into one

global-styles-and-scripts:version: VERSIONcss:theme:css/style.css: {}js: js/script.js: {}

Deleting or Overriding the Styles in CoreGo to theme_name.info.yml and

stylesheets-remove: - normalize.css

You can even override the core's stylesheets

Declaring Dependencies

Page 4: How to Add JS and CSS to Drupal 8?

Generally, you won't find any default additional scripts. You can look in the following path to get an idea of the core assets: /core/assets/vendor. Here's how you can declare a dependency in Drupal 8 for your CSS or JS assets

global-scripts: version: VERSIONjs:js/script.js: {}dependencies: - core/jquery - core/jquery.once - core/modernizr

Scope of JS FileIf you want to change the position of an asset from the header to the footer, you can easily specify the scope and venture to do so. You can specify the scope in theme_name.libraries.yml

js/script.js: { scope: footer }

Specify Media TypeSpecify a particular print stylesheet with a media parameter for the theme_name.libraries.yml

css/print.css: { media: print }

Conditional CSS or JS for Old IE Browsers

Page 5: How to Add JS and CSS to Drupal 8?

Specify the IE conditionals by specifying the parameters in theme_name.libraries.yml file

http://yui.yahooapis.com/3.18.1/build/yui/yui-min.js: { type: external, browsers: { IE: 'lte IE 8', '!IE': false } }

ConclusionYou need to work through CSS and JS assets for Drupal 8 as per the scenario. You will need to understand the reason for the asset declaration, and accordingly perform the declaration and introduce the changes. Hire Drupal developer to help you create and modify assets for your module or theme.

Original Source:http://semaphoresoftware.kinja.com/how-to-add-js-and-css-to-drupal-8-1721017512