Skip to content

Commit 196da49

Browse files
committed
resource: Handle publish to /public on fresh build
Fixes #4213
1 parent 2aa4c00 commit 196da49

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

‎resource/image.go‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,9 +450,20 @@ func (i *Image) encodeToDestinations(img image.Image, conf imageConfig, resource
450450
target := filepath.Join(i.absPublishDir, filename)
451451

452452
file1, err := i.spec.Fs.Destination.Create(target)
453-
if err != nil {
453+
if err != nil && os.IsNotExist(err) {
454+
// When called from shortcodes, the target directory may not exist yet.
455+
// See https://github.com/gohugoio/hugo/issues/4202
456+
if err = i.spec.Fs.Destination.MkdirAll(filepath.Dir(target), os.FileMode(0755)); err != nil {
457+
return err
458+
}
459+
file1, err = i.spec.Fs.Destination.Create(target)
460+
if err != nil {
461+
return err
462+
}
463+
} else if err != nil {
454464
return err
455465
}
466+
456467
defer file1.Close()
457468

458469
var w io.Writer

0 commit comments

Comments
 (0)