From 9f625f927aadf6d9574bd968d2cfc29dde5551c0 Mon Sep 17 00:00:00 2001 From: Robert Postill Date: Wed, 18 Jul 2012 14:01:40 -0700 Subject: Initial commit --- README.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..a716775 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +allthethings +============ \ No newline at end of file -- cgit v1.2.3 From c63c8f1698e8c059e286fb49ba0264e4336a6e33 Mon Sep 17 00:00:00 2001 From: Daniel Beauchamp Date: Tue, 24 Jul 2012 15:25:22 -0400 Subject: Initial version. 0.1.0 Release --- README.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index a716775..53e34ee 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,13 @@ -allthethings -============ \ No newline at end of file +TODO +==== + +- fix textfield style +- tests +- Create a better readme! +- Add data fetching capabilities +- Turn into its own gem +- Come up with a default style +- Create example widgets +- investigate if Dir.pwd is the best approach to get the local directory +- Create githubpages +- Open source! -- cgit v1.2.3 From 4e12c8acafcdf968716d54e810c5c0c039f37581 Mon Sep 17 00:00:00 2001 From: Wesley Ellis Date: Tue, 7 Aug 2012 18:01:23 -0400 Subject: First shot at the readme --- README.md | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 145 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 53e34ee..d024da9 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,152 @@ +# Dashing! + + + +## Introduction + +Dashing is a framework for building web-based dashboards. + +Features: + + - Custom widgets! Built using whatever HTML/Coffeescript wizardry you posses + - Multiple dashboards! You can have many different views all hosted by the same app + - Shareable widgets! + - ... + +## Installation and Setup + + 1. Install the gem from the command line: + + ```gem install dashing``` + + 2. Generate a new project: + + ```dashing new sweet_dashboard_project``` + + 3. Change your directory to ```sweet_dashboard_project``` and start the Dashing + + ```dashing start``` + + 4. Point your browser at [localhost:3000](http://localhost:3000) + +## Building a dashboard + +```main.erb``` contains the layout for the default dashboard which is accessible at ```/```. You can add additional dashboards with ```COMMAND new_view``` which creates a ```new_view.erb``` file in ```dashboards/```. That new view will be accessible at ```localhost:3000/new_view``` + +Widgets are represented by a ```div``` with ```data-id``` and ```data-view``` attributes. For example: + +```HTML +
+``` + +represents a dashboard with a single widget. + +The ```data-id``` is used to set the widget_id which will be used when we push data to the widget. widget_ids can be shared across dashboards. + +```data-view``` specifies the type of widget what will be used. This field is case sensitive and must match the name of coffeescript class. See making your own widget. + +Getting the style and layout right when you have multiple widgets is hard, that's why we've done it for you. By default Dashing uses [masonry](http://masonry.desandro.com/) to produce a grid layout. + +#### Example +```HTML +
    +
  • +
    +
  • +
  • +
    +
  • +
  • +
    +
  • +
+``` + +## Making you own widget + +To make your own run ```dashing generate sweet_widget``` which will create template files in the ```widget/``` folder or your project. + +### sweet_widget.html + +Contains the HTML for you widget. + +#### Example +```html +

+ +

