Skip to content

Instantly share code, notes, and snippets.

View lackneets's full-sized avatar
🤗
Sorry I am super busy. I may respond in weeks or months

Lackneets Chang (小耀博士) lackneets

🤗
Sorry I am super busy. I may respond in weeks or months
  • TAROBO Investment Advisors Ltd.
  • Taipei, Taiwan
View GitHub Profile
@lackneets
lackneets / getScrollbarWidth.js
Created November 10, 2016 07:43
from bootstrap modal
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);
@lackneets
lackneets / poke.js
Created October 28, 2016 03:24
Facebook auto poke all
// 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);
@lackneets
lackneets / iframe-responsive-beta.js
Created October 20, 2016 06:40
iframe-responsive-beta.js
/*
iFrameResponsive.js
by Lackneets Chang < lackneets@gmail.com >
*/
(function(){
// Polyfill
// http://javascript.boxsheep.com/polyfills/Array-prototype-forEach/
if (!Array.prototype.forEach) {
Array.prototype.forEach = function (fn, arg) {
@lackneets
lackneets / common.sh
Last active August 30, 2016 04:14
Remember some useful command
# Install imagemagick
sudo apt-get install imagemagick
# Resize jpeg images under subdirectories
find . -name "*.jpg" -exec mogrify -resize 1600x1600\> -quality 75% -verbose -format jpg {} +
# Resize jpeg images only if > 1MB
# http://superuser.com/questions/204564/how-can-i-find-files-that-are-bigger-smaller-than-x-bytes
find . -name "*.jpg" -size +1M -exec mogrify -resize 1600x1600\> -quality 75% -verbose -format jpg {} +
@lackneets
lackneets / backend.css
Last active August 22, 2016 02:55
Better OctoberCMS font-size for Traditional Chinese
/* 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 }
@lackneets
lackneets / youtube-responsive.js
Last active August 9, 2016 02:29
Make youtube iframe responsive
$(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({
@lackneets
lackneets / font-falimies.js
Last active July 2, 2016 09:48
Get all font-family on page
(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);
}
})
@lackneets
lackneets / lazysizes.ie8.js
Last active July 1, 2016 09:16
Fallback for lazysizes on IE8
window.ready=function(e){"loading"!=document.readyState?e():document.addEventListener?document.addEventListener("DOMContentLoaded",e):document.attachEvent("onreadystatechange",function(){"loading"!=document.readyState&&e()})};
/* Fallback for lazysizes on IE8 */
window.ready(function(){
if (document.documentMode == 8) {
var elms = document.querySelectorAll('.lazyload');
for(var i=0; i<elms.length; i++){
elms[i].setAttribute('class', String(elms[i].getAttribute('class')).replace(/\s*lazyload\s*/g, ' lazyloaded '));
if(elms[i].getAttribute('data-src')){
elms[i].setAttribute('src', elms[i].getAttribute('data-src'));
@lackneets
lackneets / common.less
Last active June 23, 2016 04:17
Guideline for HTML5
/* Common Behaviors */
.noselect {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
@lackneets
lackneets / .htaccess
Last active June 12, 2016 11:27
[Recommand] Global managament PNG auto minify on demand using Apache & PHP & pngquant
# 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