···11+Minato City, Tokyo, Japan.jpg, David Kernan, CC BY 4.0 <https://creativecommons.org/licenses/by/4.0>, via Wikimedia Commons, <https://commons.wikimedia.org/wiki/File:Minato_City,_Tokyo,_Japan.jpg>
···19192. Install the preprocessor:
20202121 ```
2222- cargo install mdbookkit --features rustdoc-link
2222+ cargo install mdbook-rustdoc-links
2323 ```
24242525 Alternatively, you may obtain precompiled binaries from [GitHub
···3535[book]
3636title = "My Book"
37373838-[preprocessor.rustdoc-link]
3939-# mdBook will run `mdbook-rustdoc-link`
3838+[preprocessor.rustdoc-links]
3939+# mdBook will execute the command `mdbook-rustdoc-links`
4040after = ["links"]
4141# mdBook will run this preprocessor after the default `links` preprocessor.
4242# This is recommended. It allows the preprocessor to see text embedded
···79798080> [!TIP]
8181>
8282-> `mdbook-rustdoc-link` makes use of rust-analyzer's ["Open Docs"][open-docs] feature,
8282+> `mdbook-rustdoc-links` makes use of rust-analyzer's ["Open Docs"][open-docs] feature,
8383> which resolves links to documentation given a symbol.
8484>
8585> Items from `std` will generate links to <https://doc.rust-lang.org>, while items from
···9090- See the full list of [supported syntax](supported-syntax.md).
9191- Understand [how the preprocessor resolves links](name-resolution.md) under the hood.
9292- Check out [available configuration options](configuration.md).
9393-- Learn about some [known issues and limitations](known-issues.md).
9393+- Learn about [known issues and limitations](known-issues.md).
94949595<!-- prettier-ignore-start -->
9696
···33assertion_line: 61
44expression: output
55---
66-# mdbook-rustdoc-link
66+# mdbook-rustdoc-links
7788<div class="hidden">
991010**For best results, view this page at
1111-<https://tonywu6.github.io/mdbookkit/rustdoc-link>.**
1111+<https://tonywu6.github.io/mdbookkit/rustdoc-links>.**
12121313</div>
1414···50505151For **writing documentation** —
52525353-- To learn more about how the preprocessor resolves items into links, including
5454- [feature-gated items](name-resolution.md#feature-gated-items), see
5555- [Name resolution](name-resolution.md).
5656-- To learn how to link to additional items such as
5353+- [Supported syntax](supported-syntax.md): Full list of link syntax with examples. Know
5454+ how to link to additional items such as
5755 [functions, macros](supported-syntax.md#functions-and-macros), and
5858- [implementors](supported-syntax.md#implementors-and-fully-qualified-syntax), see
5959- [Supported syntax](supported-syntax.md).
5656+ [implementors](supported-syntax.md#implementors-and-fully-qualified-syntax).
5757+5858+- [Name resolution](name-resolution.md): Understand how the preprocessor finds Rust
5959+ items, including
6060+ [when items are gated behind features](name-resolution.md#feature-gated-items).
60616162For **making the preprocessor work with your project** —
62636363-- If you use [Cargo workspaces][workspaces], see specific instructions in
6464- [Workspace layout](workspace-layout.md).
6565-- If you are working on a large project, and processing is taking a long time, see the
6666- discussion in [Caching](caching.md).
6464+- [Workspace layout](workspace-layout.md): Setup and options suitable for [Cargo
6565+ workspaces][workspaces].
6666+6767+- [Caching](caching.md): If you are working on a large project and processing is taking
6868+ a long time.
67696870For **additional usage information** —
69717070-- You can use this as a standalone command line tool: see
7171- [Standalone usage](standalone-usage.md).
7272-- For tips on using this in CI, see [Continuous integration](continuous-integration.md).
7373-- For all available options and how to set them, see [Configuration](configuration.md).
7474-- Finally, review [Known issues](known-issues.md) and limitations.
7272+- [Standalone usage](standalone-usage.md): Use the preprocessor as a standalone command
7373+ line tool.
7474+7575+- [Continuous integration](continuous-integration.md): Information for running the
7676+ preprocessor in CI environments, including
7777+ [logging](continuous-integration.md#logging) and
7878+ [failing a build when there are bad links](continuous-integration.md#error-handling).
7979+8080+- [Configuration](configuration.md): List of available options.
8181+8282+- [Known issues](known-issues.md) and limitations.
75837684Happy linking!
7785
···7788## Performance
991010-`mdbook-rustdoc-link` itself doesn't need much processing power, but it invokes
1010+`mdbook-rustdoc-links` itself doesn't need much processing power, but it invokes
1111rust-analyzer, which does a full scan of your workspace. The larger your workspace is,
1212the longer mdBook will have to wait for the preprocessor. This is the source of the
1313majority of the run time.
···4545 - The correct link is
4646 [https://docs.rs/tokio-macros/2.5.0/tokio_macros/~~macro~~attr.main.html][tokio::main]
47474848-### Trait items
4848+### Implemented items with the same name
49495050Rust allows methods to have the same name if they are from different traits, and types
5151can implement the same trait multiple times if the trait is generic. All such methods
···8383## Sites other than docs.rs
84848585Currently, items from crates other than `std` always generate links that point to
8686-<https://docs.rs>. `mdbook-rustdoc-link` does not yet support configuring alternative
8787-URL prefixes.
8686+<https://docs.rs>. The preprocessor does not yet support configuring alternative URL
8787+prefixes.
88888989## Wrong line numbers in diagnostics
9090···101101102102This is an unfortunate limitation with mdBook's preprocessor architecture. Preprocessors
103103are run sequentially, with the next preprocessor receiving Markdown source rendered by
104104-the previous one. If preprocessors running before `mdbook-rustdoc-link` modify Markdown
104104+the previous one. If preprocessors running before the preprocessor modify Markdown
105105source in such ways that shift lines around, then the line numbers will look incorrect.
106106107107Unless mdBook somehow gains [source map][sourcemap] support, this problem is unlikely to
···2828 │ - The correct link is
2929 │ [https://docs.rs/tokio-macros/2.5.0/tokio_macros/~~macro~~attr.main.html][tokio::main]
3030 │
3131- │ ### Trait items
3131+ │ ### Implemented items with the same name
3232 │
3333 │ Rust allows methods to have the same name if they are from different traits, and types
3434 │ can implement the same trait multiple times if the trait is generic. All such methods
···88<div class="hidden">
991010**For best results, view this page at
1111-<https://tonywu6.github.io/mdbookkit/rustdoc-link/supported-syntax>.**
1111+<https://tonywu6.github.io/mdbookkit/rustdoc-links/supported-syntax>.**
12121313</div>
1414
···11# Features
2233-- [Permalinks](#permalinks)
44-- [Repo auto-discovery](#repo-auto-discovery)
55-- [Link validation](#link-validation)
66-73## Permalinks
8495Simply use **relative paths** to link to any file in your source tree, and the
1010-preprocessor will convert them to GitHub permalinks.
66+preprocessor will convert them to permalinks.
117128> ```md
139> This project is dual licensed under the
···1814> This project is dual licensed under the
1915> [Apache License, Version 2.0](../../../LICENSE-APACHE.md) and the
2016> [MIT (Expat) License](../../../LICENSE-MIT.md).
2121-2222-Permalinks use the **tag name or commit SHA** of HEAD at build time, so you get a
2323-rendered book with intra-repo links that are always _correct_ for that point in time.
24172518> [!TIP]
2619>
2727-> Linking by path is cool! Not only is it [well-supported by
2828-> GitHub][github-relative-links], but editors like VS Code also provide smart features
2020+> Not only is linking by paths well-supported by platforms such as
2121+> [GitHub][github-relative-links], but editors like VS Code also provide smart features
2922> like [path completions][vscode-path-completions] and [link
3023> validation][link-validation].
31243232-URL fragments are preserved:
2525+Permalinks are **versioned using the tag name or hash** of the commit from which the
2626+book was built. Your links remain consistent with their source commit even as content in
2727+your repository changes over time.
2828+2929+URL fragments are preserved. For example, you may use fragments to link to specific
3030+lines, if your Git hosting provider supports it:
33313432> ```md
3533> This book uses [esbuild] to
3636-> [preprocess its style sheet](../../app/build/build.ts#L13-L24).
3434+> [preprocess its style sheet](../../app/build/build.ts#L13-25).
3735> ```
3836>
3937> This book uses [esbuild] to
4040-> [preprocess its style sheet](../../app/build/build.ts#L13-L24).
3838+> [preprocess its style sheet](../../app/build/build.ts#L13-25).
41394240By default, links to files under your book's `src/` directory are not converted, since
4341mdBook already [copies them to build output][mdbook-src-build], but this is configurable
4442using the [`always-link`](configuration.md#always-link) option.
45434646-## Repo auto-discovery
4444+## Repo URL auto-discovery
47454848-To know what GitHub repository to link to, the preprocessor looks at the following
4949-places, in order:
4646+To determine the base URL of the generated permalinks, the preprocessor looks at the
4747+following places and uses the first one it finds:
504851491. The [`output.html.git-repository-url`] option in your `book.toml`
52502. The URL of a Git remote named `origin`[^1]
···5452> [!TIP]
5553>
5654> For Git remotes, both HTTP URLs and "scp-like" URIs (`git@github.com:org/repo.git`)
5757-> are supported, thanks to the [`gix_url`] crate.
5555+> are supported.
5656+5757+Alternatively, you may configure a custom URL format using the
5858+[`repo-url-template`](configuration.md#repo-url-template) option.
5959+6060+## Markdown images
6161+6262+Providers such as GitHub support two types of permalinks:
6363+6464+- a `tree` or `blob` URL that opens the file's webpage for viewing
6565+- a `raw` URL that directly serves the file's content, suitable for embedding or
6666+ downloading
58675959-If you use Git but not GitHub, you can configure a custom URL pattern using the
6060-[`repo-url-template`](configuration.md#repo-url-template) option. For example:
6868+The preprocessor detects whether a path is used within a clickable link or an image and
6969+selects the most appropriate type of URL to use. For example, the following snippet
7070+creates an image wrapped in a clickable link which opens the image's page on GitHub:
61716262-```toml
6363-[preprocessor.link-forever]
6464-repo-url-template = "https://gitlab.haskell.org/ghc/ghc/-/tree/{ref}/{path}"
6565-```
7272+> ```md
7373+> [![Minato City][minato-city]][minato-city]
7474+>
7575+> [minato-city]: /crates/mdbook-permalinks/src/tests/Minato_City,_Tokyo,_Japan.jpg
7676+> ```
7777+>
7878+> [![Minato City][minato-city]][minato-city]
7979+>
8080+> [minato-city]: /crates/mdbook-permalinks/src/tests/Minato_City,_Tokyo,_Japan.jpg
66816782## Link validation
6883···80958196</figure>
82978383-> [!NOTE]
8484->
8585-> Link validations are only supported for path-based links. For more comprehensive link
8686-> checking, look to projects like [`mdbook-linkcheck`].
8787-8898<!-- prettier-ignore-start -->
89999090-[`mdbook-linkcheck`]: https://github.com/Michael-F-Bryan/mdbook-linkcheck
91100[`output.html.git-repository-url`]: https://rust-lang.github.io/mdBook/format/configuration/renderers.html#html-renderer-options
92101[esbuild]: https://esbuild.github.io
93102[github-relative-links]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#relative-links
+60
docs/src/permalinks/getting-started.md
···11+# Getting started
22+33+## Install
44+55+```
66+cargo install mdbook-permalinks
77+```
88+99+Alternatively, you may obtain precompiled binaries from [GitHub releases][gh-releases].
1010+1111+## Configure
1212+1313+Configure your `book.toml` to use the installed program as a [preprocessor]:
1414+1515+```toml
1616+[book]
1717+title = "My Book"
1818+1919+[output.html]
2020+git-repository-url = "https://github.com/me/my-awesome-crate"
2121+2222+[preprocessor.permalinks]
2323+```
2424+2525+- The `git-repository-url` option in the `[output.html]` table controls the [icon link
2626+ that appears in the menu bar in the top-right corner][git-repository-url]. If
2727+ configured, the preprocessor will reuse this link as the base URL for the generated
2828+ permalinks.
2929+3030+- The `[preprocessor.permalinks]` table enables the preprocessor. mdBook will execute
3131+ the command `mdbook-permalinks`.
3232+3333+## Write
3434+3535+Link to files in your Git repository using the relative paths from your Markdown source
3636+files to the files to link. For example:
3737+3838+```md
3939+See [`book.toml`](../../book.toml) for an example config.
4040+```
4141+4242+<figure class="fig-text">
4343+4444+See [`book.toml`](../../book.toml) for an example config.
4545+4646+</figure>
4747+4848+## Next steps
4949+5050+- Check out [available configuration options](configuration.md).
5151+ <!-- TODO: including options to ... -->
5252+- Learn about [known issues and limitations](known-issues.md).
5353+5454+<!-- prettier-ignore-start -->
5555+5656+[gh-releases]: https://github.com/tonywu6/mdbookkit/releases
5757+[git-repository-url]: https://rust-lang.github.io/mdBook/format/configuration/renderers.html#html-renderer-options
5858+[preprocessor]: https://rust-lang.github.io/mdBook/format/configuration/preprocessors.html
5959+6060+<!-- prettier-ignore-end -->
+12-43
docs/src/permalinks/index.md
···11-# mdbook-link-forever
11+# mdbook-permalinks
2233-mdBook [preprocessor] that takes care of linking to files in your Git repository.
33+Create permalinks to files in your Git repository just by using their paths.
4455-`mdbook-link-forever` rewrites path-based links to version-pinned GitHub permalinks. No
66-more hard-coded GitHub URLs.
55+Link to source code, examples, configuration files, etc., in your [mdBook]
66+documentation, without having to hardcode URLs or worry about broken links. You simply
77+write ...
7889```md
99-Here's a link to the [Cargo workspace manifest](../../../Cargo.toml).
1010+Here is a link to the project's [Cargo.toml](../../../Cargo.toml).
1011```
11121313+... and you get:
1414+1215<figure class="fig-text">
13161414-Here's a link to the [Cargo workspace manifest](../../../Cargo.toml).
1717+Here is a link to the project's [Cargo.toml](../../../Cargo.toml).
15181619</figure>
17201818-- Versions are determined at build time. Supports both tags and commit hashes.
1919-- Because paths are readily accessible at build time, it also
2020- [validates](features.md#link-validation) them for you.
2121-2222-## Getting started
2323-2424-1. Install this crate:
2121+## Overview
25222626- ```
2727- cargo install mdbookkit --features link-forever
2828- ```
2929-3030-2. Configure your `book.toml`:
3131-3232- ```toml
3333- [book]
3434- title = "My Book"
3535-3636- [output.html]
3737- git-repository-url = "https://github.com/me/my-awesome-crate"
3838- # will use this for permalinks
3939-4040- [preprocessor.link-forever]
4141- # mdBook will run `mdbook-link-forever`
4242- ```
4343-4444-3. Link to files using paths, like this:
4545-4646- ```md
4747- See [`book.toml`](../../book.toml#L44-L48) for an example config.
4848- ```
4949-5050- <figure class="fig-text">
5151-5252- See [`book.toml`](../../book.toml#L44-L48) for an example config.
5353-5454- </figure>
2323+<!-- TODO: -->
55245625## License
5726···60296130<!-- prettier-ignore-start -->
62316363-[preprocessor]: https://rust-lang.github.io/mdBook/format/configuration/preprocessors.html
3232+[mdBook]: https://rust-lang.github.io/mdBook/
64336534<!-- prettier-ignore-end -->
+128
docs/src/permalinks/more-ways-to-link.md
···11+# More ways to link
22+33+Linking by relative path should cover the majority of use cases. However, there are
44+cases where this may not work:
55+66+- When working with mdBook's `{{#include}}` directive, relative paths may become
77+ incorrect;
88+- Furthermore, the included document may also be intended for additional platforms,
99+ where path-based links are not supported.
1010+1111+The preprocessor supports some alternative link formats for such scenarios.
1212+1313+```mermaid
1414+stateDiagram-v2
1515+ start : Is the text included using {{#include}}
1616+ included : Is the file being included also published elsewhere <br>(e.g. crates.io)
1717+ external : The link points to ...
1818+ relativePath : Use a relative path
1919+ absolutePath : Use an absolute path
2020+ bookUrl : Hardcode the URL to your <br>book's website
2121+ repoUrl : Hardcode the URL to your <br>Git remote
2222+2323+ start --> included: Yes
2424+ start --> relativePath: No
2525+ included --> external: Yes
2626+ included --> absolutePath: No
2727+ external --> bookUrl: a book page or <br>a file in the book
2828+ external --> repoUrl: a file in your repo <br>outside the book
2929+```
3030+3131+## Using absolute paths
3232+3333+mdBook provides the [`{{#include}}` directive][mdbook-include] which allows you to
3434+include the content of other text files directly in book pages. The preprocessor cannot
3535+resolve links relative to the file being included. In this case, relative paths could be
3636+valid for the source file (and therefore valid for e.g. GitHub) but invalid for the
3737+book.
3838+3939+> For example, if `chapters/1.md` includes `shared/info.md`, and `shared/info.md`
4040+> contains a link to `./image.png` (i.e. `shared/image.png`), then the preprocessor can
4141+> only resolve `./image.png` starting from `chapters/1.md` (i.e. `chapters/image.png`),
4242+> which is incorrect.
4343+4444+Instead of using relative paths, you may use paths that **start with a `/`**. Paths that
4545+start with a `/` are resolved **relative to the root of your repository**:
4646+4747+> ```md
4848+> The [home page](index.md) simply embeds the package
4949+> [README](/crates/mdbook-permalinks/README.md).
5050+> ```
5151+>
5252+> The [home page](index.md) simply embeds the package
5353+> [README](/crates/mdbook-permalinks/README.md).
5454+5555+## Using URLs
5656+5757+In some situations, you cannot link using paths, and must fallback to full URLs. For
5858+example, you would like to reuse your package's `README.md` as your book's home page,
5959+where the `README.md` is also published to crates.io, where path-based links will become
6060+invalid.
6161+6262+### Using URLs to HEAD
6363+6464+You can create permalinks to files in your source tree by writing URLs where the
6565+commit/ref portion is **`HEAD`**, for example:
6666+6767+> ```md
6868+> [Cargo.toml](https://github.com/tonywu6/mdbookkit/raw/HEAD/Cargo.toml)
6969+> ```
7070+>
7171+> [Cargo.toml](https://github.com/tonywu6/mdbookkit/raw/HEAD/Cargo.toml)
7272+7373+- For your book, the preprocessor replaces `HEAD` with the tag name or commit hash at
7474+ build time. The link type (`tree`/`blob` or `raw`) is preserved.
7575+- For other sites, the link remains functional and will point to `HEAD`.
7676+- If, after parsing, the link's corresponding file path is inaccessible during build,
7777+ the preprocessor will emit a warning.
7878+7979+> [!IMPORTANT]
8080+>
8181+> The commit/ref must be exactly `HEAD`. **Other common refs such as `main` are not
8282+> processed.**
8383+8484+### Using URLs to your book
8585+8686+Finally, you can link to a page or file within your book using full URLs and the
8787+preprocessor will validate that the corresponding file is accessible.
8888+8989+To enable validation of book URLs, you must specify the URL prefix at which you will
9090+deploy your book via the [`book-url`](configuration.md#book-url) option:
9191+9292+```toml
9393+[preprocessor.permalinks]
9494+book-url = "https://example.org/"
9595+```
9696+9797+For each link that begins with this prefix, the preprocessor tests whether a matching
9898+file path is accessible:
9999+100100+1. The suffix `.html`, if present, is removed;
101101+102102+2. Depending on whether the resulting path contains a [trailing slash][trailing-slash],
103103+ the following candidate paths are tested:
104104+105105+ | | `path/to.doc` | `path/to.doc/` |
106106+ | :---------------------- | :-----------: | :------------: |
107107+ | `path/to.doc/index.md` | ✓ | ✓ |
108108+ | `path/to.doc/README.md` | ✓ | ✓ |
109109+ | `path/to.doc.md` | ✓ | |
110110+ | `path/to.doc` | ✓ | |
111111+112112+- If none of the paths are accessible for a URL, the preprocessor will emit a warning.
113113+- For your book, the preprocessor rewrites the URL as a relative path (so that mdBook
114114+ processes it as usual).
115115+- For other sites, the link remains functional and will link to your book's website.
116116+117117+<figure>
118118+119119+
120120+121121+</figure>
122122+123123+<!-- prettier-ignore-start -->
124124+125125+[mdbook-include]: https://rust-lang.github.io/mdBook/format/mdbook.html#including-files
126126+[trailing-slash]: https://github.com/slorber/trailing-slash-guide?tab=readme-ov-file#trailing-slash-guide
127127+128128+<!-- prettier-ignore-end -->
-90
docs/src/permalinks/working-with-include.md
···11-# Working with `{{#include}}`
22-33-mdBook provides an [`{{#include}}` directive][mdbook-include] for embedding files in
44-book pages. If the embedded content also contains path-based links, then some extra care
55-may be needed:
66-77-- The preprocessor does not resolve links relative to the file being included (because
88- it doesn't have enough information to do so). In this case, relative paths could be
99- valid for the source file (and therefore valid for e.g. GitHub) but invalid for the
1010- book.
1111-1212-- In some situations, you cannot use path-based links and you have to use full URLs.
1313- This could be because the included file is also intended for platforms that don't
1414- support paths as links.
1515-1616-This page describes some workarounds for linking in included files.
1717-1818-- [Using absolute paths](#using-absolute-paths)
1919-- [Extra feature: Using URLs to link to book pages](#extra-feature-using-urls-to-link-to-book-pages)
2020-2121-## Using absolute paths
2222-2323-To use paths as links in included content, you can use absolute paths that start with a
2424-`/`. Paths that start with a `/` are resolved relative to the root of your repository:
2525-2626-> ```md
2727-> Front page of this book is actually from
2828-> [the crate README](/crates/mdbookkit/README.md).
2929-> ```
3030->
3131-> Front page of this book is actually from
3232-> [the crate README](/crates/mdbookkit/README.md).
3333-3434-> [!TIP]
3535->
3636-> This is also the behavior both in [VS Code][vscode-path-completions] and on
3737-> [GitHub][github-relative-links].
3838-3939-## Extra feature: Using URLs to link to book pages
4040-4141-You may be in a situation where you have to use full URLs to link to your book rather
4242-than relying on paths.
4343-4444-> An example (that this project encountered) is including files that are also intended
4545-> for displaying on [crates.io][cargo-readme].
4646->
4747-> In this case, since other platforms like crates.io will not convert path-based `.md`
4848-> links to URLs, linking to book pages would require writing down full URLs to the
4949-> deployed book.
5050-5151-To mitigate this, you can use the [`book-url`](configuration.md#book-url) option.
5252-5353-In your `book.toml`, in the `[preprocessor.link-forever]` table, specify the URL prefix
5454-at which you will deploy your book:
5555-5656-```toml
5757-[preprocessor.link-forever]
5858-book-url = "https://example.org/"
5959-```
6060-6161-Then, in Markdown, you may use full URLs, for example:
6262-6363-> ```md
6464-> For a list of the crate's features, see [Feature flags](https://example.org/features).
6565-> ```
6666->
6767-> For a list of the crate's features, see [Feature flags](https://example.org/features).
6868-6969-Specifying `book-url` enables the preprocessor to check URLs to your book against local
7070-paths. If a URL does not have a corresponding `.md` file under your book's `src/`
7171-directory, the preprocessor will warn you:
7272-7373-<figure>
7474-7575-
7676-7777-</figure>
7878-7979-> [!NOTE]
8080->
8181-> `book-url` only enables validation, and is only for links to your book, not to GitHub.
8282-8383-<!-- prettier-ignore-start -->
8484-8585-[cargo-readme]: https://doc.rust-lang.org/cargo/reference/manifest.html#the-readme-field
8686-[github-relative-links]: https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#relative-links
8787-[mdbook-include]: https://rust-lang.github.io/mdBook/format/mdbook.html#including-files
8888-[vscode-path-completions]: https://code.visualstudio.com/docs/languages/markdown#_path-completions
8989-9090-<!-- prettier-ignore-end -->
+1-1
docs/src/rustdoc-links/getting-started.md
···8585- See the full list of [supported syntax](supported-syntax.md).
8686- Understand [how the preprocessor resolves links](name-resolution.md) under the hood.
8787- Check out [available configuration options](configuration.md).
8888-- Learn about some [known issues and limitations](known-issues.md).
8888+- Learn about [known issues and limitations](known-issues.md).
89899090<!-- prettier-ignore-start -->
9191
+7-2
docs/src/rustdoc-links/index.md
···11-# mdbook-rustdoc-link
11+# mdbook-rustdoc-links
2233<div class="hidden">
44···4949 how to link to additional items such as
5050 [functions, macros](supported-syntax.md#functions-and-macros), and
5151 [implementors](supported-syntax.md#implementors-and-fully-qualified-syntax).
5252-- [Name resolution](name-resolution.md): Understand how the preprocessor find Rust
5252+5353+- [Name resolution](name-resolution.md): Understand how the preprocessor finds Rust
5354 items, including
5455 [when items are gated behind features](name-resolution.md#feature-gated-items).
5556···57585859- [Workspace layout](workspace-layout.md): Setup and options suitable for [Cargo
5960 workspaces][workspaces].
6161+6062- [Caching](caching.md): If you are working on a large project and processing is taking
6163 a long time.
6264···64666567- [Standalone usage](standalone-usage.md): Use the preprocessor as a standalone command
6668 line tool.
6969+6770- [Continuous integration](continuous-integration.md): Information for running the
6871 preprocessor in CI environments, including
6972 [logging](continuous-integration.md#logging) and
7073 [failing a build when there are bad links](continuous-integration.md#error-handling).
7474+7175- [Configuration](configuration.md): List of available options.
7676+7277- [Known issues](known-issues.md) and limitations.
73787479Happy linking!