Skip to content

Instantly share code, notes, and snippets.

View lmk123's full-sized avatar
💭
I may be slow to respond.

lmk123

💭
I may be slow to respond.
View GitHub Profile
@lmk123
lmk123 / install-docker.sh
Created April 24, 2018 10:20
在 Ubuntu 16.04 上安装 Docker 与 docker-compose 的脚本
#!/bin/bash
# 一个方便的在 Ubuntu 16.04 x64 上安装 Docker 环境的脚本
# 安装 docker-ce 前的准备(一次性的
# https://docs.docker.com/install/linux/docker-ce/ubuntu/#prerequisites
sudo apt-get update
sudo apt-get -y install \
apt-transport-https \
ca-certificates \
@lmk123
lmk123 / state.js
Created April 26, 2016 02:38
《小黑屋》资源修改代码
(function () {
var notIn = [ 'compass' ]; // 罗盘 的数量始终只能有 1 个
for ( var key in State.stores ) {
if ( notIn.indexOf( key ) < 0 ) {
State.stores[ key ] = 9999; // 数量可以自行修改,但最好别超过一万
}
}
}());
@lmk123
lmk123 / gulpfile.js
Last active June 24, 2018 08:19
使用 babel 将 *.es6 转换成 *.js 文件、使用 gulp-sass 将 .scss 转换成 *.css 文件的 gulpfile.js。
var SRC = 'src' ,
fs = require( 'fs' ) ,
sass = require( 'gulp-sass' ) ,
babel = require( 'gulp-babel' ) ,
watch = require( 'gulp-watch' ) ,// gulp.watch 不能监视 新建的 和 删除的 文件,所以换成了这个模块
gulp = require( 'gulp' );
/**
* 监视所有以 .es6 .scss 为后缀的文件,并在文件改动时自动转换成正常的 .js .css 文件
*/
@lmk123
lmk123 / fan.js
Created June 2, 2015 09:48
将查询字符串转换为对象
function fan( string ) {
var obj = {};
$( string.split( '&' ) ).each( function ( i , kv ) {
var x = kv.split( '=' ) ,
k = x[ 0 ] ,
v = x[ 1 ];
if ( k ) {
if ( obj.hasOwnProperty( k ) ) {
if ( !$.isArray( obj[ k ] ) ) {
@lmk123
lmk123 / Gruntfile.js
Last active March 12, 2020 02:08
Grunt 与 Gulp 的对比
module.exports = function ( grunt ) {
'use strict';
// 项目配置
grunt.initConfig( {
clean : {
main : {
src : [ 'build' ]
}
@lmk123
lmk123 / example.js
Created November 29, 2014 04:19
一个一个的处理(类)数组中的项,适用于异步密集型的处理情况
var arr = [-5,-4,-3,-2,-1];
var start = oneByOne({
queue : arr,
handle: function ( item , next ) {
if( item < 0 ) {
arr.push( -item ); // 在处理过程中添加项
next();
} else {
var x = new XMLHttpRequest();
@lmk123
lmk123 / url.js
Created November 29, 2014 03:51
在浏览器环境中解析一个网址的各个部分
function parse( url ) {
var a = document.createElement( 'a' );
a.href = url.trim();
return {
hash : a.hash.slice( 1 ) , // 去掉第一个#号
host : a.host , // hostname + port
hostname : a.hostname ,
pathname : a.pathname ,
port : a.port ? Number( a.port ) : 80 , // 原本的port是字符串形式
origin : a.origin , // protocol + host
@lmk123
lmk123 / end.js
Last active August 29, 2015 14:08
对于密集触发的事件(例如 scorll、resize、input等),只触发最后一次
function end( func , timeout ) {
var timeId;
return function () {
var args = arguments,
that = this;
clearTimeout( timeId );
timeId = setTimeout( function () {
func.apply( that , args );
} , timeout || 250 );
}