valaxy-theme-yun 0.20.4 → 0.20.6

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 (55) hide show
  1. package/components/ValaxyMain.vue +2 -2
  2. package/components/YunAdBoard.vue +2 -2
  3. package/components/YunAside.vue +1 -1
  4. package/components/YunBackToTop.vue +1 -1
  5. package/components/YunBanner.vue +2 -2
  6. package/components/YunBg.vue +1 -1
  7. package/components/YunCategory.vue +1 -1
  8. package/components/YunCategoryChildItem.vue +1 -1
  9. package/components/YunClassifyPopover.vue +1 -1
  10. package/components/YunDock.vue +3 -3
  11. package/components/YunFireworks.vue +2 -2
  12. package/components/YunFooter.vue +2 -2
  13. package/components/YunFullscreenMenu.vue +1 -1
  14. package/components/YunFuseSearch.vue +10 -5
  15. package/components/YunGirlItem.vue +2 -2
  16. package/components/YunGirls.vue +1 -1
  17. package/components/YunLinkItem.vue +1 -1
  18. package/components/YunLinks.vue +1 -1
  19. package/components/YunMdTimeWarning.vue +3 -3
  20. package/components/YunOutline.vue +1 -1
  21. package/components/YunPostCard.vue +1 -1
  22. package/components/YunPostCollapse.vue +1 -1
  23. package/components/YunPostCollapseItem.vue +1 -1
  24. package/components/YunPostList.vue +2 -2
  25. package/components/YunSiteInfo.vue +1 -38
  26. package/components/YunSocialLinkItem.vue +1 -1
  27. package/components/YunToggleLocale.vue +1 -1
  28. package/components/author/YunAuthorAvatar.vue +42 -5
  29. package/components/config/YunToggleDark.vue +2 -2
  30. package/components/menu/YunNavMenuTitle.vue +5 -2
  31. package/components/project/YunProjectCard.vue +2 -2
  32. package/components/project/YunProjects.vue +1 -1
  33. package/components/prologue/YunPrologueSquare.vue +2 -2
  34. package/components/site/YunFullscreenMenuItem.vue +1 -1
  35. package/components/site/YunSiteLinkItem.vue +2 -2
  36. package/components/theme/nimbo/YunNimboNavMenu.vue +1 -1
  37. package/components/theme/strato/YunStratoNavMenu.vue +1 -1
  38. package/components/third/YunAlgoliaSearch.vue +1 -1
  39. package/components/third/YunArtalk.vue +1 -1
  40. package/components/third/YunTwikoo.vue +1 -1
  41. package/components/third/YunWaline.vue +1 -1
  42. package/components/third/YunWalineMeta.vue +2 -2
  43. package/composables/animation.ts +1 -1
  44. package/composables/config.ts +2 -2
  45. package/composables/helper.ts +1 -1
  46. package/composables/useYunBanner.ts +2 -2
  47. package/docs/zh-CN/config.md +1 -1
  48. package/layouts/404.vue +1 -1
  49. package/layouts/categories.vue +2 -2
  50. package/layouts/post.vue +3 -3
  51. package/layouts/tags.vue +2 -2
  52. package/package.json +6 -6
  53. package/setup/main.ts +4 -8
  54. package/stores/app.ts +1 -1
  55. package/valaxy.config.ts +11 -2
@@ -1,8 +1,8 @@
1
1
  <script lang="ts" setup>
2
- import { computed, nextTick } from 'vue'
3
2
  import type { PageData, Post } from 'valaxy'
4
- import { onClickHref, onContentUpdated, scrollTo, usePostTitle, useSiteConfig } from 'valaxy'
5
3
  import type { StyleValue } from 'vue'
4
+ import { onClickHref, onContentUpdated, scrollTo, usePostTitle, useSiteConfig } from 'valaxy'
5
+ import { computed, nextTick } from 'vue'
6
6
  import { useRoute, useRouter } from 'vue-router'
7
7
  import { usePostProperty } from '../composables'
8
8
 
@@ -1,4 +1,4 @@
1
1
  <template>
