lumeland / lume

🔥 Static site generator for Deno 🦕
https://lume.land
MIT License
1.85k stars 85 forks source link

lume().copy() is a no-op when lume({src: "docs" }) is set #610

Closed thetanil closed 4 months ago

thetanil commented 4 months ago

Version

2.2

Platform

win / lin amd

What steps will reproduce the bug?

if src is set, static doesn't copy. in this configuration everything works fine. as soon as I uncomment src: "docs", none of those copy commands work.

// _config.ts
const site = lume({
    // src: "docs",
});

site.copy("./static", ".");
site.copy("../static", ".");
site.copy("static", ".");
site.copy("static");

How often does it reproduce? Is there a required condition?

always

What is the expected behavior?

static files should copy even if I set src.

What do you see instead?

no copy unless src left at default

Additional information

i spend several hours trying to nail it down, and as far as I can tell copy just doesn't do anything when src is set. I tried many combinations of paths (the docs say static should be relative to docs, and I tried that as well). I tried all different names to make sure there was no magic name handling (i started with _static) but nothing seemed to make a difference. If src is set, copy doesn't work in any combination I came up with.

oscarotero commented 4 months ago

If static folder is outside the docs folder, it isn't copied because Lume works only with files inside the src folder.

All paths in your document are resolved to ./docs/static (or ./static if src is empty), but ./docs/../static is not allowed because it would be outside the src folder.

Maybe it should show a warning to make it more clear?

thetanil commented 4 months ago

Thanks for the tool, and the quick response. Yeah, some indication of a failed copy would be great I think. Also in the documentation I think it just said that copy is relative to src, so I assumed "../some/path" would be fine. Warning would be best, but some hint in the docs there would also be nice.

oscarotero commented 4 months ago

Agreed. I'll update the documentation to make it more clear. And will include a warning in the next version of Lume. Thanks!

thetanil commented 4 months ago

https://lume.land/docs/configuration/copy-static-files/

2nd paragraph