valaxy 0.1.1 → 0.1.2

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 (75) hide show
  1. package/bin/valaxy.js +1 -1
  2. package/dist/chunk-5D7M5SQP.js +1 -0
  3. package/dist/{chunk-ESCOXVP6.mjs → chunk-CF6MGLH2.mjs} +42 -41
  4. package/dist/chunk-L22LX2G6.mjs +1 -0
  5. package/dist/chunk-W5MJCUNY.js +84 -0
  6. package/dist/config-d6527c8c.d.ts +174 -0
  7. package/dist/index.d.ts +309 -152
  8. package/dist/index.js +1 -1
  9. package/dist/index.mjs +1 -1
  10. package/dist/{cli.d.ts → node/cli.d.ts} +0 -0
  11. package/dist/node/cli.js +6 -0
  12. package/dist/node/cli.mjs +6 -0
  13. package/dist/node/index.d.ts +46 -0
  14. package/dist/node/index.js +1 -0
  15. package/dist/node/index.mjs +1 -0
  16. package/package.json +18 -17
  17. package/src/client/components/PostCard.vue +1 -1
  18. package/src/client/components/PostList.vue +3 -3
  19. package/src/client/components/ValaxyCopyright.vue +1 -1
  20. package/src/client/components/ValaxyFooter.vue +1 -1
  21. package/src/client/components/ValaxyOverlay.vue +4 -4
  22. package/src/client/components/ValaxyPagination.vue +14 -11
  23. package/src/client/components/ValaxyRightSidebar.vue +2 -2
  24. package/src/client/components/ValaxySidebar.vue +4 -8
  25. package/src/client/components/ValaxyToc.vue +11 -9
  26. package/src/client/composables/comments/waline.ts +8 -4
  27. package/src/client/composables/common.ts +2 -4
  28. package/src/client/composables/search/algolia.ts +2 -1
  29. package/src/client/composables/sidebar.ts +2 -2
  30. package/src/client/composables/tag.ts +1 -1
  31. package/src/client/composables/widgets/backToTop.ts +10 -4
  32. package/src/client/main.ts +1 -6
  33. package/src/client/modules/valaxy.ts +30 -13
  34. package/src/client/shims.d.ts +5 -0
  35. package/src/client/styles/common/button.scss +3 -5
  36. package/src/client/styles/common/hamburger.scss +2 -2
  37. package/src/client/styles/common/markdown.scss +4 -3
  38. package/src/client/styles/common/sidebar.scss +3 -3
  39. package/src/client/styles/common/transition.scss +2 -2
  40. package/src/client/styles/{css-vars/index.scss → css-vars.scss} +22 -8
  41. package/src/client/styles/global/helper.scss +2 -2
  42. package/src/client/styles/global/index.scss +1 -1
  43. package/src/client/styles/global/nprogress.scss +1 -1
  44. package/src/client/styles/global/reset.scss +1 -1
  45. package/src/client/styles/mixins/config.scss +1 -1
  46. package/src/client/styles/mixins/index.scss +1 -0
  47. package/src/client/styles/palette.scss +12 -7
  48. package/src/client/styles/vars.scss +1 -13
  49. package/src/client/styles/widgets/banner.scss +2 -2
  50. package/src/client/utils/index.ts +0 -2
  51. package/src/node/build.ts +20 -1
  52. package/src/node/cli.ts +17 -19
  53. package/src/node/markdown/index.ts +3 -1
  54. package/src/node/markdown/markdown-it-katex.ts +20 -10
  55. package/src/node/markdown/parseHeader.ts +4 -2
  56. package/src/node/options.ts +3 -1
  57. package/src/node/plugins/index.ts +53 -24
  58. package/src/node/plugins/markdown.ts +1 -1
  59. package/src/node/plugins/preset.ts +44 -8
  60. package/src/node/plugins/unocss.ts +12 -7
  61. package/src/node/server.ts +1 -1
  62. package/src/node/shims.d.ts +5 -0
  63. package/src/node/utils/cli.ts +0 -1
  64. package/src/node/vite.ts +7 -15
  65. package/tsup.config.ts +1 -0
  66. package/dist/build-VGAF4K5S.js +0 -1
  67. package/dist/build-Y5F7AZ2V.mjs +0 -1
  68. package/dist/chunk-5KQ3UFYI.js +0 -1
  69. package/dist/chunk-JWA76JND.mjs +0 -1
  70. package/dist/chunk-WYCH73X6.js +0 -83
  71. package/dist/cli.js +0 -6
  72. package/dist/cli.mjs +0 -6
  73. package/src/client/pages/about/index.md +0 -5
  74. package/src/client/styles/css-vars/dark.scss +0 -17
  75. package/src/client/styles/css-vars/light.scss +0 -9
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5KQ3UFYIjs = require('./chunk-5KQ3UFYI.js');var _chunkWYCH73X6js = require('./chunk-WYCH73X6.js');_chunkWYCH73X6js.d.call(void 0, );exports.createServer = _chunk5KQ3UFYIjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk5D7M5SQPjs = require('./chunk-5D7M5SQP.js');_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );var _config = require('@valaxyjs/config'); var _config2 = _interopRequireDefault(_config);var _vue = require('vue');function w(t){let e=JSON.parse(t);return import.meta.env.DEV?_vue.readonly.call(void 0, e):e}var U=Symbol("valaxy:config"),T= exports.valaxyConfigRef =_vue.shallowRef.call(void 0, w(_config2.default));import.meta.hot&&import.meta.hot.accept("/@valaxyjs/config",t=>{T.value=w(t.default)});function yt(){return _vue.computed.call(void 0, ()=>T.value)}function g(){let t=_vue.inject.call(void 0, U);if(!t)throw new Error("[Valaxy] config not properly injected in qpp");return t}function b(){let t=g();return _vue.computed.call(void 0, ()=>t.value.themeConfig)}_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );var _vuerouter = require('vue-router');_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );function vt(t,e){return Math.random()*(e-t)+t}function q(t,e){let o=document.createElement("div");o.className=e,t.parentNode.insertBefore(o,t),t.parentNode.removeChild(t),o.appendChild(t)}var Ct=(t=document)=>{t.querySelectorAll("table").forEach(e=>{let o=document.createElement("div");o.className="table-container",q(e,"table-container")})};_chunk5D7M5SQPjs.f.call(void 0, );var _dayjs = require('dayjs'); var _dayjs2 = _interopRequireDefault(_dayjs);function bt(t,e="YYYY-MM-DD"){return _dayjs2.default.call(void 0, t).format(e)}function y(t,e=!0){return t.sort((o,s)=>{let i=+new Date(o.date||""),n=+new Date(s.date||"");return e?n-i:i-n})}function h(t={}){let e=_vuerouter.useRouter.call(void 0, );return _vue.computed.call(void 0, ()=>{let o=e.getRoutes().filter(n=>n.path.startsWith("/posts")&&n.meta.frontmatter&&n.meta.frontmatter.date).filter(n=>!n.path.endsWith(".html")).filter(n=>!t.type||n.meta.frontmatter.type===t.type).map(n=>Object.assign({path:n.path,excerpt:n.meta.excerpt},n.meta.frontmatter)),s=y(o.filter(n=>n.top)).sort((n,a)=>a.top-n.top),i=y(o.filter(n=>!n.top));return s.concat(i)})}function Ht(t){let e=_vuerouter.useRoute.call(void 0, ),o=_vue.computed.call(void 0, ()=>t||e.path),s=h(),i=_vue.computed.call(void 0, ()=>{let c=-1;return s.value.find((u,m)=>u.path===o.value?(c=m,!0):!1),c}),n=_vue.computed.call(void 0, ()=>i.value-1>=0?s.value[i.value-1]:null),a=_vue.computed.call(void 0, ()=>i.value+1<s.value.length?s.value[i.value+1]:null);return[n,a]}function Dt(t){if(!t)return{color:"",icon:"",styles:{}};let e=b();t in e.value.types||(t="link");let o=e.value.types[t].color,s=e.value.types[t].icon,i=_vue.computed.call(void 0, ()=>({"--card-c-primary":t&&o}));return{color:o,icon:s,styles:i}}function Ut(){var s;let t=h(),e={total:t.value.length,children:new Map([["Uncategorized",{total:0,posts:[]}]])},o=e.children.get("Uncategorized");return t.value.forEach(i=>{if(i.categories)if(Array.isArray(i.categories)){let n=i.categories.length,a=e;i.categories.forEach((c,u)=>{var m,d,p;if(u===n-1)if(a.children.has(c)){let l=a.children.get(c);l.posts&&(l.total+=1,l.posts.push(i))}else(m=a.children)==null||m.set(c,{total:1,posts:[i]});else if((d=a.children)!=null&&d.has(c)){let l=a.children.get(c);l.total+=1,a=l}else{let l={total:1,children:new Map};(p=a.children)==null||p.set(c,l),a=l}})}else{let n=i.categories;if(e.children.has(n)){let a=e.children.get(n);a.total+=1,a.posts.push(i)}else e.children.set(n,{total:1,posts:[i]})}else o.total+=1,o.posts.push(i)}),o.total===0&&((s=e.children)==null||s.delete("Uncategorized")),e}_chunk5D7M5SQPjs.f.call(void 0, );var _tinycolor = require('@ctrl/tinycolor');function Ot(){let t=W(),e=new (0, _tinycolor.TinyColor)("#999999"),o=new (0, _tinycolor.TinyColor)(getComputedStyle(document.documentElement).getPropertyValue("--va-c-primary"));return{tags:t,getTagStyle:i=>{let n=Array.from(t).map(([d,p])=>p.count),a=Math.max(...n),c=Math.min(...n),u=a-c,m=(i-c)/u;return{"--yun-tag-color":e.mix(o,m*100).toString(),fontSize:`${m*36+12}px`}}}}function W(){let t=h(),e=new Map;return t.value.forEach(o=>{if(o.tags){let s;typeof o.tags=="string"?s=[o.tags]:s=o.tags,s.forEach(i=>{if(e.has(i)){let n=e.get(i);e.set(i,_chunk5D7M5SQPjs.b.call(void 0, _chunk5D7M5SQPjs.a.call(void 0, {},n),{count:n.count+1}))}else e.set(i,{count:1})})}}),e}_chunk5D7M5SQPjs.f.call(void 0, );var _core = require('@vueuse/core');function Ft(){let t=_vuerouter.useRoute.call(void 0, );return _vue.computed.call(void 0, ()=>t.meta.frontmatter)}function $t(){let t=g(),e=_vuerouter.useRoute.call(void 0, );return _vue.computed.call(void 0, ()=>(t.value.url||_core.isClient&&window.location.origin)+e.path)}_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );var _head = require('@vueuse/head');function Gt(){_head.useHead.call(void 0, {link:[{rel:"stylesheet",href:"https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css"}]})}_chunk5D7M5SQPjs.f.call(void 0, );function oe(t){let e=_vue.ref.call(void 0, !1),{top:o}=_core.useElementBounding.call(void 0, t);return _core.useIntersectionObserver.call(void 0, t,([{isIntersecting:i}])=>{e.value=i}),{show:()=>{e.value||window.scrollTo(0,o.value)}}}_chunk5D7M5SQPjs.f.call(void 0, );var _=_core.useDark.call(void 0, ),se= exports.toggleDark =_core.useToggle.call(void 0, _);_chunk5D7M5SQPjs.f.call(void 0, );function le(t){let e=_vuerouter.useRoute.call(void 0, );return _vue.computed.call(void 0, ()=>e.meta.layout===t)}_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );function fe(){_head.useHead.call(void 0, {link:[{rel:"stylesheet",href:"https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css"}]}),_core.useScriptTag.call(void 0, "https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js",()=>{_core.useScriptTag.call(void 0, "https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js")})}_chunk5D7M5SQPjs.f.call(void 0, );function ye(t={offset:100}){if(!_core.isClient)return{percentage:_vue.ref.call(void 0, 0),show:_vue.ref.call(void 0, !1)};let{y:e}=_core.useWindowScroll.call(void 0, ),o=_vue.computed.call(void 0, ()=>e.value/(document.body.scrollHeight-window.innerHeight)),s=_vue.computed.call(void 0, ()=>e.value>t.offset);return{percentage:o,show:s}}_chunk5D7M5SQPjs.f.call(void 0, );function Ce(){_head.useHead.call(void 0, {script:[{src:"https://static.codepen.io/assets/embed/ei.js",async:!0}]})}_chunk5D7M5SQPjs.f.call(void 0, );function Ae(){let t=null,e=null,o=ct(s,200);function s(){let a=st(),c=it(a);for(let u=0;u<c.length;u++){let m=c[u],d=c[u+1],[p,l]=at(u,m,d);if(p){history.replaceState(null,document.title,l||" "),i(l);return}}}function i(a){if(n(e),n(t),e=document.querySelector(`.va-toc a[href="${a}"]`),!e)return;e.classList.add("active");let c=e.closest(".right-sidebar-container > ul > li");c&&c!==e.parentElement?(t=c.querySelector("a"),t&&t.classList.add("active")):t=null}function n(a){a&&a.classList.remove("active")}_vue.onMounted.call(void 0, ()=>{s(),window.addEventListener("scroll",o)}),_vue.onUpdated.call(void 0, ()=>{i(decodeURIComponent(location.hash))}),_vue.onUnmounted.call(void 0, ()=>{window.removeEventListener("scroll",o)})}function st(){return[].slice.call(document.querySelectorAll(".va-toc a.toc-link-item"))}function it(t){return[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(o=>o.hash===e.hash))}function S(t){return t.parentElement.offsetTop-50}function at(t,e,o){let s=window.scrollY;return t===0&&s===0?[!0,null]:s<S(e)?[!1,null]:!o||s<S(o)?[!0,decodeURIComponent(e.hash)]:[!1,null]}function ct(t,e){let o,s=!1;return()=>{o&&clearTimeout(o),s?o=setTimeout(t,e):(t(),s=!0,setTimeout(()=>{s=!1},e))}}_chunk5D7M5SQPjs.f.call(void 0, );_chunk5D7M5SQPjs.f.call(void 0, );var _vuei18n = require('vue-i18n');function De(t={}){let e=_vuerouter.useRoute.call(void 0, ),{locale:o}=_vuei18n.useI18n.call(void 0, ),s;function i(n={}){if(!_core.isClient)return;let a={el:".comment #waline",lang:o.value,dark:"html.dark",emoji:["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/bilibili","https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/qq","https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],path:e.path},c=Object.assign(a,n);return window.Waline(c)}_core.useScriptTag.call(void 0, "//cdn.jsdelivr.net/npm/@waline/client",()=>{s=i(t)}),_vue.watch.call(void 0, ()=>e.path,n=>{!s||s.update({path:n})}),_vue.watch.call(void 0, o,n=>{!s||s.update({lang:n})}),_vue.onUnmounted.call(void 0, ()=>{!s||s.destroy()})}exports.defaultValaxyConfig = _chunk5D7M5SQPjs.g; exports.formatDate = bt; exports.initConfig = yt; exports.isDark = _; exports.random = vt; exports.sortByDate = y; exports.toggleDark = se; exports.useActiveSidebarLinks = Ae; exports.useAplayer = fe; exports.useBackToTop = ye; exports.useCategory = Ut; exports.useCodePen = Ce; exports.useConfig = g; exports.useFrontmatter = Ft; exports.useFullUrl = $t; exports.useInvisibleElement = oe; exports.useKatex = Gt; exports.useLayout = le; exports.usePostList = h; exports.usePostProperty = Dt; exports.usePrevNext = Ht; exports.useTag = W; exports.useTags = Ot; exports.useThemeConfig = b; exports.useWaline = De; exports.valaxyConfigRef = T; exports.valaxyConfigSymbol = U; exports.wrap = q; exports.wrapTable = Ct;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{a as r}from"./chunk-JWA76JND.mjs";import{d as o}from"./chunk-ESCOXVP6.mjs";o();export{r as createServer};
1
+ import{a as x,b as v,f as r,g as dt}from"./chunk-L22LX2G6.mjs";r();r();r();import H from"@valaxyjs/config";import{computed as C,inject as D,readonly as R,shallowRef as V}from"vue";function w(t){let e=JSON.parse(t);return import.meta.env.DEV?R(e):e}var U=Symbol("valaxy:config"),T=V(w(H));import.meta.hot&&import.meta.hot.accept("/@valaxyjs/config",t=>{T.value=w(t.default)});function yt(){return C(()=>T.value)}function g(){let t=D(U);if(!t)throw new Error("[Valaxy] config not properly injected in qpp");return t}function b(){let t=g();return C(()=>t.value.themeConfig)}r();r();r();import{computed as f}from"vue";import{useRoute as N,useRouter as O}from"vue-router";r();r();function vt(t,e){return Math.random()*(e-t)+t}function q(t,e){let o=document.createElement("div");o.className=e,t.parentNode.insertBefore(o,t),t.parentNode.removeChild(t),o.appendChild(t)}var Ct=(t=document)=>{t.querySelectorAll("table").forEach(e=>{let o=document.createElement("div");o.className="table-container",q(e,"table-container")})};r();import I from"dayjs";function bt(t,e="YYYY-MM-DD"){return I(t).format(e)}function y(t,e=!0){return t.sort((o,s)=>{let i=+new Date(o.date||""),n=+new Date(s.date||"");return e?n-i:i-n})}function h(t={}){let e=O();return f(()=>{let o=e.getRoutes().filter(n=>n.path.startsWith("/posts")&&n.meta.frontmatter&&n.meta.frontmatter.date).filter(n=>!n.path.endsWith(".html")).filter(n=>!t.type||n.meta.frontmatter.type===t.type).map(n=>Object.assign({path:n.path,excerpt:n.meta.excerpt},n.meta.frontmatter)),s=y(o.filter(n=>n.top)).sort((n,a)=>a.top-n.top),i=y(o.filter(n=>!n.top));return s.concat(i)})}function Ht(t){let e=N(),o=f(()=>t||e.path),s=h(),i=f(()=>{let c=-1;return s.value.find((u,m)=>u.path===o.value?(c=m,!0):!1),c}),n=f(()=>i.value-1>=0?s.value[i.value-1]:null),a=f(()=>i.value+1<s.value.length?s.value[i.value+1]:null);return[n,a]}function Dt(t){if(!t)return{color:"",icon:"",styles:{}};let e=b();t in e.value.types||(t="link");let o=e.value.types[t].color,s=e.value.types[t].icon,i=f(()=>({"--card-c-primary":t&&o}));return{color:o,icon:s,styles:i}}function Ut(){var s;let t=h(),e={total:t.value.length,children:new Map([["Uncategorized",{total:0,posts:[]}]])},o=e.children.get("Uncategorized");return t.value.forEach(i=>{if(i.categories)if(Array.isArray(i.categories)){let n=i.categories.length,a=e;i.categories.forEach((c,u)=>{var m,d,p;if(u===n-1)if(a.children.has(c)){let l=a.children.get(c);l.posts&&(l.total+=1,l.posts.push(i))}else(m=a.children)==null||m.set(c,{total:1,posts:[i]});else if((d=a.children)!=null&&d.has(c)){let l=a.children.get(c);l.total+=1,a=l}else{let l={total:1,children:new Map};(p=a.children)==null||p.set(c,l),a=l}})}else{let n=i.categories;if(e.children.has(n)){let a=e.children.get(n);a.total+=1,a.posts.push(i)}else e.children.set(n,{total:1,posts:[i]})}else o.total+=1,o.posts.push(i)}),o.total===0&&((s=e.children)==null||s.delete("Uncategorized")),e}r();import{TinyColor as L}from"@ctrl/tinycolor";function Ot(){let t=W(),e=new L("#999999"),o=new L(getComputedStyle(document.documentElement).getPropertyValue("--va-c-primary"));return{tags:t,getTagStyle:i=>{let n=Array.from(t).map(([d,p])=>p.count),a=Math.max(...n),c=Math.min(...n),u=a-c,m=(i-c)/u;return{"--yun-tag-color":e.mix(o,m*100).toString(),fontSize:`${m*36+12}px`}}}}function W(){let t=h(),e=new Map;return t.value.forEach(o=>{if(o.tags){let s;typeof o.tags=="string"?s=[o.tags]:s=o.tags,s.forEach(i=>{if(e.has(i)){let n=e.get(i);e.set(i,v(x({},n),{count:n.count+1}))}else e.set(i,{count:1})})}}),e}r();import{useRoute as E}from"vue-router";import{computed as P}from"vue";import{isClient as z}from"@vueuse/core";function Ft(){let t=E();return P(()=>t.meta.frontmatter)}function $t(){let t=g(),e=E();return P(()=>(t.value.url||z&&window.location.origin)+e.path)}r();r();import{useHead as B}from"@vueuse/head";function Gt(){B({link:[{rel:"stylesheet",href:"https://cdn.jsdelivr.net/npm/katex@latest/dist/katex.min.css"}]})}r();import{useElementBounding as Y,useIntersectionObserver as K}from"@vueuse/core";import{ref as F}from"vue";function oe(t){let e=F(!1),{top:o}=Y(t);return K(t,([{isIntersecting:i}])=>{e.value=i}),{show:()=>{e.value||window.scrollTo(0,o.value)}}}r();import{useDark as $,useToggle as J}from"@vueuse/core";var _=$(),se=J(_);r();import{computed as G}from"vue";import{useRoute as Q}from"vue-router";function le(t){let e=Q();return G(()=>e.meta.layout===t)}r();r();import{useScriptTag as A}from"@vueuse/core";import{useHead as X}from"@vueuse/head";function fe(){X({link:[{rel:"stylesheet",href:"https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.css"}]}),A("https://cdn.jsdelivr.net/npm/aplayer/dist/APlayer.min.js",()=>{A("https://cdn.jsdelivr.net/npm/meting@2/dist/Meting.min.js")})}r();import{isClient as Z,useWindowScroll as tt}from"@vueuse/core";import{computed as M,ref as j}from"vue";function ye(t={offset:100}){if(!Z)return{percentage:j(0),show:j(!1)};let{y:e}=tt(),o=M(()=>e.value/(document.body.scrollHeight-window.innerHeight)),s=M(()=>e.value>t.offset);return{percentage:o,show:s}}r();import{useHead as et}from"@vueuse/head";function Ce(){et({script:[{src:"https://static.codepen.io/assets/embed/ei.js",async:!0}]})}r();import{onMounted as ot,onUnmounted as rt,onUpdated as nt}from"vue";function Ae(){let t=null,e=null,o=ct(s,200);function s(){let a=st(),c=it(a);for(let u=0;u<c.length;u++){let m=c[u],d=c[u+1],[p,l]=at(u,m,d);if(p){history.replaceState(null,document.title,l||" "),i(l);return}}}function i(a){if(n(e),n(t),e=document.querySelector(`.va-toc a[href="${a}"]`),!e)return;e.classList.add("active");let c=e.closest(".right-sidebar-container > ul > li");c&&c!==e.parentElement?(t=c.querySelector("a"),t&&t.classList.add("active")):t=null}function n(a){a&&a.classList.remove("active")}ot(()=>{s(),window.addEventListener("scroll",o)}),nt(()=>{i(decodeURIComponent(location.hash))}),rt(()=>{window.removeEventListener("scroll",o)})}function st(){return[].slice.call(document.querySelectorAll(".va-toc a.toc-link-item"))}function it(t){return[].slice.call(document.querySelectorAll(".header-anchor")).filter(e=>t.some(o=>o.hash===e.hash))}function S(t){return t.parentElement.offsetTop-50}function at(t,e,o){let s=window.scrollY;return t===0&&s===0?[!0,null]:s<S(e)?[!1,null]:!o||s<S(o)?[!0,decodeURIComponent(e.hash)]:[!1,null]}function ct(t,e){let o,s=!1;return()=>{o&&clearTimeout(o),s?o=setTimeout(t,e):(t(),s=!0,setTimeout(()=>{s=!1},e))}}r();r();import{isClient as lt,useScriptTag as ut}from"@vueuse/core";import{onUnmounted as mt,watch as k}from"vue";import{useI18n as pt}from"vue-i18n";import{useRoute as ft}from"vue-router";function De(t={}){let e=ft(),{locale:o}=pt(),s;function i(n={}){if(!lt)return;let a={el:".comment #waline",lang:o.value,dark:"html.dark",emoji:["https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/bilibili","https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/qq","https://cdn.jsdelivr.net/gh/walinejs/emojis@1.0.0/weibo"],path:e.path},c=Object.assign(a,n);return window.Waline(c)}ut("//cdn.jsdelivr.net/npm/@waline/client",()=>{s=i(t)}),k(()=>e.path,n=>{!s||s.update({path:n})}),k(o,n=>{!s||s.update({lang:n})}),mt(()=>{!s||s.destroy()})}export{dt as defaultValaxyConfig,bt as formatDate,yt as initConfig,_ as isDark,vt as random,y as sortByDate,se as toggleDark,Ae as useActiveSidebarLinks,fe as useAplayer,ye as useBackToTop,Ut as useCategory,Ce as useCodePen,g as useConfig,Ft as useFrontmatter,$t as useFullUrl,oe as useInvisibleElement,Gt as useKatex,le as useLayout,h as usePostList,Dt as usePostProperty,Ht as usePrevNext,W as useTag,Ot as useTags,b as useThemeConfig,De as useWaline,T as valaxyConfigRef,U as valaxyConfigSymbol,q as wrap,Ct as wrapTable};
File without changes
@@ -0,0 +1,6 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkW5MJCUNYjs = require('../chunk-W5MJCUNY.js');var _chunk5D7M5SQPjs = require('../chunk-5D7M5SQP.js');var X=_chunk5D7M5SQPjs.d.call(void 0, (tt,Q)=>{_chunk5D7M5SQPjs.f.call(void 0, );var b=1e3,w=b*60,F=w*60,h=F*24,be=h*7,we=h*365.25;Q.exports=function(e,o){o=o||{};var t=typeof e;if(t==="string"&&e.length>0)return Fe(e);if(t==="number"&&isFinite(e))return o.long?Oe(e):xe(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Fe(e){if(e=String(e),!(e.length>100)){var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!!o){var t=parseFloat(o[1]),r=(o[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return t*we;case"weeks":case"week":case"w":return t*be;case"days":case"day":case"d":return t*h;case"hours":case"hour":case"hrs":case"hr":case"h":return t*F;case"minutes":case"minute":case"mins":case"min":case"m":return t*w;case"seconds":case"second":case"secs":case"sec":case"s":return t*b;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function xe(e){var o=Math.abs(e);return o>=h?Math.round(e/h)+"d":o>=F?Math.round(e/F)+"h":o>=w?Math.round(e/w)+"m":o>=b?Math.round(e/b)+"s":e+"ms"}function Oe(e){var o=Math.abs(e);return o>=h?j(e,o,h,"day"):o>=F?j(e,o,F,"hour"):o>=w?j(e,o,w,"minute"):o>=b?j(e,o,b,"second"):e+" ms"}function j(e,o,t,r){var s=o>=t*1.5;return Math.round(e/t)+" "+r+(s?"s":"")}});var M=_chunk5D7M5SQPjs.d.call(void 0, (ot,ee)=>{_chunk5D7M5SQPjs.f.call(void 0, );function $e(e){t.debug=t,t.default=t,t.coerce=y,t.disable=c,t.enable=s,t.enabled=f,t.humanize=X(),t.destroy=de,Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={};function o(n){let i=0;for(let l=0;l<n.length;l++)i=(i<<5)-i+n.charCodeAt(l),i|=0;return t.colors[Math.abs(i)%t.colors.length]}t.selectColor=o;function t(n){let i,l=null,O,J;function C(...m){if(!C.enabled)return;let v=C,$=Number(new Date),me=$-(i||$);v.diff=me,v.prev=i,v.curr=$,i=$,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let k=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(B,ge)=>{if(B==="%%")return"%";k++;let Y=t.formatters[ge];if(typeof Y=="function"){let Ce=m[k];B=Y.call(v,Ce),m.splice(k,1),k--}return B}),t.formatArgs.call(v,m),(v.log||t.log).apply(v,m)}return C.namespace=n,C.useColors=t.useColors(),C.color=t.selectColor(n),C.extend=r,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>l!==null?l:(O!==t.namespaces&&(O=t.namespaces,J=t.enabled(n)),J),set:m=>{l=m}}),typeof t.init=="function"&&t.init(C),C}function r(n,i){let l=t(this.namespace+(typeof i>"u"?":":i)+n);return l.log=this.log,l}function s(n){t.save(n),t.namespaces=n,t.names=[],t.skips=[];let i,l=(typeof n=="string"?n:"").split(/[\s,]+/),O=l.length;for(i=0;i<O;i++)!l[i]||(n=l[i].replace(/\*/g,".*?"),n[0]==="-"?t.skips.push(new RegExp("^"+n.slice(1)+"$")):t.names.push(new RegExp("^"+n+"$")))}function c(){let n=[...t.names.map(g),...t.skips.map(g).map(i=>"-"+i)].join(",");return t.enable(""),n}function f(n){if(n[n.length-1]==="*")return!0;let i,l;for(i=0,l=t.skips.length;i<l;i++)if(t.skips[i].test(n))return!1;for(i=0,l=t.names.length;i<l;i++)if(t.names[i].test(n))return!0;return!1}function g(n){return n.toString().substring(2,n.toString().length-2).replace(/\.\*\?$/,"*")}function y(n){return n instanceof Error?n.stack||n.message:n}function de(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}ee.exports=$e});var te=_chunk5D7M5SQPjs.d.call(void 0, (d,S)=>{_chunk5D7M5SQPjs.f.call(void 0, );d.formatArgs=Re;d.save=je;d.load=Se;d.useColors=ke;d.storage=Ie();d.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();d.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ke(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Re(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+S.exports.humanize(this.diff),!this.useColors)return;let o="color: "+this.color;e.splice(1,0,o,"color: inherit");let t=0,r=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(t++,s==="%c"&&(r=t))}),e.splice(r,0,o)}d.log=console.debug||console.log||(()=>{});function je(e){try{e?d.storage.setItem("debug",e):d.storage.removeItem("debug")}catch (e2){}}function Se(){let e;try{e=d.storage.getItem("debug")}catch (e3){}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Ie(){try{return localStorage}catch (e4){}}S.exports=M()(d);var{formatters:Ve}=S.exports;Ve.j=function(e){try{return JSON.stringify(e)}catch(o){return"[UnexpectedJSONParseError]: "+o.message}}});var re=_chunk5D7M5SQPjs.d.call(void 0, (p,V)=>{_chunk5D7M5SQPjs.f.call(void 0, );var Ee=_chunk5D7M5SQPjs.c.call(void 0, "tty"),I=_chunk5D7M5SQPjs.c.call(void 0, "util");p.init=qe;p.log=Ne;p.formatArgs=De;p.save=Le;p.load=Me;p.useColors=Ae;p.destroy=I.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");p.colors=[6,2,3,4,5,1];try{let e=_chunkW5MJCUNYjs.a.call(void 0, );e&&(e.stderr||e).level>=2&&(p.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch (e5){}p.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,o)=>{let t=o.substring(6).toLowerCase().replace(/_([a-z])/g,(s,c)=>c.toUpperCase()),r=process.env[o];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),e[t]=r,e},{});function Ae(){return"colors"in p.inspectOpts?Boolean(p.inspectOpts.colors):Ee.isatty(process.stderr.fd)}function De(e){let{namespace:o,useColors:t}=this;if(t){let r=this.color,s="\x1B[3"+(r<8?r:"8;5;"+r),c=` ${s};1m${o} \x1B[0m`;e[0]=c+e[0].split(`
2
+ `).join(`
3
+ `+c),e.push(s+"m+"+V.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=Be()+o+" "+e[0]}function Be(){return p.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ne(...e){return process.stderr.write(I.format(...e)+`
4
+ `)}function Le(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function Me(){return process.env.DEBUG}function qe(e){e.inspectOpts={};let o=Object.keys(p.inspectOpts);for(let t=0;t<o.length;t++)e.inspectOpts[o[t]]=p.inspectOpts[o[t]]}V.exports=M()(p);var{formatters:oe}=V.exports;oe.o=function(e){return this.inspectOpts.colors=this.useColors,I.inspect(e,this.inspectOpts).split(`
5
+ `).map(o=>o.trim()).join(" ")};oe.O=function(e){return this.inspectOpts.colors=this.useColors,I.inspect(e,this.inspectOpts)}});var ne=_chunk5D7M5SQPjs.d.call(void 0, (rt,q)=>{_chunk5D7M5SQPjs.f.call(void 0, );typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?q.exports=te():q.exports=re()});_chunk5D7M5SQPjs.f.call(void 0, );var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);var _path = require('path'); var _path2 = _interopRequireDefault(_path);var _child_process = require('child_process');var _yargs = require('yargs'); var _yargs2 = _interopRequireDefault(_yargs);var _open = require('open'); var _open2 = _interopRequireDefault(_open);var _consola = require('consola'); var _consola2 = _interopRequireDefault(_consola);var R="0.1.2";_chunk5D7M5SQPjs.f.call(void 0, );var se=_chunk5D7M5SQPjs.e.call(void 0, ne());var Pe=(0,se.default)("valaxy:options");function Ue(e){return e.startsWith("/")||/^\.\.?[\/\\]/.test(e)}function _e(e,o){return e?Ue(e)?_path.resolve.call(void 0, _path.dirname.call(void 0, o),e):_chunkW5MJCUNYjs.c.call(void 0, `valaxy-theme-${e}/package.json`):""}async function P(e,o="dev"){let t=_path.resolve.call(void 0, _chunkW5MJCUNYjs.c.call(void 0, "valaxy/package.json"),"src/client"),r=_path.resolve.call(void 0, e.userRoot||process.cwd()),{config:s,configFile:c,theme:f}=await _chunkW5MJCUNYjs.e.call(void 0, e),g=_e(f,r),y={mode:o,clientRoot:t,userRoot:r,themeRoot:g,theme:f,config:s,configFile:c||""};return Pe(y),y}_chunk5D7M5SQPjs.f.call(void 0, );var a=_chunk5D7M5SQPjs.e.call(void 0, _chunkW5MJCUNYjs.b.call(void 0, ));var _readline = require('readline'); var ie = _interopRequireWildcard(_readline);var _os = require('os'); var _os2 = _interopRequireDefault(_os);var A;function U(e,o,t){console.log(),console.log(` ${a.default.bold("\u{1F30C} Valaxy")} ${a.default.blue(`v${R}`)}`),console.log(),console.log(`${a.default.dim(" \u{1FA90} theme ")} > ${e.theme?a.default.green(e.theme):a.default.gray("none")}`),console.log(` ${a.default.dim("\u{1F4C1}")} ${a.default.dim(_path2.default.resolve(e.userRoot))}`),o&&(console.log(),console.log(`${a.default.dim(" Preview ")} > ${a.default.cyan(`http://localhost:${a.default.bold(o)}/`)}`),t&&Object.values(_os2.default.networkInterfaces()).forEach(r=>(r||[]).filter(s=>s.family==="IPv4"&&!s.address.includes("127.0.0.1")).forEach(({address:s})=>{console.log(`${a.default.dim(" Network ")} > ${a.default.blue(`http://${s}:${a.default.bold(o)}/`)}`)})),console.log(),console.log(`${a.default.dim(" shortcuts ")} > ${a.default.underline("r")}${a.default.dim("estart | ")}${a.default.underline("o")}${a.default.dim("pen | ")}${a.default.underline("e")}${a.default.dim("dit")}`)),console.log()}async function D(e,o){A&&await A.close();try{let t=_chunkW5MJCUNYjs.d.call(void 0, e.config).concat(e.config.unocss.safelist||[]);A=await _chunkW5MJCUNYjs.g.call(void 0, e,o,{onConfigReload(r,s){let c=!1;r.social.some((g,y)=>!t.includes(g.icon)&&g.icon!==s.social[y].icon)&&(_consola2.default.info("Find new icon, reload server..."),_consola2.default.info(`If you do not want to reload it, write icon name in ${a.default.green("config.unocss.safelist")}.`),_consola2.default.info('For example: ["i-ri-cloud-line"]'),console.log(),c=!0),c&&D(e,o)}}),await A.listen()}catch(t){_consola2.default.error(`failed to start server. error:
6
+ `),console.error(t),process.exit(1)}}function ae(e){process.stdin.resume(),process.stdin.setEncoding("utf8"),ie.emitKeypressEvents(process.stdin),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.on("keypress",(o,t)=>{if(t.ctrl&&t.name==="c")process.exit();else{let[r]=e.filter(s=>s.name===o);if(r)try{r.action()}catch(s){console.error(`Failed to execute shortcut ${r.fullName}`,s)}}})}_chunk5D7M5SQPjs.f.call(void 0, );var _vite = require('vite');var _node = require('vite-ssg/node');var _vitessgsitemap = require('vite-ssg-sitemap'); var _vitessgsitemap2 = _interopRequireDefault(_vitessgsitemap);async function ce(e,o={}){let t=_vite.mergeConfig.call(void 0, await _chunkW5MJCUNYjs.f.call(void 0, e),o);await _vite.build.call(void 0, t)}async function ue(e,o={}){let t=_vite.mergeConfig.call(void 0, await _chunkW5MJCUNYjs.f.call(void 0, e),o);t.ssgOptions={script:"async",formatting:"minify",onFinished(){_vitessgsitemap2.default.call(void 0, )}},await _node.build.call(void 0, {},t)}var z=_yargs2.default.scriptName("valaxy").usage("$0 [args]").version(R).showHelpOnFail(!1).alias("h","help").alias("v","version");z.command("* [root]","Start a local server for Valaxy",e=>fe(e).option("port",{alias:"p",type:"number",describe:"port"}).option("open",{alias:"o",default:!1,type:"boolean",describe:"open in browser"}).option("remote",{default:!0,type:"boolean",describe:"listen public host and enable remote control"}).option("log",{default:"warn",type:"string",choices:["error","warn","info","silent"],describe:"log level"}).strict().help(),async({root:e,port:o,open:t,remote:r,log:s})=>{_fs2.default.existsSync(_path2.default.resolve(e,"pages"))||process.exit(0);let c=o||4859,f=await P({userRoot:e}),g={server:{watch:{ignored:[`!${f.themeRoot}/**`,`${f.userRoot}/**.md`]},port:c,strictPort:!0,open:t,host:r?"0.0.0.0":"localhost"},logLevel:s};await D(f,g),U(f,c,r),ae([{name:"r",fullName:"restart",action(){D(f,g)}},{name:"o",fullName:"open",action(){_open2.default.call(void 0, `http://localhost:${c}`)}},{name:"e",fullName:"edit",action(){_child_process.exec.call(void 0, `code "${e}"`)}}])});z.command("build [root]","build your blog to static content",e=>fe(e).option("ssg",{alias:"s",type:"boolean",default:!1,describe:"static site generate"}).option("output",{alias:"o",type:"string",default:"dist",describe:"output dir"}).option("base",{type:"string",default:"/",describe:"output base"}).strict().help(),async({ssg:e,root:o,base:t,output:r})=>{let s=await P({userRoot:o},"build");U(s);let c={base:t,build:{emptyOutDir:!0,outDir:_path2.default.resolve(s.userRoot,r)}};if(e){_consola2.default.info("use vite-ssg to do ssg build...");try{await ue(s,c)}catch(f){_consola2.default.error("[vite-ssg] An internal error occurred."),console.log(f)}}else _consola2.default.info("use vite do spa build..."),await ce(s,c)});function fe(e){return e.positional("root",{default:".",type:"string",describe:"root folder of your source files"})}function It(){z.help().parse()}exports.run = It;
@@ -0,0 +1,6 @@
1
+ import{a as ye,b as ve,c as N,d as W,e as Z,f as L,g as K}from"../chunk-CF6MGLH2.mjs";import{c as G,d as x,e as H,f as u}from"../chunk-L22LX2G6.mjs";var X=x((tt,Q)=>{u();var b=1e3,w=b*60,F=w*60,h=F*24,be=h*7,we=h*365.25;Q.exports=function(e,o){o=o||{};var t=typeof e;if(t==="string"&&e.length>0)return Fe(e);if(t==="number"&&isFinite(e))return o.long?Oe(e):xe(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Fe(e){if(e=String(e),!(e.length>100)){var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!!o){var t=parseFloat(o[1]),r=(o[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return t*we;case"weeks":case"week":case"w":return t*be;case"days":case"day":case"d":return t*h;case"hours":case"hour":case"hrs":case"hr":case"h":return t*F;case"minutes":case"minute":case"mins":case"min":case"m":return t*w;case"seconds":case"second":case"secs":case"sec":case"s":return t*b;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function xe(e){var o=Math.abs(e);return o>=h?Math.round(e/h)+"d":o>=F?Math.round(e/F)+"h":o>=w?Math.round(e/w)+"m":o>=b?Math.round(e/b)+"s":e+"ms"}function Oe(e){var o=Math.abs(e);return o>=h?j(e,o,h,"day"):o>=F?j(e,o,F,"hour"):o>=w?j(e,o,w,"minute"):o>=b?j(e,o,b,"second"):e+" ms"}function j(e,o,t,r){var s=o>=t*1.5;return Math.round(e/t)+" "+r+(s?"s":"")}});var M=x((ot,ee)=>{u();function $e(e){t.debug=t,t.default=t,t.coerce=y,t.disable=c,t.enable=s,t.enabled=f,t.humanize=X(),t.destroy=de,Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={};function o(n){let i=0;for(let l=0;l<n.length;l++)i=(i<<5)-i+n.charCodeAt(l),i|=0;return t.colors[Math.abs(i)%t.colors.length]}t.selectColor=o;function t(n){let i,l=null,O,J;function C(...m){if(!C.enabled)return;let v=C,$=Number(new Date),me=$-(i||$);v.diff=me,v.prev=i,v.curr=$,i=$,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let k=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(B,ge)=>{if(B==="%%")return"%";k++;let Y=t.formatters[ge];if(typeof Y=="function"){let Ce=m[k];B=Y.call(v,Ce),m.splice(k,1),k--}return B}),t.formatArgs.call(v,m),(v.log||t.log).apply(v,m)}return C.namespace=n,C.useColors=t.useColors(),C.color=t.selectColor(n),C.extend=r,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>l!==null?l:(O!==t.namespaces&&(O=t.namespaces,J=t.enabled(n)),J),set:m=>{l=m}}),typeof t.init=="function"&&t.init(C),C}function r(n,i){let l=t(this.namespace+(typeof i>"u"?":":i)+n);return l.log=this.log,l}function s(n){t.save(n),t.namespaces=n,t.names=[],t.skips=[];let i,l=(typeof n=="string"?n:"").split(/[\s,]+/),O=l.length;for(i=0;i<O;i++)!l[i]||(n=l[i].replace(/\*/g,".*?"),n[0]==="-"?t.skips.push(new RegExp("^"+n.slice(1)+"$")):t.names.push(new RegExp("^"+n+"$")))}function c(){let n=[...t.names.map(g),...t.skips.map(g).map(i=>"-"+i)].join(",");return t.enable(""),n}function f(n){if(n[n.length-1]==="*")return!0;let i,l;for(i=0,l=t.skips.length;i<l;i++)if(t.skips[i].test(n))return!1;for(i=0,l=t.names.length;i<l;i++)if(t.names[i].test(n))return!0;return!1}function g(n){return n.toString().substring(2,n.toString().length-2).replace(/\.\*\?$/,"*")}function y(n){return n instanceof Error?n.stack||n.message:n}function de(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}ee.exports=$e});var te=x((d,S)=>{u();d.formatArgs=Re;d.save=je;d.load=Se;d.useColors=ke;d.storage=Ie();d.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();d.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function ke(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Re(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+S.exports.humanize(this.diff),!this.useColors)return;let o="color: "+this.color;e.splice(1,0,o,"color: inherit");let t=0,r=0;e[0].replace(/%[a-zA-Z%]/g,s=>{s!=="%%"&&(t++,s==="%c"&&(r=t))}),e.splice(r,0,o)}d.log=console.debug||console.log||(()=>{});function je(e){try{e?d.storage.setItem("debug",e):d.storage.removeItem("debug")}catch{}}function Se(){let e;try{e=d.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Ie(){try{return localStorage}catch{}}S.exports=M()(d);var{formatters:Ve}=S.exports;Ve.j=function(e){try{return JSON.stringify(e)}catch(o){return"[UnexpectedJSONParseError]: "+o.message}}});var re=x((p,V)=>{u();var Ee=G("tty"),I=G("util");p.init=qe;p.log=Ne;p.formatArgs=De;p.save=Le;p.load=Me;p.useColors=Ae;p.destroy=I.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");p.colors=[6,2,3,4,5,1];try{let e=ye();e&&(e.stderr||e).level>=2&&(p.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}p.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,o)=>{let t=o.substring(6).toLowerCase().replace(/_([a-z])/g,(s,c)=>c.toUpperCase()),r=process.env[o];return/^(yes|on|true|enabled)$/i.test(r)?r=!0:/^(no|off|false|disabled)$/i.test(r)?r=!1:r==="null"?r=null:r=Number(r),e[t]=r,e},{});function Ae(){return"colors"in p.inspectOpts?Boolean(p.inspectOpts.colors):Ee.isatty(process.stderr.fd)}function De(e){let{namespace:o,useColors:t}=this;if(t){let r=this.color,s="\x1B[3"+(r<8?r:"8;5;"+r),c=` ${s};1m${o} \x1B[0m`;e[0]=c+e[0].split(`
2
+ `).join(`
3
+ `+c),e.push(s+"m+"+V.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=Be()+o+" "+e[0]}function Be(){return p.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ne(...e){return process.stderr.write(I.format(...e)+`
4
+ `)}function Le(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function Me(){return process.env.DEBUG}function qe(e){e.inspectOpts={};let o=Object.keys(p.inspectOpts);for(let t=0;t<o.length;t++)e.inspectOpts[o[t]]=p.inspectOpts[o[t]]}V.exports=M()(p);var{formatters:oe}=V.exports;oe.o=function(e){return this.inspectOpts.colors=this.useColors,I.inspect(e,this.inspectOpts).split(`
5
+ `).map(o=>o.trim()).join(" ")};oe.O=function(e){return this.inspectOpts.colors=this.useColors,I.inspect(e,this.inspectOpts)}});var ne=x((rt,q)=>{u();typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?q.exports=te():q.exports=re()});u();import We from"fs";import pe from"path";import{exec as Ze}from"child_process";import Ke from"yargs";import Qe from"open";import _ from"consola";var R="0.1.2";u();var se=H(ne());import{dirname as Te,resolve as T}from"path";var Pe=(0,se.default)("valaxy:options");function Ue(e){return e.startsWith("/")||/^\.\.?[\/\\]/.test(e)}function _e(e,o){return e?Ue(e)?T(Te(o),e):N(`valaxy-theme-${e}/package.json`):""}async function P(e,o="dev"){let t=T(N("valaxy/package.json"),"src/client"),r=T(e.userRoot||process.cwd()),{config:s,configFile:c,theme:f}=await Z(e),g=_e(f,r),y={mode:o,clientRoot:t,userRoot:r,themeRoot:g,theme:f,config:s,configFile:c||""};return Pe(y),y}u();var a=H(ve());import*as ie from"readline";import ze from"path";import Je from"os";import E from"consola";var A;function U(e,o,t){console.log(),console.log(` ${a.default.bold("\u{1F30C} Valaxy")} ${a.default.blue(`v${R}`)}`),console.log(),console.log(`${a.default.dim(" \u{1FA90} theme ")} > ${e.theme?a.default.green(e.theme):a.default.gray("none")}`),console.log(` ${a.default.dim("\u{1F4C1}")} ${a.default.dim(ze.resolve(e.userRoot))}`),o&&(console.log(),console.log(`${a.default.dim(" Preview ")} > ${a.default.cyan(`http://localhost:${a.default.bold(o)}/`)}`),t&&Object.values(Je.networkInterfaces()).forEach(r=>(r||[]).filter(s=>s.family==="IPv4"&&!s.address.includes("127.0.0.1")).forEach(({address:s})=>{console.log(`${a.default.dim(" Network ")} > ${a.default.blue(`http://${s}:${a.default.bold(o)}/`)}`)})),console.log(),console.log(`${a.default.dim(" shortcuts ")} > ${a.default.underline("r")}${a.default.dim("estart | ")}${a.default.underline("o")}${a.default.dim("pen | ")}${a.default.underline("e")}${a.default.dim("dit")}`)),console.log()}async function D(e,o){A&&await A.close();try{let t=W(e.config).concat(e.config.unocss.safelist||[]);A=await K(e,o,{onConfigReload(r,s){let c=!1;r.social.some((g,y)=>!t.includes(g.icon)&&g.icon!==s.social[y].icon)&&(E.info("Find new icon, reload server..."),E.info(`If you do not want to reload it, write icon name in ${a.default.green("config.unocss.safelist")}.`),E.info('For example: ["i-ri-cloud-line"]'),console.log(),c=!0),c&&D(e,o)}}),await A.listen()}catch(t){E.error(`failed to start server. error:
6
+ `),console.error(t),process.exit(1)}}function ae(e){process.stdin.resume(),process.stdin.setEncoding("utf8"),ie.emitKeypressEvents(process.stdin),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.on("keypress",(o,t)=>{if(t.ctrl&&t.name==="c")process.exit();else{let[r]=e.filter(s=>s.name===o);if(r)try{r.action()}catch(s){console.error(`Failed to execute shortcut ${r.fullName}`,s)}}})}u();import{mergeConfig as le,build as Ye}from"vite";import{build as Ge}from"vite-ssg/node";import He from"vite-ssg-sitemap";async function ce(e,o={}){let t=le(await L(e),o);await Ye(t)}async function ue(e,o={}){let t=le(await L(e),o);t.ssgOptions={script:"async",formatting:"minify",onFinished(){He()}},await Ge({},t)}var z=Ke.scriptName("valaxy").usage("$0 [args]").version(R).showHelpOnFail(!1).alias("h","help").alias("v","version");z.command("* [root]","Start a local server for Valaxy",e=>fe(e).option("port",{alias:"p",type:"number",describe:"port"}).option("open",{alias:"o",default:!1,type:"boolean",describe:"open in browser"}).option("remote",{default:!0,type:"boolean",describe:"listen public host and enable remote control"}).option("log",{default:"warn",type:"string",choices:["error","warn","info","silent"],describe:"log level"}).strict().help(),async({root:e,port:o,open:t,remote:r,log:s})=>{We.existsSync(pe.resolve(e,"pages"))||process.exit(0);let c=o||4859,f=await P({userRoot:e}),g={server:{watch:{ignored:[`!${f.themeRoot}/**`,`${f.userRoot}/**.md`]},port:c,strictPort:!0,open:t,host:r?"0.0.0.0":"localhost"},logLevel:s};await D(f,g),U(f,c,r),ae([{name:"r",fullName:"restart",action(){D(f,g)}},{name:"o",fullName:"open",action(){Qe(`http://localhost:${c}`)}},{name:"e",fullName:"edit",action(){Ze(`code "${e}"`)}}])});z.command("build [root]","build your blog to static content",e=>fe(e).option("ssg",{alias:"s",type:"boolean",default:!1,describe:"static site generate"}).option("output",{alias:"o",type:"string",default:"dist",describe:"output dir"}).option("base",{type:"string",default:"/",describe:"output base"}).strict().help(),async({ssg:e,root:o,base:t,output:r})=>{let s=await P({userRoot:o},"build");U(s);let c={base:t,build:{emptyOutDir:!0,outDir:pe.resolve(s.userRoot,r)}};if(e){_.info("use vite-ssg to do ssg build...");try{await ue(s,c)}catch(f){_.error("[vite-ssg] An internal error occurred."),console.log(f)}}else _.info("use vite do spa build..."),await ce(s,c)});function fe(e){return e.positional("root",{default:".",type:"string",describe:"root folder of your source files"})}function It(){z.help().parse()}export{It as run};
@@ -0,0 +1,46 @@
1
+ import * as vite from 'vite';
2
+ import { InlineConfig } from 'vite';
3
+ import { V as ValaxyConfig } from '../config-d6527c8c.js';
4
+ import 'type-fest';
5
+ import 'unocss/vite';
6
+ import 'markdown-it';
7
+ import 'markdown-it-anchor';
8
+ import 'katex';
9
+ import 'vite-plugin-md';
10
+
11
+ interface ResolvedValaxyOptions {
12
+ mode: 'dev' | 'build';
13
+ /**
14
+ * Client root path
15
+ * @default 'valaxy/src/client'
16
+ */
17
+ clientRoot: string;
18
+ /**
19
+ * User root path
20
+ * @default process.cwd()
21
+ */
22
+ userRoot: string;
23
+ /**
24
+ * Theme root path
25
+ */
26
+ themeRoot: string;
27
+ /**
28
+ * Theme name
29
+ */
30
+ theme: string;
31
+ /**
32
+ * Valaxy Config
33
+ */
34
+ config: ValaxyConfig;
35
+ /**
36
+ * config file path
37
+ */
38
+ configFile: string;
39
+ }
40
+ interface ValaxyServerOptions {
41
+ onConfigReload?: (newConfig: ValaxyConfig, config: ValaxyConfig) => void;
42
+ }
43
+
44
+ declare function createServer(options: ResolvedValaxyOptions, viteConfig?: InlineConfig, serverOptions?: ValaxyServerOptions): Promise<vite.ViteDevServer>;
45
+
46
+ export { createServer };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkW5MJCUNYjs = require('../chunk-W5MJCUNY.js');var _chunk5D7M5SQPjs = require('../chunk-5D7M5SQP.js');_chunk5D7M5SQPjs.f.call(void 0, );exports.createServer = _chunkW5MJCUNYjs.g;
@@ -0,0 +1 @@
1
+ import{g as r}from"../chunk-CF6MGLH2.mjs";import{f as o}from"../chunk-L22LX2G6.mjs";o();export{r as createServer};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valaxy",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "📄 Vite & Vue powered static blog generator.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -40,46 +40,47 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@ctrl/tinycolor": "^3.4.0",
43
- "@iconify-json/carbon": "^1.1.1",
43
+ "@iconify-json/carbon": "^1.1.3",
44
44
  "@iconify-json/ri": "^1.1.1",
45
- "@intlify/vite-plugin-vue-i18n": "^3.3.1",
46
- "@unocss/reset": "^0.30.8",
45
+ "@intlify/vite-plugin-vue-i18n": "^3.4.0",
46
+ "@unocss/reset": "^0.30.11",
47
47
  "@vitejs/plugin-vue": "^2.3.1",
48
- "@vueuse/core": "^8.2.3",
48
+ "@vueuse/core": "^8.2.4",
49
49
  "@vueuse/head": "^0.7.5",
50
50
  "consola": "^2.15.3",
51
51
  "critters": "^0.0.16",
52
52
  "dayjs": "^1.11.0",
53
53
  "fast-deep-equal": "^3.1.3",
54
54
  "katex": "^0.15.3",
55
- "markdown-it-anchor": "^8.4.1",
55
+ "markdown-it-anchor": "^8.5.0",
56
56
  "markdown-it-container": "^3.0.0",
57
57
  "markdown-it-emoji": "^2.0.0",
58
58
  "markdown-it-link-attributes": "^4.0.0",
59
59
  "markdown-it-prism": "^2.2.3",
60
60
  "markdown-it-table-of-contents": "^0.6.0",
61
+ "markdown-it-task-lists": "^2.1.1",
61
62
  "nprogress": "^0.2.0",
62
63
  "open": "^8.4.0",
63
64
  "pinia": "^2.0.13",
64
65
  "prism-theme-vars": "^0.2.2",
65
- "sass": "^1.49.10",
66
- "star-markdown-css": "^0.3.0",
66
+ "sass": "^1.49.11",
67
+ "star-markdown-css": "^0.3.1",
67
68
  "unconfig": "^0.3.2",
68
- "vue": "^3.2.31",
69
- "vue-demi": "^0.12.5",
70
- "vue-i18n": "^9.1.9",
71
- "vue-router": "^4.0.14",
72
- "yargs": "^17.4.0",
73
- "unocss": "^0.30.8",
69
+ "unocss": "^0.30.11",
74
70
  "unplugin-vue-components": "^0.18.5",
75
71
  "vite": "^2.9.1",
76
- "vite-ssg": "^0.19.0",
72
+ "vite-plugin-inspect": "^0.4.3",
77
73
  "vite-plugin-md": "^0.12.4",
78
74
  "vite-plugin-pages": "^0.22.0",
79
- "vite-plugin-inspect": "^0.4.3",
80
75
  "vite-plugin-pwa": "^0.11.13",
81
76
  "vite-plugin-vue-layouts": "^0.6.0",
82
- "vite-ssg-sitemap": "^0.2.0"
77
+ "vite-ssg": "^0.19.1",
78
+ "vite-ssg-sitemap": "^0.2.0",
79
+ "vue": "^3.2.31",
80
+ "vue-demi": "^0.12.5",
81
+ "vue-i18n": "^9.1.9",
82
+ "vue-router": "^4.0.14",
83
+ "yargs": "^17.4.0"
83
84
  },
84
85
  "scripts": {
85
86
  "build": "tsup --splitting",
@@ -13,7 +13,7 @@ const { icon, styles } = usePostProperty(props.post.type)
13
13
  </script>
14
14
 
15
15
  <template>
16
- <YunCard m="y-4 auto" class="post-card" :style="styles">
16
+ <YunCard m="b-4 auto" class="post-card" :style="styles">
17
17
  <div v-if="post.top" class="post-top-icon">
18
18
  <div i-ri-pushpin-line />
19
19
  </div>
@@ -34,17 +34,17 @@ const displayedPosts = computed(() => posts.value.slice((props.curPage - 1) * pa
34
34
  <ValaxyPagination :cur-page="curPage" :page-size="pageSize" :total="posts.length" />
35
35
  </template>
36
36
 
37
- <style lang="scss">
37
+ <style>
38
38
  .yun-card-actions {
39
39
  border-top: 1px solid rgba(122, 122, 122, 0.15);
40
40
  min-height: 2.5rem;
41
41
  }
42
42
 
43
43
  .post-categories {
44
- color: var(--yun-c-text);
44
+ color: var(--va-c-text);
45
45
  }
46
46
 
47
47
  .post-tag {
48
- color: var(--yun-c-text);
48
+ color: var(--va-c-text);
49
49
  }
50
50
  </style>
@@ -57,7 +57,7 @@ const licenseHtml = computed(() => {
57
57
  font-size: 0.9rem;
58
58
  padding: 0.5rem 1rem;
59
59
  border-left: 4px solid #ff5252;
60
- background-color: var(--yun-c-bg-dark);
60
+ background-color: var(--va-c-bg-dark);
61
61
  list-style: none;
62
62
  word-break: break-all;
63
63
  position: relative;
@@ -21,7 +21,7 @@ const poweredHtml = computed(() => t('footer.powered', [`<a href="${pkg.reposito
21
21
  </script>
22
22
 
23
23
  <template>
24
- <footer class="val-footer p-4" text="center sm" style="color:var(--yun-c-text-light)">
24
+ <footer class="va-footer p-4" text="center sm" style="color:var(--va-c-text-light)">
25
25
  <div v-if="themeConfig.footer.beian.enable && themeConfig.footer.beian.icp" class="beian" m="y-2">
26
26
  <a href="https://beian.miit.gov.cn/" target="_blank" rel="noopener">
27
27
  {{ themeConfig.footer.beian.icp }}
@@ -8,7 +8,7 @@ withDefaults(defineProps<{
8
8
 
9
9
  <template>
10
10
  <transition name="fade">
11
- <div v-if="show" class="val-overlay backdrop-filter backdrop-blur" />
11
+ <div v-if="show" class="va-overlay backdrop-filter backdrop-blur" />
12
12
  </transition>
13
13
  </template>
14
14
 
@@ -18,14 +18,14 @@ withDefaults(defineProps<{
18
18
  @use "~/styles/vars" as *;
19
19
  @use "~/styles/mixins" as *;
20
20
 
21
- .val-overlay {
21
+ .va-overlay {
22
22
  background-color: rgba(0, 0, 0, 0.3);
23
23
  position: fixed;
24
24
  top: 0;
25
25
  right: 0;
26
26
  bottom: 0;
27
27
  left: 0;
28
- z-index: map.get($z-index, 'sidebar') - 1;
28
+ z-index: calc(var(--yun-z-sidebar) - 1);
29
29
  transition: opacity 0.4s;
30
30
 
31
31
  display: none;
@@ -37,7 +37,7 @@ withDefaults(defineProps<{
37
37
  }
38
38
 
39
39
  @include mobile {
40
- .val-overlay {
40
+ .va-overlay {
41
41
  display: block;
42
42
  }
43
43
  }
@@ -30,14 +30,17 @@ const surLen = computed(() => {
30
30
  })
31
31
 
32
32
  const showPage = (i: number) => {
33
- if (i === 1) return true
34
- else if (i === totalPages.value) return true
33
+ if (i === 1)
34
+ return true
35
+ else if (i === totalPages.value)
36
+ return true
35
37
  return i > props.curPage - surLen.value && i < props.curPage + surLen.value
36
38
  }
37
39
 
38
40
  const jumpTo = (page: number) => {
39
41
  emit('page-change', page)
40
- if (page === 1) return '/'
42
+ if (page === 1)
43
+ return '/'
41
44
  else return `/page/${page}`
42
45
  }
43
46
  </script>
@@ -69,12 +72,12 @@ const jumpTo = (page: number) => {
69
72
  <style lang="scss">
70
73
  :root {
71
74
  --page-btn-bg-color: rgba(255, 255, 255, 0.5);
72
- --page-btn-hover-bg-color: var(--yun-c-primary-lighter);
73
- --page-btn-active-bg-color: var(--yun-c-primary-light);
75
+ --page-btn-hover-bg-color: var(--va-c-primary-lighter);
76
+ --page-btn-active-bg-color: var(--va-c-primary-light);
74
77
  }
75
78
 
76
79
  .dark {
77
- --page-btn-bg-color: var(--yun-c-bg-light);
80
+ --page-btn-bg-color: var(--va-c-bg-light);
78
81
  }
79
82
 
80
83
  .pagination {
@@ -90,30 +93,30 @@ const jumpTo = (page: number) => {
90
93
  width: 2rem;
91
94
  height: 2rem;
92
95
  margin: 0;
93
- transition: background-color var(--yun-transition-duration) ease;
96
+ transition: background-color var(--va-transition-duration) ease;
94
97
  }
95
98
 
96
99
  .prev, .next, .page-number {
97
100
  cursor: pointer;
98
101
 
99
- color: var(--yun-c-text);
102
+ color: var(--va-c-text);
100
103
  text-decoration: none;
101
104
  background-color: var(--page-btn-bg-color);
102
105
 
103
106
  &:hover {
104
- color: var(--yun-c-bg);
107
+ color: var(--va-c-bg);
105
108
  background: var(--page-btn-hover-bg-color);
106
109
  }
107
110
 
108
111
  &:active {
109
- color: var(--yun-c-bg);
112
+ color: var(--va-c-bg);
110
113
  background: var(--page-btn-active-bg-color);
111
114
  }
112
115
 
113
116
  &.active {
114
117
  font-weight: normal;
115
118
  background: var(--page-btn-active-bg-color);
116
- color: var(--yun-c-bg);
119
+ color: var(--va-c-bg);
117
120
  cursor: default;
118
121
  }
119
122
  }
@@ -7,7 +7,7 @@ defineProps<{ frontmatter: Post }>()
7
7
  </script>
8
8
 
9
9
  <template>
10
- <aside class="right-sidebar val-card relative" m="l-4" text="center">
10
+ <aside class="right-sidebar va-card relative" m="l-4" text="center">
11
11
  <h2 v-if="frontmatter.toc !== false" m="t-6 b-2" font="serif black">
12
12
  {{ t('sidebar.toc') }}
13
13
  </h2>
@@ -24,7 +24,7 @@ defineProps<{ frontmatter: Post }>()
24
24
 
25
25
  <style lang="scss">
26
26
  .right-sidebar {
27
- width: var(--yun-sidebar-width-mobile);
27
+ width: var(--va-sidebar-width-mobile);
28
28
  }
29
29
  .right-sidebar-container {
30
30
  top: 1rem;
@@ -11,25 +11,21 @@ const isHome = useLayout('home')
11
11
 
12
12
  <ValaxyHamburger :active="app.isSidebarOpen" class="menu-btn sidebar-toggle yun-icon-btn" :class="isHome ? '' : 'md:hidden'" @click="app.toggleSidebar()" />
13
13
 
14
- <aside class="val-card" :class="['sidebar', app.isSidebarOpen && 'open', !isHome && 'md:translate-x-0']">
14
+ <aside class="va-card" :class="['sidebar', app.isSidebarOpen && 'open', !isHome && 'md:translate-x-0']">
15
15
  <YunSidebar />
16
-
17
16
  <YunConfig />
17
+ <slot />
18
18
  </aside>
19
19
  </template>
20
20
 
21
- <style lang="scss">
22
- @use "sass:map";
23
-
24
- @use "~/styles/vars" as *;
25
-
21
+ <style>
26
22
  .menu-btn {
27
23
  display: inline-flex;
28
24
  position: fixed;
29
25
  left: 0.8rem;
30
26
  top: 0.6rem;
31
27
  line-height: 1;
32
- z-index: map.get($z-index, 'menu-btn');
28
+ z-index: var(--yun-z-menu-btn);
33
29
  cursor: pointer;
34
30
  }
35
31
  </style>
@@ -20,7 +20,7 @@ function getStylesByLevel(level: number) {
20
20
  </script>
21
21
 
22
22
  <template>
23
- <ul class="val-toc" p="l-4">
23
+ <ul class="va-toc" p="l-4">
24
24
  <li v-for="header, i in headers" :key="i" :style="getStylesByLevel(header.level)">
25
25
  <a class="toc-link-item" :href="`#${header.slug}`">{{ header.title }}</a>
26
26
  </li>
@@ -28,14 +28,14 @@ function getStylesByLevel(level: number) {
28
28
  </template>
29
29
 
30
30
  <style lang="scss">
31
- .val-toc {
31
+ .va-toc {
32
32
  top: 10px;
33
33
  width: var(--yun-sidebar-width-mobile);
34
34
 
35
- background-color: var(--yun-c-bg-light);
35
+ background-color: var(--va-c-bg-light);
36
36
 
37
37
  font-size: 1rem;
38
- font-family: var(--yun-font-serif);
38
+ font-family: var(--va-font-serif);
39
39
  font-weight: 900;
40
40
  line-height: 1.6;
41
41
 
@@ -44,26 +44,28 @@ function getStylesByLevel(level: number) {
44
44
  a {
45
45
  display: block;
46
46
  color: var(--c-toc-link);
47
- transition: color var(--yun-transition-duration);
47
+ transition: color var(--va-transition-duration);
48
48
 
49
49
  overflow: hidden;
50
50
  white-space: nowrap;
51
51
  text-overflow: ellipsis;
52
52
 
53
+ font-weight: 900;
54
+
53
55
  &:hover {
54
- color: var(--yun-c-text);
56
+ color: var(--va-c-text);
55
57
  }
56
58
  }
57
59
 
58
60
  .toc-link-item {
59
- color: var(--yun-c-text-light);
61
+ color: var(--va-c-text-light);
60
62
 
61
63
  &:hover {
62
- color: var(--yun-c-text);
64
+ color: var(--va-c-text);
63
65
  }
64
66
 
65
67
  &.active {
66
- color: var(--yun-c-primary);
68
+ color: var(--va-c-primary);
67
69
  }
68
70
  }
69
71
  }
@@ -16,7 +16,8 @@ export function useWaline(options: {} = {}) {
16
16
  * @returns
17
17
  */
18
18
  function initWaline(options: {} = {}) {
19
- if (!isClient) return
19
+ if (!isClient)
20
+ return
20
21
 
21
22
  const defaultOptions = {
22
23
  el: '.comment #waline',
@@ -40,21 +41,24 @@ export function useWaline(options: {} = {}) {
40
41
  })
41
42
 
42
43
  watch(() => route.path, (path) => {
43
- if (!waline) return
44
+ if (!waline)
45
+ return
44
46
  waline.update({
45
47
  path,
46
48
  })
47
49
  })
48
50
 
49
51
  watch(locale, (lang) => {
50
- if (!waline) return
52
+ if (!waline)
53
+ return
51
54
  waline.update({
52
55
  lang,
53
56
  })
54
57
  })
55
58
 
56
59
  onUnmounted(() => {
57
- if (!waline) return
60
+ if (!waline)
61
+ return
58
62
  waline.destroy()
59
63
  })
60
64
  }
@@ -1,7 +1,7 @@
1
1
  import { useRoute } from 'vue-router'
2
2
  import { computed } from 'vue'
3
+ import { isClient } from '@vueuse/core'
3
4
 
4
- import { isDev } from '../..'
5
5
  import type { Post } from '../../types'
6
6
  import { useConfig } from '../config'
7
7
 
@@ -9,8 +9,6 @@ export function useFrontmatter() {
9
9
  const route = useRoute()
10
10
  const frontmatter = computed<Post>(() => route.meta.frontmatter)
11
11
 
12
- // eslint-disable-next-line no-console
13
- if (isDev) console.log(frontmatter.value)
14
12
  return frontmatter
15
13
  }
16
14
 
@@ -21,7 +19,7 @@ export function useFullUrl() {
21
19
  const config = useConfig()
22
20
  const route = useRoute()
23
21
  const url = computed(() => {
24
- const origin = config.value.url || window?.location.origin
22
+ const origin = config.value.url || (isClient && window.location.origin)
25
23
  return origin + route.path
26
24
  })
27
25
  return url
@@ -13,7 +13,8 @@ export function useAlgoliaSearch(config: {
13
13
  per_page: number
14
14
  }
15
15
  }) {
16
- if (!isClient) return
16
+ if (!isClient)
17
+ return
17
18
 
18
19
  const route = useRoute()
19
20
  const { t } = useI18n()
@@ -30,7 +30,7 @@ export function useActiveSidebarLinks() {
30
30
  deactiveLink(activeLink)
31
31
  deactiveLink(rootActiveLink)
32
32
 
33
- activeLink = document.querySelector(`.val-toc a[href="${hash}"]`)
33
+ activeLink = document.querySelector(`.va-toc a[href="${hash}"]`)
34
34
 
35
35
  if (!activeLink)
36
36
  return
@@ -70,7 +70,7 @@ export function useActiveSidebarLinks() {
70
70
 
71
71
  function getSidebarLinks(): HTMLAnchorElement[] {
72
72
  return [].slice.call(
73
- document.querySelectorAll('.val-toc a.toc-link-item'),
73
+ document.querySelectorAll('.va-toc a.toc-link-item'),
74
74
  )
75
75
  }
76
76