mdbook/guide/src
Eric Huss 15c93b56ed Add support for fragment redirects
This adds the ability to redirect URLs with `#` fragments. This is
useful when section headers get renamed or moved to other pages.

This works both for deleted pages and existing pages.

The implementation requires the use of JavaScript in order to manipulate
the location. (Ideally this would be handled on the server side.)

This also makes it so that deleted page redirects preserve the fragment
ID. Previously if you had a deleted page redirect, and the user went to
something like `page.html#foo`, it would redirect to `bar.html` without
the fragment. I think preserving the fragment is probably a better
behavior. If the new page doesn't have the fragment ID, then no harm is
really done. This is technically an open redirect, but I don't think
that there is too much danger with preserving a fragment ID?
2025-07-08 15:37:46 -07:00
..
cli Merge pull request #2325 from ehuss/poll-watcher 2024-05-13 20:54:36 +00:00
for_developers Add a real example of remove-emphasis 2024-11-02 15:41:55 -07:00
format Add support for fragment redirects 2025-07-08 15:37:46 -07:00
guide Update dependencies 2025-05-23 07:55:10 -07:00
misc Update documentation 2021-12-19 20:26:37 -08:00
404.md Rename book-example to guide (#1336) 2020-09-23 03:16:09 +02:00
continuous-integration.md Update to 0.4.51 2025-05-26 11:01:12 -07:00
README.md Update documentation 2021-12-19 20:26:37 -08:00
SUMMARY.md Update documentation 2021-12-19 20:26:37 -08:00

Introduction

mdBook is a command line tool to create books with Markdown. It is ideal for creating product or API documentation, tutorials, course materials or anything that requires a clean, easily navigable and customizable presentation.

  • Lightweight Markdown syntax helps you focus more on your content
  • Integrated search support
  • Color syntax highlighting for code blocks for many different languages
  • Theme files allow customizing the formatting of the output
  • Preprocessors can provide extensions for custom syntax and modifying content
  • Backends can render the output to multiple formats
  • Written in Rust for speed, safety, and simplicity
  • Automated testing of Rust code samples

This guide is an example of what mdBook produces. mdBook is used by the Rust programming language project, and The Rust Programming Language book is another fine example of mdBook in action.

Contributing

mdBook is free and open source. You can find the source code on GitHub and issues and feature requests can be posted on the GitHub issue tracker. mdBook relies on the community to fix bugs and add features: if you'd like to contribute, please read the CONTRIBUTING guide and consider opening a pull request.

License

The mdBook source and documentation are released under the Mozilla Public License v2.0.