Notion Nice 排版功能重构上线,能力大升级
👑

Notion Nice 排版功能重构上线,能力大升级

URL
Tags
文案介绍
Web Dev
功能发布
Published
April 4, 2024
Author
👉
经历了初版的试运行,我们发现并认识到了许多问题。因此,我们决定进行一次重大的重构升级。这次升级将有效解决众多现存问题。然而,仍有部分功能暂时没有实现,我们会在未来逐步推出这些功能。
 

前期的一些想法

在2023年初,我成为了Notion的忠实用户。那时,我开始在Notion上积累我的一系列文章和思考。然而,当我希望将这些内容发布到公众号时,我发现我必须经历一番复杂的操作。于是,我萌发了创造一款可以一键将Notion内容排版的工具的想法。
在决定实践我的想法之前,我首先进行了一番市场调研,在这个过程中,我意外地发现有人已经创造出了我心中模糊的那个工具:Notion Converter。这个发现瞬间熄灭了我当时的热情,我决定不再自己去创建,而是直接使用已经存在的 Notion Converter。因此,我暂时打消了创造新工具的念头,转而投入了Coding Agent项目中,一年的努力也取得了些许的成果。
后来的一次机缘巧合,我通过一位朋友认识了Notion Converter的开发者。然而在2024年初,我发现他不再更新该工具。当我联系他,希望他能添加我的自定义样式时,却未受到任何回复。考虑到我和我的一些朋友对优化版Notion文本转换工具的热切需求,我决定在春节期间,根据我之前的市场调研结果,着手创建我的Notion一键排版工具。

初次尝试:Demo版本的实现

春节假期的时间大约有两周,但实际可用于开发的时间仅有一周左右。为了尽快实施我的想法并形成一个初版的版本,我直接利用了Notion的导出功能。我将当前页面的所有内容导出为一个zip文件,然后解压缩获取其中的Markdown文本和图片。对于Markdown文本的处理,我通过在GitHub找到一个适合的开源代码,便迅速实现了这一功能。
最初的实现
最初的实现
然而,在这个初版中,出现了两个我之前并未预见的Bug。虽然我进行了一些调查工作,但由于需要的精力投入较大,我并未在此时选择对整个技术版本进行重构。于是基于这两个Bug有了下面的改进版本。
两个奇怪的Bug
两个奇怪的Bug

进一步优化:改良版的秉持

改良版坚持使用原始设计的框架,我做了几项重要的改变。相对于之前的Markdown,我选择了使用HTML进行数据导出,并且放弃了导出图片的需求。这样做减小了zip文件的大小,更有效地减少了用户的等待时间。这次的改变提高了程序的效率,极大地优化了用户体验。
改良版
改良版
经过了一段时间的自我测试,我决定开始小规模的内部测试。然而,在内部测试中,我发现Html格式和导出方式存在巨大的问题,这使得基本无法使用。
导出的问题严重影响用户使用
导出的问题严重影响用户使用
于是,我开始了另一轮的新黄金方案的研究,并找到了一个可能的最终方案。虽然这个方案需要大量的工作,但我决定投入时间去实现它。因此,尽管新的优质方案还有大量待完善的地方,但我决定先将它上线运行。通过此举,我们可以在实践中调整和改进,更加快速地优化我们的产品。

新版一键排版功能的推出

💡
经过了一段实打实的打磨升级,新版一键排版功能正式上线,期待它能带来更好的使用体验。以下是功能演示。
 
我是一段普通文本,我被醒目地加粗了,我是雅致的斜体,我是专业的代码格式,我呈现出严谨的下划线格式,我具有修订的删除线格式,我是严谨的科学公式:,我是一个外部链接,这是一篇公众号文章
 
基础类型混搭:我是斜体+粗体,我是斜体+粗体+下划线,我是斜体+粗体+下划线+删除线,我是粗体+代码格式,我是斜体+粗体+下划线+删除线+代码格式,现在回归普通文本。
 
🔥
我是一段普通文本,我被醒目地加粗了,我是雅致的斜体,我是专业的代码格式,我呈现出严谨的下划线格式,我具有修订的删除线格式,我是严谨的科学公式:,我是一个外部链接,这是一篇公众号文章
 
这是一些基础操作:(Todo List 功能演示)
点击任何地方并开始输入
高亮文本并使用键盘上方的工具条进行格式化
长按这行然后拖动
点击左下角的首页标签按钮以查看你的页面
 
这是一些列表功能演示:
  • 我是一个无序列表子项
  • 我是第二个无序列表子项
  1. 我是和上面同层级的有序列表子项
    1. 我是第二层有序列表子项
      1. 我是第三层有序列表子项,但是由于微信原因,最多支持到二级列表。所以我粘贴到公号会变成和二层有序列表同层级
    2. 我是第二层第二个有序列表子项
  1. 我是和上面同层级的第二个有序列表子项
 
这是一个可折叠的列表,但公众号并不支持此功能,所以它会被转化为普通的无序列表。
但是因为微信的原因,我在这里向大家征求一个意见:可折叠列表转化成什么更好呢?请在文章下方留言哈~
  • 我是一个无序列表子项
  • 我是第二个无序列表子项
  1. 我是和上面同层级的有序列表子项
    1. 我是第二层有序列表子项,但是由于微信原因,最多支持到二级列表。所以我粘贴到公号会变成和上面的有序列表同层级
  1. 我是和上面同层级的第二个有序列表子项
 

Todo

📢
按顺序逐步实现,也可以给我反馈优先支持下面某个功能开发。
全局文本内置颜色支持
Callout 样式Icon完美呈现而不是降级成引用
支持Divider Link Preview Mention InlineDate InlinePage
支持Child page 如果有Link属性,链接到对应的Link而不是Notion页面Url
比如你通过剪藏收录的公众号文章,可以指向对应的公众号文章Url
支持Synced block Child database
支持用户自定义主题,管理自己的主题样式
增添公众号文章样式采集,一键采集喜欢的公众号文章样式主题到自己的自定义主题库
支持视频在公众号播放(待研究技术可行性)
支持File 转变成可下载的Url