Closed darth-veitcher closed 4 years ago
Looks to be an issue when you use files with multiple tabs. Using a single-tabbed file will generate an output.
Hey @darth-veitcher, thanks for the catch. I can see that there's a CLI option (-p
, --page-index
) for this.
When you're referencing a single page of a multi-page document, the expected behaviour would be that only a single page is exported, right? In this case, maybe we should have the user include the index of the page in the URL they embed? e.g.:
![Some alt text](my-diagram.drawio#3)
Agreed on the docs point too.
That would be perfect @LukeCarrier having the page reference as an anchor link.
Now all of the cleanup and testing is out of the way I've picked this up. I think the best approach is to:
rewrite_image_embeds()
to look for URLs containing an anchorSource
type for keeping track of filename
and page_index
pairs
Page
's File
make_cache_filename()
to include a page_index
ensure_file_cached()
to include a page_index
Still gotta figure out how to get the list of pages we care about exporting to the export process in on_post_build()
... I'll figure it out.
@darth-veitcher I think I have this working now -- if you have time to test it out that'd be great. You could either pull the source down and do pip install --editable
from inside the virtualenv you have mkdocs
installed to or just install from a Git source:
pip install git+https://github.com/LukeCarrier/mkdocs-drawio-exporter.git@multi-page
If it helps I've thrown a basic test case with a two-page document together below. No additional configuration should be required.
My /test/index.md
:
# Testing multi-page diagrams
## Diagram 1
![Diagram 1](diagram.drawio#0)
## Diagram 2
![Diagram 2](diagram.drawio#1)
My /test/diagram.drawio
:
<mxfile host="Electron" modified="2019-12-23T22:55:27.739Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/11.3.0 Chrome/76.0.3809.139 Electron/6.0.7 Safari/537.36" etag="3foxywefqy83qYuQ_QeQ" version="11.3.0" type="device" pages="2"><diagram id="ukS30fI4Lm5kd7NlG5mV" name="Page-1">jZJNT4QwEIZ/DUcTPhLsXsVVD2rUNTHxVulAmy0MKV0Bf71lmS6QzSZ76vR5Z/rxzgRJVvWPhjfyBQXoIA5FHyT3QRxHIUvdMpJhIiwkUBolKGkGO/UHvpLoQQloV4kWUVvVrGGOdQ25XTFuDHbrtAL1+taGl3AGdjnX5/RLCSuJRulmFp5AlZKuZvHtJFTcJ9NPWskFdguUbIMkM4h2iqo+Az2a532Z6h4uqKeHGajtVQXwkbJw/6qLZ4Gb90/bfbMbOuWX6wN9+G00JA5JaO3gnTB4qAWMh4VBctdJZWHX8HxUO9d7x6SttNtFLiyU1hlqNMfaRHBgRe54aw3uYaGkOYOfwin0EDAW+os/jE6+uYEDrMCawaVQgXd6WG+7Rd88k4uWpcQ4jUp5Onh20wVkqN/OjTtqi/FPtv8=</diagram><diagram id="rsHniokzqBsc5E8MZI1C" name="Page-2">rZPBToQwEIafhqMJtCviUXFXjdGY7MFzpbO0WhgsRWCf3rK0C+wejIkn2u+fmXb+DgFNi+5es0o8IwcVkJB3Ab0LCInCJLafgfQjSUIHci25C5rAVu7BZzraSA71ItAgKiOrJcywLCEzC8a0xnYZtkO1PLViOZyBbcbUOX2T3AhHo/h6Eh5A5sIdnZCrUSiYD3ad1IJxbGeIrgOaakQzroouBTWY533Z58Wj+DDrHuLyabV/2TQ3Xxdjsc1fUo4taCjN/5YmY+lvphrn1+vgJwmdUJveG6mxKTkMxcKA3rZCGthWLBvU1o6OZcIUyu4iu9xJpVJUqA+5lF9CwleW10bjJ8yUhLzTOLaKuwhoA93Jy/3SdnR8CzvEgAUY3ds8V8W/Xr/ctrNZ8EzMxiB2jLnxy4+FJ4vtwrnst9MwHLTZL0XXPw==</diagram></mxfile>
Thanks @LukeCarrier ill have a look this week!
Tested it under Windows 10 and Ubuntu 20.04 dev and we're looking good so far. I'll try to commandeer a Mac soon...
@darth-veitcher I've merged this and released v0.4.0 after testing -- please holler if something's not working. Merry Christmas! :gift:
When running a
mkdocs build
ormkdocs serve
command the following error occurs.It seems to be expecting a file here (I'm assuming some kind of generated output) as manually creating a directory here generates an
[Errno 21] Is a directory
.Possibly a symptom of needing a more detailed
Quick start
set of instructions?