Wilson Mar bio photo

Wilson Mar


Email me Calendar Skype call

LinkedIn Twitter Gitter Instagram Youtube

Github Stackoverflow Pinterest

So you can personalize content

US (English)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Estonian   اَلْعَرَبِيَّةُ (Egypt Arabic)   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean


The Annoyance

One of the limitations of using a static site Jekyll template is visitors don’t sign in.

Jekyll was not built to ask users for their login credentials (like Wordpress and other CMS systems do).

Since there is currently no mechanism for additional plug-ins to GitHub.io hosting, an alternative hosting service is needed.

So what to do?


All is described at: https://github.com/benbalter/jekyll-auth

  1. Create a GitHub Organization to make use of its membership authentication and access features.
  2. Create a GitHub project under that organization.
  3. Create a Jekyll site within that project.
  4. Create a GitHub Application
  5. Install Heroku toolbelt to work with Heroku (Heroku gem doesn’t work for this).
  6. Host the site on Heroku, which has extra capabilities not offered by GitHub.io.

Fabian kostadinov explains it all with this diagram:

Jekyll-auth workflow

GitHub Application

  1. Apply at https://github.com/settings/applications/new

An article of how this works: http://fabian-kostadinov.github.io/2014/11/13/installation-of-jekyll-auth/

Heroku hosting

Having the site hosted on Heroku and using Jekyll-Auth keeps the website itself in a protected zone and enables control of access to both website and data.

Database using Prose


See http://labs.panchadsaram.com/jekyll-db/

Text files in Github can serve as a “database” of data about users, etc.


Items are stored in text markdown tables within .md files named like any post (such as 2013-09-02-item-1.md).



Build HTML forms for user input from JSON Schema.

https://github.com/joshfire/jsonform is not maintained anymore.


Prose online editor


is an online editor for editing (markdown, HTML and other) files in a repository on GitHub.com.