valaxy-theme-yun 0.19.13 → 0.20.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/App.vue +30 -4
  2. package/client/constants/index.ts +13 -0
  3. package/components/ValaxyMain.vue +48 -52
  4. package/components/YunAside.vue +66 -43
  5. package/components/YunBackToTop.vue +11 -4
  6. package/components/YunBanner.vue +31 -15
  7. package/components/YunBg.vue +2 -0
  8. package/components/YunCard.vue +5 -1
  9. package/components/YunCategories.vue +14 -34
  10. package/components/YunCategory.vue +42 -11
  11. package/components/YunClassifyPopover.vue +59 -0
  12. package/components/YunCloud.vue +5 -10
  13. package/components/YunConfig.vue +2 -19
  14. package/components/YunDebug.vue +47 -0
  15. package/components/YunDock.vue +223 -0
  16. package/components/YunFooter.vue +56 -4
  17. package/components/YunFullscreenMenu.vue +57 -0
  18. package/components/YunGirlItem.vue +98 -0
  19. package/components/YunGirls.vue +2 -73
  20. package/components/YunGoDown.vue +8 -15
  21. package/components/YunLinkItem.vue +62 -0
  22. package/components/YunLinks.vue +15 -47
  23. package/components/YunNavMenu.vue +125 -0
  24. package/components/YunOutline.vue +1 -2
  25. package/components/YunOverlay.vue +31 -0
  26. package/components/YunOverview.vue +2 -74
  27. package/components/YunPageHeader.vue +1 -1
  28. package/components/YunPagination.vue +105 -0
  29. package/components/YunPostCard.vue +32 -3
  30. package/components/YunPostCategories.vue +3 -3
  31. package/components/YunPostCollapse.vue +7 -72
  32. package/components/YunPostCollapseItem.vue +137 -0
  33. package/components/YunPostDateMeta.vue +30 -0
  34. package/components/YunPostList.vue +6 -11
  35. package/components/YunPostMeta.vue +31 -39
  36. package/components/YunPostTags.vue +2 -2
  37. package/components/YunPostsInfo.vue +41 -0
  38. package/components/YunPrologue.vue +24 -0
  39. package/components/YunSearchBtn.vue +8 -6
  40. package/components/YunSelect.vue +1 -11
  41. package/components/YunSidebar.vue +7 -4
  42. package/components/YunSidebarCard.vue +10 -0
  43. package/components/YunSidebarNav.vue +0 -1
  44. package/components/YunSiteInfo.vue +72 -0
  45. package/components/YunSponsor.vue +21 -6
  46. package/components/animation/LineBurstEffects.vue +75 -0
  47. package/components/author/YunAuthorAvatar.vue +12 -0
  48. package/components/author/YunAuthorIntro.vue +11 -0
  49. package/components/author/YunAuthorName.vue +14 -0
  50. package/components/config/YunToggleDark.vue +37 -0
  51. package/components/layout/YunLayoutLeft.vue +12 -0
  52. package/components/layout/YunLayoutRight.vue +21 -0
  53. package/components/layout/YunLayoutWrapper.vue +17 -0
  54. package/components/menu/YunNavMenuItem.vue +22 -0
  55. package/components/menu/YunNavMenuTitle.vue +86 -0
  56. package/components/menu/YunPostClassifyNavItem.vue +30 -0
  57. package/components/page/YunPageHeaderGradient.vue +38 -0
  58. package/components/project/YunProjectCard.vue +94 -0
  59. package/components/project/YunProjectCollection.vue +15 -0
  60. package/components/project/YunProjectLinkItem.vue +60 -0
  61. package/components/project/YunProjectToggleButton.vue +16 -0
  62. package/components/project/YunProjects.vue +48 -0
  63. package/components/prologue/PrologueSocialIcon.vue +58 -0
  64. package/components/prologue/PrologueSocialLinks.vue +16 -0
  65. package/components/prologue/PrologueSquare.vue +144 -0
  66. package/components/prologue/YunAEFrame.vue +155 -0
  67. package/components/prologue/YunAERect.vue +127 -0
  68. package/components/site/YunFullscreenMenuItem.vue +26 -0
  69. package/components/site/YunFullscreenMenuList.vue +19 -0
  70. package/components/site/YunSiteLinkItem.vue +26 -0
  71. package/components/site/YunSiteLinks.vue +19 -0
  72. package/components/site/YunSiteTitle.vue +59 -0
  73. package/components/third/YunWalineMeta.vue +17 -5
  74. package/docs/zh-CN/config.md +0 -3
  75. package/layouts/archives.vue +33 -21
  76. package/layouts/categories.vue +43 -31
  77. package/layouts/default.vue +10 -5
  78. package/layouts/empty.vue +3 -0
  79. package/layouts/home.vue +12 -5
  80. package/layouts/post.vue +23 -20
  81. package/layouts/posts.vue +10 -0
  82. package/layouts/projects.vue +25 -0
  83. package/layouts/tags.vue +45 -41
  84. package/node/config.ts +2 -5
  85. package/package.json +10 -5
  86. package/pages/page/[page].vue +3 -6
  87. package/pages/posts/index.vue +11 -0
  88. package/setup/main.ts +51 -9
  89. package/stores/app.ts +25 -3
  90. package/styles/animations/index.scss +36 -0
  91. package/styles/common/markdown.scss +4 -0
  92. package/styles/css-vars.scss +19 -1
  93. package/styles/global.scss +8 -0
  94. package/styles/index.scss +1 -0
  95. package/styles/layout/index.scss +3 -0
  96. package/styles/modules/prologue.scss +1 -0
  97. package/styles/primevue/index.ts +7 -0
  98. package/styles/primevue/tooltip.scss +55 -0
  99. package/styles/primevue/tooltip.ts +14 -0
  100. package/styles/vars.scss +23 -2
  101. package/styles/widgets/banner.scss +26 -6
  102. package/types/index.d.ts +53 -5
  103. package/types/projects.ts +48 -0
  104. package/unocss.config.ts +1 -1
  105. package/utils/animation.ts +33 -0
  106. package/utils/index.ts +2 -0
