backstage / mkdocs-monorepo-plugin

✚ Build multiple documentation folders in a single Mkdocs. Designed for large codebases.
https://backstage.github.io/mkdocs-monorepo-plugin/
Apache License 2.0
316 stars 74 forks source link

Is the sample broken ? #20

Closed ldelaprade closed 4 years ago

ldelaprade commented 4 years ago

tried on windows 10. It seems to search file on C drive... while the repo is cloned on G: drive... As you can read in the log

pip install mkdocs-monorepo-plugin mkdocs serve

G:\DXC\JET\mkdocs-monorepo-plugin\sample-docs (master -> origin)                                                    
λ mkdocs serve                                                                                                      
INFO    -  Building documentation...                                                                                
INFO    -  Cleaning site directory                                                                                  
ERROR   -  Error reading page 'versions\v1\changelog.md': 'C:\\Users\\LDELAP~1\\AppData\\Local\\Temp\\docs_f5_vyqpp\
\versions\\v1\\changelog.md'                                                                                        
Traceback (most recent call last):                                                                                  
  File "g:\applis\python383\lib\runpy.py", line 194, in _run_module_as_main                                         
    return _run_code(code, main_globals, None,                                                                      
  File "g:\applis\python383\lib\runpy.py", line 87, in _run_code                                                    
    exec(code, run_globals)                                                                                         
  File "G:\APPLIS\Python383\Scripts\mkdocs.exe\__main__.py", line 7, in <module>                                    
  File "g:\applis\python383\lib\site-packages\click\core.py", line 829, in __call__                                 
    return self.main(*args, **kwargs)                                                                               
  File "g:\applis\python383\lib\site-packages\click\core.py", line 782, in main                                     
    rv = self.invoke(ctx)                                                                                           
  File "g:\applis\python383\lib\site-packages\click\core.py", line 1259, in invoke                                  
    return _process_result(sub_ctx.command.invoke(sub_ctx))                                                         
  File "g:\applis\python383\lib\site-packages\click\core.py", line 1066, in invoke                                  
    return ctx.invoke(self.callback, **ctx.params)                                                                  
  File "g:\applis\python383\lib\site-packages\click\core.py", line 610, in invoke                                   
    return callback(*args, **kwargs)                                                                                
  File "g:\applis\python383\lib\site-packages\mkdocs\__main__.py", line 133, in serve_command                       
    serve.serve(                                                                                                    
  File "g:\applis\python383\lib\site-packages\mkdocs\commands\serve.py", line 141, in serve                         
    config = builder()                                                                                              
  File "g:\applis\python383\lib\site-packages\mkdocs\commands\serve.py", line 136, in builder                       
    build(config, live_server=live_server, dirty=dirty)                                                             
  File "g:\applis\python383\lib\site-packages\mkdocs\commands\build.py", line 271, in build                         
    _populate_page(file.page, config, files, dirty)                                                                 
  File "g:\applis\python383\lib\site-packages\mkdocs\commands\build.py", line 160, in _populate_page                
    page = config['plugins'].run_event(                                                                             
  File "g:\applis\python383\lib\site-packages\mkdocs\plugins.py", line 94, in run_event                             
    result = method(item, **kwargs)                                                                                 
  File "g:\applis\python383\lib\site-packages\mkdocs_monorepo_plugin\plugin.py", line 62, in on_pre_page            
    page.file.abs_src_path = self.files_source_dir[page.file.abs_src_path]                                          
KeyError: 'C:\\Users\\LDELAP~1\\AppData\\Local\\Temp\\docs_f5_vyqpp\\versions\\v1\\changelog.md'                    
plabbett commented 4 years ago

@ldelaprade - I believe this is is a result of the plugin making a temp folder copy in %appdata% of your docs to stitch together.

I'm running into the same issue after upgrading - I think this is from changes referenced in #12.

I converted my site to use sub-directories which is a short term fix for me - this may not be possible for everyone.

Anytime I attempt to use !include I get the same results.

For example, including a mkdocs.yml with a nav that only has a relative link like '/home' fails:

WARNING -  A relative path to 'version/v53//home' is included in the 'nav' configuration, which is not found in the documentation files
ERROR   -  Error reading page 'version\v53\index.md': 'C:\\Users\\Patrick\\AppData\\Local\\Temp\\docs_8kyy_88l\\version\\v53\\index.md'
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1008.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mkdocs\__main__.py", line 192, in <module>
    cli()
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mkdocs\__main__.py", line 152, in build_command
    build.build(config.load_config(**kwargs), dirty=not clean)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mkdocs\commands\build.py", line 271, in build
    _populate_page(file.page, config, files, dirty)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mkdocs\commands\build.py", line 160, in _populate_page
    page = config['plugins'].run_event(
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mkdocs\plugins.py", line 94, in run_event
    result = method(item, **kwargs)
  File "C:\Users\Patrick\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\mkdocs_monorepo_plugin\plugin.py", line 62, in on_pre_page
    page.file.abs_src_path = self.files_source_dir[page.file.abs_src_path]
KeyError: 'C:\\Users\\Patrick\\AppData\\Local\\Temp\\docs_8kyy_88l\\version\\v53\\index.md'
plabbett commented 4 years ago

Able to reproduce on a second Windows 10 machine:

> git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

> git pull origin master
From https://github.com/spotify/mkdocs-monorepo-plugin
 * branch            master     -> FETCH_HEAD
Already up to date.

> python --version
Python 3.8.3

> python -m pip list
Package                                   Version
----------------------------------------- --------
Babel                                     2.8.0
click                                     7.1.2
future                                    0.18.2
gitdb                                     4.0.5
GitPython                                 3.1.3
htmlmin                                   0.1.12
Jinja2                                    2.11.2
joblib                                    0.15.1
jsmin                                     2.2.2
livereload                                2.6.2
lunr                                      0.5.8
Markdown                                  3.2.2
MarkupSafe                                1.1.1
mkdocs                                    1.1.2
mkdocs-git-revision-date-localized-plugin 0.5.2
mkdocs-material                           5.3.0
mkdocs-material-extensions                1.0
mkdocs-minify-plugin                      0.3.0
mkdocs-monorepo-plugin                    0.4.8
nltk                                      3.5
pip                                       20.1.1
Pygments                                  2.6.1
pymdown-extensions                        7.1
pytz                                      2020.1
PyYAML                                    5.3.1
regex                                     2020.6.8
setuptools                                47.2.0
six                                       1.15.0
smmap                                     3.0.4
tornado                                   6.0.4
tqdm                                      4.46.1

> cd .\sample-docs\

mkdocs-monorepo-plugin\sample-docs> python -m mkdocs --version
__main__.py, version 1.1.2 from C:\Python38\lib\site-packages\mkdocs (Python 3.8)

mkdocs-monorepo-plugin\sample-docs> python -m mkdocs build
INFO    -  Cleaning site directory
INFO    -  Building documentation to directory: C:\Users\patri\Projects\mkdocs-monorepo-plugin\sample-docs\site
ERROR   -  Error reading page 'versions\v1\changelog.md': 'C:\\Users\\patri\\AppData\\Local\\Temp\\docs_xl1ap03b\\versions\\v1\\changelog.md'
Traceback (most recent call last):
  File "C:\Python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Python38\lib\site-packages\mkdocs\__main__.py", line 192, in <module>
    cli()
  File "C:\Python38\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Python38\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Python38\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Python38\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Python38\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Python38\lib\site-packages\mkdocs\__main__.py", line 152, in build_command
    build.build(config.load_config(**kwargs), dirty=not clean)
  File "C:\Python38\lib\site-packages\mkdocs\commands\build.py", line 271, in build
    _populate_page(file.page, config, files, dirty)
  File "C:\Python38\lib\site-packages\mkdocs\commands\build.py", line 160, in _populate_page
    page = config['plugins'].run_event(
  File "C:\Python38\lib\site-packages\mkdocs\plugins.py", line 94, in run_event
    result = method(item, **kwargs)
  File "C:\Python38\lib\site-packages\mkdocs_monorepo_plugin\plugin.py", line 62, in on_pre_page
    page.file.abs_src_path = self.files_source_dir[page.file.abs_src_path]
KeyError: 'C:\\Users\\patri\\AppData\\Local\\Temp\\docs_xl1ap03b\\versions\\v1\\changelog.md'
StarfallProjects commented 4 years ago

I am hitting the same issue, also on Windows 10, Python 3.8.3, latest versions of mkdocs + the plugin.

Edit to add: note that this was not with the sample, but with my own site. This seems like a general bug.