mgr inż. Adam Mazur

app/assets
Files specific to the current,
vendor/assets
external libraries
lib/assets
assets for your own libraries
Manifest file(s)

/*
*= require_self # don't use that
*= require fancybox # only once
*= include jquery.fileupload-ui # force require
*= require_directory /privates # alphabetical order, will skip duplicates
*= require_tree /other # recursive
*= depend_on some_asset # recompile
*/CSS
JUST ANOTHER FUNNY MEME
ABOUT CSS
application.css with Manifest
stylesheet/controller
/ STYLES
= stylesheet_link_tag "privates/general"
= stylesheet_link_tag "privates/" + params[:controller]
= stylesheet_link_tag "header"
= stylesheet_link_tag "bottom" background-image: image-url("header-photo-vert.jpg");
asset_path("header-photo-vert.jpg")
helpers
/general.css.scss
@import "font-awesome-sprockets";
@import "font-awesome";
@import "../variables";
@import "modules/file-upload";
@import "modules/steps";
@import "modules/forms";
@import "modules/tables";
@import "../skeuocard";
@import "../skeuocard.reset";/application.css.scss
@import "base/normalize";
@import "layout/global";---+ stylesheets
|-------+ modules
| |--- forms.scss
| |--- alerts.scss
| |--- tables.scss
|-------+ layout
| |--- global.scss
| |--- _variables.scss
| |--- _mixins.scss
|-------+ base
| |--- normalize.scss (can be in vendor/assets)
|
|------- application.scss
|-------+ pitches
| |--- application.scss
| |--- compose.scss
|--- show.scss/compose.css.scss
@import "forms";
@import "tables";
.compose-class{......}Avoid IDs in CSS !!!
Minimize the depth of CSS selectors
div.header .nav ul li a:first-of-type .nav-link:first-of-type .first-nav-link
Utility (global) classes (no inline css)
.width-100, .display-none, .text-align-left
Prefixes (namespaces)
.pc-public_view .summary, .pc-public_view-summary .entry
my empirical findings have been that more CSS bloat accumulates due to author deletion fear (“I don’t know what that’s for so just leave it in”) than duplicated styles.
One of the CSS blogger
JUST ANOTHER FUNNY MEME
ABOUT HOW JS IS STUPID
---+ javascripts
|-------+ modules
| |--- forms.js
| |--- alerts.js
|-------+ global
| |--- global.js
| |--- functions.js
|
|------- application.js
|-------+ pitches
|-------|--- pitches-global.js
| |--- application.js
| |--- compose.js
|--- show.jsJUST ANOTHER FUNNY MEME
ABOUT LAST SLIDE