This is likely the sanest approach possible, as it clearly specifies which media version matches which repository version through the submodule link.
Furthermore, it is possible to make the submodule clone completely optional by setting things up as follows. For your OurBigBook project yourname/myproject create a yourname/myproject-media with the media, and track it as a submodule under yourname/myproject/media.
Then, add to media-providers:
"media-providers": {
  "github": {
    "default-for": ["image", "video"],
    "path": "media",
    "remote": "yourname/myproject-media"
Now, as mentioned at media-providers, everything will work beautifully:


  1. Store images in a separate media repository
  2. Where to store images
  3. Image
  4. Macro
  5. OurBigBook Markup
  6. OurBigBook Project