@@ -0,0 +1,59 @@
1
+ <script setup lang="ts">
2
+ import { useSiteConfig } from 'valaxy'
3
+ import { useRouter } from 'vue-router'
4
+
5
+ const router = useRouter()
6
+ const siteConfig = useSiteConfig()
7
+ </script>
8
+
9
+ <template>
10
+ <RouterLink
11
+ v-if="router.hasRoute('/about/site')" to="/about/site"
12
+ class="site-name"
13
+ >
14
+ {{ siteConfig.title }}
15
+ </RouterLink>
16
+ <span v-else class="site-name">{{ siteConfig.title }}</span>
17
+ </template>
18
+
19
+ <style lang="scss">
20
+ .site-name {
21
+ --title-padding: -15px;
22
+
23
+ display: inline-flex;
24
+ color: var(--va-c-text);
25
+ position: relative;
26
+
27
+ &::before,
28
+ &::after {
29
+ content: "";
30
+ position: absolute;
31
+ width: 10px;
32
+ height: 10px;
33
+ opacity: 0;
34
+ border: 2px solid;
35
+ transition: 0.3s;
36
+ transition-timing-function: cubic-bezier(0.17, 0.67, 0.05, 1.29);
37
+ }
38
+
39
+ &::before {
40
+ top: 0;
41
+ left: var(--title-padding);
42
+ border-width: 2px 0 0 2px;
43
+ transform: translate3d(10px, 10px, 0);
44
+ }
45
+
46
+ &::after {
47
+ right: var(--title-padding);
48
+ bottom: 0;
49
+ border-width: 0 2px 2px 0;
50
+ transform: translate3d(-10px, -10px, 0);
51
+ }
52
+
53
+ &:hover::before,
54
+ &:hover::after {
55
+ opacity: 1;
56
+ transform: translate3d(0, 0, 0);
57
+ }
58
+ }
59
+ </style>
@@ -14,14 +14,26 @@ const { t } = useI18n()
14
14
  </script>
15
15
 
16
16
  <template>
