summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScisco <alireza@developmentseed.org>2014-07-17 12:30:45 -0400
committerScisco <alireza@developmentseed.org>2014-07-17 12:30:45 -0400
commit086ca2848f1147c71395689d8488162aa67590c4 (patch)
tree04fcc3b47f0ae1c081a53a1d11679aea6a8fe343
parentea87493f9a91a0d853ea6dd5f6e4a25cb9d536db (diff)
Updated readme file with more helpful help
-rw-r--r--readme.md42
1 files changed, 36 insertions, 6 deletions
diff --git a/readme.md b/readme.md
index 948f474..3f59f4b 100644
--- a/readme.md
+++ b/readme.md
@@ -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`