当你们看到这篇文章时,你们可以发现文章质量是不是提升了。

中文、英文、数字、符号挤在一起确实很难受,这点我认同,不过我很少有添加空格的习惯,

不过在 WordPress 中这些都不是什么大问题(滑稽遍地)。

(仿佛感觉到了强迫症正在来临)

如何安装?

1,直接安装

在 WordPress 后台的插件商店中直接搜索 Space Lover 安装。

2,GitHub 源码安装

进入插件 GitHub 项目页面下载,上传压缩包安装。

[repo owner="sparanoid" name="space-lover"]

安装完毕后直接启用,不需要多余的配置。

如何在非 WordPress 的程序中自动在中文、英文、数字、符号之间插入空格?

WordPress 有专用插件当然不错,当然也有不用 WordPress 的博主啊。

所以还有个在非 WordPress 中自动插入空格的方法。

1,通过 CSS text-autospace 属性自动添加空格

利用 CSS 是个不错的方案,而且非常简单,不过这种福利只有 IE 才能享受,Chrome,Firefox 都没有(突然发现 IE 在一些小方面很先进啊,然而还是被看扁)。

这个 CSS 属性的全称名叫 -ms-text-autospace,用法如下(包含可用值):

/*
    none; 无调整发生
    ideograph-alpha; 表意字和非表意字(如 Latin-based,Greek,Cyrillic,Arabic,Hebrew 文本)之间创建额外空格
    ideograph-numeric; 在表意字和数字字符之间创建额外空格
    ideograph-parenthesis; 在常规(非宽度)插入语和表意字之间创建额外空格
    ideograph-space; 当空格相邻表意字符时,扩展空格的宽度
*/
/*Example:*/
-ms-text-autospace: ideograph-alpha;

2,通过引入 Pangu.js 自动添加空格

既然 IE 的 CSS 福利没法享受,那就只好加 JS 实现喽。

首先在<head> 内或</body> 前引入 Pangu.js:

<script src="//cdn.bootcss.com/pangu/3.3.0/pangu.min.js"></script>

或者直接访问 GitHub 项目主页下载 js 引入:

[repo owner="vinta" name="pangu.js"]

然后在</body> 前设置参数,用法如下:

<script>
  var newText = pangu.spacing("Mr. 龍島主道:「Let's Party! 各位高明博雅君子!」");
  // output: "Mr. 龍島主道:「Let's Party! 各位高明博雅君子!」"

  pangu.spacingPage();  //整个页面
  pangu.spacingElementById('main');  //指定 ID 属性
  pangu.spacingElementByClassName('comment');  //指定 Class 属性
  pangu.spacingElementByTagName('p');  //指定 Tag 标签
</script>

还看到了一个异步加载的代码,如果你嫌压缩后 8KB 的 JS 很大你也可以选择异步加载代码:

<script>(function(u, c) {
  var d = document, t = 'script', o = d.createElement(t),
      s = d.getElementsByTagName(t)[0];
  o.src = u;
  if (c) { o.addEventListener('load', function(e) { c(e); }); }
  s.parentNode.insertBefore(o, s);
})('//cdn.bootcss.com/pangu/3.3.0/pangu.min.js', function() {
  pangu.spacingPage();
});
</script>

异步加载代码摘自:https://yihui.name/cn/2017/05/pangu/

然后刷新页面查看效果吧(可能有一点点 Bug)。

小小的建议

尽管有多种方式可以自动添加空格来提升文章排版质量,但我还是建议大家自己添加空格而不是依赖插件和 JS 脚本。

如果你需要参考,可以按照这个 GitHub 项目一步步慢慢来:

[repo owner="mzlogin" name="chinese-copywriting-guidelines"]