1
0
mirror of https://github.com/squidfunk/mkdocs-material.git synced 2025-02-06 14:14:23 +01:00

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.structure.files import File, Files
from mkdocs.utils import is_error_template from mkdocs.utils import is_error_template
from re import Match 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 xml.etree.ElementTree import Element, tostring
from .config import PrivacyConfig from .config import PrivacyConfig
@ -515,7 +515,7 @@ class PrivacyPlugin(BasePlugin[PrivacyConfig]):
# Create a file for the given path # Create a file for the given path
def _path_to_file(self, path: str, config: MkDocsConfig): def _path_to_file(self, path: str, config: MkDocsConfig):
return File( 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), os.path.abspath(self.config.cache_dir),
config.site_dir, config.site_dir,
False False

View File

@ -37,7 +37,7 @@ from mkdocs.plugins import BasePlugin, event_priority
from mkdocs.structure.files import File, Files from mkdocs.structure.files import File, Files
from mkdocs.utils import is_error_template from mkdocs.utils import is_error_template
from re import Match 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 xml.etree.ElementTree import Element, tostring
from .config import PrivacyConfig from .config import PrivacyConfig
@ -515,7 +515,7 @@ class PrivacyPlugin(BasePlugin[PrivacyConfig]):
# Create a file for the given path # Create a file for the given path
def _path_to_file(self, path: str, config: MkDocsConfig): def _path_to_file(self, path: str, config: MkDocsConfig):
return File( 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), os.path.abspath(self.config.cache_dir),
config.site_dir, config.site_dir,
False False