Giter Site home page Giter Site logo

Docusaurus v3 markdown links don't resolve correctly from index pages during build step when trailingSlash is set to false about docusaurus HOT 6 CLOSED

maxweisel avatar maxweisel commented on May 6, 2024
Docusaurus v3 markdown links don't resolve correctly from index pages during build step when trailingSlash is set to false

from docusaurus.

Comments (6)

maxweisel avatar maxweisel commented on May 6, 2024 1

Just saw the note about adding .md extensions. I'll use that. Thank you

from docusaurus.

slorber avatar slorber commented on May 6, 2024

Despite the error saying it was resolved as /cool-page it is in fact not.

There is nothing at /cool-page. For your link to work, it must be resolved as /docs/cool-page.

And trailingSlash has an impact on relative link resolution.


I'm sorry but your sandbox does not match your text description, which makes things confusing. Please try again by having the text and the sandbox being in sync.

For example your sandbox is using a relative path link (which we don't recommend because it's sensitive to trailingSlash setting changes)

[Cool page](../test2/cool-page)

While your text is using a relative reference to a markdown file

[Cool page](../cool-page.md) 

Those 2 are not the same at all, and will not resolve the same.


Most likely it's a mistake on your side, so I'm closing as can't repro. The behavior you see in your sandbox is the expected behavior.

from docusaurus.

maxweisel avatar maxweisel commented on May 6, 2024

The bug works the same regardless of the location of the page being linked. However, I've updated my repro to match the bug /exactly/.

from docusaurus.

slorber avatar slorber commented on May 6, 2024

I'm not sure if you expect me to do something, your sandbox now includes many other broken links due to removing other md files.

[Cool page](../cool-page)

[Cool page](../cool-page.md)

The 1st doesn't work, and it's expected because ../cool-page resolved from /docs/test resolves as /cool-page, a path that does not exist

The 2nd work because it's resolved as /test/cool-page, that exists.

I maintain that all this works as intended. If you still believe otherwise please create a minimal repro showing a single broken link being reported and explain why you think the error is a false positive.

Also make sure to properly understand how relative links work on the web (this is not a Docusaurus feature, it is how regular html pages and browsers work, we use the same resolution algo).

Also make sure to read that doc:

CleanShot 2024-01-09 at 16 29 52@2x

from docusaurus.

maxweisel avatar maxweisel commented on May 6, 2024

I'm still seeing this bug if an image links to a markdown file. This fails claiming the link is broken: [![Cool Page](https://docusaurus.io/img/docusaurus.svg)](../cool-page.md):

  Exhaustive list of all broken links found:
  - Broken link on source page path = /docs/test:
     -> linking to ../cool-page.md (resolved as: /cool-page.md)

As soon as I switch it to a text link, it works despite having the same link path.

I've updated the repro project here: https://codesandbox.io/p/devbox/runtime-pine-84xm8d

from docusaurus.

slorber avatar slorber commented on May 6, 2024

Can confirm the bug, related to resolving relative file paths when using an image.

Can reproduce this on our own website:

[text](./installation.mdx)

[![alt](/img/slash-introducing.svg)](./installation.mdx)

Only the first link resolves.

Definitively a bug. Track #9048 for the root cause and the solution. We can keep this issue closed.

from docusaurus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.