lukasgeiter / mkdocs-awesome-pages-plugin

An MkDocs plugin that simplifies configuring page titles and their order
MIT License
452 stars 35 forks source link

.pages nav - sections dont work #60

Closed andzejsp closed 2 years ago

andzejsp commented 2 years ago

.pages

nav:
    - ...
    - "section 1" :
        - changelog.md

When i do mkdocs serve:

Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2800.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.2800.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\Scripts\mkdocs.exe\__main__.py", line 7, in <module>
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\click\core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\click\core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\click\core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\click\core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\click\core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs\__main__.py", line 177, in serve_command
    serve.serve(dev_addr=dev_addr, livereload=livereload, **kwargs)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs\commands\serve.py", line 54, in serve
    config = builder()
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs\commands\serve.py", line 49, in builder
    build(config, live_server=live_server, dirty=dirty)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs\commands\build.py", line 287, in build
    nav = config['plugins'].run_event('nav', nav, config=config, files=files)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs\plugins.py", line 102, in run_event
    result = method(item, **kwargs)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs_awesome_pages_plugin\plugin.py", line 55, in on_nav       
    return AwesomeNavigation(nav.items, Options(**self.config), config['docs_dir'], explicit_sections).to_mkdocs()
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs_awesome_pages_plugin\navigation.py", line 43, in __init__ 
    self.meta = NavigationMeta(items, options, docs_dir, explicit_sections)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs_awesome_pages_plugin\navigation.py", line 183, in __init__    self.root = Meta.try_load_from(join_paths(root_path, self.options.filename))
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs_awesome_pages_plugin\meta.py", line 137, in try_load_from 
    return Meta.load_from(path)
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs_awesome_pages_plugin\meta.py", line 181, in load_from     
    nav = [MetaNavItem.from_yaml(item, path) for item in nav]
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs_awesome_pages_plugin\meta.py", line 181, in <listcomp>    
    nav = [MetaNavItem.from_yaml(item, path) for item in nav]
  File "C:\Users\Andzejs\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\mkdocs_awesome_pages_plugin\meta.py", line 41, in from_yaml      
    raise TypeError('Invalid nav item format {type} [{context}]'.format(type=item, context=context))
TypeError: Invalid nav item format {'section 1': ['changelog.md']} [E:\VBA_PROJECTS\DEL_HelpDocs\del-docs-gitter\docs\.pages]

What am i doing wrong?

andzejsp commented 2 years ago

Ok i figured it out, took me a good hour to debug, but your readme needs to be updated because in it you say :

If you wanted introduction.md, page1.md and page2.md to appear under their own section you could do this:

nav:
    - Start:
        - page1.md
        - page2.md
        - summary.md
    - ...

If i remove the "-" from changelog.md then it works

nav:
    - ...
    - "section 1" :
        changelog.md

but subsection dont work:

nav:
    - ...
    - "section 1" :
       "sub sect":
            - changelog.md

Is sub section even possible without making nested folders with each folder containing the .pages file?

lukasgeiter commented 2 years ago

The section in the readme you're referring to only applies to defining nav in mkdocs.yml.

Is sub section even possible without making nested folders with each folder containing the .pages file?

No, but this might change soon. I suggest you subscribe to #37 to get notified once the feature is available.

lukasgeiter commented 2 years ago

This is now possible in version 2.7.0