Merge pull request #13 from brson/contributing

Contributing
This commit is contained in:
Trent Spice 2017-02-25 23:05:02 -05:00 committed by GitHub
commit f3535f6f7b
19 changed files with 241 additions and 30 deletions

9
.travis.yml Normal file
View file

@ -0,0 +1,9 @@
language: rust
before_install:
- sudo apt-get update -qq
- sudo apt-get install git pip
- sudo pip install ghp-import
- cargo install mdbook
after_success: build-site.sh

View file

@ -20,17 +20,17 @@ MIT/Apache-2.0
<!-- Links -->
[byteorder-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=byteorder
[byteorder-badge]: https://img.shields.io/crates/v/byteorder.svg?label=byteorder
[byteorder]: https://docs.rs/byteorder
[file-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=file
[file-badge]: https://img.shields.io/crates/v/file.svg?label=file
[file]: https://doc.rust-lang.org/std/fs/struct.File.html
[clap-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=clap
[clap-badge]: https://img.shields.io/crates/v/clap.svg?label=clap
[clap]: https://kbknapp.github.io/clap-rs/clap/struct.Arg.html
[json-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=json
[json-badge]: https://img.shields.io/crates/v/json.svg?label=json
[json]: http://json.rs/doc/json
[toml-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=toml
[toml-badge]: https://img.shields.io/crates/v/toml.svg?label=toml
[toml]: http://alexcrichton.com/toml-rs/toml/
[rand-badge]: https://img.shields.io/crates/v/rand.svg?label=rand
[rand]: https://doc.rust-lang.org/rand/rand/index.html
[error-docs]: https://doc.rust-lang.org/book/error-handling.html
[error-blog]: https://brson.github.io/2016/11/30/starting-with-error-chaini
[error-blog]: https://brson.github.io/2016/11/30/starting-with-error-chain

View file

@ -70,15 +70,15 @@
<p>A practical guide to the Rust crate ecosystem.</p>
<a class="header" href="#recipes" name="recipes"><h2>Recipes</h2></a>
<ul>
<li><a href="pages/byteorder.html">Byteorder</a> <a href="https://docs.rs/byteorder"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=byteorder" alt="byteorder-badge" /></a></li>
<li><a href="pages/fileio.html">File IO</a> <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=file" alt="file-badge" /></a></li>
<li><a href="pages/cliparsing.html">Command Line Parsing</a> <a href="https://kbknapp.github.io/clap-rs/clap/struct.Arg.html"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=clap" alt="clap-badge" /></a></li>
<li><a href="pages/json.html">JSON</a> <a href="http://json.rs/doc/json"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=json" alt="json-badge" /></a></li>
<li><a href="pages/toml.html">TOML</a> <a href="http://alexcrichton.com/toml-rs/toml/"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=toml" alt="toml-badge" /></a></li>
<li><a href="pages/byteorder.html">Byteorder</a> <a href="https://docs.rs/byteorder"><img src="https://img.shields.io/crates/v/byteorder.svg?label=byteorder" alt="byteorder-badge" /></a></li>
<li><a href="pages/fileio.html">File IO</a> <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><img src="https://img.shields.io/crates/v/file.svg?label=file" alt="file-badge" /></a></li>
<li><a href="pages/cliparsing.html">Command Line Parsing</a> <a href="https://kbknapp.github.io/clap-rs/clap/struct.Arg.html"><img src="https://img.shields.io/crates/v/clap.svg?label=clap" alt="clap-badge" /></a></li>
<li><a href="pages/json.html">JSON</a> <a href="http://json.rs/doc/json"><img src="https://img.shields.io/crates/v/json.svg?label=json" alt="json-badge" /></a></li>
<li><a href="pages/toml.html">TOML</a> <a href="http://alexcrichton.com/toml-rs/toml/"><img src="https://img.shields.io/crates/v/toml.svg?label=toml" alt="toml-badge" /></a></li>
<li><a href="pages/rand.html">rand</a> <a href="https://doc.rust-lang.org/rand/rand/index.html"><img src="https://img.shields.io/crates/v/rand.svg?label=rand" alt="rand-badge" /></a></li>
</ul>
<a class="header" href="#contributing" name="contributing"><h2>Contributing</h2></a>
<p>If you'd like to make changes to the project, please see <a href="CONTRIBUTING.md">this guide</a>.</p>
<p>If you'd like to make changes to the project, please see <a href="pages/contributing.html">this guide</a>.</p>
<a class="header" href="#license" name="license"><h2>License</h2></a>
<p>MIT/Apache-2.0</p>
<!-- Links -->
@ -116,6 +116,20 @@
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -109,6 +109,20 @@
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -159,6 +159,20 @@ fn main() { run().unwrap() }
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -109,6 +109,20 @@
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -97,6 +97,7 @@ TODO: Pull requests</p>
<a class="header" href="#tests" name="tests"><h2>Tests</h2></a>
<p>TODO: Write about writing tests</p>
<a class="header" href="#style" name="style"><h2>Style</h2></a>
<p>https://aturon.github.io</p>
<a class="header" href="#git-commit-messages" name="git-commit-messages"><h3>Git Commit Messages</h3></a>
<p>https://chris.beams.io/posts/git-commit/<br />
TODO: Possibly take relevant parts from this post or write our own</p>
@ -137,6 +138,20 @@ TODO: Maybe provide a template?</p>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -146,6 +146,20 @@ makes the <code>?</code> operator work</p>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -109,6 +109,20 @@
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -148,6 +148,20 @@ fn main(){
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -110,6 +110,20 @@
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -210,6 +210,20 @@ fn main() {
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -109,6 +109,20 @@
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -71,15 +71,15 @@
<p>A practical guide to the Rust crate ecosystem.</p>
<a class="header" href="#recipes" name="recipes"><h2>Recipes</h2></a>
<ul>
<li><a href="pages/byteorder.html">Byteorder</a> <a href="https://docs.rs/byteorder"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=byteorder" alt="byteorder-badge" /></a></li>
<li><a href="pages/fileio.html">File IO</a> <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=file" alt="file-badge" /></a></li>
<li><a href="pages/cliparsing.html">Command Line Parsing</a> <a href="https://kbknapp.github.io/clap-rs/clap/struct.Arg.html"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=clap" alt="clap-badge" /></a></li>
<li><a href="pages/json.html">JSON</a> <a href="http://json.rs/doc/json"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=json" alt="json-badge" /></a></li>
<li><a href="pages/toml.html">TOML</a> <a href="http://alexcrichton.com/toml-rs/toml/"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=toml" alt="toml-badge" /></a></li>
<li><a href="pages/byteorder.html">Byteorder</a> <a href="https://docs.rs/byteorder"><img src="https://img.shields.io/crates/v/byteorder.svg?label=byteorder" alt="byteorder-badge" /></a></li>
<li><a href="pages/fileio.html">File IO</a> <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><img src="https://img.shields.io/crates/v/file.svg?label=file" alt="file-badge" /></a></li>
<li><a href="pages/cliparsing.html">Command Line Parsing</a> <a href="https://kbknapp.github.io/clap-rs/clap/struct.Arg.html"><img src="https://img.shields.io/crates/v/clap.svg?label=clap" alt="clap-badge" /></a></li>
<li><a href="pages/json.html">JSON</a> <a href="http://json.rs/doc/json"><img src="https://img.shields.io/crates/v/json.svg?label=json" alt="json-badge" /></a></li>
<li><a href="pages/toml.html">TOML</a> <a href="http://alexcrichton.com/toml-rs/toml/"><img src="https://img.shields.io/crates/v/toml.svg?label=toml" alt="toml-badge" /></a></li>
<li><a href="pages/rand.html">rand</a> <a href="https://doc.rust-lang.org/rand/rand/index.html"><img src="https://img.shields.io/crates/v/rand.svg?label=rand" alt="rand-badge" /></a></li>
</ul>
<a class="header" href="#contributing" name="contributing"><h2>Contributing</h2></a>
<p>If you'd like to make changes to the project, please see <a href="CONTRIBUTING.md">this guide</a>.</p>
<p>If you'd like to make changes to the project, please see <a href="pages/contributing.html">this guide</a>.</p>
<a class="header" href="#license" name="license"><h2>License</h2></a>
<p>MIT/Apache-2.0</p>
<!-- Links -->
@ -117,6 +117,20 @@
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -176,6 +176,20 @@ fn main() {
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -71,15 +71,15 @@
<p>A practical guide to the Rust crate ecosystem.</p>
<a class="header" href="#recipes" name="recipes"><h2>Recipes</h2></a>
<ul>
<li><a href="pages/byteorder.html">Byteorder</a> <a href="https://docs.rs/byteorder"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=byteorder" alt="byteorder-badge" /></a></li>
<li><a href="pages/fileio.html">File IO</a> <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=file" alt="file-badge" /></a></li>
<li><a href="pages/cliparsing.html">Command Line Parsing</a> <a href="https://kbknapp.github.io/clap-rs/clap/struct.Arg.html"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=clap" alt="clap-badge" /></a></li>
<li><a href="pages/json.html">JSON</a> <a href="http://json.rs/doc/json"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=json" alt="json-badge" /></a></li>
<li><a href="pages/toml.html">TOML</a> <a href="http://alexcrichton.com/toml-rs/toml/"><img src="https://img.shields.io/crates/v/rustc-serialize.svg?label=toml" alt="toml-badge" /></a></li>
<li><a href="pages/byteorder.html">Byteorder</a> <a href="https://docs.rs/byteorder"><img src="https://img.shields.io/crates/v/byteorder.svg?label=byteorder" alt="byteorder-badge" /></a></li>
<li><a href="pages/fileio.html">File IO</a> <a href="https://doc.rust-lang.org/std/fs/struct.File.html"><img src="https://img.shields.io/crates/v/file.svg?label=file" alt="file-badge" /></a></li>
<li><a href="pages/cliparsing.html">Command Line Parsing</a> <a href="https://kbknapp.github.io/clap-rs/clap/struct.Arg.html"><img src="https://img.shields.io/crates/v/clap.svg?label=clap" alt="clap-badge" /></a></li>
<li><a href="pages/json.html">JSON</a> <a href="http://json.rs/doc/json"><img src="https://img.shields.io/crates/v/json.svg?label=json" alt="json-badge" /></a></li>
<li><a href="pages/toml.html">TOML</a> <a href="http://alexcrichton.com/toml-rs/toml/"><img src="https://img.shields.io/crates/v/toml.svg?label=toml" alt="toml-badge" /></a></li>
<li><a href="pages/rand.html">rand</a> <a href="https://doc.rust-lang.org/rand/rand/index.html"><img src="https://img.shields.io/crates/v/rand.svg?label=rand" alt="rand-badge" /></a></li>
</ul>
<a class="header" href="#contributing" name="contributing"><h2>Contributing</h2></a>
<p>If you'd like to make changes to the project, please see <a href="CONTRIBUTING.md">this guide</a>.</p>
<p>If you'd like to make changes to the project, please see <a href="pages/contributing.html">this guide</a>.</p>
<a class="header" href="#license" name="license"><h2>License</h2></a>
<p>MIT/Apache-2.0</p>
<!-- Links -->
@ -408,6 +408,7 @@ TODO: Pull requests</p>
<a class="header" href="#tests" name="tests"><h2>Tests</h2></a>
<p>TODO: Write about writing tests</p>
<a class="header" href="#style" name="style"><h2>Style</h2></a>
<p>https://aturon.github.io</p>
<a class="header" href="#git-commit-messages" name="git-commit-messages"><h3>Git Commit Messages</h3></a>
<p>https://chris.beams.io/posts/git-commit/<br />
TODO: Possibly take relevant parts from this post or write our own</p>
@ -440,6 +441,20 @@ TODO: Maybe provide a template?</p>
<!-- Livereload script (if served using the cli tool) -->
<script type="text/javascript">
var socket = new WebSocket("ws://localhost:3001");
socket.onmessage = function (event) {
if (event.data === "reload") {
socket.close();
location.reload(true); // force reload from server (not from cache)
}
};
window.onbeforeunload = function() {
socket.close();
}
</script>
<script src="highlight.js"></script>
<script src="book.js"></script>

View file

@ -1,3 +1,5 @@
#!/bin/bash
# Returns 1 if program is installed and 0 otherwise
function program_installed {
local return_=1

View file

@ -31,6 +31,8 @@ TODO: How to add new crates to project
TODO: Write about writing tests
## Style
https://aturon.github.io
### Git Commit Messages
https://chris.beams.io/posts/git-commit/
TODO: Possibly take relevant parts from this post or write our own

View file

@ -11,7 +11,7 @@ A practical guide to the Rust crate ecosystem.
* [rand](pages/rand.html) [![rand-badge]][rand]
## Contributing
If you'd like to make changes to the project, please see [this guide](CONTRIBUTING.md).
If you'd like to make changes to the project, please see [this guide](pages/contributing.html).
## License
@ -20,15 +20,15 @@ MIT/Apache-2.0
<!-- Links -->
[byteorder-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=byteorder
[byteorder-badge]: https://img.shields.io/crates/v/byteorder.svg?label=byteorder
[byteorder]: https://docs.rs/byteorder
[file-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=file
[file-badge]: https://img.shields.io/crates/v/file.svg?label=file
[file]: https://doc.rust-lang.org/std/fs/struct.File.html
[clap-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=clap
[clap-badge]: https://img.shields.io/crates/v/clap.svg?label=clap
[clap]: https://kbknapp.github.io/clap-rs/clap/struct.Arg.html
[json-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=json
[json-badge]: https://img.shields.io/crates/v/json.svg?label=json
[json]: http://json.rs/doc/json
[toml-badge]: https://img.shields.io/crates/v/rustc-serialize.svg?label=toml
[toml-badge]: https://img.shields.io/crates/v/toml.svg?label=toml
[toml]: http://alexcrichton.com/toml-rs/toml/
[rand-badge]: https://img.shields.io/crates/v/rand.svg?label=rand
[rand]: https://doc.rust-lang.org/rand/rand/index.html