开发者社区 问答 正文

Hexo categories,tags有中文的情况下会导致url访问路径也会带上中文,怎么设置别名

Hexo categories,tags有中文的情况下会导致url访问路径也会带上中文,怎么设置别名?

展开
收起
刘兴阳 2021-10-24 19:48:49 980 分享 版权
阿里云 AI 助理回答

在Hexo中,若categories或tags包含中文字符,确实会导致生成的URL中带有中文。为了避免此问题并设置别名,可以采用以下步骤进行配置:

  1. 安装并配置插件:首先,确保你已经安装了hexo-generator-json-content插件,这个插件可以帮助你更灵活地处理标签和分类信息。如果未安装,可以通过npm安装:

    npm install hexo-generator-json-content --save
    
  2. 修改 _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
     # 同样,根据实际情况添加更多映射...
    
  3. 创建自定义过滤器(可选):如果你的类别或标签数量很多,手动映射可能不切实际。这时,你可以编写一个自定义的Hexo过滤器来自动将中文转换为拼音或英文别名。这通常涉及到使用像node-pinyin这样的库来自动转换中文到拼音。

    1. 安装必要的库,如node-pinyin

      npm install node-pinyin --save
      
    2. themes/你的主题名/filters目录下(如果没有该目录则创建),创建一个名为alias_generator.js的文件,并编写代码以自动转换中文标签和分类名称。

    3. _config.yml中引入这个过滤器,确保它能被正确调用。

通过上述方法,你可以有效地为Hexo中的categories和tags设置英文别名,从而避免URL中出现中文字符导致的访问问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答