CodeMirror 中固定滚动位置

CodeMirror 是最流行的代码编辑器之一,包括写作软件 WonderPen 在内的很多工具都使用它开发。

与印象笔记等笔记软件不同,WonderPen 的定位是一款写作软件。写作软件与笔记软件之… 阅读全文

如何获取浏览器的语言

前端开发过程中,有时我们需要获取用户浏览器所用的语言,进而向用户显示不同的内容。如何获取用户浏览器语言呢?

最直接的,就是访问浏览器内置的 navigator.language 属性:

根据你的浏览器的… 阅读全文

使用 PICO-8 开发迷宫小游戏

PICO-8 是一个虚构游戏平台(Fantasy Console),可用于开发、运行一些复古的像素风格的小游戏。它有很多限制,比如输出只有固定的 128*128 的分辨率,只能使用 16 种颜色等等,这些限制让 PICO-8… 阅读全文

使用Python生成不规则形状的图形

借助 Python 以及强大的 Pillow,我们可以生成各种边缘不规则的图形。

比如我们有一个原图:

想从它上面挖出一块不规则形状的图来。这个不规则形状可以有很多种,比如下面这样:

用 Python 代码,很容… 阅读全文

改进版迷宫

以前曾经写过一个JavaScript版迷宫,生成迷宫的算法很简单,就是在一个空白迷宫中,让一个小人随机地行走,并记录下每个格子所通过的方向,直到地图上每个格子都到达过为止。

由这个算法生… 阅读全文

一个简单的有限状态机(easy-fsm)

最近一个前端项目中,我需要用有限状态机对代码逻辑进行管理。一开始想用 javascript-state-machine 这个库,后来注意到如果商用,它需要购买商业授权。然后又研究了一下 xstate,它的功能很完备,并且项目很… 阅读全文

使用 Node.js 模拟滑动验证码操作

近几年,网页上各种新型验证码层出不穷,其中一种比较常见的是滑动验证码,比如下图这种。

本文介绍了一种使用纯前端方法寻找滑动终点并模拟滑动的方法。

我们需要三个依赖库:p… 阅读全文

SwitchHosts!支持Alfred小记

很早就有人建议让 SwitchHosts! 支持 Alfred ,我也曾多次想过开发这个功能,但拖延症很严重,一直没有动手😅。最近注意到 SwitchHosts! 在 GitHub 上已经有超过 2000 个 star,开心的同时也觉得压力开始大了起来,于是抽空认… 阅读全文