📝 Streamline your writing in Jekyll with these commands.
Ruby Shell
Clone or download
Latest commit 2d098d7 Jul 16, 2018



Streamline your writing in Jekyll with some commands.

Build Status


Add this line to your application's Gemfile:

gem 'jekyll-compose', group: [:jekyll_plugins]

And then execute:

$ bundle


After you have installed (see above), run bundle exec jekyll help and you should see:

Listed in help you will see new commands available to you:

  draft      # Creates a new draft post with the given NAME
  post       # Creates a new post with the given NAME
  publish    # Moves a draft into the _posts directory and sets the date
  unpublish  # Moves a post back into the _drafts directory
  page       # Creates a new page with the given NAME

Create your new page using:

$ bundle exec jekyll page "My New Page"

Create your new post using:

$ bundle exec jekyll post "My New Post"

Create your new draft using:

$ bundle exec jekyll draft "My new draft"

Publish your draft using:

$ bundle exec jekyll publish _drafts/my-new-draft.md
# or specify a specific date on which to publish it
$ bundle exec jekyll publish _drafts/my-new-draft.md --date 2014-01-24

Unpublish your post using:

$ bundle exec jekyll unpublish _posts/2014-01-24-my-new-draft.md


To customize the default plugin configuration edit the jekyll_compose section within your jekyll config file.

    auto_open: true

and make sure that you have EDITOR or JEKYLL_EDITOR environment variable set.

The latter one will override default EDITOR value.

It will open a newly generated post in your selected editor.


  1. Fork it ( http://github.com/jekyll/jekyll-compose/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Run the specs (script/cibuild)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create new Pull Request