/xx
subdirectories (#264)
This publishes translations (currently only the Danish translation) to subdirectories named after the ISO 639-1 language code: “da/” for Danish, “ko/” for Korean, etc. The list of translation is an explicit list to make it easy for us to enable/disable translations without being tied to the files in po/. This allows us to experiment with a translation without publishing it immediately. I propose that we eventually move the English pages to an “en/” directory for symmetry with the other locales. However, for now, the pages remain at the room of our site (which works fine since we don’t have a subdirectory named “en/” in the course).
Comprehensive Rust 🦀
This repository has the source code for Comprehensive Rust 🦀, a four day Rust course developed by the Android team. The course covers all aspects of Rust, from basic syntax to generics and error handling. It also includes Android-specific content on the last day.
Read the course at https://google.github.io/comprehensive-rust/.
Course Format and Target Audience
The course is used internally at Google when teaching Rust to experienced software engineers. They typically have a background in C++ or Java.
The course is taught in a classroom setting and we hope it will be useful for others who want to teach Rust to their team. The course will be less useful for self-study since you miss out on the discussions happening in the classroom. You don't see the questions and answers and you don't see the compiler errors we trigger when going through the code samples. We hope to improve on this via speaker notes and by publishing videos.
Building
The course is built using mdBook and its Svgbob plugin. Install both tools with
$ cargo install mdbook
$ cargo install mdbook-svgbob
Then run
$ mdbook test
to test all included Rust snippets. Run
$ mdbook serve
to start a web server with the course. You'll find the content on
http://localhost:3000. You can use mdbook build
to create a static version
of the course in the book/
directory.
Contact
For questions or comments, please contact Martin Geisler or start a discussion on GitHub. We would love to hear from you.