0.2.3 • Published 11 years ago
uncanny v0.2.3
uncanny.js
Generate/compile static files based on file extension. Operates primarily off
of config.json in the main directory as such:
{
"source": "/home/coolguy/blog",
"target": "/var/www/coolguysblog"
}If they don't already exist, the following directories will be created in both
source and target:
blogs/styles/scripts/templates/
Whenever a file is updated in source, the corresponding file will be updated
in target.
The blogs/ directory accepts:
2015-10-21-blog-name.mdparsed as Markdown using marked into HTML (named as.htm). The timestamp at the beginning will be used as the date of the post, if amdfile is saved in thesource/blogs/directory without a timestamp, uncanny will attempt to rename it to work.layout.ejsused to render every blog post into HTML, so you can make it pretty. Output will betarget/blog-name.html. Available to the layout is the standarduncannyobject as well as ablogobject that contains:year: year of the post,month: month of the post,day: numerical day of the post,name: name of blog (with dashes),title: title of the blog (generated),target: location of the file,content: Markdown-parsed content,source: filename of original blog
The templates/ directory accepts:
.ejsparsed as ejs using ejs' official node module. Each template is passed the uncanny object containing:version: current running version of uncannyscripts,styles,templates: arrays of filenames from within corresponding directories.blogs: array of blog objects as described above
The scripts/ directory accepts:
- File extensions appended with
.minsuch as.min.jswill be run through UglifyJS before being placed in the target.
The styles/ directory accepts:
.stylparsed as stylus using stylus' official node module into CSS.
- File extensions appended with
.minsuch as.min.stylor.min.csswill be run through Sqwish before being placed in the target.
Further configuration options include:
syncOnInitto compile and copy all files from the source directory into the target on startup. Default isfalse.watchDotFileto watch and compile dotfiles.customDirsan array of additional directories to watch and sync. Currently, files synced via the customDirs config option are not mutated in any way.ignoreCaseto allow for case-insensitive extensions, default isfalse.optimizeImagesto run smush against images in theimages/directory. Default isfalse- run with
uncanny --watchto persist and watch directories.
Built on top of freud.
License
MIT