README.md in voom-presenters-0.2.0 vs README.md in voom-presenters-2.0.0
- old
+ new
@@ -1,22 +1,23 @@
# Voom::Presenters
## TLDR;
-Presenters are to HTML/User Interfaces what C is to assembly.
+Do you wish you could write a modern user interface in pure Ruby?
-A Ruby DSL for describing user interfaces.
+Now you can. Presenters are a Ruby DSL for rendering user interfaces.
The semantics are adopted from [Material Design](https://material.io/).
-A presenter generates a Presenter Object Model (POM).
-A POM fully describes a user interface.
-A POM client can fully render user interface from POM.
+* Presenters are to HTML/User Interfaces what C is to assembly
+* A presenter generates a Presenter Object Model (POM)
+* A POM fully describes a user interface
+* A POM client can fully render user interface from POM
## What are voom-presenters?
-* A Ruby user interface abstraction.
-* A Ruby DSL to build a user interface.
-* A power washer for building user interfaces.
+* A Ruby user interface abstraction
+* A Ruby DSL to build a user interface
+* A power washer for building user interfaces
## Why?
Building a user interface should like Ruby itself:
> ... a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.
@@ -36,66 +37,64 @@
This concept was initially inspired by the Presenters concepts of Ivar Jacobson as presented by Robert Martin.
## Demo
-[Demo](https://powerful-bastion-96181.herokuapp.com)
+[Demo]
Or to run locally:
git clone git@github.com:rx/presenters.git
cd presenters/
bundle install
- rackup
+ bundle exec rackup
open http://localhost:9292
To see the POM:
open http://localhost:9292/index.pom
-
+
+## Usage
-## User Interface Engine
+To use it, add this line to your Gemfile:
-The POM + A POM Client is an interface engine.
+ gem 'voom-presenters', github('rx/presenters'), require: false
-This example downloads the POM of the index page.
-Then posts it to the reference web client.
-That result is then saved to a file and opened up with a browser.
+Create the file app/presenters/index.pom with the contents:
- curl localhost:9292/index.pom > $TMPDIR/index.json && curl -d "@$TMPDIR/index.json" -X POST localhost:9292/index > $TMPDIR/index.html && open $TMPDIR/index.html
+ Voom::Presenters.define(:hello_world) do
+ heading 'hello world'
+ end
-## Status
-This project is in a pre-beta status. It is changing frequently as the first user interfaces are being built with it.
-Any use should be for internal use only until the status becomes beta.
+### Rails
+For rails: Mount the web-client in your rails config/routes.rb
-[![CircleCI](https://circleci.com/gh/rx/presenters.svg?style=svg)](https://circleci.com/gh/rx/presenters)
-[![Maintainability](https://api.codeclimate.com/v1/badges/8fcea717485230e60f27/maintainability)](https://codeclimate.com/github/rx/presenters/maintainability)
-[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=plastic)](https://raw.githubusercontent.com/rx/presenters/master/LICENSE)
+ mount ::Voom::Presenters::WebClient::App, at: '/'
+ # the api is optional
+ # mount ::Voom::Presenters::Api::App, at: '/'
-## Usage
+Create an initializer `config/initializers/presenters.rb` with the following:
+
+ require 'voom'
-To use it, add this line to your Gemfile:
+### Rack
+Presenters are rack based. If your framework uses a rack config file add the following:
- gem 'voom-presenters'
+ use Voom::Presenters::WebClient::App
+ # the api is optional
+ # use Voom::Presenters::Api::App
-For rails: Mount the web-client in your rails config/routes.rb
+Start your app and goto [/hello_world](http://127.0.0.1:3000/hello_world)
- mount ::Voom::Presenters::WebClient::App, at: '/'
- # the api is optional
- mount ::Voom::Presenters::Api::App, at: '/'
-
-
-Create the file app/presenters/index.pom with the contents:
-
- Voom::Presenters.define(:index) do
- heading 'hello world'
- end
+Use the [Demo] to get example code to drop into your presetners.
-Start your rails server and goto http://localhost:3000
+## Status
+This project is in a released status.
-Use the demo to get example code to drop into your presetners.
+[![CircleCI](https://circleci.com/gh/rx/presenters.svg?style=svg)](https://circleci.com/gh/rx/presenters)
+[![License](https://img.shields.io/badge/license-MIT-blue.svg?style=plastic)](https://raw.githubusercontent.com/rx/presenters/master/LICENSE)
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/rx/presenters.
@@ -104,5 +103,8 @@
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
## Code of Conduct
Everyone interacting in the Voom::Presenters project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rx/presenters/blob/master/CODE-OF-CONDUCT.md).
+
+
+[Demo]:https://powerful-bastion-96181.herokuapp.com