17
- <div v-if="addonWaline && addonWaline.options" flex="~" text="sm" my="1" h="5">
18
- <div v-if="addonWaline.options.pageview" inline-flex justify="center" items="center" mx="2" :title="t('post.pageview_count')">
17
+ <div v-if="addonWaline && addonWaline.options" class="inline-flex gap-4" text="sm" h="5">
18
+ <div
19
+ v-if="addonWaline.options.pageview" inline-flex justify="center" items="center"
20
+ :title="t('post.pageview_count')"
21
+ >
19
22
  <div inline-flex i-ri-eye-line />
20
- <span ml-1 inline-flex class="waline-pageview-count" :data-path="route.path" />
23
+ <span
24
+ ml-1 inline-flex class="waline-pageview-count op-80"
25
+ :data-path="route.path"
26
+ />
21
27
  </div>
22
- <div v-if="addonWaline.options.comment" inline-flex justify="center" items="center" mx="2" :title="t('post.comment_count')">
28
+ <div
29
+ v-if="addonWaline.options.comment" inline-flex justify="center" items="center"
30
+ :title="t('post.comment_count')"
31
+ >
23
32
  <div inline-flex i-ri-chat-4-line />
24
- <span ml-1 inline-flex class="waline-comment-count" :data-path="route.path" />
33
+ <span
34
+ ml-1 inline-flex class="waline-comment-count op-80"
35
+ :data-path="route.path"
36
+ />
25
37
  </div>
26
38
  </div>
27
39
  </template>
@@ -30,9 +30,6 @@ export default defineConfig<ThemeConfig>({
30
30
  title: '云游君的小站',
31
31
  // 手动分割
32
32
  // title: ['云游君的', '小站'],
33
- cloud: {
34
- enable: true
35
- }
36
33
  },
37
34
  }
38
35
  })
@@ -1,6 +1,7 @@
1
1
  <script lang="ts" setup>
2
2
  import { defineWebPage, useSchemaOrg } from '@unhead/schema-org'
3
3
  import { useFrontmatter, usePostTitle, useSiteStore } from 'valaxy'
4
+ import { computed } from 'vue'
4
5
  import { useI18n } from 'vue-i18n'
5
6
 
6
7
  const { t } = useI18n()
@@ -15,28 +16,39 @@ useSchemaOrg([
15
16
  '@type': 'CollectionPage',
16
17
  }),
17
18
  ])
19
+
20
+ const pageIcon = computed(() => {
21
+ if (!frontmatter.value.icon)
22
+ // eslint-disable-next-line vue/no-side-effects-in-computed-properties
23
+ frontmatter.value.icon = 'i-ri-archive-line'
24
+ return frontmatter.value.icon
25
+ })
18
26
  </script>
19
27
 
20
28
  <template>
21
- <YunSidebar v-if="$slots['sidebar-child']">
22
- <slot name="sidebar-child" />
23
- </YunSidebar>
24
- <YunSidebar v-else />
25
-
26
- <RouterView v-slot="{ Component }">
27
- <component :is="Component">
28
- <template #main-header>
29
- <YunPageHeader
30
- :title="title || t('menu.archives')"
31
- :icon="frontmatter.icon || 'i-ri-archive-line'"
32
- :color="frontmatter.color"
33
- :page-title-class="frontmatter.pageTitleClass"
34
- />
35
- </template>
36
- <template #main-content>
37
- <RouterView />
38
- <YunPostCollapse :posts="site.postList" />
39
- </template>
40
- </component>
41
- </RouterView>
29
+ <YunLayoutWrapper>
30
+ <YunLayoutLeft />
31
+
32
+ <RouterView v-slot="{ Component }">
33
+ <component :is="Component">
34
+ <template #main-header>
35
+ <YunPageHeader
36
+ class="mt-8"
37
+ :title="title || t('menu.archives')"
38
+ :icon="pageIcon"
39
+ :color="frontmatter.color"
40
+ :page-title-class="frontmatter.pageTitleClass"
41
+ />
42
+ </template>
43
+ <template #main-content>
44
+ <RouterView />
45
+ <YunPostCollapse :posts="site.postList" />
46
+ </template>
47
+ </component>
48
+ </RouterView>
49
+
50
+ <YunLayoutRight />
51
+ </YunLayoutWrapper>
52
+
53
+ <YunFooter />
42
54
  </template>
