Step1: 安装kissy gallery组件工具

npm install yo grunt-cli -g
npm install generator-kissy-gallery -g

请确保本地带有NodeJs和Npm环境。

Step2:创建组件目录

手动创建一个组件目录,比如offline。

进入该目录,打开命令行工具,执行如下命令:

yo kissy-gallery 1.0

1.0为组件起始版本目录,可以自由设置。

工具会询问您组件的作者和email,这是必须输入的:

构建成功后的目录如下:

目录和各个文件的用途可以看Kissy Gallery组件开发规范说明。

Step3:打包文件

假设组件已经开发完成,发布前需要打包压缩下文件,运行如下命令:

grunt

(PS:默认只打包index.js,如果组件有其他需求,请修改gruntfile.js的打包配置)

打包成功后,会在build目录下生成index.js和index-min.js。

Step4:补充组件描述、教程、demo

打开abc.json,修改组件信息,比如像下面的内容:

{
"name": "uploader",
"version":"1.4",
"author":{"name":"明河","email":"minghe36@126.com","page":"https://github.com/minghe"},
"cover":"http://img02.taobaocdn.com/tps/i2/T1C1X_Xs8gXXcd0fwt-322-176.png",
"desc":"异步文件上传组件"
}

想要在首页显示头像,email字段需要是gravatar上的,没有的话可以到gravatar上传一个。

page字段指向你的个人主页,

cover字段为组件封面图片。

组件使用教程和demo

组件的所有的教程,必须放在guide目录下,而且必须是md文件,服务器会自动渲染成html页面。

demo必须放在demo目录,所有的demo请仿照着demo/index.html来写,特别是gallery包的配置。

文档和demo1天同步一次(github的接口限制)。

guide的访问地址示例:http://gallery.kissyui.com/imgcrop/2.0/guide/index.html。

demo的访问地址示例:http://gallery.kissyui.com/imgcrop/2.0/demo/index.html。

请把demo的入口放在guide的md文件内。

Step5:发布组件

第一次发布会麻烦些,需要在kpm下建一个issue,需要gallery管理员在kissygalleryteam用户名下fork你的库。

后面的发布就简单了,发个pull request,然后通知承玉发布即可。

当你的组件发布成功后,系统会反馈发布消息到你建的issue。

issue的内容可以参考:velocity组件,正文带上你用户名下的组件库路径。

issue标题统一为:add module 组件名称。

发布成功后,系统返回的消息类似如下:

组件的abc.json中写上author的name和email,不然会发布失败!

15分钟快速开发一个kissy组件(流程篇)的更多相关文章

  1. 使用Vue2+webpack+Es6快速开发一个移动端项目,封装属于自己的jsonpAPI和手势响应式组件

    导语 最近看到不少使用vue制作的音乐播放器,挺好玩的,本来工作中也经常使用Vue,一起交流学习,好的话点个star哦 本项目特点如下 : 1. 原生js封装自己的跨域请求函数,支持promise调用 ...

  2. winform快速开发平台 -> 工作流组件(仿GooFlow)

    对于web方向的工作流,一直在用gooflow对于目前我的winform开发平台却没有较好的工作流组件.  针对目前的项目经验告诉我们.一个工作流控件是很必要的. 当然在winform方面的工作流第三 ...

  3. winform快速开发平台 -> 基础组件之分页控件

    一个项目控件主要由及部分的常用组件,当然本次介绍的是通用分页控件. 处理思想:我们在处理分页过程中主要是针对数据库操作. 一般情况主要是传递一些开始位置,当前页数,和数据总页数以及相关关联的业务逻辑. ...

  4. 基于django快速开发一个网站(一)

    基于django快速开发一个网站(一) *  创建虚拟环境.基于虚拟环境创建django==2.0.0和图片加载库和mysql数据库驱动 1. 创建目录并创建虚拟环境 ╰$ mkdir Cornuco ...

  5. 如何从0开发一个Vue组件库并发布到npm

    1.新建文件夹在终端打开执行 npm init -y 生成package.json如下,注意如果要发布到npm,name不能有下划线,大写字母等 { "name": "v ...

  6. 使用.NET Core快速开发一个较正规的命令行应用程序

    程序员的世界,命令行工具一直是"体验非常友好"的工具,也能自动化完成很多事情,同时还能结合shell来进行某项任务的批处理(脚本).在.NET Core中,命令行应用程序是基础,但 ...

  7. 如何快速开发一个支持高效、高并发的分布式ID生成器

    ID生成器是指能产生不重复ID服务的程序,在后台开发过程中,尤其是分布式服务.微服务程序开发过程中,经常会用到,例如,为用户的每个请求产生一个唯一ID.为每个消息产生一个ID等等,ID生成器也是进行无 ...

  8. 快速开发一个PHP扩展

    快速开发一个PHP扩展 作者:heiyeluren时间:2008-12-5博客:http://blog.csdn.net/heiyeshuwu 本文通过非常快速的方式讲解了如何制作一个PHP 5.2 ...

  9. 对jquery插件Jcrop开发一个裁剪组件

    Jcrop是一款优秀的裁剪工具,它不仅可以裁剪图像,还可以裁剪canvas及任何的div元素,具体可参考: http://code.ciaoca.com/jquery/jcrop/ 基于Jcrop,开 ...

随机推荐

  1. eclipse 使用hadoop-plugins 插件出现EOFException问题

    相当郁闷的一个问题,之前也看了好多外国的网站,也没有解答 主要出在了使用http访问 http://192.168.5.128:50030/jobtracker.jsp http://192.168. ...

  2. 安装node-sass

    SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass

  3. RabbitMQ持久化编码注意事项

    以Java语言,MQ客户端为amqp-client作为示例 1.基本原则 direct模式,由生产者声明队列名,消费者也声明队列名 topic模式,由生产者声明交换器名,由消费者声明队列名+交换器名+ ...

  4. [妙味JS基础]第八课:return、定时器基础

    知识点总结 return 1)函数名+括号 = return 返回值 2)所有的函数默认的返回值 = 未定义 3)return后面的代码不执行 arguments  =>为实参的集合,当参数个数 ...

  5. 2016GIAC全球互联网架构大会日程分享

    GIAC全球互联网架构大会是中国互联网技术领域一年一度的行业盛事,每年从互联网架构最热门高压应对.云计算.大数据.机器学习.分布式架构等领域甄选前沿的有典型代表的技术创新及研发实践的架构案例,分享他们 ...

  6. Spring Security(13)——session管理

    1.1     检测session超时 1.2     concurrency-control 1.3     session 固定攻击保护 Spring Security通过http元素下的子元素s ...

  7. php 导出 Excel 报错 exception 'PHPExcel_Calculation_Exception' with message

    exception 'PHPExcel_Calculation_Exception' with message '粉丝数据!C2679 -> Formula Error: Operator '= ...

  8. 设计新Xlator扩展GlusterFS[转]

    原文:http://www.linuxidc.com/Linux/2013-08/89105.htm 1. GlusterFS概述 GlusterFS是一个开源的分布式文件系统,具有强大的Scale- ...

  9. C/C++的静态库与动态库

    C/C++编程中相关文件后缀(以Linux系统下为例): .a:           静态库(archive) .c/.cpp:  C/C++源程序 .h/.hpp: C/C++源程序的头文件 .i: ...

  10. JVM基础(3)-多态性实现机制

    一.方法解析 Class 文件的编译过程中不包含传统编译中的连接步骤,一切方法调用在 Class 文件里面存储的都只是符号引用,而不是方法在实际运行时内存布局中的入口地址. 因此,想要使用这些符号引用 ...