Hexo 主题 Tree

一个简洁的主题,主要功能是 “树状导航” + “树状目录”,可选配“评论”和“阅读量”功能,支持基于搜索引擎的全站搜索。通过 fancybox 支持图片点击放大。

有问题欢迎及时联系,issues、邮件都行

Demo:https://wujun234.github.io/

使用说明

1 下载主题

下载主题到 hexo 根目录中 themes 目录下

git clone https://github.com/wujun234/hexo-theme-tree.git  themes/tree

修改 hexo 根目录的 _config.yml

theme: tree

2 配置主题

如果要使用 valine 的评论及阅读量功能,需要在 themes/tree 路径下的 _config.yml 文件中,填写自己申请的 leancloud 账户下面的 appID 和 appKey

valine:
appID:
appKey:

若不需使用,则设置

valine:
enableComment: false
enableCounter: false

3 导航栏和图标

  • 导航栏:当前没有配置化,需要修改themes/tree/layout/_partial 路径下的 header.ejs 文件
  • 图标:替换themes/tree/source 路径下的favicon.ico 文件

4 about 页

在 source路径下,与_posts文件夹平行,建立一个about

执行

hexo new page --path about/index "About"

参考:https://hexo.io/zh-cn/docs/commands.html#new

5 文章树、目录树

页面左侧的文章树是根据 source 文件夹里的文章和文件夹生成的

修改主题 tree 目录的 _config.ymlsidebar.usePostTitle可以控制目录树中展示文件名还是文章名

# 左侧导航栏,用文件名还是文章名
sidebar:
# usePostTitle 为 ture 用文章名,不填或为 false 用文件名
usePostTitle: true

6 全站搜索

修改主题 tree 目录的 _config.yml

站点如果【被搜索引擎收录】,可以配置通过搜索引擎全站搜索

7 tags 页

在 source路径下,与_posts文件夹平行,建立一个tags

执行

hexo new page "tags"

编辑 source/tags/index.md

---
title: tags
date: 2021-02-26 16:36:55
type: "tags"
layout: "tags"
---

修改主题 tree 目录的 _config.yml,添加

tags: true

8 categories 页

在 source路径下,与_posts文件夹平行,建立一个categories

执行

hexo new page "categories"

编辑 source/tags/index.md

---
title: categories
date: 2021-02-26 16:36:55
type: "categories"
layout: "categories"
---

修改主题 tree 目录的 _config.yml,添加

categories: true

9 pjax

主题默认支持了 pjax 跳转,但是在网速慢的时候,pjax 因为没有页面刷新的交互,可能会让人误以为点击没响应。

如果要去掉 pjax 特性,注释掉主题 'source/js/main.js' 文件中的 'pjaxLoad()' 方法就好。

$(document).ready(function () {
hljs.initHighlightingOnLoad();
clickTreeDirectory();
serachTree();
// pjaxLoad();
showArticleIndex();
switchTreeOrIndex();
scrollToTop();
pageScroll();
wrapImageWithFancyBox();
});

其他

图片

最开始将图片放在 source 中,使用 github 的相对地址,但是本地 md 编辑器不能识别这样的图片,

后续选择了 picgo,用 github 做图床:https://picgo.github.io/PicGo-Doc/

推荐插件

推荐安装 Markdown-it 插件渲染 Markdown

替换之后注意将 _config.yml 中 hexo 默认的 Markdown 配置改一下

highlight:
enable: false
line_number: false
auto_detect: false
tab_replace: ''

访问管理

我自己用的是百度统计 https://tongji.baidu.com ,很简单,注册后在 'head' 里加一个 '<script>' 块就行了

文章来源:https://github.com/wujun234/hexo-theme-tree

