A Powerful Collection Of Modules

Overview

KISSY

A Powerful Collection Of Modules

kissy NPM downloads Dependency Status Bower version

Vision

模块化,跨终端,高扩展性,组件齐全,接口一致,自主开发,适合多种应用场景

Build

npm install bower -g
npm install
bower install
npm run build

Build your own modules

https://github.com/kissyteam/kissy/blob/master/build-your-own-modules.md

Modules

http://kissyteam.github.io/badgeboard/

Questions?

Comments
  • 更nice的动画API

    更nice的动画API

    KISSY动画API

    
      Anim (elem, props[, duration, easing, completeFn])
    
        - elem (String|HTMLElement|KISSY.Node|window) – 作用动画的元素节点或窗口(窗口时仅支持 scrollTop/Left).
    
    

    elem必须是一个selector或者HTML元素、KISSY.Node window

    常见的动画本质上随时间变化,动态的去改变一个DOM元素的属性或样式,但是,有时候期望改变的不是dom的属性或样式。比如:

    一道题目

    在canvas上画一个圆,想实现其半径逐渐增大的一个动画。怎么实现?

    jQuery的实现方式

           var ctx = document.getElementById('Canvas').getContext('2d')
           function circle(cx,cy,r,opt){
             ctx.beginPath();
             for(var x in opt){
               ctx[x] = opt[x];
             }
             ctx.arc(cx,cy,r,0,2*Math.PI,true);
             ctx.fill();
             ctx.closePath();
           };
    
           circle(200,200,5,{
             fillStyle:"#999"
           });
    
           $({r:5}).animate({r:50},{
             duration:5000,
             step:function(r){
               circle(200,200,r,{
                 fillStyle:"#999"
               });
             }
           });
    

    jQuery的方式非常自然。完整的demo见 http://jsbin.com/uBOtUKa

    KISSY的变通实现方式

           var ctx = document.getElementById('Canvas').getContext('2d')
           function circle(cx,cy,r,opt){
             ctx.beginPath();
             for(var x in opt){
               ctx[x] = opt[x];
             }
             ctx.arc(cx,cy,r,0,2*Math.PI,true);
             ctx.fill();
             ctx.closePath();
           };
    
           circle(200,200,5,{
             fillStyle:"#999"
           });
    
           KISSY.use("anim",function(S,Anim){
             //必须制指定一个DOM节点作为地一个参数
             var anim = new Anim(window.document.body,{
                   zoom2:1 //这里必须指定一个属性,否则frame不会执行
                 },{
                   easing:"swing",
                   duration:5,
                   frame:function(fx){
                     var r = 5+fx.pos*(50-5);
                     circle(200,200,r);
                   }
               });
             anim.run();
    

    完整的demo见 http://jsbin.com/IPUviQU

    KISSY Anim 第一个参数必须是Node节点,第二个参数还必须传一个不存在的css属性,否则动画会改变元素的css样式 ,并且每一帧还要用户手动计算渐变过程的插值:

                   frame:function(fx){
                     var r = 5+fx.pos*(50-5);
                     circle(200,200,r);
                   }
    
    

    KISSY更加理想的实现方式(目前还不支持)

    但是做简单修改即可,see https://github.com/kissyteam/kissy/pull/459

    
           var o = {r:1};
           var anim = new Anim(o,{
             r:100 
           },{
               easing:"swing",
               duration:.5,
               frame:function(anim,fx){
                 var propname = fx.prop;// r
                 var val = fx.val;// r value
                 circle(100,100,val);
               }
             });
           anim.run();
    
    

    YUI3的方式——求怎么实现?

    
           var ctx = document.getElementById('Canvas').getContext('2d')
           function circle(cx,cy,r,opt){
             ctx.beginPath();
             for(var x in opt){
               ctx[x] = opt[x];
             }
             ctx.arc(cx,cy,r,0,2*Math.PI,true);
             ctx.fill();
             ctx.closePath();
           };
    
           circle(200,200,5,{
             fillStyle:"#999"
           });
    
           YUI().use("anim",function(Y){
             var anim = new Y.Anim({
               node:window,
               from:{
    
               },
               to:{
    
               },
               duration:1
             });
             anim.on("tween",function(e){//这里怎么办???
               console.log(e);
               //console.log(this.get("from"));
             });
             anim.run();
    
    

    谁来补充下 YUI3的实现 ? http://jsbin.com/iHUxoXi

    opened by jinwei233 7
  • component/control.js在touchstart时阻止默认事件,导致浏览器滚动条失效

    component/control.js在touchstart时阻止默认事件,导致浏览器滚动条失效

    如下代码在touchstart时阻止了默认事件,导致浏览器原生滚动条失效了,在移动端文本选择是需要长按的,不需要在touchstart时阻止默认事件

    handleMouseDownInternal: function(ev) {
        var self = this, n, isMouseActionButton = ev.which === 1;
        if(isMouseActionButton || isTouchGestureSupported) {
            if(self.get("activeable")) {
                self.set("active", true)
            }
            if(self.get("focusable")) {
                self.focus()
            }
            if(!self.get("allowTextSelection")) {
                n = ev.target.nodeName;
                n = n && n.toLowerCase();
                if(n !== "input" && n !== "textarea") {
                    ev.preventDefault()
                }
           }
       }
    }
    
    opened by zhouqicf 6
  • 修复使用S.Event.on给window绑定load事件时,如果window已经load,回调不会执行的问题

    修复使用S.Event.on给window绑定load事件时,如果window已经load,回调不会执行的问题

    在web.js中增加了一个绑定,使用了S.Env.winHasLoaded作为标识符,然后后续的绑定中可以通过这个值来判断是否window已经load。

    应用场景:天猫detail的onload时间很早,而吊顶会把部分模块绑定在window load事件上,由于吊顶代码是异步的,会造成绑定的时候window已经load,最后代码不执行。需要增加这个功能才能实现正常载入模块

    opened by maisui99 6
  • kissy组件与angular.js结合

    kissy组件与angular.js结合

    kissy有很多符合阿里业务的组件,但angular没有; angular针对某些类型业务,能减少许多业务代码编写量,但kissy这方面貌似还不行; 能否把angular的优点与kissy丰富的组件结合起来?

    但kissy组件开发似乎很多地方依赖kissy核心,那么能否考虑kissy组件编写规范不要那么依赖kissy核心,好能方便迁移到其他库或框架(angular、jquery...)里?

    如果去kissy核心,把kissy组件改造起来似乎也没那么麻烦,但的确要改动不少地方。很显然不能同时用了angular和kissy的全部,那么基本核心的功能又有很多重复的地方。。。

    opened by warmhug 6
  • xtemplate: 更强大的模板引擎

    xtemplate: 更强大的模板引擎

    需求收集

    1. 增加错误提示
    2. 没有逻辑固然好,但是不那么实用

    语法

    {{variable}}

    模板: this is {{title}}

    数据: { title:'my' }

    渲染: this is my

    {{#if condition}} {{else}} {{/if}}

    condition 可进一步 > = < >= <= 等简单判断以及 * + - / ^

    模板: this is {{#if show}}{{title}}{{/if}}

    数据: { title:'my' ,show:0}

    渲染: this is

    {{#ifeq}}

    模板: this is {{#if show1 == =show2}}{{title}}{{/if}}

    数据: { title:'my' ,show1:0,show2:0}

    渲染: this is my

    expression

    {{#if a>b+1}}

    {{a+2}}

    模板: this is {{#each datas}} {{key}} : {{value}} {{/each}}

    数据: { datas:[{key:1,value:2},{key:3,value:4}]}

    渲染: this is my : 1 u : 2

    {{#with data}} {{/with}}

    进一步支持 {{../x}}

    模板: this is {{#with datas}} {{my}} {{u}} {{/with}}

    数据: { datas:{ my:1,u:2 }}

    渲染: this is 1 2

    {{! comment }}

    模板: this is {{! haha }}

    数据: { datas:{ my:1,u:2 } }

    渲染: this is

    {{#include}}

    详见: addSubTemplate

    escape syntax

    模板: my {{test}}

    数据: {test:2}

    渲染: my {{test}}

    api

    渲染

    KISSY.Template('this is {{title}}').render({title:'2'}) // => this is 2
    

    自定义命令

    KISSY.Template.addCommand('linkfy',function(url){return '<a>'+url+_'</a>';});
    
    KISSY.Template('this is {{linky url}}').render({url:'http://www.g.cn'}) 
    // => this is <a>http://www.g.cn</a>
    
    KISSY.Template.addCommand('if_less',function(num,num2,option){
      return num>num2?option.fn(option.context):option.inverse(option.context);
    });
    
    KISSY.Template('this is {{#if_less num1 num2}}{{url}}{{/if_less}}')
    .render({url:'http://www.g.cn',num1:3,num2:2}) // => this is http://www.g.cn
    

    子模板

    KISSY.Template.addSubTemplate('header','i am {{head}}');
    
    KISSY.Template('{{#include "header"}}').render({head:'2'}) 
    // => i am 2
    
    KISSY.Template.addSubTemplate('header2',function(all,context){
        return context.head;
        // 可进一步 KISSY.Template().render(context);
    });
    
    KISSY.Template('{{#include "header2" head="3"}}').render({head:'2'}) 
    // => i am 3
    

    预编译

    // 离线编译
    var fn = KISSY.Template.compile() ;//=> function
    // 使用
    KISSY.Template(fn).render(data);
    

    KISSY 模块化机制结合

    a 模板:

    {{#include 'xx'}} {{title}}
    

    xx 模板:

    {{content}}
    

    编译后生成两个模块:

    a:

    KISSY.add("t/a",function(S,Template){
        var a = new Template(function(){ .... });
        Template.addSubTemplate("a",function(context){
            return a.render(context); 
        }); 
        return a;
    },{
      requires:['template','./xx']
    });
    

    xx:

    KISSY.add("t/xx",function(S,Template){
        var x = new Template(function(){ .... });
        Template.addSubTemplate("xx",function(context){
            return x.render(context); 
        }); 
        return x;
    },{
      requires:['template']
    });
    

    kissy template 对比:

    优势

    • 不会莫名其妙报错(with)
    • 更多出错信息,直接给出行号
    • 更容易扩展 command,sub-tpl
    • 支持子模板
    • 支持作用域链
    • 内置 escapeHTML 支持
    • 支持预编译

    劣势

    • 不支持复杂表达式
    • 不支持复杂比较操作
    • 不支持 js 语法

    refer

    handlebar

    closure template

    velocity

    XTemplate

    xtemplate 
    opened by yiminghe 6
  • S.equals不能处理function对比

    S.equals不能处理function对比

    S.equals({'h':{'h':'123',g:[123],t:function(){}}},{'h':{'h':'123',g:[123],t:function(){}}}); 结果是false 可否在object判断之前加上 if (typeof a === 'function' && typeof b === 'function') { return (a.toString() === b.toString()); } 这样就正常对比了。

    opened by superfighter 5
  • kissy1.3/1.4 editor使用sync()后,双引号丢失

    kissy1.3/1.4 editor使用sync()后,双引号丢失

    例如在编辑器中输入<div class="hlg_match">, editor.sync();操作后,结果变成 <div class=hlg_match>&nbsp;</div>,class 中的双引号丢失,这个问题从 kissy1.3开始就后了(造成除style的双引号还在,其他(例如width、class)的双引号都消失);

    其他:kissy1.3中可以使用DOM.val('#editorEl textarea',editor.get("formatData"));来简单实现sync()的功能;但是 kissy1.4多了data配置项,不能再用editor.get("formatData")方法获取内容。

    opened by ghost 5
  • xtemplate: mustache 兼容性

    xtemplate: mustache 兼容性

    现在xtemplate已经局部的支持了mustache的语法。有没有打算对mustache的全部语法做支持。 先提供一些测试用例

    <!DOCTYPE HTML>
    <html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <title>brix tmpl test</title>
        <script src="http://a.tbcdn.cn/s/kissy/1.3.0/seed.js"></script>
    </head>
    <body>
        <div class="container">
        </div>
        <script type="text/javascript">
        var list = {
            a: true,
            b: function(){return 'b'},
            c: [1,2,3],
            data: {
                    name: 'h',
                    age: 2
                }
        }
        KISSY.ready(function(S){
            S.use('xtemplate,node',function(S,XTemplate){
                S.one('.container').html(new XTemplate(S.one('#tmpl').html()).render(list));
            });
        })
        </script>
        <script type="text/tmpl" id="tmpl">
            <div>
                <h1>不支持true,false的判断</h1>
                {{#a}}<div>true</div>{{/a}}
    
                <h1>不支持function</h1>
                <div>{{{b}}}</div>
    
                <h1>不支持Array</h1>
                {{#c}}
                <div>{{.}}</div>
                {{/c}}
                <h1>不支持属性向上查找判断</h1>
                {{#data}}{{name}}-{{b}}-{{age}}{{/data}}
            </div>
        </script>
    </body>
    </html>
    
    xtemplate 
    opened by keyapril 5
  • KISSY1.4.2的merge方法串改了初始对象的prototype

    KISSY1.4.2的merge方法串改了初始对象的prototype

    • 在1.3.0版本我某个页面大量的使用了如下方法

      var a = S.one('#a1');
      var b = S.one('#a2');
      ...
      var list = [];
      list.push(S.merge(a, {
          _width: 30,
          _height: 40
          ...
      });
      ...
      S.each(list, function(item, index) {
          item.css('height', item._height);
      });
      ....
      
    • 当我升级到1.4.1的时候,item.css报错undefined。

    • 发现S.merge变成了向空对象内S.mix进入目标对象。而mix方法本身是不会修个prototype的,问题发生在使用空对象上

    opened by ianli-sc 4
  • firefox下隐藏的iframe引入kissy seed初始化报错

    firefox下隐藏的iframe引入kissy seed初始化报错

    A页面嵌套iframe。其样式为display: none iframe的url地址为B页面。 B页面引入kissy seed文件。

    Firefox浏览器下 KISSY.ready === undefined

    原因:On Firefox (and others) IFRAME's hidden(and inherited) using display:none will NOT have a rendering context (computedStyle). 解释来源如下:http://www.sencha.com/forum/showthread.php?132187-Issue-with-the-computed-style-on-hidden-elements-using-Firefox-and-Ext-JS-4&s=0ef7deb3198af6f13ef6c286a64c928a&p=671006&viewfull=1#post671006

    opened by akecn 4
  • jsonpxxxx 找不到

    jsonpxxxx 找不到

    当jsonp请求超时,但服务端仍有返回的时候,会产生这个错误。原因是超时后callback被删除,而请求后面仍然到达了。示例代码:

    KISSY.use('io', function(S, IO){
        IO({
            url: 'otherdomain/xxxx',
            dataType: 'jsonp',
            timeout: 0.05
        });
    });
    
    opened by moldauder 4
  • kissy页面模板中能绑定方法吗?

    kissy页面模板中能绑定方法吗?

    写一个页面模板,想绑定click方法,结果函数直接运行,并且没有绑定成功

    <div class='coupon' onClick="{{clickFunction}}">
        <span>Select Color and Size</span>
    </div>
    
    var clickFunction=function(){
        console.log('binding success')
    }
    var firstObj={
        width:width+'px',
        height:width+'px',
        backgroundColor:'pink',
        clickFunction:clickFunction
    }
    var newFirstScreen=new XTemplate(firstScreenTemplate).render(firstObj);
    Node.all('#firstScreen').html(newFirstScreen);
    
    opened by peipeichengbao 0
  • Required file(s) to run on browser

    Required file(s) to run on browser

    Hi, I am a member of CDNJS and recently in charge of adding your lib. I am wondering if CDN simply need build/seed.js(minified?) and build/seed-debug.js(non-minified)? Or maybe all files of build? Thanks.

    opened by extend1994 0
  • KISSY在做AJAX跨域请求时,无法正常调用?

    KISSY在做AJAX跨域请求时,无法正常调用?

    我在Java服务端设置了跨域支持response.setHeader("Access-Control-Allow-Origin","*"),写完之后,我用jQuery普通的ajax请求时,是可以调用的。然而用KISSY 的IO下的ajax去请求就报无法支持跨域操作。请问这是怎么回事?

    opened by shuanger051 0
Releases(5.0.2)
  • 5.0.1(Oct 27, 2014)

    http://g.alicdn.com/kissy/k/5.0.1/seed.js

    • node 1.0.2 https://github.com/kissyteam/node/releases/tag/1.0.2
    • date-picker 1.0.2 bug fix
    • add package kg config to seed
    Source code(tar.gz)
    Source code(zip)
  • 5.0.0(Oct 17, 2014)

    原文: http://blog.kissyui.com/2014/10/17/kissy-5-is-released/

    KISSY 经过四年多的发展,在今天迎来了里程碑式的第五个大版本,也为了今后更加符合语义化的版本规范,新版本命名为 KISSY 5 ,你可以通过 cdn 来使用

    <script src="//g.alicdn.com/kissy/k/5.0.0/seed.js" data-config="{combine:true}"></script>
    
    <!--
    调试版
    <script src=''//g.alicdn.com/kissy/k/5.0.0/seed-debug.js" data-config="{combine:true}"></script>
    -->
    

    或者通过 npm 下载到本地使用

    npm install [email protected]
    

    或者参见源码库自行 build

    https://github.com/kissyteam/kissy/

    接下来介绍下 KISSY 5 的一些主要特性,ppt 详见: https://speakerdeck.com/yiminghe/kissy-5-upgrade

    完全 node 化的基础设施

    采用 node 重建基础设施后,将以前难以维护的整体的框架拆分成为易于维护相对独立的类库,并且这些类库集合都可以通过 bower npm 等包管理工具安装使用。 完整列表和版本参见: http://kissyteam.github.io/badgeboard/

    如果你不想整体得使用 kissy,也可以通过包管理工具使用组成 kissy 的一些模块。kissy 其实就是一个推荐的模块集合: https://github.com/kissyteam/kissy/blob/master/bower.json

    更标准开放

    采用标准的包管理工具(bower, npm)来管理模块

    loader 采用标准 api: require 与 define

    node 加强和 jquery 的兼容性: require('node') ~= jquery

    增加 path url 等和 nodejs api 一致的工具模块

    更细粒度的拆分

    KISSY5 核心模块进行了更细粒度的拆分,例如

    将 loader 独立为 https://github.com/kissyteam/modulex , seed.js 体积从 17kb(gzip) -> 10kb(gzip)

    anim 拆分为 timer 与 transition,并且在高级浏览器中直接加载较小的 transition https://github.com/kissyteam/anim/tree/master/build/anim

    事件手势模块则根据手势不同拆分为不同的模块: https://github.com/kissyteam/event-dom/tree/master/build/event-dom/gesture

    更方便的跨终端

    在 KISSY5 中模块不仅可以在浏览器中进行按终端最小化加载,你也可以根据需求在 nodejs 端使用 util xtemplate 等独立的工具模块。

    核心模块更高的性能

    xtemplate 经过 midway,wormhole 等项目的考验大幅提高了运行速度: https://github.com/kissyteam/xtemplate/blob/master/benchmark/result/2014-09-22-benchmark.md

    所有核心模块经过 kclean 后,大幅提升了初始化速度

    1.4.x

    <script src='http://g.alicdn.com/kissy/k/1.4.2/seed.js' data-config="{combine:true}"></script>
    <script>
    var now = +new Date();
    KISSY.use('combobox',function(){
    console.log(+new Date()-now); // 622
    });
    </script>
    

    5.0

    <script src=''//g.alicdn.com/kissy/k/5.0.0/seed-debug.js" data-config="{combine:true}"></script>
    <script>
    var now = +new Date();
    require(['combobox'], function(){
    console.log(+new Date()-now);
    });
    </script>
    

    完全重构的文档

    http://docs.kissyui.com/5.0/

    @秋知 开发了更加开放的文档系统: https://github.com/kissyteam/docs.kissyui.com ,包括全新的 api,demo,guide 以及在线代码编辑等功能,大家可以方便得修改提交。

    兼容与升级

    当然也会兼容 1.4.x 的 api,详见 @秋知 提供的兼容文件 https://github.com/kissyteam/deprecated5

    也可以使用 @淘杰 提供的升级工具,直接将老版本代码升级到新版本 https://github.com/kissyteam/kmt

    详细升级指南: https://github.com/kissyteam/deprecated5/blob/master/docs/upgrade.md

    5.x 后续版本升级请关注: https://github.com/kissyteam/kissy/releases

    新的篇章

    本次发布同时意味着 kissy 翻开了新的一页,下个月我将离开 ued 前往新的岗位,不再负责 kissy 这个品牌,这也是我最后一次发布 kissy。kissy 诞生于 taobao ued,今后仍将属于 taobao ued,kissy 新的发展方向将由圆心团队负责,现有构成 kissy 的类库模块我仍会继续维护,不过希望大家都能参与进来,这也是这次分库的目的。在此感谢负责本次 kissy 升级计划的小组成员:九十,梧忌,亚城,元彦,凌恒,秋知,淘杰以及从 kissy 诞生以来一直坚持使用 kissy 的同学们,特别感谢小马多年对于 kissy 的支持,祝团队成员在新的环境和岗位上能够遂心所愿。

    Source code(tar.gz)
    Source code(zip)
  • 1.4.9(Sep 4, 2014)

  • 1.4.8(Sep 2, 2014)

    1.4.8 是对 1.4.7 bug 修复,支持了 xtemplate 的独立使用,你可以通过

    CDN 引用:

    <script src="//g.alicdn.com/kissy/k/1.4.8/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install [email protected]
    

    bower 安装

    bower install kissy#1.4.8
    

    直接下载 来使用.

    changelog

    1. 可见 https://github.com/kissyteam/kissy/issues?q=milestone%3A1.4.8+is%3Aclosed
    Source code(tar.gz)
    Source code(zip)
  • 5.0.0.alpha.12(Aug 27, 2014)

    http://g.alicdn.com/kissy/edge/2014.08.26/seed.js

    use

    modulex: http://github.com/kissyteam/modulex

    xtemplate 1.2.2: http://github.com/kissyteam/xtemplate

    Source code(tar.gz)
    Source code(zip)
  • 1.4.7(Aug 22, 2014)

    1.4.7 是对 1.4.5 bug 修复,你可以通过

    CDN 引用:

    <script src="http://g.tbcdn.cn/kissy/k/1.4.7/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install [email protected]
    

    bower 安装

    bower install kissy#1.4.7
    

    直接下载 来使用.

    changelog

    1. 可见 https://github.com/kissyteam/kissy/issues?q=milestone%3A1.4.7+is%3Aclosed
    Source code(tar.gz)
    Source code(zip)
  • v1.4.5(Jul 24, 2014)

    1.4.5 是对 1.4.4 bug 修复,你可以通过

    CDN 引用:

    <script src="http://g.tbcdn.cn/kissy/k/1.4.5/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install [email protected]
    

    bower 安装

    bower install kissy#1.4.5
    

    直接下载 来使用.

    changelog

    1. 可见 https://github.com/kissyteam/kissy/issues?milestone=10&page=1&state=closed
    Source code(tar.gz)
    Source code(zip)
  • v5.0.0-alpha.10(Jul 16, 2014)

    @ npm

    npm install [email protected]
    

    之后就可以通过 require('kissy/lib/'+mod) 来在 nodejs 中使用 kissy 的模块了.

    @ browser (edge)

    发布版本: http://g.tbcdn.cn/kissy/edge/2014.07.16/seed.js 调试版本: http://g.tbcdn.cn/kissy/edge/2014.07.16/seed-debug.js

    本次发布更新:

    • node 增加和 jquery 的兼容性. https://github.com/kissyteam/kissy/issues/648
    • xtemplate 去除 cache 逻辑并增加 compile api. https://github.com/kissyteam/kissy/issues/652
    • combobox 占位符交互同原生行为一致. https://github.com/kissyteam/kissy/issues/655
    • overlay 增加 closeText 配置. https://github.com/kissyteam/kissy/issues/657
    • swf 修复 ie6-10 下调用 callSWF 函数问题
    • 手势事件名称改变 https://github.com/kissyteam/kissy/issues/595
    • xtemplate
      • 字符串类型不允许包括换行 https://github.com/kissyteam/kissy/issues/659
      • 修复关键字开头的变量解析问题 https://github.com/kissyteam/kissy/issues/660
      • 支持 elseif 语句 https://github.com/kissyteam/kissy/issues/664
      • 支持 array 和 map 数据类型 https://github.com/kissyteam/kissy/issues/614
    Source code(tar.gz)
    Source code(zip)
  • v5.0.0-alpha.4(Jun 23, 2014)

  • v5.0.0-alpha.3(Jun 13, 2014)

    @ npm

    npm install [email protected]
    

    之后就可以通过 require('kissy/lib/'+mod) 来在 nodejs 中使用 kissy 的模块了.

    本次发布更新:

    • xtemplate
      • 支持 include 非 xtpl 文件(不解析): https://github.com/kissyteam/kissy/issues/646
      • 其余更新参考浏览器端

    @ browser (edge)

    发布版本: http://g.tbcdn.cn/kissy/edge/2014.06.13/seed.js 调试版本: http://g.tbcdn.cn/kissy/edge/2014.06.13/seed-debug.js

    本次发布更新:

    • 增加 v5 适配废弃老旧 api 的脚本:https://github.com/kissyteam/kissy/issues/642
    • loader 支持新的 require api: https://github.com/kissyteam/kissy/issues/641
    • 增加 path/url/querystring 模块, api 等同 nodejs,并去除 uri 模块
    • xtemplate 增强:
      • 支持渲染时动态设置命令: https://github.com/kissyteam/kissy/issues/637
      • 支持宏的默认参数值: https://github.com/kissyteam/kissy/issues/647
    Source code(tar.gz)
    Source code(zip)
  • v1.4.4(May 22, 2014)

    1.4.4 是对 1.4.3 bug 修复,你可以通过

    CDN 引用:

    <script src="http://g.tbcdn.cn/kissy/k/1.4.4/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install [email protected]
    

    bower 安装

    bower install kissy#1.4.4
    

    直接下载 来使用.

    changelog

    1. 可见 https://github.com/kissyteam/kissy/issues?milestone=9&page=1&state=closed
    Source code(tar.gz)
    Source code(zip)
  • v1.4.3(Jul 2, 2014)

    1.4.3 是对 1.4.2 bug 修复,你可以通过

    CDN 引用:

    <script src="http://g.tbcdn.cn/kissy/k/1.4.3/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install [email protected]
    

    bower 安装

    bower install kissy#1.4.3
    

    直接下载 来使用.

    changelog

    1. 可见 https://github.com/kissyteam/kissy/issues?milestone=8&page=1&state=closed
    Source code(tar.gz)
    Source code(zip)
  • v5.0.0-alpha.1(May 19, 2014)

    @ npm

    主要是简化了 kissy 在 nodejs 下的应用。

    npm install [email protected]
    

    之后就可以通过 require('kissy/lib/'+mod) 来在 nodejs 中使用 kissy 的模块了.

    @ npm 包括以下模块:

    • base 模块: require('kissy/lib/base')

    • color 模块:require('kissy/lib/color')

    • html-parser 模块:require('kissy/lib/html-parser')

    • promise 模块:require('kissy/lib/html-parser')

    • util 模块:require('kissy/lib/util'),util 模块为之前在 KISSY 上的静态工具方法集合

    • xtemplate 模块:require('kissy/lib/xtemplate'),xtemplate 为 xtemplate 引擎在 nodejs 上的封装,主要 api 包括

      xtemplate.renderFile(path, data, callback)
      

      可方便用于 express 框架,例如

      app.set('view engine', 'html');
      app.set('views', path.join(__dirname, 'views'));
      app.engine('html', require('kissy/lib/xtemplate').renderFile);
      
    • date/format 模块:require('kissy/lib/date/format')

    • date/gregorian 模块:require('kissy/lib/date/gregorian')

    • event/custom 模块: require('kissy/lib/event/custom'),用于定义自定义事件。

      var CustomEvent = require('kissy/lib/event/custom');
      var util = require('kissy/lib/util');
      var target = util.mix({},CustomEvent.Target);
      target.fire('xx');
      
    • dom/selector 模块: require('kissy/lib/dom/selector'),可用于服务器 dom 环境的 css 选择器引擎

    @ npm 包括工具:

    • xtemplate 编译工具,全局安装

      npm install -g [email protected] 
      

      后可以运行

      kissy-xtemplate -p ./
      

    编译当前目录下的 html 模板文件. 注意编译后的 js 必须和浏览器端对应版本 kissy 配合使用.

    @ browser (edge)

    发布版本: http://g.tbcdn.cn/kissy/edge/2014.05.19/seed.js 调试版本: http://g.tbcdn.cn/kissy/edge/2014.05.19/seed-debug.js

    本次发布更新:

    • 删除发布文件的 -min 文件,压缩文件用不带后缀名文件代替,调试文件用后缀名 -debug 代替。

    • 增加包配置 filter,去除自动加载 debug 模块机制:https://github.com/kissyteam/kissy/issues/604

    • 去除?ks-debug 设置 KISSY.Config.debug 逻辑,建议从服务器端控制直接输出 seed.js(不带调试语句) 或者 seed-debug.js(带调试语句).https://github.com/kissyteam/kissy/issues/610

    • 将 util 模块从 seed 中拆出,seed-min 大小从 16.1kb 减小到 9.5kb: https://github.com/kissyteam/kissy/issues/621. 如果为了兼容考虑,可以引用 ??seed.js,util.js 并立即执行

      KISSY.use('util',function(S,util){util.mix(S,util)});
      
    • scroll-view 支持 pull-up-to-refresh(上拉加载): https://github.com/kissyteam/kissy/issues/625.

    • 添加 Menu.RadioItem 组件,支持菜单项的单选支持, https://github.com/kissyteam/kissy/issues/626.

    • xtemplate 支持模型内函数的直接调用:https://github.com/kissyteam/kissy/issues/616

    • 支持 combobox 的清除功能:https://github.com/kissyteam/kissy/issues/617

    • 支持 tabs 的 closable 配置:https://github.com/kissyteam/kissy/issues/340

    Source code(tar.gz)
    Source code(zip)
  • v5.0.0-alpha.0(May 19, 2014)

    背景

    一直以来大家对于 KISSY 的一些新进展都不是很了解,因此每次在大版本发布时都会有很多不适应和抱怨,另一方面又因为不了解 KISSY 的方向,而导致一些重复建设,因此为了应对这个问题,需要一个更灵活的方案,一方面可以使得大家了解到并使用最新的代码,另一个方面可以及时得到大家的反馈进而进行调整,而不至于在大版本发布后才追悔莫及。

    方案

    虽然很喜欢 google 等公司的无版本类库方式,但 kissy 无论是前瞻性还是稳定性都还达不到那种程度。因此 kissy 实行 edge 计划,每隔几天或者根据需求会把主干的稳定版本(通过持续集成自动化测试)放到 cdn,大家有兴趣或者想为 kissy 做贡献的,可以在新项目(特别是移动/触屏端)中试用 edge 版本,有问题或新需求可加群 574665692 或直接联系我,我会保证该项目的顺利进行。

    本次 edge 发布

    http://g.tbcdn.cn/kissy/edge/2014.04.10/seed-min.js

    近期 edge 集中于细粒度的底层模块,本次底层主要修改点在于:

    1. uri/path 拆出 seed,loader 独立化: http://g.tbcdn.cn/kissy/edge/2014.04.10/loader-min.js
    2. 支持核心模块配置 #556
    3. 支持 nodejs 下 require:#567
    4. 删除 ignorePackageNameInUri (默认 true) #593
    5. 删除 valuechange 事件,支持 input 事件:#549
    6. 支持 drag 手势 #573
    7. 支持 edge-drag 手势 #597
    8. 删除 event 模块,细粒度的 event:#595
    9. 高级浏览器下删除定时器动画模块:#582
    10. xtemplate 修改语法,支持继承,异步命令:#587 #570 #564

    后记

    1. 想法来源于 kissy mini ,kimi 以及 "像 google 一样进行软件测试" 一书
    2. 本文同步在 http://blog.kissyui.com
    3. 希望 kissy 在大家的共同努力下能够成为公司简单而统一的底层类库
    Source code(tar.gz)
    Source code(zip)
  • v1.4.2(Feb 28, 2014)

    1.4.2 是对 1.4.1 bug 修复和小范围改进,并提高了在触屏机器下的兼容性,你可以通过

    CDN 引用:

    <script src="http://g.tbcdn.cn/kissy/k/1.4.2/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install kissy
    

    bower 安装

    bower install kissy
    

    直接下载 来使用.

    changelog

    1. 修复一系列 window 触屏机器下鼠标事件和触屏事件的冲突. #568 #562 #557
    2. 增强部分 android 浏览器下的兼容性. #533 #538
    3. 隔离 tap,tapHold 事件. #535

    具体可见 https://github.com/kissyteam/kissy/issues?milestone=6&state=closed

    Source code(tar.gz)
    Source code(zip)
  • v1.4.1(Dec 6, 2013)

    1.4.1 是对 1.4.0 bug 修复和小范围改进,并提高了在 ie 11 下的兼容性,你可以通过

    CDN 引用:

    <script src="http://g.tbcdn.cn/kissy/k/1.4.1/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install kissy
    

    bower 安装

    bower install kissy
    

    直接下载 来使用.

    changelog

    1. loader 支持 commonjs 模块格式书写. #425
    2. anim 支持对 svg 元素进行属性动画. #504
    3. 修复 tapHold 时不允许页面滚动 bug. #506
    4. attribute 从 base 模块中分离。(不推荐使用,推荐使用 base). #507
    5. 修复 ie9 下的 transform js 动画. #510
    6. 提高 ie11 下的兼容性. #514
    7. xtemplate 配合兼容 crox 进行了一系列 bug 修复和改进,包括 #516 #517 #518 #519 #520 #523 #525 #526,特别指出
      1. 支持配置 each 内键值的名字 #520 ,例如 {{each data "val" "key"}}{{val}}{{/each}}
      2. 不兼容!:表达式内一律取消空格,例如 {{#if x + 3 == 2}} 需要改做 {{# if x+3==2}}
      3. 不兼容!:命令中的作用域参数由数组变为对象: #519
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Oct 31, 2013)

    KISSY 1.4.0 released

    KISSY 作为一款模块化、高性能、使用简单的 JavaScript 框架。除了原有提供的完备的工具集合如 DOM、Event、Ajax、Anim 等,它还提供了经典的面向对象、动态加载、性能优化解决方案。

    KISSY 1.4.0 经过大半年的开发以及在部分业务线的成功试用,于今天发布 1.4.0 正式版。作为一款跨终端的 JavaScript 框架,KISSY 的这次升级为移动终端做了大量适配和优化,让你的程序在全终端均能流畅运行。1.4.0 除了代码本身的功能增强,还在社区和工具上提供更多的服务和组件,并且提供了新的响应式设计的皮肤,大家可以用手机查文档了。

    homepage

    本次升级和以往最大的不同在于,KISSY 不再提供 kissy.js,强制大家引用seed.js(14k),大大减少误用和浪费。此外,CSS3 选择器性能加速和全球化支持都在这个版本得以实现。

    KISSY 的包管理机制以规范的形式呈现,使得 KISSY 的代码单元在模块规范的基本层面更容易抽离和共享。

    除了代码上的新特性之外,KISSY 还提供标准的打包工具,Kissy Module ComplierGrunt版本。支持模块静态合并和模块依赖关系表的生成。

    同时,KISSY 的英文文档也进行了更新,同样支持手机的浏览。

    KISSY 前进的脚步不会停止,接下来 KISSY 还会在使用体验、功能增强、无线设备适配、社区工具建设上投入更大精力,为打造一款真正跨终端、模块化、高性能、使用简单的类库而努力。

    试用新版 KISSY

    CDN 引用:

    <script src="http://g.tbcdn.cn/kissy/k/1.4.0/seed-min.js" data-config="{combine:true}"></script>
    

    npm 安装

    npm install kissy
    

    bower 安装

    bower install kissy
    

    直接下载

    升级:KISSY 1.4.0 升级指南

    Change Log

    1. loader 在 1.3.1 支持跨包 combo, error 回调,超时回调,importStyle 后,1.4 添加了全球化支持。以及允许 combo 模式具名含数据和非 combo 模式匿名模块的混合加载。
    2. 加载 css 模块时会返回 undefined 的模块值: https://github.com/kissyteam/kissy/issues/631
    3. lang 支持 KISSY.setImmediate 实现跨浏览器的快速异步执行代码。
    4. anim
      1. 实现 promise api,废弃事件通知。
      2. 支持使用 transition 动画。
      3. transform 做了兼容处理。
    5. base 与 rich-base 合并,并支持 callSuper 调用,形成完善的 KISSY 类系统.
      1. 请使用 Base.extend 而不是 S.extend(Base)。
      2. 如果为了兼容,使用 S.extend,其中请不要包含函数名 initializer 和 destructor。
    6. date 系列工具类实现,并支持 en/zh 两种语言以及序列化和 parse 功能。
    7. 在 date 以及 KISSY 组件架构的基础上实现 date/picker
    8. dom
      1. 支持 classList 以及 transform
      2. 自主实现 ie6-8 下的兼容 css3 的选择器引擎,并针对常用的选择器做特殊优化,通过透明的按需加载来实现全平台 css3 选择器兼容。
    9. touch 手势 对于 windows phone/win8 ie 的支持。
    10. node 支持 filter 方法。
    11. filter-menu 模块从 menu 模块中分离。
    12. overlay
      1. show/hide 方法不会设置行内样式,只会添加对应的 class。
      2. srcNode 初始化是 html 结构必须包含 content 节点。
      3. content/bodyContent 只允许字符串类型。
      4. 修改 close 按钮样式名。
    13. promise 模块从 seed 中分离,并支持 doneprogress api。
    14. resizable
      1. 支持 preserveRatio。
      2. 支持代理。
    15. tabs 支持懒渲染
    16. 在 KISSY 组件架构的基础上实现 scroll-view,可模拟触屏以及普通滚动条。
    17. xtemplate
      1. 宏的支持
      2. 根作用域的支持
      3. 模块加载的支持
      4. 优化产生代码,完善 kissy-xtemplate 命令离线编译代码。

    感谢

    • KISSY   核心小组
    • gallery 平台小组
    • 首页优化小组
    • detail 多终端小组

    published on 2013.10.31

    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(Jul 26, 2013)

    1.3.1 是对 1.3.0 的一些 bug 修复以及对迫切需要的 1.4 特性的移植, 完全兼容 1.3.0, 经淘宝首页,搜索,详情测试无缝替换,没有异常。以下为简单介绍(@github)

    1. #325 getScript ie9 bug fix
    2. #350 placeholder ie67 兼容
    3. #351 getScript ie6 bug fix
    4. #357 editor bug fix
    5. #411 param bug fix
    6. #269 loader 优化
      1. 支持 group 配置,详见 group 介绍 - combo 多个包。感谢阿古的贡献。
      2. 优化并行 use 效率
      3. 支持 importStyle,详见 import使用。感谢基德的贡献。
      4. use 支持失败回调,详见 use api
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Jul 3, 2013)

    距离 KISSY 1.2.0 发布已过一年,自 KISSY 1.3rc 发布后,1.3 又继续经历了即将发布的店铺系统,搜索系统,商品详情系统的锤炼,并做了必要的调整和优化。今天终于可以高兴地宣布: KISSY 1.3.0 正式版发布了。你可以通过淘宝 cdn 在线引用(推荐)或者直接从 github 下载或者使用 npm 安装.官网文档也进行了相应更新,覆盖了 1.3 涉及到的新特性以及修改,请清除缓存后访问 KISSY 1.3 文档首页.

    下面简单介绍下 1.3.0 相对于 1.2.0 的新特性与不兼容之处,也可查看 发布 ppt 介绍.

    新特性

    前提

    • 不要静态引入 KISSY 模块文件,例如
            <script src='http://a.tbcdn.cn/s/kissy/1.3.0/overlay.js'></script>
    
    • 推荐只静态引入 seed-min.js,通过 use require 使用其他模块,另外:
      • 尽量少 use
      • 线上设置 combo 模式(需要服务器支持 combo

    稳定性提升

    • 使用 phantomjs travis nodejs 来支持 KISSY 的持续集成。
    • 单元测试覆盖率提升,目测 80% 左右,后面需精确统计.

    协作效率提升

    • package 机制支持多个业务间的无缝协作
    • combo 模式支持每个业务耗费最小的链接数,后面会继续优化业务间的链接数
    • 内置 gallery package,更容易的通用模块共享机制,引用 cdn 版本直接 use('gallery/xx') 即可。

    开发更便捷

    • 线上 combo 模式与开发阶段匿名模块的无缝切换
    • 组件加强了一致性
      • 对外 api: new/render/plugin/listeners
      • 生命周期事件: afterRenderUI/afterBindUI/destroy/show/hide
      • 组件即模块, use/require 按需使用
    • 组件通过 json 初始化达到更好的易用性
            new Menu({
                children:[{
                    content:'menuitem'
                }],
                plugins:[],
                listeners:[]
            });
    
            new Tree({
                content:'root',
                children:[{
                    content:'node'
                }]
            });
    

    性能与可访问性

    • 移动支持
      • 所有模块按照设备能力按需加载
      • 线上启用 combo 模式减少链接数
      • 支持手势事件 pinch/rotate/tap ....
      • 大部分组件支持触屏下使用
    • 性能
      • 部分模块选择性加载,例如 ie 的兼容性模块( json2/event hashchange/dom ie… )不会被标准浏览器加载
      • 通过延迟初始化,提高了层级组件的性能.

    不兼容处

            new Draggable().plug(new ProxyPlugin())
            // or
            new Draggable({
                plugins: [new ProxyPlugin()]
            })
    
            new Overlay().plug(new DragPlugin());
            // or
            new Overlay({
                plugins:[new DragPlugin()]
            });
    
    • editor 重构
      • 使用统一的组件 api 与模块化机制

    详细 changelog

    详细 changelog 可到文档页面具体查看。

    1.3 修复的 bug 可到 github issues 里查阅.

    next -> 1.4

    下个版本中初步规划在两个方面完善:

    • 基础架构
      • test coverage
      • ie 持续集成探索??
      • 链接数继续优化
      • 快速的 build 机制探索
    • 基础组件
      • date/datasource/graphic
      • 无缝加载的 css 选择器
      • data-picker
      • color-picker
      • switchable 重构
      • grid??

    具体 roadmap 有兴趣可关注 github

    感谢

    在此,感谢曾经帮助过或现在仍然在持续推动 KISSY 发展的人们,希望 KISSY 能帮助更多普通的中国前端工程师。

    特别感谢以下人员的工作:

    • 服务线团队对 KISSY 1.3 的首先尝试: 常胤,玉门,七念,云休,棪木,清羽。
    • KISSY Gallery 虚拟团队对 KISSY 组件化的无私贡献: 剑平,常胤,翰文,玉门,七念,林谦,紫英,张挺,牧云,易敛,伯方,流火,元泉,基德。
    • etao 兄弟团队对 KISSY 的不懈支持: 李牧,左莫,基德,龙笛,逸才,雨异,云聪,阿大
    • KISSY PIE 工具团队对基于 KISSY 开发效率的大幅提升: 文龙,紫英,遇春,张挺,剑平
    • 年底升级项目团队包括 tmall 兄弟团队对 KISSY 的理解与宽容: 游侠,水儿,石霸,霸先,大遒,渐飞,文龙,释然,凤寻,三七

    还有更多在日常工作中帮助过 KISSY 完善的工程师们:

    阿克,道璘,地极,董晓庆,额台,方元,飞长,妙净,鸣弦,墨锋,苏河, 铁军,亚城,隐若,影风,元晃,缘灭,云谦,展炎,展烨,龙欣,龙刚,拔赤 …

    以及玉伯,小马,圆心对 KISSY 一如既往的支持.

    最后祝大家圣诞快乐!

    KISSY 1.3

    Source code(tar.gz)
    Source code(zip)
  • 1.3.0rc(Jul 26, 2013)

    经过半年的开发以及在淘宝产品线试用,KISSY 1.3 终于进入 RC 阶段(仅进行 bug 修复,停止结构调整,使用上和正式版没有区别), 这个版本旨在改善大规模项目团队协作开发中所遇到的诸多问题。 在开发的过程中,KISSY 得到了业界同行的诸多建议,及开源社区的广泛支持,在此表示非常感谢。 希望大家更多得试用,反馈问题。而正式版预计于 2012 第三季度发布.

    简单来说,新版本包括以下改进:

    1. 加强了模块化机制。例如:

      支持 cdn 自动 combo 以及细粒度的时间戳配置

      http://docs.kissyui.com/docs/html/demo/seed/loader/index.html

      http://docs.kissyui.com/docs/html/tutorials/kissy/seed/loader/index.html

    2. 提升了组件性能,支持 xclass 懒加载组件。例如:

      嵌套组件可以不用 new 出来,指定 json 格式即可:

      http://docs.kissyui.com/docs/html/demo/component/menubutton/xclass.html

    3. 扩充了框架能力,核心以及多个组件 api 有所增加。例如:

      支持 Promise 规范:

      http://docs.kissyui.com/docs/html/api/seed/promise/index.html

      switchable 增加了 add/remove,支持触屏:

      http://docs.kissyui.com/docs/html/demo/component/switchable/index.html

    4. 提高了 api 易用性和统一性. 例如:

      所有新组件都支持动态的 plugin 机制

      http://docs.kissyui.com/docs/html/demo/component/editor/simple-plugin.html

      以及通过 listeners 支持方便的事件绑定

      http://docs.kissyui.com/docs/html/demo/component/menubutton/xclass.html

    一些需要注意的不兼容性问题:

    1. 删除了 kissy-aio.js/uibase.js 静态文件,请静态引入以上文件时注意
    2. 删除了 KISSY.app 方法,请使用推荐的模块化机制

    详细 changelog:

    以下为具体 changelog 解释以及下版本初期规划,欢迎参与:

    [http://docs.kissyui.com/docs/html/tutorials/changelog/1.3.html]

    推荐大家在新项目中试用,并请使用的同学加群 198485246.

    引用地址:

    http://a.tbcdn.cn/s/kissy/1.3.0rc/seed-min.js

    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Jul 26, 2013)

    12.12 淘宝全年疯抢大促已圆满结束。

    KISSY 1.2 在大促中已被全面应用,KISSY 1.2 也顺势正式脱掉 Beta ,宣布稳定版本的到来!

    KISSY1.2的历程

    10年12月, 启动 KISSY1.2 分支,加入模块化实践

    …….

    11年5月,首次在交易线中应用…….

    11年7月,应用于宝贝发布

    11年10月,KISSY-MVC 模块出炉,应用于 etao vip 以及店铺后台管理

    11 年11 月,统一下单与购物车全面上线

    ……

    淘宝更多的应用包括:dd 应用于新的店铺个性化装修,tree 用于 crm 后台系统, waterfall 用于我要买,还有广泛应用于各处的 validation,增强版 overlay,支持 aria 的 switchable ,支持动态引入的 editor 等。

    外部应用网站包括:点点网12580打折网, 嘉兴全球通vip俱乐部等.

    KISSY 1.2 的特性

    KISSY 1.2 的完整模块列表如下

    1.2 mods

    除了核心功能的大幅增强,1.2 响应目前如火如荼的富客户端应用,对已有组件进行完善以及添加了大量的新组件,

    更新特性包括:

    利用委托支持大批量元素拖放的 dd

    支持对任意元素调整大小的 resizable

    resizable

    支持 aria 的 switchable

    switchable

    支持 aria ,拖放,大小调整以及更多显示特效的 overlay

    overlay

    支持 aria,功能和原生媲美的 button 组件

    button

    支持 aria,便于导航的菜单 menu 组件

    menu

    支持 aria,功能和原生媲美的下拉菜单 menubutton 组件

    menubutton

    支持 aria,用于层次化组织数据的树 tree 组件

    tree

    支持灵活可定制的验证 validation 组件

    validation

    支持按需加载,灵活布局的瀑布流 waterfall 组件

    waterfall

    支持高效开发web app 的 mvc 框架

    支持自动依赖合并模块代码的 KISSY Module Compiler 工具

    在 gallery 中也提交了不少优秀的业务组件,比如常用的倒计时分页图片倒影聚光灯等。

    具体特性可查看以下链接:

    KISSY 1.2 升级指南:http://docs.KISSYui.com/docs/html/changelog/1.2.0.html

    KISSY 1.2 同步cdn代码离线下载:https://github.com/KISSYteam/KISSY/zipball/1.2.0.cdn

    KISSY 文档离线下载:https://github.com/KISSYteam/KISSYteam.github.com/zipball/master

    KISSY 的发展规划

    KISSY 1.2 从此进入维护和Bug修复阶段,将不再进行重构以及核心功能的增加(除添加必要的独立组件外),希望大家可以有空多看下 1.2 的一些变更点,相信在以后的开发中会大大提高你的开发效率。

    KISSY在下个版本(暂定 2.0)中将关注于

    1. 核心的进一步完善,引入更多的通用功能
    2. 现有组件的功能扩展以及优化,欢迎大家提交新组件或者通用需求
    3. 统一 ui,形成 KISSY 统一的 ui 风格,欢迎大家提供设计和皮肤。
    4. 模块会进行更细粒度的拆分,权衡考虑按需加载与http链接以达到最佳的性能。

    感谢

    感谢 KISSYteam 成员乔花和沉鱼对1.2的大力帮助,

    感谢小马,圆心对 KISSY 的业务支持,

    感谢玉伯对 KISSY 的技术支持,

    感谢众多业务线前端在今年 1.2 beta使用过程中所承担的风险和贡献,排名不分先后:文河,dxq613,xiong_song,阿大,阿克,常胤,常之,沉鱼,道磷,额台,飞绿,基德,剑平,姜峰,李牧,龙藏,龙笛,龙欣,妙净,石霸,苏河,铁军,文龙,影风,遇春,缘灭,云谦,张挺,子涯,紫英,左莫,水儿。

    特别感谢龚浩以及点点网对于kissy一如既往的支持和补丁提交,还包括我们所不熟悉的众多默默支持 kissy 的一线互联网开发人员。

    kissy

    Source code(tar.gz)
    Source code(zip)
Obsidian-Snippet-collection - A collection of snippet to customize obsidian

This repo is a collection of CSS snippets for Obsidian.md. To install them on PC

Mara 110 Dec 22, 2022
Import ES Modules from the top StackOverflow answer to a question

StackOverflow Copilot Like GitHub Copilot, but worse! Imports the first codeblock of the first answer to a StackOverflow question as an ES Module Usag

Mary 28 Jan 18, 2022
A TailwindCSS variant for class-based dark mode with CSS Modules.

A TailwindCSS variant for class-based dark mode with Svelte's scoped stylesheets and CSS modules. If you've ever tried to use TailwindCSS dark mode wi

Bryan Lee 13 Dec 1, 2022
🎩 Coverage for EcmaScript Modules

?? ESCover Coverage for EcmaScript Modules based on ?? Putout and loaders. Why another coverage tool? When you want to use ESM in Node.js without tran

coderaiser 4 Jun 10, 2022
A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.

WeUI - tailor-made for WeChat web service 中文版本 Introduction WeUI is an WeChat-like UI framework officially designed by the WeChat Design Team, tailor-

Tencent 26.6k Jan 2, 2023
A set of small, responsive CSS modules that you can use in every web project.

Pure A set of small, responsive CSS modules that you can use in every web project. https://purecss.io/ This project is looking for maintainers to supp

Pure CSS 22.7k Jan 9, 2023
Automated packaging of Debian-flavored NGINX with PageSpeed modules. Written in Bash and GitHub Workers. APT Repository hosted on Dokku.

NGINX + Google PageSpeed Configuring NGINX to build correctly is a pain. Not because of anything wrong with it, but rather because of how slim the sta

Slava Knyazev 21 Oct 14, 2022
This is my to-do list website built with html, css and JavaScript. In this project I used Webpack to bundle JavaScript and ES6 modules to write modular JavaScript.

To-Do-List App This is my to-do list website built with html, css and JavaScript. In this project I used Webpack to bundle JavaScript and ES6 modules

Samuel Mwape 18 Sep 20, 2022
JavaScript project for the Leader-board list app, using webpack and ES6 features, notably modules

Leaderboard JavaScript project for the Leader-board list app, using webpack and ES6 features, Built With HTML CSS Javascript webpack Getting started t

Banlon Jones 3 Feb 17, 2022
A JavaScript project for the Leaderboard list app, using webpack and ES6 features, notably modules

LEADERBOARD In this activity I am setting up a JavaScript project for the Leaderboard list app, using webpack and ES6 features, notably modules. I wil

Tobin 11 Mar 16, 2022
This is a simple To-do list built with JavaScript, HTML and CSS. The project uses webpack to bundle JS-modules. Users can add and remove task from the list

This is a simple To-do list built with JavaScript, HTML and CSS. The project uses webpack to bundle JS-modules. Users can add and remove task from the list

Daniel Yerimah 6 Jun 7, 2022
Using ES6 Modules on creating favorite books where we can save our favorit books

Using ES6 Modules on creating favorite books where we can save our favorit books

Sediqullah Badakhsh 13 Dec 1, 2022
Starting template for building a Remix site with CloudFlare Workers (ES Modules Syntax)

Starting template for building a Remix site with CloudFlare Workers (ES Modules Syntax)

null 12 May 20, 2022
A microverse project that allows users to update tasks from a list using javascript modules

ToDo-list App This is a microverse project that allows users to update tasks from a list using javascript modules Our goal here is to Build a book app

faith Usor 5 Oct 19, 2022
Scans your computer for node modules that are potentially vulnerable to supply chain attacks

Scans your computer for node modules that are potentially vulnerable to supply chain attacks. You still need to review the code of modules that are not vulnerable, but this helps.

Brandon Nozaki Miller 4 Apr 11, 2022
An interactive app that allows adding, editing and removing tasks of a to-do list. Drag-and-drop featured added. Webpack was used to bundle all the Js modules in to one main Js file.

To-do List A to-do list app This app let you to set your own to-do list. Built With HTML CSS JavaScript WebPack Jest Live Page Page Link Getting Start

Kenny Salazar 7 May 5, 2022
A simple way of loading inline es-modules on modern browser.

ES inline module A simple way of loading inline es-modules on modern browser. Usage Use inlineImport to dynamically import inline scripts. <script typ

稀土 40 Dec 22, 2022
Simple Library implemented using HTML, CSS and JavaScript. This is a simple implementation of JavaScript Modules of ES6.

Awesome-books A single page project with the porpuse of storing books' titles and authors. Built With CSS, HTML & Javascript. How to run in your local

Saadat Ali 7 Feb 21, 2022
💅 A ready-to-go with a well-thought-out structure Electron app boilerplate with ReactJS, TypeScript, CSS / SASS modules, SWC, Eslint, Prettier, GitHub Action releases and more.

Electron App ??  A ready-to-go with a well-thought-out structure Electron app boilerplate with ReactJS, TypeScript, CSS / SASS modules, SWC, Eslint, P

Dalton Menezes 155 Dec 29, 2022