Skip to content

Commit

Permalink
Showing 1 changed file with 10 additions and 18 deletions.
28 changes: 10 additions & 18 deletions Contributing.md
Original file line number Diff line number Diff line change
@@ -15,26 +15,18 @@ Furthermore these are the most important general things in need right now:

## Contributing to the documentation

The main site and official language documentation is on the `gh-pages` branch.
We use [GitBook](https://www.gitbook.com/) for the documentation.
Check the `_gitbook` directory, that's where you can edit the documentation, the HTML files in the `docs` directory are
generated from it and should not be edited manually.
The main website is at [crystal-lang/crystal-website](https://github.com/crystal-lang/crystal-website),
please have a look over there if you want to contribute to it.

To get started getting the documentation working locally follow these steps (assuming you already have ruby and node/npm installed):
We use [GitBook](https://www.gitbook.com/) for the [language documentation](https://crystal-lang.org/docs/).
See the repository at [crystal-lang/crystal-book](https://github.com/crystal-lang/crystal-book) for how to contribute to it.

```
gem install bundler # if you don't have bundler already
bundle
npm install -g gitbook-cli
```

Then you can check it out by doing `rake build && jekyll serve` to [browse it](http://localhost:4000).

The standard library documentation is on the code itself.
The [standard library documentation](https://crystal-lang.org/api/) is on the code itself, in this repository.
There is a version updated with every push to the master branch [here](https://crystal-lang.org/api/master/).
It uses a subset of [Markdown](http://daringfireball.net/projects/markdown/). You can [use Ruby as a source
of inspiration](https://twitter.com/yukihiro_matz/status/549317901002342400) whenever applicable. To generate
the docs execute `make doc`. Please follow the guidelines described [here](http://crystal-lang.org/docs/conventions/documenting_code.html),
like the use of the third person.
the docs execute `make doc`. Please follow the guidelines described in our
[language documentation](https://crystal-lang.org/docs/conventions/documenting_code.html), like the use of the third person.

## Contributing to the standard library

@@ -54,15 +46,15 @@ the specs for the standard library, run `bin/crystal spec/std_spec.cr`. To run a
Note: at this point you might get long compile error that include "library not found for: ...". This means
you are [missing some libraries](https://github.com/crystal-lang/crystal/wiki/All-required-libraries).

Make sure that your changes follow the recommended [Coding Style](http://crystal-lang.org/docs/conventions/coding_style.html).
Make sure that your changes follow the recommended [Coding Style](https://crystal-lang.org/docs/conventions/coding_style.html).
You can run `crystal tool format` to automate this.

Then push your changes and create a pull request.

## Contributing to the compiler itself

If you want to add/change something in the compiler,
the first thing you will need to do is to [install the compiler](http://crystal-lang.org/docs/installation/index.html).
the first thing you will need to do is to [install the compiler](https://crystal-lang.org/docs/installation/index.html).

Once you have a compiler up and running, and that executing `crystal` on the command line prints its usage,
it's time to setup your environment to compile Crystal itself, which is written in Crystal. Check out

0 comments on commit f02b85a

Please sign in to comment.