Skip to content

Instantly share code, notes, and snippets.

@notgiorgi
notgiorgi / SCSS.md
Created July 16, 2017 06:03 — forked from jareware/SCSS.md
Advanced SCSS, or, 16 cool things you may not have known your stylesheets could do

⇐ back to the gist-blog at jrw.fi

Advanced SCSS

Or, 16 cool things you may not have known your stylesheets could do. I'd rather have kept it to a nice round number like 10, but they just kept coming. Sorry.

I've been using SCSS/SASS for most of my styling work since 2009, and I'm a huge fan of Compass (by the great @chriseppstein). It really helped many of us through the darkest cross-browser crap. Even though browsers are increasingly playing nice with CSS, another problem has become very topical: managing the complexity in stylesheets as our in-browser apps get larger and larger. SCSS is an indispensable tool for dealing with this.

This isn't an introduction to the language by a long shot; many things probably won't make sense unless you have some SCSS under your belt already. That said, if you're not yet comfy with the basics, check out the aweso

function reducer(state = [], action) {
  switch (action.type) {
    /* ... */
    case 'FETCH_POSTS_SUCCESS':
      return [...state, ...action.payload]
    /* ... */
    default:
      return state 
// ./src/features/Posts/index.js
// instead of directly exporting, we export wrapped
export default withLazyLoading(
() => import(/* webpackChunkName: "Post" */ './components/Post'),
<Loading type="spinner" />
)
// ./src/views/News/index.jsx
import Post from '...'
withLazyLoading(
() => import('./features/Post'),
<Loading type="spinner" />
)
// We can name the chunk
withLazyLoading(
() => import(/* webpackChunkName: "Post" */ './features/Post'),
<Loading type="spinner" />
)
function withLazyLoading(
getComponent,
Spinner = null,
onError = noop,
) {
return class LazyLoadingWrapper extends React.Component {
state = {
Component: null,
}
export const withLazyLoading = (getComponent, { LoaderComponent = null }) =>
class WithLazyLoading extends React.Component {
state = {
Component: null,
}
componentWillMount() {
const { startLoading, stopLoading } = this.props
startLoading()
{
"Function arrow": {
"prefix": "->",
"body": "→"
},
"Do arrow": {
"prefix": "<-",
"body": "←"
},
"Constraint arrow": {
class SetBuffer {
constructor(idFn) {
this.items = new Map()
this.idFn = idFn
}
isEmpty() {
return this.items.size === 0
}

R1:

en 
    conf t
        int g0/0
            no shut
        ex
        int g0/0.50
@notgiorgi
notgiorgi / gulpfile.js
Created May 8, 2017 12:15 — forked from alkrauss48/gulpfile.js
Base gulpfile config for babel, browserify, and uglify - with sourcemaps and livereload
var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var uglify = require('gulp-uglify');
var sourcemaps = require('gulp-sourcemaps');
var livereload = require('gulp-livereload');