pangu.js:为什么你们就是不能加个空格呢?

为什么你们就是不能加个空格呢?

如果你跟我一样,每次看到网页上的中文本和英文、数字、符号挤在一块,就会坐立难安,忍不住想在它们之间加个空格。这个插件(支持 Chrome 和 Firefox)正是你在网络世界走跳所需要的东西,它会自动替你在网页中所有的中文本和半角的英文、数字、符号之间插入空白。

汉学家称这个空白字符为「盘古之白」,因为它劈开了全角字和半角字之间的混沌。另有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。

与大家共勉之。

pangu.js:为什么你们就是不能加个空格呢?
pangu.js:为什么你们就是不能加个空格呢?

Installation

For Users

For Developers

  • Community supports:

  • Usage

    $ npm install pangu --save
    # or
    $ yarn add pangu

    Browser

    Files are located in ./node_modules/pangu/dist/browser/ .

    <head>
      <script src="pangu.min.js"></script>
    </head>
    <script>
      const text = pangu.spacing("当你凝视着bug,bug也凝视着你");
      // text = '当你凝视着 bug,bug 也凝视着你'
    
      pangu.spacingElementById('main');
      pangu.spacingElementByClassName('comment');
      pangu.spacingElementByTagName('p');
    
      document.addEventListener('DOMContentLoaded', () => {
        // listen to any DOM change and automatically perform spacing via MutationObserver()
        pangu.autoSpacingPage();
      });
    </script>

    pangu.js is also available on jsDelivr and cdnjs :

    <script src="https://cdn.jsdelivr.net/npm/pangu@4.0.6/dist/browser/pangu.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/pangu@4.0.6/dist/browser/pangu.min.js"></script>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pangu/4.0.6/pangu.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pangu/4.0.6/pangu.min.js"></script>

    Node.js

    Learn more on npm .

    const pangu = require('pangu');
    
    const text = pangu.spacing('与PM战斗的人,应当小心自己不要成为PM');
    // text = '与 PM 战斗的人,应当小心自己不要成为 PM'
    
    pangu.spacingFile('/path/to/text.txt', (err, data) => {
      console.log(data);
    });
    
    pangu.spacingFile('/path/to/text.txt')
      .then((data) => {
        console.log(data);
      })
      .catch((err) => {
        console.error(err);
      });
    
    const data = pangu.spacingFileSync('/path/to/text.txt');

    You SHOULD NOT use pangu.js directly to spacing Markdown documents, this library is specially designed for HTML webpages and plain texts without any markup language. See issue #127 .

    CLI

    $ pangu "不能信任那些Terminal或Editor用白底的人"
    不能信任那些 Terminal 或 Editor 用白底的人
    
    $ pangu --help
    usage: pangu [-h] [-v] [-t] [-f] text_or_path
    
    pangu.js -- Paranoid text spacing for good readability, to automatically insert whitespace
    between CJK and half-width characters (alphabetical letters, numerical digits and symbols).
    
    positional arguments:
      text_or_path   the text or file path to perform spacing
    
    optional arguments:
      -h, --help     show this help message and exit
      -v, --version  show program's version number and exit
      -t, --text     specify the input value is a text
      -f, --file     specify the input value is a file path

    Testing

    You need to install Node.js .

    $ git clone git@github.com:vinta/pangu.js.git && cd pangu.js
    $ npm install
    $ npm run test

    License

    Released under the MIT License .

    Author