1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2024-11-21 13:25:53 +02:00
Commit Graph

17 Commits

Author SHA1 Message Date
michael-kerscher
355d65b3ba
Add mdbook-slide-evaluator (#2258)
I created a first implementation for the mdbook-slide-evaluator I
described in #2234.

One has to run a WebDriver compatible browser (e.g. selenium-chromium)
so the slides can be rendered. The browser can access the file either
via a file:// or http:// uri.

The tool grabs the configurable element from that page and evaluates the
size of this element. Output can be stored in a csv file or at stdout
and looks like this at the moment:
```
$ mdbook-slide-evaluator book/html/android/aidl
book/html/android/aidl/birthday-service.html: 750x134
book/html/android/aidl/example-service/changing-definition.html: 750x555
book/html/android/aidl/example-service/changing-implementation.html: 750x786
book/html/android/aidl/example-service/client.html: 750x1096
book/html/android/aidl/example-service/deploy.html: 750x635
book/html/android/aidl/example-service/interface.html: 750x570
book/html/android/aidl/example-service/server.html: 750x837
book/html/android/aidl/example-service/service-bindings.html: 750x483
book/html/android/aidl/example-service/service.html: 750x711
book/html/android/aidl/types/arrays.html: 750x291
book/html/android/aidl/types/file-descriptor.html: 750x1114
book/html/android/aidl/types/objects.html: 750x1258
book/html/android/aidl/types/parcelables.html: 750x637
book/html/android/aidl/types/primitives.html: 750x366
book/html/android/aidl/types.html: 750x197
```

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2024-08-21 07:18:07 +00:00
Martin Geisler
ad9b41cd6c
Include xgettext as optional output (#2244)
Instead of asking the translators to run a complicated command to
generate the `messages.pot` file, we now simply include the
configuration in the versioned `book.toml` file.

This makes it much easier for us to update the configuration: we just
push a new version of `book.toml`. It also makes life easier for the
translators.
2024-07-23 10:51:13 +02:00
Henri F
e3f153a6a0
Add VSCode config directory to .gitignore (#2147) 2024-06-16 21:04:06 +01:00
Henri F
eecb4f0276
Add Google's Project IDX files to .gitignore (#2145)
Add [Project IDX](https://idx.dev/) files to `.gitignore`
2024-06-14 21:33:25 -07:00
Bjørn Dons
f976ca88c7
Adding crowdin.yml to .gitignore (#2079)
To remove the risk of committing API keys while testing the Crowdin
integration.
2024-05-14 18:43:04 +00:00
Alix
99aa37fb0e
ignore nodejs deps for dprint (#2066) 2024-05-08 18:12:42 +00:00
Dustin J. Mitchell
6d19292f16
Comprehensive Rust v2 (#1073)
I've taken some work by @fw-immunant and others on the new organization
of the course and condensed it into a form amenable to a text editor and
some computational analysis. You can see the inputs in `course.py` but
the interesting bits are the output: `outline.md` and `slides.md`.

The idea is to break the course into more, smaller segments with
exercises at the ends and breaks in between. So `outline.md` lists the
segments, their duration, and sums those durations up per-day. It shows
we're about an hour too long right now! There are more details of the
segments in `slides.md`, or you can see mostly the same stuff in
`course.py`.

This now contains all of the content from the v1 course, ensuring both
that we've covered everything and that we'll have somewhere to redirect
every page.

Fixes #1082.
Fixes #1465.

---------

Co-authored-by: Nicole LeGare <dlegare.1001@gmail.com>
Co-authored-by: Martin Geisler <mgeisler@google.com>
2023-11-29 16:39:24 +01:00
Ivan De Marino
e83140b42c
Additional Italian translation (#642)
* Additional Italian translations

* Updated base template

* git-ignoring backup copies `po/*.po~` files, generated when updating an existing translation
2023-05-19 12:52:32 +01:00
Andrew Walbran
edd9df042c Make exerciser an mdbook renderer. 2023-04-05 16:28:07 +01:00
Andrew Walbran
97d3c9c17d Add script to run exerciser on bare metal exercises. 2023-04-05 16:28:07 +01:00
Ivan De Marino
032ca7e9d7
Italian translation: initial setup (#541)
* Git-ignore Jetbrains IDEs project files

* First commit of Italian translation file

Just a few translations so far, to get things going.
2023-04-01 21:56:38 +00:00
Andrew Walbran
7eee892195 Start on AP UART driver example. 2023-03-23 15:06:23 +00:00
rastringer
302c93e3fd
Adds latest English changes to pt-BR translation (#396)
* Adds latest English changes to  pt-BR translation

Updating latest changes in English version to pt-BR.po file using the `msgmerge --update po/pt-BR.po po/messages.pot` command.

* Removes all `fuzzy`

Removing all `#, fuzzy` lines so the translation can be live.
2023-02-14 18:43:00 +01: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
Martin Geisler
6f49dcf2fe Add Cargo.lock
This captures a set of known-good dependencies for the provided
solutions.
2023-01-03 14:42:33 +01:00
Kian-Meng Ang
54adbe7f55 Misc doc fixes
List of changes:
- fix typos found via `codespell -S target -L crate`
- ignore Cargo.lock
2022-12-23 11:24:51 +08:00
Martin Geisler
c212a473ba Publish Comprehensive Rust 🦀 2022-12-21 16:38:28 +01:00