# Configuration ### project.yml There are several generators controlled by the `project.yml`. If a project misses the project.yml the file `my_workspace/shared/project.yml` will be loaded and looks like this: paths: src: images: 'assets/images' scripts: 'assets/scripts' styles: 'assets/styles' [...] generators: - structure: enabled: true - compile_coffee: enabled: true minimize: true selector: 'src.scripts://**/*.js.coffee' [...] ### Path shortcuts Any config value can use `path shortcuts` which will be resolved at runtime. The following shortcuts are available: * `src://`: project.src_path * `dist://`: project.dist_path * `src.scripts://`: project.src_path_to(:scripts) * `src.styles://`: project.src_path_to(:styles) * `src.images://`: project.src_path_to(:images) * `src.public://`: project.src_path_to(:public) * `src.views://`: project.src_path_to(:views), * `dist.scripts://`: project.dist_path_to(:scripts) * `dist.styles://`: project.dist_path_to(:styles) * `dist.images://`: project.dist_path_to(:images) * `dist.public://`: project.dist_path_to(:public) * `dist.views://`: project.dist_path_to(:views), * `workspace.root://`: EasyHtmlGenerator::WORKSPACE_PATH * `ehg.root://`: EasyHtmlGenerator::EHG_SRC_PATH If we have a config value like ```src.scripts://bower_components/*``` the value will be expanded to ```/Users/mono/code/cw/tools/easy-html-generator/src/scripts/bower_components/*``` for ex.. ### Path regexp based on ruby's [Dir method](http://www.rubydoc.info/stdlib/core/2.2.2/Dir.glob) pattern resolving. * `*`matches all files * `m*` matches all files beginning with m * `*o` matches all files ending with o * `*no*` matches all files that have no in them * `**` matches directories recursively * `?` matches any one character * `[set]` matches any one character in set * `{p,q}` matches either literal p or literal q * `\` escapes the next metacharacter ### Repetitive configuration Nearly any generator can be configured repetitive. That means that the following copy generator configuration... - copy: enabled: true source: 'src.styles://' target: 'dist.styles://' selector: '**/*.css' ...can be transformed to: - copy: enabled: true selector: '**/*' repetitive: - source: 'src.images://' target: 'dist.images://' - source: 'src.styles://' target: 'dist.styles://' selector: '**/*.css' Note that the repetitive config will be merged with the configuration from root node (see `selector`). # Resources > "[Getting started](https://github.com/creative-workflow/easy-html-generator/blob/master/docs/GETSTARTED.md)" > "[Generators](https://github.com/creative-workflow/easy-html-generator/blob/master/docs/GENERATORS.md)" > "[Haml-Templating](https://github.com/creative-workflow/easy-html-generator/blob/master/docs/HAMLTEMPLATING.md)" >"[Contributing](https://github.com/creative-workflow/easy-html-generator/blob/master/docs/CONTRIBUTING.md)"