Blog

写在切换到 Nuxt 的一年后

2024-02-03

#随想
#前端
#NuxtJS
#水

一年半前,我把 Blog 从 Hexo 迁移到了自己瞎鼓捣的基于 Nuxt 的玩意,同时快乐地写下了那篇记录迁移的文章。我希望新的站点能让我减少在折腾上浪费的时间,把更多的精力花在写内容上面,然而发现事情似乎并不是这样的……

关于 Nuxt

Nuxt 是一个优秀的框架,它围绕着 Vue 做了大量组件。

但方便还是要付出代价的,Nuxt 和它的组件并不能满足我所有的需求,因此我还是不得不写一些 hack 代码用于打包时运行,并且随着想法和内容的增长变得越来越多,我在 Fragment 中吐槽用 Svelte 开发 Blog 有种戴着镣铐跳舞的感觉,现在看来在 Nuxt 也是如此

这一年以来我陆续锁死了 nuxt@nuxt/content 的版本号,前者会带来莫名其妙生产问题,这些莫名其妙的报错和更莫名其妙的解决办法看得我一愣一愣的,更新虽然能解决一些问题但还是带来了更多奇奇怪怪的体验;后者更是出现了 文档/demo/实际开发 三者的体验互不相同的情况

一些改变

除了在前一篇文章立下的那些 TODO,这一年来我还是干了不少事情的:

  • 💡Fragment/碎片 栏目,用来记录那些自我感觉并不怎么有趣或者没必要单独成文的碎片内容,翻了一下文件夹,原来我还写了不少……
    曾经我还在那边的置顶提到想要跟 Twitter Monitor 联动,现在看来是没戏了。不过我还是简单模仿 github:vercel/react-twitter 写了个模块,现在我只需要在 markdown 文件的 frontmatter 填写 tweet_id 就能获取到推文内容,然而我还没用过……嗯就很鸡肋,还要手动更新文件,感觉就没啥用
  • 目录,我自己也时常需要翻旧文章,目录对长文的阅读体验的提升是巨大的,能够快速让读者知道自己读到哪了,还能快速找到想看的内容。
    最初我根本没加目录,因为我感觉不需要,但后来还是简单糊了个小组件,把目录放置在标题和正文之间,再后来才在宽屏中移动到右边,而窄屏的样式则是一直被注释着,直到最近才被完善。
  • 颜色主题,关注我的 blog 的读者应该都还记得原本那个以天蓝色为主色调的主题,那些颜色是我在写框架的前期挨个慢慢调的。现在这套亚克力主题的配色是figma插件自动生成的,然后我又根据 md3 的规范调整了一些组件的样式
  • 标题的 emoji,灵感源自一个比较特别的日子,日常时会循环播放 の /📔/♻️/💡,在某些特定的时间会固定成某一个emoji,比如接下来的春节就会是 🏮
  • 云朵标,有一天 OpenAI 出 bug 让所有人都能用上 GPT4,于是顺便生成了一批图标用于各种项目,云朵的填充没有任何特殊意义……
  • 暗色脚本,适用于 darkMode: 'class' 的 tailwindcss,在文档的最开头插入一小段 js 用于判断当前模式,并自动切换,支持读取存储在 localstorage 的运行模式
    d=localStorage.darkMode||'0';c=document.documentElement.classList;v=c.value==='';if((d==='0'&&matchMedia('(prefers-color-scheme:dark)').matches&&v)||(d==='2'&&v)){c.add('dark')}
    

然后?

上面那些都是比较明显的改动,而那些不明显的甚至写完不久后就光速被砍,连 commit 都没有的小想法就更多了,我为了折腾它们耗费了大容量时间和精力,这跟我的初心似乎是相悖的

在我看来,博客这类文字站点的核心是内容,一切花里胡哨的界面都要为内容服务。而切换以后我有输出更多的内容吗?似乎并没有,尽管我理应有更多的时间来选题

(吐槽:怎么开年第一篇就在写怪玩意)


评论区