squidfunk / mkdocs-material

Documentation that simply works
https://squidfunk.github.io/mkdocs-material/
MIT License
20.65k stars 3.51k forks source link

Privacy plugin serve and build error. #4572

Closed tamasgt closed 1 year ago

tamasgt commented 1 year ago

Contribution guidelines

I've found a bug and checked that ...

Description

Hello,

this worked in a previous version. Now it throws an error.

Tamas

Expected behaviour

See in actual behavior.

Actual behaviour

mkdocs serve
INFO     -  Building documentation...
INFO     -  Cleaning site directory
WARNING  -  Couldn't create symbolic link 'assets/external/fonts.googleapis.com/css'
ERROR    -  Error building page 'index.md': [Errno 2] No such file or directory:
            '.cache\\plugin\\privacy\\assets\\external\\fonts.googleapis.com\\css'
FileNotFoundError: [Errno 2] No such file or directory: '.cache\\plugin\\privacy\\assets\\external\\fonts.googleapis.com\\css
mkdocs build
INFO     -  Cleaning site directory
INFO     -  Building documentation to directory: C:\Users\zzzz\source\GitHub\www\test-material\site
WARNING  -  Couldn't create symbolic link 'assets/external/fonts.googleapis.com/css'
ERROR    -  Error building page 'index.md': [Errno 2] No such file or directory:
            '.cache\\plugin\\privacy\\assets\\external\\fonts.googleapis.com\\css'
