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

开发了一款离线笔记软件《书立》,有富文本、表格、双链、WebDav,可编辑超过 100M 的 MarkDown 单文件。

  •  7
     
  •   xcodeartel · 66 天前 · 4190 次点击
    这是一个创建于 66 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是一款操作简单,功能强大的笔记软件,支持富文本编辑,支持 markdown 语法,支持 / 唤起块编辑菜单,支持 WebDav ,并且性能卓越。

    体验网址: https://slinote.com/

    关键词:离线,免费,高性能,富文本,双链,表格,富目录树,WebDAV ,自由导出。

    富目录树示例

    富目录树

    顾名思义,目录树也是富文本,文档的标题与大纲会自动生成目录树,并且保留富文本。通过编辑文档标题与大纲,可以生成各种样式的目录树,比如图文目录、表情目录、任务目录。

    富目录树示例

    表格

    书立的表格有全功能的富文本编辑能力,支持一些基本的 Excel 操作,支持单元格内嵌表格,表格的嵌套可用于页面布局,类似于无代码搭建网页,可以借此编排出各种自己想要的页面。

    比如编排一个四象限任务模板

    富目录树示例

    或者一个由嵌套表格搭建的产品说明书

    富目录树示例

    表格在交互上借鉴了 Excel ,可以使用相同的方式操作单元格和选区,具体功能细节请参考软件内的帮助文档。

    双链与链接

    书立的双链和其他双链笔记软件不太一样,书立双链的灵感来自 IDE 的查找引用功能,查找引用在理解和管理代码方面至关重要,双链与查找引用有相似性,书立在文字层面实现了一套查找引用的能力,并且能双向数据同步。点击双链弹出的面板是一个全功能的编辑区,支持嵌套和多开,可以随意编辑整理双链关联的笔记。

    富目录树示例

    书立的链接分为外链、正链和反链,外链即普通的超链接,正链和反链是内链的两种表示,是一种支持内部跳转的链接,正链和反链对于内容快速定位很有帮助,而且图片也能作为链接载体,点击图片可定位到文档任意区域。

    富目录树示例

    富文本编辑器

    编辑器是笔记软件的核心,在接触了众多开源富文本编辑器后,我自己写了一款。我希望编辑器有很高的性能,能轻松渲染大型文档并且流畅编辑;我希望选区更受控,能适应多模态场景并且跨平台一致。开源社区中有许多优秀的编辑器,但满足笔记软件需求的编辑器较少,且稳定性和扩展性无法预期,难以作为笔记软件的底层支柱,为了软件的长远发展,我从头写了一个富文本编辑器。

    Web 领域将富文本编辑器分为三个阶段 L0 、L1 、L2 ,其中 L2 阶段的特征是自绘选区和自定义排版,书立的编辑器应该在 L1.5:自绘选区 + DOM 排版。

    需要特别说明的是 DOM 渲染并不意味着低性能。

    这里有一份 MarkDown 格式的维基语料 https://github.com/artelcoder/wikipedia/blob/main/维基语料.md.zip ,大约 100M ,有 3800 多万字,包含 3000 个子目录,大家可以下载下来(记得解压缩)导入到书立,体验大文件的编辑、滚动、定位、搜索。

    DOM 排版还有一个优势是亲和互联网,可以把互联网内容拷贝到编辑器内,并且最大限度的保留排版信息,如下图是将微信公众号内容拷贝到书立后的样子,原文网址可供参考 https://mp.weixin.qq.com/s/lopwSbBNqmV3FnB4JluKWw ,你也可以自己试试。

    富目录树示例

    自研编辑器花费了大量时间和精力,总体来说是值得的,自研让软件更可控,未来产品演化也有了一个坚实的基础。

    块编辑菜单

    在编辑区输入 / 即可唤起块编辑菜单,使用方法和普通块编辑器一致,书立的块编辑菜单能力可以相互叠加,为一个块添加无序列表样式后,还可以继续为这个块附加一个折叠列表的样式,生成一个可折叠的无序列表。大纲也是一种块类型,支持叠加样式,按照上面的方法可以生成一个可折叠的任务大纲,做一些简单的任务管理。

    富目录树示例

    本地优先

    书立提供网页和客户端两种产品形态,并且都可以离线访问。客户端数据落盘在本地文件夹,网页端数据存放在 IndexDB 中,双端都提供导入导出功能,目前提供以下三种文档格式 .sli (已完成),.md (导入已完成,导出开发中),.html (开发中)。导入导出的粒度可自由控制,单次导出的内容可以是文档的一个章节,也可以是整篇文档,也可以是多篇文档,导入同理。

    WebDAV

    不同于大部分笔记软件对 WebDav 的简单适配,书立在产品层面内置了 WebDAV ,提供多笔记空间管理和多 WebDAV 配置管理,可以为一个笔记空间配置多个 WebDAV ,也可以为多个笔记空间配置一个 WebDAV ,还可以按照各自的同步需求选择实时同步、手动同步、定时同步等。多笔记空间多 WebDav 配置能够最大限度利用云端空间,也可通过多重备份确保数据安全可召回。

    富目录树示例

    书立仿照 git 模式为笔记空间添加了一些简单的更新提示,按不同端的更新时机,有三种不同的更新状态:上传、下载、更新。上传即本地有改动需上传,下载即远程有改动需下载,更新则表示本地和远程同时出现了变更,针对冲突场景目前策略是选择最近的更新。

    富目录树示例

    为什么要开发书立

    我曾就职于一家公司的效率工具开发团队,多年来常思考一个问题:为什么文档团队要维护一个孱弱的表格,而表格团队又要维护一个孱弱的文档,为什么文档里的小表格不能是一个表格,表格里的小文档不能是一个文档。由此延伸出更多的问题:为什么文档里的导图不能继续加表格,为什么文档里的代码不能继续写文档......

    我希望开发出一款架构统一的笔记软件,拥有出众的性能,强大的编辑能力,文档里的表格不输表格,表格里的文档不输文档,可以在文档里写真正的导图,可以在代码里写真正文档。

    计划

    书立目前规划到 2.0 ,1.0 版本工作重心是编辑和跨平台,2.0 版本工作重心是信息处理和智能生产,长期目标是打造一款个体知识管理助手。

    欢迎大家多多使用,多提意见。当前推出的功能永久免费使用。关于书立的产品路线和商业计划可去官网查看。

    感兴趣的小伙伴可以加入社群交流,QQ 群号:435023648 ,群二维码: 富目录树示例

    65 条回复    2024-10-01 12:43:24 +08:00
    xiaoz
        1
    xiaoz  
       66 天前
    目前只有 Windows 端吗?多平台和移动端大概什么时候能上线呢?
    xiaoz
        2
    xiaoz  
       66 天前
    markdown 支持好像不是很好,比如插入代码:
    ```bash
    xxx
    ```

    或者代码块的时候`code`,编辑器无法自动识别?
    xcodeartel
        3
    xcodeartel  
    OP
       66 天前
    @xiaoz 代码块还在开发中,暂时可以先拷贝 VSCode 里的代码进来,书立可以识别 VSCode 的代码高亮。
    xcodeartel
        4
    xcodeartel  
    OP
       66 天前
    @xiaoz Mac Window Linux 都支持的,会根据不同平台下载指定安装包
    liuweifeng
        5
    liuweifeng  
       66 天前
    支持一下~
    xiaoz
        6
    xiaoz  
       66 天前   ❤️ 1
    @xcodeartel #3 ,好的,希望尽快支持代码块,对程序员来说是刚需。OP 加油,看好书链。
    我写文章帮你推一推。
    xcodeartel
        7
    xcodeartel  
    OP
       66 天前
    @liuweifeng 我的天,你竟然在看 😂
    cunjieliu
        8
    cunjieliu  
       66 天前
    不错,挺厉害的
    xcodeartel
        9
    xcodeartel  
    OP
       66 天前
    @xiaoz 软件名字叫 “书立”,感谢支持 😁
    xiaoz
        10
    xiaoz  
       66 天前   ❤️ 1
    反馈一个 BUG ,添加 WebDAV 的时候,服务器地址栏那里,我手动输入,如果域名带有字母 f ,会自动触发搜索框,导致无法输入,估计是和软件内置的什么快捷键冲突了。
    keethebest
        11
    keethebest  
       66 天前
    挺不错的 希望能尽快支持移动端
    xcodeartel
        12
    xcodeartel  
    OP
       66 天前
    @xiaoz 感谢反馈,我修复一下
    xcodeartel
        13
    xcodeartel  
    OP
       66 天前
    @keethebest 今天过后就着手开发移动端了,敬请期待!
    V4Exp
        14
    V4Exp  
       66 天前
    支持,一直想找个软件替换 MyBase
    iFlicker
        15
    iFlicker  
       66 天前   ❤️ 1
    提一个建议,可不可以给笔记空间设置密码(变相实现多用户)这样在存在 nas 上的时候可以多人使用
    jonsmith
        16
    jonsmith  
       66 天前 via Android
    相比 Obsidian ,有什么特色功能?
    royalknight
        17
    royalknight  
       66 天前   ❤️ 1
    输入/后的菜单,按方向键不好使
    fengbjhqs
        18
    fengbjhqs  
       66 天前
    不是说好,富文本是前端的天坑吗,
    xcodeartel
        19
    xcodeartel  
    OP
       66 天前
    @royalknight 你好!是按上下两个方向键无法定位子菜单吗?请问用的是什么浏览器和系统?
    xcodeartel
        20
    xcodeartel  
    OP
       66 天前
    @iFlicker 👌🏻我记一下这个需求
    N032138
        21
    N032138  
       66 天前
    支持,去看看
    xcodeartel
        22
    xcodeartel  
    OP
       66 天前
    @royalknight 你好!是方向键聚焦到菜单边界无法自动将视口外菜单滚动到视口的问题吗,已经修复并上线了,感谢反馈!
    bequt
        23
    bequt  
       66 天前
    建议增加 git
    xiaoz
        24
    xiaoz  
       66 天前
    已推荐,作者加油。

    https://blog.xiaoz.org/archives/21356
    AlanBrian
        25
    AlanBrian  
       66 天前
    请问下支持 mermaid 吗?
    ldlywt
        26
    ldlywt  
       66 天前 via Android   ❤️ 2
    @jonsmith #16 ob 的 ui 感觉设计的很不符合我的审美,不知道是不是只有我一个人这样,每次提不起打开的兴趣
    vegetableswim
        27
    vegetableswim  
       66 天前
    英文网址太像 silly 了
    asilin
        28
    asilin  
       66 天前
    支持付费吗?我愿意付费

    之前在 Linux 桌面使用 Cherrytree 作为笔记,迁移到 Windows 后,发现 Cherrytree 并不是原生开发的,而是运行在 Cygwin 上,体验很不好。

    而且 Cherrytree 不支持远端部署+浏览器交互,而是一个本地软件,多年来一直想找相关的树状结构笔记软件,奈何没一个能打的。

    我觉得目前的“书立”就很满足我的所有需求了!
    NavsSite
        29
    NavsSite  
       66 天前
    左边即是菜单,又是目录么?用的我怪怪的,时常点进去不知道是一个新的页面还是某个页面中的目录
    xcodeartel
        30
    xcodeartel  
    OP
       65 天前
    @asilin 你好,目前推出的功能都是永久免费的,付费功能在官网有列出来,分别是:官方云存储,剪藏,还有 AI 。
    asilin
        31
    asilin  
       65 天前
    @xcodeartel 后期可以支持自建部署+浏览器操作吗?我比较期待这个功能
    xcodeartel
        32
    xcodeartel  
    OP
       65 天前
    @NavsSite 这个和普通的笔记目录不太一样,需要适应一下,目录左侧会有标识,直角箭头表示页面,小圆点是大纲,空心圆是没有大纲的页面,三角行箭头表示当前大纲存在子大纲
    byc4i
        33
    byc4i  
       65 天前   ❤️ 1
    出私有化的网页版计划吗?
    封装进 docker 里,再加个 oss 定期备份 markdown 的功能。
    现在这两年,公司电脑都装了监控软件,不想用本地的。
    byc4i
        34
    byc4i  
       65 天前
    @byc4i #33 SaaS 也行,但是我猜可能费用和审查不太好 cover 。
    Gotchaaa
        35
    Gotchaaa  
       65 天前
    看着不错,关注一下
    zhouyg
        36
    zhouyg  
       65 天前
    这个编辑器看起来不错~~
    regent
        37
    regent  
       65 天前
    加油,希望能成为中国的 Obsidian
    iMusic
        38
    iMusic  
       65 天前
    有无只读模式?
    xcodeartel
        39
    xcodeartel  
    OP
       65 天前
    @asilin 可以,我在路线图里加一下私有部署
    xcodeartel
        40
    xcodeartel  
    OP
       65 天前
    @byc4i 私有化可以搞,我规划规划
    asilin
        41
    asilin  
       65 天前
    @xcodeartel 期待,如果能保持私有部署的功能持续更新,即使私有部署是付费功能,我也支持!
    xcodeartel
        42
    xcodeartel  
    OP
       65 天前
    @iMusic 现在还没有,以后会有的,“设置--帮助”里的文档都是只读模式呈现的,后面会出一个预览模式让笔记只读
    xi0729
        43
    xi0729  
       65 天前
    好用,好用!
    royalknight
        44
    royalknight  
       65 天前   ❤️ 1
    @xcodeartel 看着是修复了,提个建议,输入/之后,如果想输入文字,可以用 esc 快捷键,退出菜单选择
    royalknight
        45
    royalknight  
       65 天前
    点击多个超链接之后,出现了多个弹窗了,这个不知道是否合理
    royalknight
        46
    royalknight  
       65 天前
    突然发现富文本编辑器是楼主自己写的,太厉害了
    fgt1t5y
        47
    fgt1t5y  
       65 天前
    富文本编辑器是基于哪个框架的,还是自己写的?
    fgt1t5y
        48
    fgt1t5y  
       65 天前
    抱歉,我眼瞎了没看文章。
    AmazingEveryDay
        49
    AmazingEveryDay  
       65 天前
    支持支持 真的大佬
    agegcn
        50
    agegcn  
       65 天前
    支持啊🔥
    AX5N
        51
    AX5N  
       65 天前
    看上去是一个带管理的富文本编辑器,或者说是一个带管理简易版的 word ,跟 markdown 类的笔记软件不是同一个赛道的。
    Vision820
        52
    Vision820  
       65 天前
    鼓励一下,但是感觉同类型已经在用思源笔记了,没有切换的动力
    Amose2024
        53
    Amose2024  
       65 天前
    对于技术人员来说,版本控制也是必不可少的。
    michaeljackson
        54
    michaeljackson  
       65 天前
    @xiaoz 你这网站也打不开呀
    pUC9tNrr
        55
    pUC9tNrr  
       65 天前
    支持,跟思源掰掰手腕
    moxiaonai
        56
    moxiaonai  
       65 天前
    编辑器好评,有可能开源吗
    xcodeartel
        57
    xcodeartel  
    OP
       64 天前
    @royalknight 感谢提的建议,esc 快捷键退出菜单选择这个功能已经上线了
    xcodeartel
        58
    xcodeartel  
    OP
       64 天前
    @moxiaonai 一切皆有可能,现在开源还尚早
    OnlyTL
        59
    OnlyTL  
       63 天前
    很简洁,希望支持 Code
    xcodeartel
        60
    xcodeartel  
    OP
       63 天前
    @OnlyTL Code 在近期规划里面,是一个很强大的代码块,敬请期待!
    hing
        61
    hing  
       63 天前
    期待可以像思源那样可以直接在设置里打开网页端访问,我比较懒,Docker 都懒得跑!
    leokun
        62
    leokun  
       63 天前
    为何如此丝滑
    zjwf
        63
    zjwf  
       63 天前
    性能确实强👍🏻,100 兆 Markdown 编辑起来很丝滑
    hing
        64
    hing  
       63 天前
    试用了下看到是专有格式文件,只能说不是我的菜了!
    Jackyxiaoc
        65
    Jackyxiaoc  
       61 天前
    不错
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2598 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 06:31 · PVG 14:31 · LAX 22:31 · JFK 01:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.