注意,这篇博文从以前的博客搬运而来,里面的一些内容可能已经不再适用。
自己写文章,或者更确切的说,写散文与随笔的习惯最早便从小学开始了。但能将文字从自己的本子和脑子里作为Blog显示到你眼前的这块屏幕上,还是不知不觉花了很多功夫的。
客观条件#
他人的引领:我在小学和初中的时候有幸和一群同龄网友结识。与那时的我相比,他们一个个在计算机和互联网领域可谓是“身怀绝技”。在他们的引领下,我开始了在互联网与计算机上的探索。我在初中购买了一台服务器和一个域名,学着那些朋友试着自己折腾出一个网站。虽然以域名备案失败告终,但对网站的构建和互联网有了一个大概的认识。
物质条件:一点闲钱,一台有点性能的电脑,还有亿点时间。
主观因素#
在24年的暑假,我做了暑假一对一的家教,一共带了两个同学。虽然时间不长,但或多或少有对自己的学生以及教育的思考。在24年8月份,我偶然刷到了之前结识的网友的博客【暑假做一对一家教的碎碎念】 ↗,里面有不少思考与我的想法不谋而合,欣喜之余,便再次确定了搭建一个博客的计划。
自从24年11月我拥有新的笔记本电脑起,我就在探索无纸化学习的实现方式。在搜寻和尝试了众多的笔记软件后,我最终确定了TriliumNext作为自己的笔记软件,它免费,开源,同时支持服务器私有部署,能将所有数据握在自己手中。此外,我还意外地发现它还支持笔记分享功能,这意味着我可以在这个笔记软件中折腾自己的博客。至此,这个博客的基本框架便已确立。
为何而写?#
夜深人静,就把心掏出来缝缝补补,一觉醒来,又是信心百倍。活着,就要逢山开路,遇水搭桥。自渡是能力,渡人是格局,睡前原谅一切,醒来便是重生。——余华
写作是一件非常孤独的事情,要安安静静面对自己的生命,面对自己灵魂,面对自然。争取面对上天,以感悟上天来表达内心。——余秋雨
对我而言,写散文和随笔,是对自己经历的一个诚实记录,是为了给更多的思考提供空间,是为了个人反思,是为了进取。文字与语言对于我而言有着十分重要的意义。而之所以将这些文字放在网络上,一个重要的原因便是希望能抛砖引玉,引起思考。我希望我写下的文字对作者与读者都有帮助,不会浪费作者与读者的时间。当然,我也希望一个公开的博客能培养我及时记录的习惯,让我在更准确更丰富地表达的路上走得更远(至少不要失去基本的语言表达能力),以及为自己提供一个自我展示的空间。
关于这个博客#
这个博客的名字Stillwaters取自谚语: Still waters run deep. 在中文里对应“静水流深”。我希望自己能继续保持一颗谦虚的心,保持对知识的敬畏与好奇,求知若饥,虚心若愚,不断诚实地积淀。这是对自己的一个规劝与希冀。当然起类似作用的句子还有很多,我以后会再开一个Blog Post做记录与分享。
这个博客的关键词:“引领,竞逐,共进”来自《大川小思——大学有效学习攻略》。这三词不仅契合那本书的主题,也概括了我的一部分学习历程:被他人所引领,然后竞相追逐,最后共同进步。所以在这个博客里,我会分享自己一段时间以来积攒下来的经验,没有保留,这样我也能逼迫自己去不断的进步。 ↗
这个博客的大部分内容适合自己在安静的时候自行浏览。博文的语言多样,时而稍显正式,时而放荡随意,时而English。博客的更新随缘,不会为了写而写,只有在有一些类似的想法后才会开始撰写整理。我有时也会将这个博客当作自己的一个自传,内容应当会包含个人思考或者干货。当然,由于文学水平受限,眼高手低之处,还请读者批评指正。不管怎么读,我都感谢了。
一些深度思考#
在前文中我提到自己的写作是孤独的自我对话,但博客的本质是面向公众的展示。当私人思考被公开,**是否会不自觉地表演化?**如何保持诚实写作的初心?
是否在表演的决定权在于每一个读者。每一个读者都可以根据其自身的经验,直觉等来进行判断文字是否真诚。表演化的可能性存在,但作为作者,我始终坚信诚实,真诚的面对自己是提升自我的基础。而将自我思考的文字公开,能带来一些好处,但也确确实实带来了一些挑战。应当平衡公开与私密的内容,将写作和公开文字时的自己,作时间和空间上的隔离。
技术相关#
部分技术使用目录#
作为本站第一篇正式的博文,在这里有必要声明本博客运行所依赖的他人的成果。我会在对应许可证(如有)允许的情况下使用,若有违反,敬请指教!
- Trilium Next - [https://github.com/TriliumNext/Notes\ ↗]
- 许可证:AGPL-3.0 license
- 用途:个人笔记记录,分享,以及博客功能。为了适应个人需要自行增添修改了部分功能。
- Allure - [https://github.com/JadeVane/Allure\ ↗]
- 作者:JadeVane - [https://github.com/JadeVane\ ↗]
- 许可证:MPL-2.0 license
- 用途:Trilium界面美化,提供舒适的文本编辑体验。为个人需要自行增添修改了部分功能。很荣幸能成为一位捐赠者。
- 阿里云 - [https://www.aliyun.com/\ ↗]
- 网络服务器提供商,域名购买处,ICP备案服务协助者。
- Caddy2 - [https://caddyserver.com/\ ↗]
- 许可证:Apache License Version 2.0
- 用途:反向代理
- Cloudflare - [https://www.cloudflare.com/\ ↗]
- 用途:域名解析服务,CDN分发(如果启用),人机验证(Turnstile)
- Ankia-Theme - [https://github.com/dvai/Ankia-Theme\ ↗]
- 作者:ankia - 东东的小黑盒 ↗
- 描述:Ankia-Theme是一个基于Trilium分享功能的博客主题,通过此主题你能实现在Trilium中创建一个博客站点!
- 许可证:Apache-2.0 license
- WhiteMinimalist-Theme - [https://github.com/Shmaur/WhiteMinimalist-Theme\ ↗]
- 作者:Shmaur - www.shmaur.com/ ↗
- 描述:WhiteMinimalist-Theme 是基于 Trilium 分享功能搭建的一个博客站点,主题为白色简约博文主题,具有菜单导航及页面大纲、评论、留言等基础功能,可隐藏公告、推荐阅读、博主信息、分类、标签、最新评论。 本样式主题是基于 Ankia-Theme 样式主题从新设计修改版本。
- 许可证:在GitHub界面中未明确指明。但若根据作者描述,应该同样使用Apache-2.0 license.
- 用途:用于当前的博客样式。为适应个人需要自行增添修改了部分功能。
- Twikoo - [https://twikoo.js.org/\ ↗]
- 许可证:MIT license
- 作用:支持网站评论功能。
搭建时曾遇到的技术问题#
在此,我还想记录一下在搭建这个博客所遇到的一些problems。不仅仅是为了记录我遇到了它们,也是为了纪念我超越了它们。
本地运行TriliumNext项目时依赖安装失败
解决方案:添加下载镜像,换用其他包管理器:pnpm, cnpm ,yarn
服务器重置后私钥和公钥不匹配
解决方案:在阿里云创建密钥对,用私钥登录
better-sqlit3项目构建版本与node版本不匹配
解决方案:运行npx electron-rebuild -f -w better-sqlit3
electron-forge打包时提示依赖缺失,但明明已经安装好了所有依赖
推测是pnpm导致的文件链接失败的原因,删除node_modules文件夹后换用npm进行安装即可解决
npm rebuild时提示Desktop development with C++各个版本的都缺失,无法构建依赖,但明明所有生成工具都已被正确安装
在环境变量中指定生成工具:setx GYP_MSVS_VERSION 2022
或者执行npm config set msvs_version 2022 —global
代码的改动在debug中已经确认生效,但在electron-forge打包后改动却未生效,即使打包后的文件包含改动的代码
可能是环境变量问题,也可能是生成文件被原先的缓存给污染。解决方案:将版本号向前进一:npm version patch
配置好了Caddy反向代理,但是访问网站时却提示重定向次数过多
原因应该是Caddy的自动https功能与Cloudflare的冲突,导致网址一直在http和https中切换。在Cloudflare中配置https为严格即可。
深思#
在自己折腾的过程中,还遇到了其他不计其数的问题。遇到问题是偶然,但能解决问题几乎是必然。计算机系统和网络是完完全全由人类从0开始搭建的世界,相比人类还未完全摸透的自然世界,里面的一切似乎都更有迹可循。这样理想世界,实在不能不让我向往,让我去挖掘,去理解,去解构,去建构——即使这样的理想在以后可能会成为一种奢望。