2
- <!-- empty -->
3
- <div />
2
+ <!-- eslint-disable-next-line vue/no-lone-template empty -->
3
+ <template />
4
4
  </template>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { useI18n } from 'vue-i18n'
3
2
  import { useFrontmatter } from 'valaxy'
4
3
  import { computed, nextTick, ref, watch } from 'vue'
4
+ import { useI18n } from 'vue-i18n'
5
5
  import { useYunAppStore } from '../stores'
6
6
 
7
7
  const fm = useFrontmatter()
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import { computed } from 'vue'
3
2
  import { useBackToTop } from 'valaxy'
3
+ import { computed } from 'vue'
4
4
 
5
5
  const { show, percentage, backToTop } = useBackToTop({ offset: 100 })
6
6
 
@@ -6,11 +6,11 @@
6
6
  */
7
7
 
8
8
  import type { CSSProperties } from 'vue'
9
- import { computed, onMounted, ref } from 'vue'
10
9
  import { sleep } from 'valaxy'
10
+ import { computed, onMounted, ref } from 'vue'
11
11
  import { useThemeConfig } from '../composables'
12
- import { useYunAppStore } from '../stores'
13
12
  import { useYunBanner } from '../composables/useYunBanner'
13
+ import { useYunAppStore } from '../stores'
14
14
 
15
15
  const yun = useYunAppStore()
16
16
  const themeConfig = useThemeConfig()
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { computed, watch } from 'vue'
3
2
  import { useCssVar } from '@vueuse/core'
4
3
  import { useAppStore } from 'valaxy'
4
+ import { computed, watch } from 'vue'
5
5
  import { useThemeConfig } from '../composables'
6
6
 
7
7
  const appStore = useAppStore()
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { onMounted, ref } from 'vue'
3
2
  import type { CategoryList, Post } from 'valaxy'
4
3
  import { useInvisibleElement } from 'valaxy'
4
+ import { onMounted, ref } from 'vue'
5
5
  import { useI18n } from 'vue-i18n'
6
6
  import { useRouter } from 'vue-router'
7
7
  import { useYunSpringAnimation } from '../composables/animation'
@@ -2,8 +2,8 @@
2
2
  import type { Post } from 'valaxy'
3
3
  import { isCategoryList } from 'valaxy'
4
4
  import { computed } from 'vue'
5
- import { useRoute } from 'vue-router'
6
5
  import { useI18n } from 'vue-i18n'
6
+ import { useRoute } from 'vue-router'
7
7
 
