Update Docs CI with mdbook translation support (#516)

* Update Docs CI with mdbook translation support #514

* install mdbook with --rev
This commit is contained in:
Marco Godoy authored and GitHub committed 2022-08-04 10:26:04 -05:00
1 parent df5338f4e6
commit 9538cfe733
37 files changed
+151 -145

No files matched your search

@@ -20,12 +20,12 @@ There are 2 flavors of Props structs:
Owned Props are very simple – they don't borrow anything. Example:
```rust
{{#include ../../examples/component_owned_props.rs:Likes}}
{{#include ../../../examples/component_owned_props.rs:Likes}}
```
You can then pass prop values to the component the same way you would pass attributes to an element:
```rust
{{#include ../../examples/component_owned_props.rs:App}}
{{#include ../../../examples/component_owned_props.rs:App}}
```
![Screenshot: Likes component](./images/component_owned_props_screenshot.png)
@@ -37,13 +37,13 @@ Owning props works well if your props are easy to copy around – like a single
Rust allows for something more efficient – borrowing the String as a `&str` – this is what Borrowed Props are for!
```rust
{{#include ../../examples/component_borrowed_props.rs:TitleCard}}
{{#include ../../../examples/component_borrowed_props.rs:TitleCard}}
```
We can then use the component like this:
```rust
{{#include ../../examples/component_borrowed_props.rs:App}}
{{#include ../../../examples/component_borrowed_props.rs:App}}
```
![Screenshot: TitleCard component](./images/component_borrowed_props_screenshot.png)
@@ -57,13 +57,13 @@ The `#[derive(Props)]` macro has some features that let you customize the behavi
You can create optional fields by using the `Option<…>` type for a field:
```rust
{{#include ../../examples/component_props_options.rs:OptionalProps}}
{{#include ../../../examples/component_props_options.rs:OptionalProps}}
```
Then, you can choose to either provide them or not:
```rust
{{#include ../../examples/component_props_options.rs:OptionalProps_usage}}
{{#include ../../../examples/component_props_options.rs:OptionalProps_usage}}
```
### Explicitly Required `Option`s
@@ -71,13 +71,13 @@ Then, you can choose to either provide them or not:
If you want to explicitly require an `Option`, and not an optional prop, you can annotate it with `#[props(!optional)]`:
```rust
{{#include ../../examples/component_props_options.rs:ExplicitOption}}
{{#include ../../../examples/component_props_options.rs:ExplicitOption}}
```
Then, you have to explicitly pass either `Some("str")` or `None`:
```rust
{{#include ../../examples/component_props_options.rs:ExplicitOption_usage}}
{{#include ../../../examples/component_props_options.rs:ExplicitOption_usage}}
```
### Default Props
@@ -85,13 +85,13 @@ Then, you have to explicitly pass either `Some("str")` or `None`:
You can use `#[props(default = 42)]` to make a field optional and specify its default value:
```rust
{{#include ../../examples/component_props_options.rs:DefaultComponent}}
{{#include ../../../examples/component_props_options.rs:DefaultComponent}}
```
Then, similarly to optional props, you don't have to provide it:
```rust
{{#include ../../examples/component_props_options.rs:DefaultComponent_usage}}
{{#include ../../../examples/component_props_options.rs:DefaultComponent_usage}}
```
### Automatic Conversion with `.into`
@@ -99,13 +99,13 @@ Then, similarly to optional props, you don't have to provide it:
It is common for Rust functions to accept `impl Into<SomeType>` rather than just `SomeType` to support a wider range of parameters. If you want similar functionality with props, you can use `#[props(into)]`. For example, you could add it on a `String` prop – and `&str` will also be automatically accepted, as it can be converted into `String`:
```rust
{{#include ../../examples/component_props_options.rs:IntoComponent}}
{{#include ../../../examples/component_props_options.rs:IntoComponent}}
```
Then, you can use it so:
```rust
{{#include ../../examples/component_props_options.rs:IntoComponent_usage}}
{{#include ../../../examples/component_props_options.rs:IntoComponent_usage}}
```
## The `inline_props` macro