Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Links to resources in subfolders are not rewritten in index.html and print.html #789

Closed
sam701 opened this issue Sep 12, 2018 · 1 comment · Fixed by #871
Closed

Links to resources in subfolders are not rewritten in index.html and print.html #789

sam701 opened this issue Sep 12, 2018 · 1 comment · Fixed by #871

Comments

@sam701
Copy link

sam701 commented Sep 12, 2018

Here is my directory structure

SUMMARY.md
dir1/
  content.md
  picture.png

There is a link to picture.png in content.md:

![my picture](./picture.png)

After mdbook build these files contain <img src="./picture.png" alt="my picture">

  • book/index.html
  • book/print.html
  • book/dir1/content.html

This is correct for content.html but not for index.html and print.html. The image is not shown.

@MihaZupan
Copy link

Can confirm, images are broken when printing.

bors bot added a commit to rust-embedded/discovery that referenced this issue Oct 31, 2018
142: Attempt to fix broken image links in Discovery book r=therealprof a=adamgreen

This PR pools together PRs #130 and #131 from @ChouzArt and adds 2 more commits that I created to correct other failing links missed by the first 2 and to modify the Travis verification steps to skip the checking of print.html - @ChouzArt has previously pointed out that rust-lang/mdBook#789 causes mdbook to generate an incorrect print.html file when relative links are used in the book content. Skipping verification of print.html during Travis runs means that we will still have a bad image links in print.html but the main Discovery book pages will have working images again and they will show up here on GitHub as well. I realize that this isn't a perfect solution but I thought that people might find it better than the current situation.

The main reason I am creating this PR is to:
* See if it will pass Travis.
* Get people's feedback on this **half** solution.

If we decide to take this PR then there are a few other things that need to be done:
* Create a new issue to track the fact that we should revert this ignoring of print.html during link checking once the mdbook issue is resolved.
* Make a similar change to the [Bookself version of the Travis script](https://github.com/rust-embedded/bookshelf/blob/master/ci/script.sh).

I should also point out that running a `sed` script on print.html can fix most of the link issues that it contains so that the images will at least show up in a printout. Something like:
```console
cp book/print.html print.html
sed 's: src="\.\./assets/: src="assets/:g' <print.html >book/print.html
rm print.html
```

Co-authored-by: Carlos <gsolracchz@gmail.com>
Co-authored-by: Adam Green <adamgreen@users.noreply.github.com>
japaric added a commit to rust-embedded/book that referenced this issue Nov 4, 2018
to avoid errors caused by bug rust-lang/mdBook#789
njmartin10 pushed a commit to njmartin10/book that referenced this issue Nov 10, 2018
to avoid errors caused by bug rust-lang/mdBook#789
phansch added a commit to phansch/book-1 that referenced this issue Jan 27, 2020
rust-lang/mdBook#789 has been fixed and this was working locally without
the `ignore-url`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants