valaxy 0.7.8 → 0.9.0

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 (57) hide show
  1. package/README.md +4 -0
  2. package/client/README.md +3 -0
  3. package/client/components/ValaxyCopyright.vue +1 -1
  4. package/client/components/ValaxyMd.vue +2 -4
  5. package/client/components/ValaxyOverlay.vue +2 -2
  6. package/client/components/ValaxySidebar.vue +1 -2
  7. package/client/composables/category.ts +1 -1
  8. package/client/composables/comments/index.ts +2 -1
  9. package/client/composables/comments/twikoo.ts +1 -1
  10. package/client/composables/comments/waline.ts +3 -2
  11. package/client/composables/common.ts +1 -1
  12. package/client/composables/{copy-code.ts → features/copy-code.ts} +0 -0
  13. package/client/composables/features/index.ts +1 -0
  14. package/client/composables/index.ts +2 -1
  15. package/client/composables/outline.ts +2 -2
  16. package/client/composables/post.ts +1 -1
  17. package/client/composables/tag.ts +1 -1
  18. package/client/composables/widgets/aplayer.ts +1 -1
  19. package/client/config.ts +14 -0
  20. package/client/index.ts +2 -0
  21. package/client/modules/nprogress.ts +1 -1
  22. package/client/modules/pinia.ts +1 -1
  23. package/client/modules/valaxy.ts +2 -2
  24. package/client/scaffolds/post.md +6 -0
  25. package/client/styles/common/code.scss +1 -1
  26. package/client/styles/common/scrollbar.scss +1 -1
  27. package/client/{types.ts → types/index.ts} +0 -0
  28. package/client/utils/time.ts +1 -1
  29. package/dist/{chunk-EYC2AAUG.js → chunk-6SOT7TNG.js} +207 -207
  30. package/dist/{chunk-EIYDDCHI.mjs → chunk-ORY7PPZG.mjs} +207 -207
  31. package/dist/config-60c840d8.d.ts +202 -0
  32. package/dist/node/cli.js +8 -8
  33. package/dist/node/cli.mjs +8 -8
  34. package/dist/node/index.d.ts +147 -14
  35. package/dist/node/index.js +1 -1
  36. package/dist/node/index.mjs +1 -1
  37. package/dist/types/index.d.ts +154 -9
  38. package/dist/types/index.js +1 -1
  39. package/dist/types/index.mjs +0 -1
  40. package/package.json +9 -5
  41. package/types/config.ts +218 -0
  42. package/types/data.ts +31 -0
  43. package/types/index.ts +3 -0
  44. package/types/posts.ts +133 -0
  45. package/client/app/data.ts +0 -0
  46. package/client/components/ValaxyRightSidebar.vue +0 -73
  47. package/client/components/ValaxyToc.vue +0 -140
  48. package/client/modules/README.md +0 -11
  49. package/client/pages/README.md +0 -20
  50. package/dist/chunk-2QVEQP3K.js +0 -1
  51. package/dist/chunk-4FKSRP5I.mjs +0 -0
  52. package/dist/chunk-IMWNMHRD.mjs +0 -0
  53. package/dist/chunk-KP3MIFG6.js +0 -1
  54. package/dist/client/index.d.ts +0 -227
  55. package/dist/client/index.js +0 -1
  56. package/dist/client/index.mjs +0 -1
  57. package/dist/index-328992a1.d.ts +0 -472
package/README.md CHANGED
@@ -4,6 +4,10 @@
4
4
 
