-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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 with hex encoded characters do not work (specifically %20) #1670
Comments
There is some disagreement about that, even among versions of the reference implementation. However...
That is true and a real concern. Personally, I never use spaces in my paths and generally consider them a bad idea. But of course, others do use spaces and MkDocs should support that. And you are correct, the way to address this is to...
I suppose we should also be encoding the URLs that we generate. |
@waylan there's a reason I put "valid" in quotes :-). On output the links seem to be correctly encoded as far as I've checked, Wrt a fix: it isn't quite clear to me if there are any performance concerns if there are not, then simply decoding all paths before tacking on the directory and so on, would be the simple fix (and essentially what the money patch I'm using right now does). |
Encode URLs of all internal documents (to acocunt for spaced in filenames, etc). Then unencode Markdown links to internal pages before confirming existance, etc. Fixes mkdocs#1670.
Encode URLs of all internal documents (to acocunt for spaced in filenames, etc). Then unencode Markdown links to internal pages before confirming existance, etc. Fixes mkdocs#1670.
Encode URLs of all internal documents (to account for spaces in filenames, etc). Then unencode Markdown links to internal pages before confirming existence, etc. Fixes #1670.
For the app Vespucci (see vespucci.io) we use mkdocs to create the website and a pegdown based system to use the same markdown files for on device documentation.
For various reasons the file names of the individual documents contain spaces and it would be difficult to avoid this. Inter document links work with no issue on device by encoding the spaces as %20, however this does not work with mkdocs because the logic in https://github.com/mkdocs/mkdocs/blob/master/mkdocs/structure/pages.py line 217 does not decode the path before checking if the corresponding file exists.
Naturally the same issue exists for other hex encoded characters and for using "+" as a space replacement.
PS: yes, I know it works if one does not encode the spaces, however that is not "valid" markdown and causes issues with other markdown parsers, for example pegdown.
The text was updated successfully, but these errors were encountered: