30分钟即可完成一个带评论、打赏、搜索、RSS、分类、标签等功能的博客
高效的搭建让博主更加专注于内容的生产
欢迎关注博主的个人博客 东行不西游
准备工作
- 必须安装git和node,官网有各平台详细的安装过程
- Node.js
- Git
- 准备一张头像和网站favicon
- 200*200方形或圆形头像 (用来显示作者头像)
- 32*32的favicon (浏览器打开网站标签的一个ico)
- hexo全局的图标配置信息均来自fontawesome
- 所有的配置项在修改的时候一定要记住 冒号 后是有一个空格的,不然保存后 在执行
hexo server
会失败
开始安装
git和node安装完后进入到博客的文件夹内,执行下面代码(均在终端操作)
$ npm install hexo-cli -g #全局安装hexo命令
$ hexo init blog #在当前目录下,初始化hexo一个名为blog项目
$ cd blog #进入该目录
$ git clone https://github.com/theme-next/hexo-theme-next themes/next #安装next主题
$ npm install #安装项目必备插件
$ hexo server #本地启动项目
如果以上步骤均正确可以 点击即可看到博客首页 或 浏览器输入 localhost:4000
即可看到博客首页,如不能请检查之前的步骤是否正确,此时你已经完成了50%的工作
先找到 站点配置文件
blog/_config.yml
重要提示:修改每一个配置的时候都可以刷新页面观看修改结果,如果不显示可以在终端的博客目录执行
$ hexo clean
$ hexo server
站点配置
- 先设置hexo的next主题
找到theme
后修改为:theme: next #配置成刚下载的next主题
- 配置hexo网站相关信息
找到site的设置 按下面备注修改相关信息# Site title: 东行不西游 #网站标题 subtitle: 风在前,无惧! #网站副标题 description: 心猿不定,意马四驰 #描述,介绍网站的 keywords: python,php,mysql,滑雪,摄影 #网站的关键字 author: Bowen #博主姓名 language: zh-CN #语言 zh-CN 是简体中文 timezone: UTC #时区
- 设置hexo永久链接
设置永久链接的目的是为了便于分享和seo优化.这样别人收藏地址后不会出现链接失效
默认链接样式可修改为 (permalink配置只能有一种,关闭某种开头加 #)# URL url: https://dangbowen.com #网站的首页地址 root: / #网站的根目录设置 permalink: :year/:month/:day/:title.html # 这种 设置的url表现为2018/10/18/hello-world.html 样式
permalink: :category/:title.html #用分类和博客title当做url地址
- 设置hexo中的默认分类
找到Category & Tag
# Category & Tag default_category: default #这里设置一个默认分类名称,如果第3条永久链接设置为 permalink: category/:title/ 那么没有分类的博客就会被放在default这个分类下进行归档
额外配置:hexo如何配置git信息(可跳过!后续新开一贴详细介绍)
github和coding都提供page服务,这样我们就可以把博客静态资源发布到这2个仓库,然后用域名来访问博客,所有人都可以通过浏览器来观看你的博客.双仓库格式如下:
deploy:
type: git
repo:
github: https://github.com/{your_name}/{your_name}.github.io,master #github 提供page的服务要求仓库名必须为 {your_name}.github.io 格式 比如你的github用户名为 abc 那么你必须建立一个 abc.github.io仓库
coding: https://git.coding.net/{your_name}/{your_name}.git,master #coding要求page服务的仓库名为 用户名 一样 .例如:用户名为abc 仓库名也必须为abc
先找到 主题配置文件
blog/themes/next/_config.yml
,修改配置的时候都可以刷新页面观看修改结果,如果不显示可以在终端的博客目录执行
$ hexo clean
$ hexo server
主题配置
-
配置hexo网站的favicon
把准备好的favicon放在blog/themes/next/source/images/
下favicon: small: /images/favicon-16x16-next.png #把favicon名修改成你自己的 medium: /images/favicon-32x32-next.png
-
配置hexo中的tag,categories菜单
默认菜单只开启了首页和归档,hexo所有图标均来自fontawesomemenu: #菜单设置为 菜单名: /菜单目录 || 菜单图标名字 home: / || home about: /about/ || user tags: /tags/ || tags categories: /categories/ || th archives: /archives/ || archive commonweal: /404/ || heartbeat menu_settings: icons: true #显示图标 badges: true #显示统计信息
-
手动生成hexo菜单对应文件
新菜单开启后是没有对应文件的,所以要手动生成about,tags,categories和404页面,这里我们将404替换成腾讯的公益页面
新建about页面$ cd blog $ hexo new page about #about就是普通的布局一般用来介绍站点信息和博主信息等
新建一个tags页面
$ cd blog $ hexo new page tags
找到tags文件
blog/source/tags/index.md
编辑它,在头部修改为--- title: All tags date: 2018-10-01 13:58:44 #时间随意 type: "tags" #类型一定要为tags comments: false #提示找个页面不需要评论,后续评论插件那里会详细介绍 ---
新建一个categories页面
$ cd blog $ hexo new page categories
找到categories文件
blog/source/categories/index.md
编辑它,在头部修改为--- title: 分类 date: 2018-10-15 00:03:57 type: "categories" comments: false ---
新建一个404页面
$ cd blog $ hexo new page 404
找到404文件
blog/source/404/index.md
编辑它,内容全部替换成如下404 ``` -
配置hexo本地搜索
安装插件,终端进入cd blog
后执行:npm install hexo-generator-searchdb --save
主题配置文件如下:
local_search: enable: true trigger: auto top_n_per_article: 1 unescape: false
站点配置文件新添加如下代码:
search: path: search.xml field: post format: html limit: 100
-
设置hexo中的rss订阅
rss需要安装一个插件,终端进入cd blog
后执行:npm install hexo-generator-feed --save
刷新主页就可以看到rss
-
配置hexo站点的footer信息
底部footer可以开关显示hexo版权,theme版权,还有建站时间等个性化配置footer: since: 2015 #建站开始时间 icon: name: user #设置 建站初始时间和至今时间中间的图标 默认是一个'小人像'更改user为heart可以变成一个'心' color: "#808080" #更改图标的颜色 红色为 '#ff0000' powered: enable: true #是否开启hexo驱动 version: true #是否开启hexo版本号 theme: enable: true #是否开启theme驱动 version: true #是否开启主题版本号 custom_text: Hosted by Coding Pages #这里的底部标识是为了添加coding page服务时的版权声明 打开注释就可以看到底部有一个 hosted by coding pages
-
配置hexo中next主题样式选择
next一共提供了4种首页样式,按照自己喜好选择一个,切记选择一个其他主题后其他的主题之前一定要加上## Schemes scheme: Muse #scheme: Mist #scheme: Pisces #scheme: Gemini
-
hexo网站next主题侧边栏宽度,头像信息,头像设置圆形和头像旋转
sidebar: position: left #选择pisces 或者 gemini 主题是 可以 选择侧边栏 位置 调整左边或者右边 #position: right width: 300 # muse mist 主题 可以控制侧边栏的宽度 display: post #如果是muse mist 主题 可以选择 侧边栏弹出动作 post 是 只在内容页弹出 #display: always #全局弹出 #display: hide #全局隐藏侧边栏 右下角有角标唤出 #display: remove #移除侧边栏 avatar: url: /images/avatar.gif #设置头像资源的位置 rounded: false #开启圆形头像 opacity: 1 #不透明的比例 0 就是完全透明 rotated: false #开启旋转
-
hexo中next主题的社交信息和友链配置
social: #和菜单设置格式一样 社交名字: 社交url || 社交图标 ,图标信息还是[fontawesome](https://fontawesome.com/v4.7.0/icons) GitHub: https://github.com/yourname || github E-Mail: mailto:[email protected] || envelope Google: https://plus.google.com/yourname || google social_icons: enable: true #显示社交图标 icons_only: false #只显示图标的开关 # Blog rolls links_icon: link #友链的图标 参考上文 links_title: Links #友链的title 比如你可以更改为 友情链接 links_layout: block #友链摆放的样式,按块 一行一个 #links_layout: inline #按线摆放,一行很多个 切记 同时只能一种样式 links: Title: http://example.com/ #友链的地址
-
hexo中next主题首页文章不展示全文显示摘要,自动截取摘要和点击阅读全文跳转顶部
scroll_to_more: true #点击阅读全文后是否跳到标记处,设为false时点击阅读全文可以从头阅读 auto_excerpt: #是否自动截取摘要 enable: false #设置为true则自动截取150字当做首页摘要 length: 150 #自动截取的字数
-
hexo中next主题首页文章属性显示创建时间,修改时间,分类
post_meta: item_text: false # 设为true 可以一行显示 文章的所有属性 created_at: true #显示创建时间 updated_at: enabled: true #显示修改的时间 another_day: true #设true时 如果创建时间和修改时间一样则显示一个时间 categories: true #显示分类信息
-
hexo中的next增加页面阅读统计,字数统计,阅读时长
新增busuanzi
阅读统计busuanzi_count: enable: false #设true 开启 total_visitors: true #总阅读人数 uv数 total_visitors_icon: user #阅读总人数的图标 total_views: true #总阅读次数 pv数 total_views_icon: eye #阅读总次数的图标 post_views: true #开启内容阅读次数 post_views_icon: eye #内容页阅读数的图标
新增字数统计,阅读时长,先安装插件
$ npm install hexo-symbols-count-time --save
主题配置信息如下:
symbols_count_time: separated_meta: true # false 会显示一行 item_text_post: true # 显示属性名称,设为false后只显示图标和统计数字,不显示属性的文字 item_text_total: true #底部footer是否显示字数统计属性文字 awl: 4 #计算字数的一个设置,没设置过 wpm: 275 #一分钟阅读的字数
站点配置新增如下:
symbols_count_time: #文章内是否显示 symbols: true time: true # 网页底部是否显示 total_symbols: true total_time: true
-
hexo中next主题给内容页里的代码块新增复制按钮
codeblock: copy_button: enable: true #增加复制按钮的开关 show_result: true #点击复制完后是否显示 复制成功 结果提示
-
hexo中next主题文章主页配置微信公众号
# Wechat Subscriber wechat_subscriber: enabled: true qcode: /images/wechat-qcode.jpg #微信公众号的二维码 description: 这是我的公众号 #公众号描述文字
-
hexo中next主题配置微信,支付宝打赏
# Reward reward_comment: 一毛也是爱~ #打赏描述 wechatpay: /images/wechat_pay.png #微信支付的二维码图片地址 alipay: /images/ali_pay.png #支付宝的地址 #bitcoin: /images/bitcoin.png #这个是设置比特币的...
-
hexo中next主题新增 相关文章推荐
安装推荐文章的插件$ npm install hexo-related-popular-posts --save
主题配置信息如下:
related_posts: enable: true title: 相关文章推荐 # 属性的命名 display_in_home: false #false代表首页不显示 params: maxCount: 5 #最多5条 #PPMixingRate: 0.0 #可以看github上 这个相关度介绍 #isDate: true #是否显示 日期 #isImage: false #是否显示配图 isExcerpt: false #是否显示摘要
-
hexo中next主题的文章原创申明
给每一个原创文章开启版权保护post_copyright: enable: true #设置true就开启了 license: CC BY-NC-SA 4.0
-
hexo中next主题更改code高亮样式
highlight_theme: normal #可选值为 normal | night | night eighties | night blue | night bright 这几个挑一个喜欢的
-
hexo中next主题添加评论-Valine
点击官网leancloud注册账号,获取自己的appid,appkey,再看valine官网设置下自己的leancloudvaline: enable: true # 开启评论 appid: ~~~ # 刚申请 leancloud 的 appid appkey: ~~~ # 刚生情 leancloud 的 appkey notify: false # 是否邮件推送 详情看 https://github.com/xCss/Valine/wiki verify: false # placeholder: Just go go # 评论框里的placeholder信息 avatar: mm # gravatar style guest_info: nick,mail,link # custom comment header pageSize: 10 # 一页显示的评论条数 visitor: false #
-
hexo中next主题配置网页body背景动态效果
4个效果同时只能开启一个canvas_nest: false three_waves: false canvas_lines: false canvas_sphere: false
常见问题
- 为什么
hexo server
报错?
检查最近修改的配置文件中的各个配置项冒号后是否有空格,某些样式选择是否唯一 - 为什么menu设置完后,点击各个菜单无效,href=""现象?
检查站点配置文件relative_link: false
如为true 改为 false即可
最后的最后
由于6.4比5.x多了很多以前个性定制的配置,使得个性化的配置操作简单很多,不用修改样式和源码即可完成以前的定制效果,所以主题的更新还是要看个人的需求,如果功能够用的情况下还是保证创作博客为主,毕竟内容才是最能吸引读者的,共勉.
欢迎关注博主的个人博客 东行不西游,今天是10月24日,祝大家也祝自己节日快乐
本文作者: Bowen
本文原创链接: https://dangbowen.com/hexo/ad0bedc4.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!