mirror of
https://github.com/rust-lang-nursery/rust-cookbook
synced 2024-11-23 03:53:05 +00:00
commit
f3535f6f7b
19 changed files with 241 additions and 30 deletions
9
.travis.yml
Normal file
9
.travis.yml
Normal 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
|
12
README.md
12
README.md
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Returns 1 if program is installed and 0 otherwise
|
||||
function program_installed {
|
||||
local return_=1
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue