1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-04-11 19:58:09 +02:00

40 Commits

Author SHA1 Message Date
Andrew Walbran
8b21f5070e Add page about inline assembly. 2023-03-23 15:06:23 +00:00
Andrew Walbran
f293ede958 Add page about tinyvec. 2023-03-23 15:06:23 +00:00
Andrew Walbran
56319e016b Add page about buddy_system_allocator. 2023-03-23 15:06:23 +00:00
Andrew Walbran
f0043637e2 Write page about aarch64-paging. 2023-03-23 15:06:23 +00:00
Andrew Walbran
dc95bd1dae Write page about zerocopy. 2023-03-23 15:06:23 +00:00
Andrew Walbran
31c7b283c2 Add example implementing logger. 2023-03-23 15:06:23 +00:00
Andrew Walbran
1f315da903 Write a more complete UART driver. 2023-03-23 15:06:23 +00:00
Andrew Walbran
08c0c53412 Add section about Android bare-metal Rust support. 2023-03-23 15:06:23 +00:00
Andrew Walbran
7eee892195 Start on AP UART driver example. 2023-03-23 15:06:23 +00:00
Andrew Walbran
76ad4b2939 Add first AP slide and mention other projects. 2023-03-23 15:06:23 +00:00
Andrew Walbran
dee3e64442 Start writing about MMIO. 2023-03-23 15:06:23 +00:00
Dustin J. Mitchell
3b538b582d
Add a brief mention of doc comments (#509) 2023-03-21 12:15:07 -04:00
Andrew Walbran
52f0c9ef64 Rename Day 5A to Bare Metal Rust. 2023-03-20 14:26:57 +00:00
Andrew Walbran
0c3664bef3 Add slide about probe-rs and cargo-embed. 2023-03-20 14:26:57 +00:00
Andrew Walbran
0fa73286b9 Add raw MMIO example. 2023-03-20 14:26:57 +00:00
Andrew Walbran
b852b6195f xgettext doesn't like formatting in SUMMARY. 2023-03-20 14:26:57 +00:00
Andrew Walbran
062129546a Temperature logger is no more. 2023-03-20 14:26:57 +00:00
Andrew Walbran
b8b387c504 Mention board support crates and other tools. 2023-03-20 14:26:57 +00:00
Andrew Walbran
5e0f4da4b3 Mention some other projects. 2023-03-20 14:26:57 +00:00
Andrew Walbran
100341aa9f Add page about type-state pattern. 2023-03-20 14:26:57 +00:00
Andrew Walbran
65749777c9 Write about embedded-hal 2023-03-20 14:26:57 +00:00
Andrew Walbran
f8f6922b0c Add pages with PAC and HAL examples. 2023-03-20 14:26:57 +00:00
Andrew Walbran
0a2263451d Add alloc example. 2023-03-20 14:26:57 +00:00
Andrew Walbran
f71a86d942 Add minimal no_std example. 2023-03-20 14:26:57 +00:00
Andrew Walbran
27820629e2 Rename section to bare metal. 2023-03-20 14:26:57 +00:00
Andrew Walbran
51ccf44f52 Add initial outline for bare-metal Rust day. 2023-03-20 14:26:57 +00:00
Dustin J. Mitchell
bfed596d28
Generalize the day-4 afternoon (#487)
* Generalize the day-4 afternoon

This is in preparation for adding more options for this portion of the
course, and reflects an existing practice of substituting other
materials for this last half-day.

* address review comments
2023-03-10 09:07:36 -05:00
Martin Geisler
bc2dbd0fd3
Add a page which mentions the translations (#424)
This is to help people discover the language picker.
2023-02-16 13:21:45 +01:00
Igor Petruk
ab831de1da
Suggesting to add Default to important traits. (#243)
* Suggesting to add `Default` to important traits.

This is a great trait to know about, it is used very often.

* Change `Implemented` to tuple struct.

It saves vertical space.
2023-02-06 20:17:21 +01:00
Andrew Walbran
1be641203e
Split out example to separate page. (#319)
The example is quite long and so the page didn't easily fit on the
same screen as the explanation
2023-02-03 10:12:31 +00:00
Martin Geisler
dee5e654c8
Fix order of standard library slides (#310)
The slides now follow the order on the intro slide.
2023-01-31 15:04:17 -05:00
Andrew Walbran
79f5f0dade Add slide about Box<dyn Error> before introducing anyhow. 2023-01-27 17:54:37 +00:00
Andrew Walbran
6e7916c29b Add a slide about writing unsafe functions. 2023-01-27 17:17:37 +00:00
Andrew Walbran
3cadad4e0a Add slide for unsafe traits. 2023-01-27 17:17:37 +00:00
Andrew Walbran
8c2b3781bb Move extern functions slide under unsafe functions. 2023-01-27 17:17:37 +00:00
Andrew Walbran
e0cb292624 Put unsafe slides in same order as they are introduced in unsafe.md. 2023-01-27 17:17:37 +00:00
Martin Geisler
48ec773052 Add support for translations
This implements a translation pipeline using the industry-standard
Gettext[1] system.

I picked Gettext for the reasons described in [2] and [3]:

* It’s widely used in open source software. This means that there are
  graphical editors which will help you in editing the `.po` files. An
  example is Poedit[4], which is available for all major platforms.

  There are also many online systems for doing translations. An
  example is Pontoon[5], which is used for the Rust website itself. We
  can consider setting up such an instance ourselves.

* It is a light-weight yet structured format. This means that nothing
  changes with regards to how you update the original English text. We
  can still accept fixes and PRs like normal.

  The structure means that translators can see exactly which part of
  the course they need to update after a change. This is completely
  lost if you simply copy over the original text and translate it
  in-place in the Markdown files.

The code here only adds support for translations. They are not yet
tested, published or used for anything. Next steps will be:

* Add support for switching languages via a bit of JavaScript on each
  page.

* Update the speaker notes feature to support translations (right now
  “Speaker Notes” is hard-coded into the generated HTML). I think we
  should turn it into a mdbook preprocessor instead.

* Add testing: We should test that the `.po` files are well-formed. We
  should also run `mdbook test` on each language since the
  translations can alter the embedded code.

Fixes #115.

[1]: https://www.gnu.org/software/gettext/manual/html_node/index.html
[2]: https://github.com/rust-lang/mdBook/pull/1864
[3]:
https://github.com/rust-lang/mdBook/issues/5#issuecomment-1144887806
[4]: https://poedit.net/
[5]: https://pontoon.rust-lang.org/
2023-01-18 16:12:53 +01:00
Andrew Walbran
832c7e9963 Add speaker notes for Iterator, and an example using FromIterator. 2023-01-16 16:11:31 +00:00
Martin Geisler
08af7574bb Add instructions about how to run the course
I think we need a chapter “before the course” which gives people some
background information about how to run the course. This is the start
of this chapter, we might expand it in the future as we find more
things to communicate here.
2023-01-10 19:12:57 +01:00
Martin Geisler
c212a473ba Publish Comprehensive Rust 🦀 2022-12-21 16:38:28 +01:00