Skip to content

Instantly share code, notes, and snippets.

@303182519
Last active August 29, 2015 14:01
Show Gist options
  • Save 303182519/02e5fda87ab5dc0a6146 to your computer and use it in GitHub Desktop.
Save 303182519/02e5fda87ab5dc0a6146 to your computer and use it in GitHub Desktop.
组件库

组件脚手架

#####目录结构,已puzzle为例如下:

puzzle
  -- build                  压缩的版本
  -- doc                    markdown 文档,除了 README 的其他文档
	   -- history.md        版本更新说明	

  -- src                    存放 js, css 文件
	   -- js
	      -- puzzle.js
       -- css
       	  -- overlay.css
       -- images
          -- overlay.jpg
       -- *.html
       
  -- tests                  单元测试,采用Qunit
       -- puzzle-spec.js
  -- node_modules           npm install 生成的grunt插件
  -- README.md              模块总体说明
  -- package.json           版本等元信息
  -- Gruntfile.js           grunt配置
  -- .gitignore             git 忽略某些文件

#####脚手架安装

1. 依赖于node、grunt,所以第一步需安装这两个
2. 通过 npm install -g grunt-init 命令安装 grunt-init 
3. 通过 git clone https://github.com/303182519/template-yygui.git ~/.grunt-init/template-yygui 命令安装组件模版 
4. 在一个空的目录中执行 grunt-init template-yygui
5. 编写package.json里面的devDependencies,你需要的grunt插件
6. 执行 npm install 命令以准备开发环境
7. 为你的组件书写代码

README.md文件

每个组件必须有 README.md 文件,用来描述组件的基本情况。
# 模块名称

-----

该模块的概要介绍。

-----

## 使用说明

如何使用该模块,可以根据组件的具体特征,合理组织。

## API

需要提供 API 说明,属性、方法、事件等。

HISTORY.md文件

记录组件的变更,请阅读历史记录书写规范。

地址:https://github.com/aralejs/aralejs.org/wiki/%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95%E4%B9%A6%E5%86%99%E8%A7%84%E8%8C%83

### 1.1.0

* [fixed] #18 修复了 XXX 问题
* [fixed] #29 修复了 YYY 问题
* [new] #12 增加了 ZZZ 功能
* [improved] #23 优化了 BBB 代码

### 1.0.0

* [new] 第一个发布版本

组件文档生成

1. 安装doxmate为全局工具 npm install doxmate -g

// 去到项目目录
$ cd puzzle
$ doxmate build
// 在docs目录下将会得到文档
// 或者 -o folder,可以将文档生成到指定的目录下
$ doxmate build -o ~/output

规范:
Doxmate将会扫描项目下的README.md和doc目录下的md文件,通过markdown渲染,生成页面。扫描lib目录下的文件,通过dox解析内容,生成API文档页面 
https://github.com/JacksonTian/doxmate

发布组件

  1. 已puzzle为例,把压缩好的文件 上传到sz/s/yygui/puzzle/下
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment