Skip to content

Commit c0178e2

Browse files
authored
Merge pull request #121 from Tim-Blokdijk/edge
Fixes in documentation
2 parents ee2297c + 9238330 commit c0178e2

File tree

5 files changed

+119
-30
lines changed

5 files changed

+119
-30
lines changed

CONTRIBUTING.md

Lines changed: 77 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,87 @@
1-
# Contributing to this project
1+
# Contributing to Hyperstack
22

3-
We welcome and encourage contribution and would be delighted if you participated in this project.
3+
We welcome and encourage contribution and would be delighted if you participated in this project.
4+
If you're new to Hyperstack but have experience with Ruby (and Rails) and would like to contribute then start with the [ToDo tutorial](https://hyperstack.org/edge/docs/tutorials/todo)
5+
that way you understand the basic capabilities and lingo of Hyperstack.
46

5-
## If you think you can improve the docs
7+
Next would be to start an experimental project that's based on the *edge* Hyperstack codebase.
8+
If you just want to build a website with Hyperstack without contributing to Hyperstack itself you're better of sticking to released versions of Hyperstack.
9+
But presuming you do want to contribute you can change you `Gemfile` in the following way to get your project on *edge*.
610

7-
Each page on the website has an 'Improve this page' button which will create a PR against the correct file and the correct branch.
11+
```ruby
12+
git 'https://github.com/hyperstack-org/hyperstack', branch: 'edge', glob: 'ruby/*/*.gemspec' do
13+
gem 'rails-hyperstack'
14+
gem 'hyper-component'
15+
gem 'hyper-i18n'
16+
gem 'hyper-model'
17+
gem 'hyper-operation'
18+
gem 'hyper-router'
19+
gem 'hyper-state'
20+
gem 'hyperstack-config'
21+
gem 'hyper-trace', group: :development
22+
end
23+
24+
gem 'foreman', group: :development
25+
```
26+
The *edge* branch is the latest work in progress, where specs (automated tests) are passing, for the individual gem.
27+
The difference between *edge* and *master*, is that *master* guarantees that all specs across all gems pass, plus *master* is the branch from which new versions are released.
28+
29+
With this configuration you can track development of Hyperstack itself and discuss changes with the other developers.
30+
It's the basic starting point from which you can make different types of contributions listed below under the separate headings.
31+
32+
## If you would like to contribute code to Hyperstack
33+
34+
With the `Gemfile` configuration above you can track Hyperstack development. But you can't contribute code.
35+
36+
For that you need to `git clone https://github.com/hyperstack-org/hyperstack.git`
37+
Cd into the directory `cd hyperstack`
38+
And change to the *edge* branch: `git checkout edge` (*edge* is the default branch but just to be sure).
39+
40+
Now you're free to fix bugs and create new features.
41+
Reconfigure the `Gemfile` of your website project with a [filesystem path](https://bundler.io/gemfile.html) to create a local development environment.
42+
```
43+
TODO: Actually provide an example Gemfile..
44+
```
45+
And if your improvements could be interesting to others then push it to Github and create a pull request.
46+
Then keep reminding the existing developers that you would like your code pulled into the Hyperstack repository.
47+
When they find the time to look at it and like your code they will kindly ask you to also write some specs before your code is merged. That's a good thing, your code is considered valuable, but does require those tests.
48+
Please understand that your code can also be rejected because it has security issues, is slow, hard to maintain or buggy (among other things).
49+
Nobody likes it when this happens, but it can happen. If what you're trying to achieve is making sense then please keep at it.
50+
If you have wild out of the box ideas that would not match Hyperstack then please use the power to fork away and prove your ideas independently.
51+
But Hyperstack and Opal are quite happily pushing boundaries, so we might like your crazy ideas.
52+
53+
**Pro tip:** Talk trough your plans for changes before writing a lot of code. Push a few small fixes before starting mayor rewrites.
54+
55+
Hyperstack's [license is MIT](https://github.com/hyperstack-org/hyperstack/blob/edge/LICENSE). All code contributions must be under this license. If code is submitted under a different open source license then this must be explicitly stated. Preferably with an explanation why it can't be MIT.
56+
57+
## If you would like to improve the Hyperstack documentation
58+
59+
Each page on [the website](https://hyperstack.org) has an ***Improve this page*** button which will allow you to edit the underlying markdown file on Github and create a ***pull request***. This is to make it as easy as possible to contribute to the documentation.
60+
And make small fixes quickly.
61+
62+
If you're planning on making sustained contributions to the documentation we would suggest to do a `git clone https://github.com/hyperstack-org/hyperstack.git` as documented above with code contributions.
63+
Most documentation is written in .md files under the docs directory and can be edited with dedicated markdown editors or even plain text editors.
64+
Push your changes and create a ***pull request*** as if it's a code contribution.
865

966
## If you think you can improve the website
1067

11-
Please create an issue describing your plans and reach out to us in the Gitter chat. Our goal for this site is that it acts as a showcase for all that Hyperstack can do, so your creativity is very welcome.
68+
The website's code can be found in [this repository](https://github.com/hyperstack-org/website).
69+
By running `git clone https://github.com/hyperstack-org/website.git` you can check out your own copy.
70+
Please note that this repository does not contain the documentation. The website pulls the most recent markdown files from the *edge* hyperstack repository.
71+
72+
Before you write code to change the website, please create an issue describing your plans and reach out to us in the Gitter chat. Our goal for this site is that it acts as a showcase for all that Hyperstack can do, so your creativity is very welcome.
73+
74+
## If you found a possible bug
1275

13-
## If you find a bug
76+
You can ask on [gitter chat](https://gitter.im/ruby-hyperloop/chat) if you're making a mistake or actually found a bug.
77+
Also check the GitHub issue list and if you don't find it mentioned there, please create an issue.
78+
If you can reproduce the problem in a branch you push to GitHub we will love you even more.
1479

15-
Please check the issue list and if you do not find it mentioned there, please create an issue.
80+
We also have a [feature matrix](https://github.com/hyperstack-org/hyperstack/blob/edge/docs/feature_matrix.md), which is an attempt to list known issues and the current status.
81+
Having people expanding and maintaining this table would be excellent.
1682

17-
## If you would like to contribute to this project
83+
## If you would like to fix a bug
1884

19-
Please see the list of issues labelled 'Help Wanted' as a start. There is always tons to do so we would appreciate the help.
85+
Please ask in [gitter chat](https://gitter.im/ruby-hyperloop/chat) if you need pointers. There is always tons to do so we would appreciate the help.
86+
You can see the list of GitHub issues labelled '[Help Wanted](https://github.com/hyperstack-org/hyperstack/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)'
87+
or look at the [feature matrix](https://github.com/hyperstack-org/hyperstack/blob/edge/docs/feature_matrix.md) for things that have the status 'bugged'.

docs/installation/installation.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
**Work in progress - ALPHA (docs and code)**
44

5+
### Current installation documenation is found in ./install/readme.md this file is outdated and should be removed.
6+
57
This template will create a new Rails app with Webpacker from Hyperstack edge branch
68

79
## Usage

docs/readme.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ You can be up and running in **less than 5 minutes**. Just follow the simple set
3535

3636
+ Setup and Installation: https://hyperstack.org/edge/docs/installation
3737

38-
Beyond the installation we strongly suggest new developers work trough the [ToDo tutorial](https://github.com/hyperstack-org/hyperstack/blob/edge/docs/tutorial/todo.md).
39-
As it gives a minial understanding of the Hyperstack framework.
38+
Beyond the installation we strongly suggest new developers work trough the [todo tutorial](https://hyperstack.org/edge/docs/tutorials/todo).
39+
As it gives a minimal understanding of the Hyperstack framework.
4040

4141
## Community and support
4242

@@ -52,12 +52,13 @@ Please see the [ROADMAP](https://github.com/hyperstack-org/hyperstack/blob/edge/
5252

5353
## Contributing
5454

55-
We have a [Feature Matrix](https://github.com/hyperstack-org/hyperstack/blob/edge/docs/feature_matrix.md) that needs to be filled with missing features.
56-
The idea is that you can check here what the implementation status is of a Ruby (on Rails) feature.
57-
And if you have the time and skill you're more then encuraged to implement or fix one or two.
58-
But if you're not in a position to contribute code, just expanding and maintaining this table would be very excellent.
55+
In general, if you would like to help in any way, please read the [CONTRIBUTING](https://github.com/hyperstack-org/hyperstack/blob/edge/CONTRIBUTING.md) file for suggestions.
56+
System setup for the development of Hyperstack itself is documented in this file.
5957

60-
If you would like to help in any other way, please read the [CONTRIBUTING](https://github.com/hyperstack-org/hyperstack/blob/edge/CONTRIBUTING.md) file for suggestions.
58+
More specifically, we have a [Feature Matrix](https://github.com/hyperstack-org/hyperstack/blob/edge/docs/feature_matrix.md) that needs to be filled with missing features.
59+
The idea is that you can check here what the implementation status is of a Ruby (on Rails) feature.
60+
And if you have the time and skill you're more then encouraged to implement or fix one or two.
61+
But if you're not in a position to contribute code, just expanding and maintaining this table would be excellent.
6162

6263
## Links
6364

@@ -68,11 +69,12 @@ If you would like to help in any other way, please read the [CONTRIBUTING](https
6869

6970
## License
7071

71-
Released under the MIT License. See the [LICENSE][https://github.com/hyperstack-org/hyperstack/blob/edge/LICENSE] file for further details.
72+
Hyperstack is developed and released under the MIT License. See the [LICENSE](https://github.com/hyperstack-org/hyperstack/blob/edge/LICENSE) file for further details.
7273

7374
## History
7475

75-
Hyperstack is an evolution of [Ruby-Hyperloop](https://github.com/ruby-hyperloop). We decided to rename the project to drop the Ruby suffix and also took the opportunity to simplify the repos and project overall.
76+
Hyperstack is an evolution of [Ruby-Hyperloop](https://github.com/ruby-hyperloop). We decided to rename the project to drop the Ruby suffix and also took the opportunity to simplify the repos and project overall.
77+
Hyperloop was started by the developers of the reactrb gem.
7678

7779
+ Old website: http://ruby-hyperloop.org/
7880
+ Old Github: https://github.com/ruby-hyperloop

docs/tutorial/todo.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
# TodoMVC Tutorial (Rails 5.2.x)
1+
# TodoMVC Tutorial
2+
3+
*Based on Ruby on Rails 5.2.x*
24

35
### Prerequisites
46

5-
{ [Ruby On Rails](http://rubyonrails.org/) }
6-
{ [Yarn](https://yarnpkg.com/en/docs/install) }
7+
+ Linux or Mac system
8+
(Android, ChromeOS and Windows are not supported)
9+
+ Ruby on Rails must be installed: https://rubyonrails.org/
10+
+ NodeJS must be installed: https://nodejs.org
11+
+ Yarn must be installed: https://yarnpkg.com/en/docs/install
712

8-
### The Goals of this Tutorial
13+
### The goals of this tutorial
914

1015
In this tutorial, you will build the classic [TodoMVC](http://todomvc.com) application using Hyperstack.
1116
This tutorial will demonstrate several key Hyperstack concepts - client side Components and Isomorphic Models.

install/readme.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,34 @@
11
# Hyperstack Rails Template
22

3-
This template will create a new Rails app with Webpacker from Hyperstack edge branch
3+
**This will create a new Rails app with Webpacker and the current released Hyperstack gems by running the installation template in the edge branch.**
4+
5+
## Prerequisites
6+
7+
+ Linux or Mac system
8+
(Android, ChromeOS and Windows are not supported)
9+
+ Ruby on Rails must be installed: https://rubyonrails.org/
10+
+ NodeJS must be installed: https://nodejs.org
11+
+ Yarn must be installed: https://yarnpkg.com/en/docs/install
412

513
## Usage
614

715
Simply run the command below to create a new Rails app with Hyperstack all configured:
816

17+
```shell
18+
rails new MyAppName --template=https://rawgit.com/hyperstack-org/hyperstack/edge/install/rails-webpacker.rb
919
```
10-
rails new MyApp -m https://rawgit.com/hyperstack-org/hyperstack/edge/install/rails-webpacker.rb
11-
...or
12-
rails new MyApp -m rails-webpacker.rb
20+
Alternativly, if you like you can also download [the template file](https://rawgit.com/hyperstack-org/hyperstack/edge/install/rails-webpacker.rb) (the part after `--template=`) and read the contents,
21+
it shows how a Hyperstack Rails project differs from a plain Rails project.
22+
The downloaded file can then be referenced from the local filesystem.
23+
```shell
24+
rails new MyAppName --template=rails-webpacker.rb
1325
```
1426

1527
## Start the Rails app
1628

17-
+ `foreman start` to start Rails and OpalHotReloader
18-
+ Navigate to `http://localhost:5000/`
29+
+ Run `foreman start` from a console to start the Ruby on Rails server and Opal HotReloader
30+
+ Navigate to http://localhost:5000
1931

20-
## Pre-Requisites
32+
### Tutorial
2133

22-
+ Yarn must be installed (https://yarnpkg.com/en/docs/install#mac-stable)
34+
If you are new to developing an application based on Hyperstack we suggest you follow the [todo tutorial](https://hyperstack.org/edge/docs/tutorials/todo).

0 commit comments

Comments
 (0)