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 | |
$new_path = '/path/to/input.png'; | |
$cmd = 'pngquant -'; | |
$descriptorspec = array( | |
0 => array("pipe", "r"), // stdin is a pipe that the child will read from | |
1 => array("pipe", "w"), // stdout is a pipe that the child will write to | |
2 => array("file", "/tmp/error-output.txt", "a") // stderr is a file to write to | |
); | |
$process = proc_open($cmd, $descriptorspec, $pipes); |
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
# OctoberCMS storage/ | |
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteBase / | |
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$ | |
RewriteRule ^(.*)$ - [E=BASE:%1] | |
# foo/xxx.png => foo/xxx-min.png if exists | |
RewriteCond %{DOCUMENT_ROOT}%{ENV:BASE}$1min/$2-min.$3 -f |
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
# OctoberCMS storage/ | |
<IfModule mod_rewrite.c> | |
RewriteEngine On | |
RewriteBase / | |
RewriteCond %{REQUEST_URI}::$1 ^(.*?/)(.*)::\2$ | |
RewriteRule ^(.*)$ - [E=BASE:%1] | |
# .../xxx.png => minified/.../xxx.png if exists | |
RewriteCond %{DOCUMENT_ROOT}%{ENV:BASE}minified/$1 -f |
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(){ | |
var fonts = []; | |
Array.from(document.styleSheets).forEach(function(styleSheet){ | |
Array.from(styleSheet.cssRules || []).forEach(function(rule){ | |
String(rule.style && rule.style.fontFamily).split(/\s*,\s*/).forEach(function(font){ | |
font = font.replace(/^["'](.*)["']$/, '$1'); | |
if(font && fonts.indexOf(font) == -1 && !font.match(/undefined|inherit|initial/i)){ | |
fonts.push(font); | |
} | |
}) |
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(){ | |
$('iframe[src*="youtube"][width][height]').each(function(){ | |
var w = $(this).attr('width'); | |
var h = $(this).attr('height'); | |
$(this).wrap($('<div class="youtube-wrapper">').css({ | |
'max-width' : '100%', | |
'height': 0, | |
'padding-bottom': (h/w*100) + '%', | |
'position': 'relative' | |
})).css({ |
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
/* October */ | |
html:lang(zh-tw), body:lang(zh-tw){ font-size:14.5px } | |
:lang(zh-tw) h5,.h5{ font-size:1rem } | |
:lang(zh-tw) .btn{ font-size:1rem; font-weight: normal; } | |
:lang(zh-tw) .btn[class^="oc-icon-"]:before,.btn[class*=" oc-icon-"]:before{ font-size:1rem } | |
:lang(zh-tw) .btn-text{ font-size:1rem } | |
:lang(zh-tw) .dropdown-menu{ font-size:1rem } | |
:lang(zh-tw) .dropdown-menu .dropdown-container > ul li a[class^="oc-icon-"]:before,.dropdown-menu .dropdown-container > ul li a[class*=" oc-icon-"]:before{ font-size:1rem } | |
:lang(zh-tw) .touch .dropdown-menu .dropdown-container > ul li a:hover:before{ font-size:1rem } | |
:lang(zh-tw) div.control-popover .popover-head h3{ font-size:1rem } |
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
/* | |
iFrameResponsive.js | |
by Lackneets Chang < [email protected] > | |
*/ | |
(function(){ | |
// Polyfill | |
// http://javascript.boxsheep.com/polyfills/Array-prototype-forEach/ | |
if (!Array.prototype.forEach) { | |
Array.prototype.forEach = function (fn, arg) { |
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
// https://www.facebook.com/pokes/?notif_t=poke | |
setInterval(function(){ | |
var cancel = document.querySelector('a[autofocus][action=cancel]'); | |
cancel && cancel.click(); | |
var poke = document.querySelector('a[ajaxify*="/pokes/inline/"]:not(.saving)'); | |
poke && poke.click(); | |
}, 1000); |
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 ctx = document.getElementById('radar-chart').getContext('2d'); | |
var data = { | |
labels : ["January","February","March","April","May"], | |
datasets : [ | |
{ | |
fillColor : "rgba(220,220,220,0.5)", | |
strokeColor : "rgba(220,220,220,1)", | |
data : [65,59,90,81,56] | |
}, | |
{ |
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 getScrollbarWidth(){ | |
var scrollDiv = document.createElement('div'); | |
scrollDiv.style.position = 'absolute'; | |
scrollDiv.style.top = '-9999px'; | |
scrollDiv.style.width = '50px'; | |
scrollDiv.style.height = '50px'; | |
scrollDiv.style.overflow= 'scroll'; | |
document.body.appendChild(scrollDiv); | |
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth; | |
document.body.removeChild(scrollDiv); |