smashing 有一套自己的约定,包括widgets 以及dashboard,还有就是关于数据的处理

约定如下

  • 三方widgets 统一在widgets 目录下,一般包含了基于coffee 的js 组件,基于scss 的css 还有就是html
  • 数据的统一通过job 处理,可以配置数据获取的频率,然后就是发送数据
  • dashboard 统一在dashboards 目录中
    以下是一个table 组件的使用

集成table 组件

说明集成是基于脚手架工具生成的项目

  • 项目地址
 
https://github.com/nick123pig/dashing-table
  • clone 或者下载代码
  • copy 对应widgets 的内容到widgets 目录中
  • 编写简单job
    注意send_event 方法的第一个参数my-table,数据绑定需要
 
current_valuation = 0
current_karma = 0
SCHEDULER.every '2s' do
    hrows = [
        {
          style: 'color:#888;',
          class: 'right',
          cols: [
            {class: 'left', value: '项目'},
            {style: 'color:red; text-align:center;',value: '构建次数'},
           ]
        }
      ]
      rows = [
        { cols: [ {class: 'left', value: 'test'+rand(100).to_s}, {value: rand(100)}]},
        { cols: [ {class: 'left', value: 'ci'+rand(100).to_s}, {value: rand(100)}]},
        { cols: [ {class: 'left', value: 'cd'+rand(100).to_s}, {value: rand(100)}]},
        { cols: [ {class: 'left', value: 'demo'+rand(100).to_s}, {value: rand(100)}]}
      ]
      send_event('my-table', { hrows: hrows, rows: rows } )
end
 
  • 添加dashboard
    为了方便直接在sample 中配置,其中data-id 关联了数据,data-view 关联了widgets
    <li data-row="1" data-col="1" data-sizex="4" data-sizey="1">
       <div data-id="my-table" data-view="Table" data-title="构建任务统计" data-moreinfo="更多信息"></div>
    </li>
  • docker 集成

    基于已经做好的容器镜像

FROM dalongrong/smashing
COPY . /app
RUN bundle
EXPOSE 3030
ENTRYPOINT [ "smashing","start" ]
  • docker-compose 文件
version: "3"
services: 
    dash:
      build: ./
      ports: 
      - "3030:3030"
      image: dalongrong/smashing-demo

启动&&效果

  • 启动
docker-compose up -d
  • 效果

说明

以上是一个简单的使用,实际上在官方的wiki 中已经提供了很多可选的widgets,还是很方便的,而且编写一个widgets 也很容易

参考资料

https://github.com/nick123pig/dashing-table
https://github.com/Smashing/smashing/wiki
https://github.com/rongfengliang/smashing-docker

