前言
拥有一个自己的博客网站听起来是一个很酷的事,你可以在博客里分享一些东西,它也许可以帮助到一些人,也可以让自己在互联网留下足迹,也许你会认为要买服务器买域名的,肯定要花不少钱,不过也有免费方案,例如我这个博客就是使用hexo框架,用codeberg的pages来托管自己的博客的,不过除了codeberg的pages服务,github也有pages服务,也就是我的副站,不过本篇博文只讲hexo和codeberg-pages从零开始搭建个人博客,github的找个时间再发布
注册账号
那么既然要使用codeberg pages服务那么肯定需要一个codeberg账号,如果没有就访问官方网站,Codeberg是一个代码托管平台,详细说明查看维基百科注册 codeberg账号这种小孩都会的东西我就不细说了,只需要准备一个可以正常使用的邮箱(最好是gmail),然后注意一下自己的用户名,因为博客网址包含用户名称
安装软件
使用hexo我们需要nodejs和npm,我们使用包管理器安装sudo pacman -S git nodejs npm
然后使用npm来全局安装hexosudo npm install -g hexo-cli
其他细节参考官方文档:
https://hexo.io/zh-cn/docs/
初始化博客
使用npm安装好hexo后,执行以下命令来初始化hexo init blog
完成后就会在当前目录创建一个blog的文件夹,里面就是我们的博客本体,我们cd到该目录cd blog
进入该目录后使用npm来补全依赖什么的npm install
基本配置
打开_config.yml文件修改配置
1 | # Site |
其他细节参考官方文档:
https://hexo.io/zh-cn/docs/configuration
配置主题
hexo默认的主题,虽然算不上难看但是我不喜欢,因为它没有暗色然后样式我也不太喜欢所以我的博客使用了cactus主题,一个极简的响应式主题,我们使用git工具把主题克隆到我们博客themes
文件夹里面git clone https://github.com/probberechts/hexo-theme-cactus.git themes/cactus
然后在_config.yml文件修改主题(不是主题的_config.yml,是博客根目录的_config.yml)
1 | # theme: landscape |
然后创建一些比如说关于,标签的页面hexo new page about
文件在blog/source/about文件夹里,打开里面的index.md修改为
1 | --- |
标签那些东西也是一样的操作
修改主题字体大小
正文字体大小设置
cactus主题默认的字体比较小,在阅读博文的时候就会比较费劲,打开blog/themes/cactus/source/css/_variables.styl
1 | // Fonts 修改$font-size部分 |
小标题字体大小设置
但是修改完成后你好发现虽然正文字体变大了但是小标题那些还是原来的大小,就会让正文比小标题还大,这样就让小标题失去它的作用了,我们需要修改`blog/themes/cactus/source/css/_extend.styl
h1,h2,h3这些是从大到小的标题大小
1 | $base-style |
TOC字体大小设置
toc就是文章目录,但是还是老问题,toc字体太小了,所以打开blog/themes/cactus/source/css/_partial/post/actions_desktop.styl
修改#toc部分和上面的h1,h2,h3一样
1 | #toc |
其他设置
设置gruvbox主题配色
默认的cactus主题有三个主题,不过没有我最喜欢的gruvbox的主题,所以我们打开/home/uxtk/blog/themes/cactus/source/css/_colors/dark.styl 修改里面的配色
1 | $color-background = #282828 // Gruvbox 经典深色背景 |
在blog/themes/cactus/_config.yml 确保colorscheme是dark
设置logo和图标图片
默认的图片是一个可爱的仙人掌,所以我们要修改logo图片,在blog/themes/cactus/source/images放入自己的logo的图片,然后在blog/themes/cactus/_config.yml 修改为自己的图片
1 | logo: |
设置导航栏
在blog/themes/cactus/_config.yml修改nav部分
1 | nav: |
设置社交链接
在blog/themes/cactus/_config.yml修改social_links部分
1 | social_links: |
设置主页的文章显示数量
默认只显示最新的5篇文章,在blog/themes/cactus/_config.yml修改posts_overview部分
1 | posts_overview: |
你也可以顺便在主页显示标签云tags_overview: true
设置页面宽度
默认的宽度太窄了,我们修改page_width部分page_width: 80
顺便更正真正的建站时间
1 | copyright: |
本地查看一下效果
修改好这些后就可以在本地查看一下效果怎么样了,在博客根目录
下执行命令hexo clean && hexo g && hexo s
然后在浏览器输入http://localhost:4000/就可以本地查看了
上传到仓库
安装hexo-deployer-git插件
hexo-deployer-git用来把生成好的网页文件自动推送到远程仓库,不用再手动git到仓库,在博客根目录使用npm安装插件npm install hexo-deployer-git --save
打开根目录下的 _config.yml 文件在找到 deploy 配置项,修改为你的仓库信息
1 | deploy: |
配置git
git在使用之前需要添加用户名和邮箱才可以使用,输入以下命令git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
新建codeberg仓库
打开主页右上方的加号,选择创建仓库,仓库名称填入pages,然后创建仓库
创建访问令牌
打开右上角的头像点击设置再点击应用后点击创建访问令牌,令牌名称顺便,权限全部选择读写,仓库选择全部,然后点击生成令牌后把令牌复制到一个安全的地方就可以了
上传代码到仓库
输入以下命令hexo clean && hexo g && hexo d
运行后会要求你输入用户名和密码,密码就是访问令牌
启用codeberg pages服务
打开仓库页面,点击右边扳手图标的设置,选择Web钩子,点击添加Web钩子,选择Forgejo,打开后目标URL填入https://用户名.codeberg.page
最后点击更新web钩子,等待几分钟就可以得到你的个人博客了