diff options
author | Scisco <alireza@developmentseed.org> | 2014-07-17 12:30:45 -0400 |
---|---|---|
committer | Scisco <alireza@developmentseed.org> | 2014-07-17 12:30:45 -0400 |
commit | 086ca2848f1147c71395689d8488162aa67590c4 (patch) | |
tree | 04fcc3b47f0ae1c081a53a1d11679aea6a8fe343 | |
parent | ea87493f9a91a0d853ea6dd5f6e4a25cb9d536db (diff) |
Updated readme file with more helpful help
-rw-r--r-- | readme.md | 42 |
1 files changed, 36 insertions, 6 deletions
@@ -2,21 +2,48 @@ A server that listens for webhook posts from GitHub, generates a website with Jekyll, and moves it somewhere to be published. Use this to run your own GitHub Pages-style web server. Great for when you need to serve your websites behind a firewall, need extra server-level features like HTTP basic auth (see below for an NGINX config with basic auth), or want to host your site directly on a CDN or file host like S3. It's cutomizable with two user-configurable shell scripts and a config file. +*This guide is tested on Ubuntu 14.0* + +## Dependencies Installation + +First install main dependencies + + $: sudo apt-get update + $: sudo apt-get install git nodejs ruby ruby1.9.1-dev npm + +To keep server running we use Forever: + + $: sudo npm install -g forever + +We also need Jekyll and Nginx + + $: sudo gem install jekyll + $: sudo gem install rdiscount + $: sudo gem install json + $: sudo apt-get install nginx + ## Installation -- run `$ npm install` to install app dependencies -- Set a [Web hook]() on your GitHub repository that points to your jekyll-hook server `http://example.com:8080/hooks/jekyll/:branch`, where `:branch` is the branch you want to publish. Usually this is `gh-pages` or `master` for `*.github.com` / `*.github.io` repositories. +Clone the repo + + $: git clone https://github.com/developmentseed/jekyll-hook.git + +Install dependencies: + $: npm install + +Set a [Web hook]() on your GitHub repository that points to your jekyll-hook server `http://example.com:8080/hooks/jekyll/:branch`, where `:branch` is the branch you want to publish. Usually this is `gh-pages` or `master` for `*.github.com` / `*.github.io` repositories. ## Configuration -Adjust `build.sh` and `publish.sh` to suit your workflow. By default, they generate a site with Jekyll and publish it to an NGINX web directory. +Copy `config.sample.json` to `config.json` in the root directory and customize: -Copy `config.sample.json` to `config.json` in the root directory and customize. + $: cp config.sample.json config.json + $: vim config.json Configuration attributes: -- `gh_server` The GitHub server from which to pull code +- `gh_server` The GitHub server from which to pull code, e.g. github.com - `temp` A directory to store code and site files - `scripts` - `build` A script to run to build the site @@ -24,9 +51,12 @@ Configuration attributes: - `email` Optional. Settings for sending email alerts - `user` Sending email account's user name (e.g. `example@gmail.com`) - `password` Sending email account's password - - `host` SMTP host for sending email account (e.g. `smtp.gmail.com`) + - `host` SMTP host for sending email account (e.g. `smtp.gmail.com`) - `ssl` `true` or `false` for SSL - `accounts` An array of accounts or organizations whose repositories can be used with this server + +You can also adjust `build.sh` and `publish.sh` to suit your workflow. By default, they generate a site with Jekyll and publish it to an NGINX web directory. + ## Usage - run as executable: `$ ./jekyll-hook.js` |