Skip to content

Instantly share code, notes, and snippets.

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

Kent Li teabyii

💭
I may be slow to respond.
View GitHub Profile
@teabyii
teabyii / random
Last active August 29, 2015 14:03
Produce random code in shell
cat /dev/urandom | head -1 | md5sum | cut -c 1-16
@teabyii
teabyii / riotjs.md
Last active August 23, 2017 13:40
riotjs 源码阅读记录

Riot 源码阅读笔记

官网:https://muut.com/riotjs/

第一次看到 Riot,感觉就是惊艳。我对 React 不大了解,只是简单知道一些,所以在我看来,React 实现的一些东西,Riot 也可以实现,而且代码精简,麻雀虽小,五脏俱全,可以用很简单的语法创建类似 web component 的自定义标签,渲染的性能好像还不赖。

注:不支持自定义标签的浏览器需要手动创建标签,如 [demo/index.html]

整体实现思路

@teabyii
teabyii / Riot-compiler.md
Last active November 15, 2018 09:11
Riot-compiler 代码的简单解读

Riot 源码阅读笔记 -- compiler

关于 Riot 的 compiler,具体请见:[Riot compiler]

之前在 [Riot 源码阅读笔记] 中提到另挖坑来聊聊 Riot 提供的 template + logic compiler 是怎么干活的,于是有了这一篇文章... (其实大部分都是正则,正则)

Riot 提供了两种方式,分别是 pre-compile 和直接在页面使用 script[type="riot/tag"],都是用的同一个 compiler 来处理代码的解析,在真实环境时推荐使用 pre-compile 的方式。

在页面使用 script[type="riot/tag", src="path"] 和 React 在页面使用 script[type="text/jsx", src="path"] 一样,都是用了 ajax 来请求文件内容,跨域就拜拜了,请知悉。

function _isSupportInputDate() {
var input = document.createElement('input')
input.type = 'date'
input.value = 'test' // input[type=date] can't set value as a string.
return input.value !== 'date'
}
@teabyii
teabyii / todomvc-flux.md
Last active August 29, 2015 14:24
flux入门

我的 flux 入门

看 flux 官网的文档还是有些云里雾里的,需要一个 demo 来帮助在实践中进行理解,果断要选择 todomvc。

todomvc 已经有了各种各样框架的实现版本,在 flux 官方仓库中也提供了 tomomvc 的 flux� 版本,拿它作为入门学习 flux 的 demo 是相当不错的。

本文仅仅使用 todomvc 作为一个例子来说明,不会对其进行具体的代码解析。

从目录结构看 flux 的组成

ES6 带来了什么

未来已来,突然好喜欢这句话,哈哈。

ES6 已经离我们越来越近了,不久前发布了 ES6 标准文档,而 babel 社区如火如荼,对于 ES6 究竟给 js 开发者们带来了什么东西,我们来简单地了解一下。

这个文章并不会深入讲解某一部分的内容,只是帮助你快速地浏览一下 ES6 相关的东西究竟有哪一些,毕竟,其中每一部分的内容深入探讨都足够是一篇新的文章。

新增语法

@font-face {
font-family: 'iconfont';
src: url('iconfont.eot'); /* IE9*/
src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('iconfont.woff') format('woff'), /* chrome、firefox */
url('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url('iconfont.svg#uxiconfont') format('svg'); /* iOS 4.1- */
}
@teabyii
teabyii / react-src-module-map.json
Last active October 14, 2015 09:43
react source code module-path mapping
{
"React": "src/React.js",
"ReactVersion": "src/ReactVersion.js",
"ReactComponentWithPureRenderMixin": "src/addons/ReactComponentWithPureRenderMixin.js",
"ReactFragment": "src/addons/ReactFragment.js",
"ReactWithAddons": "src/addons/ReactWithAddons.js",
"LinkedStateMixin": "src/addons/link/LinkedStateMixin.js",
"ReactLink": "src/addons/link/ReactLink.js",
"renderSubtreeIntoContainer": "src/addons/renderSubtreeIntoContainer.js",
"shallowCompare": "src/addons/shallowCompare.js",
@teabyii
teabyii / swift-basic.md
Last active January 20, 2016 04:18
Swift 入门笔记

swift 入门笔记

变量

let 声明常量,var 声明变量

var myVariable = 2
myVariable = 3
let myConstant = 4
@teabyii
teabyii / about-susy.md
Last active October 30, 2015 09:49
About Susy

关于 Susy

Susy 官方网站

开始使用

Susy 是一个用于创建自定义布局结构的 css 工具集合,它并不提供现成的 className 来给你使用,而是提供 sass 的 function/mixins 来帮助你创建页面的布局结构。

Susy 作为一个 sass 工具库,使用的时候 @import 进来便是,可以使用 npm/bower 来下载。