分类 - 技术
VS Code Markdown 扩展开发小记
前段时间重构完一个项目后顺手为它开发了一个 VS Code 扩展。而 VS Code 官方文档仅提供了简略的 API 说明和一个参考插件,很多细节均未详述。查阅资料和参考其他相关扩展后,终于实现了我的需求。在此,我将对整个开发流程及相关细节进行总结,供大家参考。
Astro Remark 插件开发:构建类型安全的 frontmatter
Astro 对 TypeScript 提供了优秀的支持,但仍存在一些不足之处。例如,对于 frontmatter 而言,虽然提供了内容集合(Content Collection)提供了一定的类型安全,但在使用 Remark 插件修改 frontmatter 时,类型信息仍会丢失。为此,本文提出一种思路:单独定义扩展的 frontmatter 类型,通过类型推导扩展 Remark 插件类型,在组件中使用类型断言,实现了前后类型一致。
我的知乎优化方案(Web & APP)
我已经使用知乎 7 年多了。最开始我一直在平板上用浏览器刷知乎,后来才开始使用 APP。许多年过去了,网页版和 APP 都用着越来越别扭了。因此,不可避免地要借助一些第三方工具对知乎的使用进行优化。本篇文章总结了对知乎做的一些优化,提供了一些思路,例如屏蔽盐选和视频,增强一些小功能。主要针对 Web 端的知乎。
触控板的自然滚动与网页视频的音量调整——以哔哩哔哩为例
在触控板操作中,滚动方向遵循「自然滚动」原则:当用户向上滑动时,意味着展示下方内容,这种交互逻辑与现实世界的物理运动保持一致。相比之下,传统鼠标的滚动方向则采用相反的逻辑:向上滚动表示返回上方内容。这种差异导致同一操作方向在不同设备上产生截然不同的结果。然而,在音量调节的时候二者的语义则得到了统一:「向上就是升高,向下就是降低」。