使用gitee pages搭建个人博客

7,393 阅读5分钟

[toc]

前言

程序员搭建个人博客,一般有两种方法:

  • 到csdn、掘金这些大网站上开通,但是这样一般没有什么个性,都是固定的模板(即使cnblogs这种可以让你通过嵌入css等调整样式)
  • 自己搭建一个网站

但是自己搭建,除了要自己写代码外,最麻烦的是花钱买域名和买空间。于是github的pages是不花钱的最好选择。

但是github在国外,网速实在不快,还好这几年国内有了gitee,同样,gitee pages也是免费(非pro)。

  • 域名虽然叫 xxx.gitee.io,但是前面xxx可以让我们自定义,已经很好了(毕竟免费)
  • 只能放静态文件:html、css、js、图片等
  • 没有数据库,不支持jsp、nodejs、ruby、python这些动态语言
  • 还好支持Jekyll、Hugo、Hexo,勉强可以解决了不能使用动态语言的编写博客网站的一些限制

如何开始

网上虽然有很多教程,但是其实官网就写的很详尽:

git.mydoc.io/?t=154714#t…

不过官网很长,pages只是其中一点,所以看的时候鼠标滚动很不方便,所以我弄到这里,剪短,容易看一些。图片我就不拷贝了,到官网看吧。

我遇到的问题

创建后,访问显示404

我创建了项目danni3.gitee.io,访问https://danni3.gitee.io/danni3.gitee.io/可以,但是访问 danni3.gitee.io不行

404 Not Found

openresty/1.13.6.2

  • 官网有说,项目必须和你的id一致。
  • 这个和github不太一样
  • 但是也表示gitee支持多个项目发布到pages,不错

接着我把仓库名字改成danni3,还是不行

  • 因为gitee里提示了,改了仓库名后url还是旧的
  • 必须新建一个新仓库
  • 这时候我想新建danni3,又提示存在了(因为刚才我改了)
  • 看来必须删掉旧了才好

gitee pages支持https

这个很赞。

码云Pages

码云 Pages 是一个免费的静态网页托管服务,您可以使用 码云 Pages 托管博客、项目官网等静态网页。如果您使用过 Github Pages 那么您会很快上手使用码云的 Pages服务。目前码云 Pages 支持 Jekyll、Hugo、Hexo编译静态资源。

Jekyll、Hugo、Hexo 编译判断依据

编译 Hugo 依据:项目编译目录下存在config.toml|json|yaml文件和content目录的时候,会使用hugo生成静态文件。

编译 Hexo 依据:项目编译目录下存在package.json,_config.yml文件和scaffolds目录的,会使用hexo generate生成静态文件,由于每次部署编译需要重新克隆编译并进行npm install,所以使用 Hexo 的时间相对 Hugo 和 Jekyll 会长一些。

当不符合上述1和2条件的时候,就默认使用Jekyll编译。

常见问题

如何创建一个首页访问地址不带二级目录的 pages,如ipvb.gitee.io

答:如果你想你的 pages 首页访问地址不带二级目录,如ipvb.gitee.io,你需要建立一个与自己个性地址同名的项目,如 gitee.com/ipvb 这个用户,想要创建一个自己的站点,但不想以子目录的方式访问,想以ipvb.oschina.io直接访问,那么他就可以创建一个名字为ipvb的项目 gitee.com/ipvb/ipvb 部署完成后,就可以以 ipvb.gitee.io 进行访问了。

当要部署的项目与自己的个性地址不一致时,部署完成后存在一些资源访问404?

答:当需要部署的项目和自己的个性地址不一致时,如:gitee.com/ipvb/blog ,生成的pages url 为 ipvb.gitee.io/blog ,而访问的资源404,如 ipvb.gitee.io/style.css 。这是因为相应配置文件的相对路径存在问题导致的,生成的资源 url 应该为 ipvb.gitee.io/blog/style.… 才对。对于不同的静态资源生成器,配置如下:

Hugo 配置文件config.toml的baseURL修改如下 baseURL = "ipvb.gitee.io/blog" Hexo 配置文件_config.yml的url和root修改如下: url: ipvb.gitee.io/blog root: /blog Jekyll 配置文件_config.yml的 baseurl修改如下: baseurl: "/blog" # the subpath of your site, e.g. /blog Jekyll 中带有下划线开头文件夹或者文件无法访问,例如:_layouts 答:需要在项目目录下新建_config.yml,编写:include: [_layouts] 即可。

如何自定义404?

答:在项目根目录新建 404.html 文件即可。

1. 使用前须知

1、项目必须有 index.html 才可以正常访问

2、静态网页的样式可以自己写,也可以拿一些静态模版来修改,Pages服务本身不提供任何形式的模版,但我们后续会陆续增加例子,供大家参考使用。

2. 一个小白的Pages搭建之旅

A.新建项目 test_pages

  • 点击创建完成项目的创建

B.添加文件 index.html (注意名称是index.html哦!)

  • 点击新建文件

  • 文件名输入index.html,内容就是简单的html

  • 点击提交,将文件提交到仓库

C.选择 pages 服务

D.选择需要部署的分支,这里选择 Master 启动服务。

E.访问生成的网站地址,即可以查看你部署的静态页面啦!

3. 已经有 Pages 项目如何部署到码云的 Pages

以jQuery-File-Upload项目为例,项目地址:github.com/blueimp/jQu…

它在Github上的Pages地址是:blueimp.github.io/jQuery-File…

如果想把它转移到码云Pages,只需要登录你的码云账户,点击右上角的+号,选择新建项目

然后点击创建,项目会在后台自动导入,导入成功后,点击菜单栏的服务下拉Gitee Pages

这里我们默认的Pages服务分支是项目的默认分支,但是你也已选择自己静态页面所在的分支,这里jQuery-File-Upload项目的静态页面分支是gh-pages,选择gh-pages并点击启动服务。

至此,静态网页已经部署成功,访问提供的地址:frech.gitee.io/jquery-file… 即可查看到jQuery-File-Upload项目的静态官网。

4. Pages 进阶,使用 Jekyll、Hugo、Hexo 生成自己的静态网页

Jekyll、Hugo、Hexo 究竟是什么?

Jekyll、Hugo、Hexo 是简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过 Markdown 以及 Liquid 转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。Jekyll、Hugo、Hexo 也可以运行在 码云(Gitee.com) Pages 上,也就是说,你可以使用码云的服务来搭建你的项目页面、博客或者网站,而且是完全免费的。

最后

好像:jekyll是ruby的,hugo是go的,huxo是nodejs的。