By default, Qgoda does not process hidden files and directories (name starts with a dot
.). Top-level files and directories that have names beginning with an underscore
_ are also excluded.
exclude: - /node_modules - /package.json - /webpack.config.js - assets/images/**/*.xcf
This will also exclude the top-level directory
node_modules, and the top-level files
webpack.config.js. Likewise, all XCF files (the image format of The Gimp in the directory
assets/images and all of its descendant directories are excluded.
Please see Pattern Lists for the gory details of search patterns and lists of search patterns in Qgoda.
Internally, Qgoda does not use the configured exclusion list directly but a slightly extended one. For the above example it looks like this:
exclude: - .* - /_* - /node_modules - /package.json - /webpack.config.js - assets/images/**/*.xcf - /_site
The first two lines exclude files and directories that have names beginning with a dot (
.) or top-level files and directories that have names beginning with an underscore.
The last line is always appended and a safe-guard against configuration errors. Unintentionally including the output directory
_site would lead to an infinite recursion. The output directory is therefore always added to the exclusion list.
There is no configuration variable
include. You can exclude otherwise excluded files by prepending a pattern with an exclamation mark
!. The pattern is then negated:
exclude: - /node_modules - /package.json - /webpack.config.js - assets/images/**/*.xcf - "!/_posts"
This would now enable processing of all the files in the top-level directory
Beware though that you cannot re-include files or directories, when one of their parent directories is already excluded.
exclude: - /archive - "!/archive/2017"
The second pattern is invalid and ignored because
/archive is a parent directory of
This behavior has performance reasons. When Qgoda collects files, it does not descend into excluded directories. In the above example, it would not read the contents of
archive and would therefore never see the subdirectory
That leads to a little problem if you want to re-include a subdirectory of an automatically excluded directory, for example
_experiments/stable. The top-level directory
_experiments is automatically excluded by Qgoda. In order to re-include it, you would have to do the following:
exclude: - "!/_experiments" - /_experiments/* - "!/_experiments/stable"
You have to keep in mind that Qgoda has prepended this list with
/_* (see above). Line 1 re-includes
_experiments. Line 2 excludes all its subdirectories again. And line 3 selectively re-includes
Note that Qgoda by default re-includes the directory
exclude-watch: - assets/movies
The list that is really used by Qgoda looks like this:
exclude-watch: - .* - /_* - "!/_views" - assets/movies - /_site
You can see that the directory
_views has been re-included because it contains layout and design files.