smashing 三方widgets 使用的更多相关文章

  1. [转]nopCommerce Widgets and How to Create One

    本文转自:https://dzone.com/articles/what-are-nopcommerce-widgets-and-how-to-create-one A widget is a sta ...

  2. 分享iOS开发常用(三方类库,工具,高仿APP,实用网站,技术干货)

    一 . JSONModel  (三方类库会有更新,建议大家在线下载) http://pan.baidu.com/s/1i5ybP1z 二.AFNetworkiong http://pan.baidu. ...

  3. iOS - .a静态库的打包(包括打包的文件中用到了一些别人的三方库和分类的处理)

    一.概念篇 什么是库? 库是程序代码的集合,是共享程序代码的一种方式 根据源代码的公开情况,库可以分为2种类型 开源库 公开源代码,能看到具体实现 比如SDWebImage.AFNetworking ...

  4. Android开发5:应用程序窗口小部件App Widgets的实现

    前言 本次主要是实现一个Android应用,实现静态广播.动态广播两种改变 widget内容的方法,即在上篇博文中实验的基础上进行修改,所以此次实验的重点是AppWidget小部件的实现啦~ 首先,我 ...

  5. iOS 常用三方类库整理

    iOS 常用三方类库整理 1:基于响应式编程思想的oc 地址:https://github.com/ReactiveCocoa/ReactiveCocoa 2:hud提示框 地址:https://gi ...

  6. windows7下php5.4成功安装imageMagick,及解决php imagick常见错误问题。(phpinfo中显示不出来是因为:1.imagick软件本身、php本身、php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个文件放到/php/目录下面)

    windows7下   php5.4成功安装imageMagick . (phpinfo中显示不出来是因为:1.软件本身.php本身.php扩展三方版本要一致,2.需要把CORE_RL_*.dll多个 ...

  7. 李洪强iOS经典面试题142-第三方框架及其管理

    李洪强iOS经典面试题142-第三方框架及其管理   第三方框架及其管理 使用过CocoaPods吗?它是什么?CocoaPods的原理? CocoaPod是一个第三方库的管理工具,用来管理项目中的第 ...

  8. Delphi以及三方控件的源代码规模

    这些项目大多数使用C++或者C编写,使用SourceCounter-3.5.33.73工具来统计源代码数量,本来是这里下载的: https://code.google.com/p/boomworks/ ...

  9. 网络请求三方库——OkHttp

    我们知道在Android开发中是可以直接使用现成的API进行网络请求的,就是使用 HttpClient 和 HttpURLConnention ,而Android 4.4 之后 HttpClient  ...

随机推荐

  1. 【1】【经典回溯、动态规划、贪心】【leetcode-55】跳跃游戏

    给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4]输出: true解释 ...

  2. 基准测试工具:Wrk初识

    最近和同事聊起常用的一些压测工具,谈到了Apache ab.阿里云的PTS.Jmeter.Locust以及wrk各自的一些优缺点和适用的场景类型. 这篇博客,简单介绍下HTTP基准测试工具wrk的基本 ...

  3. ASP.NET Core中app.UseDeveloperExceptionPage和app.UseExceptionHandler方法有什么用

    在新建一个ASP.NET Core项目后,在项目Startup类的Configure方法中默认会添加两个方法的调用,app.UseDeveloperExceptionPage和app.UseExcep ...

  4. kafka broker Leader -1引起spark Streaming不能消费的故障解决方法

    一.问题描述:Kafka生产集群中有一台机器cdh-003由于物理故障原因挂掉了,并且系统起不来了,使得线上的spark Streaming实时任务不能正常消费,重启实时任务都不行.查看kafka t ...

  5. tomcat重启session不失效问题

    本地写代码每次重启都要重新登录浪费了很多时间,如何重启不用重新登录呢,只要让tomcat在关闭时将session写入文件中,在启动时从文件中读取session即可. 只需在conf/context.x ...

  6. redis设计与实现(一)简单动态字符串

    redis是C语言实现的,但redis中的字符串并没有直接用C语言中的字符串表示,而是自己构建了一种简单的动态字符串类型(SDS). 在redis里面,C字符串只用作字面量,用在一些不会修改的地方,e ...

  7. uni-app学习

    1. 学习uni-app 1.1. 概述 号称一次编写多端运行的前端框架,架构图如下 对某些不同平台的特殊功能,可以通过条件进行自动编译,也就是写两套代码,不同的环境会选择不同代码编译 1.2. 推荐 ...

  8. JavaScript 之 RegExp 对象

    RegExp 正则表达式对象 一.正则表达式 正则表达式:定义字符串的组成规则. 1.单个字符:[ ] 如:[a].[ab].[a-zA-Z0-9] 特殊符号代表特殊含义的单个字符: \d:单个数字字 ...

  9. BeanPostProcessor后置处理器原理以及ApplicationListener原理

    BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的 1.BeanFactoryPostProcessor:BeanFactory的后置处理器; 在Bean ...

  10. 搞不懂JS中赋值·浅拷贝·深拷贝的请看这里

    前言 百科定义:拷贝就是拷贝指向对象的指针,意思就是说:拷贝出来的目标对象的指针和源对象的指针指向的内存空间是同一块空间,浅拷贝只是一种简单的拷贝,让几个对象公用一个内存,然而当内存销毁的时候,指向这 ...