Fixed privacy plugin not handling URL-encoded pathnames

This commit is contained in:
squidfunk 2024-02-24 14:14:13 +07:00
parent 10a97aa72f
commit ca7e9523fd
No known key found for this signature in database
GPG Key ID: 5ED40BC4F9C436DF
2 changed files with 4 additions and 4 deletions

View File

@ -37,7 +37,7 @@ from mkdocs.plugins import BasePlugin, event_priority
from mkdocs.structure.files import File, Files
from mkdocs.utils import is_error_template
from re import Match
from urllib.parse import ParseResult as URL, urlparse
from urllib.parse import ParseResult as URL, urlparse, unquote
from xml.etree.ElementTree import Element, tostring
from .config import PrivacyConfig
@ -515,7 +515,7 @@ class PrivacyPlugin(BasePlugin[PrivacyConfig]):
# Create a file for the given path
def _path_to_file(self, path: str, config: MkDocsConfig):
return File(
posixpath.join(self.config.assets_fetch_dir, path),
posixpath.join(self.config.assets_fetch_dir, unquote(path)),
os.path.abspath(self.config.cache_dir),
config.site_dir,
False

View File

@ -37,7 +37,7 @@ from mkdocs.plugins import BasePlugin, event_priority
from mkdocs.structure.files import File, Files
from mkdocs.utils import is_error_template
from re import Match
from urllib.parse import ParseResult as URL, urlparse
from urllib.parse import ParseResult as URL, urlparse, unquote
from xml.etree.ElementTree import Element, tostring
from .config import PrivacyConfig
@ -515,7 +515,7 @@ class PrivacyPlugin(BasePlugin[PrivacyConfig]):
# Create a file for the given path
def _path_to_file(self, path: str, config: MkDocsConfig):
return File(
posixpath.join(self.config.assets_fetch_dir, path),
posixpath.join(self.config.assets_fetch_dir, unquote(path)),
os.path.abspath(self.config.cache_dir),
config.site_dir,
False