5
5
  Read [YunYouJun/valaxy](https://github.com/YunYouJun/valaxy) for more info.
6
6
 
7
+ ## Creating customized templates
8
+
9
+ Learn how to creating customized templates in [here](./docs/en/creating-templates.md)
10
+
7
11
  ## FAQ
8
12
 
9
13
  - `exports`: `src/index.ts` for virtual module
@@ -0,0 +1,3 @@
1
+ # FAQ
2
+
3
+ - use relative path in `valaxy/client` to avoid client/node problem
@@ -51,7 +51,7 @@ const licenseHtml = computed(() => {
51
51
  </template>
52
52
 
53
53
  <style lang="scss">
54
- @use "~/styles/mixins" as *;
54
+ @use "valaxy/client/styles/mixins/index.scss" as *;
55
55
 
56
56
  .post-copyright {
57
57
  font-size: 0.9rem;
@@ -1,10 +1,8 @@
1
1
  <script lang="ts" setup>
2
- import type { Post } from 'valaxy'
3
2
  import { onMounted, ref } from 'vue'
4
3
  import { useI18n } from 'vue-i18n'
5
- import { useAplayer, useCodePen } from '~/composables'
6
- import { useCopyCode } from '~/composables/copy-code'
7
- import { wrapTable } from '~/utils'
4
+ import { useAplayer, useCodePen, useCopyCode, wrapTable } from '..'
5
+ import type { Post } from '../../types'
8
6
 
9
7
  const props = defineProps<{
10
8
  frontmatter: Post
@@ -15,8 +15,8 @@ withDefaults(defineProps<{
15
15
  <style lang="scss">
16
16
  @use "sass:map";
17
17
 
18
- @use "~/styles/vars" as *;
19
- @use "~/styles/mixins" as *;
18
+ @use "valaxy/client/styles/vars" as *;
19
+ @use "valaxy/client/styles/mixins" as *;
20
20
 
21
21
  .va-overlay {
22
22
  background-color: rgba(0, 0, 0, 0.3);
@@ -1,6 +1,5 @@
1
1
  <script lang="ts" setup>
2
- import { useLayout } from '~/composables'
3
- import { useAppStore } from '~/stores/app'
2
+ import { useAppStore, useLayout } from '..'
4
3
 
5
4
  const app = useAppStore()
6
5
  const isHome = useLayout('home')
@@ -1,5 +1,5 @@
1
1
  import { unref } from 'vue'
2
- import type { Post } from 'valaxy/types'
2
+ import type { Post } from '../../types'
3
3
  import { usePostList } from './post'
4
4
 
5
5
  export interface BaseCategory {
@@ -1,2 +1,3 @@
1
1
  export * from './twikoo'
2
- export * from './waline'
2
+ // import on demand
3
+ // export * from './waline'
@@ -1,8 +1,8 @@
1
1
  import { isClient, useScriptTag } from '@vueuse/core'
2
- import { useConfig } from 'valaxy'
3
2
  import { computed } from 'vue'
4
3
  import { useI18n } from 'vue-i18n'
5
4
  import { useRoute } from 'vue-router'
5
+ import { useConfig } from '../..'
6
6
 
7
7
  declare global {
8
8
  interface Window {
@@ -4,8 +4,6 @@ import { useI18n } from 'vue-i18n'
4
4
  import { useRoute } from 'vue-router'
5
5
 
6
6
  import type { WalineInitOptions, WalineInstance } from '@waline/client'
7
-
8
- import '@waline/client/dist/waline.css'
9
7
  import { cdnPrefix } from '../../utils'
10
8
 
11
9
  /**
@@ -20,6 +18,9 @@ export function useWaline(options: {} = {}, cdn = cdnPrefix) {
20
18
  if (!isClient)
21
19
  return
22
20
 
21
+ // import css
22
+ import('@waline/client/dist/waline.css')
23
+
23
24
  const route = useRoute()
24
25
 
25
26
  const { locale } = useI18n()
@@ -2,7 +2,7 @@ import { useRoute } from 'vue-router'
2
2
  import { computed } from 'vue'
3
3
  import { isClient } from '@vueuse/core'
4
4
 
5
- import type { Post } from 'valaxy/types'
5
+ import type { Post } from '../../types'
6
6
  import { useConfig } from '../config'
7
7
 
8
8
  export function useFrontmatter() {
@@ -0,0 +1 @@
1
+ export * from './copy-code'
@@ -5,7 +5,7 @@ export * from './tag'
5
5
 
6
6
  // common
7
7
  export * from './common'
8
- // export * from './features'
8
+ export * from './features'
9
9
  export * from './helper'
10
10
  export * from './dark'
11
11
  export * from './layout'
@@ -13,6 +13,7 @@ export * from './widgets'
13
13
  export * from './locale'
14
14
 
15
15
  export * from './sidebar'
16
+ export * from './outline'
16
17
 
17
18
  // comment
18
19
  export * from './comments'
@@ -1,7 +1,7 @@
1
1
  import type { Ref } from 'vue'
2
2
  import { onMounted, onUnmounted, onUpdated } from 'vue'
3
- import type { Header } from 'valaxy/types'
4
- import { throttleAndDebounce } from '~/utils'
3
+ import { throttleAndDebounce } from '../utils'
4
+ import type { Header } from '../../types'
5
5
 
6
6
  interface HeaderWithChildren extends Header {
7
7
  children?: Header[]
@@ -2,7 +2,7 @@ import type { Ref } from 'vue'
2
2
  import { computed } from 'vue'
3
3
  import { useRoute, useRouter } from 'vue-router'
4
4
  import { useI18n } from 'vue-i18n'
5
- import type { Post } from 'valaxy/types'
5
+ import type { Post } from '../../types'
6
6
  import { sortByDate } from '../utils'
7
7
 
8
8
  export const usePostTitle = (post: Ref<Post>) => {
@@ -1,5 +1,5 @@
1
1
  import { TinyColor } from '@ctrl/tinycolor'
2
- import type { Post } from 'valaxy/types'
2
+ import type { Post } from '../../types'
3
3
  import { usePostList } from './post'
4
4
 
5
5
  export type Tags = Map<string, {
@@ -1,7 +1,7 @@
1
1
  import { useScriptTag } from '@vueuse/core'
2
2
  import { useHead } from '@vueuse/head'
3
- import { useConfig } from 'valaxy'
4
3
  import { computed } from 'vue'
4
+ import { useConfig } from '../..'
5
5
 
6
6
  /**
7
7
  * use MetingJS and Aplayer
package/client/config.ts CHANGED
@@ -5,6 +5,9 @@ import valaxyContext from '/@valaxyjs/context'
5
5
  import type { ComputedRef, InjectionKey, Ref } from 'vue'
6
6
  import { computed, inject, readonly, shallowRef } from 'vue'
7
7
  // import type { RouteMeta } from 'vue-router'
8
+ // fix build caused by pnpm
9
+ // This is likely not portable. A type annotation is necessary.
10
+ // https://github.com/microsoft/TypeScript/issues/42873
8
11
  import type { PageData, ValaxyConfig } from 'valaxy/types'
9
12
 
10
13
  /**
@@ -60,6 +63,17 @@ export function useConfig<ThemeConfig = any>() {
60
63
  return config!
61
64
  }
62
65
 
66
+ /**
67
+ * You can use like this: import { useThemeConfig } from 'valaxy-theme-xxx'
68
+ * if you want to: import { useThemeConfig } from 'valaxy'
69
+ * you need pass themeConfig by yourself
70
+ * @returns
71
+ */
72
+ export function useThemeConfig<T = Record<string, any>>() {
73
+ const config = useConfig<T>()
74
+ return computed(() => config!.value.themeConfig)
75
+ }
76
+
63
77
  export interface ValaxyData<T = any> {
64
78
  page: Ref<PageData>
65
79
  theme: Ref<T>
package/client/index.ts CHANGED
@@ -6,3 +6,5 @@ export * from './stores/app'
6
6
  export * from './utils'
7
7
 
8
8
  export * from './setups'
9
+
10
+ export * from './types'
@@ -1,5 +1,5 @@
1
1
  import NProgress from 'nprogress'
2
- import type { UserModule } from '~/types'
2
+ import type { UserModule } from '../types'
3
3
 
4
4
  export const install: UserModule = ({ isClient, router }) => {
5
5
  if (isClient) {
@@ -1,5 +1,5 @@
1
1
  import { createPinia } from 'pinia'
2
- import type { UserModule } from '~/types'
2
+ import type { UserModule } from '../types'
3
3
 
4
4
  // Setup Pinia
5
5
  // https://pinia.esm.dev/
@@ -11,11 +11,11 @@ import { createI18n } from 'vue-i18n'
11
11
  import { useStorage } from '@vueuse/core'
12
12
 
13
13
  import type { Router } from 'vue-router'
14
- import type { PageDataPayload } from 'valaxy/types'
14
+ import type { PageDataPayload } from '../../types'
15
15
  import { initConfig, valaxyConfigSymbol } from '../config'
16
16
  import { ensureSuffix } from '@antfu/utils'
17
17
 
18
- import type { UserModule } from '~/types'
18
+ import type { UserModule } from 'valaxy/client/types'
19
19
 
20
20
  // @ts-expect-error virtual
21
21
  import messages from '/@valaxyjs/locales'
@@ -0,0 +1,6 @@
1
+ ---
2
+ layout: <%=layout%>
3
+ title: <%=title%>
4
+ date: <%=date%>
5
+ ---
6
+
@@ -1,4 +1,4 @@
1
- @use "~/styles/mixins" as *;
1
+ @use "valaxy/client/styles/mixins" as *;
2
2
 
3
3
  @include mobile {
4
4
  .markdown-body {
@@ -1,4 +1,4 @@
1
- @use "~/styles/mixins" as *;
1
+ @use "valaxy/client/styles/mixins" as *;
2
2
 
3
3
  ::-webkit-scrollbar {
4
4
  width: 8px;
File without changes
@@ -1,5 +1,5 @@
1
1
  import dayjs from 'dayjs'
2
- import type { Post } from 'valaxy/types'
2
+ import type { Post } from '../../types'
3
3
 
4
4
  /**
5
5
  * use dayjs format date