封面

我的 Nuxt 版网站即将上线了

ChatGPT 生成的封面,字体不太正常
小记开发

真是激动人心。撰写了两个星期左右的 Nuxt 版 ImQi1 终于上线了,它是一个功能完备的 CMS,我将它取名为 Glass,因为它的导航栏背景像玻璃一样模糊透明。

在线体验:https://imqi1.qi1.website

动机

为什么要新写一个 CMS 呢,其实 Typecho 挺好用的,但是我还是想有一个完全独立手写的 CMS,就像被美国卡脖子的中国,总想在任何领域都有我们国产的产品。

功能

Glass 包含了 NewImQi1 的所有功能,你可以自由地探索本站和 https://imqi1.com,亲自比对各种细节,这里展示一些样式。

代码块

import type { ClassValue } from "clsx"
import { clsx } from "clsx"
import { twMerge } from "tailwind-merge"

export function cn(...inputs: ClassValue[]) {
  return twMerge(clsx(inputs))
}
const path = require('path')

module.exports = {
  apps: [
    {
      name: 'imqi1-nuxt',
      script: path.join(__dirname, '.output/server/index.mjs'),

      // ❗推荐单实例
      instances: 1,
      exec_mode: 'fork',

      env: {
        NODE_ENV: 'production',
        PORT: 4000
      },

      error_file: path.join(__dirname, 'logs/err.log'),
      out_file: path.join(__dirname, 'logs/out.log'),
      time: true,

      autorestart: true
    }
  ]
}

后台页面

image.png

技术栈

Glass 主题的技术栈有 Nuxt + Prisma + MySQL。

之所以使用 Nuxt,是我受 Django 的启发,询问了 AI Nodejs 是否也有和 Python 一样的全栈框架,不需要前后端分离的那种,AI 给我的答案是 Nuxt。

Prisma 是一个 ORM 框架,跟 SQLAlchemy 差不多,可以定义模型类,不用自己手写 SQL。

但是有的时候还是需要自己手写 SQL 语句管理数据库,所以,我就没用 Postgresql。

代码高亮这次改成了 Shiki,是服务端渲染,减轻了前端 js 压力,同时可以识别更丰富的语法。

计划

目前这款主题就打算现在这里测试一段时间,新文章会在这里发,同时同步到旧站,各位新站旧站都可评论,最后上线之后会将数据合并在一起的。

目前已知 bug

  • 带标题的代码块,图标不正确
  • 从其他页面切换到分类和标签页面,没有渐入动画

加载评论中...

2026 © ImQi1冀ICP备2023007665号