+```` + +### sweet_widget.coffee + +#### Example +```coffeescript +class Dashing.SweetWidget extends Dashing.Widget + source: 'widget_text' + + onData(data) -> + #stuff? +``` + +### sweet_widget.scss +````scss +$text_value-color: #fff; +$text_title-color: lighten($widget-text-color, 30%); + +.widget-text { + .title { + color: $text_title-color; + } + .p { + color: $text_value-color: + } +} +``` + +## Getting data into Dashing + +### Jobs + +Dashing uses [rufus-scheduler](http://rufus.rubyforge.org/rufus-scheduler/) to schedule jobs. You can make a new job with ```things job super_job``` which will create a file in the jobs folder called ```super_job.rb```. + +Use ```send_event('WIDGET_ID', {text: SAMPLE_DATUMS})``` + +#### Example + +```ruby +# :first_in sets how long it takes before the job is first run. In this case, it is run immediately +SCHEDULER.every '1m', :first_in => 0 do |job| + send_event('widget_id', {text: "I am #{%w(happy sad hungry).sample}"}) +end +``` + +### Push + +You can also push data directly to your dashboard! Post the data you want in json to ```/widgets/widget_id```. You will also have to include your auth_token (which can be found in ```config.ru```) as part of the json object. + +#### Example +```bash +curl -d '{ "auth_token": "YOUR_AUTH_TOKEN", "value": 100 }' http://localhost:3000/widgets/synergy +``` + +or + +```ruby +HTTParty.post('http://ADDRESS/widgets/widget_id', + :body => { + auth_token: "YOUR_AUTH_TOKEN", + text: "Weeeeee", + }.to_json) +``` + +## Licensing + +This code is released under the MIT license. Please read the MIT-LICENSE file for more details + TODO ==== -- fix textfield style - tests -- Create a better readme! -- Add data fetching capabilities -- Turn into its own gem -- Come up with a default style -- Create example widgets - investigate if Dir.pwd is the best approach to get the local directory - Create githubpages - Open source! -- cgit v1.2.3 From 57afd3fed0fb96cf664dbed4de829d1f69176b2d Mon Sep 17 00:00:00 2001 From: Wesley Ellis Date: Wed, 8 Aug 2012 18:12:33 -0400 Subject: moar readme --- README.md | 114 +++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 76 insertions(+), 38 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index d024da9..13b00c7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Dashing! - +A handsome dashboard framework solution ## Introduction @@ -9,9 +9,10 @@ Dashing is a framework for building web-based dashboards. Features: - Custom widgets! Built using whatever HTML/Coffeescript wizardry you posses - - Multiple dashboards! You can have many different views all hosted by the same app - - Shareable widgets! - - ... + - Multiple dashboards! You can have many different views all hosted in the same location + - Shared widgets! It's easy to have have the same widget show up on different dashboards + - Push or pull data, you decide! + - Responsive grid layout! Your dashboard will look good on any sized screen ## Installation and Setup @@ -23,7 +24,7 @@ Features: ```dashing new sweet_dashboard_project``` - 3. Change your directory to ```sweet_dashboard_project``` and start the Dashing + 3. Change your directory to ```sweet_dashboard_project``` and start Dashing ```dashing start``` @@ -31,23 +32,32 @@ Features: ## Building a dashboard -```main.erb``` contains the layout for the default dashboard which is accessible at ```/```. You can add additional dashboards with ```COMMAND new_view``` which creates a ```new_view.erb``` file in ```dashboards/```. That new view will be accessible at ```localhost:3000/new_view``` +```main.erb``` contains the layout for the default dashboard which is accessible at ```/```. +You can add additional dashboards with by running ```dashing COMMAND THINGY new_view``` which creates a ```new_view.erb``` file in ```dashboards/```. +That new view will be accessible at ```localhost:3000/new_view``` -Widgets are represented by a ```div``` with ```data-id``` and ```data-view``` attributes. For example: +## Widgets + +Widgets are represented by a ```div``` element with ```data-id``` and ```data-view``` attributes. eg: ```HTML
``` -represents a dashboard with a single widget. +The ```data-id``` attribute is used to set the **widget ID** which will be used when to push data to the widget. Two widgets can have the same widget id, allowing you to have the same widget in multiple dashboards. -The ```data-id``` is used to set the widget_id which will be used when we push data to the widget. widget_ids can be shared across dashboards. +```data-view``` specifies the type of widget what will be used. This field is case sensitive and must match the coffeescript class of the widget. See making your own widget section for more details. -```data-view``` specifies the type of widget what will be used. This field is case sensitive and must match the name of coffeescript class. See making your own widget. +This ```
``` can also be used to configure your widgets. For example, the pre-bundled widgets let you set a title with ```data-title="Widget Title"```. -Getting the style and layout right when you have multiple widgets is hard, that's why we've done it for you. By default Dashing uses [masonry](http://masonry.desandro.com/) to produce a grid layout. +### Layout + +Getting the style and layout right when you have multiple widgets is hard, that's why we've done it for you. By default Dashing uses [masonry](http://masonry.desandro.com/) to produce a grid layout. If it can, your dashboard will fill the screen with 5 columns. If there isn't enough room though, widgets will be reorganized to fit into fewer columns until you are left with a single column + +Examples here? + +Masonry requires that your widgets be contained within a ```
    ``` element as follows: -#### Example ```HTML
    • @@ -62,33 +72,51 @@ Getting the style and layout right when you have multiple widgets is hard, that'
    ``` -## Making you own widget +### Making you own widget -To make your own run ```dashing generate sweet_widget``` which will create template files in the ```widget/``` folder or your project. +A widget consists of three parts: -### sweet_widget.html + - an html file used for layout and bindings + - a scss file for style + - a coffeescript file which allows you to operate on the data + +To make your own run ```dashing generate sweet_widget``` which will create scaffolding files in the ```widget/``` folder or your project. + +#### sweet_widget.html Contains the HTML for you widget. +We use [batman bindings](http://batmanjs.org/docs/batman.html#batman-view-bindings-how-to-use-bindings) in order to update the content of a widget. +In the example below, updating the title attribute of the coffeescript object representing that widget will set the innerHTML of the ```

    ``` element. +Dashing provides a simple way to update your widgets attributes through a push interface and a pull interface. See the Getting Data into Dashing section. -#### Example +##### Example ```html

    ```` -### sweet_widget.coffee +#### sweet_widget.coffee -#### Example +This coffee script file allows you to perform any operations you wish on your widget. In the example below we can initialize things with the constructor method. +We can also manipulate the data we recieve from data updates. Data will be the JSON object you pass in. + +##### Example ```coffeescript class Dashing.SweetWidget extends Dashing.Widget - source: 'widget_text' - onData(data) -> - #stuff? + constructor: -> + super + @set('attr', 'wooo') + + onData: (data) -> + super + @set('cool_thing', data.massage.split(',')[2] ``` -### sweet_widget.scss +#### sweet_widget.scss + +##### Example ````scss $text_value-color: #fff; $text_title-color: lighten($widget-text-color, 30%); @@ -105,11 +133,14 @@ $text_title-color: lighten($widget-text-color, 30%); ## Getting data into Dashing -### Jobs +Providing data to widgets is easy. You specify which widget you want using a widget id. Dashing expects the data you send to be in JSON format. +Upon getting data, dashing mixes the json into the widget object. So it's easy to update multiple attributes within the same object. -Dashing uses [rufus-scheduler](http://rufus.rubyforge.org/rufus-scheduler/) to schedule jobs. You can make a new job with ```things job super_job``` which will create a file in the jobs folder called ```super_job.rb```. +### Jobs (poll) -Use ```send_event('WIDGET_ID', {text: SAMPLE_DATUMS})``` +Dashing uses [rufus-scheduler](http://rufus.rubyforge.org/rufus-scheduler/) to schedule jobs. +You can make a new job with ```dashing job super_job``` which will create a file in the jobs folder called ```super_job.rb```. +Data is sent to a widget using the ```send_event(widget_id, json_formatted_data)``` method. #### Example @@ -122,7 +153,8 @@ end ### Push -You can also push data directly to your dashboard! Post the data you want in json to ```/widgets/widget_id```. You will also have to include your auth_token (which can be found in ```config.ru```) as part of the json object. +You can also push data directly to your dashboard! Post the data you want in json to ```/widgets/widget_id```. +For security, you will also have to include your auth_token (which can be found in ```config.ru```) as part of the json object. #### Example ```bash @@ -133,20 +165,26 @@ or ```ruby HTTParty.post('http://ADDRESS/widgets/widget_id', - :body => { - auth_token: "YOUR_AUTH_TOKEN", - text: "Weeeeee", - }.to_json) + :body => { auth_token: "YOUR_AUTH_TOKEN", text: "Weeeeee"}.to_json) ``` -## Licensing +## Misc -This code is released under the MIT license. Please read the MIT-LICENSE file for more details +### Deploying to heroku -TODO -==== +### Using omni-auth + +## Dependencies + + - [Sinatra](http://www.sinatrarb.com/) + - [batman.js](http://batmanjs.org/) + - [rufus-scheduler](http://rufus.rubyforge.org/rufus-scheduler/) + - [Thor](https://github.com/wycats/thor/) + - [jQuery-knob](http://anthonyterrien.com/knob/) + - [masonry](http://masonry.desandro.com/) + - [thin](http://code.macournoyer.com/thin/) + - [Sass](http://sass-lang.com/) + +## Licensing -- tests -- investigate if Dir.pwd is the best approach to get the local directory -- Create githubpages -- Open source! +This code is released under the MIT license. See ```MIT-LICENSE``` file for more details \ No newline at end of file -- cgit v1.2.3 From a4a4564f760bb1bcd541366186cd46488d5a569b Mon Sep 17 00:00:00 2001 From: Daniel Beauchamp Date: Tue, 30 Oct 2012 05:16:35 -0400 Subject: Added new widgets, and made them more flexible. Ready for 0.1.3! --- README.md | 191 +------------------------------------------------------------- 1 file changed, 1 insertion(+), 190 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 13b00c7..cdcc722 100644 --- a/README.md +++ b/README.md @@ -1,190 +1 @@ -# Dashing! - -A handsome dashboard framework solution - -## Introduction - -Dashing is a framework for building web-based dashboards. - -Features: - - - Custom widgets! Built using whatever HTML/Coffeescript wizardry you posses - - Multiple dashboards! You can have many different views all hosted in the same location - - Shared widgets! It's easy to have have the same widget show up on different dashboards - - Push or pull data, you decide! - - Responsive grid layout! Your dashboard will look good on any sized screen - -## Installation and Setup - - 1. Install the gem from the command line: - - ```gem install dashing``` - - 2. Generate a new project: - - ```dashing new sweet_dashboard_project``` - - 3. Change your directory to ```sweet_dashboard_project``` and start Dashing - - ```dashing start``` - - 4. Point your browser at [localhost:3000](http://localhost:3000) - -## Building a dashboard - -```main.erb``` contains the layout for the default dashboard which is accessible at ```/```. -You can add additional dashboards with by running ```dashing COMMAND THINGY new_view``` which creates a ```new_view.erb``` file in ```dashboards/```. -That new view will be accessible at ```localhost:3000/new_view``` - -## Widgets - -Widgets are represented by a ```div``` element with ```data-id``` and ```data-view``` attributes. eg: - -```HTML -
    -``` - -The ```data-id``` attribute is used to set the **widget ID** which will be used when to push data to the widget. Two widgets can have the same widget id, allowing you to have the same widget in multiple dashboards. - -```data-view``` specifies the type of widget what will be used. This field is case sensitive and must match the coffeescript class of the widget. See making your own widget section for more details. - -This ```
    ``` can also be used to configure your widgets. For example, the pre-bundled widgets let you set a title with ```data-title="Widget Title"```. - -### Layout - -Getting the style and layout right when you have multiple widgets is hard, that's why we've done it for you. By default Dashing uses [masonry](http://masonry.desandro.com/) to produce a grid layout. If it can, your dashboard will fill the screen with 5 columns. If there isn't enough room though, widgets will be reorganized to fit into fewer columns until you are left with a single column - -Examples here? - -Masonry requires that your widgets be contained within a ```
      ``` element as follows: - -```HTML -
        -
      • -
        -
      • -
      • -
        -
      • -
      • -
        -
      • -
      -``` - -### Making you own widget - -A widget consists of three parts: - - - an html file used for layout and bindings - - a scss file for style - - a coffeescript file which allows you to operate on the data - -To make your own run ```dashing generate sweet_widget``` which will create scaffolding files in the ```widget/``` folder or your project. - -#### sweet_widget.html - -Contains the HTML for you widget. -We use [batman bindings](http://batmanjs.org/docs/batman.html#batman-view-bindings-how-to-use-bindings) in order to update the content of a widget. -In the example below, updating the title attribute of the coffeescript object representing that widget will set the innerHTML of the ```

      ``` element. -Dashing provides a simple way to update your widgets attributes through a push interface and a pull interface. See the Getting Data into Dashing section. - -##### Example -```html -

      - -

      -```` - -#### sweet_widget.coffee - -This coffee script file allows you to perform any operations you wish on your widget. In the example below we can initialize things with the constructor method. -We can also manipulate the data we recieve from data updates. Data will be the JSON object you pass in. - -##### Example -```coffeescript -class Dashing.SweetWidget extends Dashing.Widget - - constructor: -> - super - @set('attr', 'wooo') - - onData: (data) -> - super - @set('cool_thing', data.massage.split(',')[2] -``` - -#### sweet_widget.scss - -##### Example -````scss -$text_value-color: #fff; -$text_title-color: lighten($widget-text-color, 30%); - -.widget-text { - .title { - color: $text_title-color; - } - .p { - color: $text_value-color: - } -} -``` - -## Getting data into Dashing - -Providing data to widgets is easy. You specify which widget you want using a widget id. Dashing expects the data you send to be in JSON format. -Upon getting data, dashing mixes the json into the widget object. So it's easy to update multiple attributes within the same object. - -### Jobs (poll) - -Dashing uses [rufus-scheduler](http://rufus.rubyforge.org/rufus-scheduler/) to schedule jobs. -You can make a new job with ```dashing job super_job``` which will create a file in the jobs folder called ```super_job.rb```. -Data is sent to a widget using the ```send_event(widget_id, json_formatted_data)``` method. - -#### Example - -```ruby -# :first_in sets how long it takes before the job is first run. In this case, it is run immediately -SCHEDULER.every '1m', :first_in => 0 do |job| - send_event('widget_id', {text: "I am #{%w(happy sad hungry).sample}"}) -end -``` - -### Push - -You can also push data directly to your dashboard! Post the data you want in json to ```/widgets/widget_id```. -For security, you will also have to include your auth_token (which can be found in ```config.ru```) as part of the json object. - -#### Example -```bash -curl -d '{ "auth_token": "YOUR_AUTH_TOKEN", "value": 100 }' http://localhost:3000/widgets/synergy -``` - -or - -```ruby -HTTParty.post('http://ADDRESS/widgets/widget_id', - :body => { auth_token: "YOUR_AUTH_TOKEN", text: "Weeeeee"}.to_json) -``` - -## Misc - -### Deploying to heroku - -### Using omni-auth - -## Dependencies - - - [Sinatra](http://www.sinatrarb.com/) - - [batman.js](http://batmanjs.org/) - - [rufus-scheduler](http://rufus.rubyforge.org/rufus-scheduler/) - - [Thor](https://github.com/wycats/thor/) - - [jQuery-knob](http://anthonyterrien.com/knob/) - - [masonry](http://masonry.desandro.com/) - - [thin](http://code.macournoyer.com/thin/) - - [Sass](http://sass-lang.com/) - -## Licensing - -This code is released under the MIT license. See ```MIT-LICENSE``` file for more details \ No newline at end of file +Check out the [Homepage](http://shopify.github.com/dashing) \ No newline at end of file -- cgit v1.2.3 From 58e971454d5c84dc7c0a1656c9dce3ec00bc75a0 Mon Sep 17 00:00:00 2001 From: Daniel Beauchamp Date: Wed, 5 Dec 2012 23:50:20 -0500 Subject: Update readme to include a description --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index cdcc722..bbd047d 100644 --- a/README.md +++ b/README.md @@ -1 +1,8 @@ -Check out the [Homepage](http://shopify.github.com/dashing) \ No newline at end of file +# [Dashing](http://shopify.github.com/dashing) + +Dashing is a Sinatra based framework that lets you build beautiful dashboards. It looks especially great on TVs. + +[Check out the homepage](http://shopify.github.com/dashing). + +# License +Distributed under the MIT license -- cgit v1.2.3 From b32636b45b376ddf4da23f10bd9c8b5025f39864 Mon Sep 17 00:00:00 2001 From: Daniel Beauchamp Date: Wed, 5 Dec 2012 23:53:16 -0500 Subject: Added link to MIT license in readme. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index bbd047d..9e0efef 100644 --- a/README.md +++ b/README.md @@ -5,4 +5,4 @@ Dashing is a Sinatra based framework that lets you build beautiful dashboards. I [Check out the homepage](http://shopify.github.com/dashing). # License -Distributed under the MIT license +Distributed under the [MIT license](https://github.com/Shopify/dashing/blob/master/MIT-LICENSE) -- cgit v1.2.3 From c973499200337b4a343f5df94776fc7b43ceffec Mon Sep 17 00:00:00 2001 From: Daniel Beauchamp Date: Thu, 19 Sep 2013 15:06:57 +0200 Subject: Update Readme to include travis CI build status. --- README.md | 1 + 1 file changed, 1 insertion(+) (limited to 'README.md') diff --git a/README.md b/README.md index 9e0efef..01010e0 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # [Dashing](http://shopify.github.com/dashing) +![](https://api.travis-ci.org/Shopify/dashing.png) Dashing is a Sinatra based framework that lets you build beautiful dashboards. It looks especially great on TVs. -- cgit v1.2.3 From 9d5fb04573cd00441f053d418d81320a8d019059 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Peters Date: Mon, 1 Jun 2015 17:40:57 +0200 Subject: add travis link and simplify link to license file --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 01010e0..4aee91f 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ # [Dashing](http://shopify.github.com/dashing) -![](https://api.travis-ci.org/Shopify/dashing.png) +[![Build Status](https://secure.travis-ci.org/Shopify/dashing.png?branch=master)](http://travis-ci.org/Shopify/dashing) Dashing is a Sinatra based framework that lets you build beautiful dashboards. It looks especially great on TVs. [Check out the homepage](http://shopify.github.com/dashing). # License -Distributed under the [MIT license](https://github.com/Shopify/dashing/blob/master/MIT-LICENSE) +Distributed under the [MIT license](MIT-LICENSE) -- cgit v1.2.3 From c5bb69091704d5a38cf8c32072b155f3aa556471 Mon Sep 17 00:00:00 2001 From: Daniel Beauchamp Date: Mon, 11 Apr 2016 22:31:31 -0400 Subject: Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index 4aee91f..fd50c77 100644 --- a/README.md +++ b/README.md @@ -5,5 +5,7 @@ Dashing is a Sinatra based framework that lets you build beautiful dashboards. I [Check out the homepage](http://shopify.github.com/dashing). +Note: Dashing is no longer being actively maintained. Read about it [here](https://github.com/Shopify/dashing/issues/711). + # License Distributed under the [MIT license](MIT-LICENSE) -- cgit v1.2.3