前期的node 、hexo等等都已经配置完成,只需要在Gitee上建库,以及修改一些配置。继续依葫芦画瓢,在Gitee上画出来。例如 https://gitee.com/ipvb
这个Gitee用户,
1、依葫芦画瓢,copy操作
- Gitee仓库命名为 ipvb.gitee.io,仓库公开
- 在_config.yml 配置repo地址为Gitee仓库克隆的地址
https://gitee.com/ipvb/ipvb.gitee.io.git
- 部署到仓库 ,之后可以访问博客地址为
https://ipvb.gitee.io/
2、所遇到的问题以及解决方法
1、之后,开开心心地去访问博客,发现404,博客显示404图片
解决方法:
有的解决方法是重新生成SSH公钥(因为之前电脑重装过),本身仓库是公开的,但是发现Gitee修改了一些规则,公开仓库需要人工审核以及还需要选择开源许可证,
还有一个方法就是为仓库开通Gitee Pages 服务(注意:仓库里要求必须有一个 index.html 页面),
我用的此方法,其他方法也都操作了,只是没有作用
Gitee Pages 服务 一个支持Jekyll、Hugo、Hexo静态网站的服务,其中对用户有一些参考意见。 Gitee Pages使用帮助
开通Gitee Pages需要实名认证,基本上一个工作日之内就可以审核通过
别急,还没有完!
需要修改_config.yml里的配置参数url和
root,
url就是访问个人网站的地址,之前看了注释,有二级目录,以为所有的必须有二级目录呢,以至于之前总是没有配置好,这个url 至关重要,404的原因它也占一部分
仔细找了一下,才发现root在这里,很多的博客地址有二级目录,因此如
url:https://~.gitee.io/blog
,则对应的root:/blog/
,不设置,可能样式丢失
url 的地址就是GiteePages服务开通之后,会生成一个访问地址,此地址就是url地址 (https://ipvb.gitee.io)
因为个人博客首页的访问地址不想带二级目录,直接以这样的地址访问
ipvb.gitee.io
,在Gitee上建库时,仓库的命名考虑为ipvb
,root就不用配置了,默认就好。如 https://gitee.com/ipvb 这个用户,想要创建一个自己的站点,但不想以子目录的方式访问,想以
ipvb.gitee.io
直接访问,那么他就可以创建一个名字为ipvb
的仓库 https://gitee.com/ipvb/ipvb 部署完成后,就可以以 https://ipvb.gitee.io 进行访问了。
2、博客样式丢失
解决方法:
-
检查配置的url 和root 地址是否正确,Gitee Pages上生成的链接为url 地址
url:https://~.gitee.io/blog root:/blog/
url:https://~.gitee.io root:
-
排除第一种可能,可能是缓存问题。清除浏览器缓存,或者
hexo c
之后重新上传部署 -
这些都没有找回样式,那就等待,
我就是这些操作之后,无计可施,去做其他的事了,之后我再打开就好了
3、网页更新
若是后期更新了自己的代码,需要到GiteePages 服务页面,点击更新,新的内容才会生效
4、其他拓展
_config.yml里的配置参数全解
###########此处粘贴出来,只为方便自己查看###########################
# 网站
# 网站标题
title: CN華少的个人博客
# 网站副标题
subtitle: 个人博客
# 网站描述
description: ''
# 网站的关键词。支持多个关键词。
keywords: null
# 您的名字
author: CN華少
# 网站使用的语言。对于简体中文用户来说,使用不同的主题可能需要设置成不同的值,请参考你的主题的文档自行设置,常见的有 zh-Hans和 zh-CN。
language: zh-CN
# 网站时区。Hexo 默认使用您电脑的时区。请参考 时区列表 进行设置,如 America/New_York, Japan, 和 UTC 。一般的,对于中国大陆地区可以使用 Asia/Shanghai。
timezone: Asia/Shanghai
######################################
# 网址
# 网址, 必须以 http:// 或 https:// 开头
url: https://cnhuashao.com
# root 网站根目录
# 文章的 永久链接 格式
permalink: ':year/:month/:day/:title/'
# 永久链接中各部分的默认值
permalink_defaults: null
# 改写 permalink 的值来美化 URL
pretty_urls:
# 是否在永久链接中保留尾部的 index.html,设置为 false 时去除
trailing_index: true
# 是否在永久链接中保留尾部的 .html, 设置为 false 时去除 (对尾部的 index.html无效)
trailing_html: true
#####################################
# 目录
# 资源文件夹,这个文件夹用来存放内容。
source_dir: source
# 公共文件夹,这个文件夹用于存放生成的站点文件。
public_dir: public
# 标签文件夹
tag_dir: tags
# 归档文件夹
archive_dir: archives
# 分类文件夹
category_dir: categories
# Include code 文件夹,source_dir 下的子目录
code_dir: downloads/code
# 国际化(i18n)文件夹
i18n_dir: ':lang'
# 跳过指定文件的渲染。匹配到的文件将会被不做改动地复制到 public 目录中。
# 您可使用 glob 表达式来匹配路径。
skip_render: null
######################################
# 文章
# 新文章的文件名称
new_post_name: ':title.md'
# 预设布局
default_layout: post
# 把标题转换为 标题大写
titlecase: true
# 在新标签中打开链接
external_link:
# 在新标签中打开链接
enable: true
# 对整个网站(site)生效或仅对文章(post)生效
field: site
# 需要排除的域名。主域名和子域名如 www 需分别配置
exclude: ''
# 把文件名称转换为 (1) 小写或 (2) 大写
filename_case: 0
# 显示草稿
render_drafts: false
# 启动 Asset 文件夹 资源(Asset)代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。
post_asset_folder: false
# 把链接改为与根目录的相对位址
relative_link: false
# 显示未来的文章
future: true
# 代码块的设置, 请参考 Highlight.js 进行设置
highlight:
enable: true
line_number: true
auto_detect: false
tab_replace: ''
wrap: true
hljs: false
# 代码块的设置, 请参考 PrismJS 进行设置
prismjs:
enable: false
preprocess: true
line_number: true
tab_replace: ''
index_generator:
path: ''
per_page: 10
order_by: '-date'
###################################
# 分类 & 标签
# 默认分类
default_category: uncategorized
# 分类别名
category_map: null
# 标签别名
tag_map: null
meta_generator: true
##################################
# Hexo 使用 Moment.js 来解析和显示时间。
# 日期格式
date_format: YYYY-MM-DD
# 时间格式
time_format: HH:mm:ss
# 当 Front Matter 中没有指定 updated 时 updated 的取值
# mtime: 使用文件的最后修改时间。这是从 Hexo 3.0.0 开始的默认行为。
# date: 使用 date 作为 updated 的值。可被用于 Git 工作流之中,因为使用 Git 管理站点时,文件的最后修改日期常常会发生改变
# empty: 直接删除 updated。使用这一选项可能会导致大部分主题和插件无法正常工作。
updated_option: mtime
###################################
# 分页
# 每页显示的文章量 (0 = 关闭分页功能)
per_page: 10
# 分页目录
pagination_dir: page
##################################
# 在 Hexo 配置文件中,通过设置 include/exclude 可以让 Hexo 进行处理或忽略某些目录和文件夹。你可以使用 glob 表达式 对目录和文件进行匹配。
# Hexo 默认会忽略隐藏文件和文件夹(包括名称以下划线和 . 开头的文件和文件夹,Hexo 的 _posts 和 _data 等目录除外)。通过设置此字段将使 Hexo 处理他们并将它们复制到 source 目录下。
include: null
# Hexo 会忽略这些文件和目录
exclude: null
# Ignore files/folders
ignore: null
##################################
# 扩展
# 当前主题名称。值为false时禁用主题
theme: icarus
# 部署部分的设置
deploy:
type: ''
# Include/Exclude Files/Folders
# include:
# - ".nojekyll"
# 包括 'source/css/_typing.css'
# - "css/_typing.css"
# 包括 'source/_css/' 中的任何文件,但不包括子目录及其其中的文件。
# - "_css/*"
# 包含 'source/_css/' 中的任何文件和子目录下的任何文件
# - "_css/**/*"
#exclude:
# 不包括 'source/js/test.js'
# - "js/test.js"
# 不包括 'source/js/' 中的文件、但包括子目录下的所有目录和文件
#- "js/*"
# 不包括 'source/js/' 中的文件和子目录下的任何文件
#- "js/**/*"
# 不包括 'source/js/' 目录下的所有文件名以 'test' 开头的文件,但包括其它文件和子目录下的单文件
#- "js/test*"
# 不包括 'source/js/' 及其子目录中任何以 'test' 开头的文件
#- "js/**/test*"
# 不要用 exclude 来忽略 'source/_posts/' 中的文件。你应该使用 'skip_render',或者在要忽略的文件的文件名之前加一个下划线 '_'
# 在这里配置一个 - "_posts/hello-world.md" 是没有用的。
#ignore:
# Ignore any folder named 'foo'.
#- "**/foo"
# Ignore 'foo' folder in 'themes/' only.
#- "**/themes/*/foo"
# Same as above, but applies to every subfolders of 'themes/'.
#- "**/themes/**/foo"