GH-pages-deploy
Deploy straight to github pages with one simple command.
Usage
# install it from npm and symlink it into your PATH
npm install gh-pages-deploy -g
# now run it!
gh-pages-deploy
You can also use npm run
to package it with your app without installing it globally.
First add this to your scripts section of package.json
:
"scripts": { "deploy": "gh-pages-deploy", "clean-source": "rimraf README.md src webroot package.json" },
And then install gh-pages-deploy
as a devDependency:
npm install gh-pages-deploy --save-dev
And now you can run npm run deploy
to run the gh-pages-deploy
installed in the local node_modules
folder (even if you have never done npm install gh-pages-deploy -g
).
You can also provide a custom commit message via command line argument:
"scripts": { "deploy": "gh-pages-deploy -- 'A custom commit message'", },
Options
To configure gh-pages-deploy
all you need to do is specify a couple of things in your package.json
(all of which are optional)
"gh-pages-deploy": {"staticpath": "dist","cname": "nope.org","prep": ["build-sass","optimize-img"],"commit": "a custom commit message","post": ["clean-source"],"noprompt": false},
- "staticpath" path to your files to be copied over to the root directory
- "cname" content for CNAME file
- "prep" an array of script names to run before pushing to github, this can be
any script that you have declared in your "scripts" object in your
package.json
. - "commit" a custom commit message to be used when committing to git
- "post" an array of script names to run after "prep", but before add/commit/push
- "noprompt" if this is set to true, the prompt will be bypassed and you will never need to confirm the commands before deploying.
About
This repo uses gh-pages-deploy
. Checkout the gh-pages
branch and the result at http://davejustice.com/gh-pages-deploy/.
This was inspired after a conversation with max ogden regarding the setup of the Code For Portland Jekyll Pages. Inspired by the leveldb.org repository, I wanted an easier way for people to generate static pages and deploy to github without being tied to just jekyll.
LICENSE
MIT