Traceback (most recent call last):
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\Scripts\mkdocs.exe\__main__.py", line 7, in <module>    
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\__main__.py", line 250, in build_command
    build.build(cfg, dirty=not clean)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\commands\build.py", line 329, in build    _build_page(file.page, config, doc_files, nav, env, dirty)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\commands\build.py", line 234, in _build_page
    output = config.plugins.run_event('post_page', output, page=page, config=config)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\plugins.py", line 517, in run_event   
    result = method(item, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\plugins\privacy\plugin.py", line 151, in on_post_page
    value.replace(raw, self._fetch(url, page.file, config)),
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\plugins\privacy\plugin.py", line 274, in _fetch
    file.copy_file()
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\structure\files.py", line 250, in copy_file
    utils.copy_file(self.abs_src_path, self.abs_dest_path)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\utils\__init__.py", line 170, in copy_file
    shutil.copyfile(source_path, output_path)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 254, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '.cache\\plugin\\privacy\\assets\\external\\fonts.googleapis.com\\css

Steps to reproduce

See in actual behavior.

Package versions

mkdocs: 1.4.1 mkdocs-material: 8.5.7+insiders.4.26.1

Configuration

site_name: Test Material

# Theme
theme:
  name: material
  #Font
  font:
    text: Roboto
    code: Roboto Mono

plugins:
  - search:
      lang: hu
  - privacy
  - blog

nav:
  - Home: index.md
  - Sample 1:
    - Page 1: sample-1/page-1.md
    - Page 2: sample-1/page-2.md
  - Sample 2:
    - Page 1: sample-2/page-1.md
    - Page 2: sample-2/page-2.md
  - Blog:
    - blog/index.md

System information

squidfunk commented 1 year ago

Thanks for reporting. Likely a regression from the latest refactoring that should be easy to fix.

squidfunk commented 1 year ago

@oprypin I'm a little confused. I see no apparent error when tracking back this line, which seems to be the cause of error (warning in output). path is deduced from file.abs_src_path, which should return OS-dependent slashes, right? Again, I'm having a hard time tracking this down since I'm not a Windows user, but maybe you see something jumping in your eye.

Edit: or does symlink resolution maybe not work correctly on Windows?

squidfunk commented 1 year ago

@tamasg can you please check whether the following file exists after running mkdocs build:

.cache\plugin\privacy\assets\external\fonts.googleapis.com\css.css

Mind the css.css at the end. Additionally, please run mkdocs build in verbose mode and paste the output here:

mkdocs build -v
tamasgt commented 1 year ago

@squidfunk yes, the file is created and exists after the build.

Snag_50d413

output:

PS C:\Users\zzzz\source\GitHub\www\test-material> mkdocs build -v
DEBUG    -  Loading configuration file: C:\Users\zzzz\source\GitHub\www\test-material\mkdocs.y
DEBUG    -  Loaded theme configuration for 'material' from
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\
            None, 'features': [], 'palette': {'primary': None, 'accent': None}, 'font': {'text
            'favicon': 'assets/images/favicon.png', 'static_templates': ['404.html']}
DEBUG    -  Config value: 'config_file_path' = 'C:\\Users\\zzzz\\source\\GitHub\\www\\test-mat
DEBUG    -  Config value: 'site_name' = 'Test Material'
DEBUG    -  Config value: 'nav' = [{'Home': 'index.md'}, {'Sample 1': [{'Page 1': 'sample-1/pa
            {'Sample 2': [{'Page 1': 'sample-2/page-1.md'}, {'Page 2': 'sample-2/page-2.md'}]}
DEBUG    -  Config value: 'pages' = None
DEBUG    -  Config value: 'site_url' = None
DEBUG    -  Config value: 'site_description' = None
DEBUG    -  Config value: 'site_author' = None
DEBUG    -  Config value: 'theme' = Theme(name='material',
            dirs=['C:\\Users\\zzzz\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-pac
            'C:\\Users\\zzzz\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\            'sitemap.xml'], name='material', locale=Locale('en'), language='en', direction=Non            None}, font={'text': 'Roboto', 'code': 'Roboto Mono'}, icon=None, favicon='assets/
DEBUG    -  Config value: 'docs_dir' = 'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\d
DEBUG    -  Config value: 'site_dir' = 'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\s
DEBUG    -  Config value: 'copyright' = None
DEBUG    -  Config value: 'google_analytics' = None
DEBUG    -  Config value: 'dev_addr' = _IpAddressValue(host='127.0.0.1', port=8000)
DEBUG    -  Config value: 'use_directory_urls' = True
DEBUG    -  Config value: 'repo_url' = None
DEBUG    -  Config value: 'repo_name' = None
DEBUG    -  Config value: 'edit_uri_template' = None
DEBUG    -  Config value: 'edit_uri' = None
DEBUG    -  Config value: 'extra_css' = []
DEBUG    -  Config value: 'extra_javascript' = []
DEBUG    -  Config value: 'extra_templates' = []
DEBUG    -  Config value: 'markdown_extensions' = ['toc', 'tables', 'fenced_code']
DEBUG    -  Config value: 'mdx_configs' = {}
DEBUG    -  Config value: 'strict' = False
DEBUG    -  Config value: 'remote_branch' = 'gh-pages'
DEBUG    -  Config value: 'remote_name' = 'origin'
DEBUG    -  Config value: 'extra' = {}
DEBUG    -  Config value: 'plugins' = {'material/search': <material.plugins.search.plugin.Sear
            'material/privacy': <material.plugins.privacy.plugin.PrivacyPlugin object at 0x000
            <material.plugins.blog.plugin.BlogPlugin object at 0x000001971A87E1D0>}
DEBUG    -  Config value: 'hooks' = {}
DEBUG    -  Config value: 'watch' = []
DEBUG    -  Running 2 `startup` events
DEBUG    -  Running 3 `config` events
INFO     -  Cleaning site directory
INFO     -  Building documentation to directory: C:\Users\zzzz\source\GitHub\www\test-material
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here: 'C:\Users\zzzz\AppData\Local\Programs\Python\Python310
DEBUG    -  No translations found here: 'C:\Users\zzzz\AppData\Local\Programs\Python\Python310
DEBUG    -  Running 2 `files` events
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here: 'C:\Users\zzzz\AppData\Local\Programs\Python\Python310
DEBUG    -  No translations found here: 'C:\Users\zzzz\AppData\Local\Programs\Python\Python310
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here: 'C:\Users\zzzz\AppData\Local\Programs\Python\Python310
DEBUG    -  No translations found here: 'C:\Users\zzzz\AppData\Local\Programs\Python\Python310
DEBUG    -  Running 1 `nav` events
DEBUG    -  Reading markdown pages.
DEBUG    -  Reading: index.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/index.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-10.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-11.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-3.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-4.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-5.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-6.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-7.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-8.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-9.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-1/page-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-1/page-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-2/page-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-2/page-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/archive/2022.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/archive/2021.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Running 1 `env` events
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Copying static assets.
DEBUG    -  Copying media file: 'assets/images/favicon.png'
DEBUG    -  Copying media file: 'assets/javascripts/bundle.01b2e45f.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ar.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.da.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.de.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.du.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.es.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.fi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.fr.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.hi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.hu.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.it.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ja.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.jp.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ko.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.multi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.nl.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.no.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.pt.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ro.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ru.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.stemmer.support.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.sv.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ta.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.th.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.tr.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.vi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.zh.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/tinyseg.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/wordcut.js'
DEBUG    -  Copying media file: 'assets/javascripts/workers/search.939a4419.min.js'
DEBUG    -  Copying media file: 'assets/stylesheets/main.fa1d38d9.min.css'
DEBUG    -  Copying media file: 'assets/stylesheets/palette.cbb835fc.min.css'
DEBUG    -  Building theme template: 404.html
DEBUG    -  Building theme template: sitemap.xml
DEBUG    -  Gzipping template: sitemap.xml
DEBUG    -  Building markdown pages.
DEBUG    -  Building page index.md
DEBUG    -  Running 2 `page_context` events
DEBUG    -  Running 1 `post_page` events
DEBUG    -  Downloading external file:
            https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto
WARNING  -  Couldn't create symbolic link 'assets/external/fonts.googleapis.com/css'
DEBUG    -  Copying media file: 'assets/external/fonts.googleapis.com/css'
ERROR    -  Error building page 'index.md': [Errno 2] No such file or directory:
            '.cache\\plugin\\privacy\\assets\\external\\fonts.googleapis.com\\css'
Traceback (most recent call last):
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run
    return _run_code(code, main_globals, None,
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_
    exec(code, run_globals)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\Scripts\mkdocs.exe\__main__.py",
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py"
    return self.main(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py"
    rv = self.invoke(ctx)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py"
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py"
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py"
    return __callback(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\__main_
    build.build(cfg, dirty=not clean)
PS C:\Users\zzzz\source\GitHub\www\test-material> mkdocs build -v
DEBUG    -  Loading configuration file: C:\Users\zzzz\source\GitHub\www\test-material\mkdocs.yml
DEBUG    -  Loaded theme configuration for 'material' from
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\mkdocs_theme.yml':
            {'language': 'en', 'direction': None, 'features': [], 'palette': {'primary': None, 'accent':  
            None}, 'font': {'text': 'Roboto', 'code': 'Roboto Mono'}, 'icon': None, 'favicon':
            'assets/images/favicon.png', 'static_templates': ['404.html']}
DEBUG    -  Config value: 'config_file_path' =
            'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\mkdocs.yml'
DEBUG    -  Config value: 'site_name' = 'Test Material'
DEBUG    -  Config value: 'nav' = [{'Home': 'index.md'}, {'Sample 1': [{'Page 1': 'sample-1/page-1.md'},  
            {'Page 2': 'sample-1/page-2.md'}]}, {'Sample 2': [{'Page 1': 'sample-2/page-1.md'}, {'Page 2':            'sample-2/page-2.md'}]}, {'Blog': ['blog/index.md']}]
DEBUG    -  Config value: 'pages' = None
DEBUG    -  Config value: 'site_url' = None
DEBUG    -  Config value: 'site_description' = None
DEBUG    -  Config value: 'site_author' = None
DEBUG    -  Config value: 'theme' = Theme(name='material',
            dirs=['C:\\Users\\zzzz\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\material',
            'C:\\Users\\zzzz\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\mkdocs\\templates'],
            static_templates=['sitemap.xml', '404.html'], name='material', locale=Locale('en'),
            language='en', direction=None, features=[], palette={'primary': None, 'accent': None},        
            font={'text': 'Roboto', 'code': 'Roboto Mono'}, icon=None,
            favicon='assets/images/favicon.png')
DEBUG    -  Config value: 'docs_dir' = 'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\docs'        
DEBUG    -  Config value: 'site_dir' = 'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\site'        
DEBUG    -  Config value: 'copyright' = None
DEBUG    -  Config value: 'google_analytics' = None
DEBUG    -  Config value: 'dev_addr' = _IpAddressValue(host='127.0.0.1', port=8000)
DEBUG    -  Config value: 'use_directory_urls' = True
DEBUG    -  Config value: 'repo_url' = None
DEBUG    -  Config value: 'repo_name' = None
DEBUG    -  Config value: 'edit_uri_template' = None
DEBUG    -  Config value: 'edit_uri' = None
DEBUG    -  Config value: 'extra_css' = []
DEBUG    -  Config value: 'extra_javascript' = []
DEBUG    -  Config value: 'extra_templates' = []
DEBUG    -  Config value: 'markdown_extensions' = ['toc', 'tables', 'fenced_code']
DEBUG    -  Config value: 'mdx_configs' = {}
DEBUG    -  Config value: 'strict' = False
DEBUG    -  Config value: 'remote_branch' = 'gh-pages'
DEBUG    -  Config value: 'remote_name' = 'origin'
DEBUG    -  Config value: 'extra' = {}
DEBUG    -  Config value: 'plugins' = {'material/search': <material.plugins.search.plugin.SearchPlugin    
            object at 0x0000020396C7B220>, 'material/privacy':
            <material.plugins.privacy.plugin.PrivacyPlugin object at 0x0000020396C7AEF0>, 'material/blog':            <material.plugins.blog.plugin.BlogPlugin object at 0x00000203971021D0>}
DEBUG    -  Config value: 'hooks' = {}
DEBUG    -  Config value: 'watch' = []
DEBUG    -  Running 2 `startup` events
DEBUG    -  Running 3 `config` events
INFO     -  Cleaning site directory
INFO     -  Building documentation to directory: C:\Users\zzzz\source\GitHub\www\test-material\site       
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\templates\locales'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\locales'    
DEBUG    -  Running 2 `files` events
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\templates\locales'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\locales'    
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\templates\locales'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\locales'    
DEBUG    -  Running 1 `nav` events
DEBUG    -  Reading markdown pages.
DEBUG    -  Reading: index.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/index.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-10.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-11.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-3.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-4.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-5.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-6.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-7.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-8.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-9.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-1/page-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-1/page-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-2/page-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-2/page-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/archive/2022.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/archive/2021.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Running 1 `env` events
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Copying static assets.
DEBUG    -  Copying media file: 'assets/images/favicon.png'
DEBUG    -  Copying media file: 'assets/javascripts/bundle.01b2e45f.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ar.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.da.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.de.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.du.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.es.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.fi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.fr.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.hi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.hu.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.it.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ja.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.jp.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ko.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.multi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.nl.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.no.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.pt.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ro.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ru.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.stemmer.support.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.sv.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.ta.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.th.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.tr.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.vi.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/min/lunr.zh.min.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/tinyseg.js'
DEBUG    -  Copying media file: 'assets/javascripts/lunr/wordcut.js'
DEBUG    -  Copying media file: 'assets/javascripts/workers/search.939a4419.min.js'
DEBUG    -  Copying media file: 'assets/stylesheets/main.fa1d38d9.min.css'
DEBUG    -  Copying media file: 'assets/stylesheets/palette.cbb835fc.min.css'
DEBUG    -  Building theme template: sitemap.xml
DEBUG    -  Gzipping template: sitemap.xml
DEBUG    -  Building theme template: 404.html
DEBUG    -  Building markdown pages.
DEBUG    -  Building page index.md
DEBUG    -  Running 2 `page_context` events
DEBUG    -  Running 1 `post_page` events
DEBUG    -  Downloading external file: https://unpkg.com/mermaid@9.1.7/dist/mermaid.min.js
DEBUG    -  Downloading external file:
            https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback
WARNING  -  Couldn't create symbolic link 'assets/external/fonts.googleapis.com/css'
DEBUG    -  Copying media file: 'assets/external/fonts.googleapis.com/css'
ERROR    -  Error building page 'index.md': [Errno 2] No such file or directory:
            '.cache\\plugin\\privacy\\assets\\external\\fonts.googleapis.com\\css'
Traceback (most recent call last):
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code        
    exec(code, run_globals)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\Scripts\mkdocs.exe\__main__.py", line 7, in 
<module>
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 760, 
in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\__main__.py", line 
250, in build_command
    build.build(cfg, dirty=not clean)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\commands\build.py", line 329, in build
    _build_page(file.page, config, doc_files, nav, env, dirty)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\commands\build.py", line 234, in _build_page
    output = config.plugins.run_event('post_page', output, page=page, config=config)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\plugins.py", line 517, in run_event
    result = method(item, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\plugins\privacy\plugin.py", line 151, in on_post_page
    value.replace(raw, self._fetch(url, page.file, config)),
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\plugins\privacy\plugin.py", line 274, in _fetch
    file.copy_file()
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\structure\files.py", line 250, in copy_file
    utils.copy_file(self.abs_src_path, self.abs_dest_path)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\utils\__init__.py", line 170, in copy_file
    shutil.copyfile(source_path, output_path)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\shutil.py", line 254, in copyfile       
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '.cache\\plugin\\privacy\\assets\\external\\fonts.googleapis.com\\css'
PS C:\Users\zzzz\source\GitHub\www\test-material> 
squidfunk commented 1 year ago

Thanks for the report!

I suspect that this is the same error as #4051, i.e. the symbolic link cannot be created due to insufficient permissions as I don't see how the path can be wrong. The refactoring did not include the fall back, but that should now be fixed in squidfunk/mkdocs-material-insiders@426d155eb. Please try the latest master and check if the error still persists.

From #4051:

Fixed in https://github.com/squidfunk/mkdocs-material-insiders/commit/8330445. We now catch the symbolic link error and just continue. This means that the plugin will re-request each extension-less file once during the build and on subsequent builds.

tamasgt commented 1 year ago

Hello,

I was a little confused. I checked what happens if I use pip installer or git. The mkdocs build worked with the privacy plugin, with one warning. Meanwhile, something changed, and now the blog plugin throws an error. I can't decide if I did something wrong or because the code changed a few hours ago: b2c8cda)

So that's the current situation. The mininal project defined in this issue gives this result WITHOUT the blog plugin, it compiles and mkdocs serve also works, but throws a warning:

Snag_60eada

and if I TURN ON the blog plugin, this is the error:

mkdocs build -v
DEBUG    -  Loading configuration file: C:\Users\zzzz\source\GitHub\www\test-material\mkdocs.yml
DEBUG    -  Loaded theme configuration for 'material' from
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\mkdocs_theme.yml':
            {'language': 'en', 'direction': None, 'features': [], 'palette': {'primary': None, 'accent':      
            None}, 'font': {'text': 'Roboto', 'code': 'Roboto Mono'}, 'icon': None, 'favicon':
            'assets/images/favicon.png', 'static_templates': ['404.html']}
DEBUG    -  Config value: 'config_file_path' =
            'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\mkdocs.yml'
DEBUG    -  Config value: 'site_name' = 'Test Material'
DEBUG    -  Config value: 'nav' = [{'Home': 'index.md'}, {'Sample 1': [{'Page 1': 'sample-1/page-1.md'},      
            {'Page 2': 'sample-1/page-2.md'}]}, {'Sample 2': [{'Page 1': 'sample-2/page-1.md'}, {'Page 2':    
            'sample-2/page-2.md'}]}, {'Blog': ['blog/index.md']}]
DEBUG    -  Config value: 'pages' = None
DEBUG    -  Config value: 'site_url' = None
DEBUG    -  Config value: 'site_description' = None
DEBUG    -  Config value: 'site_author' = None
DEBUG    -  Config value: 'theme' = Theme(name='material',
            dirs=['C:\\Users\\zzzz\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\material',
            'C:\\Users\\zzzz\\AppData\\Local\\Programs\\Python\\Python310\\lib\\site-packages\\mkdocs\\templates'],
            static_templates=['404.html', 'sitemap.xml'], name='material', locale=Locale('en'), language='en',            direction=None, features=[], palette={'primary': None, 'accent': None}, font={'text': 'Roboto',   
            'code': 'Roboto Mono'}, icon=None, favicon='assets/images/favicon.png')
DEBUG    -  Config value: 'docs_dir' = 'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\docs'
DEBUG    -  Config value: 'site_dir' = 'C:\\Users\\zzzz\\source\\GitHub\\www\\test-material\\site'
DEBUG    -  Config value: 'copyright' = None
DEBUG    -  Config value: 'google_analytics' = None
DEBUG    -  Config value: 'dev_addr' = _IpAddressValue(host='127.0.0.1', port=8000)
DEBUG    -  Config value: 'use_directory_urls' = True
DEBUG    -  Config value: 'repo_url' = None
DEBUG    -  Config value: 'repo_name' = None
DEBUG    -  Config value: 'edit_uri_template' = None
DEBUG    -  Config value: 'edit_uri' = None
DEBUG    -  Config value: 'extra_css' = []
DEBUG    -  Config value: 'extra_javascript' = []
DEBUG    -  Config value: 'extra_templates' = []
DEBUG    -  Config value: 'markdown_extensions' = ['toc', 'tables', 'fenced_code']
DEBUG    -  Config value: 'mdx_configs' = {}
DEBUG    -  Config value: 'strict' = False
DEBUG    -  Config value: 'remote_branch' = 'gh-pages'
DEBUG    -  Config value: 'remote_name' = 'origin'
DEBUG    -  Config value: 'extra' = {}
DEBUG    -  Config value: 'plugins' = {'material/search': <material.plugins.search.plugin.SearchPlugin object 
            at 0x000001B0F69070D0>, 'material/privacy': <material.plugins.privacy.plugin.PrivacyPlugin object 
            at 0x000001B0F6906DA0>, 'material/blog': <material.plugins.blog.plugin.BlogPlugin object at       
            0x000001B0F6D7E0E0>}
DEBUG    -  Config value: 'hooks' = {}
DEBUG    -  Config value: 'watch' = []
DEBUG    -  Running 2 `startup` events
DEBUG    -  Running 3 `config` events
INFO     -  Cleaning site directory
INFO     -  Building documentation to directory: C:\Users\zzzz\source\GitHub\www\test-material\site
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\templates\locales'DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\locales'        
DEBUG    -  Running 2 `files` events
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\templates\locales'DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\locales'        
DEBUG    -  Looking for translations for locale 'en'
DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\templates\locales'DEBUG    -  No translations found here:
            'C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\locales'        
DEBUG    -  Running 1 `nav` events
DEBUG    -  Reading markdown pages.
DEBUG    -  Reading: index.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/index.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-10.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-11.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-3.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-4.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-5.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-6.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-7.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-8.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/posts/sample-post-9.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-1/page-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-1/page-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-2/page-1.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: sample-2/page-2.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/archive/2022.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Reading: blog/archive/2021.md
DEBUG    -  Running 1 `page_markdown` events
DEBUG    -  Running 1 `env` events
Traceback (most recent call last):
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main 
    return _run_code(code, main_globals, None,
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\Scripts\mkdocs.exe\__main__.py", line 7, in <module>
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1130, in 
__call__
    return self.main(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1055, in 
main
    rv = self.invoke(ctx)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1657, in 
invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1404, in 
invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\__main__.py", line 250, in build_command
    build.build(cfg, dirty=not clean)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\commands\build.py", line 311, in build
    env = config.plugins.run_event('env', env, config=config, files=files)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\mkdocs\plugins.py", line 517, 
in run_event
    result = method(item, **kwargs)
  File "C:\Users\zzzz\AppData\Local\Programs\Python\Python310\lib\site-packages\material\plugins\blog\plugin.py", line 445, in on_env
    config.mdx_configs["toc"]["anchorlink"] = True
KeyError: 'toc'
squidfunk commented 1 year ago

Thanks for reporting. I've also worked on the blog plugin, but this seems unrelated to this issue. Please create a new issue providing the exact configuration you're using. Please also remove all plugins and try to boil it down to a configuration that still reproduces the error.

squidfunk commented 1 year ago

Regarding the warning: this is likely due to insufficient permissions as reported in #4051.

tamasgt commented 1 year ago

Warning -> I read it, thank you.

Blog -> I'll wait for the next release because I'm not sure. If the error occurs, I will create an issue. I downgraded to 8.5.6+insiders.4.25.5, it works now.

squidfunk commented 1 year ago

Already got a fix in the making, should be out in a few hours.

squidfunk commented 1 year ago

Released as part of 8.5.8+insiders-4.26.2, including the fix for the latest error you reported.