Hexo categories,tags有中文的情况下会导致url访问路径也会带上中文,怎么设置别名?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Hexo中,若categories或tags包含中文字符,确实会导致生成的URL中带有中文。为了避免此问题并设置别名,可以采用以下步骤进行配置:
安装并配置插件:首先,确保你已经安装了hexo-generator-json-content
插件,这个插件可以帮助你更灵活地处理标签和分类信息。如果未安装,可以通过npm安装:
npm install hexo-generator-json-content --save
修改 _config.yml
文件:在你的Hexo站点的 _config.yml
配置文件中,添加或修改以下内容来启用JSON内容生成,并自定义categories和tags的输出格式。这里的关键是使用slugify
或其他过滤器来自动生成英文别名。
# 保证已启用json内容生成插件
json_content:
meta: true
# 自定义类别和标签的别名生成
category_map:
中文类别1: english-category1
中文类别2: english-category2
# 根据需要添加更多映射...
tag_map:
中文标签1: english-tag1
中文标签2: english-tag2
# 同样,根据实际情况添加更多映射...
创建自定义过滤器(可选):如果你的类别或标签数量很多,手动映射可能不切实际。这时,你可以编写一个自定义的Hexo过滤器来自动将中文转换为拼音或英文别名。这通常涉及到使用像node-pinyin
这样的库来自动转换中文到拼音。
安装必要的库,如node-pinyin
:
npm install node-pinyin --save
在themes/你的主题名/filters
目录下(如果没有该目录则创建),创建一个名为alias_generator.js
的文件,并编写代码以自动转换中文标签和分类名称。
在_config.yml
中引入这个过滤器,确保它能被正确调用。
通过上述方法,你可以有效地为Hexo中的categories和tags设置英文别名,从而避免URL中出现中文字符导致的访问问题。