epochjs/epoch

一个通用的、实时可视化库。

安装次数: 560

依赖者: 0

建议者: 0

安全性: 0

星星: 4,968

关注者: 202

分支: 279

开放问题: 70

语言:HTML

v0.8.4 2015-10-30 20:44 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:46:09 UTC


README

由 Ryan Sandor Richards 编写

Build Status Dependency Status devDependency Status

Epoch 是一个通用的图表库,适用于应用程序开发人员和可视化设计师。它专注于可视化编程的两个不同方面:用于创建历史报告的 基本图表,以及用于显示频繁更新的时间序列数据的 实时图表

要开始使用 Epoch,请参阅 Epoch 项目网站。在那里您可以找到完整的文档和指南,以帮助您立即开始使用 Epoch。

安装

Epoch 可以通过以下包管理器轻松安装

如果您在上述列表中没有看到您喜欢的包管理器,请随时 打开一个问题 并让我们知道。最后,您可以从 项目发布页面 下载库的任何版本。

重要:Epoch 需要 d3。为了正常工作,您的页面必须在 epoch 之前加载 d3。

公共 CDN URL

如果您不想自己托管文件,您可以使用 jsDelivr 来提供文件

  1. 访问 jsDelivr 上的 Epoch 页面
  2. 复制提供的 URL 并将其链接到您的项目中。

开发 Epoch

开发 Epoch 是一个相对直接的过程。在本节中,我们将通过详细说明常见的构建任务、探索源代码的安排方式,并最终展示如何使用渲染测试来辅助开发来介绍如何开发 Epoch。

配置开发环境

Epoch 需要以下内容进行开发

  1. Node.js (v4.1.1+)
  2. NPM (v2.1.0+)

一旦在您的机器上安装了这两个,您需要从存储库的根目录运行 npm install,以便安装开发 epoch 所需的 npm 包。

一旦您安装了所需的 npm 包,您可以使用 gulp build 完全重新构建源(有关 gulp 任务的更多信息,请参阅以下内容)。

基本开发流程

开始为 Epoch 贡献的最佳方法是按照以下步骤进行

  1. 切换到项目的源目录
  2. 运行 gulp watch,以便在源文件更改后重新编译项目
  3. 在源文件中进行更改(在 src/sass/ 中)
  4. 在网页浏览器中打开 test/index.html 并浏览渲染测试
  5. 使用渲染测试来查看您的更改是否产生了预期的结果
  6. 确保单元测试通过 npm test

测试

Epoch 使用两种类型的测试来确保更改不会引起意外的副作用。第一种是单元测试,确保库的核心功能组件按预期工作。第二种是渲染测试,允许您确保图表和图形被正确渲染。

保持单元测试和渲染测试的最新状态非常重要!在开发时,请遵循以下指南:

  • 添加新功能时,务必添加新测试。
  • 更改现有功能时,请确保这两种类型的测试仍然通过。
  • 如果您想创建新的图表类型,为该图表添加全新的测试套件!

保持测试最新,有助于他人审查您的代码并发现问题。另外,未经适当测试的拉取请求将不会合并。

Gulp 任务

Epoch 使用 gulp 执行各种任务。`gulpfile.js` 文件定义了以下任务:

  • gulp clean - 清理 `dist/` 目录。
  • gulp build - 将 CoffeeScript 和 Sass 源代码构建到 `dist/` 目录。
  • gulp watch - 启动一个监视脚本,当任何文件更改时重新编译 CoffeeScript 和 Sass。

源结构

Epoch 项目的目录结构遵循一些基本指南,以下是结构概述:

dist/                  - Compiled JavaScript and CSS source
src/                   - Main source directory
  core/                - Core Epoch Library Files
    util.coffee        - Library Utility Routines
    d3.coffee          - d3 Extensions
    format.coffee      - Data formatters
    chart.coffee       - Base Chart Classes
    css.coffee         - CSS Querying Engine
  adapters/            - 3rd Party Library Adapters (currently only jQuery)
  basic/               - Basic Chart Classes
  time/                - Real-time Chart Classes
  adapters.coffee      - Options / Global Classes for Adapter Implementations
  basic.coffee         - Base Classes for Basic Charts
  data.coffee          - Data Formatting
  epoch.coffee         - Main source file, defines name spaces, etc.
  model.coffee         - Data Model
  time.coffee          - Base Classes for Real-Time Charts
sass/                  - Scss source for the default epoch stylesheet
tests/
  render/              - Rendering tests
    basic/             - Basic chart rendering tests
    real-time/         - Real-time rendering tests
  unit/                - Unit tests

发布清单

  • 运行 npm test 并确保所有测试通过。
  • 运行 npm version [major|minor|patch]
  • 运行 npm publish
  • 更新 CHANGELOG.md,包括上次发布以来的更改。
  • 更新 gh-pages 分支的库版本到 `_config.yml`。