1
0
mirror of https://github.com/google/comprehensive-rust.git synced 2024-12-13 13:49:13 +02:00
Commit Graph

26 Commits

Author SHA1 Message Date
Martin Geisler
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
Henri F
80b214117e
Update README.md with mdbook-pandoc install (#1975) 2024-04-12 11:02:03 -04:00
Dustin J. Mitchell
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
Dustin J. Mitchell
5d9ab5f239
Fix Chromium link in README.md (#1812)
Fixes #1806.
2024-02-12 15:24:24 +00:00
Adrian Taylor
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
Eric Ngoiya
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
Martin Geisler
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
Martin Geisler
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
Dustin J. Mitchell
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
Sharun
cabf98be72
remove $ from code blocks in README (#951) 2023-07-10 22:52:00 +00:00
Martin Geisler
6b17bc47b1
Explicitly ask people to clone the repository (#808)
This was a question in #666.
2023-06-13 11:01:12 +00:00
Mauve
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
Martin Geisler
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
Per Larsen
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
Martin Geisler
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
Dustin J. Mitchell
e9be072190
Upgrade mdbook-i18n-helpers link (#626) 2023-05-11 09:55:43 -04:00
Martin Geisler
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
rbehjati
00664d82b8
Fixes in the README (#623) 2023-05-09 13:43:29 +01:00
Martin Geisler
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
Andrew Walbran
b6f5ba1af0 Run exerciser as mdbook renderer. 2023-04-05 16:28:07 +01:00
Martin Geisler
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
Martin Geisler
64340562ea
Add badges to README and welcome page (#481) 2023-03-07 12:45:00 +00:00
Jooyung Han
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
Martin Geisler
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
Martin Geisler
68b9d6c0e2
Add link to course material 2022-12-21 18:37:55 +01:00
Martin Geisler
c212a473ba Publish Comprehensive Rust 🦀 2022-12-21 16:38:28 +01:00