Blogging with Spacemacs and Jekyll

I use Emacs with Spacemacs configuration kit. These are some of my notes on setting it up to work with this jekyll blog.

Installing the spacemacs jekyll layer

This utilizes a configuration layer to work with a spacemacs-ified Hyde, an excellent jekyll management interface for Emacs.

Assuming you have spacemacs installed and set up, you can just clone the jekyll layer I put together as one of your private layers:

git clone https://github.com/0x414A/spacemacs-jekyll ~/.emacs.d/private/jekyll

Then, set add jekyll to your dotspacemacs-configuration-layers:

  (setq-default dotspacemacs-configuration-layers '(jekyll))

When you reload your spacemacs configuration with SPC f e R, Hyde will be installed.

Configuration

Hyde looks for a .hyde.el in the root of your blog directory, so you'll need to add a .hyde.el there.

This is what mine looks like for this blog:

(setq hyde/git/remote "upstream" ; The name of the remote to which we should push
      hyde/git/remote "master"   ; The name of the branch on which your blog resides
      )

You'll need to exclude this from jekyll's output in _config.yml:

exclude: [Gemfile, Gemfile.lock, README.md, vendor, org, .hyde.el]

Usage

This layer adds a global SPC a j that will prompt you as to where your Jekyll blog source is locally.

Hyde initial view

Then, you'll be brought to this screen:

Hyde main view

You can bring this up any time you're in your blog's source directory with SPC a j.

From there you can create a new draft post by pressing n.

For more on the keybindings, read here.