hexo-theme-tree的更多相关文章

  1. hexo部署github和gitment操作简单介绍

    优点: 快速高效 支持markdown 布局自定义简单,无广告 部署简单 因为想开始写博客,但又找不到好的博客平台,平时都看博客园和开源中国看博客文章,但博客园的那个皮肤是真有点难受,所以就想自己打个 ...

  2. 从零开始制作 Hexo 主题

    原文地址:从零开始制作 Hexo 主题 · Ahonn 写在前面 本文将会从零开始开发一个简单的博客主题.样式主要参考 Hexo theme 中的 Noise 主题. 开始之前你需要了解: 模板引擎  ...

  3. hexo博客yili主题个性化自定义教程(1) ——借鉴中学习,初认yili主题

    文章转载于:hexo博客yili主题个性化自定义教程(1) --借鉴中学习,初认yili主题 这个博客跌跌撞撞也弄了好多天了,由于Next主题不知道什么情况,被我玩坏了.所以换了一个主题. 大名鼎鼎的 ...

  4. Github+Hexo一站式部署个人博客(原创)

    写在前面 注:博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 本文源链接:https://www.cnblogs.com/chloneda/p/hexo.ht ...

  5. 玩遍博客网站,我整理了 Hexo 及其流行的风格主题

    搭建博客网站是个人进入互联网世界的最常见方式之一.伴随着网站技术的发展,如何搭建博客网站已经变得非常容易了.当然,你可以选择诸如 新浪博客.CSDN.博客园 之类的大型网站,快速创建依赖于大平台的个人 ...

  6. GitHub + Hexo 搭建个人博客网站

    一.准备工作 1. GitHub + Hexo 的优势 Hexo 提供现成的模板和模块:github 的 pages 功能提供免费的服务器,零成本搭建属于自己的博客. 2. 需要了解的网站 githu ...

  7. GitHub_Hexo_Next 搭建博客

    利用最新版本的 hexo+next 重构了个人博客,下面简单记录了搭建博客的完整过程: 一.环境准备 1.安装 Node.js 2.安装 Git 3.注册 Github 账号 二.在GitHub上创建 ...

  8. DRL强化学习:

    IT博客网 热点推荐 推荐博客 编程语言 数据库 前端 IT博客网 > 域名隐私保护 免费 DRL前沿之:Hierarchical Deep Reinforcement Learning 来源: ...

  9. Xnip Mac上方便好用的截图工具

    Xnip Mac上方便好用的截图工具 标注 Xnip 拥有齐全的标注功能,您可以对截取的图片进行标注,在标注的同时还能重新调整截图大小. 查看标注操作 GIF 滚动截图 Xnip 的滚动截图功能可以让 ...

  10. 我的基于 JamStack 的新博客

    概述 今天心血来潮,介绍一下我的新博客站点 -- https://EWhisper.cn. 我是做基础平台 PaaS 运维和架构的,挺喜欢把工作中学到的新知识写下来.记笔记,突然有一天就抱着「资源共享 ...

随机推荐

  1. 【力扣】787. K 站中转内最便宜的航班加权——有向图最短路径

    前言 我感觉这题比较有代表性,所以记录一下,这题是加权有向图中求最短路径的问题. 题目 787. K 站中转内最便宜的航班 动态规划 假设有一条路径是[src, i, ..., j, dst],解法一 ...

  2. Echarts点击多组数据多个柱子中的一个柱子,获取当前点击的是第几组数据,并获取点击的是当前组别第几根柱子,以及对应横坐标,

    遇到一需求,一般都是点击图后获取其中一组数据就可以了,不需要详细到获取点击了当前X轴对应的其中的哪个, 今天的需求是 Echarts点击多组数据多个柱子中的一个柱子,获取当前点击的是第几组数据,并获取 ...

  3. 在函数中设置input的multiple属性以及input的点击事件时,设置失效

    1.在函数中先设置input文件可以多选,然后再设置input框的点击事件情况下,有时候这个多选设置会失效. 我们可以采用下面的方式去解决 <input ref="myInputRef ...

  4. 默认方法:negate-集合信息筛选

    默认方法:negate "与"."或"已经了解了,剩下的"非"(取反)也会简单.默认方法negate的JDK源代码为︰ 集合信息筛选 数组当 ...

  5. Unity之GPS定位(高德解析)

    Unity之GPS定位 Unity之GPS定位(高德解析) 前言 开篇 Unity版本及使用插件 正题 创建场景 写脚本 把脚本挂载到场景中 打包发布场景 安装真机并且测试 代码中的==Key==怎么 ...

  6. Vite 配置别名 vue3 项目

    官方文档还是有点难懂,然后点链接找到了 https://github.com/rollup/plugins/tree/master/packages/alias#entries // rollup.c ...

  7. .Net Core中使用NEST简单操作Elasticsearch

    C#中访问Elasticsearch主要通过两个包NEST和Elasticsearch.Net,NEST用高级语法糖封装了Elasticsearch.Net可以通过类Linq的方式进行操作,而Elas ...

  8. 关于集合中remove()方法的问题

    首先上一段代码: needDelete()方法:决定是否要删除 public static boolean needDelete(Object obj) { if (obj.equals(" ...

  9. dotnet总结

    初衷: 搞了几年.Net ,一直没在博客园做过系统的总结,并打算按照下面的结构来写 语言层面 类型系统 [查看]: https://www.cnblogs.com/francisXu/p/136027 ...

  10. 代码随想录算法训练营day08 | leetcode 344.反转字符串/541. 反转字符串II / 剑指Offer05.替换空格/151.翻转字符串里的单词/剑指Offer58-II.左旋转字符串

    基础知识 // String -> char[] char[] string=s.toCharArray(); // char[] -> String String.valueOf(str ...