本教程依赖Node.js(不低于 10.13,建议使用 Node.js 12.0 及以上版本),Git,Vscode环境,Coding,腾讯云,Lean Cloud需前置安装或注册账号。
Node.js 为大多数平台提供了官方的安装程序。对于中国大陆地区用户,可以前往 淘宝 Node.js 镜像下载。
其它的安装方法:
点击下载 Vscode,Vscode
安装后,启动,并添加下述 Vsocde
插件:
Vim(可选)
tencent-cloud-cos-upload-image

用于博客源码版本管理,DevOps
过程。
用于个人域名注册
,域名备案
,COS
博客静态文件部署/图片存储,CDN加速等。
用于博客访问量,访客人数统计。
Hexo
Hexo 是一个快速、简洁且高效的博客框架。Hexo
使用 Markdown
(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
Hexo
安装第一章中的 Node.js
环境安装后,即可使用 npm
安装 Hexo
:
$ npm install -g hexo-cli
Hexo
常用命令$ hexo init [folder]
$ hexo new [layout] <title>
$ hexo generate
$ hexo server
下载 最新 release 版本,master
分支无法保证稳定。
下载后解压到博客项目的 themes
目录下并重命名为 fluid
。
配置指定主题
theme: fluid # 指定fluid主题
fluid
覆盖默认配置
使用方式(详见hexo-theme-fluid文档):
文章基本信息
# 标题
title: 一文教你搭建Hexo博客
# 文章id,用于url路径
id: build-a-hexo-blog
date: 2020-10-04 10:08:42
# 文章摘要,显示在列表中
excerpt: 文章详细记录了作者搭建“约克编程技术”Hexo博客过程。内容包含Hexo,Hexo Fluid Theme,Markdown,博客图片处理,CI/CD使用,部署上线,域名备案,CDN加速,博客SEO优化等
# 文章分类
categories:
- Hexo
# 文章标签
tags:
- 腾讯云
- Hexo
本博客 scaffolds/post.md
内容如下:
Hexo
文章详情路径配置
permalink: :id-:hash.html
fluid
主题中存在许多 enable
控制的功能开关,有些功能在开发时希望关闭,上线后才开启。可使用 shell
脚本控制环境变量实现。具体如下:
在博客根目录下新建 start.sh
Coding DevOps
过程运行脚本 start.sh
fluid_config.yml
对应开关设置
本博客开启了Lean Cloud
访问量统计 与 百度统计
。
博客主题 fluid
开启 PV/UV
统计详情配置 见官方文档。
fluid_config.yml
网页统计配置如下
key
fluid_config.yml
百度统计 key
博客主题 fulid
支持Valine
、Disqus
、Gitalk
、Utterances
、畅言
、来必力(livere)
、Remark42
评论平台接入。
博客主题 fluid
开启 评论
配置 见官方文档。
本博客 fluid_config.yml
配置内容示列。
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。由约翰·格鲁伯(John Gruber)在2004年创建。
Markdown
教学不是本文的重点,不做详细的讲解,点击查看 Markdown
基本语法。
本博客使用腾讯云 COS
存储图片和博客静态资源。可能读者会想到产生的费用问题,不用担心,最多也就2个盒饭钱。
COS
计费调研首次开通,可享受半年的免费额度,下图为用户享有的免费额度过期后,费用表如下:
从图中可以看到,存储容量费用为100G,请求100万次,CDN回流100G,一个月产生的费用 ¥27.8
!。点击查看详情。
COS
存储桶进入 COS 控制台,新建两个存储桶,用于存储博客静态资源和博客图片资源。
温馨提示:新建存储桶时,访问权限设置为
公有读私有写
进入博客静态资源存储桶,开启静态网站
功能,即可通过 COS
分配的网址访问博客。
COS
见1.3. Vscode 安装
所述,安装 tencent-cloud-cos-upload-image 插件,即可在 Vscode
中实现选择或截图上传图片至腾讯云 COS
。插件配置如下:
温馨提示:插件中
Secret ID
与Secret Key
查询地址:点击查看
在 Markdown
文件中,快捷键使用:
ctrl+ alt + p
(Windows) / cmd + opt + p
(Mac),粘贴板里面的图片会直接上传至 COS
。ctrl+ alt + o
(Windows) / cmd + opt + o
(Mac),选择本地文件上传至 COS
。该博客使用 Coding 的 DevOps
能力实现博客的云端发布。
进入 Coding
工作台,新建项目 -> 新建代码仓库。使用命令行推送已存在的仓库:
git remote add origin https://e.coding.net/xxxxxx/blog/xxx.git
git add .
git commit -m "init project"
git push -u origin master
在持续集成模块下,新建构建计划流水线,实现 Git
仓库 Push
后自动启动博客构建任务,并部署到云端 COS
。
新建构建计划
配置流水线
运行 start.sh
脚本配置
# 设置脚本可执行权限
chmod +x ./start.sh
# 执行脚本
./start.sh
完成新建
为了方便记忆,使用自定义个人域名 yorkyu.cn。本节将介绍在腾讯云上域名申请,备案,解析,上线配置等步骤。
支持以个人主体注册域名,注册耗时短,点击开始,腾讯云域名注册。
使用中国大陆境内的服务器开办网站必须先办理网站备案,备案成功并获取通信管理局下发的
ICP
备案号后才能开通访问。
支持以个人主体备案网站,备案耗时一般10个左右工作日,点击开始,腾讯云网站备案。
¥110
。每个账号支持购买1个云函数资源包,支持备案2个网站,且不支持生成备案授权码。您的
网站备案申请通过管局审核
并获得备案号后,您必须在网站开通后30日内进行公安备案。如果您的网站涉及经营性备案还需申请经营性网站备案许可证。本文档指导您如何在网站开通后30日内进行公安备案。点击查看
可申请免费域名SSL证书,有效期1年
,期满后重新申请即可。一般1天左右即可申请下来。点击开始申请。
申请的免费证书支持主域名与www域名:
进入腾讯云COS博客静态资源存储桶
详情页,找到域名与传输管理/自定义CDN加速域名
,添加上述申请的域名。
如上图,添加主域名(yorkyu.cn
)与www域名(www.yorkyu.cn
)到自定义 CDN 加速域名,源站类型需选择静态网站源站
。系统会自动给每个添加的域名分配一个 CDN
加速地址,该地址作为 CNAME
指向地址。
CNAME:真实名称记录(
Canonical Name Record
),即CNAME记录
,是域名系统(DNS
)的一种记录。CNAME记录
用于将一个域名(同名)映射到另一个域名(真实名称),域名解析服务器遇到CNAME记录
会以映射到的目标重新开始查询。
域名注册后,您只拥有了这个域名的使用权,但无法通过域名直接访问您的网站。“域名解析” 是使用域名访问的必备环节。人们都习惯记忆域名,但机器间互相只认识 IP 地址,域名与 IP 地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,解析过程是自动进行的。域名解析(DNS)是将域名(例如 cloud.tencent.com)转换成为机器可读的 IP 地址(例如10.10.10.10)的服务。
点击进入腾讯云 DNS 解析 DNSPod。
如上图,分别添加主域名(yorkyu.cn
)与www域名(www.yorkyu.cn
)的 CNAME
记录类型。记录值为 8.5 自定义CDN域名
中的系统自动分配的 CDN
加速地址。
操作了8.5. 自定义CDN域名
后,会在腾讯云内容 内容分发网络 中开启 CDN
加速的域名。
左侧导航找到 证书管理
模块,其次点击 配置证书
,即可开始配置,为域名开启 HTTPS
。
存储于 COS
桶中的静态资源更新时,需及时刷新 CDN
缓存,使博客网站数据及时生效。可使用 COS
提供的云函数功能实现。如下图,简单配置即可:
温馨提示:CDN 缓存策略也可在 内容分发网络
域名管理/域名详情/缓存配置
中配置。
网站在没有提交搜索引擎收录之前,直接搜索你网站的内容是搜不到的,只有提交搜索引擎之后,搜索引擎才能收录你的站点,通过爬虫抓取你网站的东西。进而提高博客内容的曝光率。
sitemap
可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。对于 SEO
,使用 sitemap
可以带来诸多益处:
Hexo
生成 sitemap
# 搜索引擎通用的 sitemap
npm install hexo-generator-sitemap --save
# 百度专用的 sitemap
npm install hexo-generator-baidu-sitemap --save
hexo g
本博客 sitemap
文件地址
_config.yml
设置站点域名
_config.yml
添加sitemap
baidusitemap:
path: baidusitemap.xml
sitemap:
path: sitemap.xml
点击查看 hexo 网站配置 指引。
yorkyu.cn
网站使用 CNAME
进行验证。
在腾讯云 DNS 解析 DNSPod 添加一条 CNAME
记录,记录值为上图中百度资源分配的:
sitemap
操作路径:资源提交 -> 普通收录 -> 资源提交 -> sitemap
DNS
配置值
TXT
记录
sitemap
操作路径:站点地图 -> 添加新的站点地图