8
8
  defineProps<{
9
9
  i?: number
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
+ import type { ComponentInstance } from 'vue'
2
3
  import { useMotion } from '@vueuse/motion'
3
4
  import Popover from 'primevue/popover'
4
- import type { ComponentInstance } from 'vue'
5
5
  import { onMounted, ref } from 'vue'
6
6
 
7
7
  const op = ref<ComponentInstance<typeof Popover>>()
@@ -1,9 +1,9 @@
1
1
  <script setup>
2
- import { onBeforeUnmount, onMounted, ref, watch } from 'vue'
3
- import { useToast } from 'primevue/usetoast'
4
- import TerminalService from 'primevue/terminalservice'
5
2
  import Dock from 'primevue/dock'
3
+ import TerminalService from 'primevue/terminalservice'
6
4
  import Toast from 'primevue/toast'
5
+ import { useToast } from 'primevue/usetoast'
6
+ import { onBeforeUnmount, onMounted, ref, watch } from 'vue'
7
7
  import { useYunAppStore } from '../stores'
8
8
 
9
9
  onMounted(() => {
@@ -1,8 +1,8 @@
1
1
  <script lang="ts" setup>
2
+ import type { YunTheme } from '../types'
3
+ import { createFireworks } from '@explosions/fireworks'
2
4
  import { useThemeConfig } from 'valaxy'
3
5
  import { onMounted } from 'vue'
4
- import { createFireworks } from '@explosions/fireworks'
5
- import type { YunTheme } from '../types'
6
6
 
7
7
  const themeConfig = useThemeConfig<YunTheme.Config>()
8
8
 
@@ -1,8 +1,8 @@
1
1
  <script lang="ts" setup>
2
- import { capitalize, computed } from 'vue'
3
2
  import { useSiteConfig, useValaxyConfig, useValaxyDark } from 'valaxy'
4
- import { useI18n } from 'vue-i18n'
5
3
  import pkg from 'valaxy/package.json'
4
+ import { capitalize, computed } from 'vue'
5
+ import { useI18n } from 'vue-i18n'
6
6
  import { useThemeConfig } from '../composables'
7
7
 
8
8
  // background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { ref } from 'vue'
3
2
  import { useAppStore } from 'valaxy'
3
+ import { ref } from 'vue'
4
4
  import { useYunAppStore } from '../stores'
5
5
 
6
6
  const yunApp = useYunAppStore()
@@ -1,11 +1,11 @@
1
1
  <script lang="ts" setup>
2
- import { ref } from 'vue'
3
- import { useI18n } from 'vue-i18n'
2
+ import { isClient, onClickOutside, useScrollLock } from '@vueuse/core'
4
3
  import { useFuseSearch } from 'valaxy'
4
+ import { ref, watch } from 'vue'
5
5
 
6
- import { isClient, onClickOutside, useScrollLock } from '@vueuse/core'
6
+ import { useI18n } from 'vue-i18n'
7
7
 
8
- defineProps<{
8
+ const props = defineProps<{
9
9
  open: boolean
10
10
  }>()
11
11
  const emit = defineEmits(['close'])
@@ -14,7 +14,7 @@ const input = ref('')
14
14
 
15
15
  const isLocked = useScrollLock(isClient ? document.documentElement : null)
16
16
  const { t } = useI18n()
17
- const { results } = useFuseSearch(input)
17
+ const { results, fetchFuseListData } = useFuseSearch(input)
18
18
 
19
19
  const searchInputRef = ref<HTMLInputElement>()
20
20
  const searchContainer = ref<HTMLElement>()
@@ -22,6 +22,11 @@ const searchContainer = ref<HTMLElement>()
22
22
  onClickOutside(searchInputRef, () => {
23
23
  // emit('close')
24
24
  })
25
+
26
+ watch(() => props.open, () => {
27
+ if (props.open)
28
+ fetchFuseListData()
29
+ })
25
30
  </script>
26
31
 
27
32
  <template>
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import { ref } from 'vue'
2
+ import type { GirlType } from '../types'
3
3
  import { useMotion } from '@vueuse/motion'
4
+ import { ref } from 'vue'
4
5
  import { onImgError } from '../utils'
5
- import type { GirlType } from '../types'
6
6
 
7
7
  const props = defineProps<{
8
8
  i: number
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import { useRandomData } from '../composables'
3
2
  import type { GirlType } from '../types'
3
+ import { useRandomData } from '../composables'
4
4
 
5
5
  const props = defineProps<{
6
6
  girls: GirlType[] | string
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
+ import type { LinkType } from '../types'
2
3
  import { useMotion } from '@vueuse/motion'
3
4
  import { ref } from 'vue'
4
5
  import { onImgError } from '../utils'
5
- import type { LinkType } from '../types'
6
6
 
7
7
  const props = defineProps<{
8
8
  i: number
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import { useRandomData } from '../composables'
3
2
  import type { LinkType } from '../types'
3
+ import { useRandomData } from '../composables'
4
4
 
5
5
  const props = defineProps<{
6
6
  links: string | LinkType[]
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
- import { computed, ref, watch } from 'vue'
2
+ import { differenceInMilliseconds, formatDistanceToNow } from 'date-fns'
3
3
  import { useFrontmatter } from 'valaxy'
4
- import { useI18n } from 'vue-i18n'
5
4
 
6
- import { differenceInMilliseconds, formatDistanceToNow } from 'date-fns'
5
+ import { computed, ref, watch } from 'vue'
6
+ import { useI18n } from 'vue-i18n'
7
7
 
8
8
  const fm = useFrontmatter()
9
9
  const { t, locale } = useI18n()
@@ -1,9 +1,9 @@
1
1
  <script setup lang="ts">
2
- import { ref } from 'vue'
3
2
  import {
4
3
  useActiveAnchor,
5
4
  useOutline,
6
5
  } from 'valaxy'
6
+ import { ref } from 'vue'
7
7
  import { useThemeConfig } from '../composables'
8
8
 
9
9
  const themeConfig = useThemeConfig()
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import { useI18n } from 'vue-i18n'
3
2
  import type { Post } from 'valaxy'
3
+ import { useI18n } from 'vue-i18n'
4
4
  import { usePostProperty } from '../composables'
5
5
 
6
6
  const props = defineProps<{
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { computed, ref, watch } from 'vue'
3
2
  import type { Post } from 'valaxy'
4
3
  import { formatDate, sortByDate, useSiteConfig } from 'valaxy'
4
+ import { computed, ref, watch } from 'vue'
5
5
  import { useI18n } from 'vue-i18n'
6
6
 
7
7
  const props = defineProps<{
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { useMotion } from '@vueuse/motion'
3
2
  import type { Post } from 'valaxy'
3
+ import { useMotion } from '@vueuse/motion'
4
4
  import { formatDate } from 'valaxy'
5
5
  import { ref } from 'vue'
6
6
 
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { computed, ref } from 'vue'
3
- import { useSiteConfig, useSiteStore } from 'valaxy'
4
2
  import type { Post } from 'valaxy/types'
3
+ import { useSiteConfig, useSiteStore } from 'valaxy'
4
+ import { computed, ref } from 'vue'
5
5
 
6
6
  const props = withDefaults(defineProps<{
7
7
  type?: string
@@ -9,12 +9,7 @@ const siteConfig = useSiteConfig()
9
9
  <RouterLink
10
10
  class="site-author-avatar inline-flex-center" to="/about"
11
11
  >
12
- <img class="rounded-full" :src="siteConfig.author.avatar" alt="avatar">
13
- <!-- <span
14
- v-if="siteConfig.author.status.emoji"
15
- class="site-author-status absolute"
16
- :title="siteConfig.author.status.message || undefined"
17
- >{{ siteConfig.author.status.emoji }}</span> -->
12
+ <YunAuthorAvatar />
18
13
  </RouterLink>
19
14
  <YunAuthorName />
20
15
  <YunSiteTitle />
@@ -32,38 +27,6 @@ const siteConfig = useSiteConfig()
32
27
  </template>
33
28
 
34
29
  <style lang="scss">
35
- .site-author-avatar {
36
- position: relative;
37
- line-height: 0;
38
-
39
- img {
40
- height: 96px;
41
- width: 96px;
42
- max-width: 100%;
43
- margin: 0;
44
- padding: 4px;
45
- background-color: white;
46
- box-shadow: 0 0 10px rgba(black, 0.2);
47
- transition: 0.4s;
48
-
49
- &:hover {
50
- box-shadow: 0 0 30px rgba(var(--va-c-primary-rgb), 0.2);
51
- }
52
- }
53
- }
54
-
55
- .site-author-status {
56
- height: 1.8rem;
57
- width: 1.8rem;
58
- bottom: 0;
59
- right: 0;
60
- line-height: 1.8rem;
61
- border-radius: 50%;
62
- box-shadow: 0 1px 2px rgb(0 0 0 / 0.2);
63
- background-color: var(--va-c-bg-light);
64
- border: 1px solid rgb(255 255 255 / 0.1);
65
- }
66
-
67
30
  .site-info {
68
31
  &.fix-top {
69
32
  margin-top: -1.5rem;
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { useAppStore } from 'valaxy'
3
2
  import type { SocialLink } from 'valaxy/types'
3
+ import { useAppStore } from 'valaxy'
4
4
  import { computed } from 'vue'
5
5
 
6
6
  const props = defineProps<{
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import { useI18n } from 'vue-i18n'
3
2
  import { useLocale } from 'valaxy'
3
+ import { useI18n } from 'vue-i18n'
4
4
 
5
5
  const { t, locale } = useI18n()
6
6
  const { toggleLocales } = useLocale()
@@ -5,9 +5,46 @@ const siteConfig = useSiteConfig()
5
5
  </script>
6
6
 
7
7
  <template>
8
- <img
9
- class="rounded-full size-full"
10
- :src="siteConfig.author.avatar"
11
- alt="avatar"
12
- >
8
+ <div class="relative yun-author-avatar">
9
+ <img
10
+ class="rounded-full size-full bg-white dark:bg-white/20 p-1 m-0"
11
+ :src="siteConfig.author.avatar"
12
+ alt="avatar"
13
+ >
14
+ <span
15
+ v-if="siteConfig.author.status.emoji"
16
+ class="site-author-status absolute"
17
+ :title="siteConfig.author.status.message || undefined"
18
+ >{{ siteConfig.author.status.emoji }}</span>
19
+ </div>
13
20
  </template>
21
+
22
+ <style lang="scss">
23
+ .yun-author-avatar {
24
+ width: var(--avatar-size, 96px);
25
+ height: var(--avatar-size, 96px);
26
+ }
27
+
28
+ .site-author-avatar {
29
+ img {
30
+ box-shadow: 0 0 10px rgba(black, 0.2);
31
+ transition: 0.4s;
32
+
33
+ &:hover {
34
+ box-shadow: 0 0 30px rgba(var(--va-c-primary-rgb), 0.2);
35
+ }
36
+ }
37
+ }
38
+
39
+ .site-author-status {
40
+ height: 1.8rem;
41
+ width: 1.8rem;
42
+ bottom: 0;
43
+ right: 0;
44
+ line-height: 1.8rem;
45
+ border-radius: 50%;
46
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.2);
47
+ background-color: var(--va-c-bg-light);
48
+ border: 1px solid rgb(255 255 255 / 0.1);
49
+ }
50
+ </style>
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
- import { useI18n } from 'vue-i18n'
3
- import { computed } from 'vue'
4
2
  import { useAppStore } from 'valaxy'
3
+ import { computed } from 'vue'
4
+ import { useI18n } from 'vue-i18n'
5
5
 
6
6
  const props = defineProps<{
7
7
  transition?: boolean
@@ -11,9 +11,12 @@ const siteConfig = useSiteConfig()
11
11
  const route = useRoute()
12
12
  const showPostTitle = ref(false)
13
13
  const showSiteTitle = computed(() => {
14
+ if (route.path === '/')
15
+ return false
14
16
  if (yunApp.isStrato)
15
- return route.path === '/' ? false : yunApp.scrollY < 10
16
- return !showPostTitle.value
17
+ return yunApp.scrollY < 10
18
+ else
19
+ return !showPostTitle.value
17
20
  })
18
21
  watch(() => yunApp.scrollY, () => {
19
22
  if (yunApp.isNimbo)
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import { type CSSProperties, computed, ref } from 'vue'
2
+ import type { ProjectItem } from '../../types'
3
3
  import { TinyColor } from '@ctrl/tinycolor'
4
4
  import { useMotion } from '@vueuse/motion'
5
- import type { ProjectItem } from '../../types'
5
+ import { computed, type CSSProperties, ref } from 'vue'
6
6
  import { cubicBezier } from '../../client/constants'
7
7
 
8
8
  const props = defineProps<{
@@ -1,8 +1,8 @@
1
1
  <script lang="ts" setup>
2
+ import type { ProjectDataType } from '../../types'
2
3
  import { useFrontmatter } from 'valaxy'
3
4
  import { reactive, ref } from 'vue'
4
5
  import { useI18n } from 'vue-i18n'
5
- import type { ProjectDataType } from '../../types'
6
6
 
7
7
  const fm = useFrontmatter()
8
8
  const { t } = useI18n()
@@ -29,7 +29,7 @@ const showContent = ref(false)
29
29
  >
30
30
  <div
31
31
  flex="~ col"
32
- class="absolute yun-square bg-$va-c-text square-rotate z-1"
32
+ class="absolute yun-square square-rotate z-1 bg-white/80"
33
33
  >
34
34
  <LineBurstEffects
35
35
  class="absolute top-0 left-0 right-0 bottom-0 size-full scale-200"
@@ -59,7 +59,7 @@ const showContent = ref(false)
59
59
  <div
60
60
  flex="~ col"
61
61
  class="gap-2 items-center justify-center"
62
- my-4 md:my-6
62
+ my-4 md:my-5 lg:my-6
63
63
  py-4 md:py-6
64
64
  border="t-1px b-1px black/60 dark:white/60"
65
65
  >
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { useYunAppStore } from '../../stores'
3
2
  import type { PageProps } from '../../types'
3
+ import { useYunAppStore } from '../../stores'
4
4
 
5
5
  defineProps<{
6
6
  page: PageProps
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { useYunAppStore } from '../../stores'
3
2
  import type { PageProps } from '../../types'
3
+ import { useYunAppStore } from '../../stores'
4
4
 
5
5
  defineProps<{
6
6
  page: PageProps
@@ -11,7 +11,7 @@ const yunApp = useYunAppStore()
11
11
 
12
12
  <template>
13
13
  <AppLink
14
- class="link-item inline-flex-center gap-2 transition rounded text-base p-1 md:(text-xl p-3) text-$va-c-text"
14
+ class="link-item inline-flex-center gap-2 transition rounded text-base p-1 md:(text-base p-2) lg:(text-xl p-3) text-$va-c-text"
15
15
  inline-flex
16
16
  :to="page.url" :title="page.name"
17
17
  :style="`color:${page.color}`"
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { onMounted, ref, watch } from 'vue'
3
2
  import { useAppStore, useSiteConfig } from 'valaxy'
3
+ import { onMounted, ref, watch } from 'vue'
4
4
  import { useRoute } from 'vue-router'
5
5
  import { useYunAppStore } from '../../../stores'
6
6
  // import { useThemeConfig } from '../composables'
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { computed, onMounted, ref, watch } from 'vue'
3
2
  import { useAppStore, useSiteConfig } from 'valaxy'
3
+ import { computed, onMounted, ref, watch } from 'vue'
4
4
  import { useRoute } from 'vue-router'
5
5
  import { useYunAppStore } from '../../../stores'
6
6
  // import { useThemeConfig } from '../composables'
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import * as addonAlgolia from 'valaxy-addon-algolia'
3
2
  import { isEmptyAddon } from 'valaxy'
3
+ import * as addonAlgolia from 'valaxy-addon-algolia'
4
4
 
5
5
  defineProps<{
6
6
  open: boolean
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
+ import { isEmptyAddon } from 'valaxy'
2
3
  import * as addonArtalk from 'valaxy-addon-artalk'
3
4
  import 'valaxy-addon-artalk/client/styles/index.scss'
4
- import { isEmptyAddon } from 'valaxy'
5
5
 
6
6
  if (!isEmptyAddon(addonArtalk))
7
7
  addonArtalk.useArtalkWithOptions()
@@ -1,7 +1,7 @@
1
1
  <script lang="ts" setup>
2
+ import { isEmptyAddon } from 'valaxy'
2
3
  import * as addonTwikoo from 'valaxy-addon-twikoo'
3
4
  import 'valaxy-addon-twikoo/client/styles/index.scss'
4
- import { isEmptyAddon } from 'valaxy'
5
5
 
6
6
  if (!isEmptyAddon(addonTwikoo))
7
7
  addonTwikoo.useTwikooWithOptions()
@@ -1,6 +1,6 @@
1
1
  <script lang="ts" setup>
2
- import * as addonWaline from 'valaxy-addon-waline'
3
2
  import { isEmptyAddon } from 'valaxy'
3
+ import * as addonWaline from 'valaxy-addon-waline'
4
4
 
5
5
  if (isEmptyAddon(addonWaline))
6
6
  throw new Error('Please install valaxy-addon-waline')
@@ -1,10 +1,10 @@
1
1
  <script lang="ts" setup>
2
2
  import { useRuntimeConfig } from 'valaxy'
3
3
  import { computed } from 'vue'
4
- import { useRoute } from 'vue-router'
5
-
6
4
  import { useI18n } from 'vue-i18n'
7
5
 
6
+ import { useRoute } from 'vue-router'
7
+
8
8
  const route = useRoute()
9
9
  const runtimeConfig = useRuntimeConfig()
10
10
 
@@ -1,5 +1,5 @@
1
- import { useMotion } from '@vueuse/motion'
2
1
  import type { MaybeRef } from 'vue'
2
+ import { useMotion } from '@vueuse/motion'
3
3
  import { cubicBezier } from '../client/constants'
4
4
 
5
5
  /**
@@ -1,6 +1,6 @@
1
- import { computed } from 'vue'
2
- import { useValaxyConfig } from 'valaxy'
3
1
  import type { YunTheme } from '../types'
2
+ import { useValaxyConfig } from 'valaxy'
3
+ import { computed } from 'vue'
4
4
 
5
5
  /**
6
6
  * getThemeConfig
@@ -1,5 +1,5 @@
1
- import { ref, watch } from 'vue'
2
1
  import { isClient, useEventListener } from '@vueuse/core'
2
+ import { ref, watch } from 'vue'
3
3
 
4
4
  /**
5
5
  * fetch data from source, and random
@@ -1,6 +1,6 @@
1
- import { computed } from 'vue'
2
- import { random } from 'valaxy'
3
1
  import type { YunTheme } from '../types'
2
+ import { random } from 'valaxy'
3
+ import { computed } from 'vue'
4
4
 
5
5
  export function useYunBanner(options: YunTheme.Banner) {
6
6
  const chars = computed(() => {
@@ -18,8 +18,8 @@ title: 主题配置
18
18
  - `enable`: 是否开启
19
19
 
20
20
  ```ts
21
- import { defineConfig } from 'valaxy'
22
21
  import type { ThemeConfig } from 'valaxy-theme-yun'
22
+ import { defineConfig } from 'valaxy'
23
23
 
24
24
  export default defineConfig<ThemeConfig>({
25
25
  theme: 'yun',
package/layouts/404.vue CHANGED
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
- import { useI18n } from 'vue-i18n'
3
2
  import { useBack } from 'valaxy'
3
+ import { useI18n } from 'vue-i18n'
4
4
 
5
5
  const { t } = useI18n()
6
6
  const { back } = useBack()
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
- import { computed } from 'vue'
2
+ import { defineWebPage, useSchemaOrg } from '@unhead/schema-org'
3
3
  import { useCategories, useFrontmatter, usePostTitle, useSiteStore } from 'valaxy'
4
+ import { computed } from 'vue'
4
5
  import { useI18n } from 'vue-i18n'
5
6
  import { useRoute } from 'vue-router'
6
- import { defineWebPage, useSchemaOrg } from '@unhead/schema-org'
7
7
 
8
8
  const { t } = useI18n()
9
9
 
package/layouts/post.vue CHANGED
@@ -1,10 +1,10 @@
1
1
  <script lang="ts" setup>
2
- import { computed } from 'vue'
3
- import { useFrontmatter, useFullUrl, useSiteConfig } from 'valaxy'
4
-
5
2
  import type { Article } from '@unhead/schema-org'
6
3
  import { defineArticle, useSchemaOrg } from '@unhead/schema-org'
4
+
7
5
  import { toDate } from 'date-fns'
6
+ import { useFrontmatter, useFullUrl, useSiteConfig } from 'valaxy'
7
+ import { computed } from 'vue'
8
8
 
9
9
  const siteConfig = useSiteConfig()
10
10
  const frontmatter = useFrontmatter()
package/layouts/tags.vue CHANGED
@@ -1,9 +1,9 @@
1
1
  <script lang="ts" setup>
2
+ import { defineWebPage, useSchemaOrg } from '@unhead/schema-org'
2
3
  import { useFrontmatter, useInvisibleElement, usePostTitle, useSiteStore } from 'valaxy'
3
- import { useI18n } from 'vue-i18n'
4
4
  import { computed, ref } from 'vue'
5
+ import { useI18n } from 'vue-i18n'
5
6
  import { useRoute, useRouter } from 'vue-router'
6
- import { defineWebPage, useSchemaOrg } from '@unhead/schema-org'
7
7
  import { useThemeConfig, useYunTags } from '../composables'
8
8
 
9
9
  useSchemaOrg([
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "valaxy-theme-yun",
3
3
  "type": "module",
4
- "version": "0.20.4",
4
+ "version": "0.20.6",
5
5
  "author": {
6
6
  "email": "me@yunyoujun.cn",
7
7
  "name": "YunYouJun",
@@ -24,17 +24,17 @@
24
24
  "@ctrl/tinycolor": "^4.1.0",
25
25
  "@explosions/fireworks": "^0.1.0",
26
26
  "@iconify-json/ant-design": "^1.2.2",
27
- "@iconify-json/simple-icons": "^1.2.11",
27
+ "@iconify-json/simple-icons": "^1.2.13",
28
28
  "@vueuse/motion": "^2.2.6",
29
29
  "animejs": "^3.2.2",
30
30
  "gsap": "^3.12.5",
31
- "primevue": "^4.2.1",
32
- "radix-vue": "^1.9.9"
31
+ "primevue": "^4.2.4",
32
+ "radix-vue": "^1.9.10"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/animejs": "^3.1.12",
36
- "valaxy-addon-waline": "0.2.0",
37
- "valaxy": "0.20.4"
36
+ "valaxy": "0.20.6",
37
+ "valaxy-addon-waline": "0.2.0"
38
38
  },
39
39
  "scripts": {
40
40
  "release": "bumpp && npm publish"
package/setup/main.ts CHANGED
@@ -1,15 +1,13 @@
1
- import { defineAppSetup } from 'valaxy'
2
- import '../styles/global.scss'
3
1
  import { MotionPlugin } from '@vueuse/motion'
4
-
5
2
  import PrimeVue from 'primevue/config'
6
- import AnimateOnScroll from 'primevue/animateonscroll'
7
- import StyleClass from 'primevue/styleclass'
3
+
8
4
  import ToastService from 'primevue/toastservice'
5
+ import { defineAppSetup } from 'valaxy'
6
+ import { useYunAppStore } from '../stores'
9
7
 
10
8
  import primeStyles from '../styles/primevue'
9
+ import '../styles/global.scss'
11
10
  import '../styles/primevue/tooltip.scss'
12
- import { useYunAppStore } from '../stores'
13
11
 
14
12
  export default defineAppSetup((ctx) => {
15
13
  // can do for setup
@@ -42,8 +40,6 @@ export default defineAppSetup((ctx) => {
42
40
  },
43
41
  },
44
42
  })
45
- app.directive('animateonscroll', AnimateOnScroll)
46
- app.directive('styleclass', StyleClass)
47
43
 
48
44
  // use floating-vue
49
45
  // app.directive('tooltip', Tooltip)
package/stores/app.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { acceptHMRUpdate, defineStore } from 'pinia'
2
1
  import { isClient, useScroll, useToggle } from '@vueuse/core'
2
+ import { acceptHMRUpdate, defineStore } from 'pinia'
3
3
  import { useScreenSize } from 'valaxy'
4
4
  import { computed } from 'vue'
5
5
  import { useThemeConfig } from '../composables'
package/valaxy.config.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ResolvedValaxyOptions } from 'valaxy'
2
2
  import type { Plugin } from 'vite'
3
- import { defineTheme } from 'valaxy'
4
3
  import type { ThemeConfig } from './types'
4
+ import { defineTheme } from 'valaxy'
5
5
  import { defaultThemeConfig, generateSafelist } from './index'
6
6
 
7
7
  function ThemeVitePlugin(options: ResolvedValaxyOptions<ThemeConfig>): Plugin {
@@ -20,7 +20,16 @@ function ThemeVitePlugin(options: ResolvedValaxyOptions<ThemeConfig>): Plugin {
20
20
  },
21
21
 
22
22
  optimizeDeps: {
23
- include: ['@ctrl/tinycolor', 'gsap/dist/ScrollToPlugin'],
23
+ include: [
24
+ '@ctrl/tinycolor',
25
+ 'gsap',
26
+ 'gsap/dist/ScrollToPlugin',
27
+ '@explosions/fireworks',
28
+
29
+ '@vueuse/motion',
30
+ 'primevue/toastservice',
31
+ 'primevue/config',
32
+ ],
24
33
  exclude: ['@docsearch/js'],
25
34
  },
26
35
  }