V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
MemoryCorner
V2EX  ›  分享创造

写了一个中英文混排的工具

  •  
  •   MemoryCorner · 2019-12-24 20:58:27 +08:00 · 4238 次点击
    这是一个创建于 1826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    HeySpace

    HeySpace 是一款帮你优化排版,提升阅读体验的「命令行工具」。

    • 核心功能:中英文之间添加空格
    • 去除连续两个以上的空行
    • 兼容 Markdown 格式
    • 支持剪贴板输入输出,复制内容处理后可直接粘贴
    • 支持文件、目录的输入和输出;支持文件备份

    之前也有些中英文加空格的工具,不过对我都不太方便,比如要对 Markdown 格式特殊处理(部分逻辑还是比较复杂的),索性自己用 Go 写了一个。

    Github 地址:https://github.com/louisun/HeySpace

    具体就看 README 啦~

    平安夜快乐,小工具送给大家。

    10 条回复    2019-12-28 18:42:07 +08:00
    MemoryCorner
        1
    MemoryCorner  
    OP
       2019-12-24 20:59:56 +08:00
    对了 我只在 Mac 下测试过
    RBQ2012
        2
    RBQ2012  
       2019-12-24 21:12:03 +08:00
    0.0 原来嘤文加了空格会好看一些 w 学到了√
    abc1763613206
        3
    abc1763613206  
       2019-12-26 19:33:07 +08:00 via Android
    加空格的功能有个叫 pangu 的已经做了,不过是偏命令行处理的
    abc1763613206
        4
    abc1763613206  
       2019-12-26 19:33:33 +08:00 via Android
    MemoryCorner
        5
    MemoryCorner  
    OP
       2019-12-26 21:18:52 +08:00   ❤️ 1
    @abc1763613206 我知道,但你仔细看看,跟我的需求不一样
    MemoryCorner
        6
    MemoryCorner  
    OP
       2019-12-26 23:36:28 +08:00
    很多人可能不理解哈,简单讲就是这个工具本身是为了保持「 Markdown 」文本的写法而写的,纯文本如上面说的 pangu 就可以解决,不过这样是中英文无脑加空格。像 Markdown 里的的粗体或斜体:**粗体**,*斜体*,这个星号和中文之间要不要加空格的问题,比如 **粗体**中文,这个星号和后面的「中」字直接不需要空格,而 **粗体**English,后面的星号和 English 之间要有空格,此外还要判断内容是在星号之内还是之外,逻辑是比较复杂的,有很多场景,还有其他各种符号的问题,解决的时候像是在做字符串的算法题。另外比如 Markdown 的代码块,不希望去加空格,所以要跳过处理。总的来说这只是满足我自己的需求,如果对别人也有用的话,那就更好了。
    MemoryCorner
        7
    MemoryCorner  
    OP
       2019-12-26 23:39:43 +08:00
    然后是关于剪贴板的,我用快捷键映射了这个脚本,复制后按快捷键,再粘贴的内容就是加了空格的内容。
    MemoryCorner
        8
    MemoryCorner  
    OP
       2019-12-26 23:42:52 +08:00
    然后是关于文档处理的。我特意做了一键暴力替换目录下所有 markdown 文档(要 .md 结尾)的功能,当然也可以指定备份目录。这样只要执行这一条命令,就可以把你目录下所有博客文档啊、笔记啊替换成加完空格后的样子,写的时候都不需要注意加空格的事了。
    Kobayashi
        9
    Kobayashi  
       2019-12-28 12:03:19 +08:00
    不如和 markdown 渲染库集成,例如做成 markdown-it 插件。
    MemoryCorner
        10
    MemoryCorner  
    OP
       2019-12-28 18:42:07 +08:00
    对 js 不太感兴趣 : ) 有需要可以自己实现喔
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1562 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 16:48 · PVG 00:48 · LAX 08:48 · JFK 11:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.