这些年折腾博客那些事
这几年来来回回折腾了不少的前端框架,做了三四个博客站点,但感觉都没有那味,但博客里得有文章,遂分享一下折腾历程。
一切的开始——Wiki.js+markdown
当时看了程序员鱼皮的教程 手把手带你搭个超火的知识库网站!写博客、团队协作神器 wiki.js 刚好鱼皮还有白嫖阿里云学生账户的教程,
同时当时我还在倒腾 termux 想整点东西练练手。很快啊,docker pull
、 docker run
一顿操作就是直接糊上去了。
还想着能不能直接用 gitee 做个同步什么的,方便我在 vscode 上编辑,虽说 wiki.js 有在线编辑器,但是感觉并不好用。
具体仓库就不放了,纯纯童年黑历史,什么数学教程(说白了就是抄书)一元二次方程,什么待读清单。 然后就是写的怎么装 Windows 系统,当时我还推荐 win 8 来着,转眼就被淘汰了。 以及当时在博客里推荐的 MSDN、图吧工具箱、老第一号的网站以及 wepe 和 fire pe 到现在还在用。
当时我还在倒腾 go-cqhttp(停更了),然后还想着用 nonebot 搞 QQ 机器人,但是当时想着直接用 http 回调然后硬用 flask, 成了我的 CURD 启蒙,还学了 pandas 和 matplotlib,当然代码质量就是答辩,但感觉比这两年遇到的初中生、高中生写得好一点 lol。
这么一看我当年还会正确的 freeze 依赖,拆分超大函数,但凡再重构一下用上 orm 现在也不会这么头大了 lol,年轻就是好,起床就直接看文档, 每天想着怎么改进一下,哪像现在这么摆烂,死气沉沉的。 如果想看的话看这个 pizero-s-qqbot,以现在来看的话,没 type hint,命名不符合 pep8 规范,配置文件乱扔,但至少逻辑清晰, 注释能写的都写上了。
那时候我还是初中生,直接不去上学倒腾这堆没用东西来着,然后一倒腾到了现在。
第二版,基于 pandoc 模板的 SSG
诶↑,电脑好好玩诶,成绩好烂烂诶,喜提技校诶。
在家里爽玩,不出意外的出意外了,喜提一个只能去绩效的成绩,离职高只差 6 分,但能拿一个 3+2,虽说现在看来这“3”和“2”都不太行的样子。 但至少是有书上了,不至于初中直接进厂,起码还有个入厂前培训。
当时的背景是老师的期末考试是要我们做一个网站出来,要多于三四个页面,然后直接用 vscode 代码片段做一个模板直接糊上去,然后根据各个页面做变体, 再把颜色单独抽成变量,然后靠着这一手模板震撼了一把同学,当时同学们还是在用 table 标签做排版,页面全靠 Dreamweaver 画。
基于上面的拆分好架构,诶,组件结构出来了,然后再搓一个 pandoc html 模板,把 markdown 转换成 html, 这不就是 SSG 吗,加上 latex 支持和代码高亮,齐活。
项目地址:echo-blog
感觉这东西就是个一次性的东西,在这个博客出来前,我直接用的极狐 lab 的 SASS 功能把 markdown 托管上去,在疫情期间给不认真的同学看一下笔记。 在博客出来之后,基本上没有什么特别想记录的东西,重要的东西都在 github star/gist 和 bilibili 收藏里了。老师基本上也不怎么教新东西, 语数英除外。 但是语数英笔记都记在课本上,没必要再做笔记了。
在此之前,博客是用来做笔记的,但现在已经没有这个需求了;在此之后,博客纯粹变成了技术实验的公式化项目。 诶,谷歌出了一个新 css 方法,做个新博客吧;诶,学了 vue,做个博客吧;诶,学了 react,做个博客加载动画吧; 诶,学了 qwik,做个类似博客的东西(非官方 Class Widgets 官网)吧。
第三版,Astro SSG
在上次搞博客后学了一堆前端工具链,然后闲得没事又开了个博客玩玩,用上新学的 ts、响应式 css、懒人 tailwindcss 最简配置、astro ssg。
相比上面的 pandoc 唯一的好处就是不需要自己写脚本构建了,可以直接用别人的轮子,大不了自己搓一个。 以及 astro 有组件系统,可以用 vue、react、solidjs 等东西的组件,不需要什么 iframe 或者代码片段,更容易拓展。
起手一个内容集合就是一个主题,非常好用,但是不是很喜欢约定式路由。
能用 flex 就 flex,根本不想碰 margin,轮椅好用,帅 otto。
往回看看,和别人比还有很大的差距,但和一年前比进步还是很大的,至少颜色能看了,有 color scheme 支持了,有初步的 seo 优化了。 虽然说不上是好看吧,至少能看了,至于记录不记录东西另说,反正图一乐就是了。
结语
这三年仓库从 gitee 迁到 jihulab,再迁到 github; webapi 从 flask 到 fastapi 再到 salvo/ntex/deno; 网站从 iis/nginx 到 github pages 再到 cloudflare/vercel; 感觉学到了很多东西,但又感觉什么都没学到,感觉纯纯在学怎么用配置文件。