All Projects → jeneser → vue-cli-ghpages

jeneser / vue-cli-ghpages

Licence: MIT License
Made for vue-cli users. Publish to any gh-pages branch on GitHub. The Single-Page App Hack for GitHub Pages.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to vue-cli-ghpages

obsidian-publish-mkdocs
A Template to Publish Obsidian/Foam Notes on Github Pages (uses MkDocs)
Stars: ✭ 219 (+776%)
Mutual labels:  github-pages, gh-pages
Github Pages Deploy Action
Automatically deploy your project to GitHub Pages using GitHub Actions. This action can be configured to push your production-ready code into any branch you'd like.
Stars: ✭ 2,507 (+9928%)
Mutual labels:  github-pages, gh-pages
Cstate
🔥 Open source static (serverless) status page. Uses hyperfast Go & Hugo, minimal HTML/CSS/JS, customizable, outstanding browser support (IE8+), preloaded CMS, read-only API, badges & more.
Stars: ✭ 1,186 (+4644%)
Mutual labels:  github-pages, gh-pages
matjek
Material theme based on Materialize.css for jekyll sites
Stars: ✭ 94 (+276%)
Mutual labels:  github-pages, gh-pages
teletext
Hacker news as teletext
Stars: ✭ 48 (+92%)
Mutual labels:  github-pages
addtobasic.github.io
CUI Portfolio like ubuntu terminal.
Stars: ✭ 18 (-28%)
Mutual labels:  github-pages
gas-url-shortener
A URL Shortening service powered by Google Apps Script.
Stars: ✭ 43 (+72%)
Mutual labels:  github-pages
jekyll-deploy-action
🪂 A Github Action to deploy the Jekyll site conveniently for GitHub Pages.
Stars: ✭ 162 (+548%)
Mutual labels:  gh-pages
rickroll-links
Juicy rickroll links
Stars: ✭ 15 (-40%)
Mutual labels:  gh-pages
angular-loading-button
Loading button directive for AngularJS
Stars: ✭ 27 (+8%)
Mutual labels:  gh-pages
vue-tutorial
A short, sweet, fast rampup tutorial for Vuejs
Stars: ✭ 27 (+8%)
Mutual labels:  vue-cli
Fake Terminal Resume Website
A fake terminal website for coders
Stars: ✭ 57 (+128%)
Mutual labels:  github-pages
sheeptester.github.io
What you see when you go to this site ->
Stars: ✭ 44 (+76%)
Mutual labels:  github-pages
hugo-gh-pages
🚀 Build and Publish Your Hugo Site to GitHub Pages 🚀
Stars: ✭ 37 (+48%)
Mutual labels:  github-pages
static
Download, preview, and deploy dynamic websites to GitHub pages.
Stars: ✭ 40 (+60%)
Mutual labels:  github-pages
vue2.0-tutorial
一个vue2.0的教程,带你一步一步学习vue2.0相关技术栈,在这里,你可以学到vue2.0组件式开发、使用vue-router开发SPA应用、使用vuex管理应用状态等
Stars: ✭ 58 (+132%)
Mutual labels:  vue-cli
vue-home
前后端完全分离--移动端基于vue+vant-ui+vue-cli 解决方案
Stars: ✭ 19 (-24%)
Mutual labels:  vue-cli
startbootstrap-stylish-portfolio-jekyll
Jekyll theme based on Stylish Portfolio Bootstrap theme
Stars: ✭ 20 (-20%)
Mutual labels:  github-pages
CodeForAfrica.org
The @CodeForAfrica landing page. Built with Jekyll and hosted on Github Pages. Accessible at https://codeforafrica.org/
Stars: ✭ 20 (-20%)
Mutual labels:  github-pages
harttle.github.io
Harttle Land 的源码和文章
Stars: ✭ 118 (+372%)
Mutual labels:  github-pages

DANGER: Hack code bug, wontfix!

logo

vue-cli-ghpages

npm version David Percentage of issues still open PR license

NPM

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.

preview

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 and git 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

Why file path is broken and shows blank page on Github Pages?
After publish to gh-pages branch on GitHub. There is still nothing being displayed. File path is broken and shows blank page on Github Pages. Here are the console errors like: Get https://user.github.io/static/[css]|[js]/app.[hash].[css]|[js] 404 (Not Found)
To fix it simplely:
Open up /config/index.js, and find the following line.
assetsPublicPath: '/'
Just change the absolute path to a relative path.
Modify to assetsPublicPath: './' OR assetsPublicPath: 'https://[user].github.io/[project-name]/'
Can i use Vue-router HTML5 History Mode?
Beautiful, you can do it.
Since our app is a single page client side app, without a proper server configuration, the users will get a 404 error if they access http://oursite.com/user/id directly in their browser. Now that's ugly.
vue-cli-ghpages fixed the issue preconfigured and hidden. We hacked(catch-all fallback route to your server) it.
If the URL doesn't match any static assets, it should serve the same index.html page that your app lives in. Beautiful, again!
Learn more: How-it-works? https://github.com/rafrex/spa-github-pages#how-it-works
Where can I see my deployed github pages url?
Go to you repository settings, scroll down to the GitHub Pages section.
You will see: Your site is published at https://user.github.io/project/
My CNAME file is deleted on every publish?
That's by design, the command overrides everything. But, you just need to configure it once. It will make changes based on the existing configuration(CNAME) and flag(--CNAME).
You can also manually modify. (echo "my-domain.com" > dist/CNAME)

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Thanks

angular-cli-ghpages

spa-github-pages

gh-pages

License

MIT Copyright (c) 2017 Jeneser

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].