@@ -14,6 +14,13 @@ const route = useRoute()
14
14
  const curCategory = computed(() => (route.query.category as string || ''))
15
15
  const categories = useCategories()
16
16
 
17
+ const pageIcon = computed(() => {
18
+ if (!frontmatter.value.icon)
19
+ // eslint-disable-next-line vue/no-side-effects-in-computed-properties
20
+ frontmatter.value.icon = 'i-ri-folder-2-line'
21
+ return frontmatter.value.icon
22
+ })
23
+
17
24
  const posts = computed(() => {
18
25
  const list = site.postList.filter((post) => {
19
26
  if (post.categories && curCategory.value !== 'Uncategorized') {
@@ -39,38 +46,43 @@ useSchemaOrg([
39
46
  </script>
40
47
 
41
48
  <template>
42
- <YunSidebar v-if="$slots['sidebar-child']">
43
- <slot name="sidebar-child" />
44
- </YunSidebar>
45
- <YunSidebar v-else />
46
-
47
- <RouterView v-slot="{ Component }">
48
- <component :is="Component">
49
- <template #main-header>
50
- <YunPageHeader
51
- :title="title || t('menu.categories')"
52
- :icon="frontmatter.icon || 'i-ri-folder-2-line'"
53
- :color="frontmatter.color"
54
- :page-title-class="frontmatter.pageTitleClass"
55
- />
56
- </template>
57
- <template #main-content>
58
- <div text="center" class="yun-text-light" p="2">
59
- {{ t('counter.categories', Array.from(categories.children).length) }}
60
- </div>
61
- <YunCategories :categories="categories.children" />
62
- <RouterView />
63
- </template>
49
+ <YunLayoutWrapper>
50
+ <YunLayoutLeft />
64
51
 
65
- <template #main-nav-before>
66
- <YunCard v-if="curCategory" class="post-collapse-container" m="t-4" w="full">
52
+ <RouterView v-slot="{ Component }">
53
+ <component :is="Component">
54
+ <template #main-header>
67
55
  <YunPageHeader
68
- :title="curCategory === 'Uncategorized' ? t('category.uncategorized') : curCategory.split('/').join(' / ')"
69
- icon="i-ri-folder-open-line"
56
+ class="mt-8"
57
+ :title="title || t('menu.categories')"
58
+ :icon="pageIcon"
59
+ :color="frontmatter.color"
60
+ :page-title-class="frontmatter.pageTitleClass"
70
61
  />
71
- <YunPostCollapse w="full" m="b-4" p="x-20 lt-sm:x-5" :posts="posts" />
72
- </YunCard>
73
- </template>
74
- </component>
75
- </RouterView>
62
+ </template>
63
+ <template #main-content>
64
+ <div text="center" class="yun-text-light" p="2">
65
+ {{ t('counter.categories', Array.from(categories.children).length) }}
66
+ </div>
67
+ <YunCategories :categories="categories.children" />
68
+ <RouterView />
69
+ </template>
70
+
71
+ <template #main-nav-before>
72
+ <YunCard v-if="curCategory" class="post-collapse-container" m="t-4" w="full">
73
+ <YunPageHeader
74
+ m="t-10"
75
+ :title="curCategory === 'Uncategorized' ? t('category.uncategorized') : curCategory.split('/').join(' / ')"
76
+ icon="i-ri-folder-open-line"
77
+ />
78
+ <YunPostCollapse w="full" m="b-4" p="x-20 lt-sm:x-5" :posts="posts" />
79
+ </YunCard>
80
+ </template>
81
+ </component>
82
+ </RouterView>
83
+
84
+ <YunLayoutRight />
85
+ </YunLayoutWrapper>
86
+
87
+ <YunFooter />
76
88
  </template>
@@ -1,8 +1,13 @@
1
+ <script setup lang="ts">
2
+ // layout
3
+ </script>
4
+
1
5
  <template>
2
- <YunSidebar v-if="$slots['sidebar-child']">
3
- <slot name="sidebar-child" />
4
- </YunSidebar>
5
- <YunSidebar v-else />
6
+ <YunLayoutWrapper>
7
+ <YunLayoutLeft />
8
+ <RouterView />
9
+ <YunLayoutRight />
10
+ </YunLayoutWrapper>
6
11
 
7
- <RouterView />
12
+ <YunFooter />
8
13
  </template>
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <RouterView />
3
+ </template>
package/layouts/home.vue CHANGED
@@ -1,5 +1,4 @@
1
1
  <script lang="ts" setup>
2
- import { useLayout } from 'valaxy'
3
2
  import { computed } from 'vue'
4
3
  import { useRoute } from 'vue-router'
5
4
  import { useYunAppStore } from '../stores'
@@ -7,7 +6,6 @@ import { useThemeConfig } from '../composables'
7
6
 
8
7
  const yunStore = useYunAppStore()
9
8
  const route = useRoute()
10
- const isHome = useLayout('home')
11
9
  const themeConfig = useThemeConfig()
12
10
 
13
11
  const isPage = computed(() => route.path.startsWith('/page'))
@@ -21,18 +19,27 @@ const showNotice = computed(() => {
21
19
  <template>
22
20
  <main
23
21
  class="yun-main flex-center"
24
- :class="(isHome && !yunStore.leftSidebar.isOpen) ? 'pl-0' : 'md:pl-$va-sidebar-width'" flex="~ col" w="full"
22
+ :class="{
23
+ 'pl-0': !yunStore.leftSidebar.isOpen,
24
+ 'md:pl-$va-sidebar-width': yunStore.leftSidebar.isOpen,
25
+ 'pt-36': isPage,
26
+ }" flex="~ col" w="full"
25
27
  >
26
28
  <YunSidebar :show-hamburger="true" />
27
29
 
28
30
  <template v-if="!isPage">
29
- <YunBanner v-if="themeConfig.banner.enable" />
31
+ <YunBanner />
30
32
  <YunSay v-if="themeConfig.say.enable" w="full" />
33
+ <YunPrologue class="absolute left-0 top-0 right-0 bottom-0" />
31
34
  </template>
32
35
 
33
36
  <YunNotice
34
37
  v-if="showNotice"
35
- :content="themeConfig.notice.content" mt="4"
38
+ class="mb-10"
39
+ :class="{
40
+ 'mt-4': !isPage,
41
+ }"
42
+ :content="themeConfig.notice.content"
36
43
  />
37
44
 
38
45
  <slot name="board" />
package/layouts/post.vue CHANGED
@@ -41,27 +41,30 @@ useSchemaOrg(
41
41
  </script>
42
42
 
43
43
  <template>
44
- <YunSidebar v-if="$slots['sidebar-child']">
45
- <slot name="sidebar-child" />
46
- </YunSidebar>
47
- <YunSidebar v-else />
44
+ <YunLayoutWrapper>
45
+ <YunLayoutLeft />
48
46
 
49
- <RouterView v-slot="{ Component }">
50
- <component :is="Component">
51
- <template #main-header-after>
52
- <YunPostMeta :frontmatter="frontmatter" />
53
- <YunWalineMeta />
54
- <YunPostCategoriesAndTags :frontmatter="frontmatter" />
55
- </template>
47
+ <RouterView v-slot="{ Component }">
48
+ <component :is="Component">
49
+ <template #main-header-after>
50
+ <YunPostMeta :frontmatter="frontmatter" />
56
51
 
57
- <template #main-content-after>
58
- <YunSponsor v-if="showSponsor" m="t-6" />
59
- <ValaxyCopyright v-if="frontmatter.copyright || (frontmatter.copyright !== false && siteConfig.license.enabled)" :url="url" m="y-4" />
60
- </template>
52
+ <YunPostCategoriesAndTags class="mt-2" :frontmatter="frontmatter" />
53
+ </template>
61
54
 
62
- <template #aside-custom>
63
- <slot name="aside-custom" />
64
- </template>
65
- </component>
66
- </RouterView>
55
+ <template #main-content-after>
56
+ <YunSponsor v-if="showSponsor" m="t-6" />
57
+ <ValaxyCopyright v-if="frontmatter.copyright || (frontmatter.copyright !== false && siteConfig.license.enabled)" :url="url" m="y-4" />
58
+ </template>
59
+
60
+ <template #aside-custom>
61
+ <slot name="aside-custom" />
62
+ </template>
63
+ </component>
64
+ </RouterView>
65
+
66
+ <YunLayoutRight />
67
+ </YunLayoutWrapper>
68
+
69
+ <YunFooter />
67
70
  </template>
@@ -0,0 +1,10 @@
1
+ <script setup lang="ts">
2
+ // not use
3
+ </script>
4
+
5
+ <template>
6
+ <div class="pt-36">
7
+ <YunPostList />
8
+ </div>
9
+ <YunFooter />
10
+ </template>
@@ -0,0 +1,25 @@
1
+ <script setup lang="ts">
2
+ import { useFrontmatter, useSiteConfig } from 'valaxy'
3
+
4
+ // layout
5
+ const siteConfig = useSiteConfig()
6
+ const fm = useFrontmatter()
7
+ </script>
8
+
9
+ <template>
10
+ <YunLayoutWrapper>
11
+ <div flex="~ col">
12
+ <YunProjects />
13
+ <!-- <YunLayoutLeft /> -->
14
+ <!-- <RouterView /> -->
15
+ <!-- <YunLayoutRight /> -->
16
+ <YunSponsor class="mt-4" />
17
+ <YunComment
18
+ v-if="siteConfig.comment.enable && fm.comment !== false"
19
+ class="max-w-4xl m-auto"
20
+ />
21
+ </div>
22
+ </YunLayoutWrapper>
23
+
24
+ <YunFooter />
25
+ </template>
package/layouts/tags.vue CHANGED
@@ -58,46 +58,50 @@ const title = usePostTitle(frontmatter)
58
58
  </script>
59
59
 
60
60
  <template>
61
- <YunSidebar v-if="$slots['sidebar-child']">
62
- <slot name="sidebar-child" />
63
- </YunSidebar>
64
- <YunSidebar v-else />
65
-
66
- <RouterView v-slot="{ Component }">
67
- <component :is="Component">
68
- <template #main-header>
69
- <YunPageHeader
70
- :title="title || t('menu.tags')"
71
- :icon="frontmatter.icon || 'i-ri-tag-line'"
72
- :color="frontmatter.color"
73
- :page-title-class="frontmatter.pageTitleClass"
74
- />
75
- </template>
76
- <template #main-content>
77
- <div class="yun-text-light" text="center" p="2">
78
- {{ t('counter.tags', Array.from(tags).length) }}
79
- </div>
80
-
81
- <div class="justify-center items-end" flex="~ wrap" gap="1">
82
- <YunLayoutPostTag
83
- v-for="[key, tag] in Array.from(tags).sort()"
84
- :key="key"
85
- :title="key"
86
- :count="tag.count"
87
- :style="getTagStyle(tag.count)"
88
- @click="displayTag(key.toString())"
61
+ <YunLayoutWrapper>
62
+ <YunLayoutLeft />
63
+
64
+ <RouterView v-slot="{ Component }">
65
+ <component :is="Component">
66
+ <template #main-header>
67
+ <YunPageHeader
68
+ class="mt-8"
69
+ :title="title || t('menu.tags')"
70
+ :icon="frontmatter.icon || 'i-ri-tag-line'"
71
+ :color="frontmatter.color"
72
+ :page-title-class="frontmatter.pageTitleClass"
89
73
  />
90
- </div>
91
-
92
- <RouterView />
93
- </template>
94
-
95
- <template #main-nav-before>
96
- <YunCard v-if="curTag" ref="collapse" m="t-4" w="full">
97
- <YunPageHeader :title="curTag" icon="i-ri-hashtag" />
98
- <YunPostCollapse w="full" m="b-4" p="x-20 lt-sm:x-5" :posts="posts" />
99
- </YunCard>
100
- </template>
101
- </component>
102
- </RouterView>
74
+ </template>
75
+ <template #main-content>
76
+ <div class="yun-text-light" text="center" p="2">
77
+ {{ t('counter.tags', Array.from(tags).length) }}
78
+ </div>
79
+
80
+ <div class="justify-center items-end" flex="~ wrap" gap="1">
81
+ <YunLayoutPostTag
82
+ v-for="[key, tag] in Array.from(tags).sort()"
83
+ :key="key"
84
+ :title="key"
85
+ :count="tag.count"
86
+ :style="getTagStyle(tag.count)"
87
+ @click="displayTag(key.toString())"
88
+ />
89
+ </div>
90
+
91
+ <RouterView />
92
+ </template>
93
+
94
+ <template #main-nav-before>
95
+ <YunCard v-if="curTag" ref="collapse" m="t-4" w="full">
96
+ <YunPageHeader :title="curTag" icon="i-ri-hashtag" />
97
+ <YunPostCollapse w="full" m="b-4" p="x-20 lt-sm:x-5" :posts="posts" />
98
+ </YunCard>
99
+ </template>
100
+ </component>
101
+ </RouterView>
102
+
103
+ <YunLayoutRight />
104
+ </YunLayoutWrapper>
105
+
106
+ <YunFooter />
103
107
  </template>
package/node/config.ts CHANGED
@@ -15,9 +15,6 @@ export const defaultThemeConfig: ThemeConfig = {
15
15
  banner: {
16
16
  enable: true,
17
17
  title: '云游君的小站',
18
- cloud: {
19
- enable: true,
20
- },
21
18
  },
22
19
 
23
20
  bg_image: {
@@ -27,7 +24,7 @@ export const defaultThemeConfig: ThemeConfig = {
27
24
  },
28
25
 
29
26
  say: {
30
- enable: true,
27
+ enable: false,
31
28
  api: '',
32
29
  // api: 'https://el-bot-api.elpsy.cn/api/words/young',
33
30
  hitokoto: {
@@ -96,7 +93,7 @@ export const defaultThemeConfig: ThemeConfig = {
96
93
  },
97
94
  'twitter': {
98
95
  color: '#1da1f2',
99
- icon: 'i-ri-twitter-line',
96
+ icon: 'i-ri-twitter-x-fill',
100
97
  },
101
98
  'wechat': {
102
99
  color: '#1AAD19',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valaxy-theme-yun",
3
- "version": "0.19.13",
3
+ "version": "0.20.0-beta.1",
4
4
  "author": {
5
5
  "email": "me@yunyoujun.cn",
6
6
  "name": "YunYouJun",
@@ -20,14 +20,19 @@
20
20
  "main": "index.ts",
21
21
  "module": "index.ts",
22
22
  "dependencies": {
23
+ "@ctrl/tinycolor": "^4.1.0",
23
24
  "@explosions/fireworks": "^0.0.2",
24
25
  "@iconify-json/ant-design": "^1.2.1",
25
- "@iconify-json/simple-icons": "^1.2.4",
26
- "animejs": "^3.2.2"
26
+ "@iconify-json/simple-icons": "^1.2.5",
27
+ "@vueuse/motion": "^2.2.5",
28
+ "animejs": "^3.2.2",
29
+ "gsap": "^3.12.5",
30
+ "primevue": "^4.0.7",
31
+ "radix-vue": "^1.9.6"
27
32
  },
28
33
  "devDependencies": {
29
34
  "@types/animejs": "^3.1.12",
30
- "valaxy": "0.19.13",
31
- "valaxy-addon-waline": "0.2.0"
35
+ "valaxy-addon-waline": "0.2.0",
36
+ "valaxy": "0.20.0-beta.1"
32
37
  }
33
38
  }
@@ -1,11 +1,8 @@
1
1
  <script setup lang="ts">
2
- import { useRoute } from 'vue-router'
3
- import { computed } from 'vue'
4
-
5
- const route = useRoute()
6
- const pageIndex = computed(() => Number.parseInt((route.params as { page: string }).page))
2
+ // dynamic page
3
+ // layout is home
7
4
  </script>
8
5
 
9
6
  <template>
10
- <YunPostList :cur-page="pageIndex" />
7
+ <YunPostList />
11
8
  </template>
@@ -0,0 +1,11 @@
1
+ <script setup lang="ts">
2
+ // TODO
3
+ </script>
4
+
5
+ <template>
6
+ <div class="mt-37 mb-4">
7
+ <YunPostList />
8
+ </div>
9
+
10
+ <YunFooter />
11
+ </template>