This file contains hidden or 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
<?php | |
function prefered_language( $available_languages, $http_accept_language = 'auto' ) { | |
if ( 'auto' == $http_accept_language ) { | |
// $http_accept_language = $_SERVER['HTTP_ACCEPT_LANGUAGE']; | |
$http_accept_language = isset( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ? $_SERVER['HTTP_ACCEPT_LANGUAGE'] : ''; | |
} | |
preg_match_all( '/([[:alpha:]]{1,8})(-([[:alpha:]|-]{1,8}))?' . '(\s*;\s*q\s*=\s*(1\.0{0,3}|0\.\d{0,3}))?\s*(,|$)/i', $http_accept_language, $hits, PREG_SET_ORDER ); | |
$bestlang = $available_languages[0]; |
This file contains hidden or 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
// MIT License | |
// @return {float} a random number between min and max | |
function getRandom(min, max) { | |
return Math.random() * (max - min) + min; | |
} | |
// @return {integer} a random int between min and max | |
function getRandomInt(min, max) { | |
return Math.floor(Math.random() * (max - min + 1) + min); |
This file contains hidden or 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
html { | |
-moz-osx-font-smoothing: grayscale; | |
-webkit-font-smoothing: antialiased; | |
text-rendering: optimizeLegibility; | |
} |
This file contains hidden or 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
// Remove each style one by one | |
add_filter( 'woocommerce_enqueue_styles', 'jk_dequeue_styles' ); | |
function jk_dequeue_styles( $enqueue_styles ) { | |
unset( $enqueue_styles['woocommerce-general'] ); // Remove the gloss | |
unset( $enqueue_styles['woocommerce-layout'] ); // Remove the layout | |
unset( $enqueue_styles['woocommerce-smallscreen'] ); // Remove the smallscreen optimisation | |
return $enqueue_styles; | |
} | |
// Or just remove them all in one line |
This file contains hidden or 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
function google_fonts() { | |
$query_args = array( | |
'family' => 'Open+Sans:400,700|Oswald:700' | |
'subset' => 'latin,latin-ext', | |
); | |
wp_register_style( 'google_fonts', add_query_arg( $query_args, "//fonts.googleapis.com/css" ), array(), null ); | |
} | |
add_action('wp_enqueue_scripts', 'google_fonts'); |
This file contains hidden or 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
javascript: (function() { | |
var root = angular.element(document.getElementsByTagName('html')); | |
var watchers = []; | |
var attributes = []; | |
var attributes_with_values = []; | |
var elements = []; | |
var elements_per_attr = []; | |
var scopes = []; |
This file contains hidden or 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
In general, keep the digest cycle slim, avoiding the creation of watchers, when possible. | |
Some tips: | |
- ng-bind instead of {{expressions}} | |
- use bind once: ng-bind="::expression" or {{::expression}} | |
- avoid ng-repeat, but if necessary, use track by ... | |
- use small directives, with new or nested scope, instead of a monolithic scope | |
- use local events and $digest/$apply(when needed), to prevent running the digest cycle globally, for every event | |
- use $digest instead of $apply, when changes only affect children | |
- don't use filters in the DOM, use pre filtered data instead | |
- don't use true/false DOM logic in the controller |
This file contains hidden or 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
var gulp = require('gulp'); | |
var gutil = require('gulp-util'); | |
var bower = require('bower'); | |
var concat = require('gulp-concat'); | |
var sass = require('gulp-sass'); | |
var minifyCss = require('gulp-minify-css'); | |
var rename = require('gulp-rename'); | |
var sh = require('shelljs'); | |
var uglify = require('gulp-uglify'); | |
var mainBowerFiles = require('main-bower-files'); |
This file contains hidden or 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
rm -rf ./plugins | |
rm -rf ./node_modules | |
rm -rf ./www/lib | |
ionic platform rm android | |
ionic platform rm ios | |
npm install | |
bower install |
This file contains hidden or 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
/* the page should not change width as content is loaded */ | |
body { | |
overflow-y: scroll; | |
} | |
/* block scrolling without losing the scroll bar and shifting the page */ | |
/* add this class when a modal is open */ | |
body.block-scroll { | |
overflow: hidden; | |
overflow-y: scroll !important; |