This is a nanoc3 blog starter kit. FreeBSD licensed.
View this project on nanoc3-blog.mgutz.com.
Features
- Uses the appropriate filter based on the file extension: .erb -> ERB, .haml -> HAML, .md, .markdown -> BlueCloth, .sass -> SASS
- Uses the filesystem_unified datasource, so metadata file or header is optional.
- Rolls/archives articles to front page.
- Generates tag pages.
- Minimalist styling.
- Uses SASS
- DISQUS integration.
Know how to use terminal, Ruby, HAML, SASS
and Markdown
.
From the command line
% gem install bundler
% git clone git:https://github.com/mgutz/nanoc3_blog.git your_blog
% cd your_blog
% bundle install
Compile the site
# cleans output/ directory. `rm -rf output` works just as well
% rake clean
# compiles content/* and copies static/* to output/
% nanoc compile
# runs preview server and autocompile on page refresh
% nanoc aco
Preview the site on https://localhost:3000
Edit these two files:
content/about.md
content/sticky.md # box content on front page
Delete articles to remove them from site. Then, recompile and restart server.
To change the front page: content/index.haml
To change the site layout: layouts/default.haml
To style the site: content/assets/style.sass
Edit the Markdown file created by running this command:
# filename is written to console
% rake create:article title='Hello world'
View your page after compiling or refresh in preview mode.
Put static files into the static/
folder instead of content/
. static/*
is copied to the output/
folder on compile and preview.
Edit these files:
config.yaml
atom.xml.erb
DISQUS comment service allows users to post comments on your static site. As such, one must register your site on DISQUS to
use their service. Once registered, simply uncomment and adjust disqus_shortname
in config.yaml
. Uncommenting this setting
enables comments in articles.
Copy output/*
to the public folder of your web server.
Or, if you use rsync:
# configuration is in config.yml
rake deploy:rsync
Hyphens in file names are converted to subdirectories in the output. You decide how you want to organize your posts.
# e.g. These files render to the same output file.
2010-01-01-post.haml #=> 2010/01/01/post.html
2010/01-01-post.haml #=> 2010/01/01/post.html
2010/01/01-post.haml #=> 2010/01/01/post.html
Files may use Rails naming conventions, in which the first extension is retained for the output file and the second determines the template processor:
sitemap.xml.erb #=> generate sitemap.xml using erb processor
If a single extension is used, then the files are assumed to be CSS and HTML:
.sass #=> .css
.* #=> .html