Open bartvandenende-wm opened 10 months ago
Request to add support for mono-repos that use symlinks
We are exploring the usage of mkdocs for a typescript mono-repo that uses symlinks via pnpm package manager to link packages.
mkdocs
pnpm
An example folder tree structure would be
- docs/*.md - node_modules/{package-name}/mkdocs.yml << {package-name} is a folder symlink - mkdocs.yml
with a mkdocs.yml config:
nav: - Intro: 'index.md' - Libraries: '*include ./node_modules/*/mkdocs.yml'
Unfortunately the above config does not work as mkdocs-monorepo-plugin resolves the symlinks to absolute paths which are outside of the project directory.
I was curious if there is a need to resolve symlinks for the plugin and if the below two resolve actions? https://github.com/backstage/mkdocs-monorepo-plugin/blob/b1965a216af41c7e503753c63551d894fac8399d/mkdocs_monorepo_plugin/parser.py#L56 https://github.com/backstage/mkdocs-monorepo-plugin/blob/b1965a216af41c7e503753c63551d894fac8399d/mkdocs_monorepo_plugin/parser.py#L117
resolve
A suggested change proposal would be to update the above path method .resolve() to .absolute(), which still resolves the absolute path but does not resolve the symlink per https://docs.python.org/3/library/pathlib.html#pathlib.Path.absolute
.resolve()
.absolute()
Summary
Request to add support for mono-repos that use symlinks
Details
We are exploring the usage of
mkdocs
for a typescript mono-repo that uses symlinks viapnpm
package manager to link packages.An example folder tree structure would be
with a mkdocs.yml config:
Unfortunately the above config does not work as mkdocs-monorepo-plugin resolves the symlinks to absolute paths which are outside of the project directory.
I was curious if there is a need to resolve symlinks for the plugin and if the below two
resolve
actions? https://github.com/backstage/mkdocs-monorepo-plugin/blob/b1965a216af41c7e503753c63551d894fac8399d/mkdocs_monorepo_plugin/parser.py#L56 https://github.com/backstage/mkdocs-monorepo-plugin/blob/b1965a216af41c7e503753c63551d894fac8399d/mkdocs_monorepo_plugin/parser.py#L117Proposal
A suggested change proposal would be to update the above path method
.resolve()
to.absolute()
, which still resolves the absolute path but does not resolve the symlink per https://docs.python.org/3/library/pathlib.html#pathlib.Path.absolute