Markdown-拓展 Hexo 配置 next 主题
主题介绍:
NexT - Elegant and powerful theme for Hexo. 支持丰富的拓展的 Hexo 主题。
官网地址
https://theme-next.js.org/
github 地址
https://github.com/next-theme/hexo-theme-next
前提已安装 Node 和 hexo
- 操作系统下安装 nodejs
- 使用 npm 安装 hexo:
npm install hexo --save
安装 NexT
获取 NexT
using npm
1 | cd hexo-site |
或使用 git 进行下载(克隆整个仓库到 themes/next 目录)
1 | cd hexo-site |
或者转到 NexT 版本Release Page 发布页面. 下载 稳定版,将 zip 文件解压缩到站点的 themes 目录,并重命名解压缩的文件夹为 next。
如果不想再使用 hexo 自带的 landscape 主题,可以自行移除 npm uninstall hexo-theme-landscape
。
升级 NexT
using npm
1 | cd hexo-site |
using git
1 | cd hexo-site |
启用 NexT
在 Hexo 站点配置文件(/_config.yml
)中尽需要一行就能启用你的主题:
1 | theme: next |
在更改主题和验证主题之间,我们最好使用 hexo clean
来清理 Hexo 的缓存。
然后键入hexo s --debug
,现在你可以在浏览器中打开 http://localhost:4000,检查网站是否正常运行。
部署
Local Deployment 本地部署
本地化测试: hexo clean && hexo s
如果像部署,执行 hexo g -d
Continuous Integration 持续集成
可以做到直接在线编辑文件,立即生效的效果。
启用主题
如果是第一次安装 NexT,则复制整个配置文件 theme config file 主题配置文件 by the following command:
1 | # Installed through npm |
开始自定义设置【配置都是可选搭配】
主题方案选择
迄今为止,NexT 支持 4 个方案,它们是:
1 | #scheme: Muse |
默认的 NexT 方案是 Muse。我这里选择的是 Gemini 主题.
Dark Mode 黑暗模式
您可以通过编辑主题配置文件,搜索暗模式关键字来启用暗模式。 主题下一步自动显示黑暗模式,如果操作系统偏好的主题是黑暗的。 CSS 混合混合模式是用来使黑暗模式的所有 4 个方案以上,确保您的浏览器支持此属性。
1 | # Dark Mode |
Reading Progress 阅读进度
You can enable it by setting value reading_progress.enable to true in theme config file.
1 | # Reading progress bar |
GitHub Banner
Next 在右上角提供了 GitHub 上的 Follow me 标题。
1 | # `Follow me on GitHub` banner in the top-right corner. |
Bookmark 书签
书签是一个插件,允许用户保存他们的阅读进度。 用户只需点击页面左上角的书签图标(如图)就可以保存滚动位置。 当他们下次访问你的博客时,他们可以自动恢复每个页面的最后滚动位置。
详见 bookmark 配置。
返回顶部
1 | back2top: |
开启代码复制按钮
1 | codeblock: |
创建 sitemap 地图并提交百度搜索站点
站点地图就是把你的博客中的相关博文链接都归纳到 sitemap.xml 这个文件中,把 sitemap.xml 提交到 Google 搜索站点,Bing 搜索站点或 Baidu 搜索站点,那么你的博客的网站架构都能被这些搜索站点所解析出来,这样就更容易被这些搜索站点的爬虫爬取出来,更容易使你的博客中的相关信息被搜索到。
npm install hexo-generator-sitemap --save
登录百度资源管理平台,依次点击 用户中心->站点管理->添加网站(网站会随时更新,路径可能不同,只要找到添加网站的位置就可以)。
1 | # Baidu Webmaster tools verification. |
添加页面
Adding «Tags» Page
https://theme-next.js.org/docs/theme-settings/custom-pages.html#Adding-«Tags»-Page
hexo new page tags
1 |
|
注意在添加 Categories 页面同理。这里一定要注意 md 的头部:
1 |
|
添加 404 页面
1 | hexo new page 404 |
编辑 404/index.md
1 | --- |
注意:用户是否可以重定向到 404 页面取决于网站托管服务或 Web 服务器的设置,而不是 Hexo。例如,如果使用 Nginx 作为服务器,还需要在 Nginx.conf 文件中配置 404 页。
开启 rss
_config.next.yml
1 | npm install hexo-generator-feed --save |
接着进行配置 _config.yml
1 | feed: |
可选
1 | follow_me: |
启用搜索服务
本地搜索不需要任何外部第三方服务,并且可以被搜索引擎额外索引。建议大多数用户使用此搜索方法。
Search Services | NexT
https://theme-next.js.org/docs/third-party-services/search-services.html?highlight=searc#Local-Search
开启百度统计
Statistics and Analytics | NexT
https://theme-next.js.org/docs/third-party-services/statistics-and-analytics.html#Baidu-Analytics-China
External Libraries
PJAX
PJAX/nPjax 是一个独立的 JavaScript 模块,它使用 AJAX (XmlHttpRequest)和 pushState ()来提供快速浏览体验。
它允许你完全改变标准网站的用户体验(服务器端生成的或静态的) ,让用户感觉他们正在浏览一个应用程序,特别是那些低带宽连接。
Lazyload
Lozad.js 是一个现代版 JavaScript 的懒惰加载器插件。它延迟加载的图像在长的网页。在用户滚动到视口之前,不会加载视口之外的图像。这与图像预加载相反。
Canvas Ribbon
canvas-ribbon.js is a ribbon backgroud of website draw on canvas.
开启 Mermaid 支持
Mermaid | NexT
https://theme-next.js.org/docs/tag-plugins/mermaid.html
示例:
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
配置汇总
_config.next.yml
1 | # Schemes |
受影响的 _config.yml
_config.next.yml
1 | relative_link: false |
参考
next 主题配置很多时候用到了 Font Awesome 的图标,可用去 https://fontawesome.com/icons 或者 https://www.thinkcmf.com/font_awesome.html 网站搜索并使用。