You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
我写了那么多笔记,如何把我掌握的知识分享出去呢?所以我在网上搜索notion to markdown,立马就找到了notion-to-md,此时就可以开心的把自己之前在notion上写的很多文章笔记转成markdown,然后发布至blog平台。搞下来后发现文章图片好像是临时图片地址,过一段时间后就图片就找不到了。这就让我有点头大,如果手动把notion上的文章下载下来,发现文章和图片都在一起,那么能不能写一个工具,把notion下载下来的zip文件,一键格式化成我blog文章格式不就可以了,于是我就添加了一些列处理函数,自动解压zip、自动压缩图片、自动上传图片、自动替换图片地址为cdn、自动提交和发布文章等功能,经过这一番操作后,那么我能不能做一个库用markdown来写文章,然后一键分发至任意平台呢?你可能会问:为什么不用notion写完文章后再通过工具分发至任意平台,当然这样也可以,只是多了在Notion写文章、然后下载文章和后续处理的步骤,所以在想为啥不直接用markdown来写文章,然后通过工具自动处理文章和资源,这个样更加灵活,于是就有了artipub这个文章发布助手。
Artipub 是什么
ArtiPub(文章发布助手)是一个旨在简化内容创作者跨平台发布文章过程的工具库。它提供了一套简单的API,可以让你轻松地将文章发布到任意平台,如博客、Notion、Dev.to等,无需手动操作每个平台。artipub网站
❓ 为什么需要ArtiPub?
✨ 特点
🔧 内置
处理中间件
发布插件
🌟诞生背景
第一阶段:弃坑印象笔记,转用Notion
最开始我是使用印象笔记来记录笔记,随着时间的推移接触的东西越来越多,自然记录的笔记也越来越多,于是我想把笔记分类得更细,但是印象笔记分类最多三级,我在网上学习如何整理笔记,看了一些列的文章最终发现这种最多3级目录分类的方式,让我就用的特别不爽。
还有一个点就是固定"印象笔记"至开始屏幕,每次他们更新版本都把我的"印象笔记"图标从开始屏幕上搞丢了,我每次更新都要手动添加,这个也让我很不爽。给他们反馈过,但是他们的这个问题一直存在,我实在受不了,所以就在网络搜索各种笔记软件,最终发现Notion
非常好的满足我的需求,可以随意创建目录层级、文章管理非常方便、文章布局方式可以非常灵活的调整,这个软件非常适合我,所以我就把印象笔记的笔记全部迁移到了Notion上。
第二阶段:脱离notion孤岛,把知识分享出去
随着时间的推移我已是Notion的重度用户,导致我写的每个笔记or文章都先在Notion写完,我写了很多的笔记,我希望能把自己的知识分享出去,然后就想到把文章搞到自己blog、掘金、Medium、dev.to等平台,但这个过程非常繁琐,直接磨灭你写文章、分享知识的兴趣,
如果你文章是用中文写的,搞得自己的blog、国内平台还好,但是你要把文章搞得国外平台,这个过程就非常痛苦了,首先要把文章翻译,然后把里面的每张图片重新上传一遍,最让能抓狂的是Medium完全不支持copy markdown至它平台的编辑器,(使用了非常原始的编辑器,可能是平台特意设计如此来确保文章美观和质量),把markdown内容copy至
Medium编辑器后,文章格式全乱了,这个过程让我非常痛苦,如果你有过这样的经历,你肯定能体会到中间的痛苦,你可能会问:"既然Medium那么难用,你为啥还要把文章放到Medium上面,原因:它非常主流而且写文章还能获得收入,不像国内的各种平台..."
第三阶段:如何把notion上的文章分发出去呢?
我写了那么多笔记,如何把我掌握的知识分享出去呢?所以我在网上搜索notion to markdown,立马就找到了notion-to-md,此时就可以开心的把自己之前在notion上写的很多文章笔记转成markdown,然后发布至blog平台。搞下来后发现文章图片好像是临时图片地址,过一段时间后就图片就找不到了。这就让我有点头大,如果手动把notion上的文章下载下来,发现文章和图片都在一起,那么能不能写一个工具,把notion下载下来的zip文件,一键格式化成我blog文章格式不就可以了,于是我就添加了一些列处理函数,自动解压zip、自动压缩图片、自动上传图片、自动替换图片地址为cdn、自动提交和发布文章等功能,经过这一番操作后,那么我能不能做一个库用markdown来写文章,然后一键分发至任意平台呢?你可能会问:为什么不用notion写完文章后再通过工具分发至任意平台,当然这样也可以,只是多了在Notion写文章、然后下载文章和后续处理的步骤,所以在想为啥不直接用markdown来写文章,然后通过工具自动处理文章和资源,这个样更加灵活,于是就有了artipub这个文章发布助手。
🔍artipub 原型
ArticleProcessor
PublisherManager
💪撸起袖子干起来
第一阶段:实现第一个最基本的版本
第二阶段:用在自己的blog项目上,不然怎么验证自己做的库可不可用,好不好用呢?
最开始我是直接通过发包至npm,然后在blog项目中使用,发现包有各种问题,就导致我发了很多坏的临时的包,如下图:
我就在想这样不是办法,第一个问题我的版本增长得太快了,第二个问题我发了这么多坏的包,对artipub使用者不负责,会对以后artipub的宣传带来不好的影响。
第一个问题的解决方案:我在网上搜了一大圈,有很多更新版本和生成changelog的库,最终还是没有选出用哪个库。偶然的在地铁上打开github看探索页面,看到版本发布。这时就想哪个库发版生成的changelog好看我就选哪个,最终发现changelogen简单好用,就选用了这个库。
第二个问题的解决方案:就想到在artipub项目中加一个playground,这样避免需要频繁发包,这样就可以在playground中测试artipub的各种功能,然后再把artipub的功能集成到blog项目中,这样为了避免掉发布很多坏的包。
第三阶段:把artipub集成到blog项目中
在集成artipub到blog项目中,立马就发现一个问题,blog还是用commonjs规范来写的代码,虽然artipub支持commonjs和esm 2种规范,但是引用库还是报不能引入esm模块,具体什么错误忘记了。我就在想esm已经是未来的趋势了,那么干脆直接把blog项目改成esm规范,避免乱七八糟的错误,但是当我改成esm规范后还是发现使用artipub 还是有各种问题。这就告诉我:无论你的库,本地测试没有问题,加了playground测试也没有问题,如果没有把库应用到真实的项目中,你永远不知道会出现什么问题,所以要及时把库应用到真实的项目中,这样才能发现问题,然后解决问题。
📊目前情况
如果你对这项目感兴趣,帮忙点个star🌟,同时特别欢迎你的加入,让咋们一起完善这个项目,以使它帮助更多的人。😊
📝总结
📚参考资料
The text was updated successfully, but these errors were encountered: