diff --git a/source/_data/sidebar.yml b/source/_data/sidebar.yml index e3484bb29b..76ca2e48a0 100644 --- a/source/_data/sidebar.yml +++ b/source/_data/sidebar.yml @@ -14,6 +14,7 @@ docs: server: server.html generating: generating.html deployment: + overview: deployment.html github_pages: github-pages.html gitlab_pages: gitlab-pages.html one_command_deployment: one-command-deployment.html @@ -51,4 +52,4 @@ api: migrator: migrator.html processor: processor.html renderer: renderer.html - tag: tag.html \ No newline at end of file + tag: tag.html diff --git a/source/docs/deployment.md b/source/docs/deployment.md new file mode 100755 index 0000000000..3e6e8f6d65 --- /dev/null +++ b/source/docs/deployment.md @@ -0,0 +1,59 @@ +--- +title: Deploy +--- + +As a static site generator, Hexo renders *static* websites. You can host your website on any server, CDN or your favorite development platform. + +## Deployer Plugins + +Besides them, Hexo also provides many plugins that can help you to deploy your Hexo website. Just go to [Plugins List](/plugins) and type `deployer` in the search form and find out! Here are only a few of them: + +### Git + +Deploy your Hexo website to any git-supported platform with [`hexo-deployer-git`](one-command-deployment#Git). + +### Heroku + +Heroku is a cloud platform that lets companies build, deliver, monitor and scale apps. [Read More](one-command-deployment#Heroku). + +### Rsync + +Deploy your Hexo website using rsync with [`hexo-deployer-rsync`](one-command-deployment#Rsync). + +### OpenShift + +OpenShift is an open source container application platform by Red Hat. [Read More](one-command-deployment#OpenShift) + +### FTP/SFTP + +Deploy your Hexo website to your server using FTP/SFTP with [`hexo-deployer-ftpsync`](one-command-deployment#FTPSync) or [`hexo-deployer-sftp`](one-command-deployment#SFTP). + +### RSS3 + +Deploy your Hexo website to RSS3 with [`hexo-deployer-rss3`](one-command-deployment#RSS3). + +## Platforms + +### GitHub Pages + +Deploy Hexo to GitHub Pages as a personal/project site and automate the whole process with GitHub Actions. [Read More](github-pages). + +### GitLab Pages + +With GitLab's built-in CI runner, you can easy to build your Hexo website and deploy to GitLab Pages service. [Read More](gitlab-pages). + +### Netlify + +Netlify provides free static site hosting service with CDN, CI/CD and Automated SSL. [Read More](one-command-deployment#Netlify). + +### Vercel + +Vercel is a severless cloud platform for websites and serverless APIs. [Read More](one-command-deployment#Vercel). + +### Bip + +Deploy your website in seconds to your own .bip.sh domain. [Read More](one-command-deployment#Bip). + +### Edgio + +Edgio (formerly Layer0) is an Internet-scale platform that makes it easy for teams to build, release, protect, and accelerate their web apps and APIs. [Read More](one-command-deployment#Edgio-formerly-Layer0) diff --git a/source/docs/one-command-deployment.md b/source/docs/one-command-deployment.md index 42b86682ff..a3884d405d 100644 --- a/source/docs/one-command-deployment.md +++ b/source/docs/one-command-deployment.md @@ -29,7 +29,9 @@ deploy: Refer to the [Plugins](https://hexo.io/plugins/) list for more deployment plugins. -## Git +## Deployer Plugins + +### Git 1. Install [hexo-deployer-git]. @@ -61,7 +63,7 @@ Option | Description | Default 4. Navigate to your repository settings and change the "Pages" branch to `gh-pages` (or the branch specified in your config). The deployed site should be live on the link shown on the "Pages" setting. -## Heroku +### Heroku Install [hexo-deployer-heroku]. @@ -83,17 +85,7 @@ deploy: | `repo`, `repository` | Heroku repository URL | | `message` | Customize commit message (Default to `Site updated: {% raw %}{{ now('YYYY-MM-DD HH:mm:ss') }}{% endraw %}`) | -## Netlify - -[Netlify](https://www.netlify.com/) provides continuous deployment (Git-triggered builds), an intelligent global CDN, full DNS (including custom domains), automated HTTPS, asset acceleration, and a lot more. It is a unified platform that automates your code to create high-performance, easily maintainable sites and web apps. - -There are two different ways to deploy your sites on Netlify. The most common way is to use the web UI. Go to the [create a new site page](https://app.netlify.com/start), select your project repo from GitHub, GitLab, or Bitbucket, and follow the prompts. - -Alternatively, you can use Netlify's [Node based CLI](https://www.netlify.com/docs/cli/) tool to manage and deploy sites on Netlify without leaving your terminal. - -You can also add a [Deploy to Netlify Button](https://www.netlify.com/docs/deploy-button/) in your README.file to allow others to create a copy of your repository and be deployed to Netlify via one click. - -## Rsync +### Rsync Install [hexo-deployer-rsync]. @@ -125,7 +117,7 @@ deploy: | `verbose` | Display verbose messages | true | | `ignore_errors` | Ignore errors | false | -## OpenShift +### OpenShift Install [hexo-deployer-openshift]. @@ -147,7 +139,7 @@ deploy: | `repo` | OpenShift repository URL | | `message` | Customize commit message (Default to `Site updated: {% raw %}{{ now('YYYY-MM-DD HH:mm:ss') }}{% endraw %}`) | -## FTPSync +### FTPSync Install [hexo-deployer-ftpsync]. @@ -181,7 +173,7 @@ deploy: | `connections` | Connections number | 1 | | `verbose` | Display verbose messages | false | -## SFTP +### SFTP Install [hexo-deployer-sftp]. Deploys the site via SFTP, allowing for passwordless connections using ssh-agent. @@ -217,7 +209,55 @@ deploy: | `forceUpload` | Override existing files | false | | `concurrency` | Max number of SFTP tasks processed concurrently | 100 | -## Vercel +### RSS3 + +[RSS3](https://rss3.io) is an open protocol designed for content and social networks in the Web 3.0 era. + +1. Install [hexo-deployer-rss3]. + +2. Modify the configuration. + + ``` yaml + deploy: # The root configuration block for all deployers + - type: rss3 + endpoint: https://hub.rss3.io + privateKey: 47e18d6c386898b424025cd9db446f779ef24ad33a26c499c87bb3d9372540ba + ipfs: + deploy: true + gateway: pinata + api: + key: d693df715d3631e489d6 + secret: ee8b74626f12b61c1a4bde3b8c331ad390567c86ba779c9b18561ee92c1cbff0 + ``` + +| Parameters | Description | +| ----------------- | ---------------------- | +| `endpoint` | a link to the RSS3 Hub | +| `privateKey` | your private key, 64 bytes | +| `ipfs/deploy` | whether to deploy to IPFS | +| `ipfs/gateway` | IPFS API gateway | +| `ipfs/api/key` | IPFS gateway-related authentication content | +| `ipfs/api/secret` | IPFS gateway-related authentication content | + +3. generate static files + +4. deploy + +For deployment-related considerations, you can refer to [Our documentation](https://github.com/NaturalSelectionLabs/hexo-deployer-rss3/blob/develop/README.md). + +## Platforms + +### Netlify + +[Netlify](https://www.netlify.com/) provides continuous deployment (Git-triggered builds), an intelligent global CDN, full DNS (including custom domains), automated HTTPS, asset acceleration, and a lot more. It is a unified platform that automates your code to create high-performance, easily maintainable sites and web apps. + +There are two different ways to deploy your sites on Netlify. The most common way is to use the web UI. Go to the [create a new site page](https://app.netlify.com/start), select your project repo from GitHub, GitLab, or Bitbucket, and follow the prompts. + +Alternatively, you can use Netlify's [Node based CLI](https://www.netlify.com/docs/cli/) tool to manage and deploy sites on Netlify without leaving your terminal. + +You can also add a [Deploy to Netlify Button](https://www.netlify.com/docs/deploy-button/) in your README.file to allow others to create a copy of your repository and be deployed to Netlify via one click. + +### Vercel [Vercel](https://vercel.com) is a cloud platform that enables developers to host Jamstack websites and web services that deploy instantly, scale automatically, and requires no supervision, all with zero configuration. They provide a global edge network, SSL encryption, asset compression, cache invalidation, and more. @@ -243,13 +283,13 @@ Alternatively, you can click the deploy button below to create a new project: [![Deploy Vercel](https://vercel.com/button)](https://vercel.com/new/hexo) -## Bip +### Bip [Bip](https://bip.sh) is a commercial hosting service which provides zero downtime deployment, a global CDN, SSL, unlimited bandwidth and more for static websites. Plans are available on a pay as you go, per domain basis. Getting started is quick and easy, as Bip provides out the box support for Hexo. This guide assumes you already have [a Bip domain and Bip CLI installed](https://bip.sh/getstarted). -1: Initialise your project directory +1: Initialize your project directory ```bash $ bip init @@ -265,43 +305,7 @@ $ hexo generate —deploy && bip deploy After a few moments, your website will be deployed. -## RSS3 - -[RSS3](https://rss3.io) is an open protocol designed for content and social networks in the Web 3.0 era. - -1. Install [hexo-deployer-rss3]. - -2. Modify the configuration. - - ``` yaml - deploy: # The root configuration block for all deployers - - type: rss3 - endpoint: https://hub.rss3.io - privateKey: 47e18d6c386898b424025cd9db446f779ef24ad33a26c499c87bb3d9372540ba - ipfs: - deploy: true - gateway: pinata - api: - key: d693df715d3631e489d6 - secret: ee8b74626f12b61c1a4bde3b8c331ad390567c86ba779c9b18561ee92c1cbff0 - ``` - -| Parameters | Description | -| ----------------- | ---------------------- | -| `endpoint` | a link to the RSS3 Hub | -| `privateKey` | your private key, 64 bytes | -| `ipfs/deploy` | whether to deploy to IPFS | -| `ipfs/gateway` | IPFS API gateway | -| `ipfs/api/key` | IPFS gateway-related authentication content | -| `ipfs/api/secret` | IPFS gateway-related authentication content | - -3. generate static files - -4. deploy - -For deployment-related considerations, you can refer to [Our documentation](https://github.com/NaturalSelectionLabs/hexo-deployer-rss3/blob/develop/README.md). - -## Edgio (formerly Layer0) +### Edgio (formerly Layer0) [Edgio (formerly Layer0)](https://docs.edg.io) is an Internet-scale platform that makes it easy for teams to build, release, protect, and accelerate their web apps and APIs.