0805-构建一个英语单词网站为什么这么难

最近工作中经常看英文文档,老板也说要习惯英文环境下的工作,于是我就想找个英语单词网站来帮助我学习和记忆单词。

但是市面上大部分英语单词网站都不太好用,要么就是界面丑陋,要么就是不全,要么就是广告太多。

手机上的单词软件我不适合,因为手机上干扰太多了,一会儿是微信消息,一会儿是视频,一会儿是这个那个消息。

我就想要安安静静的背单词,就是那种纯净版单词列表,没有广告,没有干扰,只有单词列表。

于是我就决定自己动手,构建一个英语单词网站。

第一步找单词列表。

在 github 上找到一个开源项目 dict 里面有单词列表的 Json 文件。

第二步将 Json 文件转换成 Markdown 文件。

自己写了几个 Python 脚本,转换成 Markdown 文件。

第三步基于 Rspress 构建网站。

Rspress 是一个基于 React 的静态网站生成器,使用起来非常简单。

遇到的问题及解决方案:

1、文本量太大,github action 里面 build 构建失败

尝试调整 github action 的配置,

  • 将 build 的 timeout 设置为 180 分钟。
  • 配置增加了节点缓存。
  • 配置增加了内存。

都不行,而且每次调试非常耗时,这一顿操作下来好几天过去了。

算了,不用 action 构建了。

2、笔记本电脑构建失败

用 16G 内存的笔记本电脑构建失败,提示内存不足。

这又废了

3、台式电脑构建失败

用 32G 内存的台式电脑构建失败,提示内存不足。

继续废

4、没招了,只能拆分 Markdown 文件试试

写了个脚本,将 Markdown 文件拆分成多个小文件,减少单个文件的大小。

用台式电脑构建成功,虽然还是很慢,但是成功了。

看来在整体文本量不变的情况下,拆分文件可以减少内存占用。

再次尝试使用 github action 构建,还是失败。这 action 看来只能应付小型项目。

因此只能用台式电脑构建。

构建完成之后,又写了个脚本将构建的包上产到 gh-pages 分支。这样就可以通过 github pages 访问了。

访问成果:https://mikigo.github.io/English-Words/

声明:本站所有文章,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。-- mikigo