写了 5 年静态博客,终于忍不住撸了个专属编辑器:轻渡 Ferry(支持 Hexo/Hugo/Jekyll + 独家图床修复) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
singer
V2EX    分享创造

写了 5 年静态博客,终于忍不住撸了个专属编辑器:轻渡 Ferry(支持 Hexo/Hugo/Jekyll + 独家图床修复)

  •  
  •   singer
    PRO
    2 月 2 日 3586 次点击
    这是一个创建于 71 天前的主题,其中的信息可能已经有所发展或是发生改变。

    过去 5 年,累计立 flag 想写博客 200+次,实际产出 10+篇。 并不是写不出内容,而是每次想到写完文章后的流程:找图、截图、压缩、传图床、拿链接、写 YAML 头信息……热情就熄灭了一半。


    大家好,我是「轻渡(Ferry)」的开发者。

    作为Hexo/Hugo/Jekyll的重度用户,我一直觉得现有的写作流程不仅割裂,而且不够优雅。

    VS Code 很强,但对静态博客来说配置太繁琐; Typora 很好,但对 Front Matter 和图床的集成又差点意思。

    所以趁着最近有空,我开发了轻渡(Ferry) 一个专注于静态博客写作的“闭环”编辑器。

    轻渡 App

    一、彻底解决“图片焦虑”(这是我最想安利的功能)

    写文章时,图片处理是最断节奏的。 在轻渡里,我把这个流程压缩到了极致:

    • 拖拽即发布:直接把图片(或剪贴板内容)拖入编辑器,自动完成压缩->上传->回填 Markdown 链接。
    • 独家图床复活术:针对大家常用的“某浪”图床(wb),内置了 403 防盗链修复方案,不再满屏裂图。
    • AI 水印擦除:如果你常用 Google Gemini 生成配图,编辑器能自动识别并擦除 SynthID 水印,让图片更纯净。
    • 无损/有损压缩:支持压缩开关,在画质和体积间自由切换。

    二、可视化 Front Matter ,告别 YAML 缩进噩梦

    不管是 Hexo 还是 Hugo ,头部元数据(Front Matter)写错一个空格,整个博客渲染就挂了。 轻渡内置了脚手架:

    • 表单式填写:标题、分类、标签、日期全部可视化操作。
    • 模板引擎:支持自定义字段模板,一键生成标准博文结构。

    三、本地优先,Git 友好

    • 数据安全:直接挂载你本地的博客 Git 仓库,文件就在你硬盘里,不经过任何第三方云端存储(除了图床)。
    • 一键同步:写完文章,编辑器右上角直接点“同步”,自动完成 git commit+git push 。

    其他功能&细节

    • 多引擎适配:完美支持 Hexo/Hugo/Jekyll 目录结构。
    • 沉浸体验:精心调教的深色/浅色模式(珊瑚紫/VS Code/海洋蓝),基于 CodeMirror ,支持 LaTeX 公式、Emoji 快捷输入。
    • 跨平台:macOS(Intel/Apple Silicon)、Windows 、Ubuntu 全覆盖。
    • AI 输出阅读优化:AI 生成的 Markdown 太长、格式太乱看着累?双击用轻渡打开,自动生成侧边目录,条理清晰,当作本地 Markdown 阅读器也很好用。甚至你只需告知 AI 用轻渡打开报告,它便可以轻松打开。

    界面预览

    界面预览

    (图注: 界面预览)

    拖拉上传

    (图注: 拖拉上传)

    可视化 Front Matter

    (图注: 可视化 Front Matter )

    阅读模式自动打开目录导航

    (图注: 阅读模式自动打开目录导航)

    关于送码&下载

    目前软件处于初期推广阶段,欢迎 V 友们体验反馈。

    下载地址:https://github.com/ferry-editor/ferry/releases

    项目主页:https://github.com/ferry-editor/ferry/wiki

    送码福利: 为了感谢大家的支持,我准备了一批兑换码。

    • 10 枚 6 个月许可证:直接拿码,先到先得(手慢无)
    • 留言 100%获得 3 个月许可证: 留言格式:「你的博客引擎(Hexo/Hugo...) + 博客地址 + 邮箱(base64 编码)」 我会在稍后统一发送。
     8UA6-VLJH-L3PC-S3HE LJX9-ZPAQ-FVU2-CTNE 56NF-6WWP-FCRF-PURV TJBE-AJ96-GUCW-4YXC 5RU5-RDXH-JWN3-LSLW YMYG-2Y7S-7EGS-8RKL 9ANG-2FRF-RNZB-MMJJ QVKX-YHAE-DK67-HRKT ZBMY-3DMW-9G2M-U28V HZAC-L5WP-VHPX-WEFB 

    最后

    开发不易,功能肯定还有不完善的地方。如果你在使用中遇到 Bug 或有新的需求,欢迎在 GitHub 提 Issue 或直接在帖子下留言,我会持续迭代。

    Happy Blogging!

    第 1 条附言    2 月 2 日

    软件有许可证系统,授权许可证与Sublime Text类似

    所以软件可以持续试用,直到哪天觉得「支持一下也不错/不想看到每日最多三次的注册许可证的弹窗了」,那可以选择付费

    提供舒适的使用体验是目前的P0级别需求,欢迎提意见

    第 2 条附言    2 月 2 日

    如何让AI协助用轻渡打开它生成的文档文件

    以下操作需安装完轻渡后才能使用

    • 在agent的md文件里加上如下描述:
    ### 更好的阅读体验 轻渡是一款Markdown阅读器,你可以在每次完成报告输出后使用它打开报告让我获得更好的阅读体验。 

    image.png

    第 3 条附言    2 月 2 日

    许可证系统里看到有不少大佬激活了,再发10个许可证

    78CR-3D46-K5J4-9SGB 2XPL-XPZW-8K32-TLCD DVKY-6F2H-Y42V-USYT ARC5-CFTC-AD23-PU9Q LXEK-6HSG-G2BG-HZVU 7PPQ-EPZZ-USSK-K2MY EYUG-K2A2-HP8Z-3RDT V93D-8ED4-ETE3-V7BK 6VL5-QSMZ-K79U-BAWT MKAP-9SH9-DV7G-88LY 
    33 条回复    2026-02-09 10:23:55 +08:00
    gesse
        1
    gesse  
       2 月 2 日
    9ANG-2FRF-RNZB-MMJJ
    已经使用,提示损害执行
    ```
    sudo xattr -dr com.apple.quarantine /Applications/轻渡.app
    ```
    asdfasasdf
        2
    asdfasasdf  
       2 月 2 日
    5RU5-RDXH-JWN3-LSLW 多谢已经使用
    singer
        3
    singer  
    OP
    PRO
       2 月 2 日
    @gesse 没加开发者证书,安装包里面有个 txt 文档看一下哦
    singer
        4
    singer  
    OP
    PRO
       2 月 2 日
    @gesse 这个命令属于没用苹果开发证书签名的 app 常规命令了,没问题的
    singer
        5
    singer  
    OP
    PRO
       2 月 2 日
    @asdfasasdf 大佬使用上有啥不适随时提
    lvsp95
        6
    lvsp95  
       2 月 2 日
    ZBMY-3DMW-9G2M-U28V 已用
    sunmoon1983
        7
    sunmoon1983  
       2 月 2 日
    QVKX-YHAE-DK67-HRKT 已用
    AJDX3906
        8
    AJDX3906  
       2 月 2 日
    HZAC-L5WP-VHPX-WEFB 已用
    andrewTeller
        9
    andrewTeller  
       2 月 2 日
    LJX9-ZPAQ-FVU2-CTNE 已用
    yandif
        10
    yandif  
       2 月 2 日
    上传中的渲染样式可以优化下。
    singer
        11
    singer  
    OP
    PRO
       2 月 2 日
    @yandif 图裂开的那部分是吗?
    bzj
        12
    bzj  
       2 月 2 日
    为什么不用 obsidian
    singer
        13
    singer  
    OP
    PRO
       2 月 2 日
    @bzj 在你说之前,其实我并不知道有这个。


    `VS Code 很强,但对静态博客来说配置太繁琐; Typora 很好,但对 Front Matter 和图床的集成又差点意思。`

    还有 “图片焦虑”
    hi909
        14
    hi909  
       2 月 2 日
    我和你的经历类似。一开始,我使用 obsidian 写笔记。后来想把这些笔记发布为博客,然后就找到了很多工具,例如:Hugo 、Hexo 等。

    最终是使用 Hugo 把笔记构建为 HTML ,然后发布到公网上。
    singer
        15
    singer  
    OP
    PRO
       2 月 2 日
    @hi909 最早的时候我用的是你现在的方案,但我实在是不想为了博客维护一套环境在我电脑上(纯后端,长时间不用我能连前端的命令都忘记掉)。

    所以我用设计了下面的博客架构

    服务清单:
    1. 两个 Github 仓库:一个 hexo 固定结构,一个是 post 目录作为 hexo 的子目录独立成一个仓库
    2. Cloudflare:与 GitHub 的 hexo 仓库建立关联,代码变动就构建


    流程如下:
    1. 当我的 post 仓库发生了变更,就会触发 hexo 仓库更新子目录的 commit id
    2. hexo 更新了内容就会触发 Cloudflare 构建生成 html 分发到 CDN 上

    以上做完后,我就只剩好安心写文章了。但写文章图片搞得我很割裂,所以我就写了这个编辑器,把图片的都弄完了。


    现在就是写文章很舒服,看 AI 报告也很舒服( AI 可以调用编辑器打开报告,Markdown 格式很爽)



    编辑器自认为是一个痛点,所以开发出来自己用,且分享出来给大家用用。

    等什么时候有空了,我再写一写博客的架构文章,弄不好可以为编辑器再找到一些受众。
    Zoyo94
        16
    Zoyo94  
       2 月 2 日
    我还是用我自己搭建的 hexo 、md-editor 结合版,图片视频拖拽插入。
    [hexo]( https://hub.docker.com/repository/docker/zoyo94/zoyo_hexo/general)
    gorvey
        17
    gorvey  
       2 月 2 日
    现在有一种 live edit,实时编写的方案,比如 nuxt content,https://nuxt.studio/introduction 进去后里面有一个按钮可以体验
    v1
        18
    v1  
       2 月 2 日
    别高兴的太早……你的安装包内附带了一些不该出现的东西,比如一份神秘的<许可证模块>相关

    singer
        19
    singer  
    OP
    PRO
       2 月 2 日
    码的激活就是许可证模块做的,你逆向一下看看
    singer
        20
    singer  
    OP
    PRO
       2 月 2 日
    @v1 码的激活就是依赖许可证模块做的,你逆向一下看看。拿个码走流程
    v1
        21
    v1  
       2 月 2 日
    @singer 不了,虽然你在 electron 关键位置做文件校验,但是属于掩耳盗铃了。真想做校验的话你可以参考 ntqq 的做法。
    singer
        22
    singer  
    OP
    PRO
       2 月 2 日
    @v1 我解包看了一下,源代码被打进去了。以前没干过前端,让 AI 写的构建脚本,离谱了。。。
    singer
        23
    singer  
    OP
    PRO
       2 月 2 日
    @v1 前端的源代码应该都打进去了,可以让 AI cr 一下,没有风险的。
    掩耳盗铃用错词了吧,除了许可证模块要联网验证许可证判断有效期,其他都没联网的。我的本意是保护一下去水印的模块,搞了很久不想源码泄漏了
    v1
        24
    v1  
       2 月 2 日
    @singer 我的意思就是你想保护许可的话用文件 sha 验证是掩耳盗铃,完全可以 hook 掉 sha 算法,你肯定调用的是标准库而不是自己写的纯算法。
    singer
        25
    singer  
    OP
    PRO
       2 月 2 日
    @v1 前端的 hook 这块没深入了解过,反复问了 AI 说这个方案目前是最优解了,再上去就得买开发者证书。
    去 Gemini 水印有文章的(在 App 的关于里面有链接),不过到实现需要一些时间。
    dsd2077
        26
    dsd2077  
    PRO
       2 月 3 日 via Android   1
    写了五年静态博客,产出 10 篇,你说这是编辑器能解决的问题嘛
    singer
        27
    singer  
    OP
    PRO
       2 月 3 日
    @dsd2077 哈哈。文字是真写了,整图整得删文跑路
    patrickl
        28
    patrickl  
       2 月 3 日
    MKAP-9SH9-DV7G-88LY
    已用 感谢
    git00ll
        29
    git00ll  
       2 月 3 日
    真不多,我也有图片这个痛点
    LifeDesigner
        30
    LifeDesigner  
       2 月 4 日
    2XPL-XPZW-8K32-TLCD 已用,感谢大佬!
    sxgxhk
        31
    sxgxhk  
       2 月 7 日
    V93D-8ED4-ETE3-V7BK ,已使用,谢谢大佬
    woodchen
        32
    woodchen  
       2 月 8 日
    其实最简单就是 obsidian 写个插件, 写完直接推送发布
    gsq19920418
        33
    gsq19920418  
       2 月 9 日
    我就好奇问下,为啥不支持 pelican 呢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1461 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 17:13 PVG 01:13 LAX 10:13 JFK 13:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86