Welcome to Notion world!!

技术的笔记其实就是自己的技术积累,我才发现自己需要一个好的博客来记录自己的学习状态。

正巧看到有同学在使用Notion,我也尝试开始使用:尝试用Notion做后端做个blog系统。

尝试0x01:使用Python做后端转发

开始的时候,了解到有这么一个Python库:notion-py。

notion-py

它可以直接用一种交互的方式访问notion的各种数据,包括文章、图像、数据库等等,和在浏览器操作一样。虽然好像交互是它的主要功能,读取notion的信息也是它的功能之一。于是,它就有用作爬虫来拷贝notion的内容到博客作为内容的可能性。

就像上面的步骤,先找轮子!找到了notion2md。

echo724/notion2md

在尝试使用notion2md的时候遇到了问题,大概是因为Python版本过高,造成一些语法不兼容的问题。(在比较字符串的时候使用了关键字is而不是==。)

于是我修改了对应的语法,但是还是出现了一些问题,编码不支持(截图未留存...)。而且最重要的问题,是他的程序逻辑并不符合我的需求。程序的主要逻辑是:

python3 -m notion2md

填入tokenpagelink然后就会在本目录下生成这个page的按照文件夹分层的博客结构。

但是这并不能实时获取notion的变化,而且在生成一些内容的时候并不够适合线上博客的结构,估计作者是想做Hexo等博客系统的一键发布吧。

LanceLiang2018/notion2md

尝试修改了一些代码,但是最终没有做完。当时是12月30日,在系元旦晚会的排练现场打代码,是在没什么思路。

折腾0x02:使用Cloudflare worker

实际上,在遇见notion的时候,就听说notion可以用作博客,但是初入这notion,连怎么让页面共享都不知道,更别说做博客了。

后来看到有大佬做了类似的博客,使用的是Cloudflare Workers的反代,同时做了文件内容中的域名替换。

CloudFlare是什么? Cloudflare是一家美国的跨国科技企业,总部位于旧金山,在英国伦敦亦设有办事处。Cloudflare以向客户提供网站安全管理、性能优化及相关的技术支持为主要业务。通过基于反向代理的内容分发网络(CDN, Content Delivery Network)、任播(Anycast)技术 、基于nginx+lua架构的Web应用防火墙(WAF, Web Application Firewall) 及分布式域名解析服务(Distributed Domain Name Server)等技术,Cloudflare可以帮助受保护站点抵御包括分布式拒绝服务攻击(DDoS, Distributed Denial of Service)在内的大多数网络攻击,确保该网站长期在线,同时提升网站的性能、访问速度以改善访客体验。 CloudFlare的Worker是什么?