From 72f5d7a1e94eb734ec0e946110edbb412f9e1ce1 Mon Sep 17 00:00:00 2001 From: YunYouJun Date: Mon, 3 Oct 2022 02:34:15 +0800 Subject: [PATCH] docs: add ValaxyMain desc for theme, close #69 --- docs/pages/components/index.md | 22 +++++++++++++ docs/pages/themes/index.md | 32 +++++++++++++++++-- docs/pages/themes/use.md | 1 + .../components/ValaxyMain.vue | 4 +-- .../valaxy-theme-yun/components/YunFooter.vue | 13 ++++++-- .../valaxy/client/components/ValaxyMain.vue | 19 +++++++++++ packages/valaxy/client/config.ts | 4 +-- packages/valaxy/node/config.ts | 2 -- packages/valaxy/node/types.ts | 3 +- packages/valaxy/types/config.ts | 6 ---- 10 files changed, 87 insertions(+), 19 deletions(-) create mode 100644 docs/pages/components/index.md create mode 100644 packages/valaxy/client/components/ValaxyMain.vue diff --git a/docs/pages/components/index.md b/docs/pages/components/index.md new file mode 100644 index 00000000..9c26947a --- /dev/null +++ b/docs/pages/components/index.md @@ -0,0 +1,22 @@ +--- +title: Components +title_zh: 组件 +categories: + - Guide +end: false +--- + +Valaxy 内置了几个简单的组件。 + +你可以在写文章或者创作主题时直接使用。 + +## 基础组件 + +> 面向主题开发者,你通常不需要直接使用 + +- `ValaxyMain`: 页面基础布局 +- `ValaxyMd`: Markdown 渲染内容 + +## 辅助组件 + +> 面向用户,可直接使用 diff --git a/docs/pages/themes/index.md b/docs/pages/themes/index.md index 8698d96a..26525512 100644 --- a/docs/pages/themes/index.md +++ b/docs/pages/themes/index.md @@ -55,9 +55,37 @@ export interface ValaxyConfig { } ``` -## ValaxyMain +## 开始编写 -你可以从 `ValaxyMain` 的 `props` 中获取 `frontmatter` 与 `pageData`。 +### ValaxyMain + +你需要自定义一个 `ValaxyMain` 组件来决定主题的文章渲染部分。 + +> 你可以从 `ValaxyMain` 的 `props` 中获取 `frontmatter` 与 `pageData`。 + +```vue + + + +``` + +> 示例可参考 [ValaxyMain.vue | valaxy-theme-yun](https://github.com/YunYouJun/valaxy/blob/main/packages/valaxy-theme-yun/components/ValaxyMain.vue) ## 样式 diff --git a/docs/pages/themes/use.md b/docs/pages/themes/use.md index 327603ba..fc1e9948 100644 --- a/docs/pages/themes/use.md +++ b/docs/pages/themes/use.md @@ -3,6 +3,7 @@ title: Use Theme title_zh: 使用主题 categories: - Theme +top: 100 --- ## 安装主题 diff --git a/packages/valaxy-theme-press/components/ValaxyMain.vue b/packages/valaxy-theme-press/components/ValaxyMain.vue index 6c7a5a36..b290d11a 100644 --- a/packages/valaxy-theme-press/components/ValaxyMain.vue +++ b/packages/valaxy-theme-press/components/ValaxyMain.vue @@ -23,10 +23,10 @@ const isHome = useLayout('home')
-
+
diff --git a/packages/valaxy-theme-yun/components/YunFooter.vue b/packages/valaxy-theme-yun/components/YunFooter.vue index e1e66da0..efda6c3f 100644 --- a/packages/valaxy-theme-yun/components/YunFooter.vue +++ b/packages/valaxy-theme-yun/components/YunFooter.vue @@ -2,17 +2,24 @@ import { capitalize, computed } from 'vue' import { useConfig } from 'valaxy' import { useI18n } from 'vue-i18n' +import pkg from 'valaxy/package.json' import { useThemeConfig } from '../composables' + +const { t } = useI18n() const config = useConfig() const themeConfig = useThemeConfig() const year = new Date().getFullYear() + const isThisYear = computed(() => { return year === themeConfig.value.footer.since }) -const { t } = useI18n() -const poweredHtml = computed(() => t('footer.powered', [`Valaxy v${config.value.pkg.version}`])) -const footerIcon = computed(() => themeConfig.value.footer.icon || { url: config.value.pkg.repository, name: config.value.pkg.name }) +const poweredHtml = computed(() => t('footer.powered', [`Valaxy v${pkg.version}`])) +const footerIcon = computed(() => themeConfig.value.footer.icon || { + url: pkg.repository, + name: 'i-ri-cloud-line', + title: pkg.name, +})