This repository hosts the Rust Sokoban book and source code used in the book. It's using mdbook. You can read the book at sokoban.iolivia.me.
If not already done, install mdbook.
$ cargo install mdbook
Serve the book and navigate to https://localhost:3000/ in your local browser.
$ mdbook serve
$ cd code/rust-sokoban-c01-01
$ cargo run --release
- Copy the latest
code/rust-sokoban-x
folder tocode/rust-sokoban-x+1
- Add the code changes of the topic you want to illustrate, try to keep each section self contained and relatively simple to grasp
- Make sure the code compiles (ideally without warnings)
- Add a new entry in
src/SUMMARY.md
- each md file should be in the formatcxx-yy-text.md
- Fill the markdown in and use code references with line numbers pointing to the
code/rust-sokoban-x+1
folder - Add a gif towards the end of the new section to showcase the new feature - grab a screen recording and then convert it to a gif (I use ffmpeg for this -
ffmpeg -i Screen_Recording.mov -r 60 -f gif - > moves.gif
) - If you add a directory tree listing, use tree -
tree --dirsfirst -I target
- Create a PR and wait for the 👏 🎉
Have a look in the issues list of any duplicates, if you can't find anything create a new one!
- Make a copy of the books/en_US folder with the new translation ISO code (for example fr_FR, see list)
- Modify the language in book.toml
- Translate SUMMARY.md first
- Translate each chapter/sub-chapter, try to not modify any images/sounds/videos or any of the book structure
- Feel free to create a draft pull request as soon as you have a few pages translated, this will make other contributors aware of the work
- When this is ready, notify the repo owner, a CI change is required to publish the book to a new subdomain (sokoban.iolivia.me/fr_fr in this example)
MIT