Generate/compile static files based on file extension. Operates primarily off
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
Whenever a file is updated in
source, the corresponding file will be updated
2015-10-21-blog-name.md parsed as
marked into HTML (named as
.htm). The timestamp at
the beginning will be used as the date of the post, if a
md file is saved
source/blogs/ directory without a timestamp, uncanny will attempt to
rename it to work.
layout.ejs used to render every blog post into HTML, so you can make it
pretty. Output will be
target/blog-name.html. Available to the layout is
uncanny object as well as a
blog object 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
version: current running version of uncanny
templates: arrays of filenames from within corresponding directories.
blogs: array of blog objects as described above
.min.jswill be run through UglifyJS before being placed in the target.
.min.csswill be run through Sqwish before being placed in the target.
syncOnInitto compile and copy all files from the source directory into the target on startup. Default is
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 is
optimizeImagesto run smush against images in the
images/directory. Default is
uncanny --watchto persist and watch directories.
Built on top of freud.