Config
The site generator is setup through a simple JSON-based configuration file to define the project structure and output.
Config
The config object allows you to enable or disable core generator features.
"config": {
"watch": true,
"minify": true,
"enhanceTypography": true,
"removeIndex": true,
"removeTrailingSlashes": true,
"paths": {
"content": "content",
"helpers": "helpers",
"partials": "partials",
"target": "../../../public/guide/",
"templates": "templates"
}
}
Watching
Setting this to true will set the Wee build process to watch for changes.
"watch": true
Minification
When true the output HTML with be minified.
"minify": true
Enhance Typography
Smart quotes and other typographic features can be enabled here.
"enhanceTypography": true
Indexes
This will remove index.html from any path references. This should be used in conjunction with web server rewrite rules.
"removeIndex": true
Trailing Slashes
Similar to removeIndex, this will remove trailing slashes from any output paths.
"removeTrailingSlashes": true
Paths
Here you can set the default root paths for content, helpers, partials, and templates. By default they are at the same level as the site config file. You also set the target path which is where the output section targets are relative to.
"paths": {
"content": "content",
"helpers": "helpers",
"partials": "partials",
"target": "../../../public/guide/",
"templates": "templates"
}
Data
Any custom data that you may need for your site can be stored here. They can be nested as deep as necessary and the values are accessible in the templates.
"data": {
"version": "2.1.0",
"analyticsID": "UA-XXXXXXXX-1",
"social": {
"twitter": "weecss",
"googlePageID": "+weecss"
}
}
You can use them for paths and versions for instance.
<script src="/js/script.min.js?v"></script>
Data can also be set or overridden in individual content files or within the section configuration.
Env
This is where you can specify environment-specific config values for use in your templates.
"env": {
"prod": {
"domain": "https://www.weepower.com",
"cdnUrl": "https://cdn.weepower.com"
},
"default": {
"domain": "https://weepower.dev",
"cdnUrl": ""
}
}
Here are a couple examples of how you might use them.
{{ #site.env|is('prod') }}
<script>// Google Analytics script
ga('create', '{{ site.analyticsID }}', 'auto');
ga('send', 'pageview');
</script>
{{ /site.env }}
Environment Building
To compile your project for an environment other than the default pass the env argument to the generate command.
wee run:generate --env=prod
General
These values are for your internal reference only.
"name": "Site Name",
"description": "Site description."