diff --git a/components.d.ts b/components.d.ts index e3f9c38..5b3568c 100644 --- a/components.d.ts +++ b/components.d.ts @@ -15,6 +15,7 @@ declare module 'vue' { AnimatePresence: typeof import('motion-v')['AnimatePresence'] AnimText: typeof import('./src/components/special/AnimText.vue')['default'] AuthDialog: typeof import('./src/components/dialog/AuthDialog.vue')['default'] + BiliBiliIcon: typeof import('./src/components/icon/BiliBiliIcon.vue')['default'] Button: typeof import('./src/components/ui/button/Button.vue')['default'] Calendar: typeof import('./src/components/ui/calendar/Calendar.vue')['default'] CalendarCell: typeof import('./src/components/ui/calendar/CalendarCell.vue')['default'] @@ -30,12 +31,16 @@ declare module 'vue' { CalendarPrevButton: typeof import('./src/components/ui/calendar/CalendarPrevButton.vue')['default'] ChangeLanguageDropdownButton: typeof import('./src/components/button/ChangeLanguageDropdownButton.vue')['default'] ChangeThemeDropdownButton: typeof import('./src/components/button/ChangeThemeDropdownButton.vue')['default'] + CurtainReveal: typeof import('./src/components/layout/CurtainReveal.vue')['default'] DatePicker: typeof import('./src/components/date-picker/DatePicker.vue')['default'] DatePickerDisplayCard: typeof import('./src/components/card/DatePickerDisplayCard.vue')['default'] DevelopProgressCard: typeof import('./src/components/card/DevelopProgressCard.vue')['default'] DevelopProgressDiagram: typeof import('./src/components/diagram/DevelopProgressDiagram.vue')['default'] + DouYinIcon: typeof import('./src/components/icon/DouYinIcon.vue')['default'] ElButton: typeof import('element-plus/es')['ElButton'] FooterBar: typeof import('./src/components/layout/FooterBar.vue')['default'] + FooterBarV2: typeof import('./src/components/layout/FooterBarV2.vue')['default'] + LogoIcon: typeof import('./src/components/icon/LogoIcon.vue')['default'] NativeSelect: typeof import('./src/components/ui/native-select/NativeSelect.vue')['default'] NativeSelectOptGroup: typeof import('./src/components/ui/native-select/NativeSelectOptGroup.vue')['default'] NativeSelectOption: typeof import('./src/components/ui/native-select/NativeSelectOption.vue')['default'] @@ -44,6 +49,7 @@ declare module 'vue' { PopoverAnchor: typeof import('./src/components/ui/popover/PopoverAnchor.vue')['default'] PopoverContent: typeof import('./src/components/ui/popover/PopoverContent.vue')['default'] PopoverTrigger: typeof import('./src/components/ui/popover/PopoverTrigger.vue')['default'] + RedBookIcon: typeof import('./src/components/icon/RedBookIcon.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] UserAuthNavButton: typeof import('./src/components/button/UserAuthNavButton.vue')['default'] @@ -55,6 +61,7 @@ declare global { const AnimatePresence: typeof import('motion-v')['AnimatePresence'] const AnimText: typeof import('./src/components/special/AnimText.vue')['default'] const AuthDialog: typeof import('./src/components/dialog/AuthDialog.vue')['default'] + const BiliBiliIcon: typeof import('./src/components/icon/BiliBiliIcon.vue')['default'] const Button: typeof import('./src/components/ui/button/Button.vue')['default'] const Calendar: typeof import('./src/components/ui/calendar/Calendar.vue')['default'] const CalendarCell: typeof import('./src/components/ui/calendar/CalendarCell.vue')['default'] @@ -70,12 +77,16 @@ declare global { const CalendarPrevButton: typeof import('./src/components/ui/calendar/CalendarPrevButton.vue')['default'] const ChangeLanguageDropdownButton: typeof import('./src/components/button/ChangeLanguageDropdownButton.vue')['default'] const ChangeThemeDropdownButton: typeof import('./src/components/button/ChangeThemeDropdownButton.vue')['default'] + const CurtainReveal: typeof import('./src/components/layout/CurtainReveal.vue')['default'] const DatePicker: typeof import('./src/components/date-picker/DatePicker.vue')['default'] const DatePickerDisplayCard: typeof import('./src/components/card/DatePickerDisplayCard.vue')['default'] const DevelopProgressCard: typeof import('./src/components/card/DevelopProgressCard.vue')['default'] const DevelopProgressDiagram: typeof import('./src/components/diagram/DevelopProgressDiagram.vue')['default'] + const DouYinIcon: typeof import('./src/components/icon/DouYinIcon.vue')['default'] const ElButton: typeof import('element-plus/es')['ElButton'] const FooterBar: typeof import('./src/components/layout/FooterBar.vue')['default'] + const FooterBarV2: typeof import('./src/components/layout/FooterBarV2.vue')['default'] + const LogoIcon: typeof import('./src/components/icon/LogoIcon.vue')['default'] const NativeSelect: typeof import('./src/components/ui/native-select/NativeSelect.vue')['default'] const NativeSelectOptGroup: typeof import('./src/components/ui/native-select/NativeSelectOptGroup.vue')['default'] const NativeSelectOption: typeof import('./src/components/ui/native-select/NativeSelectOption.vue')['default'] @@ -84,6 +95,7 @@ declare global { const PopoverAnchor: typeof import('./src/components/ui/popover/PopoverAnchor.vue')['default'] const PopoverContent: typeof import('./src/components/ui/popover/PopoverContent.vue')['default'] const PopoverTrigger: typeof import('./src/components/ui/popover/PopoverTrigger.vue')['default'] + const RedBookIcon: typeof import('./src/components/icon/RedBookIcon.vue')['default'] const RouterLink: typeof import('vue-router')['RouterLink'] const RouterView: typeof import('vue-router')['RouterView'] const UserAuthNavButton: typeof import('./src/components/button/UserAuthNavButton.vue')['default'] diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 63b488f..8cc222e 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -29,6 +29,7 @@ export default defineConfig({ { text: "图表", link: "/cli-feature/chart" }, { text: "辅助工具", link: "/cli-feature/radash" }, { text: "动画", link: "/cli-feature/motion" }, + { text: "字体", link: "/cli-feature/font" }, ], }, ], diff --git a/docs/cli-feature/font.md b/docs/cli-feature/font.md new file mode 100644 index 0000000..b7e5687 --- /dev/null +++ b/docs/cli-feature/font.md @@ -0,0 +1,53 @@ +# 字体 + +## 自定义字体 + +脚手架提供了两种自定义字体 + +- [HarmonyOS_Sans_Regular.woff2](https://developer.huawei.com/consumer/cn/design/resource-V1/) +- [LXGWBright-Regular.woff2](https://github.com/lxgw/LxgwWenKai) + +## 使用字体 + +您可以通过 tailwindcss 的类来调整局部字体,例如: + +```html +
+ 这是 Harmony 字体 +
+ +
+ 这是落霞孤鹜字体 +
+``` + +您可以在 `style.css` 中定义全局字体,例如: + +```css +@plugin "daisyui/theme" { + name: "light"; + --color-primary: #5092d4; + --color-secondary: #bfd7f1; + --color-accent: #76b9ef; + /* 自定义字体在 App.vue 中加载 */ + --font-sans: '"Harmony", "Microsoft YaHei", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"'; +} +``` + +如果您需要其他自定义字体,请在 `App.vue` 中定义 font-face,例如: + +```vue + +``` + +## 后续目标 + +后续我们将推出能够实时修改全局字体的组件 diff --git a/public/contact/wechat.png b/public/contact/wechat.png new file mode 100644 index 0000000..0d8dc8d Binary files /dev/null and b/public/contact/wechat.png differ diff --git a/public/fonts/HarmonyOS_Sans_Regular.woff2 b/public/fonts/HarmonyOS_Sans_Regular.woff2 new file mode 100644 index 0000000..c1ea2ae Binary files /dev/null and b/public/fonts/HarmonyOS_Sans_Regular.woff2 differ diff --git a/public/fonts/LXGWBright-Regular.woff2 b/public/fonts/LXGWBright-Regular.woff2 new file mode 100644 index 0000000..9dd6e4e Binary files /dev/null and b/public/fonts/LXGWBright-Regular.woff2 differ diff --git a/src/App.vue b/src/App.vue index 47fd5d2..d1be921 100644 --- a/src/App.vue +++ b/src/App.vue @@ -14,4 +14,22 @@ onMounted(() => { - + diff --git a/src/assets/logo.svg b/src/assets/logo.svg new file mode 100644 index 0000000..dba2c5e --- /dev/null +++ b/src/assets/logo.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/icon/BiliBiliIcon.vue b/src/components/icon/BiliBiliIcon.vue new file mode 100644 index 0000000..3c01251 --- /dev/null +++ b/src/components/icon/BiliBiliIcon.vue @@ -0,0 +1,21 @@ + + + + + diff --git a/src/components/icon/DouYinIcon.vue b/src/components/icon/DouYinIcon.vue new file mode 100644 index 0000000..4b96b62 --- /dev/null +++ b/src/components/icon/DouYinIcon.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/components/icon/LogoIcon.vue b/src/components/icon/LogoIcon.vue new file mode 100644 index 0000000..42484d4 --- /dev/null +++ b/src/components/icon/LogoIcon.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/components/icon/RedBookIcon.vue b/src/components/icon/RedBookIcon.vue new file mode 100644 index 0000000..7e0f79c --- /dev/null +++ b/src/components/icon/RedBookIcon.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/components/layout/FooterBar.vue b/src/components/layout/FooterBar.vue index 06d53a5..01762c5 100644 --- a/src/components/layout/FooterBar.vue +++ b/src/components/layout/FooterBar.vue @@ -4,7 +4,7 @@