hexo问题及解决

2023-11-15

1 推荐主题

butterfly 的默认 layout 很好,尤其对于内容比较多的 blog,安装方法如下:

npm install hexo-renderer-pug hexo-renderer-stylus --save
npm install hexo-theme-butterfly
cp node_modules/hexo-theme-butterfly/_config.yml _config.butterfly.yml
vi _config.yml # 修改 theme: butterfly

2 正常显示 Latex 公式

2.1 切换渲染器

切成root权限,安装 pandoc:

apk add pandoc

2.2 安装插件

这个插件能支持 $ 号模式的 Latex 公式:

npm install hexo-filter-mathjax

2.3 配置文件

修改_config文件如下:
(我直接把插件 github 说明中的配置文件拷过来了)

mathjax:                                                  
  tags: none
  single_dollars: true
  cjk_width: 0.9
  normal_width: 0.6
  append_css: true                                             every_page: false
  packages: 
  extension_options: {}
  • 修改主题配置文件_config.butterfly.yml:
# MathJax                                         
mathjax:              
  enable: true                      
  per_page: true  

3 使用 pandoc 渲染器

切换 hexo-renderer-pandoc 后,公式倒是能正常显示,但是图片,文本格式需要按 pandoc 的 markdown 格式修改,因此,做了批量调整:

  • 换行前加两个空格。
  • 图片使用绝对路径。
  • 标题前两个回车。
  • 把本地图片地址变为绝对路径。

4 构建标签和分类界面

4.1 标签界面

$ hexo new page "tags"
$ vi ~/.hexo/source/tags/index.md
加如下内容
---
type: "tags"
layout: "tags"
comments: false
---

4.2 分类界面

$ hexo new page "categories"
$ vi ~/.hexo/source/categories/index.md
加如下内容
---
type: categories
---

4.3 自动生成分类

一般分类在md的文件头中设置,形如:

categories:
  - web
  - framework

也可以使用自动分类功能,按目录结构生成分类:
安装插件:

npm install hexo-auto-category --save

修改配置文件_config.yml

auto_category:
 enable: true
 depth:

5 添加搜索功能

5.1 安装插件

npm install hexo-generator-searchdb --save

5.2 修改配置文件

改_config.yml

search:
  path: search.xml
  field: post
  format: html
  limit: 10000

修改主题的配置文件_config.butterfly.yml:

local_search:
  enable: true

6 显示外链图片

需要在生成网页的 head 中加:

<meta name="referrer" content="no-referrer"/>

我使用 butterfly 主题,只需要在主题配置文件_config.butterfly.yml中修改:

# 插入代码到头部 </head> 之前 和 底部 </body> 之前
inject:
  head:
    <meta name="referrer" content="no-referrer"/>
  bottom:
    # - <script src="xxxx"></script>

7 内链跳转

首先,让 hexo 生成的 html 目录结构与 markdown 存储的结构一致,在_config.yml中设置:

permalink: :title/

详见:permalink写法
然后写了程序,批量在 markdown 内链的位置把扩展名 .md 去掉,再把路前面加一个"/"变成绝对路径即可使用。

8 待完成

  • 需要支持两个中括号的图片/链接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hexo问题及解决 的相关文章

  • php校验密码js,JS的密码强度校验正则表达式(附代码)

    这次给大家带来JS的密码强度校验正则表达式 附代码 使用JS的密码强度校验正则表达式注意事项有哪些 下面就是实战案例 一起来看一下 最近一直在做通行证项目 里面的注册模块中输入密码需要显示密码强度 低中高 今天就把做的效果给大家分享下 代码
  • 再谈二维数组,二级指针

    首先注意一个事实 是一个运算符 称 为 下 标 运 算 符 亦 称 变 址 运 算 符 我觉得应该是变址取内容 p n 恒 等于 p n 我们不能简单把指针看成地址 不要忽略掉数据类型 也就是说一个指针包含两方面 一个是地址 一个是数据类型
  • Nutanix是超融合厂商?原来我们都误会了……

    Nutanix是一家超融合厂商吗 是 也不是 中国的很多用户在初次接触Nutanix公司时 它已经在全球的超融合市场上声誉鹊起 并且被奉为超融合的鼻祖 所以人们先入为主地认为 Nutanix就是一家超融合厂商 作为一个新的细分产品市场的领导

随机推荐