Pagoda Build Status Code Climate

Zen like blog editor for your Jekyll blog, heavily inspired by Svbtle and Obtvse.




Fullscreen editing

** Edit YAML Data **

Mobile Dashboard and Editing



Two commands, one for installing, another for running.

  gem install pagoda-jekyll
  pagoda .

Default YAML

Each post created with pagoda will have a default yaml data. To modify it, create a _default.yml in your jekyll repository and commit it.

Deploying on your own server

I use basic http authentication in real world use. I've deployed through nginx + unicorn. There could be easier deployment than this.

This is still not well organized, but the setup works.

Create sock and pid folders

mkdir -p tmp/pids
mkdir tmp/sock

Your unicorn configuration (unicorn.rb):

pid "./tmp/pids/"
listen "unix:./tmp/sock/blog-admin.sock"
ENV['blog'] = '/path/to/your/jekyll/blog'

Script to start Unicorn (

cd /path/to/pagoda
rvm use 1.9.3
unicorn -c unicorn.rb  -D

Note: This should be run as bash --login

Create htpasswd file for authentication

htpasswd -c /path/to/httpasswd/file alagu
New password: <enterpasswd>
Re-type new password: <re-enterpasswd>
Adding password for user alagu

Nginx configuration shows the generated blog and pops up a http authentication for your admin.

upstream unicorn_server {
   server unix:/path/to/tmp/sock/blog-admin.sock;

server {

        listen 80;

        location / {
           root  /path/to/your/jekyll/blog/_site/;

        location /admin {
                auth_basic "Restricted";
                auth_basic_user_file /path/to/htpasswd/file;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://unicorn_server;


I get ArgumentError - invalid byte sequence in US-ASCII

Set localte to UTF-8

export LC_ALL=en_US.UTF-8