-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
Relative path link with ':ignore' dosen't work #1929
Comments
I think, this part has some probrem... In if (
!isAbsolutePath(href) && // -> true
!compilerClass._matchNotCompileLink(href) && // -> true
!config.ignore // -> false
) {
/* in this case: this part will not run */
if (href === compilerClass.config.homepage) {
href = 'README';
}
href = router.toURL(href, null, router.getCurrentPath()); // Relative path resolving to absolute path?
} else {
/* in this case: this part will run */
if (!isAbsolutePath(href) && href.slice(0, 2) === './') {
// -> true -> true
/* in this case: this part will run */
href =
document.URL.replace(/\/(?!.*\/).*/, '/').replace('#/./', '') + href;
// Remove from last '/' to end of URL, and reemove '#/./' (for compile ignored link) ?
}
// for 'mailto:' link process?
// ...
} About this part: href =
document.URL.replace(/\/(?!.*\/).*/, '/').replace('#/./', '') + href;
// Remove string from last '/', remove '#/./' (for compile ignored link) ? If current document URL: document.URL
// -> http://localhost:3000/#/page/any_doc
document.URL.replace(/\/(?!.*\/).*/, '/').replace('#/./', '')
// -> http://localhost:3000/#/page/
href
// -> ./any_file.pdf
document.URL.replace(/\/(?!.*\/).*/, '/').replace('#/./', '') + href
// -> http://localhost:3000/#/page/./any_file.pdf
// (but should be: http://localhost:3000/page/any_file.pdf) |
I think we should be letting the browser handle URLs natively. F.e. maybe we can use Does URL support having |
Bug Report
As far as I know, there are no same issues on here, no same questions on StackOverflow.
Sorry if already exist same one.
Steps to reproduce
index.html
:any_doc.md
:Make any PDF file as
docs/page/any_file.pdf
Access to
http://localhost:3000/#/page/any_doc
What is current behaviour
The link follows
http://localhost:3000/#/page/./any_file.pdf
It looks
':ignore'
(no compile option) and relative path resolving are not works.What is the expected behaviour
The link follows
http://localhost:3000/page/any_file.pdf
Other relevant information
Bug does still occur when all/other plugins are disabled?
Your OS: Linux Mint 20.3 Uma
Node.js version: 16.16.0
npm/yarn version: 9.1.2
Browser version: Brave 1.45.127 Chromium: 107.0.5304.110(Official Build)
Docsify version: 4.13.0
Docsify plugins: none (running in default)
Please create a reproducible sandbox
Mention the docsify version in which this bug was not present (if any)
Supplement
I tried specifying absolute path like this:
It works on local environment. But on GitHub pages, not works.
On local environment:
follows:
http://localhost:3000/page/any_file.pdf
On GitHub pages (github.io):
follows:
https://{user_name}.github.io/page/any_file.pdf
should be:
https://{user_name}.github.io/{repo_name}/page/any_file.pdf
The text was updated successfully, but these errors were encountered: