Skip to content

Instantly share code, notes, and snippets.

View Lucifier129's full-sized avatar
🎯
Focusing

工业聚 Lucifier129

🎯
Focusing
View GitHub Profile
@Lucifier129
Lucifier129 / center.css
Last active December 12, 2015 01:15
兼容IE6\7与现代浏览器的垂直居中css代码
.c-wrap { display: table; *writing-mode: tb-rl; }
.c-inner { display: table-cell; vertical-align: middle; *width:100%; *margin:auto 0; *writing-mode:lr-tb;}
@Lucifier129
Lucifier129 / viewport.js
Last active November 10, 2015 09:18
metaHandle:移动端适配viewport代码
define(function(require, exports, module) {
var ua = navigator.userAgent,
android = ua.match(/(Android);?[\s\/]+([\d.]+)?/),
ipad = ua.match(/(iPad).*OS\s([\d_]+)/),
ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/),
iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/),
os = {};
if (android) os.android = true, os.version = android[2];
@Lucifier129
Lucifier129 / Tree.js
Last active November 10, 2015 09:17
read directory
/**
* module:tree
*
* example:
var join = require('path').join
var Tree = require('./tree')
var cwd = process.cwd()
new Tree(cwd, 'root').writeTo(join(cwd, 'tree.json')).then(function() {
console.log('done')
@Lucifier129
Lucifier129 / flux.js
Last active November 10, 2015 09:22
flux in 30 lines
class Store {
constructor(props = {}, initialState = {}) {
this.state = initialState
this.actions = {}
this.listeners = []
Object.assign(this, props)
for (let key in this) {
if (typeof this[key] === 'function') {
this.actions[key] = (...args) => {
this[key](...args)
@Lucifier129
Lucifier129 / splitWord.js
Last active February 5, 2016 05:31
splitWord
function walkDom(node, callback) {
if (node === null) {
return
}
var stack = [node] //存入数组
var target
while (stack.length) { //数组长度不为0,继续循环
target = stack.shift() //取出元素
callback(target) //传入callback
Array.prototype.push.apply(stack, target.childNodes) //将其子元素一股脑推入stack,增加长度
@Lucifier129
Lucifier129 / README.md
Last active May 17, 2016 06:47
JS Pop Quiz: How well do you know your functions?
!function(t, e) {
"object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : "object" == typeof exports ? exports.POWERMODE = e() : t.POWERMODE = e()
}(window, function() {
return function(t) {
function e(n) {
if (o[n])
return o[n].exports;
var r = o[n] = {
exports: {},
@Lucifier129
Lucifier129 / jsx-template.js
Created September 12, 2016 05:12
simple jsx-template
(function() {
window.React = {
createElement: createElement,
render: render,
}
function render(vnode, container, callback) {
var node = initVnode(vnode)
container.innerHTML = ''
@Lucifier129
Lucifier129 / Revue.js
Last active June 7, 2017 02:02
Make React.js code look like Vue.js
import React from 'react'
import ReactDOM from 'react-dom'
function createStore(actions, initialState={}) {
let currentState = initialState
let getState = () => currentState
let listeners = []
let subscribe = listener => !listeners.includes(listener) && listeners.push(listener)
let publish = () => listeners.forEach(listener => listener())
let dispatch = (type, payload) => {
@Lucifier129
Lucifier129 / middleware-compose.js
Created August 21, 2017 15:56
an implementation of middleware composing
class App {
constructor() {
this.middlewares = []
}
use(...middlewares) {
this.middlewares.push(...middlewares)
}
next(index = 0) {
let middleware = this.middlewares[index]
return middleware ? middleware(() => this.next(index + 1)) : null