最近Notion Converter完成了一次非常大的更新,彻底重构了底层的解析和渲染逻辑,这篇文章想和大家分享一下重构历程。同时我也把解析器开源在了Github

阅读全文 »

时光如梭,2023年在不经意间就到了尾声,随着2023年的落幕,我坐在电脑前,回顾过去一年的旅程。对我来说,这不仅仅是时间的流逝,更是一个充满挑战与成长的年份。在这一年里,我经历了工作的变动,学习了新技能,也在个人层面上取得了不少进步,这篇文章权当对过去一年的记录。

阅读全文 »

在开发人生进度表期间,我遇到了一个有趣且富有教育意义的前端开发问题。这个项目需要在一个格子下同时显示多个里程碑,比如使用不同的颜色来区分不同的内容。2个颜色呈现上下分布,而4个颜色则形成四宫格,如下图所示: 四宫格样式示例

阅读全文 »

自从在Mac上换了一次sshkey,而且是带passphrase的,每次git操作都会提示要我输入密码,特别麻烦,于是在google上一阵搜索,找到一个解决方案。在.zshrc文件最开头输入

1
ssh-add --apple-use-keychain

这样只会在第一次命令时要求输入密码,之后都不需要输入密码了。

周末没事干,正好被网上一个点子启发,做了个人生进度可视化的网页,网页功能比较简单,就是把每一天通过一个小格子显示在网页上,不同的阶段显示不同的颜色,同时也能切换时间单位。
screenshots

阅读全文 »

Notion Converter一周年

时间飞快,Notion Converter插件从距离写下第一行代码到现在,正好过了一周年,今天就在一周年纪念日写一篇文章回顾一下吧。

阅读全文 »

最近有个项目是用nest.js作为后端框架,数据库是mongodb,ORM框架选择了目前nest.js圈最流行的prisma。项目本身很简单,在本地开发调试的时候出现了一个问题。
当我调用prismaService.save()时,报错Transactions are not supported by this deployment,大意是mongodb的事务操作要求必须有replica,即使是在本地开发。
搜索之后找到一个issue,找到一个配置本地docker mongodb的replica参数

1
2
3
4
5
6
7
8
1 - start a mongo container
docker run --name mongodb -d -p 27017:27017 mongo mongod --replSet rs0

2 - After your mongodb container is up and running, enter mongosh
docker exec -it mongodb mongosh

3 - Inside mongosh, initiate replica set
rs.initiate({_id: 'rs0', members: [{_id: 0, host: 'localhost:27017'}]})

配置完再执行事务就没问题了。

最近在重构Notion Converter插件的整体UI和功能,其中有个重构场景是当点击插件图标时,根据所在页面不同,行为也有所区别。如果在notion页面点击,弹出插件主题。如果在其他页面点击,弹出popup。

根据chrome插件文档说明,如果在manifest.json里配置了default_popup,那么popup点击事件就不会发送了。于是思路便是不设置default_popup ,同时监听插件点击事件,获取当前tab的url,如果是在notion页面,发送消息通知content_script.js

阅读全文 »

最近在做一个编辑器项目,因为打算做跨平台应用,于是技术方案使用了electron,同时希望用React做渲染层,于是使用了https://github.com/electron-react-boilerplate/electron-react-boilerplate作为脚手架。在开发过程中遇到一些需要调用Node.js api的场景,比如读写文件,与子进程交互。

一开始尝试直接在React层写fs.readdir ,发现会报错需要webpack5的polyfill。于是尝试搜索electron nodejs webpack polyfill,发现出来的结果都需要很复杂的配置,于是我尝试在脚手架仓库issue里搜索相关问题,还真找到一个相近的讨论,具体可以点这里查看,总结如下:

阅读全文 »

最近接到一个需求,客户想要用vaadin(一个用Java构建web的框架)构建一个页面,然后接入picovoice,客户想要一个demo,能支持在网页上语音唤醒,音频识别,意图分析。

阅读全文 »
0%