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