- Location - The location of the application. Usually just a URL, but the location can contain multiple pieces of information that can be used by an app
- pathname - The "file/directory" portion of the URL, like
invoices/123
- search - The stuff after
?
in a URL like/assignments?showGrades=1
. - query - A parsed version of search, usually an object but not a standard browser feature.
- hash - The
#
portion of the URL. This is not available to servers inrequest.url
so its client only. By default it means which part of the page the user should be scrolled to, but developers use it for various things. - state - Object associated with a location. Think of it like a hidden URL query. It's state you want to keep with a specific location, but you don't want it to be visible in the URL.
- pathname - The "file/directory" portion of the URL, like
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import { useEffect, useMemo, useState, useCallback } from "react"; | |
import useQueryString from "./useQueryString"; | |
function useQueryStringWithIndexValue(key, initialIndex, values) { | |
const computedValues = useMemo(() => values.map(v => v.toLowerCase()), [ | |
values | |
]); | |
const [value, onSetValue] = useQueryString(key, values[initialIndex]); | |
const [index, setIndex] = useState(initialIndex); |
Please see the most up-to-date version of this protocol on my blog at https://darencard.net/blog/.
- Make sure
inotify-tools
is installed (https://github.com/rvoicilas/inotify-tools) - Configure git as usual
- Clone the git repository of interest from github and, if necessary, add file you want to monitor
- Allow username/password to be cached so you aren't asked everytime
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// EaselJS still has some problems compiling with Webpack/CommonJS as of this | |
// publishing (01/23/2016), which makes it difficult to write modularity | |
// in ES6 for it. However, it's not that hard to work around: | |
import { Car, Mustang } from './Cars'; | |
let createjs = window.createjs; // local reference to createjs and bypasses the current module issues | |
let stage = new createjs.Stage('car_canvas'); | |
let car = new Car({ | |
color: '#0081c9', | |
id: 'car1', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Fetch a deeply nested value in a multi-level map using object dot-notation string OR a list of keys. | |
* | |
* @requires sassy-maps | |
* @requires SassyLists | |
* @requires is-map | |
* @requires is-string | |
* @requires is-list | |
* | |
* @param {map} $map |
NOTE: the list has moved to https://github.com/sketchplugins/plugin-directory
A list of Sketch plugins hosted at GitHub, in no particular order.
- brandonbeecroft/Lorem-Ipsum-Plugin-for-Sketch This is a plugin for quickly creating Lorem Ipsum text in Sketch
- sebj/Sketch Templates and Plugins for Sketch by Bohemian Coding
- FredericJacobs/crop_Artboard A script to export the Sketch App artboards to the clipboard
- almonk/SketchGit A simple Git client built right into Sketch.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@import "compass/css3/images"; | |
// CSS-only multi-line ellipsis with generated content | |
// yields `position:relative`, so remember to declare an eventual `position:absolute/fixed` *after* including this mixin | |
@mixin limitLines( | |
$maxLinesPortrait, // Mandatory: The number of lines after which the clipping should take action. | |
$maxLinesLandscape: $maxLinesPortrait, // You may provide a different line limit for landscape orientation. | |
// Note that 'portrait' is our default orientation. However, if you omit $maxLinesLandscape, | |
// the value of $maxLinesPortrait is used for whatever orientation (that is, without a media query). |
- node.js
- Installation paths: use one of these techniques to install node and npm without having to sudo.
- Node.js HOWTO: Install Node+NPM as user (not root) under Unix OSes
- Felix's Node.js Guide
- Creating a REST API using Node.js, Express, and MongoDB
- Node Cellar Sample Application with Backbone.js, Twitter Bootstrap, Node.js, Express, and MongoDB
- JavaScript Event Loop
- Node.js for PHP programmers
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Sass | |
module Importers | |
class BowerImporter < Sass::Importers::Filesystem | |
SUPPORTED_EXTNAMES = ["css", "scss", "sass"] | |
protected | |
def extensions | |
super.merge('css' => :scss) |
NewerOlder