/adamjames.github.io-source

Deprecated source used to build an older version of adamjames.github.io which used plugins.

Primary LanguageCSS

This repository is no longer used and has been deprecated in favour of the standard Github-compiled approach. It remains here for reference purposes.

These are the Jekyll and HTML/Markdown source files used to generate the content served at adamjames.github.io. They are stored seperately to the processed blog content in order to make forking and management easier.

A Vagrantfile for the virtual machine I use to build the blog is also included. You may wish to change it before you begin. Jekyll content is made available at http://localhost:8124 by default.

You'll need to modify the content of _config.yml, about.md, 404.md, and most of the files in the layouts folder to suit yourself. In particular, you'll want to replace my name with yours, remove the Disqus embed and footer content, and update the About Me and 404 pages as appropriate.

Getting up and running

Run vagrant up followed by vagrant rsync-auto in another Terminal tab once the machine is up and running to sync modified content back to the VM for processing.

SSH into the vagrant machine using vagrant ssh, then cd /vagrant and finally jekyll serve --watch. Jekyll should build the content and make it available at http://localhost:8124.

Plugins and Rsync

If you allow the _site folder to be included in rsync-auto's file list (configurable in the Vagrantfile), the tag folder that the plugin generates will be lost when a change is made on the host machine.

This is because the host folder and all subfolders are synchronised to the Vagrant machine when a change is made, and because the tag folders generated by the plugin are not present on the host - only within the VM - they are deleted.

As soon as I have the time to work out a solution for this I'll update the repository with it. For now, I've found the best thing to do is to copy the _site folder that Jekyll generates directly from the VM to some folder on the host machine that is not being watched by the rsync-auto process.

Publishing to Github Pages

Because this Jekyll blog uses third-party plugins, you'll need to generate the static content (which ends up in the _site subdirectory by default) and then copy it into your {username}.github.com repository, commit it and push it.

Once you've built your static content, copy it from the VM's /vagrant folder into your Github Pages repository folder, commit the new content and push it to Github. Don't forget to include a .nojekyll file in the root of the repository so that the content is served as-is.

It is entirely possible for you to use Git from within the VM (via vagrant ssh) to publish to Github, but you'll need to set this up yourself.

If you're using rsync-auto to synchronise content between the Vagrant machine and the host, do not rely on the content of the _site folder on the host, as it is not kept up to date for the reasons explained above.

Credits and Licence

The theme is based on great CSS by Hans Engel.

Where possible, I release the content of this site under the terms of CC BY-SA 4.0.