Jekyll Omega Theme

Here I've lifted the excellent HMFAYSAL OMEGA theme, added a few tweaks and packaged it up as a gem-based theme.

Installation and Usage

To create a new website using the theme first grab the default folder structure and files:

wget https://github.com/thespacedoctor/hmfaysal-omega-jekyll-theme/archive/master.zip
unzip master.zip
mv hmfaysal-omega-jekyll-theme-master my-new-website
cd my-new-website/

Now run the provided script to clean up those files:

sh init_setup.sh

and follow the prompts.

Serving and Building

To serve the Jekyll site on your local machine run the following:

bundle exec jekyll serve

and open your browser at the URL stated in the command-line outout (try chaning 127.0.0.1 to localhost in the URL if assests are not getting rendered).

To build the production version of your site run:

bundle exec jekyll build -d /path/to/build/folder

Running in Development Mode with Apache

If you have Apache setup on your local machine to host a development version of your Jekyll site you will need to have the site.url parameter set to localhost to source all of your assests correctly. To do this by overriding the production site.url run the following:

bundle exec jekyll build --config _config.yml,_config_dev.yml

Creating a Password Protected Version of Your Site

You can now create a second version of your site that sits behind basic authentication (if you're hosting with Apache). To do so you first need to create a .htpasswd file with the password you want by running the follow command from the root directory of your Jekyll source and giving a good strong password.

htpasswd -c .htpasswd guest

Once you have your password set run the build commands in the following order:

bundle exec jekyll build
bundle exec jekyll build --config _config.yml, --destination _site/protected --unpublished --baseurl=/protected

Now when you go the the /protected subpath of your domain you will be prompted for a user and password. Any posts with the front-matter published: false will be found in the protected version of your site but not the public version. Niffty.

Note: make sure that you have AllowOverride AuthConfig within a Directory tag in either a VirtualHost or your httpd config file to allow the .htaccess file to alter the authentication settings for the directory it lives in.

<VirtualHost *:80>
      ...

      <Directory /path/to/my/_site>
        Options FollowSymLinks Includes Indexes
        Require all granted
        AllowOverride AuthConfig
      </Directory>

      ...
</VirtualHost>