教程 | 一文搭建你的第一个免费专属博客
moboyou 2025-07-24 23:04 4 浏览
我建了一个QQ学习交流群,旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步!”,感兴趣的可以加一下,也可以添加我的QQ~ QQ群:1002821945;QQ号:498073774;
前言
和大多数搭建个人博客的博主一样,我之所以搭建个人博客的主要原因也是因为不希望受制于各大内容分享平台,生怕有朝一日被安上一个“莫须有”的罪名,所有辛苦创作的内容都付之一炬。
关于搭建个人博客,我在内心规划了很久,<!--more-->一直在徘徊于两个选项之间,
- 自己从底层搭建、注册域名、备案全流程做起;
- 使用一些免费的托管平台和成熟的博客管理系统;
最终,我还是选择了后者,主要原因有如下几点:
- 容易搭建
- 操作和管理简单
- 免费
- 界面美观
目前有很多优秀的博客管理系统,例如WordPress、Halo、hexo,经过反复的对比,我选择了Github Page+hexo的方式进行搭建个人主页,虽然看上去只涉及两个工具或平台,但是要搭建一个完整的个人博客,要做的远不止这些,还要考虑有如下内容,
- 菜单栏
- 搜索框
- 评论功能
- 分享功能
- 访问量
- RSS
- 链接
- ......
本文就详细的介绍一下通过Github Page结合hexo搭建一个完整的个人博客。
域名-GithubPage
要想让别人能够访问到我们的个人博客,首先就需要有一个域名,我们可以自己申请、备案域名然后购买并部署到对应服务器,但是对于入门级这显然是繁琐且需要耗费一定资金的,因此可以使用github pages来托管我们的静态网页,这样我们就可以获取一个名为*.github.io的域名。
注册Github Page的过程如下:
第一步:注册Github账号
首先打开链接https://github.com/join?source=header-home,注册github账号,然后登录github。
第二步:创建github仓库
点击右上角"+",选择New repository,填写Repository name,这个就是可以直接访问的域名,然后点击create repository即可。
到此为止,我们就把创建好了github page。
博客管理工具-hexo
hexo是一个轻量级的博客管理系统,这里要注意,hexo是一个管理系统,它负责新建、部署等博客管理工作。如果使用过git做版本控制的话应该很容易理解,它可以类比为git,可以通过一些命令生成静态网页、把静态网页推送到远程仓库。
hexo安装
由于hexo是基于node.js制作的一款博客管理工具,所以要按照hexo就需要事先安装node,
http://nodejs.cn/download/
$ npm install -g hexo-cli
hexo初始化
安装hexo之后需要对hexo进行初始化,首先需要新建文件夹,进入到新建文件夹之后再进行初始化,
$ mkdir hexo
$ cd hexo
$ hexo init
然后安装一些依赖包,
$ npm install
最后可以得到如下目录,
- 文章
- 关于
- 分类
- 标签
themes中包含的是博客的主题相关内容,其中默认的主题是landscape。
hexo使用
前面提到过,hexo其实类似于git,通过一些命令来实现静态网页生成、部署等工作,我们在维护博客过程中主要使用的有如下几个命令,
$ hexo n blogname # 新建文章,例如,hexo n ComputerScience
$ hexo clean # 清除缓存文件
$ hexo g # 生成静态文件
$ hexo s # 启动本地服务器,预览网页
$ hexo d # 部署文件到指定的仓库
记住上述命令就可以进行日常的个人博客维护工作。
主题-Next
经过前面的配置,就可以通过hexo s启动本地服务器http://localhost:4000/,在浏览器中打开,对网站进行预览,
hexo默认的主题是landscape,我们可以修改为我们自己喜欢的主题,目前hexo有很多适配的主题,其中比较常用,也是本文推荐的就是Next主题。
一个hexo主题的好坏不仅仅取决于它的界面,还要考虑到后期扩展必备功能的需要,Next主题相对比较成熟,能够轻松的配置谷歌、百度检索,此外还可以很容易添加标题栏、阅读量等功能,下面就来看一下Next主题的配置。
克隆Next主题
首先需要把Next主题克隆到博客中themes路径下,
$ cd hexo
$ git clone https://github.com/theme-next/hexo-theme-next themes/next
这样在~/hexo/themes路径下就会有一个next文件夹。
修改配置文件
克隆next主题之后需要修改博客根目录下_config.yml文件,找到theme字段修改成next即可,
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: next
修改主题样式
next主题包含多个样式,我们可以根据自己的喜好进行修改,修改样式的文件在~/hexo/themes路径下,名字同为_config.yml,需要注意,这和前面提到的不是同一个文件,前面的配置文件是博客管理系统hexo的配置文件,这里的是主题的配置文件。
# Schemes
# scheme: Muse
scheme: Mist
# scheme: Pisces
# scheme: Gemini
必备功能
通过前面的配置,我们已经完成个人主页“骨架”部分的搭建,打开预览页面如下,
可以看出,目前为止博客还比较“干净”,很多必要的功能都没有,例如菜单栏不完整,没有搜索框,此外,评论、阅读量、友情链接这些重要的功能都没有,下面就来一一介绍一下这些功能的配置过程。
注意:通过上述配置之后,博客所在路径和主题所在路径下分别有一个config.yml文件,后面所提到的站点配置文件指的是博客根目录下的config.yml,主题配置文件是指themes/_config.yml。
菜单栏
打开主题目录下的配置文件themes/_config.yml,找到menu字段修改菜单栏,
menu:
home: / || home
#about: /about/ || user
#tags: /tags/ || tags
#categories: /categories/ || th
archives: /archives/ || archive
#schedule: /schedule/ || calendar
#sitemap: /sitemap.xml || sitemap
#commonweal: /404/ || heartbeat
其中about是关于,tags是标签,其他的站点之类的也可以根据自己的喜欢进行添加。
搜索框
搜索框是一个博客必不可少的部分,当更新的文章数量逐渐增加之后,为了方便访问者阅读或快速定位目标文章,我们需要给它添加上一个搜索功能,hexo添加搜索框的方式如下,
首先,安装hexo-generator-search,
$ npm install hexo-generator-search --save
然后,在站点配置文件添加下面内容,
search:
path: ./public/search.xml
field: post
format: html
limit: 10000
最后,在把主题配置文件local_search下的enable修改为true,
local_search:
enable: true
# If auto, trigger search by changing input.
# If manual, trigger search by pressing enter key or search button.
trigger: auto
# Show top n results per article, show all results by setting to -1
top_n_per_article: 1
# Unescape html strings to the readable one.
unescape: false
# Preload the search data when the page loads.
preload: false
修改后重新生成静态网页,预览一下即可,
到目前为止,应该可以看到,博客的名称为hexo且没有作者和网站描述信息、此外,网页显示的语言都是英文,我们可以通过修改站点配置文件来把它转换成英文,同时修改博客标题、描述、作者信息,
title: 平凡而诗意
subtitle: Jackpop
description: 原创技术分享网站
keywords:
author: Jackpop
language: zh-Hans
访问量、阅读量
访问量和文章阅读量是我们了解文章受欢迎程度最直接的方式,因此,访问量、阅读量也是一个完整博客不可或缺的部分,如果使用的是其他主体,需要通过一些脚本配置方式来为博客添加阅读量访问量,但是,如果使用Next主题,则不需要这些繁琐的步骤,这也应了前面所说的那句话--评价一个主题不仅仅要依赖它的美观程度,还要依赖它完善而强大的功能。Next主题自带不蒜子计数功能,我们只需要修改主题配置文件,把busuanzi_count下的enable由false改为true即可,
busuanzi_count:
enable: true
评论功能
评论是一个博客非常重要的一项功能,目前有很多知名的博客评论插件,例如比较知名的畅言、来必力、valine等,在这里我还是推荐valine,因为它界面比较简洁,而且不需要访问者注册、登录即可评论,这样对于访问者更加友好。
由于评论内容需要耗费存储资源,因此需要首先注册LeanCloud获取存储引擎,然后复制appid、appkey,然后打开主题配置文件,
valine:
enable: true
appid: Ikslsdjflsjdnclskdfjlskdklalla # your leancloud application appid
appkey: Kokkall09kkssmmcsslla # your leancloud application appkey
notify: false # mail notifier , https://github.com/xCss/Valine/wiki
verify: false # Verification code
placeholder: 请在此输入您的留言 # comment box placeholder
avatar: mm # gravatar style
guest_info: nick,mail,link # custom comment header
pageSize: 10 # pagination size
配制后,重新生成,预览一下可以看到如下效果,
分享功能
当我们看到不错的文章想分享给其他同学怎么办?这时候就需要有博客有一个分享功能,强大的Next主题已经集成了百度分享功能,但是百度分享不支持https,如果想正常使用还需要更多的配置。
首先,修改主题配置文件,
# Baidu Share
# Available value:
# button | slide
# Warning: Baidu Share does not support https.
baidushare:
type: button
baidushare: true
把baidushare改为true。
然后,为了解决百度分享不支持https的问题,需要进一步的修改,要先访问下方链接,
https://github.com/hrwhisper/baiduShare
把static文件夹下载到themes\next\source目录下,
最后,修改themes\next\layout_partials\share\baidushare.swig文件,把末位的代码修改一下,
修改前:
.src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
修改后:
.src='/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];
RSS
RSS(Really Simple Syndication)是一种简易的信息聚合方式,是一种常用的信息订阅方式,但是对于我个人而言这项功能很少使用,如果觉得有必要也可以配置一下,下面就来介绍一下RSS的配置方式。
首先,安装RSS订阅插件,
$ npm install hexo-generator-feed --save
其次,修改站点配置文件,
plugin:
- hexo-generator-feed
# Feed Atom
feed:
type: atom
path: atom.xml
limit: 20
最后,修改主题配置文件,添加下面字段,
rss: /atom.xml
社交、友情链接
在我们的博客中,有时需要添加直达github、知乎、E-mail等社交工具的链接,也需要一些链接到其他网站的友情链接,下面来介绍一下怎么添加社交、友情链接。
首先,打开主题配置文件,搜索social,配置社交链接,
social:
GitHub: https://github.com/Jackpopc || github
E-Mail: mailto:498073774@qq.com || envelope
知乎: https://www.zhihu.com/people/sharetechlee || book
专栏: https://zhuanlan.zhihu.com/sharetechlee || edit
然后,搜索Blog rolls配置友情链接,
# Blog rolls
links_icon: link
links_title: Links
links_layout: block
#links_layout: inline
links:
Title: http://example.com/
福利
我在公众号分享了Python、机器学习、计算机视觉、强化学习等领域相关的学习资源、电子文档。此外,还整理了一些高效的实用工具,如果需要可以关注公众号【平凡而诗意】,回复相应关键字获取~
相关推荐
- 8个最好的WordPress缓存优化插件介绍2023
-
如果你的WordPress网站打开非常缓慢,它大大增加了访客离开的几率,毕竟没有多少人有这么多耐心。所以提高你的WordPress网站速度的一个好方法是使用WordPress的缓存插件。在这篇文章中,...
- WordPress插件依赖症晚期:为什么你的网站装了50个插件还能跑?
-
最近接手一个"插件博物馆"级别的网站——装了58个插件,首页加载8秒,后台卡到连发布文章都要念佛经祈求不报错。客户还一脸天真:"可是每个插件都说自己能提升性能啊!"插件...
- WordPress 网站缓存插件推荐:WP Rocket
-
WPRocket是WordPress的高级缓存插件。由于该插件仅是高级插件,因此非常注重高质量的支持。它背后的团队非常乐意帮助解决可能出现的任何疑问或问题。WPRocket的优点一键配置自...
- (合集)小众但好用的WordPress插件
-
还在犹豫什么?好运的机会稍纵即逝!赶紧关注我,一起开启幸运之旅吧!祝您财运亨通,心想事成!(合集)小众但好用的WordPress插件WordPress插件江湖:一场“小众”与“大众”的暗战老王,一位浸...
- WordPress外贸站插件大战:27个插件互相打架差点搞垮网站
-
今天遇到个奇葩问题,客户网站莫名其妙白屏了诡异现象:前台白屏,后台能进错误日志疯狂刷屏,1小时500MBCPU占用率飙到100%,服务器快冒烟了技术侦探过程:一查插件列表直接惊呆了!客户装了2...
- WordPress外贸站插件选择:别让插件“增肥”了你的网站
-
上个星期,一个做跨境电商的客户找我,问他站点咋回事,后台慢得要死,每个页面都加载几秒钟。他已经装了10多个插件,包括好几个外贸常见的支付、SEO、表单、社交分享插件。我一看后台,发现他装的插件里大多功...
- 7个最好的WordPress数据库优化插件
-
每个WordPress网站都有数据库,它包含了你网站上的所有信息,从用户数据到评论、文章等等。随着你的网站的增长,它的数据库也在增长,在许多情况下,你最终会储存大量的信息,远远超出了它的用途。这可能会...
- uniapp中使用ace在网页上做代码编辑器
-
A、安装npminstallace-buildsB、在uniapp中使用<template><viewclass="content"><...
- 视频下载工具,Downlodr软件体验(视频下载器android)
-
经常给大家分享软件,果核在后台也能收到很多朋友的许愿,想要找某一款软件,有没有更好的替代品等等,上周看到有朋友说想要一款下载器,用来下载油管上的内容。这类工具其实有挺多的,在网上搜索一下也能找到不少,...
- 2025年,几款视频制作软件让你轻松成为剪辑高手
-
在众多的视频制作软件中,万兴喵影以其强大的功能和易用性脱颖而出。它不仅支持多种格式的导入导出,还有丰富的模板与素材库,非常适合初学者和专业用户使用。除了万兴喵影,还有一些其他国外的视频制作软件也值得推...
- 为什么现在很多软件都基于Electron开发?
-
前段时间小白在聊到电脑内存这个玩意儿的时候,大部分小伙伴都表示:新电脑至少32GB运行内存起步。对于这个答案,小白并不否认。因为小白的电脑也是至少32GB起步的(但是因为兜里空空,所以没办法把常用的M...
- 前端黑科技:PWA,让网页像App一样好用
-
PWA是什么?想象一下:你的网页应用不用安装,却能像微信小程序一样秒开,还能离线使用、推送通知,甚至被用户添加到手机桌面——这就是PWA(渐进式Web应用)。Google在2016年推出的这项技术,让...
- 免费在线装柜软件哪家好用(在线装柜计算软件)
-
在出口行业,有一个常被忽视却影响巨大的环节——集装箱装柜规划。一旦方案失误,不仅导致出货延误、运输成本上升,甚至还可能造成货损或退运。对于习惯“凭经验装柜”的企业而言,货物越来越多样化、运输方式更加复...
- PakePlus:开源免费,一键打包网页为桌面与移动应用的神器
-
软件介绍该开源项目的功能非常简单,就是可以直接将网页打包成不同平台的程序,可以是应用也可以是app,非常适合一些站长但是不会创建app的情况。不过使用该软件进行站点打包之前你需要拥有一个github账...
- 如何对dedeCMS的开源程序进行二次开发
-
二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核。为了让更多人了解二次开发,并更方便的了解DedeCMS的二次开发,下面将会...
- 一周热门
- 最近发表
- 标签列表
-
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- css class选择器用法 (25)
- css样式引入 (30)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- php小说爬取源码 (23)
- 云电脑app源码 (22)
- html画折线图 (24)
- docker好玩的应用 (28)
- linux有没有pe工具 (34)
- mysql数据库源码 (21)