A (well, my) boilerplate for starting a webdesign project with the static-blog CMS Jekyll
CSS JavaScript Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
404
_data Added support for posts and abstracted data in .yml Jun 5, 2014
_drafts Added support for posts and abstracted data in .yml Jun 5, 2014
_includes Removed dyslexia button from mobile; non-uppercase site nav Aug 20, 2014
_layouts
_site
contact
static
.csslintrc Updated travis project Apr 1, 2014
.gitignore
.htaccess Added 404 support (won't work if hosted on GitHub Pages) Mar 7, 2014
.scss-lint.yml Upgraded Kramdown and scss-lint Aug 7, 2014
.travis.yml Experimenting with including the .lock files for debugging Aug 11, 2014
Gemfile
Gemfile.github-pages
Gemfile.github-pages.lock
Gemfile.lock Updated gems; sans scss-lint, though Sep 8, 2014
LICENSE.md Added MIT License Jun 5, 2014
README.md Experimenting with including the .lock files for debugging Aug 11, 2014
WRITERS.md Better placeholder name Jun 6, 2014
_config.yml
_favicon.ico Initial commit Feb 26, 2014
_pre-commit Changed order of pre-commit gem test to install Gemfile last Aug 11, 2014
_s3_website.yml
index.html Removed some superfluous .rows; empty-posts handling Aug 7, 2014
package.json

README.md

Jekyll Project Boilerplate

Build Status MIT-license badge Dependency Status

A template for building a static website with the Ruby CMS Jekyll, as well as a project-directory template for how I, @ndarville, aim to start on each project.

Local Installation

Assuming Ruby and Git are installed:

  1. git clone git@github.com:ndarville/jekyll-boilerplate.git
  2. cd jekyll-boilerplate
  3. bundle install
  4. bundle exec jekyll serve --watch

This creates a _site/ folder and starts a localhost:4000 server.

Deployment

On GitHub.io

  1. Create a GitHub repo with the name githubusername.github.io.
  2. Clone the boilerplate with git clone git@github.com:ndarville/jekyll-boilerplate.git.
  3. cd jekyll-boilerplate.
  4. Delete both .lock files.
  5. Delete Gemfile.github-pages; you won't be needing this.
  6. bundle install.
  7. Push your new site to githubusername.github.io.
  8. Done! For more, see the official GitHub Pages site.

For an example project, visit my GitHub site.

Using a Custom Domain

  1. Create a CNAME file in root with the line githubusername.github.io.
  2. Configure DNS using this guide by GitHub.

For an example of a GitHub-hosted site with a custom domain, see my Hafnia Times project.

On AWS

  1. Clone the boilerplate with git clone git@github.com:ndarville/jekyll-boilerplate.git.
  2. cd jekyll-boilerplate.
  3. Delete both .lock files.
  4. Delete Gemfile and rename Gemfile.github-pages to Gemfile.
  5. bundle install
  6. Build your site with bundle exec jekyll build.
  7. Rename _s3_website.yml by removing the prepended underscore.
  8. Enter your AWS credentials in s3_website.yml.
  9. s3_website cfg apply will configure AWS.
  10. You can say [y]es to setting up CloudFront, if you want. You can just type [n]o for now.
  11. Push your built site to AWS with s3_website push.

    s3_website automatically recognizes the folder _site and deploys it. If you want to push a folder with a different name, use s3_website push --site="yourfoldername".

  12. Done!

From now on, just use s3_website push to deploy your changes. For more info on using s3_website, consult its docs.

Asides

Page files are in Markdown, .markdown. They are viewable in any text editor, but try out Mou if you want to see the rendered version.

As usual, you can update your style.css with the changes to style.scss by running sass --watch style.scss:style.css in static/css/.

Leave feedback and questions in Issues, if you want.

Testing and Travis CI

The boilerplate comes with its own Travis CI configuration. It would be silly not to use it. See what it does for this repo over here.

“Your s3_website Gem Is Out of Date, Dudeski”

I know. The reason is that versions from 2.0 require Java, and I know I personally don’t want anything to do with Java, if I can help it.

License

MIT License.