vue-cli-ghpages
v1.0.0
Published
GitHub pages for vue-cli users. Publish to gh-pages branch on GitHub. The Single-Page App Hack for GitHub Pages.
Downloads
14
Maintainers
Readme
vue-cli-ghpages
Publish to any gh-pages
branch on GitHub. The Single-Page App Hack for GitHub Pages.
A clean way of deploying vue-cli apps to github pages
.
Made for vue-cli
users.
Made on top of tschaub/gh-pages.
Inspired by angular-cli-ghpages
and spa-github-pages
.
Quick start
Quickly understand what vue-cli-ghpages
has done.
Installation
This command has the following prerequisites:
- Node.js 6.x
- Git 1.7.6 or higher
- optional: Vue project created via vue-cli
To install the command once globally run the following:
$ npm install -g vue-cli-ghpages
Usage
Execute vue-cli-ghpages
in order to deploy the project with a build from dist
folder.
Note: you have to create the dist folder in before (e.g. npm run build)
Usage:
$ npm run build
$ vue-cli-ghpages [OPTIONS]
there is also a shorter vcg
command available
$ npm run build
$ vcg [OPTIONS]
Tip: If you want to push to gh-pages
on the same repository with your default credentials, then just enter vcg
without any options.
Options
--help
- Example:
vcg --help
Output usage information.
--version
- Example:
vcg --version
Output the version number.
--message
- [optional]
- Default:
Vcg: Update live demo
- Example:
vcg --message="Update live demo"
The commit message, must be wrapped in quotes.
--branch
- [optional]
- Default:
gh-pages
- Example:
vcg --branch=other-branch
The name of the branch you'll be pushing to.
The default uses GitHub's gh-pages
branch,
but this can be configured to push to any branch on any remote.
--name & --email
- [optional]
- Default: value of
git config user.name
andgit config user.email
- Example:
vcg --name="Displayed Username" [email protected]
If you are running the command in a repository without a user.name
or user.email
git config properties
(or on a machine without these global config properties),
you must provide user info before git allows you to commit.
In this case provide both name
and email
string values to identify the committer.
--repo
- [optional]
- Default: url of the origin remote of the current dir (assumes a git repository)
- Example:
vcg --repo=https://example.com/other/repo.git
By default, gh-pages assumes that the current working directory is a git repository,
and that you want to push changes to the origin
remote.
If instead your files are not in a git repository, or if you want to push to another repository,
you can provide the repository URL in the repo
option.
--dir
- [optional]
- Default:
dist
Directory for all published sources, relative to the project-root. Most probably no change is required here. This option can be used to deploy completely different folders, which are not related at all to Vue.
--CNAME
- [optional]
- Default: ''
- Example:
vcg --CNAME=example.io
Set up a custom domain. see GitHub Pages instructions for setting up a custom domain.
--pre-deploy*
- [optional]
- Default:
undefined
- Example:
vcg --pre-deploy
Take care the flag. Upcoming...
*
Check the environment and configuration. Run through without publishing.
Why vue-cli-ghpages?
If you’re getting started with Vue, use vue-cli
to scaffolding Vue.js projects. Then, host Vue app
(single page apps) with github pages
.
You don’t need to install or configure tools like
gh-pages
.You don’t need to waste time Hacking for GitHub Pages.
You don’t even need to learning git.
They are preconfigured and hidden so that you can focus on your code.
Just run vcg
, and you’re good to go.
Why it's necessary?
GitHub Pages doesn't natively support single page apps. When there is a fresh page load for a url like example.tld/foo, where /foo is a frontend route, the GitHub Pages server returns 404 because it knows nothing of /foo. we need Hacking for GitHub Pages.
Learn more:
My hack.json | How it works? | Usage instructions | Publish files to a gh-pages branch on GitHub
FAQ
Contributing
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request