Fix browsing file names with percent-encoded @

This adds an encode method into the javascript code so that
users can browser the Godot docs for @GlobalScope and @GDScript.

The bug was mentioned in:
https://github.com/freeCodeCamp/devdocs/pull/1853

This adds the encoding on the frontend, rather than trying to override
filename generation in scrapers. It's possible that this will impact
other documentation sources, but I expect those would also need to have
encoded the @ as %40 in their own docs.

This doesn't use JS' encodeURI or encodeURIComponent because encodeURI
doesn't include @, and encodeURIComponent includes / which we don't
want. If there are other URL-reserved characters
that would be useful to encode, those should be easy enough to add to
the short method added here.
pull/2200/head
Jesse van Herk 9 months ago
parent 62e2723ca2
commit a21967518c

@ -71,9 +71,14 @@ app.models.Doc = class Doc extends app.Model {
return this.entry;
}
encodePath(path) {
return path.replace(/@/g, "%40");
}
findEntryByPathAndHash(path, hash) {
let entry;
if (hash && (entry = this.entries.findBy("path", `${path}#${hash}`))) {
let encodedPath = this.encodePath(path);
if (hash && (entry = this.entries.findBy("path", `${encodedPath}#${hash}`))) {
return entry;
} else if (path === "index") {
return this.toEntry();

Loading…
Cancel
Save