为博客园注入现代 UI 体验:shadcn 皮肤上线

背景

tona-shadcn 是基于 tona 和现代 UI 组件系统 shadcn/ui 的博客园皮肤实现,它让传统博客园主题具备一致的设计语言、深色模式支持和响应式布局能力。其价值在于将成熟设计组件与博客园生态结合,为内容创作者提供既专业又现代的阅读体验。

使用方式

  1. 进入博客园后台「设置」页面;
  2. 博客皮肤选择「Custom」;
  3. 勾选「禁用模板默认CSS」,并填入此 CSS文件 中的代码;
  4. 在「页首 HTML」中填写以下内容(可根据自身需求修改),完成后保存即可生效。
html 复制代码
<script>
    const bio = `
- 我是一名**前端工程师**,练习时长两年半!**,xxxxx。
- 熟悉 **Next.js**、**Umi**、**React**、**TypeScript**​ 等前端技术,能够构建高质量、以用户为中心的应用。
- [Tona](https://github.com/guangzan/tona) 的创建者:专为博客园设计的皮肤开发框架。
  - 在 [Github](https://github.com/guangzan/tona) 上获得 **200+ stars**
  - [文档](https://www.yuque.com/r/awescnb/books) 有 **180k+ 阅读量**
- 为 [VueUse](https://vueuse.org/)、[Windi CSS](https://windicss.org/) 做过一点微小的贡献。
`;

  const BASE_URL = "https://blog-static.cnblogs.com/files/guangzan/";

  const groups = [
    {
      group: "技术栈",
      items: [
        {
          title: "TypeScript",
          href: "https://www.typescriptlang.org/",
          categories: ["Language"],
          lightIcon: `${BASE_URL}typescript.svg`,
        },
      ],
    },
    {
      group: "我喜爱的工具",
      items: [
        {
          title: "Git",
          href: "https://git-scm.com/",
          categories: ["Tools"],
          lightIcon: `${BASE_URL}git.svg`,
        },
      ],
    },
  ];

  window.opts = {
    theme: {
      avatar: 'https://pic.cnblogs.com/avatar/1501373/20200819130243.png',
    },
    about: {
      enable: true,
      bio,
      tags: [
        'Frontend Engineer',
        '热爱创造的用户体验工程师',
      ]
    },
    itemGroups: {
      enable: true,
      groups,
    },
  };
</script>
<script src="https://blog-static.cnblogs.com/files/guangzan/shadcn.js?t=1770370892" fetchpriority="high" defer></script>

设计与实现

Inspired by tailwindcss.com/ui.shadcn.com/voidzero.dev/chanhdai.com.

  • Preact:使用 Preact 轻量级视图库。
  • Tailwind CSS:使用 Tailwind CSS 编写样式。
  • Base UI:使用 Base UI 作为组件原语。
  • shadcn/ui:使用 shadcn/ui 设计体系。

参考资料

相关推荐
kyriewen1 天前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
妙码生花1 天前
现代前端的极致性能 icon 加载方案(死磕成功版)
前端·vue.js·typescript
MonkeyKing1 天前
鸿蒙ArkTS深度剖析:ArkTS与TS/JS核心差异、静态强类型实战优势
typescript·harmonyos
Momo__3 天前
TypeScript satisfies 操作符——比 as 更安全的类型守门员
前端·typescript
Awu12274 天前
⚡从零开发 Agent CLI(四):给 CLI 装上"LLM 引擎"
typescript·ai编程·claude
假如让我当三天老蒯5 天前
TypeScript 继续学习(学习用)
前端·面试·typescript
糖拌西瓜皮6 天前
Node.js工程化实践:包管理、TypeScript配置与代码质量
typescript·node.js
Bolt8 天前
TypeScript 7.0 来了:当 tsc 用 Go 重写之后
javascript·typescript·go
Flynt8 天前
装上TypeScript 7.0 RC之后,最让我意外不是10倍提速
typescript·visual studio code
疯狂SQL8 天前
手写高性能在线 JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
typescript·json·next.js·web worker·前端性能优化·esbuild·源码实战