使用Hexo Next主题搭建Blo
前言
之前试过了很多Hexo主题,但是都不太合胃口,就又又又转回了Next这种简单简约的主题。我的博客搭建在GitHub上,使用Vercel加速,完全白嫖真的快乐。
新建博客
代码语言:javascript复制hexo init 博客主目录名
新建完成后,切换工作目录至博客的主目录中。
代码语言:javascript复制cd 博客主目录名 //mac or linux,win我不会。
安装Next主题。
代码语言:javascript复制npm install hexo-theme-next
使用WebStorm打开博客的目录。
在博客根目录新建一个文件名为_config.next.yml的文件,该文件就是主题的配置文件。打开node_modules文件夹,找到安装好的主题,打开里面的_config.yml配置文件,将里面的内容全选复制到_config.next.yml文件中保存。
开始配置
打开根目录下的_config.yml配置文件,配置博客名,作者,时区等。
代码语言:javascript复制# Site
title: //博客名
subtitle: //博客副标题
description: //描述
keywords: //关键字
author: //作者
language: //语言
timezone: //时区
修改域名等。
代码语言:javascript复制# URL
## If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/'
url: http://example.com //此处网址修改为自己的
root: / //博客根目录,一般不修改
启用next主题。
代码语言:javascript复制theme: next
配置git参数。
代码语言:javascript复制deploy:
type: git
repo: https://github.com/GOOPHER97/Goopher97.github.io.git //此处修改为你自己的
branch: master
配置主题
打开_config.next.yml文件,搜索menu,配置导航栏。需要哪个删除前面的#即可,注意#删除后要加一个空格。
举例:
代码语言:javascript复制menu:
home: / || fa fa-home
搜索creative_commons配置创作共用许可。
代码语言:javascript复制creative_commons:
license: by-nc-nd //署名-非商业用途-禁止演绎,其他的自己查。
sidebar: true
post: true
language: zh-CN
启用JS,CSS压缩。
代码语言:javascript复制minify: true
配置布局样式。
代码语言:javascript复制# Schemes
#scheme: Muse
#scheme: Mist
#scheme: Pisces
scheme: Gemini //去掉前面#号为启用
启用黑色模式
代码语言:javascript复制darkmode: true
设置社交链接,注意要有个空格。
代码语言:javascript复制social:
GitHub: https://github.com/Goopher97 || fab fa-github
E-Mail: mailto:1520396767@qq.com || fa fa-envelope
启用pjax局部刷新。
代码语言:javascript复制pjax: true
启用懒加载,适合多图。
代码语言:javascript复制lazyload: true
启用代码块复制按钮。
代码语言:javascript复制copy_button:
enable: true
show_result: true
配置Gitalk,需要自己去注册。
代码语言:javascript复制gitalk:
enable: true
github_id:
repo:
client_id:
client_secret:
admin_user:
distraction_free_mode: true # Facebook-like distraction free mode
# Gitalk's display language depends on user's browser or system environment
# If you want everyone visiting your site to see a uniform language, you can set a force language value
# Available values: en | es-ES | fr | ru | zh-CN | zh-TW
language: zh-CN
启用搜索。
代码语言:javascript复制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: true
安装搜索插件。
代码语言:javascript复制npm install hexo-generator-searchdb --save
在根目录的配置文件_config.yml中加入搜索配置。
代码语言:javascript复制search:
path: search.xml
field: post
format: html
limit: 10000
创建about等页面。
代码语言:javascript复制hexo new page about
同时要记得修改对应md文件。
代码语言:javascript复制---
title: 关于
date: 2021-01-27 23:26:40
type: about
---
为Next-v8.2.0主题添加友链页面
在_config.next.yml配置文件中的menu下添加友链选项。
代码语言:javascript复制menu:
xxxx
links: /links/ || fa fa-heartbeat
修改主题文件夹中的语言配置文件node_models/hexo-theme-next/languages/zh-CN.yml。
代码语言:javascript复制menu:
links: 友链
下载我写好的links.njk文件,放置在node_models/hexo-theme-next/layout/目录下。
下载地址: 点击前往
记得解压。。。
修改同目录下的page.njk文件,在
代码语言:javascript复制 {%- elif page.type === 'tags' and not page.title %}
{{- __('title.tag') page_title_suffix }}
下一行插入:
代码语言:javascript复制 {%- elif page.type === 'links' and not page.title %}
{{- __('title.links') page_title_suffix }}
之后在
代码语言:javascript复制 {% elif page.type === 'categories' %}
{%- include '_partials/page/categories.njk' -%}
下一行插入:
代码语言:javascript复制 {% elif page.type === 'links' %}
{% include 'links.njk' %}
引入links.njk文件。
新建友链页面。
代码语言:javascript复制hexo new page links
修改md文件。
代码语言:javascript复制---
title: 友链
date: 2021-01-28 00:02:39
type: links
---
在_config.next.yml文件中加入友链配置。
代码语言:javascript复制mylinks:
- nickname: GOOPHER's Blog #友链名称
avatar: https://cdn.jsdelivr.net/gh/Goopher97/tuchuang@master/img/IMG_2199.JPG #友链头像
site: https://goopher97-github-io.vercel.app #友链地址
info: 记录折腾的生活。 #友链说明
查看效果。
代码语言:javascript复制hexo clean && hexo g && hexo s
其他
开启赞赏。
代码语言:javascript复制reward_settings:
enable: true
reward:
wechatpay: /images/wechatpay.png
alipay: /images/alipay.png
添加站点地图:
在_config.yml中添加:
代码语言:javascript复制# sitemap
sitemap:
path: sitemap.xml
安装插件。
代码语言:javascript复制npm install hexo-generator-sitemap --save
neat压缩css,js。
代码语言:javascript复制npm install hexo-neat --save
在_config.yml中添加:
代码语言:javascript复制# hexo-neat
# md博文压缩
neat_enable: true
# 压缩html(ejs,swig等也属于html格式片段)
neat_html:
enable: true
exclude:
# 压缩css
neat_css:
enable: true
exclude:
- '*.min.css'
- '**/*.min.css'
- 'jquery.fancybox.min.css'
- '**/live2d-widget/waifu.css'
# 压缩js
neat_js:
enable: true
mangle: true #打印日志
output:
compress:
exclude: #排除文件
- '*.min.js'
- '**/*.min.js'
- 'jquery.fancybox.min.js'
- '**/live2d-widget/*.js'
- '**/live2d-widget/*.min.js'
安装hexo-deployer-git。
代码语言:javascript复制npm install --save hexo-deployer-git
开启阅读进度百分比。
代码语言:javascript复制 scrollpercent: true
修改圆角,在sourcecss_variablesGemini.styl文件中添加:
代码语言:javascript复制// 修改主题页面布局为圆角
$border-radius-inner = 15px 15px 15px 15px;
$border-radius = 15px;
博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议
本文永久链接是:https://cloud.tencent.com/developer/article/1968499