You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+73-7
Original file line number
Diff line number
Diff line change
@@ -7,19 +7,85 @@ position: 5
7
7
8
8
# Contributing to Algebird
9
9
10
-
This page lists recommendations and requirements for how to best contribute to Algebird.
10
+
This page lists recommendations and requirements for how to best contribute to Algebird. We strive to obey these as best as possible. As always, thanks for contributing--we hope these guidelines make it easier and shed some light on our approach and processes.
11
11
12
-
We strive to obey these as best as possible. As always, thanks for contributing--we hope these guidelines make it easier and shed some light on our approach and processes.
12
+
## Key branches
13
13
14
-
### Key branches
15
14
-`master` is the latest, deployed version.
16
15
-`develop` is where development happens and all pull requests should be submitted.
17
16
18
-
###Pull requests
17
+
## Pull requests
19
18
20
-
- Submit pull requests against the `develop` branch.
21
-
- Try not to pollute your pull request with unintended changes--keep them simple and small.
19
+
Submit pull requests against the `develop` branch. Try not to pollute your pull request with unintended changes. Keep it simple and small.
22
20
23
-
### License
21
+
## Contributing Documentation
22
+
23
+
The documentation for Algebird's website is stored in the `docs/src/main/tut` directory of the [docs subproject](https://github.com/twitter/algebird/tree/develop/docs).
24
+
25
+
Algebird's documentation is powered by [sbt-microsites](https://47deg.github.io/sbt-microsites/) and [tut](https://github.com/tpolecat/tut). `tut` compiles any code that appears in the documentation, ensuring that snippets and examples won't go out of date.
26
+
27
+
We would love your help making our documentation better. If you see a page that's empty or needs work, please send us a pull request making it better. If you contribute a new data structure to Algebird, please add a corresponding documentation page. To do this, you'll need to:
28
+
29
+
- Add a new Markdown file to `docs/src/main/tut/datatypes` with the following format:
- Make sure to add some code examples! Any code block of this form will get compiled using `tut`:
46
+
47
+
48
+
```toot:book
49
+
<your code>
50
+
```
51
+
52
+
(Please replace `toot` with `tut`!) `tut` will evaluate your code as if you'd pasted it into a REPL and insert each line's results in the output. State persists across `tut` code blocks, so feel free to alternate code blocks with text discussion. See the [tut README](https://github.com/tpolecat/tut) for more information on the various options you can use to customize your code blocks.
53
+
- Add your page to the appropriate section in [the menu](https://github.com/twitter/algebird/tree/develop/docs/src/main/resources/microsite/data/menu.yml)
54
+
55
+
### Generating the Site
56
+
57
+
run `sbt docs/makeMicrosite` to generate a local copy of the microsite.
58
+
59
+
### Previewing the site
60
+
61
+
1. Install jekyll locally, depending on your platform, you might do this with any of the following commands:
62
+
63
+
```
64
+
yum install jekyll
65
+
apt-get install jekyll
66
+
gem install jekyll
67
+
```
68
+
69
+
2. In a shell, navigate to the generated site directory in `docs/target/site`
70
+
3. Start jekyll with `jekyll serve --incremental`
71
+
4. Navigate to http://127.0.0.1:4000/algebird/ in your browser
72
+
5. Make changes to your site, and run `sbt docs/makeMicrosite` to regenerate the site. The changes should be reflected as soon as `sbt docs/makeMicrosite` completes.
73
+
74
+
## Post-release
75
+
76
+
After the release occurs, you will need to update the documentation. Here is a list of the places that will definitely need to be updated:
77
+
78
+
* `README.md`: update version numbers
79
+
* `CHANGES.md`: summarize changes since last release
80
+
81
+
(Other changes may be necessary, especially for large releases.)
82
+
83
+
You can get a list of changes between release tags `v0.1.2` and `v0.2.0` via `git log v0.1.2..v0.2.0`. Scanning this list of commit messages is a good way to get a summary of what happened, although it does not account for conversations that occured on Github.
84
+
85
+
Once the relevant documentation changes have been committed, new [release notes](https://github.com/twitter/algebird/releases) should be added. You can add a release by clicking the "Draft a new release" button on that page, or if the relevant release already exists, you can click "Edit release".
86
+
87
+
The website should then be updated via `sbt docs/publishMicrosite`.
88
+
89
+
## License
24
90
25
91
By contributing your code, you agree to license your contribution under the terms of the [APLv2](LICENSE).
Copy file name to clipboardExpand all lines: README.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@
9
9
10
10
Abstract algebra for Scala. This code is targeted at building aggregation systems (via [Scalding](https://github.com/twitter/scalding) or [Apache Storm](http://storm.apache.org/)). It was originally developed as part of Scalding's Matrix API, where Matrices had values which are elements of Monoids, Groups, or Rings. Subsequently, it was clear that the code had broader application within Scalding and on other projects within Twitter.
11
11
12
-
See the [current API documentation](http://twitter.github.com/algebird) for more information.
12
+
See the [Algebird website](https://twitter.github.io/algebird) for more information.
13
13
14
14
### What can you do with this code?
15
15
@@ -61,7 +61,7 @@ A list of contributors to the project can be found here: [Contributors](https://
61
61
62
62
## Maven
63
63
64
-
Algebird modules are available on maven central. The current groupid and version for all modules is, respectively, `"com.twitter"` and `0.11.0`.
64
+
Algebird modules are available on maven central. The current groupid and version for all modules is, respectively, `"com.twitter"` and `0.12.2`.
0 commit comments