vinta/pangu.js

★ 4,827⑂ 315

Opinionated paranoid text spacing in JavaScript, with on-device AI semantic judgment

About vinta/pangu.js

vinta/pangu.js is an open-source project on GitHub, mainly written in TypeScript. Opinionated paranoid text spacing in JavaScript, with on-device AI semantic judgment It currently holds 4,827 stars and 315 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Local & On-Device AI board.

GitHub Repository Details

Repository vinta/pangu.js · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

為什麼你們就是不能加個空格呢?

npm Version Chrome Web Store Version
Chrome Web Store Rating jsDelivr Hits npm Downloads

如果你跟我一樣,每次看到網頁上的中文字和英文、數字、符號擠在一塊,就會坐立難安,忍不住想在它們之間加個空格。這個 Google Chrome 外掛正是你在網路世界走跳所需要的東西,它會自動替你在網頁中所有的中文字和半形的英文、數字、符號之間插入空白。

漢學家稱這個空白字元為「盤古之白」,因為它劈開了全形字和半形字之間的混沌。另有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲的時候跟自己不愛的人結婚,而其餘三成的人最後只能把遺產留給自己的貓。畢竟愛情跟書寫都需要適時地留白。

與大家共勉之。

Installation

For Users

For Developers

Chrome Extension

Install 為什麼你們就是不能加個空格呢? and it spaces every page you browse. It also comes with the AI Spacing feature:

AI Spacing

The same symbol can mean totally different things in different contexts:

Regex rules can't distinguish semantic nuances like these, so the extension asks an LLM. It uses Chrome's built-in Prompt API, which runs Gemini Nano on your device. Fully offline, nothing leaves your machine. It's free, btw.

GPT-6 Astra writes the prompts. It runs the prompt-experiments skill: propose a change, then test it against the real Gemini Nano in Chrome. When a case fails, it interviews Gemini Nano for clues. When progress stalls, it searches online for new approaches to test. Prompts for a model, tuned by a bigger model, judged on real data.

JavaScript Library

Opinionated paranoid text spacing: automatically inserts whitespace between CJK (Chinese, Japanese, Korean) and ANS (alphabetical letters, numerical digits and symbols).

npm install pangu --save-exact

See the changelog or npm for details.

Browser

Make sure to import from pangu/browser in ESM, which is the DOM-aware build (spaceNode(), autoSpacePage()) with matching TypeScript types and resolves correctly across all bundlers.

import pangu from 'pangu/browser';
// or
//

const text = pangu.spaceText('當你凝視著bug,bug也凝視著你'); // text = '當你凝視著 bug,bug 也凝視著你'

pangu.spaceNode(document.getElementById('main'));

if (document.readyState === 'loading') { // Start automatic text spacing once the page is ready // Consume the stream of DOM mutations and space dynamic content via MutationObserver document.addEventListener('DOMContentLoaded', () => pangu.autoSpacePage()); } else { pangu.autoSpacePage(); }

Also on:

Replace x.y.z with the version you want to use.

Node.js

import pangu from 'pangu';
// or
// const pangu = require('pangu');

const text = pangu.spaceText('與PM戰鬥的人,應當小心自己不要成為PM'); // text = '與 PM 戰鬥的人,應當小心自己不要成為 PM'

const content = await pangu.spaceFile('/path/to/text.txt');

You SHOULD NOT use pangu.js to space 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 -t "你在每個commit裡修改的程式碼越多,你在code review時被發現的錯誤就會越少" 你在每個 commit 裡修改的程式碼越多,你在 code review 時被發現的錯誤就會越少

$ pangu -f path/to/file.txt 新來的 Designer 趁特價的時候幫自己買了一本 GoF Design Patterns

$ pangu -c "盤古新聞網:工程師會議中默不作聲,PM恐成最大贏家"; echo $? Corrected: 盤古新聞網:工程師會議中默不作聲,PM 恐成最大贏家 1

$ echo "他們在release的前一天爆炸" | pangu 他們在 release 的前一天爆炸

License

Released under the MIT License.

Author

GitHub Stars & Activity

4,827Stars
315Forks
0Open issues
TypeScriptLanguage

GitHub Popularity

GitHub stars4,827
Forks315
Open issues0
Primary languageTypeScript
License-
Stars gained today0
Created-
Last pushed-

Trending History

Trending statusnot on today's boards

Related AI Projects

1

ChatGPTNextWeb / NextChat

TypeScript★ 88,790⑂ 59,030
2

chatboxai / chatbox

TypeScript★ 41,812⑂ 4,252
3

dyad-sh / dyad

TypeScript★ 21,587⑂ 2,639
4

lidge-jun / opencodex

TypeScript★ 15,561⑂ 1,180
5

browseros-ai / BrowserOS

TypeScript★ 13,720⑂ 1,460
6

getumbrel / llama-gpt

TypeScript★ 10,937⑂ 704
7

miurla / morphic

TypeScript★ 9,133⑂ 2,348
8

n4ze3m / page-assist

TypeScript★ 8,220⑂ 784

More AI Rankings