Reputation: 23302
I have a large directory structure, typical of most apps.
For example, like this:
theprojectroot
|- src
| |- app
| | |- index.html
| | |- index.js
| | |- userhome
| | | |- userhome.html
| | | |- userhome.js
| | |- management
| | | |- management.html
| | | |- management.js
| | |- social
| | | |- social.html
| | | |- social.js
| |- assets
|- vendor
|- package.json
I would like to copy all the HTML
files - and ONLY the HTML files - in all the directories into another folder.
I'm currently using Grunt copy
to copy all files, but now I'd like to do so just for the HTML. In the docs, there doesn't seem to be any option to select a file type.
Does anyone have a hack they could suggest to do this?
Upvotes: 2
Views: 2604
Reputation: 204
The flatten: true option as in this answer might work for some cases, but it seems to me that the more common requirement (as in my case) is to copy a folder and its sub-folder structure, as-is, to dest. It seems that in most cases if you have sub-folders, they are probably being referenced that way in code. The key to doing this is the cwd option, which will preserve folder structure relative to the specified working directory:
copy: {
files: {
cwd: 'path/to/files', // set working folder / root to copy
src: '**/*.html', // copy only html files
dest: 'dist/files', // destination folder
expand: true // required when using cwd
}
}
Upvotes: 0
Reputation: 3334
The following code will work
copy: {
files: {
cwd: 'path/to/files', // set working folder / root to copy
src: '**/*.html', // copy all files and subfolders **with ending .html**
dest: 'dist/files', // destination folder
expand: true // required when using cwd
}
}
Upvotes: 9