Skip to content

Commit

Permalink
Demo 及代码整理
Browse files Browse the repository at this point in the history
  • Loading branch information
techird committed Aug 4, 2014
2 parents 6987d2e + 32be870 commit 77ad6a1
Show file tree
Hide file tree
Showing 55 changed files with 6,971 additions and 7,842 deletions.
118 changes: 32 additions & 86 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -1,119 +1,66 @@
/*global module:false*/
module.exports = function(grunt) {

var banner = '/*!\n' +
' * ====================================================\n' +
' * <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? " * " + pkg.homepage + "\\n" : "" %>' +
' * GitHub: <%= pkg.repository.url %> \n' +
' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %>\n' +
' * ====================================================\n' +
' */\n\n';

// Project configuration.
grunt.initConfig({

// Metadata.
pkg: grunt.file.readJSON('package.json'),

// Task configuration.
transport: {

dependence: {
options: {

// module path
paths: [ 'src' ],
debug: false

entrance: 'kity',
base: 'src'
},

cmd: {

files: [ {

cwd: 'src',
src: '**/*.js',
dest: '.build_tmp'

} ]

merge: {
files: [{
src: 'src/**/*.js',
dest: '.build_tmp/kity_tmp.js'
}]
}

},

concat: {

options: {

paths: [ 'src' ],
include: 'all',
noncmd: true

},

cmd: {

files: {
'.build_tmp/kity-non.js': '.build_tmp/**/*.js'
}

},

full: {

closure: {
options: {

banner: '/*!\n' +
' * ====================================================\n' +
' * <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? " * " + pkg.homepage + "\\n" : "" %>' +
' * GitHub: <%= pkg.repository.url %> \n' +
' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %>\n' +
' * ====================================================\n' +
' */\n\n' +
'(function () {\n',

banner: banner + '(function () {\n',
footer: '})();'

},

files: {
'dist/kity.js': [ 'dev-lib/cmd-define.js', '.build_tmp/kity-non.js', 'dev-lib/exports.js' ]
'dist/kity.js': ['.build_tmp/kity_tmp.js', 'dev-lib/exports.js']
}

}

},

uglify: {

options: {

banner: '/*!\n' +
' * ====================================================\n' +
' * <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
'<%= pkg.homepage ? " * " + pkg.homepage + "\\n" : "" %>' +
' * GitHub: <%= pkg.repository.url %> \n' +
' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %>\n' +
' * ====================================================\n' +
' */\n'

banner: banner
},

minimize: {

files: {
'dist/kity.min.js': 'dist/kity.js'
}

}

},

clean: {

tmp: [ '.build_tmp' ]

tmp: ['.build_tmp']
},

jasmine: {
kity: {
src: ['dev-lib/cmd-define.js', 'dist/kity.min.js'],
unit: {
src: ['dist/kity.min.js'],
options: {
specs: [
'spec/core/*',
Expand All @@ -126,7 +73,7 @@ module.exports = function(grunt) {
},

connect: {
kity: {
unit: {
options: {
hostname: '0.0.0.0',
port: 7777,
Expand All @@ -138,16 +85,15 @@ module.exports = function(grunt) {
});

// These plugins provide necessary tasks.
grunt.loadNpmTasks('grunt-cmd-transport');
grunt.loadNpmTasks('grunt-cmd-concat');
grunt.loadNpmTasks('grunt-module-dependence');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jasmine');
grunt.loadNpmTasks('grunt-contrib-connect');

// Default task.
grunt.registerTask('default', ['transport:cmd', 'concat:cmd', 'concat:full', 'uglify:minimize', 'clean:tmp']);
grunt.registerTask('test', ['default', 'connect:kity', 'jasmine:kity']);
grunt.registerTask('default', ['dependence:merge', 'concat:closure', 'uglify:minimize', 'clean:tmp']);
grunt.registerTask('test', ['default', 'connect:unit', 'jasmine:unit']);

};
};
75 changes: 75 additions & 0 deletions demo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
Kity Demo 编写规范
=====

本目录存放 Kity 的 Demo,需要贡献 Demo 的,请遵守本规范。

## Demo 类型

Demo 允许以单个 HTML 页面存在,也可以以目录的形式存在。

如果 Demo 以目录的形式存在,Demo 的入口*必须是 index.html* 。可以在 Demo 目录中存放该 Demo 所需要的资源。但是如果资源可能能被其他 Demo 复用,那么应该把资源存放在 `public` 目录下。

## 页面结构

单页面的 Demo,或者目录形式的 Demo 的 index.html,应该遵循以下页面结构。

```html
<!DOCTYPE html>
<html>
<head>
<!-- 必须强制指定页面编码为 UTF-8 -->
<meta charset="utf-8">

<!-- Demo 的简要说明,必须要填写 -->
<meta name="description" content="Demo 的描述,必须要有">

<!-- Demo 的作者,建议填写 -->
<meta name="author" content="[email protected]">

<!-- Demo 的标题,必须填写 -->
<title>Demo 标题</title>

<!-- Demo 开发过程中使用 CMD 引入 Kity 源码,方便调试 -->
<!-- dev start -->
<!-- 目录型的 Demo 注意修正源码引用路径 -->
<script src="../dev-lib/dev-define.js"></script>
<script>
// 设置好 kity 源代码目录
inc.config( { base: '../src'} );
// 定义 Demo 模块
define('demo', function(require) { require('kity'); });
</script>
<script>
// 启动 Demo 模块
inc.use('demo');
</script>
<!-- dev end -->

<!-- 生产使用中可以直接引用发布压缩的版本 -->
<!-- production start -->
<!-- 目录型的 Demo 注意修正源码引用路径 -->
<!-- <script src="../dist/kity.min.js"></script> -->
<!-- production end -->

<!-- 可以引入样式表(针对目录形式的Demo) -->
<!-- <link rel="stylesheet" href="mystyle.css"> -->

<!-- 可以引入其他脚本 -->
<!-- <script src="demoscript.js"></script> -->
</head>
<body>
<!--Body 内容-->
</body>

<!-- 针对单页面的 Demo,可以直接在页面最后写 Script,作为 Demo 的源代码 -->
<script>
</script>
</html>
```

## 其他说明

1. 如果 Demo 在开发中,那么应该给 Demo 文件名或目录名前面加一个下划线,表示 Demo 不会被扫描发布。
2. `_sample.html` 是上述页面结构的源文件,开始一个新 Demo 可以从拷贝修改该文件开始。
3. 贡献了 Demo,请给我们提 pull request。欢迎一起丰富 kity 的 Demo 库!
57 changes: 57 additions & 0 deletions demo/_sample.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html>
<head>
<!-- 必须强制指定页面编码为 UTF-8 -->
<meta charset="utf-8">

<!-- Demo 的简要说明,必须要填写 -->
<meta name="description" content="Demo 的描述,必须要有">

<!-- Demo 的作者,建议填写 -->
<meta name="author" content="[email protected]">

<!-- Demo 的标题,必须填写 -->
<title>Demo 标题</title>

<!-- Demo 开发过程中使用 CMD 引入 Kity 源码,方便调试 -->
<!-- dev start -->
<!-- 目录型的 Demo 注意修正源码引用路径 -->
<script src="../dev-lib/dev-define.js"></script>
<script>
// 设置好 kity 源代码目录
inc.config( { base: '../src'} );
// 定义 Demo 模块
define('demo', function(require) { require('kity'); });
</script>
<script>
// 启动 Demo 模块
inc.use('demo');
</script>
<!-- dev end -->

<!-- 生产使用中可以直接引用发布压缩的版本 -->
<!-- production start -->
<!-- 目录型的 Demo 注意修正源码引用路径 -->
<!-- <script src="../dist/kity.min.js"></script> -->
<!-- production end -->

<!-- 可以引入样式表(针对目录形式的Demo) -->
<!-- <link rel="stylesheet" href="mystyle.css"> -->

<!-- 可以引入其他脚本 -->
<!-- <script src="demoscript.js"></script> -->
</head>
<body>
<!--Body 内容-->
</body>

<!-- 针对单页面的 Demo,可以直接在页面最后写 Script,作为 Demo 的源代码 -->
<script>
var html = [];
for (var p in kity) {
html.push('<p>kity.' + p + '</p>');
}
html.sort();
document.body.innerHTML = html.join('');
</script>
</html>
2 changes: 1 addition & 1 deletion demo/text.html → demo/_text.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
paper.addShape(p);

setInterval(function() {
var box = t.getRenderBox();
var box = t.getRenderBox('top');
rb.setPosition(box.x, box.y).setSize(box.width, box.height);
}, 15);

Expand Down
44 changes: 0 additions & 44 deletions demo/bran_test.html

This file was deleted.

Loading

0 comments on commit 77ad6a1

Please sign in to comment.