1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2025-06-23 17:26:44 +02:00
Commit Graph

26 Commits

Author SHA1 Message Date
963c6979ed Revert "Update README.md with mdbook-pandoc install" (#1998)
Reverts google/comprehensive-rust#1975

Using `mdbook-pandoc` requires more than just installing the `mdbook`
plugin: it requires

- A whole LaTeX installation
- A Pandoc installation
- Some fonts

This is essentially why the output is configured as optional in
`book.toml`: the assumption is that people won't have `mdbook-pandoc`
installed without the necessary supporting tools.

@henrif75, I assume you added this because you didn't like the warning
`mdbook build` prints:

```
% mdbook build
2024-04-16 10:45:56 [WARN] (mdbook::book): The output.html.curly-quotes field has been renamed to output.html.smart-punctuation.
Use the new name in book.toml to remove this warning.
2024-04-16 10:45:56 [INFO] (mdbook::book): Book building has started
2024-04-16 10:45:57 [INFO] (mdbook::book): Running the exerciser backend
2024-04-16 10:45:57 [INFO] (mdbook::renderer): Invoking the "exerciser" renderer
2024-04-16 10:45:57 [INFO] (mdbook::book): Running the html backend
2024-04-16 10:45:58 [INFO] (mdbook::book): Running the pandoc backend
2024-04-16 10:45:58 [INFO] (mdbook::renderer): Invoking the "pandoc" renderer
2024-04-16 10:45:58 [WARN] (mdbook::renderer): The command `mdbook-pandoc` for backend `pandoc` was not found, but was marked as optional.
```

I don't have the necessary dependencies on my local system and this is
what I get after installing `mdbook-pandoc`:

```
2024-04-16 10:47:30 [INFO] (mdbook::renderer): Invoking the "pandoc" renderer
Unable to run `pandoc -v`: No such file or directory (os error 2)
2024-04-16 10:47:30 [ERROR] (mdbook::renderer): Renderer exited with non-zero return code.
2024-04-16 10:47:30 [ERROR] (mdbook::utils): Error: Rendering failed
2024-04-16 10:47:30 [ERROR] (mdbook::utils): 	Caused By: The "pandoc" renderer failed
```

This also means that `mdbook serve` doesn't work unless all dependencies
are installed.

As an alternative, we could remove the `output.pandoc` settings from the
`book.toml` file and use a small shell script to add them when needed.

We actually have the same problem for the `mdbook-xgettext` output
format which generates the POT files: we only want to run this
occasionally. This is currently done by overriding `output` from the
command line using the `MDBOOK_OUTPUT` environment variable:

```shell
MDBOOK_OUTPUT='{"xgettext": {"pot-file": "messages.pot", "granularity": 0}}' \
  mdbook build -d po
```

It's a bit ugly and it results in people missing/forgetting some of the
configuration options we want them to use (the `granularity` setting).
So I would like to move this configuration to the `book.toml` file — but
I'm reluctant since I don't think we need to generate POT files on every
build (it takes ~1 second and would slow down `mdbook serve`).

Cc @max-heller in case you have ideas here.
2024-04-16 13:26:47 -07:00
80b214117e Update README.md with mdbook-pandoc install (#1975) 2024-04-12 11:02:03 -04:00
22c9555ca8 Suggest --locked for cargo installs (#1792)
This is already used in the GitHub actions, and avoids issues like those
in #1791.

Fixes #1791.
2024-02-19 17:13:46 +01:00
5d9ab5f239 Fix Chromium link in README.md (#1812)
Fixes #1806.
2024-02-12 15:24:24 +00:00
7f469fb2c7 Add Chromium section (#1479)
This is a contribution of a Chromium section for Comprehensive Rust.

---------

Co-authored-by: Nicole L <dlegare.1001@gmail.com>
Co-authored-by: Martin Geisler <martin@geisler.net>
2023-11-27 18:21:19 +00:00
2d68007f98 Update README.md (#1397)
Add instructions to install Rust.

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-10-25 18:23:21 +00:00
1f022e318a Add more coverage about the course (#1298)
There has now been three articles about the course.
2023-10-06 14:27:31 +02:00
8c2d8208b2 Link blog post from README.md (#1291)
I hope the blog post can help shed more light on why we wrote the course
and how it has been used at Google.

I'm not sure if "Press" is the best title, but I hope to link other
articles later from this section at a later point.
2023-10-04 13:01:02 +02:00
4815264e2d Add mdbook-course to handle parsing frontmatter (#1224)
In v2 of the course, I'd like to include an estimate of the time to be
spent on each segment in the Markdown file. I think a good place for
such metadata is in the frontmatter.

For review purposes, though, I just want to display that information.
So, this is a start at a new mdbook preprocessor that just separates out
the frontmatter and includes it in a `<pre>` block. Eventually, I'd like
to parse it and put the time in the speaker notes.

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-09-20 10:01:53 -04:00
cabf98be72 remove $ from code blocks in README (#951) 2023-07-10 22:52:00 +00:00
6b17bc47b1 Explicitly ask people to clone the repository (#808)
This was a question in #666.
2023-06-13 11:01:12 +00:00
09feef995a Mention symlinks on Windows (#760)
* Mention symlinks on Windows

* Update README.md

Reformatting as `dprint` suggests.

---------

Co-authored-by: Martin Geisler <martin@geisler.net>
2023-06-02 12:46:11 +00:00
aaca44f62b Format files with dprint (#711)
The dprint formatter is a flexible system which will use sandboxed
WebAssembly formatters to format our code (mostly: it calls out to
`rustfmt` for Rust code).

A particularly interesting feature is that dprint can format Rust code
blocks in the Markdown files. However, before we turn that on, we need
to have a way to normalize the Markdown text as it is extracted[1].
That is so that the word put into the translations is kept after the
reformatting.

[1]: https://github.com/google/mdbook-i18n-helpers/issues/19
2023-05-30 17:04:19 +02:00
366e24360e Add instructions to build translations (#669)
* Add instructions to build translations

* Update README.md

---------

Co-authored-by: Martin Geisler <mgeisler@google.com>
2023-05-24 11:39:49 -07:00
490b20e245 Link badges to the main branch (#636)
This is the only branch for which there is any expectation of
stability, so it makes sense to send people here.
2023-05-15 18:12:10 -04:00
e9be072190 Upgrade mdbook-i18n-helpers link (#626) 2023-05-11 09:55:43 -04:00
bbbc0601a9 Fix broken README links (#629)
Links inside the course are automatically turned into `.html` by
mdbook, but this is a regular README and so we need proper links.
2023-05-11 08:37:35 -04:00
00664d82b8 Fixes in the README (#623) 2023-05-09 13:43:29 +01:00
3b21053ff2 Cleanup references to "Day 4" (#603)
* Align outline with new spin-off course structure

With the new structure, the section on Android is a spin-off course
from the main 3-day course on Rust Fundamentals. The Bare-metal and
Concurrency days are spin-off courses in the same way.

* Explain new course structure

* Align Bare-Metal welcome page with other deep dives

* Merge Day 4 page into Course Structure page

* Remove Day 4 Welcome page

This aligns the Concurrency in Rust section with the Bare-Metal Rust
deep dive.

* Show subsections for Android deep dive

This aligns the Rust in Android section with the other deep dives.

* Clean up welcome page and README

We now cover async Rust and the course is no longer a four day course.

* Remove reference to the old Day 4

* Remove Day 4 references from exercises
2023-05-02 08:02:28 +02:00
b6f5ba1af0 Run exerciser as mdbook renderer. 2023-04-05 16:28:07 +01:00
49bf110b31 Use mdbook-i18n-helpers crate (#552)
The i18n-helpers are now available as a stand-alone crate:
https://crates.io/crates/mdbook-i18n-helpers.

Because we cache the Rust binaries in our GitHub workflows, I bumped
the cache prefix to ensure we use a clean cache. Otherwise, Cargo
won’t install the new binaries in mdbook-i18n-helpers because it sees
the old ones from this repository.
2023-04-05 16:08:11 +02:00
64340562ea Add badges to README and welcome page (#481) 2023-03-07 12:45:00 +00:00
1821a3fd12 Make i18n-helpers a requirement (#461)
* Make i18n-helpers a requirement

* Skip mdbook-gettext for mdbook-xgettext

* Gettext finds PO file based on `book.language`

* Update workflow

No need to set `preprocessor.gettext.po-file`.

---------

Co-authored-by: Jooyung Han <jooyung@google.com>
2023-02-28 22:05:09 +09:00
571c87283d Explain how the course can be used
From a discussion on Twitter:
https://twitter.com/bluxte/status/1610297443324727298.
2023-01-03 16:55:33 +01:00
68b9d6c0e2 Add link to course material 2022-12-21 18:37:55 +01:00
c212a473ba Publish Comprehensive Rust 🦀 2022-12-21 16:38:28 +01:00