Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can you make the monorepo plugin compatible with the mkdocs D2 plugin? #131

Open
jal7027 opened this issue May 31, 2024 · 0 comments
Open

Comments

@jal7027
Copy link

jal7027 commented May 31, 2024

I'm trying to integrate docs that use the mkdocs-d2-plugin into a Backstage Techdocs docs site. Could you look into the errors and see if it's possible to make these packages compatible?

When I attempt to install mkdocs, mkdocs-d2-plugin and mkdocs-monorepo-plugin using poetry, I get a version solving error:

joseph.leiber  % poetry add mkdocs mkdocs-techdocs-core mkdocs-d2-plugin
Using version ^1.6.0 for mkdocs
Using version ^1.3.5 for mkdocs-techdocs-core
Using version ^1.3.4 for mkdocs-d2-plugin

Updating dependencies
Resolving dependencies... (0.2s)

Because no versions of mkdocs-techdocs-core match >1.3.5,<2.0.0
 and mkdocs-techdocs-core (1.3.5) depends on mkdocs-material (9.5.13), mkdocs-techdocs-core (>=1.3.5,<2.0.0) requires mkdocs-material (9.5.13).
And because mkdocs-material (9.5.13) depends on mkdocs (>=1.5.3,<1.6.0), mkdocs-techdocs-core (>=1.3.5,<2.0.0) requires mkdocs (>=1.5.3,<1.6.0).
So, because minimal depends on both mkdocs (^1.6.0) and mkdocs-techdocs-core (^1.3.5), version solving failed.

If I bypass the version solving warning and attempt to install the packages using pip and run mkdocs serve, I get an quite lengthy TypeError that seems to be rooted in the monorepo plugin itself, according to Traceback.

Here's the truncated error:

INFO    -  Building documentation...
INFO    -  mkdocs-d2-plugin: Using cache at .cache/plugin/d2/db (dbm.ndbm)
INFO    -  Cleaning site directory
ERROR   -  Error reading page 'index.md': join() missing 1 required positional argument: 'a'
Traceback (most recent call last):
  File "/Users/joseph.leiber/Library/Caches/pypoetry/virtualenvs/minimal-sCI7Dks--py3.12/bin/mkdocs", line 8, in <module>
    sys.exit(cli())
             ^^^^^
 ...
 ...
 ...
  File "/Users/joseph.leiber/Library/Caches/pypoetry/virtualenvs/minimal-sCI7Dks--py3.12/lib/python3.12/site-packages/mkdocs_monorepo_plugin/edit_uri.py", line 35, in __get_page_dir_alias
    alias = path.join(*parts)
            ^^^^^^^^^^^^^^^^^
TypeError: join() missing 1 required positional argument: 'a'

An odd note is that I'm able to run all of this without errors on a GitHub runner, but the D2 plugin fails to generate an SVG - it just renders a fenced D2 codeblock in text. In other words, it just fails silently.

On the runner, I'm using Python 3.11.5, mkdocs-techdocs-core==1.3.5, mkdocs-monorepo-plugin==1.1.0, and the latest mkdocs-d2-plugin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant