clay-core
Version:
Provide a more friendly web-side drawing interface!
119 lines (83 loc) • 4.99 kB
Markdown
[clay.js / core](https://yelloxing.github.io/clay-core/doc/) - Provide a more friendly web-side drawing interface
==================================================
[](https://www.travis-ci.org/yelloxing/clay-core)
[](https://github.com/yelloxing/clay-core/issues)
我们的目标是:提供更友好的web端绘图接口。
<img align="right" height="100" src="https://github.com/yelloxing/clay-core/blob/master/clay.png">
****
### 作者:心叶
### 邮箱:yelloxing@gmail.com
****
- 温馨提示:本项目已经停止更新,clay.js系列项目都已经转移到[image2D](https://github.com/yelloxing/image2D)中去,期待你的加入!
关注的问题
--------------------------------------
首先,本项目是为了Web端绘图而建立的,如果用更通俗的话说,就是为了方便使用HTML + CSS + ES绘制各种2D和3D图形,并且绘制的图形是可交互的。
和别的库不同的是,clay.js关注的重点是绘图过程中繁琐的操作和复杂的计算部分,通过提供更友好的操作接口和丰富而基础的计算接口来加速绘图。除此之外,不会也不喜欢强迫使用者改变自己的代码习惯,或者说在尽可能的情况下,保证灵活性。
[](https://yelloxing.github.io/clay-core/doc/)
项目关系
--------------------------------------
clay.js是一个在浏览器端绘图的一个项目集的称呼,其中有很多项目,下面分别说明一下:
* [clay.js / core](https://yelloxing.github.io/clay-core/doc/) - 也就是本项目,主要是浏览器端绘图的基本接口,只要是使用本系列绘图,大部分情况下,都应该引入本项目。
* [clay.js / 2d](https://github.com/yelloxing/clay-2d) - 主要提供绘制二维图形的快捷接口,比如扇形等,引入本项目以后,基本的二维图形的绘制将不再麻烦。
* [clay.js / chart](https://github.com/yelloxing/clay-chart) - 主要是图表绘制问题,比如绘制饼状图、树图等,你可以认为,这是一个数据可视化相关的计算库。
开源初衷
--------------------------------------
始终秉承着开源的初衷,任何有益的建议或设计都是被鼓励作为新的代码贡献进来的。加入我们前,请先阅读[相关基本说明](https://github.com/yelloxing/clay-core/blob/master/.github/CONTRIBUTING.md)和[接口文档API](https://yelloxing.github.io/clay-core/doc)了解基本情况。如果仍有疑惑,可以发送作者邮箱询问细节。
如何使用?
--------------------------------------
如果你开发的是一个web项目,直接在页面引入打包后的文件后即可:
```html
<script src="./build/clay-core.min.js" type="text/javascript"></script>
```
如果你想通过npm方式管理,首先你需要通过命令行安装clay.js:
```bash
npm install --save clay-core
```
安装好了,可以这样调用:
```js
import clay from 'clay-core';
// 基本配置(可以不配置,使用默认值)
clay.config(...);
...
// 导出,供别的模块使用(如果没有配置,别的模块重新import也一样)
export default clay;
```
如果你是使用npm方式管理的,除了导入全局clay外,你还可以导入你需要的接口,下面列出全部可导入接口:
```js
import {
// 全局变量
clay, $$,
// 布局
treeLayout,
// 坐标变换
rotate, move, scale,
// 曲线插值
hermite, cardinal, catmullRom,
// Matrix4矩阵
Matrix4,
// 地球坐标映射
map,
// 轮询
animation, loop
} from 'clay-core';
```
如何在本地搭建开发环境?
--------------------------------------
把代码Clone到本地:
```bash
git clone git://github.com/yelloxing/clay-core.git
```
进入项目目录,安装打包文件:
```bash
cd clay-core && npm install
```
安装好以后就可以进行开发了,修改代码以后,应该启动打包程序:
```bash
npm run release
```
除非特殊情况,每一个新开发的功能都应该添加单元测试和基准测试,无法提供单元测试的应该添加用例。
单元测试位于test/unit,基准测试位于test/benchmark,用例位于test/use-case。
对于单元测试,如果是新添加的html页面,应该在Gruntfile.js里最后部分添加引用(每次发布代码到Github的时候会自动报告是否存在问题),本地直接在目标浏览器中打开对应html页面即可查看测试结果。
### 免责声明
* 项目中部分数据(如图片等)来自互联网,如果侵犯到对应权益者请联系我们,方便我们及时删除!
* 本项目保留贡献者全部权利,发生的任何纠纷,本项目作者和维护人概不负责,如有侵权,请及时和我们取得联系。