Clarity主题深度定制指南

智能摘要
GPT5.3

开篇

本教程还没有完善好,正在持续撰写中。

复用组件

添加PageBanner

注意:下面教程中复用PageBanner组件的地方比较多,如果您对PageBanner需求不大,可直接修改文件把PageBanner的样式写入pages页面文件中,您不需要PageBanner可以手动移除。

/app/components/partial/下新建文件PageBanner.vue

音乐播放器

/app/components/content/新建MusicPlayer.vue

/app/components/partial/新建ProgressBar.vue

/app/composables/新建useMusicParser.ts

/app/types/新建music.ts

ts
/**
 * 音乐播放器类型定义
 */

export interface MusicExtension {
	id: string
	title: string
	artist: string
	cover?: string
	url?: string
	source: 'netease' | 'tencent' | 'kuwo' | 'xiami' | 'kugou' | 'youtube' | 'url'
	platform?: string
}

修改blog.config.ts

ts
/** 订阅源是否启用XSLT样式 */
		enableStyle: true,
	},
     
    /** Meting API 配置 */
	meting: {
		/** Meting API 服务地址,用于解析音乐链接 */
		apiServer: 'https://api.qijieya.cn/meting/',
		/** 是否启用音乐解析 */
		enabled: true,
	},

音乐播放器使用语法

vue
::MusicPlayer
---
music:
  id: "xxxxxxxx"
  source: "netease"
---
::

页面相关

添加本地essay页面

/app/pages/新建essay.vue

/app/types/新建talk.ts

ts
export type TalkItem = {  
  text?: string
  date: string
  images?: string[]
  video?: {
    type?: 'raw' | 'bilibili' | 'bilibili-nano' | 'youtube' | 'douyin' | 'douyin-wide' | 'tiktok'
    id: string
    ratio?: string | number
    poster?: string
  }
  tags?: string[]
  location?: string
}

/app/新建talks.ts

这个文件是更新说说内容的地方

添加tags页面

/app/pages/新建tags.vue

友链朋友圈

适配六神的 轻量友链朋友圈

/scripts/新建generate-friend.ts

执行

bash
pnpm tsx scripts/generate-friend.ts

会在public目录生成friend.json

/app/pages/新建fcircle.vue

添加about页面

/app/pages/新建about.vue

添加恋爱记录页面

/app/pages/新建love.vue

添加番剧页面

侧边栏

如何添加自定义侧边栏

修改/app/composables/useWidgets.ts,以恋爱墙为例。

ts
import {
    LazyWidgetBlogLog,
    LazyWidgetBlogStats,
    LazyWidgetBlogTech,
    LazyWidgetCommGroup,
    LazyWidgetEmpty,
    LazyWidgetGithubCard,
    LazyWidgetToc,
    LazyWidgetLoveWall, // 恋爱墙
} from '#components'
import { pascal } from 'radash'

// @keep-sorted
const rawWidgets = {
    LazyWidgetBlogLog,
    LazyWidgetBlogStats,
    LazyWidgetBlogTech,
    LazyWidgetCommGroup,
    LazyWidgetEmpty,
    LazyWidgetGithubCard,
    LazyWidgetToc,
    LazyWidgetLoveWall, // 恋爱墙
}

在你需要添加的page页面修改对应的vue,/app/pages/index.vue是文章首页

vue
// 修改下列参数,'blog-stats'在前面就是上方'love-wall'则是最底下,可自行调整侧边栏顺序
layoutStore.setAside(['blog-stats', 'blog-tech', 'comm-group', 'love-wall'])

恋爱墙

/app/components/widget/新建LoveWall.vue

添加地址显示

/app/components/widget/新建WelcomeVisitor.vue

最新评论

/app/components/widget/新建LatestComments.vue

修改TOC

文章footer

添加分享功能

修改/app/components/post/PostFooter.vue

添加打赏功能

/app/components/post/新建Donation.vue

修改/‎app/pages/[...slug].vue

vue
<PostFooter v-bind="post" />
<PostDonation /> //添加项
<PostSurround />
<PostComment />

修改blog.config.ts

ts
    /** 禁止搜索引擎收录的路径 */
	robotsNotIndex: ['/preview', '/previews/*'],
},

/** 赞赏配置 */
donation: {
    enable: true,
    message: '感谢您的支持,这将激励我创作更多优质内容!',
    items: {
      "微信支付": 'https://example.com/wechat-pay.png',
      "支付宝": 'https://example.com/alipay.png',
      "xxx": 'https://example.com/xxx.png'
    }
},

/** 博客 Atom 订阅源 */

摘要样式修改

修改/app/components/post/Excerpt.vue

blog.config.ts添加

ts
/** 禁止搜索引擎收录的路径 */
		robotsNotIndex: ['/preview', '/previews/*'],
	},

    /** AI自定义 */
    excerpt: {
		label: '智能摘要',
		badge: 'GPT6.0',
	},

添加二级菜单

修改/app/components/blog/BlogSidebar.vue

app.config.ts二级菜单使用格式

ts
{
					icon: 'tabler:book',
					text: '资料',
					url: '#',
					children: [
						{ icon: 'tabler:device-gamepad-2', text: '游戏', url: '/games' },
						{ icon: 'tabler:cloud', text: '云盘', url: '/drive' },
					],
				},

Twikoo评论样式美化

修改/app/components/post/Comment.vue

微信支付
支付宝

感谢您的支持,这将激励我创作更多优质内容!

卸任版主后的身份枷锁:虚拟社交中的友谊与边界
从Hexo到Nuxt:我的小站重构与品牌升级之路

评论区

评论加载中...