Hexo,添加标题翻译插件

文章背景

  hexo生成的默认文章链接格式是这样的:https://blog.mariojd.cn/2013/07/14/<Markdown file name>/,这个配置在hexo根目录下的_config.yml里面:permalink: :year/:month/:day/:title/,这种默认的配置缺点很明显,当文件名是中文的时候url链接里就有中文出现,看起来low的同时也非常不利于seo优化,下面介绍两种解决方案。

Before

After

方案一:添加urlname属性(手动)

  在md文件的Front-matter区域新增urlname属性,可以是文章的英文Title也可以是其它自定义标识,所以每次编写Markdown你都得这么做,参考如下:

---
title: 解决百度蜘蛛无法爬取Hexo博客的问题
urlname: solve-the-problem-that-baidu-spider-cannot-crawl-hexo-blog
date: 2018-6-28 
categories: hexo
author: Jared Qiu
tags: hexo
cover_picture: http://xxx.xx/xxx.jpg
top: 1
---

方案二:利用hexo插件(自动)

  在hexo plugins搜索“link”,已经有几个插件可以将url转换成不同的格式(如下),我这里选用了hexo-translate-title,也是觉得这个比较适合自身风格。

  • hexo-translate-title: Translate the chinese title of Hexo blog to english words automatially
  • hexo-permalink-pinyin: A Hexo plugin which convert Chinese title to transliterate permalink.
  • hexo-abbrlink: Auto create one and only link for every post for hexo
  • hexo-number-title: The hexo blog post url is displayed as a number.

  下面简单介绍一下安装操作过程。

安装

    // 用cnpm会比较好
    npm install hexo-translate-title --save

配置

  修改hexo根项目下的_config.yml,建议用google翻译毕竟贴地气,但实测并不稳定,所以也可以用baidu_no_appid,这样也不需要额外的认证配置。

translate_title:
  translate_way: google  # google,youdao,baidu_with_appid,baidu_no_appid
  is_need_proxy: false     # true | false
  # proxy_url: http://localhost:50018 # Your proxy_url
  # youdao_api_key: '' # Your youdao_api_key
  # youdao_keyfrom: xxxx-blog # Your youdao_keyfrom
  # baidu_appid: '' # Your baidu_appid
  # baidu_appkey: '' # Your baidu_appkey
# 修改原链接格式:permalink: :year/:month/:day/:title/
permalink: :year:month:day/:translate_title.html

测试

  用hexo d重新生成,留意控制台输出以及public目录下是否有生成相应的<hexo-translate-title>.html文件,如果有代表成功了,再用hexo d部署即可。

记坑

  按上述流程安装、配置和部署,但生成的链接都是undefined.html,随后给作者提issue,回复后留意hexo g输出,并且看了源码,用hexo config查看配置信息后未发现问题,最终定位为Google翻译服务的不稳定。

相关链接

hexo-translate-title - GitHub hexo-abbrlink介绍 hexo链接持久化终极解决之道 hexo-abbrlink - GitHub

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏吴伟祥

Linux 文件基本属性 转

在当前目录下使用命令: ls -l,即可列出该目录下的所有文件,其第一列的第一个字母就包含了该文件的文件类型:

922
来自专栏祥子的故事

python | os包常用命令介绍

3905
来自专栏张戈的专栏

WP Super Cache静态缓存插件纯代码版(兼容多域名网站)

中午,小熊发来一篇来自歧路亡羊博客的精彩教程:《wordpress 利用代码来实现缓存》。粗略看了一下,发现这个代码在几个月之前我就用过,不过由于此代码无法区分...

4987
来自专栏七夜安全博客

小知识点--crontab

这两周学了很多东西,还把golang语言基本掌握了,收获还是挺多的。在做安全的过程中,有很多需要定时执行的任务,比如抓取主机数量,端口数据等,这都逃不开linu...

752
来自专栏企鹅号快讯

用户空间和内核空间

学习 Linux 时,经常可以看到两个词:User space(用户空间)和Kernel space(内核空间)。 简单说,Kernel space 是 Lin...

2048
来自专栏趣谈编程

用户空间和内核空间是什么?

学习 Linux 时,经常可以看到两个词:User space(用户空间)和 Kernel space(内核空间)。

2.1K3
来自专栏有趣的django

Django用户登录与注册系统

一、创建项目 1.1.创建项目和app django-admin startproject mysite_login python manage.py sta...

1.8K7
来自专栏游戏杂谈

Linux下使用rsync同步文件

遇到的问题是几台游戏服务器,有一台新的服务器之前已经copy(Linux的scp命令)过文件上去,但在测试的过程中发现还是图片无法正常不显示出来,然后用http...

3812
来自专栏Jacklin攻城狮

学好Mac常用命令,助力iOS开发

在iOS开发的过程中,更多地注重iOS开发的效率,熟练使用Mac终端操作的常用命令,可以让你更好的游刃于iOS繁重的开发中。本文着重介绍常用的Mac终端基本指令...

951
来自专栏闻道于事

IntelliJ IDEA 2018.3 重大升级(转)

2018.11.28 IntelliJ IDEA 2018.3 正式版发布。对于一个忠实爱好者,迫不及待的我下载了最新版本来体验下。而且 IDEA 今年的第三次...

2872

扫码关注云+社区

领取腾讯云代金券