valaxy 0.14.21 → 0.14.22
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.
- package/client/components/ValaxyPagination.vue +2 -2
- package/client/composables/category.ts +3 -1
- package/client/composables/features/medium-zoom.ts +1 -1
- package/client/composables/locale.ts +1 -1
- package/client/composables/outline/headers.ts +1 -1
- package/client/composables/post.ts +8 -5
- package/client/layouts/404.vue +1 -1
- package/client/locales/en.yml +3 -8
- package/client/locales/zh-CN.yml +3 -8
- package/client/styles/vars.scss +1 -1
- package/client/utils/wrap.ts +1 -1
- package/dist/{chunk-W2TOXCX6.mjs → chunk-S3DNS4MB.mjs} +10 -10
- package/dist/{chunk-EL4MYIME.cjs → chunk-SKLY3VD5.cjs} +10 -10
- package/dist/node/cli.cjs +1 -1
- package/dist/node/cli.mjs +1 -1
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.mjs +1 -1
- package/dist/types/index.d.ts +35 -1
- package/package.json +1 -1
- package/types/posts.ts +38 -0
|
@@ -29,7 +29,7 @@ const surLen = computed(() => {
|
|
|
29
29
|
return 2
|
|
30
30
|
})
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
function showPage(i: number) {
|
|
33
33
|
if (i === 1)
|
|
34
34
|
return true
|
|
35
35
|
else if (i === totalPages.value)
|
|
@@ -37,7 +37,7 @@ const showPage = (i: number) => {
|
|
|
37
37
|
return i > props.curPage - surLen.value && i < props.curPage + surLen.value
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
function jumpTo(page: number) {
|
|
41
41
|
emit('pageChange', page)
|
|
42
42
|
if (page === 1)
|
|
43
43
|
return '/'
|
|
@@ -22,7 +22,9 @@ export type Category = CategoryList
|
|
|
22
22
|
export type Categories = (Post | CategoryList)[]
|
|
23
23
|
|
|
24
24
|
// todo write unit test
|
|
25
|
-
export
|
|
25
|
+
export function isCategoryList(category: any): category is CategoryList {
|
|
26
|
+
return category.children
|
|
27
|
+
}
|
|
26
28
|
|
|
27
29
|
/**
|
|
28
30
|
* get categories from posts
|
|
@@ -3,7 +3,7 @@ import { useI18n } from 'vue-i18n'
|
|
|
3
3
|
import dayjs from 'dayjs'
|
|
4
4
|
import 'dayjs/locale/zh-cn'
|
|
5
5
|
|
|
6
|
-
export
|
|
6
|
+
export function useLocale() {
|
|
7
7
|
const { availableLocales, locale } = useI18n()
|
|
8
8
|
const lang = useStorage('valaxy-locale', locale.value)
|
|
9
9
|
dayjs.locale(lang.value.toLowerCase())
|
|
@@ -66,7 +66,7 @@ function addToParent(
|
|
|
66
66
|
* export headers & handleClick to generate outline
|
|
67
67
|
* @returns
|
|
68
68
|
*/
|
|
69
|
-
export
|
|
69
|
+
export function useOutline() {
|
|
70
70
|
const frontmatter = useFrontmatter()
|
|
71
71
|
const themeConfig = useThemeConfig()
|
|
72
72
|
const headers = ref<MenuItem[]>([])
|
|
@@ -6,7 +6,7 @@ import type { Post } from 'valaxy'
|
|
|
6
6
|
import { sortByDate } from '../utils'
|
|
7
7
|
import { useSiteStore } from '../stores'
|
|
8
8
|
|
|
9
|
-
export
|
|
9
|
+
export function usePostTitle(post: ComputedRef<Post>) {
|
|
10
10
|
const { locale } = useI18n()
|
|
11
11
|
return computed(() => {
|
|
12
12
|
const lang = locale.value === 'zh-CN' ? 'zh' : locale.value
|
|
@@ -46,10 +46,13 @@ export function usePostList(params: {
|
|
|
46
46
|
const pageList = usePageList()
|
|
47
47
|
return computed(() => {
|
|
48
48
|
const routes = pageList.value
|
|
49
|
-
.filter(i =>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
.filter(i =>
|
|
50
|
+
i.path?.startsWith('/posts')
|
|
51
|
+
&& !i.path?.endsWith('.html')
|
|
52
|
+
&& i.date
|
|
53
|
+
&& (!params.type || i.type === params.type)
|
|
54
|
+
&& (!i.hide || i.hide === 'index'), // hide `hide: all` posts
|
|
55
|
+
)
|
|
53
56
|
|
|
54
57
|
/**
|
|
55
58
|
* 置顶
|
package/client/layouts/404.vue
CHANGED
package/client/locales/en.yml
CHANGED
|
@@ -16,6 +16,7 @@ title:
|
|
|
16
16
|
category: Category
|
|
17
17
|
tag: Tag
|
|
18
18
|
album: Album
|
|
19
|
+
gallery: Gallery
|
|
19
20
|
|
|
20
21
|
menu:
|
|
21
22
|
home: Home
|
|
@@ -66,14 +67,8 @@ counter:
|
|
|
66
67
|
archives: No posts | 1 post | {count} posts
|
|
67
68
|
categories: No categories | 1 category | {count} categories
|
|
68
69
|
tags: No tags | 1 tag | {count} tags
|
|
69
|
-
albums:
|
|
70
|
-
|
|
71
|
-
one: 1 album
|
|
72
|
-
other: '%d albums'
|
|
73
|
-
photos:
|
|
74
|
-
zero: No photo
|
|
75
|
-
one: 1 photo
|
|
76
|
-
other: '%d photos'
|
|
70
|
+
albums: No album | 1 album | {count} albums
|
|
71
|
+
photos: No photo | 1 photo | {count} photos
|
|
77
72
|
|
|
78
73
|
category:
|
|
79
74
|
uncategorized: Uncategorized
|
package/client/locales/zh-CN.yml
CHANGED
|
@@ -16,6 +16,7 @@ title:
|
|
|
16
16
|
category: 分类
|
|
17
17
|
tag: 标签
|
|
18
18
|
album: 相册
|
|
19
|
+
gallery: 图片库
|
|
19
20
|
|
|
20
21
|
menu:
|
|
21
22
|
home: 首页
|
|
@@ -65,14 +66,8 @@ counter:
|
|
|
65
66
|
archives: 暂无日志 | 共计 1 篇日志 | 共计 {count} 篇日志
|
|
66
67
|
categories: 暂无分类 | 共计 1 个分类 | 共计 {count} 个分类
|
|
67
68
|
tags: 暂无标签 | 共计 1 个标签 | 共计 {count} 个标签
|
|
68
|
-
albums:
|
|
69
|
-
|
|
70
|
-
one: 共计 1 个相册
|
|
71
|
-
other: '共计 %d 个相册'
|
|
72
|
-
photos:
|
|
73
|
-
zero: 暂无照片
|
|
74
|
-
one: 共计 1 张照片
|
|
75
|
-
other: '共计 %d 张照片'
|
|
69
|
+
albums: 暂无相册 | 共计 1 个相册 | 共计 {count} 个相册
|
|
70
|
+
photos: 暂无照片 | 共计 1 张照片 | 共计 {count} 张照片
|
|
76
71
|
|
|
77
72
|
category:
|
|
78
73
|
uncategorized: 未分类
|
package/client/styles/vars.scss
CHANGED
|
@@ -20,7 +20,7 @@ $border: map.merge(
|
|
|
20
20
|
$font: () !default;
|
|
21
21
|
$font: map.merge(
|
|
22
22
|
(
|
|
23
|
-
"serif": "'Noto Serif SC', STZhongsong, Roboto, serif",
|
|
23
|
+
"serif": "'Noto Serif SC', STZhongsong, STKaiti, KaiTi, Roboto, serif",
|
|
24
24
|
"sans":
|
|
25
25
|
'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',
|
|
26
26
|
"mono": 'Menlo, Monaco, Consolas, "Courier New", monospace',
|
package/client/utils/wrap.ts
CHANGED
|
@@ -13,7 +13,7 @@ export function wrap(el: HTMLElement, className: string) {
|
|
|
13
13
|
/**
|
|
14
14
|
* 包裹表格,添加 class 以控制 table 样式
|
|
15
15
|
*/
|
|
16
|
-
export
|
|
16
|
+
export function wrapTable(container: HTMLElement | Document = document) {
|
|
17
17
|
container.querySelectorAll('table').forEach((el) => {
|
|
18
18
|
const container = document.createElement('div')
|
|
19
19
|
container.className = 'table-container'
|
|
@@ -14,21 +14,21 @@ GFS4: `),console.error(e)});K[se]||(ha=global[se]||[],ya(K,ha),K.close=function(
|
|
|
14
14
|
`)+r,i=n+1,n=e.indexOf(`
|
|
15
15
|
`,i)}while(n!==-1);return o+=e.substr(i),o};Um.exports={stringReplaceAll:_C,stringEncaseCRLFWithFirstIndex:xC}});var Jm=v((eO,Km)=>{"use strict";var SC=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Wm=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,bC=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,CC=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,wC=new Map([["n",`
|
|
16
16
|
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function zm(e){let t=e[0]==="u",r=e[1]==="{";return t&&!r&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):wC.get(e)||e}function AC(e,t){let r=[],n=t.trim().split(/\s*,\s*/g),i;for(let o of n){let s=Number(o);if(!Number.isNaN(s))r.push(s);else if(i=o.match(bC))r.push(i[2].replace(CC,(a,u,p)=>u?zm(u):p));else throw new Error(`Invalid Chalk template style argument: ${o} (in style '${e}')`)}return r}function RC(e){Wm.lastIndex=0;let t=[],r;for(;(r=Wm.exec(e))!==null;){let n=r[1];if(r[2]){let i=AC(n,r[2]);t.push([n].concat(i))}else t.push([n])}return t}function Ym(e,t){let r={};for(let i of t)for(let o of i.styles)r[o[0]]=i.inverse?null:o.slice(1);let n=e;for(let[i,o]of Object.entries(r))if(Array.isArray(o)){if(!(i in n))throw new Error(`Unknown Chalk style: ${i}`);n=o.length>0?n[i](...o):n[i]}return n}Km.exports=(e,t)=>{let r=[],n=[],i=[];if(t.replace(SC,(o,s,a,u,p,c)=>{if(s)i.push(zm(s));else if(u){let f=i.join("");i=[],n.push(r.length===0?f:Ym(e,r)(f)),r.push({inverse:a,styles:RC(u)})}else if(p){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");n.push(Ym(e,r)(i.join(""))),i=[],r.pop()}else i.push(c)}),n.push(i.join("")),r.length>0){let o=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(o)}return n.join("")}});var nh=v((tO,rh)=>{"use strict";var Or=Bm(),{stdout:ra,stderr:na}=Vm(),{stringReplaceAll:kC,stringEncaseCRLFWithFirstIndex:FC}=Gm(),{isArray:ti}=Array,Qm=["ansi","ansi","ansi256","ansi16m"],Qt=Object.create(null),OC=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=ra?ra.level:0;e.level=t.level===void 0?r:t.level},ia=class{constructor(t){return Zm(t)}},Zm=e=>{let t={};return OC(t,e),t.template=(...r)=>th(t.template,...r),Object.setPrototypeOf(t,ri.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=ia,t.template};function ri(e){return Zm(e)}for(let[e,t]of Object.entries(Or))Qt[e]={get(){let r=ni(this,oa(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};Qt.visible={get(){let e=ni(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var eh=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of eh)Qt[e]={get(){let{level:t}=this;return function(...r){let n=oa(Or.color[Qm[t]][e](...r),Or.color.close,this._styler);return ni(this,n,this._isEmpty)}}};for(let e of eh){let t="bg"+e[0].toUpperCase()+e.slice(1);Qt[t]={get(){let{level:r}=this;return function(...n){let i=oa(Or.bgColor[Qm[r]][e](...n),Or.bgColor.close,this._styler);return ni(this,i,this._isEmpty)}}}}var PC=Object.defineProperties(()=>{},{...Qt,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),oa=(e,t,r)=>{let n,i;return r===void 0?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},ni=(e,t,r)=>{let n=(...i)=>ti(i[0])&&ti(i[0].raw)?Xm(n,th(n,...i)):Xm(n,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(n,PC),n._generator=e,n._styler=t,n._isEmpty=r,n},Xm=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(r===void 0)return t;let{openAll:n,closeAll:i}=r;if(t.indexOf("\x1B")!==-1)for(;r!==void 0;)t=kC(t,r.close,r.open),r=r.parent;let o=t.indexOf(`
|
|
17
|
-
`);return o!==-1&&(t=FC(t,i,n,o)),n+t+i},ta,th=(e,...t)=>{let[r]=t;if(!ti(r)||!ti(r.raw))return t.join(" ");let n=t.slice(1),i=[r.raw[0]];for(let o=1;o<r.length;o++)i.push(String(n[o-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[o]));return ta===void 0&&(ta=Jm()),ta(e,i.join(""))};Object.defineProperties(ri.prototype,Qt);var ii=ri();ii.supportsColor=ra;ii.stderr=ri({level:na?na.level:0});ii.stderr.supportsColor=na;rh.exports=ii});var er=Q(Re(),1);import Zt from"node:path";import{exec as VC}from"node:child_process";import UC from"yargs";import{mergeConfig as sa}from"vite";import GC from"open";import si from"consola";import{yellow as WC}from"kolorist";import{hideBin as YC}from"yargs/helpers";var Jr="0.14.
|
|
18
|
-
`),n.pipe(n)});r.listen(e,"0.0.0.0"),r.on("error",()=>{t(!1)}),r.on("listening",()=>{r.close(),t(!0)})})}var ld=Q(Re(),1),fd=Q(Pi(),1),pd=Q(Pn(),1);import{dirname as fx,resolve as Ln}from"node:path";import{ensureSuffix as cd,uniq as px}from"@antfu/utils";function ms(e){return e!==null&&typeof e=="object"}function hs(e,t,r=".",n){if(!ms(t))return hs(e,{},r,n);let i=Object.assign({},t);for(let o in e){if(o==="__proto__"||o==="constructor")continue;let s=e[o];s!=null&&(n&&n(i,o,s,r)||(Array.isArray(s)&&Array.isArray(i[o])?i[o]=s.concat(i[o]):ms(s)&&ms(i[o])?i[o]=hs(s,i[o],(r?`${r}.`:"")+o.toString(),n):i[o]=s))}return i}function gr(e){return(...t)=>t.reduce((r,n)=>hs(r,n,"",e),{})}var $e=gr(),sA=gr((e,t,r,n)=>{if(typeof e[t]<"u"&&typeof r=="function")return e[t]=r(e[t]),!0}),aA=gr((e,t,r,n)=>{if(Array.isArray(e[t])&&typeof r=="function")return e[t]=r(e[t]),!0});import{cyan as dx,yellow as mx}from"kolorist";import QE from"consola";var gs=()=>process.env.NODE_ENV==="production",ys=(e="development")=>{process.env.NODE_ENV=e,Ae.level=gs()?2:3},yr=()=>ys("production");var Ae=QE.create({level:gs()?2:3});var td=Q(Up(),1);import{join as Qp}from"node:path";import K_ from"is-installed-globally";import Zp from"global-dirs";import ed from"consola";import{spawn as V_}from"cross-spawn";function xr(e,t="updated"){return new Promise((r,n)=>{let i=["log"];t==="updated"&&i.push("-1"),i.push('--pretty="%ci"',e),t==="created"&&i.push("|","tail","-1");let o=V_("git",i),s="";o.stdout.on("data",a=>s+=String(a)),o.on("close",()=>{r(+new Date(s))}),o.on("error",()=>{r(0)})})}var Mn="<!-- more -->",jt=/^https?:/i,Gp=/^pathname:\/\//,Wp="/:all(.*)*";function Yp(e){return jt.test(e)}function ot(e){return e.replace(/\\/g,"/")}function As(e,t){return t.startsWith(e)?t:e+t}function re(e){return`/@fs${As("/",ot(e))}`}function zp(e){return e.startsWith("/")||/^\.\.?[\/\\]/.test(e)}import{mergeConfig as W_}from"vite";import{isFunction as Kp}from"@antfu/utils";import{cyan as Y_,dim as z_}from"kolorist";import{loadConfig as U_}from"unconfig";import{normalizePath as G_}from"vite";async function yt(e,t={}){let{config:r,sources:n}=await await U_({sources:{files:e,rewrite:t.rewrite},cwd:t.cwd||process.cwd()}),i=G_(n[0]||"");return{config:r,configFile:i}}var Ht=gr((e,t,r)=>{if(Kp(e[t])&&Kp(r)&&(e[t]=function(...n){e[t].call(this,...n),r.call(this,...n)}),t==="vite")return e[t]=W_(e[t],r),!0});async function Rs(e,t){return yt("valaxy.config",{rewrite(r){return typeof r=="function"?r(t||{}):r},cwd:e})}async function Jp(e){let{config:t,configFile:r}=await Rs(e.userRoot||process.cwd());t&&Ae.info(`Resolve ${Y_("valaxyConfig")} from ${z_(r)}`);let n=e.theme||t.theme||"yun";return{config:t,configFile:r,theme:n}}async function Xp(e,t){let r={};for(let n of e){let{config:i,configFile:o}=await yt("index",{rewrite(s,a){return typeof s=="function"?s(n,t):s},cwd:n.root});i&&(n.configFile=o,r=Ht(i,r))}return r}var rd=e=>`JSON.parse(${JSON.stringify(JSON.stringify(e))})`;function Ge(e,t=!1,r={preserveSymlinks:!1}){try{return(0,td.sync)(e,r)}catch(n){ed.log(n)}if(K_){try{return I.resolve(Qp(Zp.yarn.packages,e))}catch{}try{return I.resolve(Qp(Zp.npm.packages,e))}catch{}}if(t)throw new Error(`Failed to resolve package ${e}`);ed.error(`Failed to resolve package ${e}`)}function J_(e){return e}var eR=J_;function X_(e){return e}var tR=X_;function nR(e){return e}function Q_(e){return e}var iR=Q_,ks={mode:"auto",url:"/",lang:"en",title:"Valaxy Blog",description:"A blog generated by Valaxy.",subtitle:"Next Generation Static Blog Framework.",author:{avatar:"https://www.yunyoujun.cn/images/avatar.jpg",email:"i@valaxy.site",link:"https://valaxy.site",name:"VALAXY Developer",status:{emoji:"\u{1F30C}",message:"The moonlight is beautiful."}},favicon:"/favicon.svg",feed:{name:"",favicon:"/favicon.svg"},social:[],date:{format:""},lastUpdated:!0,license:{enabled:!0,language:"",type:"by-nc-sa"},sponsor:{enable:!0,title:"\u8D5E\u52A9",methods:[]},search:{enable:!1,type:"fuse"},comment:{enable:!1},cdn:{prefix:"https://unpkg.com/"},mediumZoom:{enable:!1,selector:"",options:{}},statistics:{enable:!1,readTime:{speed:{cn:300,en:100}}},pageSize:7},nd={ignoreDeadLinks:!0,siteConfig:ks,theme:"yun",themeConfig:{pkg:{name:"",version:""}},runtimeConfig:{addons:{}},features:{katex:!0},vite:{build:{rollupOptions:{external:[]}}}};function oR(e){return e}var Fs=Q(Re(),1);import{resolve as tx}from"node:path";import{cyan as rx,yellow as nx}from"kolorist";import{dirname as id,resolve as Z_}from"node:path";import ex from"node:fs";function In(e,t){if(!e)return"";if(zp(e))if(t){let r=ex.lstatSync(t).isFile();return Z_(r?id(t):t,e)}else throw new Error(`entry is required when ${e} is path`);else return id(Ge(`${e}/package.json`)||"")}async function sd(e,t=process.cwd()){let r={},n=o=>{o&&(r[o.name]=$e(r[o.name]||{},o))};if(Array.isArray(e))for(let o of e){if(typeof o=="string"){n(await od(o,{cwd:t}));continue}typeof o=="object"&&n($e(await od(o.name,{cwd:t}),o||{}))}let i=Object.values(r).filter(o=>o.enable);return Ae.info(`Resolve ${rx("addons:")} ${nx(i.map(o=>o.name).join(", "))}`),i}async function od(e,t={}){let r=ix(e,t.cwd||process.cwd()),n=tx(r,"./package.json");if(!Fs.default.existsSync(n)){Ae.error(`No addon named ${e} found`);return}let i=await Fs.default.readJSON(n);return{enable:!0,name:i.name,global:!!i.global,root:r,options:{},props:{}}}function ix(e,t){let r=e.startsWith("valaxy-addon")||e.startsWith(".")?e:`valaxy-addon-${e}`;return In(r,t)}function ad(e,t){let r=e.startsWith("valaxy-theme")||e.startsWith(".")?e:`valaxy-theme-${e}`;return In(r,t)}import{cyan as ox,dim as sx}from"kolorist";async function ax(e){return yt("site.config",{cwd:e})}async function Nn(e){let{config:t,configFile:r}=await ax(e);return t&&Ae.info(`Resolve ${ox("siteConfig")} from ${sx(r)}`),{siteConfig:t,siteConfigFile:r}}import{cyan as ux,dim as cx}from"kolorist";async function lx(e){return yt("theme.config",{cwd:e})}async function ud(e){let{config:t,configFile:r}=await lx(e);return t&&Ae.info(`Resolve ${ux("themeConfig")} from ${cx(r)}`),{themeConfig:t,themeConfigFile:r}}var hx=(0,fd.default)("valaxy:options");async function gx(e){let{config:t,themeRoot:r,theme:n}=e,i=t.siteConfig;i.url=cd("/",i.url||""),i.cdn.prefix=cd("/",i.cdn.prefix||"");let o=Ln(r,"package.json");try{t.themeConfig.pkg=await ld.default.readJson(o,"utf-8")}catch{console.error(`valaxy-theme-${n} doesn't have package.json`)}}async function Os(e,t){let{clientRoot:r,themeRoot:n,userRoot:i}=e,o=await sd(t.addons||[],e.userRoot),s=await Xp(o,e);t=Ht(t,s);let a=$e(t,nd);e.config={...a,runtimeConfig:{addons:{}}},e.addons=o,o.forEach(f=>{e.config.runtimeConfig.addons[f.name]=f});let u=o.map(({root:f})=>f),p=o.map(({name:f})=>f);e.addonRoots=u,e.roots=px([r,n,...u,i]);let c=e.config.vite?.build?.rollupOptions?.external||[];return e.config.vite.build.rollupOptions.external=c.filter(f=>!p.includes(f)),await gx(e),e}async function De(e={userRoot:process.cwd()},t="dev"){let r=fx(Ge("valaxy/package.json",!0)),n=Ln(r,"client"),i=Ln(e.userRoot||process.cwd()),{config:o,configFile:s,theme:a}=await Jp(e),{siteConfig:u,siteConfigFile:p}=await Nn(e.userRoot),{themeConfig:c,themeConfigFile:f}=await ud(e.userRoot);o=$e({siteConfig:u},{themeConfig:c},o);let l=ad(a,e.userRoot),y=(await(0,pd.default)(["**.md"],{cwd:Ln(i,"pages"),ignore:["**/node_modules"]})).sort(),h={mode:t,pkgRoot:r,clientRoot:n,userRoot:i,themeRoot:l,addonRoots:[],roots:[],theme:a,config:{...o,runtimeConfig:{addons:{}}},configFile:s||"",siteConfigFile:p||"",themeConfigFile:f||"",pages:y,addons:[]};hx(h);let E=await Ps(h),_=Ht(o,E);return h=await Os(h,_),h}async function Ps(e){Ae.info(`Resolve ${dx("valaxy.config.ts")} from ${mx(`theme(${e.theme})`)}`);let{config:t}=await Rs(e.themeRoot,e);return t}import*as mm from"node:readline";import Lb from"node:path";import qb from"node:os";import{blue as pm,bold as Gs,cyan as Bb,dim as Ye,gray as jb,green as Hb,underline as Ws,yellow as Vb}from"kolorist";import dm from"consola";import{mergeConfig as Ub}from"vite";import{createServer as Ib,mergeConfig as Nb}from"vite";import Yn from"node:fs";import{splitVendorChunkPlugin as Ab}from"vite";import Rb from"markdown-it";import kb from"gray-matter";import Fb from"@vitejs/plugin-vue";import Ob from"vite-plugin-pages";import Pb from"vite-plugin-vue-layouts";import Tb from"unplugin-vue-components/vite";import $b from"@intlify/unplugin-vue-i18n/vite";import lm from"dayjs";import{convert as Db}from"html-to-text";import hS from"markdown-it";import Hd from"markdown-it-anchor";import gS from"markdown-it-attrs";import yS from"markdown-it-emoji";import vS from"markdown-it-task-lists";import yx from"markdown-it/lib/common/html_blocks.js";var vx="[a-zA-Z_:@][a-zA-Z0-9:._-]*",Ex="[^\"'=<>`\\x00-\\x20]+",_x="'[^']*'",xx='"[^"]*"',Sx="(?:"+Ex+"|"+_x+"|"+xx+")",Ts="(?:\\s+"+vx+"(?:\\s*=\\s*"+Sx+")?)",dd="<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/?>",md="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",bx="<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->",Cx="<[?][\\s\\S]*?[?]>",wx="<![A-Z]+\\s+[^>]*>",Ax="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",Rx=new RegExp("^(?:"+dd+"|"+md+"|"+bx+"|"+Cx+"|"+wx+"|"+Ax+")"),kx=new RegExp("^(?:"+dd+"|"+md+")"),Fx=new RegExp("^<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/>"),Ox=new RegExp("^<([A-Za-z][A-Za-z0-9\\-]*)"+Ts+"*\\s*>.*<\\/\\1\\s*>"),Px=yx,Tx=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],$x=["template","component","transition","transition-group","keep-alive","slot","teleport"],Dx=({blockTags:e,inlineTags:t})=>{let r=[...e,...Px],n=[...t,...Tx.filter(o=>!$x.includes(o))];return[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^</?("+r.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp("^</?(?!("+n.join("|")+")(?![\\w-]))[A-Za-z][A-Za-z0-9\\-]*(?=(\\s|/?>|$))"),/^$/,!0],[new RegExp(kx.source+"\\s*$"),/^$/,!1]]},Mx=e=>{let t=Dx(e);return(r,n,i,o)=>{let s,a,u,p=r.bMarks[n]+r.tShift[n],c=r.eMarks[n];if(r.sCount[n]-r.blkIndent>=4||!r.md.options.html||r.src.charCodeAt(p)!==60)return!1;for(u=r.src.slice(p,c),s=0;s<t.length&&!t[s][0].test(u);s++);if(s===t.length)return!1;if(o)return t[s][2];if(s===6){let l=u.match(Fx)??u.match(Ox);if(l){r.line=n+1;let y=r.push("html_inline","",0);return y.content=l[0],y.map=[n,r.line],y=r.push("inline","",0),y.content=u.slice(l[0].length),y.map=[n,r.line],y.children=[],!0}}if(a=n+1,!t[s][1].test(u)){for(;a<i&&!(r.sCount[a]<r.blkIndent);a++)if(p=r.bMarks[a]+r.tShift[a],c=r.eMarks[a],u=r.src.slice(p,c),t[s][1].test(u)){u.length!==0&&a++;break}}r.line=a;let f=r.push("html_block","",0);return f.map=[n,a],f.content=r.getLines(n,a,r.blkIndent,!0),!0}},Ix=e=>{let t=e|32;return t>=97&&t<=122},Nx=(e,t)=>{let{pos:r}=e;if(!e.md.options.html)return!1;let n=e.posMax;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!Ix(i))return!1;let o=e.src.slice(r).match(Rx);if(!o)return!1;if(!t){let s=e.push("html_inline","",0);s.content=e.src.slice(r,r+o[0].length)}return e.pos+=o[0].length,!0},hd=(e,{blockTags:t=[],inlineTags:r=[]}={})=>{let n=Mx({blockTags:t,inlineTags:r});e.block.ruler.at("html_block",n,{alt:["paragraph","reference","blockquote"]}),e.inline.ruler.at("html_inline",Nx)};import Lx from"gray-matter";var gd=(e,{grayMatterOptions:t,renderExcerpt:r=!0}={})=>{let n=e.render.bind(e);e.render=(i,o={})=>{let{data:s,content:a,excerpt:u=""}=Lx(i,t);return o.content=a,o.frontmatter={...o.frontmatter,...s},o.excerpt=r&&u?n(u,{...o}):u,n(a,o)}};var qx={"&":"&","<":"<",">":">","'":"'",'"':"""},Bx=/[&<>'"]/g,vt=e=>e.replace(Bx,t=>qx[t]);var Sr=(e,{shouldAllowHtml:t,shouldEscapeText:r})=>{let n=e.children??[],i=["text","emoji","code_inline"];return t&&i.push("html_inline"),n.filter(s=>i.includes(s.type)&&!s.meta?.isPermalinkSymbol).reduce((s,a)=>r&&(a.type==="code_inline"||a.type==="text")?`${s}${vt(a.content)}`:`${s}${a.content}`,"").trim()},qn=(e,{level:t,shouldAllowHtml:r,shouldAllowNested:n,shouldEscapeText:i,slugify:o,format:s})=>{let a=[],u=[],p=c=>{for(;u.length!==0&&c.level<=u[0].level;)u.shift();u.length===0?(a.push(c),u.push(c)):(u[0].children.push(c),u.unshift(c))};for(let c=0;c<e.length;c+=1){let f=e[c];if(f?.type!=="heading_open"||f?.level!==0&&!n)continue;let l=Number.parseInt(f.tag.slice(1),10);if(!t.includes(l))continue;let y=e[c+1];if(!y)continue;let h=Sr(y,{shouldAllowHtml:r,shouldEscapeText:i}),E=f.attrGet("id")??o(h);p({level:l,title:s?.(h)??h,slug:E,link:`#${E}`,children:[]})}return a},jx=/[\u0000-\u001f]/g,Hx=/[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'“”‘’<>,.?/]+/g,Vx=/[\u0300-\u036F]/g,Bn=e=>e.normalize("NFKD").replace(Vx,"").replace(jx,"").replace(Hx,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/^(\d)/,"_$1").toLowerCase();var yd=(e,{level:t=[2,3],shouldAllowNested:r=!1,slugify:n=Bn,format:i}={})=>{let o=e.renderer.render.bind(e.renderer);e.renderer.render=(s,a,u)=>(u.headers=qn(s,{level:t,shouldAllowHtml:!1,shouldAllowNested:r,shouldEscapeText:!1,slugify:n,format:i}),o(s,a,u))};var vd="script",Ed="style",br="template",Ux=/^<script\s+.*?\bsetup\b.*?>$/is,Gx=({customBlocks:e})=>{let t=Array.from(new Set([vd,Ed,...e])).join("|");return new RegExp(`^\\s*(?<content>(?<tagOpen><(?<type>${t})\\s?.*?>)(?<contentStripped>.*)(?<tagClose><\\/\\k<type>\\s*>))\\s*$`,"is")},_d=(e,{customBlocks:t=[]}={})=>{let r=Gx({customBlocks:t}),n=e.render.bind(e);e.render=(o,s={})=>{s.sfcBlocks={template:null,script:null,scriptSetup:null,scripts:[],styles:[],customBlocks:[]};let a=n(o,s);return s.sfcBlocks.template={type:br,content:`<${br}>${a}</${br}>`,contentStripped:a,tagOpen:`<${br}>`,tagClose:`</${br}>`},a};let i=e.renderer.rules.html_block;e.renderer.rules.html_block=(o,s,a,u,p)=>{if(!u.sfcBlocks)return i(o,s,a,u,p);let l=o[s].content.match(r);if(!l)return i(o,s,a,u,p);let y=l.groups;return y.type===vd?(u.sfcBlocks.scripts.push(y),Ux.test(y.tagOpen)?u.sfcBlocks.scriptSetup=y:u.sfcBlocks.script=y):y.type===Ed?u.sfcBlocks.styles.push(y):u.sfcBlocks.customBlocks.push(y),""}};var xd=e=>{let t=e.renderer.render.bind(e.renderer);e.renderer.render=(r,n,i)=>{let o=r.findIndex(s=>s.tag==="h1");return i.title=o>-1?Sr(r[o+1],{shouldAllowHtml:!1,shouldEscapeText:!1}):"",t(r,n,i)}};var Wx=({listTag:e,listClass:t,itemClass:r,linkTag:n,linkClass:i})=>{let o=vt(e),s=t?` class="${vt(t)}"`:"",a="li",u=r?` class="${vt(r)}"`:"",p=vt(n),c=i?` class="${vt(i)}"`:"",f=y=>n==="router-link"?` to="${y}"`:` href="${y}"`,l=y=>`<${o}${s}>${y.map(h=>`<${a}${u}${u}><${p}${c}${f(h.link)}>${h.title}</${p}>${h.children.length>0?l(h.children):""}</${a}>`).join("")}</${o}>`;return l},Yx=({pattern:e,containerTag:t,containerClass:r})=>(n,i,o,s)=>{if(n.sCount[i]-n.blkIndent>=4)return!1;let a=n.bMarks[i]+n.tShift[i],u=n.eMarks[i],p=n.src.slice(a,u).split(" ")[0];if(!e.test(p))return!1;if(s)return!0;n.line=i+1;let c=n.push("toc_open",t,1);c.markup="",c.map=[i,n.line],r&&c.attrSet("class",r);let f=n.push("toc_body","",0);f.markup=p,f.map=[i,n.line],f.hidden=!0;let l=n.push("toc_close",t,-1);return l.markup="",f.map=[i,n.line],!0},Sd=(e,{pattern:t=/^\[\[toc\]\]$/i,slugify:r=Bn,format:n,level:i=[2,3],shouldAllowNested:o=!1,containerTag:s="nav",containerClass:a="table-of-contents",listTag:u="ul",listClass:p="",itemClass:c="",linkTag:f="a",linkClass:l=""}={})=>{e.block.ruler.before("heading","toc",Yx({pattern:t,containerTag:s,containerClass:a}),{alt:["paragraph","reference","blockquote"]});let y=Wx({listTag:u,listClass:p,itemClass:c,linkTag:f,linkClass:l});e.renderer.rules.toc_body=h=>y(qn(h,{level:i,shouldAllowHtml:!0,shouldAllowNested:o,shouldEscapeText:!0,slugify:r,format:n}))};import bd from"katex";function Cd(e,t){let r=e.posMax,n=!0,i=!0,o=t>0?e.src.charCodeAt(t-1):-1,s=t+1<=r?e.src.charCodeAt(t+1):-1;return(o===32||o===9||s>=48&&s<=57)&&(i=!1),(s===32||s===9)&&(n=!1),{can_open:n,can_close:i}}function zx(e,t){let r,n,i,o;if(e.src[e.pos]!=="$")return!1;if(i=Cd(e,e.pos),!i.can_open)return t||(e.pending+="$"),e.pos+=1,!0;let s=e.pos+1;for(r=s;(r=e.src.indexOf("$",r))!==-1;){for(o=r-1;e.src[o]==="\\";)o-=1;if((r-o)%2===1)break;r+=1}return r===-1?(t||(e.pending+="$"),e.pos=s,!0):r-s===0?(t||(e.pending+="$$"),e.pos=s+1,!0):(i=Cd(e,r),i.can_close?(t||(n=e.push("math_inline","math",0),n.markup="$",n.content=e.src.slice(s,r)),e.pos=r+1,!0):(t||(e.pending+="$"),e.pos=s,!0))}function Kx(e,t,r,n){let i,o,s,a,u=!1,p=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(p+2>c||e.src.slice(p,p+2)!=="$$")return!1;if(p+=2,i=e.src.slice(p,c),n)return!0;for(i.trim().slice(-2)==="$$"&&(i=i.trim().slice(0,-2),u=!0),s=t;!u&&(s++,!(s>=r||(p=e.bMarks[s]+e.tShift[s],c=e.eMarks[s],p<c&&e.tShift[s]<e.blkIndent)));)e.src.slice(p,c).trim().slice(-2)==="$$"&&(a=e.src.slice(0,c).lastIndexOf("$$"),o=e.src.slice(p,a),u=!0);e.line=s+1;let f=e.push("math_block","math",0);return f.block=!0,f.content=(i&&i.trim()?`${i}
|
|
17
|
+
`);return o!==-1&&(t=FC(t,i,n,o)),n+t+i},ta,th=(e,...t)=>{let[r]=t;if(!ti(r)||!ti(r.raw))return t.join(" ");let n=t.slice(1),i=[r.raw[0]];for(let o=1;o<r.length;o++)i.push(String(n[o-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[o]));return ta===void 0&&(ta=Jm()),ta(e,i.join(""))};Object.defineProperties(ri.prototype,Qt);var ii=ri();ii.supportsColor=ra;ii.stderr=ri({level:na?na.level:0});ii.stderr.supportsColor=na;rh.exports=ii});var er=Q(Re(),1);import Zt from"node:path";import{exec as VC}from"node:child_process";import UC from"yargs";import{mergeConfig as sa}from"vite";import GC from"open";import si from"consola";import{yellow as WC}from"kolorist";import{hideBin as YC}from"yargs/helpers";var Jr="0.14.22";import C1 from"node:net";async function Ai(e){return await w1(e)?e:await Ai(e+1)}function w1(e){return new Promise(t=>{let r=C1.createServer(n=>{n.write(`Echo server\r
|
|
18
|
+
`),n.pipe(n)});r.listen(e,"0.0.0.0"),r.on("error",()=>{t(!1)}),r.on("listening",()=>{r.close(),t(!0)})})}var ld=Q(Re(),1),fd=Q(Pi(),1),pd=Q(Pn(),1);import{dirname as fx,resolve as Ln}from"node:path";import{ensureSuffix as cd,uniq as px}from"@antfu/utils";function ms(e){return e!==null&&typeof e=="object"}function hs(e,t,r=".",n){if(!ms(t))return hs(e,{},r,n);let i=Object.assign({},t);for(let o in e){if(o==="__proto__"||o==="constructor")continue;let s=e[o];s!=null&&(n&&n(i,o,s,r)||(Array.isArray(s)&&Array.isArray(i[o])?i[o]=s.concat(i[o]):ms(s)&&ms(i[o])?i[o]=hs(s,i[o],(r?`${r}.`:"")+o.toString(),n):i[o]=s))}return i}function gr(e){return(...t)=>t.reduce((r,n)=>hs(r,n,"",e),{})}var $e=gr(),sA=gr((e,t,r,n)=>{if(typeof e[t]<"u"&&typeof r=="function")return e[t]=r(e[t]),!0}),aA=gr((e,t,r,n)=>{if(Array.isArray(e[t])&&typeof r=="function")return e[t]=r(e[t]),!0});import{cyan as dx,yellow as mx}from"kolorist";import QE from"consola";function gs(){return process.env.NODE_ENV==="production"}function ys(e="development"){process.env.NODE_ENV=e,Ae.level=gs()?2:3}function yr(){return ys("production")}var Ae=QE.create({level:gs()?2:3});var td=Q(Up(),1);import{join as Qp}from"node:path";import K_ from"is-installed-globally";import Zp from"global-dirs";import ed from"consola";import{spawn as V_}from"cross-spawn";function xr(e,t="updated"){return new Promise((r,n)=>{let i=["log"];t==="updated"&&i.push("-1"),i.push('--pretty="%ci"',e),t==="created"&&i.push("|","tail","-1");let o=V_("git",i),s="";o.stdout.on("data",a=>s+=String(a)),o.on("close",()=>{r(+new Date(s))}),o.on("error",()=>{r(0)})})}var Mn="<!-- more -->",jt=/^https?:/i,Gp=/^pathname:\/\//,Wp="/:all(.*)*";function Yp(e){return jt.test(e)}function ot(e){return e.replace(/\\/g,"/")}function As(e,t){return t.startsWith(e)?t:e+t}function re(e){return`/@fs${As("/",ot(e))}`}function zp(e){return e.startsWith("/")||/^\.\.?[\/\\]/.test(e)}import{mergeConfig as W_}from"vite";import{isFunction as Kp}from"@antfu/utils";import{cyan as Y_,dim as z_}from"kolorist";import{loadConfig as U_}from"unconfig";import{normalizePath as G_}from"vite";async function yt(e,t={}){let{config:r,sources:n}=await await U_({sources:{files:e,rewrite:t.rewrite},cwd:t.cwd||process.cwd()}),i=G_(n[0]||"");return{config:r,configFile:i}}var Ht=gr((e,t,r)=>{if(Kp(e[t])&&Kp(r)&&(e[t]=function(...n){e[t].call(this,...n),r.call(this,...n)}),t==="vite")return e[t]=W_(e[t],r),!0});async function Rs(e,t){return yt("valaxy.config",{rewrite(r){return typeof r=="function"?r(t||{}):r},cwd:e})}async function Jp(e){let{config:t,configFile:r}=await Rs(e.userRoot||process.cwd());t&&Ae.info(`Resolve ${Y_("valaxyConfig")} from ${z_(r)}`);let n=e.theme||t.theme||"yun";return{config:t,configFile:r,theme:n}}async function Xp(e,t){let r={};for(let n of e){let{config:i,configFile:o}=await yt("index",{rewrite(s,a){return typeof s=="function"?s(n,t):s},cwd:n.root});i&&(n.configFile=o,r=Ht(i,r))}return r}function rd(e){return`JSON.parse(${JSON.stringify(JSON.stringify(e))})`}function Ge(e,t=!1,r={preserveSymlinks:!1}){try{return(0,td.sync)(e,r)}catch(n){ed.log(n)}if(K_){try{return I.resolve(Qp(Zp.yarn.packages,e))}catch{}try{return I.resolve(Qp(Zp.npm.packages,e))}catch{}}if(t)throw new Error(`Failed to resolve package ${e}`);ed.error(`Failed to resolve package ${e}`)}function J_(e){return e}var eR=J_;function X_(e){return e}var tR=X_;function nR(e){return e}function Q_(e){return e}var iR=Q_,ks={mode:"auto",url:"/",lang:"en",title:"Valaxy Blog",description:"A blog generated by Valaxy.",subtitle:"Next Generation Static Blog Framework.",author:{avatar:"https://www.yunyoujun.cn/images/avatar.jpg",email:"i@valaxy.site",link:"https://valaxy.site",name:"VALAXY Developer",status:{emoji:"\u{1F30C}",message:"The moonlight is beautiful."}},favicon:"/favicon.svg",feed:{name:"",favicon:"/favicon.svg"},social:[],date:{format:""},lastUpdated:!0,license:{enabled:!0,language:"",type:"by-nc-sa"},sponsor:{enable:!0,title:"\u8D5E\u52A9",methods:[]},search:{enable:!1,type:"fuse"},comment:{enable:!1},cdn:{prefix:"https://unpkg.com/"},mediumZoom:{enable:!1,selector:"",options:{}},statistics:{enable:!1,readTime:{speed:{cn:300,en:100}}},pageSize:7},nd={ignoreDeadLinks:!0,siteConfig:ks,theme:"yun",themeConfig:{pkg:{name:"",version:""}},runtimeConfig:{addons:{}},features:{katex:!0},vite:{build:{rollupOptions:{external:[]}}}};function oR(e){return e}var Fs=Q(Re(),1);import{resolve as tx}from"node:path";import{cyan as rx,yellow as nx}from"kolorist";import{dirname as id,resolve as Z_}from"node:path";import ex from"node:fs";function In(e,t){if(!e)return"";if(zp(e))if(t){let r=ex.lstatSync(t).isFile();return Z_(r?id(t):t,e)}else throw new Error(`entry is required when ${e} is path`);else return id(Ge(`${e}/package.json`)||"")}async function sd(e,t=process.cwd()){let r={},n=o=>{o&&(r[o.name]=$e(r[o.name]||{},o))};if(Array.isArray(e))for(let o of e){if(typeof o=="string"){n(await od(o,{cwd:t}));continue}typeof o=="object"&&n($e(await od(o.name,{cwd:t}),o||{}))}let i=Object.values(r).filter(o=>o.enable);return Ae.info(`Resolve ${rx("addons:")} ${nx(i.map(o=>o.name).join(", "))}`),i}async function od(e,t={}){let r=ix(e,t.cwd||process.cwd()),n=tx(r,"./package.json");if(!Fs.default.existsSync(n)){Ae.error(`No addon named ${e} found`);return}let i=await Fs.default.readJSON(n);return{enable:!0,name:i.name,global:!!i.global,root:r,options:{},props:{}}}function ix(e,t){let r=e.startsWith("valaxy-addon")||e.startsWith(".")?e:`valaxy-addon-${e}`;return In(r,t)}function ad(e,t){let r=e.startsWith("valaxy-theme")||e.startsWith(".")?e:`valaxy-theme-${e}`;return In(r,t)}import{cyan as ox,dim as sx}from"kolorist";async function ax(e){return yt("site.config",{cwd:e})}async function Nn(e){let{config:t,configFile:r}=await ax(e);return t&&Ae.info(`Resolve ${ox("siteConfig")} from ${sx(r)}`),{siteConfig:t,siteConfigFile:r}}import{cyan as ux,dim as cx}from"kolorist";async function lx(e){return yt("theme.config",{cwd:e})}async function ud(e){let{config:t,configFile:r}=await lx(e);return t&&Ae.info(`Resolve ${ux("themeConfig")} from ${cx(r)}`),{themeConfig:t,themeConfigFile:r}}var hx=(0,fd.default)("valaxy:options");async function gx(e){let{config:t,themeRoot:r,theme:n}=e,i=t.siteConfig;i.url=cd("/",i.url||""),i.cdn.prefix=cd("/",i.cdn.prefix||"");let o=Ln(r,"package.json");try{t.themeConfig.pkg=await ld.default.readJson(o,"utf-8")}catch{console.error(`valaxy-theme-${n} doesn't have package.json`)}}async function Os(e,t){let{clientRoot:r,themeRoot:n,userRoot:i}=e,o=await sd(t.addons||[],e.userRoot),s=await Xp(o,e);t=Ht(t,s);let a=$e(t,nd);e.config={...a,runtimeConfig:{addons:{}}},e.addons=o,o.forEach(f=>{e.config.runtimeConfig.addons[f.name]=f});let u=o.map(({root:f})=>f),p=o.map(({name:f})=>f);e.addonRoots=u,e.roots=px([r,n,...u,i]);let c=e.config.vite?.build?.rollupOptions?.external||[];return e.config.vite.build.rollupOptions.external=c.filter(f=>!p.includes(f)),await gx(e),e}async function De(e={userRoot:process.cwd()},t="dev"){let r=fx(Ge("valaxy/package.json",!0)),n=Ln(r,"client"),i=Ln(e.userRoot||process.cwd()),{config:o,configFile:s,theme:a}=await Jp(e),{siteConfig:u,siteConfigFile:p}=await Nn(e.userRoot),{themeConfig:c,themeConfigFile:f}=await ud(e.userRoot);o=$e({siteConfig:u},{themeConfig:c},o);let l=ad(a,e.userRoot),y=(await(0,pd.default)(["**.md"],{cwd:Ln(i,"pages"),ignore:["**/node_modules"]})).sort(),h={mode:t,pkgRoot:r,clientRoot:n,userRoot:i,themeRoot:l,addonRoots:[],roots:[],theme:a,config:{...o,runtimeConfig:{addons:{}}},configFile:s||"",siteConfigFile:p||"",themeConfigFile:f||"",pages:y,addons:[]};hx(h);let E=await Ps(h),_=Ht(o,E);return h=await Os(h,_),h}async function Ps(e){Ae.info(`Resolve ${dx("valaxy.config.ts")} from ${mx(`theme(${e.theme})`)}`);let{config:t}=await Rs(e.themeRoot,e);return t}import*as mm from"node:readline";import Lb from"node:path";import qb from"node:os";import{blue as pm,bold as Gs,cyan as Bb,dim as Ye,gray as jb,green as Hb,underline as Ws,yellow as Vb}from"kolorist";import dm from"consola";import{mergeConfig as Ub}from"vite";import{createServer as Ib,mergeConfig as Nb}from"vite";import Yn from"node:fs";import{splitVendorChunkPlugin as Ab}from"vite";import Rb from"markdown-it";import kb from"gray-matter";import Fb from"@vitejs/plugin-vue";import Ob from"vite-plugin-pages";import Pb from"vite-plugin-vue-layouts";import Tb from"unplugin-vue-components/vite";import $b from"@intlify/unplugin-vue-i18n/vite";import lm from"dayjs";import{convert as Db}from"html-to-text";import hS from"markdown-it";import Hd from"markdown-it-anchor";import gS from"markdown-it-attrs";import yS from"markdown-it-emoji";import vS from"markdown-it-task-lists";import yx from"markdown-it/lib/common/html_blocks.js";var vx="[a-zA-Z_:@][a-zA-Z0-9:._-]*",Ex="[^\"'=<>`\\x00-\\x20]+",_x="'[^']*'",xx='"[^"]*"',Sx="(?:"+Ex+"|"+_x+"|"+xx+")",Ts="(?:\\s+"+vx+"(?:\\s*=\\s*"+Sx+")?)",dd="<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/?>",md="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",bx="<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->",Cx="<[?][\\s\\S]*?[?]>",wx="<![A-Z]+\\s+[^>]*>",Ax="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",Rx=new RegExp("^(?:"+dd+"|"+md+"|"+bx+"|"+Cx+"|"+wx+"|"+Ax+")"),kx=new RegExp("^(?:"+dd+"|"+md+")"),Fx=new RegExp("^<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/>"),Ox=new RegExp("^<([A-Za-z][A-Za-z0-9\\-]*)"+Ts+"*\\s*>.*<\\/\\1\\s*>"),Px=yx,Tx=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],$x=["template","component","transition","transition-group","keep-alive","slot","teleport"],Dx=({blockTags:e,inlineTags:t})=>{let r=[...e,...Px],n=[...t,...Tx.filter(o=>!$x.includes(o))];return[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^</?("+r.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp("^</?(?!("+n.join("|")+")(?![\\w-]))[A-Za-z][A-Za-z0-9\\-]*(?=(\\s|/?>|$))"),/^$/,!0],[new RegExp(kx.source+"\\s*$"),/^$/,!1]]},Mx=e=>{let t=Dx(e);return(r,n,i,o)=>{let s,a,u,p=r.bMarks[n]+r.tShift[n],c=r.eMarks[n];if(r.sCount[n]-r.blkIndent>=4||!r.md.options.html||r.src.charCodeAt(p)!==60)return!1;for(u=r.src.slice(p,c),s=0;s<t.length&&!t[s][0].test(u);s++);if(s===t.length)return!1;if(o)return t[s][2];if(s===6){let l=u.match(Fx)??u.match(Ox);if(l){r.line=n+1;let y=r.push("html_inline","",0);return y.content=l[0],y.map=[n,r.line],y=r.push("inline","",0),y.content=u.slice(l[0].length),y.map=[n,r.line],y.children=[],!0}}if(a=n+1,!t[s][1].test(u)){for(;a<i&&!(r.sCount[a]<r.blkIndent);a++)if(p=r.bMarks[a]+r.tShift[a],c=r.eMarks[a],u=r.src.slice(p,c),t[s][1].test(u)){u.length!==0&&a++;break}}r.line=a;let f=r.push("html_block","",0);return f.map=[n,a],f.content=r.getLines(n,a,r.blkIndent,!0),!0}},Ix=e=>{let t=e|32;return t>=97&&t<=122},Nx=(e,t)=>{let{pos:r}=e;if(!e.md.options.html)return!1;let n=e.posMax;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!Ix(i))return!1;let o=e.src.slice(r).match(Rx);if(!o)return!1;if(!t){let s=e.push("html_inline","",0);s.content=e.src.slice(r,r+o[0].length)}return e.pos+=o[0].length,!0},hd=(e,{blockTags:t=[],inlineTags:r=[]}={})=>{let n=Mx({blockTags:t,inlineTags:r});e.block.ruler.at("html_block",n,{alt:["paragraph","reference","blockquote"]}),e.inline.ruler.at("html_inline",Nx)};import Lx from"gray-matter";var gd=(e,{grayMatterOptions:t,renderExcerpt:r=!0}={})=>{let n=e.render.bind(e);e.render=(i,o={})=>{let{data:s,content:a,excerpt:u=""}=Lx(i,t);return o.content=a,o.frontmatter={...o.frontmatter,...s},o.excerpt=r&&u?n(u,{...o}):u,n(a,o)}};var qx={"&":"&","<":"<",">":">","'":"'",'"':"""},Bx=/[&<>'"]/g,vt=e=>e.replace(Bx,t=>qx[t]);var Sr=(e,{shouldAllowHtml:t,shouldEscapeText:r})=>{let n=e.children??[],i=["text","emoji","code_inline"];return t&&i.push("html_inline"),n.filter(s=>i.includes(s.type)&&!s.meta?.isPermalinkSymbol).reduce((s,a)=>r&&(a.type==="code_inline"||a.type==="text")?`${s}${vt(a.content)}`:`${s}${a.content}`,"").trim()},qn=(e,{level:t,shouldAllowHtml:r,shouldAllowNested:n,shouldEscapeText:i,slugify:o,format:s})=>{let a=[],u=[],p=c=>{for(;u.length!==0&&c.level<=u[0].level;)u.shift();u.length===0?(a.push(c),u.push(c)):(u[0].children.push(c),u.unshift(c))};for(let c=0;c<e.length;c+=1){let f=e[c];if(f?.type!=="heading_open"||f?.level!==0&&!n)continue;let l=Number.parseInt(f.tag.slice(1),10);if(!t.includes(l))continue;let y=e[c+1];if(!y)continue;let h=Sr(y,{shouldAllowHtml:r,shouldEscapeText:i}),E=f.attrGet("id")??o(h);p({level:l,title:s?.(h)??h,slug:E,link:`#${E}`,children:[]})}return a},jx=/[\u0000-\u001f]/g,Hx=/[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'“”‘’<>,.?/]+/g,Vx=/[\u0300-\u036F]/g,Bn=e=>e.normalize("NFKD").replace(Vx,"").replace(jx,"").replace(Hx,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/^(\d)/,"_$1").toLowerCase();var yd=(e,{level:t=[2,3],shouldAllowNested:r=!1,slugify:n=Bn,format:i}={})=>{let o=e.renderer.render.bind(e.renderer);e.renderer.render=(s,a,u)=>(u.headers=qn(s,{level:t,shouldAllowHtml:!1,shouldAllowNested:r,shouldEscapeText:!1,slugify:n,format:i}),o(s,a,u))};var vd="script",Ed="style",br="template",Ux=/^<script\s+.*?\bsetup\b.*?>$/is,Gx=({customBlocks:e})=>{let t=Array.from(new Set([vd,Ed,...e])).join("|");return new RegExp(`^\\s*(?<content>(?<tagOpen><(?<type>${t})\\s?.*?>)(?<contentStripped>.*)(?<tagClose><\\/\\k<type>\\s*>))\\s*$`,"is")},_d=(e,{customBlocks:t=[]}={})=>{let r=Gx({customBlocks:t}),n=e.render.bind(e);e.render=(o,s={})=>{s.sfcBlocks={template:null,script:null,scriptSetup:null,scripts:[],styles:[],customBlocks:[]};let a=n(o,s);return s.sfcBlocks.template={type:br,content:`<${br}>${a}</${br}>`,contentStripped:a,tagOpen:`<${br}>`,tagClose:`</${br}>`},a};let i=e.renderer.rules.html_block;e.renderer.rules.html_block=(o,s,a,u,p)=>{if(!u.sfcBlocks)return i(o,s,a,u,p);let l=o[s].content.match(r);if(!l)return i(o,s,a,u,p);let y=l.groups;return y.type===vd?(u.sfcBlocks.scripts.push(y),Ux.test(y.tagOpen)?u.sfcBlocks.scriptSetup=y:u.sfcBlocks.script=y):y.type===Ed?u.sfcBlocks.styles.push(y):u.sfcBlocks.customBlocks.push(y),""}};var xd=e=>{let t=e.renderer.render.bind(e.renderer);e.renderer.render=(r,n,i)=>{let o=r.findIndex(s=>s.tag==="h1");return i.title=o>-1?Sr(r[o+1],{shouldAllowHtml:!1,shouldEscapeText:!1}):"",t(r,n,i)}};var Wx=({listTag:e,listClass:t,itemClass:r,linkTag:n,linkClass:i})=>{let o=vt(e),s=t?` class="${vt(t)}"`:"",a="li",u=r?` class="${vt(r)}"`:"",p=vt(n),c=i?` class="${vt(i)}"`:"",f=y=>n==="router-link"?` to="${y}"`:` href="${y}"`,l=y=>`<${o}${s}>${y.map(h=>`<${a}${u}${u}><${p}${c}${f(h.link)}>${h.title}</${p}>${h.children.length>0?l(h.children):""}</${a}>`).join("")}</${o}>`;return l},Yx=({pattern:e,containerTag:t,containerClass:r})=>(n,i,o,s)=>{if(n.sCount[i]-n.blkIndent>=4)return!1;let a=n.bMarks[i]+n.tShift[i],u=n.eMarks[i],p=n.src.slice(a,u).split(" ")[0];if(!e.test(p))return!1;if(s)return!0;n.line=i+1;let c=n.push("toc_open",t,1);c.markup="",c.map=[i,n.line],r&&c.attrSet("class",r);let f=n.push("toc_body","",0);f.markup=p,f.map=[i,n.line],f.hidden=!0;let l=n.push("toc_close",t,-1);return l.markup="",f.map=[i,n.line],!0},Sd=(e,{pattern:t=/^\[\[toc\]\]$/i,slugify:r=Bn,format:n,level:i=[2,3],shouldAllowNested:o=!1,containerTag:s="nav",containerClass:a="table-of-contents",listTag:u="ul",listClass:p="",itemClass:c="",linkTag:f="a",linkClass:l=""}={})=>{e.block.ruler.before("heading","toc",Yx({pattern:t,containerTag:s,containerClass:a}),{alt:["paragraph","reference","blockquote"]});let y=Wx({listTag:u,listClass:p,itemClass:c,linkTag:f,linkClass:l});e.renderer.rules.toc_body=h=>y(qn(h,{level:i,shouldAllowHtml:!0,shouldAllowNested:o,shouldEscapeText:!0,slugify:r,format:n}))};import bd from"katex";function Cd(e,t){let r=e.posMax,n=!0,i=!0,o=t>0?e.src.charCodeAt(t-1):-1,s=t+1<=r?e.src.charCodeAt(t+1):-1;return(o===32||o===9||s>=48&&s<=57)&&(i=!1),(s===32||s===9)&&(n=!1),{can_open:n,can_close:i}}function zx(e,t){let r,n,i,o;if(e.src[e.pos]!=="$")return!1;if(i=Cd(e,e.pos),!i.can_open)return t||(e.pending+="$"),e.pos+=1,!0;let s=e.pos+1;for(r=s;(r=e.src.indexOf("$",r))!==-1;){for(o=r-1;e.src[o]==="\\";)o-=1;if((r-o)%2===1)break;r+=1}return r===-1?(t||(e.pending+="$"),e.pos=s,!0):r-s===0?(t||(e.pending+="$$"),e.pos=s+1,!0):(i=Cd(e,r),i.can_close?(t||(n=e.push("math_inline","math",0),n.markup="$",n.content=e.src.slice(s,r)),e.pos=r+1,!0):(t||(e.pending+="$"),e.pos=s,!0))}function Kx(e,t,r,n){let i,o,s,a,u=!1,p=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(p+2>c||e.src.slice(p,p+2)!=="$$")return!1;if(p+=2,i=e.src.slice(p,c),n)return!0;for(i.trim().slice(-2)==="$$"&&(i=i.trim().slice(0,-2),u=!0),s=t;!u&&(s++,!(s>=r||(p=e.bMarks[s]+e.tShift[s],c=e.eMarks[s],p<c&&e.tShift[s]<e.blkIndent)));)e.src.slice(p,c).trim().slice(-2)==="$$"&&(a=e.src.slice(0,c).lastIndexOf("$$"),o=e.src.slice(p,a),u=!0);e.line=s+1;let f=e.push("math_block","math",0);return f.block=!0,f.content=(i&&i.trim()?`${i}
|
|
19
19
|
`:"")+e.getLines(t+1,s,e.tShift[t],!0)+(o&&o.trim()?o:""),f.map=[t,e.line],f.markup="$$",!0}function $s(e,t){t=t||{};let r=function(s){t.displayMode=!1;try{return bd.renderToString(s,t)}catch(a){return t.throwOnError&&console.warn(a),s}},n=function(s,a){return r(s[a].content)},i=function(s){t.displayMode=!0;try{return`<p>${bd.renderToString(s,t)}</p>`}catch(a){return t.throwOnError&&console.warn(a),s}},o=function(s,a){return`${i(s[a].content)}
|
|
20
20
|
`};e.inline.ruler.after("escape","math_inline",zx),e.block.ruler.after("blockquote","math_block",Kx,{alt:["paragraph","reference","blockquote","list"]}),e.renderer.rules.math_inline=n,e.renderer.rules.math_block=o}import Ds from"markdown-it-container";function Jx(e,{icon:t,color:r,text:n,langs:i}={}){return[Ds,e,{render(o,s){let a=o[s],u=a.info.trim().slice(e.length).trim();if(a.nesting===1){if(e==="details")return`<details class="${e} custom-block">${`<summary>${u}</summary>`}
|
|
21
21
|
`;let p="";t&&(p=`<i class="icon ${t}" ${r?`style="color: ${r}"`:""}></i>`);let c=`<span lang="en">${u||n}</span>`;return i&&Object.keys(i).forEach(f=>{c+=`<span lang="${f}">${u||i[f]}</span>`}),`<div class="${e} custom-block"><p class="custom-block-title">${p}${c}</p>
|
|
22
22
|
`}else return e==="details"?`</details>
|
|
23
23
|
`:`</div>
|
|
24
|
-
`}}]}var wd={tip:{text:"TIP",langs:{"zh-CN":"\u63D0\u793A"}},warning:{text:"WARNING",langs:{"zh-CN":"\u6CE8\u610F"}},danger:{text:"DANGER",langs:{"zh-CN":"\u8B66\u544A"}},info:{text:"INFO",langs:{"zh-CN":"\u4FE1\u606F"}},details:{text:"Details",langs:{"zh-CN":"\u8BE6\u60C5"}}}
|
|
24
|
+
`}}]}var wd={tip:{text:"TIP",langs:{"zh-CN":"\u63D0\u793A"}},warning:{text:"WARNING",langs:{"zh-CN":"\u6CE8\u610F"}},danger:{text:"DANGER",langs:{"zh-CN":"\u8B66\u544A"}},info:{text:"INFO",langs:{"zh-CN":"\u4FE1\u606F"}},details:{text:"Details",langs:{"zh-CN":"\u8BE6\u60C5"}}};function Ad(e,t={}){Object.keys(wd).forEach(n=>{let i={...wd[n],...t[n]||{}};e.use(...Jx(n,i))}),e.use(Ds,"v-pre",{render:(n,i)=>n[i].nesting===1?`<div v-pre>
|
|
25
25
|
`:`</div>
|
|
26
26
|
`}),["zh-CN","en"].forEach(n=>{e.use(Ds,n,{render:(i,o)=>i[o].nesting===1?`<div lang="${n}">
|
|
27
27
|
`:`</div>
|
|
28
|
-
`})})}
|
|
28
|
+
`})})}var kd=Q(Rd(),1),Qx=/[\u0000-\u001F]/g,Zx=/[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'<>,.…?/]+/g;function Un(e){return(0,kd.remove)(e).replace(Qx,"").replace(Zx,"-").replace(/\-{2,}/g,"-").replace(/^\-+|\-+$/g,"").replace(/^(\d)/,"_$1").toLowerCase()}import Fd from"crypto";var eS=128,Et,Vt,tS=e=>{!Et||Et.length<e?(Et=Buffer.allocUnsafe(e*eS),Fd.randomFillSync(Et),Vt=0):Vt+e>Et.length&&(Fd.randomFillSync(Et),Vt=0),Vt+=e},rS=e=>(tS(e-=0),Et.subarray(Vt-e,Vt)),nS=(e,t,r)=>{let n=(2<<31-Math.clz32(e.length-1|1))-1,i=Math.ceil(1.6*n*t/e.length);return(o=t)=>{let s="";for(;;){let a=r(i),u=i;for(;u--;)if(s+=e[a[u]&n]||"",s.length===o)return s}}},Od=(e,t=21)=>nS(e,t,rS);var Nd=Q(Ls(),1);import{getHighlighter as sS}from"shiki";function wr(e,t={}){return({code:r})=>{let n=t.tagRegExp??/(?:\/\/|\/\*{1,2}) *\[!code ([\w+-]+)(?::(\d+))?] *(?:\*{1,2}\/)?/,i=[];return r=r.split(`
|
|
29
29
|
`).map((o,s)=>{let[a,u,p]=o.match(n)??[];return!a||!Object.keys(e).includes(u)?o:(Array.from({length:Number(p??1)}).forEach((c,f)=>{i.push({line:s+f+1,classes:e[u]})}),o.replace(n,""))}).join(`
|
|
30
|
-
`),{code:r,lineOptions:i}}}function Ut(e,t,r){let n=new RegExp(`<${r??"w+"}[^>]*class="([\\w+-:;\\/* ]*)"`);return t=Array.isArray(t)?t:[t],e.replace(n,(i,o)=>i.replace(o,`${o} ${t}`))}function $d(e={}){let t=e.commonDiffClass??"diff",r=e.removedLinesClasses??["remove"],n=e.removedLinesClasses??["add"],i=e.removeLineTag??"--",o=e.addLineTag??"++",s=e.hasDiffClass??"has-diff";return{name:"diff",handler:wr({[i]:[t,...r],[o]:[t,...n]},e),postProcess:({code:a})=>a.includes(t)?Ut(a,s,"pre"):a}}function Dd(e={}){let t=e.hasFocusClass??"has-focus",r=e.hasFocusedLinesClass??"has-focused-lines",n=e.focusTag??"focus";return{name:"focus",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function Md(e={}){let t=e.hasHighlightClass??"has-highlight",r=e.hasHighlightedLinesClass??"has-highlighted-lines",n=e.highlightTag??"hl";return{name:"highlight",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function aS(e,t,r){return e.reduce((n,i)=>{let{code:o,lineOptions:s}=i.handler?.({code:n.code,lang:r})??n;return{code:o,lineOptions:[...n.lineOptions,...s]}},{code:t,lineOptions:[]})}function uS(e,t,r){return e.reduce((n,i)=>i.postProcess?.({code:n,lang:r})??n,t)}async function Id(e={}){let t=await sS(e),r=e.processors??[];return{...t,codeToHtml:(n,i)=>{let o=typeof i=="object"?i.lang:i,s=typeof i=="object"?i.lineOptions??[]:[],a=typeof i=="object"?i.theme:void 0,{code:u,lineOptions:p}=aS(r,n,o),c=t.codeToHtml(u,{lang:o,theme:a,lineOptions:[...p,...s]});return uS(r,c,o)}}}var cS=Od("abcdefghijklmnopqrstuvwxyz",10)
|
|
31
|
-
`).map((h,E)=>{let _=E+1;return p.some(([$,P])=>$&&P?_>=$&&_<=P:_===$)?'<div class="highlighted"> </div>':"<br>"}).join("")}</div>`+c}}
|
|
30
|
+
`),{code:r,lineOptions:i}}}function Ut(e,t,r){let n=new RegExp(`<${r??"w+"}[^>]*class="([\\w+-:;\\/* ]*)"`);return t=Array.isArray(t)?t:[t],e.replace(n,(i,o)=>i.replace(o,`${o} ${t}`))}function $d(e={}){let t=e.commonDiffClass??"diff",r=e.removedLinesClasses??["remove"],n=e.removedLinesClasses??["add"],i=e.removeLineTag??"--",o=e.addLineTag??"++",s=e.hasDiffClass??"has-diff";return{name:"diff",handler:wr({[i]:[t,...r],[o]:[t,...n]},e),postProcess:({code:a})=>a.includes(t)?Ut(a,s,"pre"):a}}function Dd(e={}){let t=e.hasFocusClass??"has-focus",r=e.hasFocusedLinesClass??"has-focused-lines",n=e.focusTag??"focus";return{name:"focus",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function Md(e={}){let t=e.hasHighlightClass??"has-highlight",r=e.hasHighlightedLinesClass??"has-highlighted-lines",n=e.highlightTag??"hl";return{name:"highlight",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function aS(e,t,r){return e.reduce((n,i)=>{let{code:o,lineOptions:s}=i.handler?.({code:n.code,lang:r})??n;return{code:o,lineOptions:[...n.lineOptions,...s]}},{code:t,lineOptions:[]})}function uS(e,t,r){return e.reduce((n,i)=>i.postProcess?.({code:n,lang:r})??n,t)}async function Id(e={}){let t=await sS(e),r=e.processors??[];return{...t,codeToHtml:(n,i)=>{let o=typeof i=="object"?i.lang:i,s=typeof i=="object"?i.lineOptions??[]:[],a=typeof i=="object"?i.theme:void 0,{code:u,lineOptions:p}=aS(r,n,o),c=t.codeToHtml(u,{lang:o,theme:a,lineOptions:[...p,...s]});return uS(r,c,o)}}}var cS=Od("abcdefghijklmnopqrstuvwxyz",10);function lS(e){e=e.replace(/^(?:\[.*?\])?.*?([\d,-]+).*/,"$1").trim();let t=[];return e?(e.split(",").map(r=>r.split("-").map(n=>parseInt(n,10))).forEach(([r,n])=>{r&&n?t.push(...Array.from({length:n-r+1},(i,o)=>r+o)):t.push(r)}),t.map(r=>({line:r,classes:["highlighted"]}))):[]}var fS={name:"error-level",handler:wr({error:["highlighted","error"],warning:["highlighted","warning"]})};async function Ld(e="material-theme-palenight",t="txt"){let r=typeof e=="string"||"name"in e,n=f=>typeof f=="string"?f:f.name,i=[Dd(),Md({hasHighlightClass:"highlighted"}),$d(),fS],o=await Id({themes:r?[e]:[e.dark,e.light],processors:i}),s=/<pre[^>]*(style=".*?")/,a=/^<pre(.*?)>/,u=/-vue$/,p=/:(no-)?line-numbers$/,c=/\{\{.*?\}\}/g;return(f,l,y)=>{let h=u.test(l)?"":"v-pre";l=l.replace(p,"").replace(u,"").toLowerCase()||t,l&&(o.getLoadedLanguages().includes(l)||(l!==t&&console.warn(Nd.default.yellow(`The language '${l}' is not loaded, falling back to '${t}' for syntax highlighting.`)),l=t));let E=lS(y),_=N=>N.replace(a,(C,b)=>`<pre ${h}${b}>`).replace(s,(C,b)=>C.replace(b,"")),S=new Map,$=N=>h?N:N.replace(c,C=>{let b=S.get(C);return b||(b=cS(),S.set(C,b)),b}),P=N=>(S.forEach((C,b)=>{N=N.replaceAll(C,b)}),N);if(r)return _(P(o.codeToHtml($(f),{lang:l,lineOptions:E,theme:n(e)})));let V=Ut(_(o.codeToHtml(f,{lang:l,lineOptions:E,theme:n(e.dark)})),"va-code-dark","pre"),L=Ut(_(o.codeToHtml(f,{lang:l,lineOptions:E,theme:n(e.light)})),"va-code-light","pre");return V+L}}var pS=/^<pre .*?><code>/;function qd(e){let t=e.renderer.rules.fence;e.renderer.rules.fence=(...r)=>{let[n,i,o]=r,s=n[i],a=s.attrs&&s.attrs[0];if(!a)return t(...r);let u=a[0];if(!u||!/[\d,-]+/.test(u))return t(...r);let p=u.split(",").map(h=>h.split("-").map(E=>parseInt(E,10))),c=o.highlight?o.highlight(s.content,s.info,""):s.content;return`<div class="highlight-lines">${c.replace(pS,"").split(`
|
|
31
|
+
`).map((h,E)=>{let _=E+1;return p.some(([$,P])=>$&&P?_>=$&&_<=P:_===$)?'<div class="highlighted"> </div>':"<br>"}).join("")}</div>`+c}}function Bd(e){let t=e.renderer.rules.fence;e.renderer.rules.fence=(...r)=>{let[n,i]=r,o=n[i],s=t(...r);return`<div class="language-${o.info.trim()}"><span class="copy"></span>${s}</div>`}}import{URL as dS}from"node:url";var mS=/(^|.*\/)index.md(#?.*)$/i;function jd(e,t,r){e.renderer.rules.link_open=(o,s,a,u,p)=>{let c=o[s],f=c.attrIndex("href");if(f>=0){let l=c.attrs[f],y=l[1];jt.test(y)?(Object.entries(t).forEach(([E,_])=>{c.attrSet(E,_)}),l[1]=y.replace(Gp,"")):!y.startsWith("#")&&!y.startsWith("mailto:")&&!/\.(?!html|md)\w+($|\?)/i.test(y)&&n(l,u),l[1]=l[1].replace(/\bimport\.meta/g,"import%2Emeta").replace(/\bprocess\.env/g,"process%2Eenv")}return p.renderToken(o,s,a)};function n(o,s){let a=o[1],u=a.match(mS);if(u){let[,p,c]=u;a=p+c}else{let p=a.replace(/[?#].*$/,"");p.endsWith(".md")&&(p=p.replace(/\.md$/,s.cleanUrls==="disabled"?".html":"")),s.cleanUrls==="disabled"&&!p.endsWith(".html")&&!p.endsWith("/")&&(p+=".html");let c=new dS(a,"http://a.com");a=p+c.search+c.hash}!a.startsWith("/")&&!/^\.\//.test(a)&&(a=`./${a}`),i(a.replace(/\.html$/,""),s),a.startsWith("/")&&(a=`${r}${a}`.replace(/\/+/g,"/")),o[1]=decodeURI(a)}function i(o,s){(s.links||(s.links=[])).push(o)}}async function qs(e,t={},r=!1,n="/"){return e.use(qd).use(Bd).use(Ad,t.blocks).use(jd,{target:"_blank",rel:"noreferrer",...t.externalLinks},n),t.attrs?.disable||e.use(gS,t.attrs),e.use($s,t.katex),e.use(yS),r||e.use(Hd,{slugify:Un,permalink:Hd.permalink.ariaHidden({}),...t.anchor}),e.use(hd).use(gd,{...t.frontmatter}).use(yd,{slugify:Un,...t.headers}).use(_d,{...t.sfc}).use(xd).use(Sd,{slugify:Un,...t.toc}),e.use(vS),t.config&&t.config(e),e}async function Vd(e={}){let t=hS({html:!0,linkify:!0,highlight:await Ld(e.theme),...e.options});return await qs(t,e),t}import{resolve as SS}from"node:path";import{existsSync as bS}from"node:fs";import CS from"jiti";import{presetAttributify as wS,presetIcons as AS,presetTypography as RS,presetUno as kS,transformerDirectives as FS,transformerVariantGroup as OS}from"unocss";var Ud=Q(Re(),1);import{resolve as ES}from"node:path";import{isObject as _S}from"@antfu/utils";import xS from"jiti";function Gd(e,t,r=""){return e={...e},Object.keys(t).forEach(n=>{_S(e[n])?e[n]=Gd(e[n],t[n],r?`${r}.${n}`:n):Array.isArray(e[n])?e[n]=[...e[n],...t[n]]:e[n]=t[n]}),e}async function Wd(e,t,r,n,i=!0){let o=n;for(let s of e){let a=ES(s,"setup",t);if(Ud.default.existsSync(a)){let{default:u}=xS(__filename)(a),p=await u(r);p!==null&&(o=i?Gd(o,p):p)}}return o}async function PS(e){let{config:t}=e,r=["i-ri-clipboard-line","i-ri-archive-line","i-ri-folder-2-line","i-ri-price-tag-3-line","i-ri-cloud-line"].concat(e.config.unocss?.safelist||[]),n="animate-fade-in m-auto text-left".split(" ").concat(["rotate-y-180"]).concat(r),i=t.siteConfig;i.social?.length&&i.social.forEach(s=>n.push(s?.icon||""));let o=i.sponsor?.methods||[];return o.length&&o.forEach(s=>n.push(s?.icon||"")),n}async function TS(e){let{config:t}=e;return{shortcuts:[["btn","px-4 py-1 rounded inline-block bg-$va-c-primary text-white cursor-pointer transition hover:bg-$va-c-primary-light disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50"],["icon-btn","inline-flex justify-center items-center cursor-pointer select-none opacity-75 transition duration-200 ease-in-out hover:opacity-100 hover:text-sky-600"],["va-card","shadow hover:shadow-lg"]],presets:[kS(t.unocssPresets?.uno),wS(t.unocssPresets?.attributify),AS({scale:1.2,...t.unocssPresets?.icons}),RS(t.unocssPresets?.typography)],rules:[["font-serif",{"font-family":"var(--va-font-serif)"}],["font-sans",{"font-family":"var(--va-font-sans)"}],["font-mono",{"font-family":"var(--va-font-mono)"}]],transformers:[FS(),OS()],safelist:await PS(e)}}async function Yd(e){let t=await import("unocss/vite").then(l=>l.default),{unocss:r}=e.config,n=await TS(e),{themeRoot:i,clientRoot:o,roots:s}=e,a=["uno.config.ts","unocss.config.ts"],u=[];[i,o].forEach(l=>a.forEach(y=>u.push(SS(l,y))));let c={},f=[];return u.forEach(l=>{if(bS(l)){let y=CS(__filename)(l);"default"in y&&(y=y.default),c=$e(c,y),f.push(l)}}),c=await Wd(s,"unocss.ts",{},c,!0),t({configDeps:f,configFile:!1,...$e(r||{},c,n)})}var Jd=Q(Re(),1);import{dirname as NS,join as zd,resolve as _t}from"node:path";import{mergeConfig as LS,searchForWorkspaceRoot as js}from"vite";import qS from"is-installed-globally";import{uniq as BS}from"@antfu/utils";var Ar=Q(Re(),1);import{join as Bs,resolve as $S}from"node:path";import{uniq as DS}from"@antfu/utils";import{loadConfigFromFile as MS,mergeConfig as IS}from"vite";async function Gn({userRoot:e,themeRoot:t},r){let n={mode:"development",command:r},i={},o=DS([t,e]).map(s=>Bs(s,"vite.config.ts"));for await(let s of o){if(!Ar.default.existsSync(s))continue;let a=await MS(n,s);a?.config&&(i=IS(i,a.config))}return i}async function Wn({clientRoot:e,themeRoot:t,userRoot:r,config:n}){let i=$S(e,"template.html"),o=await Ar.default.readFile(i,"utf-8"),s="",a="";n.siteConfig.favicon&&(s+=`<link rel="icon" href="${n.siteConfig.favicon}">`);let u=[r,t];n.siteConfig.mode==="auto"&&(s+=`
|
|
32
32
|
<script>
|
|
33
33
|
const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
34
34
|
const colorSchemeSetting = localStorage.getItem('vueuse-color-scheme') || 'auto';
|
|
@@ -45,7 +45,7 @@ GFS4: `),console.error(e)});K[se]||(ha=global[se]||[],ya(K,ha),K.close=function(
|
|
|
45
45
|
${(f.match(/<head>([\s\S]*?)<\/head>/im)?.[1]||"").trim()}`,a+=`
|
|
46
46
|
${(f.match(/<body>([\s\S]*?)<\/body>/im)?.[1]||"").trim()}`}return o=o.replace("__ENTRY__",re(Bs(e,"main.ts"))).replace("<!-- head -->",s).replace("<!-- body -->",a),o}var jS=["@vueuse/schema-org","@vueuse/head","@vueuse/integrations/useFuse","body-scroll-lock","dayjs","dayjs/locale/zh-cn","dayjs/plugin/relativeTime","katex","nprogress","unocss","vue","vue-router","vue-i18n","fuse.js","medium-zoom"],Kd=["@vueuse/core","@vueuse/shared","@unocss/reset","unocss","vue","vue-demi","valaxy","/@valaxyjs/config","/@valaxyjs/context","/@valaxyjs/addons","/@valaxyjs/locales","/@valaxyjs/styles"];function Xd(e){return{name:"valaxy:site",config(t){let r={root:e.clientRoot,publicDir:zd(e.userRoot,"public"),define:Hs(e),resolve:{alias:HS(e),dedupe:["vue"]},optimizeDeps:{entries:[_t(e.clientRoot,"main.ts")],include:[...jS.filter(n=>!Kd.includes(n))],exclude:Kd},server:{fs:{allow:BS([js(e.clientRoot),js(e.themeRoot),js(e.userRoot),NS(Ge("katex/package.json",!0))])}}};return qS&&(r.cacheDir=zd(e.pkgRoot,"node_modules/.vite"),r.resolve.alias.vue=`${Ge("vue/dist/vue.esm-browser.js",!0)}`),LS(t,r)},configureServer(t){return()=>{t.middlewares.use(async(r,n,i)=>{if(r.url.endsWith(".html")){n.setHeader("Content-Type","text/html"),n.statusCode=200,n.end(await Wn(e));return}if(r.url==="/atom.xml"){n.setHeader("Content-Type","application/xml"),n.statusCode=200,n.end(await Jd.default.readFile(_t(e.userRoot,"dist/atom.xml"),"utf-8"));return}i()})}}}}function Hs(e){return{__DEV__:e.mode==="dev"?"true":"false"}}function HS(e){let t=[{find:"~/",replacement:`${re(e.userRoot)}/`},{find:"valaxy/client/",replacement:`${re(e.clientRoot)}/`},{find:"valaxy/package.json",replacement:re(_t(e.clientRoot,"../package.json"))},{find:"valaxy",replacement:re(_t(e.clientRoot,"index.ts"))},{find:"@valaxyjs/client/",replacement:`${re(e.clientRoot)}/`},{find:`valaxy-theme-${e.theme}/`,replacement:`${re(_t(e.themeRoot))}/`},{find:`valaxy-theme-${e.theme}`,replacement:`${re(_t(e.themeRoot))}/client/index.ts`}];return e.addons.forEach(r=>{t.push({find:r.name,replacement:`${re(_t(r.root))}/client/index.ts`})}),t}import{existsSync as VS}from"node:fs";import{join as US,resolve as GS}from"node:path";import{slash as WS,uniq as YS}from"@antfu/utils";function Qd({clientRoot:e,themeRoot:t,userRoot:r}){let n=WS(GS(e,"setup"));return{name:"valaxy:setup",enforce:"pre",async transform(i,o){if(o.startsWith(n)){let s=o.slice(n.length+1).replace(/\?.*$/,""),a=[],u=[];return YS([t,r]).map(c=>US(c,"setup",s)).forEach((c,f)=>{if(!VS(c))return;a.push(`import __n${f} from '${re(c)}'`);let l=`__n${f}`;/\binjection_return\b/g.test(i)&&(l=`injection_return = ${l}`),/\binjection_arg\b/g.test(i)?l+="(injection_arg)":l+="()",u.push(`// ${c}`,l)}),i=i.replace("/* __imports__ */",a.join(`
|
|
47
47
|
`)),i=i.replace("/* __injections__ */",u.join(`
|
|
48
|
-
`)),i}return null}}}import{objectEntries as zS}from"@antfu/utils";function Zd(e){let t=zS(Hs(e));return[{name:"valaxy:flags",enforce:"pre",transform(r,n){if(n.match(/\.vue($|\?)/)){let i=r;if(t.forEach(([o,s])=>{r=r.replace(new RegExp(o,"g"),s)}),i!==r)return r}}}]}import{existsSync as KS,readFileSync as JS}from"node:fs";
|
|
48
|
+
`)),i}return null}}}import{objectEntries as zS}from"@antfu/utils";function Zd(e){let t=zS(Hs(e));return[{name:"valaxy:flags",enforce:"pre",transform(r,n){if(n.match(/\.vue($|\?)/)){let i=r;if(t.forEach(([o,s])=>{r=r.replace(new RegExp(o,"g"),s)}),i!==r)return r}}}]}import{existsSync as KS,readFileSync as JS}from"node:fs";function XS(e){let t=(e.match(/[\u4E00-\u9FA5]/g)||[]).length,r=(e.replace(/[\u4E00-\u9FA5]/g,"").match(/[a-zA-Z0-9_\u0392-\u03C9\u0400-\u04FF]+|[\u4E00-\u9FFF\u3400-\u4DBF\uF900-\uFAFF\u3040-\u309F\uAC00-\uD7AF\u0400-\u04FF]+|[\u00E4\u00C4\u00E5\u00C5\u00F6\u00D6]+|\w+/g)||[]).length;return{cn:t,en:r}}function QS({cn:e,en:t},r){let n=e/(r.speed.cn||300)+t/(r.speed.en||100);return n<1?1:Math.ceil(n)}function ZS({cn:e,en:t}){let r=e+t;return r<1e3?r:`${Math.round(r/100)/10}k`}function eb(e,t){let r=XS(e);return{countData:r,wordCount:ZS(r),readingTime:QS(r,t.readTime)}}function em({route:e,options:t}){if(KS(e.component)){let r=JS(e.component,"utf-8"),{wordCount:n,readingTime:i}=eb(r,{readTime:Object.assign({speed:{cn:300,en:100}},t.readTime)});e.meta.frontmatter&&(e.meta.frontmatter.wordCount||(e.meta.frontmatter.wordCount=n),e.meta.frontmatter.readingTime||(e.meta.frontmatter.readingTime=i))}}var Yt=Q(Re(),1);import{join as Wt,relative as Eb,resolve as _b}from"node:path";import{pascalCase as xb}from"pascal-case";var Gt=Q(Ls(),1),im=Q(Pi(),1);import Vs from"node:fs";import We from"node:path";import tb from"lru-cache";var rb="\u200B",nb="<wbr>",tm=(0,im.default)("vitepress:md"),rm=new tb({max:1024}),ib=/<!--\s*@include:\s*(.*?)\s*-->/g;function ob(e={},t){let r=["process.env"];return t&&r.push("import.meta",...Object.keys(e)),new RegExp(`\\b(${r.map(n=>n.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")).join("|")})`,"g")}function om(e,t,r){return e=e.replace(/<a (.*?)>(.*?)<\/a>/g,"<AppLink $1>$2</AppLink>"),e.replace(t,n=>`${n[0]}${r}${n.slice(1)}`)}function sb(e,t,r){if(typeof t.title=="string"){let n=e.parseInline(t.title,{})[0];if(n)return Sr(n,{shouldAllowHtml:!1,shouldEscapeText:!1})}return r}function ab(e,t){if(!e||!e.length)return;let r=e.find(([n,i={}])=>n==="meta"&&i.name===t&&i.content);return r&&r[1].content}function ub(e){let{description:t,head:r}=e;return t!==void 0?t:r&&ab(r,"description")||""}async function sm(e,t={},r,n,i=!1,o=!1,s="with-subfolders"){let a=await Vd(t);r=r.map(p=>ot(p.replace(/\.md$/,"")).replace(/\/index$/,""));let u=ob(n,i);return async(p,c,f)=>{let l=ot(We.relative(e,c)),y=We.dirname(c),h=rm.get(p);if(h)return tm(`[cache hit] ${l}`),h;let E=Date.now(),_=[];p=p.replace(ib,(m,g)=>{try{let R=We.join(y,g),k=Vs.readFileSync(R,"utf-8");return _.push(ot(R)),k}catch{return m}});let S={path:c,relativePath:l,cleanUrls:s},$=a.render(p,S),{frontmatter:P={},headers:V=[],links:L=[],sfcBlocks:N,title:C=""}=S,b=[],x=m=>{console.warn(Gt.default.yellow(`
|
|
49
49
|
(!) Found dead link ${Gt.default.cyan(m)} in file ${Gt.default.white(Gt.default.dim(c))}
|
|
50
50
|
If it is intended, you can use:
|
|
51
51
|
${Gt.default.cyan(`<a href="${m}" target="_blank" rel="noreferrer">${m}</a>`)}`)),b.push(m)};if(L){let m=We.dirname(c);for(let g of L){if(/\.(?!html|md)\w+($|\?)/i.test(g))continue;if(g.replace(jt,"").startsWith("//localhost:")){x(g);continue}g=g.replace(/[?#].*$/,"").replace(/\.(html|md)$/,"");let R=decodeURIComponent(ot(g.startsWith("/")?g.slice(1):We.relative(e,We.resolve(m,g)))).replace(/\/index$/,"");(R.endsWith("/")?r.includes(R.slice(0,-1)):r.includes(R)||Vs.existsSync(We.resolve(m,f,`${R}.html`))||Vs.existsSync(We.resolve(m,f,`${R}/index.html`)))||x(g)}}let D={title:sb(a,P,C),titleTemplate:P.titleTemplate,description:ub(P),frontmatter:P,headers:V,relativePath:l,path:We.join(e,l)};o&&(D.lastUpdated=await xr(c));let d="ValaxyMain";function w(){return["main-header","main-header-after","main-nav","main-content","main-content-after","main-nav-before","main-nav-after","comment","footer","aside","aside-custom"].map(R=>`<template #${R}><slot name="${R}" /></template>`).join("")}let O=[...mb(N?.scripts.map(m=>m.content)??[],D,u),`<template><${d} :frontmatter="frontmatter" :data="data">`,`<template #main-content-md>${om($,u,nb)}</template>`,w(),"<slot />",`</${d}></template>`,...N?.styles.map(m=>m.content)??[],...N?.customBlocks.map(m=>m.content)??[]].join(`
|
|
@@ -70,13 +70,13 @@ ${a}</script>`);return e}import{cyan as hb,red as gb,yellow as yb}from"kolorist"
|
|
|
70
70
|
`)}function Cb(e){let t=e.addons.filter(o=>o.global).filter(o=>Yt.default.existsSync(Wt(o.root,"./App.vue"))),r=o=>`Addon${xb(o)}App`,n=t.map(o=>`import ${r(o.name)} from "${o.name}/App.vue"`).join(`
|
|
71
71
|
`),i=t.map(o=>`{ component: ${r(o.name)}, props: ${JSON.stringify(o.props)} }`).join(",");return`${n}
|
|
72
72
|
export default [${i}]`}var wb='import { defineComponent } from "vue"; export default defineComponent({ render: () => null });';function um(e){let t=Wt(e,"App.vue");return Yt.default.existsSync(t)?[`import AppVue from "${re(t)}"`,"export default AppVue"].join(`
|
|
73
|
-
`):wb}function cm(e,t={}){let{config:r}=e,n="/@valaxy",i=e.roots,o,s=!1,a;return{name:"valaxy:loader",enforce:"pre",async configResolved(u){a=u,o=await sm(e.userRoot,r.markdown||{katex:{}},e.pages,a.define,a.command==="build",e.config.siteConfig.lastUpdated)},configureServer(u){u.watcher.add([e.configFile,e.clientRoot,e.themeRoot,e.userRoot])},resolveId(u){return u.startsWith(n)?u:null},load(u){if(u==="/@valaxyjs/config")return`export default ${JSON.stringify(JSON.stringify(r))}`;if(u==="/@valaxyjs/context")return`export default ${JSON.stringify(JSON.stringify({userRoot:e.userRoot}))}`;if(u==="/@valaxyjs/styles")return Sb(i,e);if(u==="/@valaxyjs/locales")return bb(i);if(u==="/@valaxyjs/addons")return Cb(e);if(u==="/@valaxyjs/UserAppVue")return um(e.userRoot);if(u==="/@valaxyjs/ThemeAppVue")return um(e.themeRoot);if(u.startsWith(n))return{code:"",map:{mappings:""}}},async transform(u,p){if(p.endsWith(".md")){am(u,p),u.replace("{%","{%"),u.replace("%}","%}");let{vueSrc:c,deadLinks:f,includes:l}=await o(u,p,a.publicDir);return f.length&&(s=!0),l.length&&l.forEach(y=>{this.addWatchFile(y)}),c}},renderStart(){if(s&&!r.ignoreDeadLinks)throw new Error("One or more pages contain dead links.")},async handleHotUpdate(u){let{file:p,server:c,read:f}=u,l=h=>{t.onConfigReload?.(h,e.config),Object.assign(e.config,h),r=h;let E=["/@valaxyjs/config","/@valaxyjs/context"];return[...Array.from(E).map(S=>c.moduleGraph.getModuleById(S))].filter(S=>!!S)};if([e.configFile].includes(p)){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===e.siteConfigFile){let{siteConfig:h}=await Nn(e.userRoot);return r.siteConfig=$e(h,ks),l(r)}if(p===e.themeConfigFile){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===_b(e.themeRoot,"valaxy.config.ts")){let h=Ps(e),E=Ht(e.config,h),{config:_}=await Os(e,E);return l(_)}if(p.endsWith(".md")){let h=await f(),{pageData:E,vueSrc:_}=await o(h,p,Wt(e.userRoot,"public")),$={path:`/${ot(Eb(`${e.userRoot}/pages`,p))}`,pageData:E};c.ws.send({type:"custom",event:"valaxy:pageData",data:$}),u.read=()=>_}}}}var Us=new Rb({html:!0})
|
|
74
|
-
`),console.error(n),process.exit(1)}}function hm(e){process.stdin.resume(),process.stdin.setEncoding("utf8"),mm.emitKeypressEvents(process.stdin),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.on("keypress",(t,r)=>{if(r.ctrl&&r.name==="c")process.exit();else{let[n]=e.filter(i=>i.name===t);if(n)try{n.action()}catch(i){console.error(`Failed to execute shortcut ${n.fullName}`,i)}}})}var Kn=Q(Re(),1);import{resolve as Gb}from"node:path";import{mergeConfig as gm,build as Wb}from"vite";import{build as Yb}from"vite-ssg/node";import zb from"vite-ssg-sitemap";import Kb from"consola";async function ym(e,t={}){let r=gm(t,{plugins:await Rr(e)});await Wb(r)}async function vm(e,t={}){let r={plugins:await Rr(e),ssr:{noExternal:["workbox-window",/vue-i18n/]}};r.ssgOptions={script:"async",formatting:"minify",includedRoutes(i,o){let s=["/:..all",Wp],a=i.filter(c=>c.startsWith("/posts/")).length,u=Math.ceil(a/e.config.siteConfig.pageSize),p=Array.from({length:u},(c,f)=>f+1);return o.filter(c=>!s.includes(c.path)).flatMap(c=>c.path==="/page/:page"?p.map(f=>`/page/${f}`):c.path)},onFinished(){zb({hostname:e.config.siteConfig.url})}};let n=gm(r,t);await Yb({},n)}
|
|
73
|
+
`):wb}function cm(e,t={}){let{config:r}=e,n="/@valaxy",i=e.roots,o,s=!1,a;return{name:"valaxy:loader",enforce:"pre",async configResolved(u){a=u,o=await sm(e.userRoot,r.markdown||{katex:{}},e.pages,a.define,a.command==="build",e.config.siteConfig.lastUpdated)},configureServer(u){u.watcher.add([e.configFile,e.clientRoot,e.themeRoot,e.userRoot])},resolveId(u){return u.startsWith(n)?u:null},load(u){if(u==="/@valaxyjs/config")return`export default ${JSON.stringify(JSON.stringify(r))}`;if(u==="/@valaxyjs/context")return`export default ${JSON.stringify(JSON.stringify({userRoot:e.userRoot}))}`;if(u==="/@valaxyjs/styles")return Sb(i,e);if(u==="/@valaxyjs/locales")return bb(i);if(u==="/@valaxyjs/addons")return Cb(e);if(u==="/@valaxyjs/UserAppVue")return um(e.userRoot);if(u==="/@valaxyjs/ThemeAppVue")return um(e.themeRoot);if(u.startsWith(n))return{code:"",map:{mappings:""}}},async transform(u,p){if(p.endsWith(".md")){am(u,p),u.replace("{%","{%"),u.replace("%}","%}");let{vueSrc:c,deadLinks:f,includes:l}=await o(u,p,a.publicDir);return f.length&&(s=!0),l.length&&l.forEach(y=>{this.addWatchFile(y)}),c}},renderStart(){if(s&&!r.ignoreDeadLinks)throw new Error("One or more pages contain dead links.")},async handleHotUpdate(u){let{file:p,server:c,read:f}=u,l=h=>{t.onConfigReload?.(h,e.config),Object.assign(e.config,h),r=h;let E=["/@valaxyjs/config","/@valaxyjs/context"];return[...Array.from(E).map(S=>c.moduleGraph.getModuleById(S))].filter(S=>!!S)};if([e.configFile].includes(p)){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===e.siteConfigFile){let{siteConfig:h}=await Nn(e.userRoot);return r.siteConfig=$e(h,ks),l(r)}if(p===e.themeConfigFile){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===_b(e.themeRoot,"valaxy.config.ts")){let h=Ps(e),E=Ht(e.config,h),{config:_}=await Os(e,E);return l(_)}if(p.endsWith(".md")){let h=await f(),{pageData:E,vueSrc:_}=await o(h,p,Wt(e.userRoot,"public")),$={path:`/${ot(Eb(`${e.userRoot}/pages`,p))}`,pageData:E};c.ws.send({type:"custom",event:"valaxy:pageData",data:$}),u.read=()=>_}}}}var Us=new Rb({html:!0});function Mb(e="",t="html"){switch(t){case"md":return e;case"html":return Us.render(e);case"text":return Db(Us.render(e))}}async function Rr(e,t={}){let{roots:r,config:n}=e,i=await Yd(e),o=cm(e,t);await qs(Us,n.markdown,!0);let s=new Set(["annotation","math","menclose","mfrac","mglyph","mi","mlabeledtr","mn","mo","mover","mpadded","mphantom","mroot","mrow","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics","meting-js"]);return[Fb({include:[/\.vue$/,/\.md$/],template:{compilerOptions:{isCustomElement:a=>s.has(a)},...n.vue?.template},...n.vue}),Xd(e),Qd(e),o,Ob({extensions:["vue","md"],dirs:r.map(a=>`${a}/pages`),...n.pages,async extendRoute(a,u){let p=a.component,c={};if(a.meta?a.meta.frontmatter||(a.meta.frontmatter=c):a.meta={frontmatter:c},a.path=encodeURI(a.path),a.path==="/"&&(a.meta.layout="home"),r.forEach(f=>{let l=f+a.component;Yn.existsSync(l)&&(p=l)}),a.path.startsWith("/posts/")&&(a.meta.layout="post"),p.endsWith(".md")){let f=Yn.readFileSync(p,"utf-8"),{data:l,excerpt:y,content:h}=kb(f,{excerpt_separator:Mn}),E=e.config.siteConfig.lastUpdated,_=e.config.siteConfig.date?.format;if(l.date||(l.date=Yn.statSync(p).mtime),l.date=lm(l.date).format(_),E&&(l.updated||(l.updated=Yn.statSync(p).ctime)),l.updated=lm(l.updated).format(_),a.meta=Object.assign(a.meta,{frontmatter:Object.assign(c,l),excerpt:y?Mb(y,l.excerpt_type):""}),l.layout&&(a.meta.layout=l.layout),a.meta.frontmatter?.updated||(a.meta.frontmatter.updated=a.meta.frontmatter.date),a.meta.frontmatter.tags){let S=a.meta.frontmatter.tags;typeof S=="string"&&(a.meta.frontmatter.tags=[S])}n.siteConfig.statistics.enable&&em({options:n.siteConfig.statistics,route:a}),n.extendMd?.({route:a,data:l,excerpt:y,content:h,path:p})}return n.pages?.extendRoute?.(a,u),a}}),Pb({layoutsDirs:r.map(a=>`${a}/layouts`)}),Tb({extensions:["vue","md"],include:[/\.vue$/,/\.vue\?vue/,/\.md$/],exclude:[],allowOverrides:!0,dirs:r.map(a=>`${a}/components`).concat(r.map(a=>`${a}/layouts`)).concat(["src/components","components"]),dts:`${e.userRoot}/components.d.ts`,...n.components}),i,$b({runtimeOnly:!0,compositionOnly:!0,include:r.map(a=>`${a}/locales/**`)}),Ab(),Zd(e)]}async function fm(e,t={},r={}){return process.env.EDITOR=process.env.EDITOR||"code",await Ib(Nb(t,{plugins:await Rr(e,r)}))}var zn;function Ys(e,t,r){console.log(),console.log(` ${Gs("\u{1F30C} Valaxy")} ${pm(`v${Jr}`)}`),console.log(),console.log(`${Ye(" \u{1FA90} theme ")} > ${e.theme?Hb(e.theme):jb("none")}`),console.log(` ${Ye("\u{1F4C1}")} ${Ye(Lb.resolve(e.userRoot))}`),t&&(console.log(),console.log(`${Ye(" Preview ")} > ${Bb(`http://localhost:${Gs(t)}/`)}`),r&&Object.values(qb.networkInterfaces()).forEach(n=>(n||[]).filter(i=>i.family==="IPv4"&&!i.address.includes("127.0.0.1")).forEach(({address:i})=>{console.log(`${Ye(" Network ")} > ${pm(`http://${i}:${Gs(t)}/`)}`)})),console.log(),console.log(`${Ye(" shortcuts ")} > ${Ws("r")}${Ye("estart | ")}${Ws("o")}${Ye("pen | ")}${Ws("e")}${Ye("dit")}`)),console.log()}async function kr(e,t){zn&&await zn.close();let r=Ub(await Gn(e,"serve"),t);try{zn=await fm(e,r,{async onConfigReload(n,i,o=!1){o&&(dm.info("[valaxy]",`${Vb("force")} reload the server`),kr(e,t));let s=!1;n.theme!==i.theme&&(s=!0),s&&kr(e,t)}}),await zn.listen()}catch(n){dm.error(`failed to start server. error:
|
|
74
|
+
`),console.error(n),process.exit(1)}}function hm(e){process.stdin.resume(),process.stdin.setEncoding("utf8"),mm.emitKeypressEvents(process.stdin),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.on("keypress",(t,r)=>{if(r.ctrl&&r.name==="c")process.exit();else{let[n]=e.filter(i=>i.name===t);if(n)try{n.action()}catch(i){console.error(`Failed to execute shortcut ${n.fullName}`,i)}}})}var Kn=Q(Re(),1);import{resolve as Gb}from"node:path";import{mergeConfig as gm,build as Wb}from"vite";import{build as Yb}from"vite-ssg/node";import zb from"vite-ssg-sitemap";import Kb from"consola";async function ym(e,t={}){let r=gm(t,{plugins:await Rr(e)});await Wb(r)}async function vm(e,t={}){let r={plugins:await Rr(e),ssr:{noExternal:["workbox-window",/vue-i18n/]}};r.ssgOptions={script:"async",formatting:"minify",includedRoutes(i,o){let s=["/:..all",Wp],a=i.filter(c=>c.startsWith("/posts/")).length,u=Math.ceil(a/e.config.siteConfig.pageSize),p=Array.from({length:u},(c,f)=>f+1);return o.filter(c=>!s.includes(c.path)).flatMap(c=>c.path==="/page/:page"?p.map(f=>`/page/${f}`):c.path)},onFinished(){zb({hostname:e.config.siteConfig.url})}};let n=gm(r,t);await Yb({},n)}async function Em(e){let{userRoot:t}=e,r=Gb(t,"dist/index.html");if(Kn.default.existsSync(r)){Kb.info("post process for ssg...");let n=await Kn.default.readFile(r,"utf-8"),i="</html>";if(!n.endsWith(i)){let o=n.lastIndexOf(i);await Kn.default.writeFile(r,n.slice(0,o+i.length),"utf-8")}}}var Sm=Q(Pn(),1),Xn=Q(Re(),1);import{dirname as Qb}from"node:path";import{cyan as Zb,dim as eC}from"kolorist";import tC from"gray-matter";import rC from"markdown-it";import{Feed as nC}from"feed";import Jn from"consola";var zs=Q(Re(),1);import _m from"dayjs";async function Jb(e){return await xr(e,"created")||(await zs.default.stat(e)).ctime}async function Xb(e){return await xr(e,"created")||(await zs.default.stat(e)).mtime}async function xm(e,t,r="YYYY-MM-DD HH:mm:ss",n=!0){e.date||(e.date=await Jb(t)),e.date=_m(e.date).format(r),n&&(e.updated||(e.updated=await Xb(t)),e.updated=_m(e.updated).format(r))}var iC=rC({html:!0,breaks:!0,linkify:!0});async function bm(e){let{config:t}=e,r=t.siteConfig;if(!r.url||r.url==="/"){Jn.error("You must set `url` (like `https://example.com`) in `site.config.ts` to generate rss.");return}let n=r.url,i=r.url.slice(0,-1),o={name:r.author?.name,email:r.author?.email,link:r.author?.link};Jn.info(`RSS Site Url: ${Zb(n)}`);let s=r.license?.type==="zero"?"1.0":"4.0",a={title:r.title||"Valaxy Blog",description:r.description,id:n||"valaxy",link:n,copyright:`CC ${r.license?.type?.toUpperCase()} ${s} ${new Date().getFullYear()} \xA9 ${r.author?.name}`,feedLinks:{json:`${n}feed.json`,atom:`${n}feed.atom`,rss:`${n}feed.xml`}},u=await(0,Sm.default)(`${e.userRoot}/pages/posts/**/*.md`),p=[];for await(let h of u){let E=Xn.default.readFileSync(h,"utf-8"),{data:_,content:S,excerpt:$}=tC(E,{excerpt_separator:Mn});if(_.draft){Jn.warn(`Ignore draft post: ${eC(h)}`);continue}if(_.hide)continue;await xm(_,h,r.date?.format,r.lastUpdated);let P=iC.render($||S.slice(0,100)).replace('src="/',`src="${i}/`);_.image?.startsWith("/")&&(_.image=i+_.image),p.push({title:"",..._,id:(_.id||"").toString(),date:new Date(_.date),published:new Date(_.updated||_.date),content:P,author:[o],link:i+h.replace(`${e.userRoot}/pages`,"").replace(/\.md$/,"")})}p.sort((h,E)=>+new Date(E.published||E.date)-+new Date(h.published||h.date));let c=r.author?.avatar||"/favicon.svg";a.author=o,a.image=Yp(c)?r.author?.avatar:`${i}${As("/",c)}`,a.favicon=`${i}${r.feed?.favicon||r.favicon}`;let f=new nC(a);p.forEach(h=>f.addItem(h)),await Xn.default.ensureDir(Qb(`./dist/${r.feed?.name} || 'feed.xml'`));let l="./dist";["xml","atom","json"].forEach(h=>{let E="",_=`${l}/${r.feed?.name||"feed"}.${h}`;h==="xml"?E=f.rss2():h==="atom"?(r.feed?.name||(_=`${l}/atom.xml`),E=f.atom1()):h==="json"&&(E=f.json1()),Xn.default.writeFileSync(_,E,"utf-8"),Jn.info(`${h}: ${_}`)})}var Qn=Q(Re(),1),Cm=Q(Pn(),1);import Ks from"consola";import oC from"gray-matter";import{cyan as sC,dim as wm}from"kolorist";function zt(e){return e.positional("root",{default:".",type:"string",describe:"root folder of your source files"})}async function aC(e){Ks.info(`Generate List for Fuse Search by (${sC("fuse.js")}) ...`);let t=await(0,Cm.default)(`${e.userRoot}/pages/posts/**/*.md`),r=[];for await(let n of t){let i=Qn.default.readFileSync(n,"utf-8"),{data:o,excerpt:s,content:a}=oC(i,{excerpt_separator:"<!-- more -->"});if(o.draft){Ks.warn(`Ignore draft post: ${wm(n)}`);continue}o.hide||r.push({title:o.title||"",tags:(typeof o.tags=="string"?[o.tags]:o.tags)||[],categories:o.categories||[],author:e.config.siteConfig.author.name,excerpt:s||a.slice(0,100),link:encodeURI(n.replace(`${e.userRoot}/pages`,"").replace(/\.md$/,""))})}return r}function Am(e){e.command("fuse [root]","generate fuse list for search",t=>zt(t).strict().help(),async({root:t})=>{yr();let r=await De({userRoot:t},"build"),n=await aC(r);await Qn.default.ensureDir("./dist");let i=`${r.userRoot}/dist/fuse-list.json`;Qn.default.writeJSONSync(i,n),Ks.info(`Generate fuse list in ${wm(i)}`)})}var uh=Q(nh(),1);import HC from"consola";import{writeFile as MC}from"node:fs/promises";import{join as sh,resolve as IC}from"node:path";import{render as NC}from"ejs";import LC from"dayjs";import{ensureSuffix as qC}from"@antfu/utils";import{access as TC}from"node:fs/promises";async function oi(e){try{return await TC(e),!0}catch{return!1}}import $C from"node:path";import{readFile as DC}from"node:fs/promises";var Pr=process.cwd(),ih=`---
|
|
75
75
|
layout: <%=layout%>
|
|
76
76
|
title: <%=title%>
|
|
77
77
|
date: <%=date%>
|
|
78
78
|
---
|
|
79
|
-
`;
|
|
79
|
+
`;async function oh(e){let{clientRoot:t,themeRoot:r}=await De({userRoot:Pr}),n=[Pr,r,t];for(let i of n){let o=$C.resolve(i,"scaffolds",`${e}.md`);if(await oi(o))return DC(o,"utf-8")}return!1}var BC=IC(Pr,"pages");async function ah(e){let{path:t,title:r}=e,n=t||sh("posts",r),i=0;for(;;){let o=sh(BC,n);if(i&&(o=`${o}-${i}`),o=qC(".md",o),!await oi(o)){let s=await jC(e);return MC(o,s,"utf-8"),o}i++}}async function jC({date:e,title:t,layout:r="post"}){let n=await oh(r);n||(n=ih);let i="YYYY-MM-DD HH:mm:ss";return NC(n,{title:t,layout:r,date:e?LC().format(i):""})}function ch(e){e.command("new <title>","Draft a new post",t=>{t.usage("$0 <title> -p [path] -l [layout]").positional("title",{describe:"The title of the new post",required:!0}).option("path",{alias:"p",type:"string",describe:"the path to generate new post. Customize the path of post to generate"}).option("layout",{alias:"l",type:"string",default:"post"}).option("date",{alias:"d",type:"boolean",default:!0,describe:"Generate post with the current date"}).strict().help()},async({title:t,path:r,date:n,layout:i})=>{let o=await ah({title:t,date:n,layout:i,path:r});HC.success(`[valaxy new]: successfully generated file ${(0,uh.magenta)(o)}`)})}var tr=UC(YC(process.argv)).scriptName("valaxy").usage("$0 [args]").version(Jr).showHelpOnFail(!1).alias("h","help").alias("v","version");tr.command("* [root]","Start a local server for Valaxy",e=>zt(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:"info",type:"string",choices:["error","warn","info","silent"],describe:"log level"}).strict().help(),async({root:e,port:t,open:r,remote:n,log:i})=>{ys(),er.default.existsSync(Zt.resolve(e,"pages"))||process.exit(0);let o=t||await Ai(4859),s=await De({userRoot:e}),a=sa({configFile:Zt.resolve(s.clientRoot,"vite.config.ts"),server:{watch:{ignored:[`!${s.themeRoot}/**`,`${s.userRoot}/**.md`]},port:o,strictPort:!0,open:r,host:n?"0.0.0.0":"localhost"},logLevel:i},s.config.vite||{});await kr(s,a),Ys(s,o,n),hm([{name:"r",fullName:"restart",action(){kr(s,a)}},{name:"o",fullName:"open",action(){GC(`http://localhost:${o}`)}},{name:"e",fullName:"edit",action(){VC(`code "${e}"`)}}])});tr.command("build [root]","build your blog to static content",e=>zt(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("log",{default:"warn",type:"string",choices:["error","warn","info","silent"],describe:"log level"}).strict().help(),async({ssg:e,root:t,output:r,log:n})=>{yr();let i=await De({userRoot:t},"build");Ys(i);let o=sa(await Gn(i,"build"),i.config.vite||{}),s=sa(o,{configFile:Zt.resolve(i.clientRoot,"vite.config.ts"),build:{emptyOutDir:!0,outDir:Zt.resolve(i.userRoot,r)},logLevel:n}),a=Zt.resolve(i.clientRoot,"template.html"),u=Zt.resolve(i.clientRoot,"index.html");er.default.existsSync(a)&&await er.default.copyFile(a,u);let p=await Wn(i);await er.default.writeFile(u,p,"utf-8");try{if(e){si.info(`use ${WC("vite-ssg")} to do ssg build...`);try{await vm(i,s),await Em(i)}catch(c){si.error("[vite-ssg] An internal error occurred."),console.log(c)}}else si.info("use vite do spa build..."),await ym(i,s)}catch(c){console.log(c)}finally{await er.default.copyFile(a,u)}});tr.command("rss [root]","generate rss feed",e=>zt(e).strict().help(),async({root:e})=>{yr(),si.info("Generate RSS ...");let t=await De({userRoot:e},"build");await bm(t)});ch(tr);Am(tr);function HO(){tr.help().parse()}export{xr as a,Yp as b,ot as c,As as d,re as e,zp as f,Ht as g,Rs as h,Jp as i,Xp as j,rd as k,Ge as l,J_ as m,eR as n,X_ as o,tR as p,nR as q,Q_ as r,iR as s,ks as t,nd as u,oR as v,Os as w,De as x,Ps as y,Gn as z,Wn as A,fm as B,ym as C,vm as D,Em as E,tr as F,HO as G};
|
|
80
80
|
/*! Bundled license information:
|
|
81
81
|
|
|
82
82
|
is-extglob/index.js:
|
|
@@ -14,21 +14,21 @@ GFS4: `),console.error(e)});K[se]||(ha=global[se]||[],ya(K,ha),K.close=function(
|
|
|
14
14
|
`)+r,i=n+1,n=e.indexOf(`
|
|
15
15
|
`,i)}while(n!==-1);return o+=e.substr(i),o};Um.exports={stringReplaceAll:_C,stringEncaseCRLFWithFirstIndex:xC}});var Jm=v((eO,Km)=>{"use strict";var SC=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Wm=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,bC=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,CC=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,wC=new Map([["n",`
|
|
16
16
|
`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function zm(e){let t=e[0]==="u",r=e[1]==="{";return t&&!r&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):wC.get(e)||e}function AC(e,t){let r=[],n=t.trim().split(/\s*,\s*/g),i;for(let o of n){let s=Number(o);if(!Number.isNaN(s))r.push(s);else if(i=o.match(bC))r.push(i[2].replace(CC,(a,u,p)=>u?zm(u):p));else throw new Error(`Invalid Chalk template style argument: ${o} (in style '${e}')`)}return r}function RC(e){Wm.lastIndex=0;let t=[],r;for(;(r=Wm.exec(e))!==null;){let n=r[1];if(r[2]){let i=AC(n,r[2]);t.push([n].concat(i))}else t.push([n])}return t}function Ym(e,t){let r={};for(let i of t)for(let o of i.styles)r[o[0]]=i.inverse?null:o.slice(1);let n=e;for(let[i,o]of Object.entries(r))if(Array.isArray(o)){if(!(i in n))throw new Error(`Unknown Chalk style: ${i}`);n=o.length>0?n[i](...o):n[i]}return n}Km.exports=(e,t)=>{let r=[],n=[],i=[];if(t.replace(SC,(o,s,a,u,p,c)=>{if(s)i.push(zm(s));else if(u){let f=i.join("");i=[],n.push(r.length===0?f:Ym(e,r)(f)),r.push({inverse:a,styles:RC(u)})}else if(p){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");n.push(Ym(e,r)(i.join(""))),i=[],r.pop()}else i.push(c)}),n.push(i.join("")),r.length>0){let o=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(o)}return n.join("")}});var nh=v((tO,rh)=>{"use strict";var Or=Bm(),{stdout:ra,stderr:na}=Vm(),{stringReplaceAll:kC,stringEncaseCRLFWithFirstIndex:FC}=Gm(),{isArray:ti}=Array,Qm=["ansi","ansi","ansi256","ansi16m"],Qt=Object.create(null),OC=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=ra?ra.level:0;e.level=t.level===void 0?r:t.level},ia=class{constructor(t){return Zm(t)}},Zm=e=>{let t={};return OC(t,e),t.template=(...r)=>th(t.template,...r),Object.setPrototypeOf(t,ri.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=ia,t.template};function ri(e){return Zm(e)}for(let[e,t]of Object.entries(Or))Qt[e]={get(){let r=ni(this,oa(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};Qt.visible={get(){let e=ni(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var eh=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of eh)Qt[e]={get(){let{level:t}=this;return function(...r){let n=oa(Or.color[Qm[t]][e](...r),Or.color.close,this._styler);return ni(this,n,this._isEmpty)}}};for(let e of eh){let t="bg"+e[0].toUpperCase()+e.slice(1);Qt[t]={get(){let{level:r}=this;return function(...n){let i=oa(Or.bgColor[Qm[r]][e](...n),Or.bgColor.close,this._styler);return ni(this,i,this._isEmpty)}}}}var PC=Object.defineProperties(()=>{},{...Qt,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),oa=(e,t,r)=>{let n,i;return r===void 0?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},ni=(e,t,r)=>{let n=(...i)=>ti(i[0])&&ti(i[0].raw)?Xm(n,th(n,...i)):Xm(n,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(n,PC),n._generator=e,n._styler=t,n._isEmpty=r,n},Xm=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(r===void 0)return t;let{openAll:n,closeAll:i}=r;if(t.indexOf("\x1B")!==-1)for(;r!==void 0;)t=kC(t,r.close,r.open),r=r.parent;let o=t.indexOf(`
|
|
17
|
-
`);return o!==-1&&(t=FC(t,i,n,o)),n+t+i},ta,th=(e,...t)=>{let[r]=t;if(!ti(r)||!ti(r.raw))return t.join(" ");let n=t.slice(1),i=[r.raw[0]];for(let o=1;o<r.length;o++)i.push(String(n[o-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[o]));return ta===void 0&&(ta=Jm()),ta(e,i.join(""))};Object.defineProperties(ri.prototype,Qt);var ii=ri();ii.supportsColor=ra;ii.stderr=ri({level:na?na.level:0});ii.stderr.supportsColor=na;rh.exports=ii});var er=Q(Re(),1);var _path = require('path'); var _path2 = _interopRequireDefault(_path);var _child_process = require('child_process');var _yargs = require('yargs'); var _yargs2 = _interopRequireDefault(_yargs);var _vite = require('vite');var _open2 = require('open'); var _open3 = _interopRequireDefault(_open2);var _consola = require('consola'); var _consola2 = _interopRequireDefault(_consola);var _kolorist = require('kolorist');var _helpers = require('yargs/helpers');var Jr="0.14.
|
|
18
|
-
`),n.pipe(n)});r.listen(e,"0.0.0.0"),r.on("error",()=>{t(!1)}),r.on("listening",()=>{r.close(),t(!0)})})}var ld=Q(Re(),1),fd=Q(Pi(),1),pd=Q(Pn(),1);var _utils = require('@antfu/utils');function ms(e){return e!==null&&typeof e=="object"}function hs(e,t,r=".",n){if(!ms(t))return hs(e,{},r,n);let i=Object.assign({},t);for(let o in e){if(o==="__proto__"||o==="constructor")continue;let s=e[o];s!=null&&(n&&n(i,o,s,r)||(Array.isArray(s)&&Array.isArray(i[o])?i[o]=s.concat(i[o]):ms(s)&&ms(i[o])?i[o]=hs(s,i[o],(r?`${r}.`:"")+o.toString(),n):i[o]=s))}return i}function gr(e){return(...t)=>t.reduce((r,n)=>hs(r,n,"",e),{})}var $e=gr(),sA=gr((e,t,r,n)=>{if(typeof e[t]<"u"&&typeof r=="function")return e[t]=r(e[t]),!0}),aA=gr((e,t,r,n)=>{if(Array.isArray(e[t])&&typeof r=="function")return e[t]=r(e[t]),!0});var gs=()=>process.env.NODE_ENV==="production",ys=(e="development")=>{process.env.NODE_ENV=e,Ae.level=gs()?2:3},yr=()=>ys("production");var Ae=_consola2.default.create({level:gs()?2:3});var td=Q(Up(),1);var _isinstalledglobally = require('is-installed-globally'); var _isinstalledglobally2 = _interopRequireDefault(_isinstalledglobally);var _globaldirs = require('global-dirs'); var _globaldirs2 = _interopRequireDefault(_globaldirs);var _crossspawn = require('cross-spawn');function xr(e,t="updated"){return new Promise((r,n)=>{let i=["log"];t==="updated"&&i.push("-1"),i.push('--pretty="%ci"',e),t==="created"&&i.push("|","tail","-1");let o=_crossspawn.spawn.call(void 0, "git",i),s="";o.stdout.on("data",a=>s+=String(a)),o.on("close",()=>{r(+new Date(s))}),o.on("error",()=>{r(0)})})}var Mn="<!-- more -->",jt=/^https?:/i,Gp=/^pathname:\/\//,Wp="/:all(.*)*";function Yp(e){return jt.test(e)}function ot(e){return e.replace(/\\/g,"/")}function As(e,t){return t.startsWith(e)?t:e+t}function re(e){return`/@fs${As("/",ot(e))}`}function zp(e){return e.startsWith("/")||/^\.\.?[\/\\]/.test(e)}var _unconfig = require('unconfig');async function yt(e,t={}){let{config:r,sources:n}=await await _unconfig.loadConfig.call(void 0, {sources:{files:e,rewrite:t.rewrite},cwd:t.cwd||process.cwd()}),i=_vite.normalizePath.call(void 0, n[0]||"");return{config:r,configFile:i}}var Ht=gr((e,t,r)=>{if(_utils.isFunction.call(void 0, e[t])&&_utils.isFunction.call(void 0, r)&&(e[t]=function(...n){e[t].call(this,...n),r.call(this,...n)}),t==="vite")return e[t]=_vite.mergeConfig.call(void 0, e[t],r),!0});async function Rs(e,t){return yt("valaxy.config",{rewrite(r){return typeof r=="function"?r(t||{}):r},cwd:e})}async function Jp(e){let{config:t,configFile:r}=await Rs(e.userRoot||process.cwd());t&&Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "valaxyConfig")} from ${_kolorist.dim.call(void 0, r)}`);let n=e.theme||t.theme||"yun";return{config:t,configFile:r,theme:n}}async function Xp(e,t){let r={};for(let n of e){let{config:i,configFile:o}=await yt("index",{rewrite(s,a){return typeof s=="function"?s(n,t):s},cwd:n.root});i&&(n.configFile=o,r=Ht(i,r))}return r}var rd=e=>`JSON.parse(${JSON.stringify(JSON.stringify(e))})`;function Ge(e,t=!1,r={preserveSymlinks:!1}){try{return(0,td.sync)(e,r)}catch(n){_consola2.default.log(n)}if(_isinstalledglobally2.default){try{return I.resolve(_path.join.call(void 0, _globaldirs2.default.yarn.packages,e))}catch (e21){}try{return I.resolve(_path.join.call(void 0, _globaldirs2.default.npm.packages,e))}catch (e22){}}if(t)throw new Error(`Failed to resolve package ${e}`);_consola2.default.error(`Failed to resolve package ${e}`)}function J_(e){return e}var eR=J_;function X_(e){return e}var tR=X_;function nR(e){return e}function Q_(e){return e}var iR=Q_,ks= exports.t ={mode:"auto",url:"/",lang:"en",title:"Valaxy Blog",description:"A blog generated by Valaxy.",subtitle:"Next Generation Static Blog Framework.",author:{avatar:"https://www.yunyoujun.cn/images/avatar.jpg",email:"i@valaxy.site",link:"https://valaxy.site",name:"VALAXY Developer",status:{emoji:"\u{1F30C}",message:"The moonlight is beautiful."}},favicon:"/favicon.svg",feed:{name:"",favicon:"/favicon.svg"},social:[],date:{format:""},lastUpdated:!0,license:{enabled:!0,language:"",type:"by-nc-sa"},sponsor:{enable:!0,title:"\u8D5E\u52A9",methods:[]},search:{enable:!1,type:"fuse"},comment:{enable:!1},cdn:{prefix:"https://unpkg.com/"},mediumZoom:{enable:!1,selector:"",options:{}},statistics:{enable:!1,readTime:{speed:{cn:300,en:100}}},pageSize:7},nd= exports.u ={ignoreDeadLinks:!0,siteConfig:ks,theme:"yun",themeConfig:{pkg:{name:"",version:""}},runtimeConfig:{addons:{}},features:{katex:!0},vite:{build:{rollupOptions:{external:[]}}}};function oR(e){return e}var Fs=Q(Re(),1);var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);function In(e,t){if(!e)return"";if(zp(e))if(t){let r=_fs2.default.lstatSync(t).isFile();return _path.resolve.call(void 0, r?_path.dirname.call(void 0, t):t,e)}else throw new Error(`entry is required when ${e} is path`);else return _path.dirname.call(void 0, Ge(`${e}/package.json`)||"")}async function sd(e,t=process.cwd()){let r={},n=o=>{o&&(r[o.name]=$e(r[o.name]||{},o))};if(Array.isArray(e))for(let o of e){if(typeof o=="string"){n(await od(o,{cwd:t}));continue}typeof o=="object"&&n($e(await od(o.name,{cwd:t}),o||{}))}let i=Object.values(r).filter(o=>o.enable);return Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "addons:")} ${_kolorist.yellow.call(void 0, i.map(o=>o.name).join(", "))}`),i}async function od(e,t={}){let r=ix(e,t.cwd||process.cwd()),n=_path.resolve.call(void 0, r,"./package.json");if(!Fs.default.existsSync(n)){Ae.error(`No addon named ${e} found`);return}let i=await Fs.default.readJSON(n);return{enable:!0,name:i.name,global:!!i.global,root:r,options:{},props:{}}}function ix(e,t){let r=e.startsWith("valaxy-addon")||e.startsWith(".")?e:`valaxy-addon-${e}`;return In(r,t)}function ad(e,t){let r=e.startsWith("valaxy-theme")||e.startsWith(".")?e:`valaxy-theme-${e}`;return In(r,t)}async function ax(e){return yt("site.config",{cwd:e})}async function Nn(e){let{config:t,configFile:r}=await ax(e);return t&&Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "siteConfig")} from ${_kolorist.dim.call(void 0, r)}`),{siteConfig:t,siteConfigFile:r}}async function lx(e){return yt("theme.config",{cwd:e})}async function ud(e){let{config:t,configFile:r}=await lx(e);return t&&Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "themeConfig")} from ${_kolorist.dim.call(void 0, r)}`),{themeConfig:t,themeConfigFile:r}}var hx=(0,fd.default)("valaxy:options");async function gx(e){let{config:t,themeRoot:r,theme:n}=e,i=t.siteConfig;i.url=_utils.ensureSuffix.call(void 0, "/",i.url||""),i.cdn.prefix=_utils.ensureSuffix.call(void 0, "/",i.cdn.prefix||"");let o=_path.resolve.call(void 0, r,"package.json");try{t.themeConfig.pkg=await ld.default.readJson(o,"utf-8")}catch (e23){console.error(`valaxy-theme-${n} doesn't have package.json`)}}async function Os(e,t){let{clientRoot:r,themeRoot:n,userRoot:i}=e,o=await sd(t.addons||[],e.userRoot),s=await Xp(o,e);t=Ht(t,s);let a=$e(t,nd);e.config={...a,runtimeConfig:{addons:{}}},e.addons=o,o.forEach(f=>{e.config.runtimeConfig.addons[f.name]=f});let u=o.map(({root:f})=>f),p=o.map(({name:f})=>f);e.addonRoots=u,e.roots=_utils.uniq.call(void 0, [r,n,...u,i]);let c=_optionalChain([e, 'access', _3 => _3.config, 'access', _4 => _4.vite, 'optionalAccess', _5 => _5.build, 'optionalAccess', _6 => _6.rollupOptions, 'optionalAccess', _7 => _7.external])||[];return e.config.vite.build.rollupOptions.external=c.filter(f=>!p.includes(f)),await gx(e),e}async function De(e={userRoot:process.cwd()},t="dev"){let r=_path.dirname.call(void 0, Ge("valaxy/package.json",!0)),n=_path.resolve.call(void 0, r,"client"),i=_path.resolve.call(void 0, e.userRoot||process.cwd()),{config:o,configFile:s,theme:a}=await Jp(e),{siteConfig:u,siteConfigFile:p}=await Nn(e.userRoot),{themeConfig:c,themeConfigFile:f}=await ud(e.userRoot);o=$e({siteConfig:u},{themeConfig:c},o);let l=ad(a,e.userRoot),y=(await(0,pd.default)(["**.md"],{cwd:_path.resolve.call(void 0, i,"pages"),ignore:["**/node_modules"]})).sort(),h={mode:t,pkgRoot:r,clientRoot:n,userRoot:i,themeRoot:l,addonRoots:[],roots:[],theme:a,config:{...o,runtimeConfig:{addons:{}}},configFile:s||"",siteConfigFile:p||"",themeConfigFile:f||"",pages:y,addons:[]};hx(h);let E=await Ps(h),_=Ht(o,E);return h=await Os(h,_),h}async function Ps(e){Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "valaxy.config.ts")} from ${_kolorist.yellow.call(void 0, `theme(${e.theme})`)}`);let{config:t}=await Rs(e.themeRoot,e);return t}var _readline = require('readline'); var mm = _interopRequireWildcard(_readline);var _os = require('os'); var _os2 = _interopRequireDefault(_os);var _markdownit = require('markdown-it'); var _markdownit2 = _interopRequireDefault(_markdownit);var _graymatter = require('gray-matter'); var _graymatter2 = _interopRequireDefault(_graymatter);var _pluginvue = require('@vitejs/plugin-vue'); var _pluginvue2 = _interopRequireDefault(_pluginvue);var _vitepluginpages = require('vite-plugin-pages'); var _vitepluginpages2 = _interopRequireDefault(_vitepluginpages);var _vitepluginvuelayouts = require('vite-plugin-vue-layouts'); var _vitepluginvuelayouts2 = _interopRequireDefault(_vitepluginvuelayouts);var _vite3 = require('unplugin-vue-components/vite'); var _vite4 = _interopRequireDefault(_vite3);var _vite5 = require('@intlify/unplugin-vue-i18n/vite'); var _vite6 = _interopRequireDefault(_vite5);var _dayjs = require('dayjs'); var _dayjs2 = _interopRequireDefault(_dayjs);var _htmltotext = require('html-to-text');var _markdownitanchor = require('markdown-it-anchor'); var _markdownitanchor2 = _interopRequireDefault(_markdownitanchor);var _markdownitattrs = require('markdown-it-attrs'); var _markdownitattrs2 = _interopRequireDefault(_markdownitattrs);var _markdownitemoji = require('markdown-it-emoji'); var _markdownitemoji2 = _interopRequireDefault(_markdownitemoji);var _markdownittasklists = require('markdown-it-task-lists'); var _markdownittasklists2 = _interopRequireDefault(_markdownittasklists);var _html_blocksjs = require('markdown-it/lib/common/html_blocks.js'); var _html_blocksjs2 = _interopRequireDefault(_html_blocksjs);var vx="[a-zA-Z_:@][a-zA-Z0-9:._-]*",Ex="[^\"'=<>`\\x00-\\x20]+",_x="'[^']*'",xx='"[^"]*"',Sx="(?:"+Ex+"|"+_x+"|"+xx+")",Ts="(?:\\s+"+vx+"(?:\\s*=\\s*"+Sx+")?)",dd="<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/?>",md="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",bx="<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->",Cx="<[?][\\s\\S]*?[?]>",wx="<![A-Z]+\\s+[^>]*>",Ax="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",Rx=new RegExp("^(?:"+dd+"|"+md+"|"+bx+"|"+Cx+"|"+wx+"|"+Ax+")"),kx=new RegExp("^(?:"+dd+"|"+md+")"),Fx=new RegExp("^<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/>"),Ox=new RegExp("^<([A-Za-z][A-Za-z0-9\\-]*)"+Ts+"*\\s*>.*<\\/\\1\\s*>"),Px=_html_blocksjs2.default,Tx=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],$x=["template","component","transition","transition-group","keep-alive","slot","teleport"],Dx=({blockTags:e,inlineTags:t})=>{let r=[...e,...Px],n=[...t,...Tx.filter(o=>!$x.includes(o))];return[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^</?("+r.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp("^</?(?!("+n.join("|")+")(?![\\w-]))[A-Za-z][A-Za-z0-9\\-]*(?=(\\s|/?>|$))"),/^$/,!0],[new RegExp(kx.source+"\\s*$"),/^$/,!1]]},Mx=e=>{let t=Dx(e);return(r,n,i,o)=>{let s,a,u,p=r.bMarks[n]+r.tShift[n],c=r.eMarks[n];if(r.sCount[n]-r.blkIndent>=4||!r.md.options.html||r.src.charCodeAt(p)!==60)return!1;for(u=r.src.slice(p,c),s=0;s<t.length&&!t[s][0].test(u);s++);if(s===t.length)return!1;if(o)return t[s][2];if(s===6){let l=_nullishCoalesce(u.match(Fx), () => (u.match(Ox)));if(l){r.line=n+1;let y=r.push("html_inline","",0);return y.content=l[0],y.map=[n,r.line],y=r.push("inline","",0),y.content=u.slice(l[0].length),y.map=[n,r.line],y.children=[],!0}}if(a=n+1,!t[s][1].test(u)){for(;a<i&&!(r.sCount[a]<r.blkIndent);a++)if(p=r.bMarks[a]+r.tShift[a],c=r.eMarks[a],u=r.src.slice(p,c),t[s][1].test(u)){u.length!==0&&a++;break}}r.line=a;let f=r.push("html_block","",0);return f.map=[n,a],f.content=r.getLines(n,a,r.blkIndent,!0),!0}},Ix=e=>{let t=e|32;return t>=97&&t<=122},Nx=(e,t)=>{let{pos:r}=e;if(!e.md.options.html)return!1;let n=e.posMax;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!Ix(i))return!1;let o=e.src.slice(r).match(Rx);if(!o)return!1;if(!t){let s=e.push("html_inline","",0);s.content=e.src.slice(r,r+o[0].length)}return e.pos+=o[0].length,!0},hd=(e,{blockTags:t=[],inlineTags:r=[]}={})=>{let n=Mx({blockTags:t,inlineTags:r});e.block.ruler.at("html_block",n,{alt:["paragraph","reference","blockquote"]}),e.inline.ruler.at("html_inline",Nx)};var gd=(e,{grayMatterOptions:t,renderExcerpt:r=!0}={})=>{let n=e.render.bind(e);e.render=(i,o={})=>{let{data:s,content:a,excerpt:u=""}=_graymatter2.default.call(void 0, i,t);return o.content=a,o.frontmatter={...o.frontmatter,...s},o.excerpt=r&&u?n(u,{...o}):u,n(a,o)}};var qx={"&":"&","<":"<",">":">","'":"'",'"':"""},Bx=/[&<>'"]/g,vt=e=>e.replace(Bx,t=>qx[t]);var Sr=(e,{shouldAllowHtml:t,shouldEscapeText:r})=>{let n=_nullishCoalesce(e.children, () => ([])),i=["text","emoji","code_inline"];return t&&i.push("html_inline"),n.filter(s=>i.includes(s.type)&&!_optionalChain([s, 'access', _8 => _8.meta, 'optionalAccess', _9 => _9.isPermalinkSymbol])).reduce((s,a)=>r&&(a.type==="code_inline"||a.type==="text")?`${s}${vt(a.content)}`:`${s}${a.content}`,"").trim()},qn=(e,{level:t,shouldAllowHtml:r,shouldAllowNested:n,shouldEscapeText:i,slugify:o,format:s})=>{let a=[],u=[],p=c=>{for(;u.length!==0&&c.level<=u[0].level;)u.shift();u.length===0?(a.push(c),u.push(c)):(u[0].children.push(c),u.unshift(c))};for(let c=0;c<e.length;c+=1){let f=e[c];if(_optionalChain([f, 'optionalAccess', _10 => _10.type])!=="heading_open"||_optionalChain([f, 'optionalAccess', _11 => _11.level])!==0&&!n)continue;let l=Number.parseInt(f.tag.slice(1),10);if(!t.includes(l))continue;let y=e[c+1];if(!y)continue;let h=Sr(y,{shouldAllowHtml:r,shouldEscapeText:i}),E=_nullishCoalesce(f.attrGet("id"), () => (o(h)));p({level:l,title:_nullishCoalesce(_optionalChain([s, 'optionalCall', _12 => _12(h)]), () => (h)),slug:E,link:`#${E}`,children:[]})}return a},jx=/[\u0000-\u001f]/g,Hx=/[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'“”‘’<>,.?/]+/g,Vx=/[\u0300-\u036F]/g,Bn=e=>e.normalize("NFKD").replace(Vx,"").replace(jx,"").replace(Hx,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/^(\d)/,"_$1").toLowerCase();var yd=(e,{level:t=[2,3],shouldAllowNested:r=!1,slugify:n=Bn,format:i}={})=>{let o=e.renderer.render.bind(e.renderer);e.renderer.render=(s,a,u)=>(u.headers=qn(s,{level:t,shouldAllowHtml:!1,shouldAllowNested:r,shouldEscapeText:!1,slugify:n,format:i}),o(s,a,u))};var vd="script",Ed="style",br="template",Ux=/^<script\s+.*?\bsetup\b.*?>$/is,Gx=({customBlocks:e})=>{let t=Array.from(new Set([vd,Ed,...e])).join("|");return new RegExp(`^\\s*(?<content>(?<tagOpen><(?<type>${t})\\s?.*?>)(?<contentStripped>.*)(?<tagClose><\\/\\k<type>\\s*>))\\s*$`,"is")},_d=(e,{customBlocks:t=[]}={})=>{let r=Gx({customBlocks:t}),n=e.render.bind(e);e.render=(o,s={})=>{s.sfcBlocks={template:null,script:null,scriptSetup:null,scripts:[],styles:[],customBlocks:[]};let a=n(o,s);return s.sfcBlocks.template={type:br,content:`<${br}>${a}</${br}>`,contentStripped:a,tagOpen:`<${br}>`,tagClose:`</${br}>`},a};let i=e.renderer.rules.html_block;e.renderer.rules.html_block=(o,s,a,u,p)=>{if(!u.sfcBlocks)return i(o,s,a,u,p);let l=o[s].content.match(r);if(!l)return i(o,s,a,u,p);let y=l.groups;return y.type===vd?(u.sfcBlocks.scripts.push(y),Ux.test(y.tagOpen)?u.sfcBlocks.scriptSetup=y:u.sfcBlocks.script=y):y.type===Ed?u.sfcBlocks.styles.push(y):u.sfcBlocks.customBlocks.push(y),""}};var xd=e=>{let t=e.renderer.render.bind(e.renderer);e.renderer.render=(r,n,i)=>{let o=r.findIndex(s=>s.tag==="h1");return i.title=o>-1?Sr(r[o+1],{shouldAllowHtml:!1,shouldEscapeText:!1}):"",t(r,n,i)}};var Wx=({listTag:e,listClass:t,itemClass:r,linkTag:n,linkClass:i})=>{let o=vt(e),s=t?` class="${vt(t)}"`:"",a="li",u=r?` class="${vt(r)}"`:"",p=vt(n),c=i?` class="${vt(i)}"`:"",f=y=>n==="router-link"?` to="${y}"`:` href="${y}"`,l=y=>`<${o}${s}>${y.map(h=>`<${a}${u}${u}><${p}${c}${f(h.link)}>${h.title}</${p}>${h.children.length>0?l(h.children):""}</${a}>`).join("")}</${o}>`;return l},Yx=({pattern:e,containerTag:t,containerClass:r})=>(n,i,o,s)=>{if(n.sCount[i]-n.blkIndent>=4)return!1;let a=n.bMarks[i]+n.tShift[i],u=n.eMarks[i],p=n.src.slice(a,u).split(" ")[0];if(!e.test(p))return!1;if(s)return!0;n.line=i+1;let c=n.push("toc_open",t,1);c.markup="",c.map=[i,n.line],r&&c.attrSet("class",r);let f=n.push("toc_body","",0);f.markup=p,f.map=[i,n.line],f.hidden=!0;let l=n.push("toc_close",t,-1);return l.markup="",f.map=[i,n.line],!0},Sd=(e,{pattern:t=/^\[\[toc\]\]$/i,slugify:r=Bn,format:n,level:i=[2,3],shouldAllowNested:o=!1,containerTag:s="nav",containerClass:a="table-of-contents",listTag:u="ul",listClass:p="",itemClass:c="",linkTag:f="a",linkClass:l=""}={})=>{e.block.ruler.before("heading","toc",Yx({pattern:t,containerTag:s,containerClass:a}),{alt:["paragraph","reference","blockquote"]});let y=Wx({listTag:u,listClass:p,itemClass:c,linkTag:f,linkClass:l});e.renderer.rules.toc_body=h=>y(qn(h,{level:i,shouldAllowHtml:!0,shouldAllowNested:o,shouldEscapeText:!0,slugify:r,format:n}))};var _katex = require('katex'); var _katex2 = _interopRequireDefault(_katex);function Cd(e,t){let r=e.posMax,n=!0,i=!0,o=t>0?e.src.charCodeAt(t-1):-1,s=t+1<=r?e.src.charCodeAt(t+1):-1;return(o===32||o===9||s>=48&&s<=57)&&(i=!1),(s===32||s===9)&&(n=!1),{can_open:n,can_close:i}}function zx(e,t){let r,n,i,o;if(e.src[e.pos]!=="$")return!1;if(i=Cd(e,e.pos),!i.can_open)return t||(e.pending+="$"),e.pos+=1,!0;let s=e.pos+1;for(r=s;(r=e.src.indexOf("$",r))!==-1;){for(o=r-1;e.src[o]==="\\";)o-=1;if((r-o)%2===1)break;r+=1}return r===-1?(t||(e.pending+="$"),e.pos=s,!0):r-s===0?(t||(e.pending+="$$"),e.pos=s+1,!0):(i=Cd(e,r),i.can_close?(t||(n=e.push("math_inline","math",0),n.markup="$",n.content=e.src.slice(s,r)),e.pos=r+1,!0):(t||(e.pending+="$"),e.pos=s,!0))}function Kx(e,t,r,n){let i,o,s,a,u=!1,p=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(p+2>c||e.src.slice(p,p+2)!=="$$")return!1;if(p+=2,i=e.src.slice(p,c),n)return!0;for(i.trim().slice(-2)==="$$"&&(i=i.trim().slice(0,-2),u=!0),s=t;!u&&(s++,!(s>=r||(p=e.bMarks[s]+e.tShift[s],c=e.eMarks[s],p<c&&e.tShift[s]<e.blkIndent)));)e.src.slice(p,c).trim().slice(-2)==="$$"&&(a=e.src.slice(0,c).lastIndexOf("$$"),o=e.src.slice(p,a),u=!0);e.line=s+1;let f=e.push("math_block","math",0);return f.block=!0,f.content=(i&&i.trim()?`${i}
|
|
17
|
+
`);return o!==-1&&(t=FC(t,i,n,o)),n+t+i},ta,th=(e,...t)=>{let[r]=t;if(!ti(r)||!ti(r.raw))return t.join(" ");let n=t.slice(1),i=[r.raw[0]];for(let o=1;o<r.length;o++)i.push(String(n[o-1]).replace(/[{}\\]/g,"\\$&"),String(r.raw[o]));return ta===void 0&&(ta=Jm()),ta(e,i.join(""))};Object.defineProperties(ri.prototype,Qt);var ii=ri();ii.supportsColor=ra;ii.stderr=ri({level:na?na.level:0});ii.stderr.supportsColor=na;rh.exports=ii});var er=Q(Re(),1);var _path = require('path'); var _path2 = _interopRequireDefault(_path);var _child_process = require('child_process');var _yargs = require('yargs'); var _yargs2 = _interopRequireDefault(_yargs);var _vite = require('vite');var _open2 = require('open'); var _open3 = _interopRequireDefault(_open2);var _consola = require('consola'); var _consola2 = _interopRequireDefault(_consola);var _kolorist = require('kolorist');var _helpers = require('yargs/helpers');var Jr="0.14.22";var _net = require('net'); var _net2 = _interopRequireDefault(_net);async function Ai(e){return await w1(e)?e:await Ai(e+1)}function w1(e){return new Promise(t=>{let r=_net2.default.createServer(n=>{n.write(`Echo server\r
|
|
18
|
+
`),n.pipe(n)});r.listen(e,"0.0.0.0"),r.on("error",()=>{t(!1)}),r.on("listening",()=>{r.close(),t(!0)})})}var ld=Q(Re(),1),fd=Q(Pi(),1),pd=Q(Pn(),1);var _utils = require('@antfu/utils');function ms(e){return e!==null&&typeof e=="object"}function hs(e,t,r=".",n){if(!ms(t))return hs(e,{},r,n);let i=Object.assign({},t);for(let o in e){if(o==="__proto__"||o==="constructor")continue;let s=e[o];s!=null&&(n&&n(i,o,s,r)||(Array.isArray(s)&&Array.isArray(i[o])?i[o]=s.concat(i[o]):ms(s)&&ms(i[o])?i[o]=hs(s,i[o],(r?`${r}.`:"")+o.toString(),n):i[o]=s))}return i}function gr(e){return(...t)=>t.reduce((r,n)=>hs(r,n,"",e),{})}var $e=gr(),sA=gr((e,t,r,n)=>{if(typeof e[t]<"u"&&typeof r=="function")return e[t]=r(e[t]),!0}),aA=gr((e,t,r,n)=>{if(Array.isArray(e[t])&&typeof r=="function")return e[t]=r(e[t]),!0});function gs(){return process.env.NODE_ENV==="production"}function ys(e="development"){process.env.NODE_ENV=e,Ae.level=gs()?2:3}function yr(){return ys("production")}var Ae=_consola2.default.create({level:gs()?2:3});var td=Q(Up(),1);var _isinstalledglobally = require('is-installed-globally'); var _isinstalledglobally2 = _interopRequireDefault(_isinstalledglobally);var _globaldirs = require('global-dirs'); var _globaldirs2 = _interopRequireDefault(_globaldirs);var _crossspawn = require('cross-spawn');function xr(e,t="updated"){return new Promise((r,n)=>{let i=["log"];t==="updated"&&i.push("-1"),i.push('--pretty="%ci"',e),t==="created"&&i.push("|","tail","-1");let o=_crossspawn.spawn.call(void 0, "git",i),s="";o.stdout.on("data",a=>s+=String(a)),o.on("close",()=>{r(+new Date(s))}),o.on("error",()=>{r(0)})})}var Mn="<!-- more -->",jt=/^https?:/i,Gp=/^pathname:\/\//,Wp="/:all(.*)*";function Yp(e){return jt.test(e)}function ot(e){return e.replace(/\\/g,"/")}function As(e,t){return t.startsWith(e)?t:e+t}function re(e){return`/@fs${As("/",ot(e))}`}function zp(e){return e.startsWith("/")||/^\.\.?[\/\\]/.test(e)}var _unconfig = require('unconfig');async function yt(e,t={}){let{config:r,sources:n}=await await _unconfig.loadConfig.call(void 0, {sources:{files:e,rewrite:t.rewrite},cwd:t.cwd||process.cwd()}),i=_vite.normalizePath.call(void 0, n[0]||"");return{config:r,configFile:i}}var Ht=gr((e,t,r)=>{if(_utils.isFunction.call(void 0, e[t])&&_utils.isFunction.call(void 0, r)&&(e[t]=function(...n){e[t].call(this,...n),r.call(this,...n)}),t==="vite")return e[t]=_vite.mergeConfig.call(void 0, e[t],r),!0});async function Rs(e,t){return yt("valaxy.config",{rewrite(r){return typeof r=="function"?r(t||{}):r},cwd:e})}async function Jp(e){let{config:t,configFile:r}=await Rs(e.userRoot||process.cwd());t&&Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "valaxyConfig")} from ${_kolorist.dim.call(void 0, r)}`);let n=e.theme||t.theme||"yun";return{config:t,configFile:r,theme:n}}async function Xp(e,t){let r={};for(let n of e){let{config:i,configFile:o}=await yt("index",{rewrite(s,a){return typeof s=="function"?s(n,t):s},cwd:n.root});i&&(n.configFile=o,r=Ht(i,r))}return r}function rd(e){return`JSON.parse(${JSON.stringify(JSON.stringify(e))})`}function Ge(e,t=!1,r={preserveSymlinks:!1}){try{return(0,td.sync)(e,r)}catch(n){_consola2.default.log(n)}if(_isinstalledglobally2.default){try{return I.resolve(_path.join.call(void 0, _globaldirs2.default.yarn.packages,e))}catch (e21){}try{return I.resolve(_path.join.call(void 0, _globaldirs2.default.npm.packages,e))}catch (e22){}}if(t)throw new Error(`Failed to resolve package ${e}`);_consola2.default.error(`Failed to resolve package ${e}`)}function J_(e){return e}var eR=J_;function X_(e){return e}var tR=X_;function nR(e){return e}function Q_(e){return e}var iR=Q_,ks= exports.t ={mode:"auto",url:"/",lang:"en",title:"Valaxy Blog",description:"A blog generated by Valaxy.",subtitle:"Next Generation Static Blog Framework.",author:{avatar:"https://www.yunyoujun.cn/images/avatar.jpg",email:"i@valaxy.site",link:"https://valaxy.site",name:"VALAXY Developer",status:{emoji:"\u{1F30C}",message:"The moonlight is beautiful."}},favicon:"/favicon.svg",feed:{name:"",favicon:"/favicon.svg"},social:[],date:{format:""},lastUpdated:!0,license:{enabled:!0,language:"",type:"by-nc-sa"},sponsor:{enable:!0,title:"\u8D5E\u52A9",methods:[]},search:{enable:!1,type:"fuse"},comment:{enable:!1},cdn:{prefix:"https://unpkg.com/"},mediumZoom:{enable:!1,selector:"",options:{}},statistics:{enable:!1,readTime:{speed:{cn:300,en:100}}},pageSize:7},nd= exports.u ={ignoreDeadLinks:!0,siteConfig:ks,theme:"yun",themeConfig:{pkg:{name:"",version:""}},runtimeConfig:{addons:{}},features:{katex:!0},vite:{build:{rollupOptions:{external:[]}}}};function oR(e){return e}var Fs=Q(Re(),1);var _fs = require('fs'); var _fs2 = _interopRequireDefault(_fs);function In(e,t){if(!e)return"";if(zp(e))if(t){let r=_fs2.default.lstatSync(t).isFile();return _path.resolve.call(void 0, r?_path.dirname.call(void 0, t):t,e)}else throw new Error(`entry is required when ${e} is path`);else return _path.dirname.call(void 0, Ge(`${e}/package.json`)||"")}async function sd(e,t=process.cwd()){let r={},n=o=>{o&&(r[o.name]=$e(r[o.name]||{},o))};if(Array.isArray(e))for(let o of e){if(typeof o=="string"){n(await od(o,{cwd:t}));continue}typeof o=="object"&&n($e(await od(o.name,{cwd:t}),o||{}))}let i=Object.values(r).filter(o=>o.enable);return Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "addons:")} ${_kolorist.yellow.call(void 0, i.map(o=>o.name).join(", "))}`),i}async function od(e,t={}){let r=ix(e,t.cwd||process.cwd()),n=_path.resolve.call(void 0, r,"./package.json");if(!Fs.default.existsSync(n)){Ae.error(`No addon named ${e} found`);return}let i=await Fs.default.readJSON(n);return{enable:!0,name:i.name,global:!!i.global,root:r,options:{},props:{}}}function ix(e,t){let r=e.startsWith("valaxy-addon")||e.startsWith(".")?e:`valaxy-addon-${e}`;return In(r,t)}function ad(e,t){let r=e.startsWith("valaxy-theme")||e.startsWith(".")?e:`valaxy-theme-${e}`;return In(r,t)}async function ax(e){return yt("site.config",{cwd:e})}async function Nn(e){let{config:t,configFile:r}=await ax(e);return t&&Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "siteConfig")} from ${_kolorist.dim.call(void 0, r)}`),{siteConfig:t,siteConfigFile:r}}async function lx(e){return yt("theme.config",{cwd:e})}async function ud(e){let{config:t,configFile:r}=await lx(e);return t&&Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "themeConfig")} from ${_kolorist.dim.call(void 0, r)}`),{themeConfig:t,themeConfigFile:r}}var hx=(0,fd.default)("valaxy:options");async function gx(e){let{config:t,themeRoot:r,theme:n}=e,i=t.siteConfig;i.url=_utils.ensureSuffix.call(void 0, "/",i.url||""),i.cdn.prefix=_utils.ensureSuffix.call(void 0, "/",i.cdn.prefix||"");let o=_path.resolve.call(void 0, r,"package.json");try{t.themeConfig.pkg=await ld.default.readJson(o,"utf-8")}catch (e23){console.error(`valaxy-theme-${n} doesn't have package.json`)}}async function Os(e,t){let{clientRoot:r,themeRoot:n,userRoot:i}=e,o=await sd(t.addons||[],e.userRoot),s=await Xp(o,e);t=Ht(t,s);let a=$e(t,nd);e.config={...a,runtimeConfig:{addons:{}}},e.addons=o,o.forEach(f=>{e.config.runtimeConfig.addons[f.name]=f});let u=o.map(({root:f})=>f),p=o.map(({name:f})=>f);e.addonRoots=u,e.roots=_utils.uniq.call(void 0, [r,n,...u,i]);let c=_optionalChain([e, 'access', _3 => _3.config, 'access', _4 => _4.vite, 'optionalAccess', _5 => _5.build, 'optionalAccess', _6 => _6.rollupOptions, 'optionalAccess', _7 => _7.external])||[];return e.config.vite.build.rollupOptions.external=c.filter(f=>!p.includes(f)),await gx(e),e}async function De(e={userRoot:process.cwd()},t="dev"){let r=_path.dirname.call(void 0, Ge("valaxy/package.json",!0)),n=_path.resolve.call(void 0, r,"client"),i=_path.resolve.call(void 0, e.userRoot||process.cwd()),{config:o,configFile:s,theme:a}=await Jp(e),{siteConfig:u,siteConfigFile:p}=await Nn(e.userRoot),{themeConfig:c,themeConfigFile:f}=await ud(e.userRoot);o=$e({siteConfig:u},{themeConfig:c},o);let l=ad(a,e.userRoot),y=(await(0,pd.default)(["**.md"],{cwd:_path.resolve.call(void 0, i,"pages"),ignore:["**/node_modules"]})).sort(),h={mode:t,pkgRoot:r,clientRoot:n,userRoot:i,themeRoot:l,addonRoots:[],roots:[],theme:a,config:{...o,runtimeConfig:{addons:{}}},configFile:s||"",siteConfigFile:p||"",themeConfigFile:f||"",pages:y,addons:[]};hx(h);let E=await Ps(h),_=Ht(o,E);return h=await Os(h,_),h}async function Ps(e){Ae.info(`Resolve ${_kolorist.cyan.call(void 0, "valaxy.config.ts")} from ${_kolorist.yellow.call(void 0, `theme(${e.theme})`)}`);let{config:t}=await Rs(e.themeRoot,e);return t}var _readline = require('readline'); var mm = _interopRequireWildcard(_readline);var _os = require('os'); var _os2 = _interopRequireDefault(_os);var _markdownit = require('markdown-it'); var _markdownit2 = _interopRequireDefault(_markdownit);var _graymatter = require('gray-matter'); var _graymatter2 = _interopRequireDefault(_graymatter);var _pluginvue = require('@vitejs/plugin-vue'); var _pluginvue2 = _interopRequireDefault(_pluginvue);var _vitepluginpages = require('vite-plugin-pages'); var _vitepluginpages2 = _interopRequireDefault(_vitepluginpages);var _vitepluginvuelayouts = require('vite-plugin-vue-layouts'); var _vitepluginvuelayouts2 = _interopRequireDefault(_vitepluginvuelayouts);var _vite3 = require('unplugin-vue-components/vite'); var _vite4 = _interopRequireDefault(_vite3);var _vite5 = require('@intlify/unplugin-vue-i18n/vite'); var _vite6 = _interopRequireDefault(_vite5);var _dayjs = require('dayjs'); var _dayjs2 = _interopRequireDefault(_dayjs);var _htmltotext = require('html-to-text');var _markdownitanchor = require('markdown-it-anchor'); var _markdownitanchor2 = _interopRequireDefault(_markdownitanchor);var _markdownitattrs = require('markdown-it-attrs'); var _markdownitattrs2 = _interopRequireDefault(_markdownitattrs);var _markdownitemoji = require('markdown-it-emoji'); var _markdownitemoji2 = _interopRequireDefault(_markdownitemoji);var _markdownittasklists = require('markdown-it-task-lists'); var _markdownittasklists2 = _interopRequireDefault(_markdownittasklists);var _html_blocksjs = require('markdown-it/lib/common/html_blocks.js'); var _html_blocksjs2 = _interopRequireDefault(_html_blocksjs);var vx="[a-zA-Z_:@][a-zA-Z0-9:._-]*",Ex="[^\"'=<>`\\x00-\\x20]+",_x="'[^']*'",xx='"[^"]*"',Sx="(?:"+Ex+"|"+_x+"|"+xx+")",Ts="(?:\\s+"+vx+"(?:\\s*=\\s*"+Sx+")?)",dd="<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/?>",md="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",bx="<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->",Cx="<[?][\\s\\S]*?[?]>",wx="<![A-Z]+\\s+[^>]*>",Ax="<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",Rx=new RegExp("^(?:"+dd+"|"+md+"|"+bx+"|"+Cx+"|"+wx+"|"+Ax+")"),kx=new RegExp("^(?:"+dd+"|"+md+")"),Fx=new RegExp("^<[A-Za-z][A-Za-z0-9\\-]*"+Ts+"*\\s*\\/>"),Ox=new RegExp("^<([A-Za-z][A-Za-z0-9\\-]*)"+Ts+"*\\s*>.*<\\/\\1\\s*>"),Px=_html_blocksjs2.default,Tx=["a","abbr","acronym","audio","b","bdi","bdo","big","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","label","map","mark","meter","noscript","object","output","picture","progress","q","ruby","s","samp","script","select","slot","small","span","strong","sub","sup","svg","template","textarea","time","u","tt","var","video","wbr"],$x=["template","component","transition","transition-group","keep-alive","slot","teleport"],Dx=({blockTags:e,inlineTags:t})=>{let r=[...e,...Px],n=[...t,...Tx.filter(o=>!$x.includes(o))];return[[/^<(script|pre|style)(?=(\s|>|$))/i,/<\/(script|pre|style)>/i,!0],[/^<!--/,/-->/,!0],[/^<\?/,/\?>/,!0],[/^<![A-Z]/,/>/,!0],[/^<!\[CDATA\[/,/\]\]>/,!0],[new RegExp("^</?("+r.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp("^</?(?!("+n.join("|")+")(?![\\w-]))[A-Za-z][A-Za-z0-9\\-]*(?=(\\s|/?>|$))"),/^$/,!0],[new RegExp(kx.source+"\\s*$"),/^$/,!1]]},Mx=e=>{let t=Dx(e);return(r,n,i,o)=>{let s,a,u,p=r.bMarks[n]+r.tShift[n],c=r.eMarks[n];if(r.sCount[n]-r.blkIndent>=4||!r.md.options.html||r.src.charCodeAt(p)!==60)return!1;for(u=r.src.slice(p,c),s=0;s<t.length&&!t[s][0].test(u);s++);if(s===t.length)return!1;if(o)return t[s][2];if(s===6){let l=_nullishCoalesce(u.match(Fx), () => (u.match(Ox)));if(l){r.line=n+1;let y=r.push("html_inline","",0);return y.content=l[0],y.map=[n,r.line],y=r.push("inline","",0),y.content=u.slice(l[0].length),y.map=[n,r.line],y.children=[],!0}}if(a=n+1,!t[s][1].test(u)){for(;a<i&&!(r.sCount[a]<r.blkIndent);a++)if(p=r.bMarks[a]+r.tShift[a],c=r.eMarks[a],u=r.src.slice(p,c),t[s][1].test(u)){u.length!==0&&a++;break}}r.line=a;let f=r.push("html_block","",0);return f.map=[n,a],f.content=r.getLines(n,a,r.blkIndent,!0),!0}},Ix=e=>{let t=e|32;return t>=97&&t<=122},Nx=(e,t)=>{let{pos:r}=e;if(!e.md.options.html)return!1;let n=e.posMax;if(e.src.charCodeAt(r)!==60||r+2>=n)return!1;let i=e.src.charCodeAt(r+1);if(i!==33&&i!==63&&i!==47&&!Ix(i))return!1;let o=e.src.slice(r).match(Rx);if(!o)return!1;if(!t){let s=e.push("html_inline","",0);s.content=e.src.slice(r,r+o[0].length)}return e.pos+=o[0].length,!0},hd=(e,{blockTags:t=[],inlineTags:r=[]}={})=>{let n=Mx({blockTags:t,inlineTags:r});e.block.ruler.at("html_block",n,{alt:["paragraph","reference","blockquote"]}),e.inline.ruler.at("html_inline",Nx)};var gd=(e,{grayMatterOptions:t,renderExcerpt:r=!0}={})=>{let n=e.render.bind(e);e.render=(i,o={})=>{let{data:s,content:a,excerpt:u=""}=_graymatter2.default.call(void 0, i,t);return o.content=a,o.frontmatter={...o.frontmatter,...s},o.excerpt=r&&u?n(u,{...o}):u,n(a,o)}};var qx={"&":"&","<":"<",">":">","'":"'",'"':"""},Bx=/[&<>'"]/g,vt=e=>e.replace(Bx,t=>qx[t]);var Sr=(e,{shouldAllowHtml:t,shouldEscapeText:r})=>{let n=_nullishCoalesce(e.children, () => ([])),i=["text","emoji","code_inline"];return t&&i.push("html_inline"),n.filter(s=>i.includes(s.type)&&!_optionalChain([s, 'access', _8 => _8.meta, 'optionalAccess', _9 => _9.isPermalinkSymbol])).reduce((s,a)=>r&&(a.type==="code_inline"||a.type==="text")?`${s}${vt(a.content)}`:`${s}${a.content}`,"").trim()},qn=(e,{level:t,shouldAllowHtml:r,shouldAllowNested:n,shouldEscapeText:i,slugify:o,format:s})=>{let a=[],u=[],p=c=>{for(;u.length!==0&&c.level<=u[0].level;)u.shift();u.length===0?(a.push(c),u.push(c)):(u[0].children.push(c),u.unshift(c))};for(let c=0;c<e.length;c+=1){let f=e[c];if(_optionalChain([f, 'optionalAccess', _10 => _10.type])!=="heading_open"||_optionalChain([f, 'optionalAccess', _11 => _11.level])!==0&&!n)continue;let l=Number.parseInt(f.tag.slice(1),10);if(!t.includes(l))continue;let y=e[c+1];if(!y)continue;let h=Sr(y,{shouldAllowHtml:r,shouldEscapeText:i}),E=_nullishCoalesce(f.attrGet("id"), () => (o(h)));p({level:l,title:_nullishCoalesce(_optionalChain([s, 'optionalCall', _12 => _12(h)]), () => (h)),slug:E,link:`#${E}`,children:[]})}return a},jx=/[\u0000-\u001f]/g,Hx=/[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'“”‘’<>,.?/]+/g,Vx=/[\u0300-\u036F]/g,Bn=e=>e.normalize("NFKD").replace(Vx,"").replace(jx,"").replace(Hx,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/^(\d)/,"_$1").toLowerCase();var yd=(e,{level:t=[2,3],shouldAllowNested:r=!1,slugify:n=Bn,format:i}={})=>{let o=e.renderer.render.bind(e.renderer);e.renderer.render=(s,a,u)=>(u.headers=qn(s,{level:t,shouldAllowHtml:!1,shouldAllowNested:r,shouldEscapeText:!1,slugify:n,format:i}),o(s,a,u))};var vd="script",Ed="style",br="template",Ux=/^<script\s+.*?\bsetup\b.*?>$/is,Gx=({customBlocks:e})=>{let t=Array.from(new Set([vd,Ed,...e])).join("|");return new RegExp(`^\\s*(?<content>(?<tagOpen><(?<type>${t})\\s?.*?>)(?<contentStripped>.*)(?<tagClose><\\/\\k<type>\\s*>))\\s*$`,"is")},_d=(e,{customBlocks:t=[]}={})=>{let r=Gx({customBlocks:t}),n=e.render.bind(e);e.render=(o,s={})=>{s.sfcBlocks={template:null,script:null,scriptSetup:null,scripts:[],styles:[],customBlocks:[]};let a=n(o,s);return s.sfcBlocks.template={type:br,content:`<${br}>${a}</${br}>`,contentStripped:a,tagOpen:`<${br}>`,tagClose:`</${br}>`},a};let i=e.renderer.rules.html_block;e.renderer.rules.html_block=(o,s,a,u,p)=>{if(!u.sfcBlocks)return i(o,s,a,u,p);let l=o[s].content.match(r);if(!l)return i(o,s,a,u,p);let y=l.groups;return y.type===vd?(u.sfcBlocks.scripts.push(y),Ux.test(y.tagOpen)?u.sfcBlocks.scriptSetup=y:u.sfcBlocks.script=y):y.type===Ed?u.sfcBlocks.styles.push(y):u.sfcBlocks.customBlocks.push(y),""}};var xd=e=>{let t=e.renderer.render.bind(e.renderer);e.renderer.render=(r,n,i)=>{let o=r.findIndex(s=>s.tag==="h1");return i.title=o>-1?Sr(r[o+1],{shouldAllowHtml:!1,shouldEscapeText:!1}):"",t(r,n,i)}};var Wx=({listTag:e,listClass:t,itemClass:r,linkTag:n,linkClass:i})=>{let o=vt(e),s=t?` class="${vt(t)}"`:"",a="li",u=r?` class="${vt(r)}"`:"",p=vt(n),c=i?` class="${vt(i)}"`:"",f=y=>n==="router-link"?` to="${y}"`:` href="${y}"`,l=y=>`<${o}${s}>${y.map(h=>`<${a}${u}${u}><${p}${c}${f(h.link)}>${h.title}</${p}>${h.children.length>0?l(h.children):""}</${a}>`).join("")}</${o}>`;return l},Yx=({pattern:e,containerTag:t,containerClass:r})=>(n,i,o,s)=>{if(n.sCount[i]-n.blkIndent>=4)return!1;let a=n.bMarks[i]+n.tShift[i],u=n.eMarks[i],p=n.src.slice(a,u).split(" ")[0];if(!e.test(p))return!1;if(s)return!0;n.line=i+1;let c=n.push("toc_open",t,1);c.markup="",c.map=[i,n.line],r&&c.attrSet("class",r);let f=n.push("toc_body","",0);f.markup=p,f.map=[i,n.line],f.hidden=!0;let l=n.push("toc_close",t,-1);return l.markup="",f.map=[i,n.line],!0},Sd=(e,{pattern:t=/^\[\[toc\]\]$/i,slugify:r=Bn,format:n,level:i=[2,3],shouldAllowNested:o=!1,containerTag:s="nav",containerClass:a="table-of-contents",listTag:u="ul",listClass:p="",itemClass:c="",linkTag:f="a",linkClass:l=""}={})=>{e.block.ruler.before("heading","toc",Yx({pattern:t,containerTag:s,containerClass:a}),{alt:["paragraph","reference","blockquote"]});let y=Wx({listTag:u,listClass:p,itemClass:c,linkTag:f,linkClass:l});e.renderer.rules.toc_body=h=>y(qn(h,{level:i,shouldAllowHtml:!0,shouldAllowNested:o,shouldEscapeText:!0,slugify:r,format:n}))};var _katex = require('katex'); var _katex2 = _interopRequireDefault(_katex);function Cd(e,t){let r=e.posMax,n=!0,i=!0,o=t>0?e.src.charCodeAt(t-1):-1,s=t+1<=r?e.src.charCodeAt(t+1):-1;return(o===32||o===9||s>=48&&s<=57)&&(i=!1),(s===32||s===9)&&(n=!1),{can_open:n,can_close:i}}function zx(e,t){let r,n,i,o;if(e.src[e.pos]!=="$")return!1;if(i=Cd(e,e.pos),!i.can_open)return t||(e.pending+="$"),e.pos+=1,!0;let s=e.pos+1;for(r=s;(r=e.src.indexOf("$",r))!==-1;){for(o=r-1;e.src[o]==="\\";)o-=1;if((r-o)%2===1)break;r+=1}return r===-1?(t||(e.pending+="$"),e.pos=s,!0):r-s===0?(t||(e.pending+="$$"),e.pos=s+1,!0):(i=Cd(e,r),i.can_close?(t||(n=e.push("math_inline","math",0),n.markup="$",n.content=e.src.slice(s,r)),e.pos=r+1,!0):(t||(e.pending+="$"),e.pos=s,!0))}function Kx(e,t,r,n){let i,o,s,a,u=!1,p=e.bMarks[t]+e.tShift[t],c=e.eMarks[t];if(p+2>c||e.src.slice(p,p+2)!=="$$")return!1;if(p+=2,i=e.src.slice(p,c),n)return!0;for(i.trim().slice(-2)==="$$"&&(i=i.trim().slice(0,-2),u=!0),s=t;!u&&(s++,!(s>=r||(p=e.bMarks[s]+e.tShift[s],c=e.eMarks[s],p<c&&e.tShift[s]<e.blkIndent)));)e.src.slice(p,c).trim().slice(-2)==="$$"&&(a=e.src.slice(0,c).lastIndexOf("$$"),o=e.src.slice(p,a),u=!0);e.line=s+1;let f=e.push("math_block","math",0);return f.block=!0,f.content=(i&&i.trim()?`${i}
|
|
19
19
|
`:"")+e.getLines(t+1,s,e.tShift[t],!0)+(o&&o.trim()?o:""),f.map=[t,e.line],f.markup="$$",!0}function $s(e,t){t=t||{};let r=function(s){t.displayMode=!1;try{return _katex2.default.renderToString(s,t)}catch(a){return t.throwOnError&&console.warn(a),s}},n=function(s,a){return r(s[a].content)},i=function(s){t.displayMode=!0;try{return`<p>${_katex2.default.renderToString(s,t)}</p>`}catch(a){return t.throwOnError&&console.warn(a),s}},o=function(s,a){return`${i(s[a].content)}
|
|
20
20
|
`};e.inline.ruler.after("escape","math_inline",zx),e.block.ruler.after("blockquote","math_block",Kx,{alt:["paragraph","reference","blockquote","list"]}),e.renderer.rules.math_inline=n,e.renderer.rules.math_block=o}var _markdownitcontainer = require('markdown-it-container'); var _markdownitcontainer2 = _interopRequireDefault(_markdownitcontainer);function Jx(e,{icon:t,color:r,text:n,langs:i}={}){return[_markdownitcontainer2.default,e,{render(o,s){let a=o[s],u=a.info.trim().slice(e.length).trim();if(a.nesting===1){if(e==="details")return`<details class="${e} custom-block">${`<summary>${u}</summary>`}
|
|
21
21
|
`;let p="";t&&(p=`<i class="icon ${t}" ${r?`style="color: ${r}"`:""}></i>`);let c=`<span lang="en">${u||n}</span>`;return i&&Object.keys(i).forEach(f=>{c+=`<span lang="${f}">${u||i[f]}</span>`}),`<div class="${e} custom-block"><p class="custom-block-title">${p}${c}</p>
|
|
22
22
|
`}else return e==="details"?`</details>
|
|
23
23
|
`:`</div>
|
|
24
|
-
`}}]}var wd={tip:{text:"TIP",langs:{"zh-CN":"\u63D0\u793A"}},warning:{text:"WARNING",langs:{"zh-CN":"\u6CE8\u610F"}},danger:{text:"DANGER",langs:{"zh-CN":"\u8B66\u544A"}},info:{text:"INFO",langs:{"zh-CN":"\u4FE1\u606F"}},details:{text:"Details",langs:{"zh-CN":"\u8BE6\u60C5"}}}
|
|
24
|
+
`}}]}var wd={tip:{text:"TIP",langs:{"zh-CN":"\u63D0\u793A"}},warning:{text:"WARNING",langs:{"zh-CN":"\u6CE8\u610F"}},danger:{text:"DANGER",langs:{"zh-CN":"\u8B66\u544A"}},info:{text:"INFO",langs:{"zh-CN":"\u4FE1\u606F"}},details:{text:"Details",langs:{"zh-CN":"\u8BE6\u60C5"}}};function Ad(e,t={}){Object.keys(wd).forEach(n=>{let i={...wd[n],...t[n]||{}};e.use(...Jx(n,i))}),e.use(_markdownitcontainer2.default,"v-pre",{render:(n,i)=>n[i].nesting===1?`<div v-pre>
|
|
25
25
|
`:`</div>
|
|
26
26
|
`}),["zh-CN","en"].forEach(n=>{e.use(_markdownitcontainer2.default,n,{render:(i,o)=>i[o].nesting===1?`<div lang="${n}">
|
|
27
27
|
`:`</div>
|
|
28
|
-
`})})}
|
|
28
|
+
`})})}var kd=Q(Rd(),1),Qx=/[\u0000-\u001F]/g,Zx=/[\s~`!@#$%^&*()\-_+=[\]{}|\\;:"'<>,.…?/]+/g;function Un(e){return(0,kd.remove)(e).replace(Qx,"").replace(Zx,"-").replace(/\-{2,}/g,"-").replace(/^\-+|\-+$/g,"").replace(/^(\d)/,"_$1").toLowerCase()}var _crypto = require('crypto'); var _crypto2 = _interopRequireDefault(_crypto);var eS=128,Et,Vt,tS=e=>{!Et||Et.length<e?(Et=Buffer.allocUnsafe(e*eS),_crypto2.default.randomFillSync(Et),Vt=0):Vt+e>Et.length&&(_crypto2.default.randomFillSync(Et),Vt=0),Vt+=e},rS=e=>(tS(e-=0),Et.subarray(Vt-e,Vt)),nS=(e,t,r)=>{let n=(2<<31-Math.clz32(e.length-1|1))-1,i=Math.ceil(1.6*n*t/e.length);return(o=t)=>{let s="";for(;;){let a=r(i),u=i;for(;u--;)if(s+=e[a[u]&n]||"",s.length===o)return s}}},Od=(e,t=21)=>nS(e,t,rS);var Nd=Q(Ls(),1);var _shiki = require('shiki');function wr(e,t={}){return({code:r})=>{let n=_nullishCoalesce(t.tagRegExp, () => (/(?:\/\/|\/\*{1,2}) *\[!code ([\w+-]+)(?::(\d+))?] *(?:\*{1,2}\/)?/)),i=[];return r=r.split(`
|
|
29
29
|
`).map((o,s)=>{let[a,u,p]=_nullishCoalesce(o.match(n), () => ([]));return!a||!Object.keys(e).includes(u)?o:(Array.from({length:Number(_nullishCoalesce(p, () => (1)))}).forEach((c,f)=>{i.push({line:s+f+1,classes:e[u]})}),o.replace(n,""))}).join(`
|
|
30
|
-
`),{code:r,lineOptions:i}}}function Ut(e,t,r){let n=new RegExp(`<${_nullishCoalesce(r, () => ("w+"))}[^>]*class="([\\w+-:;\\/* ]*)"`);return t=Array.isArray(t)?t:[t],e.replace(n,(i,o)=>i.replace(o,`${o} ${t}`))}function $d(e={}){let t=_nullishCoalesce(e.commonDiffClass, () => ("diff")),r=_nullishCoalesce(e.removedLinesClasses, () => (["remove"])),n=_nullishCoalesce(e.removedLinesClasses, () => (["add"])),i=_nullishCoalesce(e.removeLineTag, () => ("--")),o=_nullishCoalesce(e.addLineTag, () => ("++")),s=_nullishCoalesce(e.hasDiffClass, () => ("has-diff"));return{name:"diff",handler:wr({[i]:[t,...r],[o]:[t,...n]},e),postProcess:({code:a})=>a.includes(t)?Ut(a,s,"pre"):a}}function Dd(e={}){let t=_nullishCoalesce(e.hasFocusClass, () => ("has-focus")),r=_nullishCoalesce(e.hasFocusedLinesClass, () => ("has-focused-lines")),n=_nullishCoalesce(e.focusTag, () => ("focus"));return{name:"focus",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function Md(e={}){let t=_nullishCoalesce(e.hasHighlightClass, () => ("has-highlight")),r=_nullishCoalesce(e.hasHighlightedLinesClass, () => ("has-highlighted-lines")),n=_nullishCoalesce(e.highlightTag, () => ("hl"));return{name:"highlight",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function aS(e,t,r){return e.reduce((n,i)=>{let{code:o,lineOptions:s}=_nullishCoalesce(_optionalChain([i, 'access', _13 => _13.handler, 'optionalCall', _14 => _14({code:n.code,lang:r})]), () => (n));return{code:o,lineOptions:[...n.lineOptions,...s]}},{code:t,lineOptions:[]})}function uS(e,t,r){return e.reduce((n,i)=>_nullishCoalesce(_optionalChain([i, 'access', _15 => _15.postProcess, 'optionalCall', _16 => _16({code:n,lang:r})]), () => (n)),t)}async function Id(e={}){let t=await _shiki.getHighlighter.call(void 0, e),r=_nullishCoalesce(e.processors, () => ([]));return{...t,codeToHtml:(n,i)=>{let o=typeof i=="object"?i.lang:i,s=typeof i=="object"?_nullishCoalesce(i.lineOptions, () => ([])):[],a=typeof i=="object"?i.theme:void 0,{code:u,lineOptions:p}=aS(r,n,o),c=t.codeToHtml(u,{lang:o,theme:a,lineOptions:[...p,...s]});return uS(r,c,o)}}}var cS=Od("abcdefghijklmnopqrstuvwxyz",10)
|
|
31
|
-
`).map((h,E)=>{let _=E+1;return p.some(([$,P])=>$&&P?_>=$&&_<=P:_===$)?'<div class="highlighted"> </div>':"<br>"}).join("")}</div>`+c}}
|
|
30
|
+
`),{code:r,lineOptions:i}}}function Ut(e,t,r){let n=new RegExp(`<${_nullishCoalesce(r, () => ("w+"))}[^>]*class="([\\w+-:;\\/* ]*)"`);return t=Array.isArray(t)?t:[t],e.replace(n,(i,o)=>i.replace(o,`${o} ${t}`))}function $d(e={}){let t=_nullishCoalesce(e.commonDiffClass, () => ("diff")),r=_nullishCoalesce(e.removedLinesClasses, () => (["remove"])),n=_nullishCoalesce(e.removedLinesClasses, () => (["add"])),i=_nullishCoalesce(e.removeLineTag, () => ("--")),o=_nullishCoalesce(e.addLineTag, () => ("++")),s=_nullishCoalesce(e.hasDiffClass, () => ("has-diff"));return{name:"diff",handler:wr({[i]:[t,...r],[o]:[t,...n]},e),postProcess:({code:a})=>a.includes(t)?Ut(a,s,"pre"):a}}function Dd(e={}){let t=_nullishCoalesce(e.hasFocusClass, () => ("has-focus")),r=_nullishCoalesce(e.hasFocusedLinesClass, () => ("has-focused-lines")),n=_nullishCoalesce(e.focusTag, () => ("focus"));return{name:"focus",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function Md(e={}){let t=_nullishCoalesce(e.hasHighlightClass, () => ("has-highlight")),r=_nullishCoalesce(e.hasHighlightedLinesClass, () => ("has-highlighted-lines")),n=_nullishCoalesce(e.highlightTag, () => ("hl"));return{name:"highlight",handler:wr({[n]:[t]},e),postProcess:({code:i})=>i.includes(t)?Ut(i,r,"pre"):i}}function aS(e,t,r){return e.reduce((n,i)=>{let{code:o,lineOptions:s}=_nullishCoalesce(_optionalChain([i, 'access', _13 => _13.handler, 'optionalCall', _14 => _14({code:n.code,lang:r})]), () => (n));return{code:o,lineOptions:[...n.lineOptions,...s]}},{code:t,lineOptions:[]})}function uS(e,t,r){return e.reduce((n,i)=>_nullishCoalesce(_optionalChain([i, 'access', _15 => _15.postProcess, 'optionalCall', _16 => _16({code:n,lang:r})]), () => (n)),t)}async function Id(e={}){let t=await _shiki.getHighlighter.call(void 0, e),r=_nullishCoalesce(e.processors, () => ([]));return{...t,codeToHtml:(n,i)=>{let o=typeof i=="object"?i.lang:i,s=typeof i=="object"?_nullishCoalesce(i.lineOptions, () => ([])):[],a=typeof i=="object"?i.theme:void 0,{code:u,lineOptions:p}=aS(r,n,o),c=t.codeToHtml(u,{lang:o,theme:a,lineOptions:[...p,...s]});return uS(r,c,o)}}}var cS=Od("abcdefghijklmnopqrstuvwxyz",10);function lS(e){e=e.replace(/^(?:\[.*?\])?.*?([\d,-]+).*/,"$1").trim();let t=[];return e?(e.split(",").map(r=>r.split("-").map(n=>parseInt(n,10))).forEach(([r,n])=>{r&&n?t.push(...Array.from({length:n-r+1},(i,o)=>r+o)):t.push(r)}),t.map(r=>({line:r,classes:["highlighted"]}))):[]}var fS={name:"error-level",handler:wr({error:["highlighted","error"],warning:["highlighted","warning"]})};async function Ld(e="material-theme-palenight",t="txt"){let r=typeof e=="string"||"name"in e,n=f=>typeof f=="string"?f:f.name,i=[Dd(),Md({hasHighlightClass:"highlighted"}),$d(),fS],o=await Id({themes:r?[e]:[e.dark,e.light],processors:i}),s=/<pre[^>]*(style=".*?")/,a=/^<pre(.*?)>/,u=/-vue$/,p=/:(no-)?line-numbers$/,c=/\{\{.*?\}\}/g;return(f,l,y)=>{let h=u.test(l)?"":"v-pre";l=l.replace(p,"").replace(u,"").toLowerCase()||t,l&&(o.getLoadedLanguages().includes(l)||(l!==t&&console.warn(Nd.default.yellow(`The language '${l}' is not loaded, falling back to '${t}' for syntax highlighting.`)),l=t));let E=lS(y),_=N=>N.replace(a,(C,b)=>`<pre ${h}${b}>`).replace(s,(C,b)=>C.replace(b,"")),S=new Map,$=N=>h?N:N.replace(c,C=>{let b=S.get(C);return b||(b=cS(),S.set(C,b)),b}),P=N=>(S.forEach((C,b)=>{N=N.replaceAll(C,b)}),N);if(r)return _(P(o.codeToHtml($(f),{lang:l,lineOptions:E,theme:n(e)})));let V=Ut(_(o.codeToHtml(f,{lang:l,lineOptions:E,theme:n(e.dark)})),"va-code-dark","pre"),L=Ut(_(o.codeToHtml(f,{lang:l,lineOptions:E,theme:n(e.light)})),"va-code-light","pre");return V+L}}var pS=/^<pre .*?><code>/;function qd(e){let t=e.renderer.rules.fence;e.renderer.rules.fence=(...r)=>{let[n,i,o]=r,s=n[i],a=s.attrs&&s.attrs[0];if(!a)return t(...r);let u=a[0];if(!u||!/[\d,-]+/.test(u))return t(...r);let p=u.split(",").map(h=>h.split("-").map(E=>parseInt(E,10))),c=o.highlight?o.highlight(s.content,s.info,""):s.content;return`<div class="highlight-lines">${c.replace(pS,"").split(`
|
|
31
|
+
`).map((h,E)=>{let _=E+1;return p.some(([$,P])=>$&&P?_>=$&&_<=P:_===$)?'<div class="highlighted"> </div>':"<br>"}).join("")}</div>`+c}}function Bd(e){let t=e.renderer.rules.fence;e.renderer.rules.fence=(...r)=>{let[n,i]=r,o=n[i],s=t(...r);return`<div class="language-${o.info.trim()}"><span class="copy"></span>${s}</div>`}}var _url = require('url');var mS=/(^|.*\/)index.md(#?.*)$/i;function jd(e,t,r){e.renderer.rules.link_open=(o,s,a,u,p)=>{let c=o[s],f=c.attrIndex("href");if(f>=0){let l=c.attrs[f],y=l[1];jt.test(y)?(Object.entries(t).forEach(([E,_])=>{c.attrSet(E,_)}),l[1]=y.replace(Gp,"")):!y.startsWith("#")&&!y.startsWith("mailto:")&&!/\.(?!html|md)\w+($|\?)/i.test(y)&&n(l,u),l[1]=l[1].replace(/\bimport\.meta/g,"import%2Emeta").replace(/\bprocess\.env/g,"process%2Eenv")}return p.renderToken(o,s,a)};function n(o,s){let a=o[1],u=a.match(mS);if(u){let[,p,c]=u;a=p+c}else{let p=a.replace(/[?#].*$/,"");p.endsWith(".md")&&(p=p.replace(/\.md$/,s.cleanUrls==="disabled"?".html":"")),s.cleanUrls==="disabled"&&!p.endsWith(".html")&&!p.endsWith("/")&&(p+=".html");let c=new (0, _url.URL)(a,"http://a.com");a=p+c.search+c.hash}!a.startsWith("/")&&!/^\.\//.test(a)&&(a=`./${a}`),i(a.replace(/\.html$/,""),s),a.startsWith("/")&&(a=`${r}${a}`.replace(/\/+/g,"/")),o[1]=decodeURI(a)}function i(o,s){(s.links||(s.links=[])).push(o)}}async function qs(e,t={},r=!1,n="/"){return e.use(qd).use(Bd).use(Ad,t.blocks).use(jd,{target:"_blank",rel:"noreferrer",...t.externalLinks},n),_optionalChain([t, 'access', _17 => _17.attrs, 'optionalAccess', _18 => _18.disable])||e.use(_markdownitattrs2.default,t.attrs),e.use($s,t.katex),e.use(_markdownitemoji2.default),r||e.use(_markdownitanchor2.default,{slugify:Un,permalink:_markdownitanchor2.default.permalink.ariaHidden({}),...t.anchor}),e.use(hd).use(gd,{...t.frontmatter}).use(yd,{slugify:Un,...t.headers}).use(_d,{...t.sfc}).use(xd).use(Sd,{slugify:Un,...t.toc}),e.use(_markdownittasklists2.default),t.config&&t.config(e),e}async function Vd(e={}){let t=_markdownit2.default.call(void 0, {html:!0,linkify:!0,highlight:await Ld(e.theme),...e.options});return await qs(t,e),t}var _jiti = require('jiti'); var _jiti2 = _interopRequireDefault(_jiti);var _unocss = require('unocss');var Ud=Q(Re(),1);function Gd(e,t,r=""){return e={...e},Object.keys(t).forEach(n=>{_utils.isObject.call(void 0, e[n])?e[n]=Gd(e[n],t[n],r?`${r}.${n}`:n):Array.isArray(e[n])?e[n]=[...e[n],...t[n]]:e[n]=t[n]}),e}async function Wd(e,t,r,n,i=!0){let o=n;for(let s of e){let a=_path.resolve.call(void 0, s,"setup",t);if(Ud.default.existsSync(a)){let{default:u}=_jiti2.default.call(void 0, __filename)(a),p=await u(r);p!==null&&(o=i?Gd(o,p):p)}}return o}async function PS(e){let{config:t}=e,r=["i-ri-clipboard-line","i-ri-archive-line","i-ri-folder-2-line","i-ri-price-tag-3-line","i-ri-cloud-line"].concat(_optionalChain([e, 'access', _19 => _19.config, 'access', _20 => _20.unocss, 'optionalAccess', _21 => _21.safelist])||[]),n="animate-fade-in m-auto text-left".split(" ").concat(["rotate-y-180"]).concat(r),i=t.siteConfig;_optionalChain([i, 'access', _22 => _22.social, 'optionalAccess', _23 => _23.length])&&i.social.forEach(s=>n.push(_optionalChain([s, 'optionalAccess', _24 => _24.icon])||""));let o=_optionalChain([i, 'access', _25 => _25.sponsor, 'optionalAccess', _26 => _26.methods])||[];return o.length&&o.forEach(s=>n.push(_optionalChain([s, 'optionalAccess', _27 => _27.icon])||"")),n}async function TS(e){let{config:t}=e;return{shortcuts:[["btn","px-4 py-1 rounded inline-block bg-$va-c-primary text-white cursor-pointer transition hover:bg-$va-c-primary-light disabled:cursor-default disabled:bg-gray-600 disabled:opacity-50"],["icon-btn","inline-flex justify-center items-center cursor-pointer select-none opacity-75 transition duration-200 ease-in-out hover:opacity-100 hover:text-sky-600"],["va-card","shadow hover:shadow-lg"]],presets:[_unocss.presetUno.call(void 0, _optionalChain([t, 'access', _28 => _28.unocssPresets, 'optionalAccess', _29 => _29.uno])),_unocss.presetAttributify.call(void 0, _optionalChain([t, 'access', _30 => _30.unocssPresets, 'optionalAccess', _31 => _31.attributify])),_unocss.presetIcons.call(void 0, {scale:1.2,..._optionalChain([t, 'access', _32 => _32.unocssPresets, 'optionalAccess', _33 => _33.icons])}),_unocss.presetTypography.call(void 0, _optionalChain([t, 'access', _34 => _34.unocssPresets, 'optionalAccess', _35 => _35.typography]))],rules:[["font-serif",{"font-family":"var(--va-font-serif)"}],["font-sans",{"font-family":"var(--va-font-sans)"}],["font-mono",{"font-family":"var(--va-font-mono)"}]],transformers:[_unocss.transformerDirectives.call(void 0, ),_unocss.transformerVariantGroup.call(void 0, )],safelist:await PS(e)}}async function Yd(e){let t=await Promise.resolve().then(() => require("unocss/vite")).then(l=>l.default),{unocss:r}=e.config,n=await TS(e),{themeRoot:i,clientRoot:o,roots:s}=e,a=["uno.config.ts","unocss.config.ts"],u=[];[i,o].forEach(l=>a.forEach(y=>u.push(_path.resolve.call(void 0, l,y))));let c={},f=[];return u.forEach(l=>{if(_fs.existsSync.call(void 0, l)){let y=_jiti2.default.call(void 0, __filename)(l);"default"in y&&(y=y.default),c=$e(c,y),f.push(l)}}),c=await Wd(s,"unocss.ts",{},c,!0),t({configDeps:f,configFile:!1,...$e(r||{},c,n)})}var Jd=Q(Re(),1);var Ar=Q(Re(),1);async function Gn({userRoot:e,themeRoot:t},r){let n={mode:"development",command:r},i={},o=_utils.uniq.call(void 0, [t,e]).map(s=>_path.join.call(void 0, s,"vite.config.ts"));for await(let s of o){if(!Ar.default.existsSync(s))continue;let a=await _vite.loadConfigFromFile.call(void 0, n,s);_optionalChain([a, 'optionalAccess', _36 => _36.config])&&(i=_vite.mergeConfig.call(void 0, i,a.config))}return i}async function Wn({clientRoot:e,themeRoot:t,userRoot:r,config:n}){let i=_path.resolve.call(void 0, e,"template.html"),o=await Ar.default.readFile(i,"utf-8"),s="",a="";n.siteConfig.favicon&&(s+=`<link rel="icon" href="${n.siteConfig.favicon}">`);let u=[r,t];n.siteConfig.mode==="auto"&&(s+=`
|
|
32
32
|
<script>
|
|
33
33
|
const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
34
34
|
const colorSchemeSetting = localStorage.getItem('vueuse-color-scheme') || 'auto';
|
|
@@ -45,7 +45,7 @@ GFS4: `),console.error(e)});K[se]||(ha=global[se]||[],ya(K,ha),K.close=function(
|
|
|
45
45
|
${(_optionalChain([f, 'access', _37 => _37.match, 'call', _38 => _38(/<head>([\s\S]*?)<\/head>/im), 'optionalAccess', _39 => _39[1]])||"").trim()}`,a+=`
|
|
46
46
|
${(_optionalChain([f, 'access', _40 => _40.match, 'call', _41 => _41(/<body>([\s\S]*?)<\/body>/im), 'optionalAccess', _42 => _42[1]])||"").trim()}`}return o=o.replace("__ENTRY__",re(_path.join.call(void 0, e,"main.ts"))).replace("<!-- head -->",s).replace("<!-- body -->",a),o}var jS=["@vueuse/schema-org","@vueuse/head","@vueuse/integrations/useFuse","body-scroll-lock","dayjs","dayjs/locale/zh-cn","dayjs/plugin/relativeTime","katex","nprogress","unocss","vue","vue-router","vue-i18n","fuse.js","medium-zoom"],Kd=["@vueuse/core","@vueuse/shared","@unocss/reset","unocss","vue","vue-demi","valaxy","/@valaxyjs/config","/@valaxyjs/context","/@valaxyjs/addons","/@valaxyjs/locales","/@valaxyjs/styles"];function Xd(e){return{name:"valaxy:site",config(t){let r={root:e.clientRoot,publicDir:_path.join.call(void 0, e.userRoot,"public"),define:Hs(e),resolve:{alias:HS(e),dedupe:["vue"]},optimizeDeps:{entries:[_path.resolve.call(void 0, e.clientRoot,"main.ts")],include:[...jS.filter(n=>!Kd.includes(n))],exclude:Kd},server:{fs:{allow:_utils.uniq.call(void 0, [_vite.searchForWorkspaceRoot.call(void 0, e.clientRoot),_vite.searchForWorkspaceRoot.call(void 0, e.themeRoot),_vite.searchForWorkspaceRoot.call(void 0, e.userRoot),_path.dirname.call(void 0, Ge("katex/package.json",!0))])}}};return _isinstalledglobally2.default&&(r.cacheDir=_path.join.call(void 0, e.pkgRoot,"node_modules/.vite"),r.resolve.alias.vue=`${Ge("vue/dist/vue.esm-browser.js",!0)}`),_vite.mergeConfig.call(void 0, t,r)},configureServer(t){return()=>{t.middlewares.use(async(r,n,i)=>{if(r.url.endsWith(".html")){n.setHeader("Content-Type","text/html"),n.statusCode=200,n.end(await Wn(e));return}if(r.url==="/atom.xml"){n.setHeader("Content-Type","application/xml"),n.statusCode=200,n.end(await Jd.default.readFile(_path.resolve.call(void 0, e.userRoot,"dist/atom.xml"),"utf-8"));return}i()})}}}}function Hs(e){return{__DEV__:e.mode==="dev"?"true":"false"}}function HS(e){let t=[{find:"~/",replacement:`${re(e.userRoot)}/`},{find:"valaxy/client/",replacement:`${re(e.clientRoot)}/`},{find:"valaxy/package.json",replacement:re(_path.resolve.call(void 0, e.clientRoot,"../package.json"))},{find:"valaxy",replacement:re(_path.resolve.call(void 0, e.clientRoot,"index.ts"))},{find:"@valaxyjs/client/",replacement:`${re(e.clientRoot)}/`},{find:`valaxy-theme-${e.theme}/`,replacement:`${re(_path.resolve.call(void 0, e.themeRoot))}/`},{find:`valaxy-theme-${e.theme}`,replacement:`${re(_path.resolve.call(void 0, e.themeRoot))}/client/index.ts`}];return e.addons.forEach(r=>{t.push({find:r.name,replacement:`${re(_path.resolve.call(void 0, r.root))}/client/index.ts`})}),t}function Qd({clientRoot:e,themeRoot:t,userRoot:r}){let n=_utils.slash.call(void 0, _path.resolve.call(void 0, e,"setup"));return{name:"valaxy:setup",enforce:"pre",async transform(i,o){if(o.startsWith(n)){let s=o.slice(n.length+1).replace(/\?.*$/,""),a=[],u=[];return _utils.uniq.call(void 0, [t,r]).map(c=>_path.join.call(void 0, c,"setup",s)).forEach((c,f)=>{if(!_fs.existsSync.call(void 0, c))return;a.push(`import __n${f} from '${re(c)}'`);let l=`__n${f}`;/\binjection_return\b/g.test(i)&&(l=`injection_return = ${l}`),/\binjection_arg\b/g.test(i)?l+="(injection_arg)":l+="()",u.push(`// ${c}`,l)}),i=i.replace("/* __imports__ */",a.join(`
|
|
47
47
|
`)),i=i.replace("/* __injections__ */",u.join(`
|
|
48
|
-
`)),i}return null}}}function Zd(e){let t=_utils.objectEntries.call(void 0, Hs(e));return[{name:"valaxy:flags",enforce:"pre",transform(r,n){if(n.match(/\.vue($|\?)/)){let i=r;if(t.forEach(([o,s])=>{r=r.replace(new RegExp(o,"g"),s)}),i!==r)return r}}}]}
|
|
48
|
+
`)),i}return null}}}function Zd(e){let t=_utils.objectEntries.call(void 0, Hs(e));return[{name:"valaxy:flags",enforce:"pre",transform(r,n){if(n.match(/\.vue($|\?)/)){let i=r;if(t.forEach(([o,s])=>{r=r.replace(new RegExp(o,"g"),s)}),i!==r)return r}}}]}function XS(e){let t=(e.match(/[\u4E00-\u9FA5]/g)||[]).length,r=(e.replace(/[\u4E00-\u9FA5]/g,"").match(/[a-zA-Z0-9_\u0392-\u03C9\u0400-\u04FF]+|[\u4E00-\u9FFF\u3400-\u4DBF\uF900-\uFAFF\u3040-\u309F\uAC00-\uD7AF\u0400-\u04FF]+|[\u00E4\u00C4\u00E5\u00C5\u00F6\u00D6]+|\w+/g)||[]).length;return{cn:t,en:r}}function QS({cn:e,en:t},r){let n=e/(r.speed.cn||300)+t/(r.speed.en||100);return n<1?1:Math.ceil(n)}function ZS({cn:e,en:t}){let r=e+t;return r<1e3?r:`${Math.round(r/100)/10}k`}function eb(e,t){let r=XS(e);return{countData:r,wordCount:ZS(r),readingTime:QS(r,t.readTime)}}function em({route:e,options:t}){if(_fs.existsSync.call(void 0, e.component)){let r=_fs.readFileSync.call(void 0, e.component,"utf-8"),{wordCount:n,readingTime:i}=eb(r,{readTime:Object.assign({speed:{cn:300,en:100}},t.readTime)});e.meta.frontmatter&&(e.meta.frontmatter.wordCount||(e.meta.frontmatter.wordCount=n),e.meta.frontmatter.readingTime||(e.meta.frontmatter.readingTime=i))}}var Yt=Q(Re(),1);var _pascalcase = require('pascal-case');var Gt=Q(Ls(),1),im=Q(Pi(),1);var _lrucache = require('lru-cache'); var _lrucache2 = _interopRequireDefault(_lrucache);var rb="\u200B",nb="<wbr>",tm=(0,im.default)("vitepress:md"),rm=new (0, _lrucache2.default)({max:1024}),ib=/<!--\s*@include:\s*(.*?)\s*-->/g;function ob(e={},t){let r=["process.env"];return t&&r.push("import.meta",...Object.keys(e)),new RegExp(`\\b(${r.map(n=>n.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")).join("|")})`,"g")}function om(e,t,r){return e=e.replace(/<a (.*?)>(.*?)<\/a>/g,"<AppLink $1>$2</AppLink>"),e.replace(t,n=>`${n[0]}${r}${n.slice(1)}`)}function sb(e,t,r){if(typeof t.title=="string"){let n=e.parseInline(t.title,{})[0];if(n)return Sr(n,{shouldAllowHtml:!1,shouldEscapeText:!1})}return r}function ab(e,t){if(!e||!e.length)return;let r=e.find(([n,i={}])=>n==="meta"&&i.name===t&&i.content);return r&&r[1].content}function ub(e){let{description:t,head:r}=e;return t!==void 0?t:r&&ab(r,"description")||""}async function sm(e,t={},r,n,i=!1,o=!1,s="with-subfolders"){let a=await Vd(t);r=r.map(p=>ot(p.replace(/\.md$/,"")).replace(/\/index$/,""));let u=ob(n,i);return async(p,c,f)=>{let l=ot(_path2.default.relative(e,c)),y=_path2.default.dirname(c),h=rm.get(p);if(h)return tm(`[cache hit] ${l}`),h;let E=Date.now(),_=[];p=p.replace(ib,(m,g)=>{try{let R=_path2.default.join(y,g),k=_fs2.default.readFileSync(R,"utf-8");return _.push(ot(R)),k}catch (e24){return m}});let S={path:c,relativePath:l,cleanUrls:s},$=a.render(p,S),{frontmatter:P={},headers:V=[],links:L=[],sfcBlocks:N,title:C=""}=S,b=[],x=m=>{console.warn(Gt.default.yellow(`
|
|
49
49
|
(!) Found dead link ${Gt.default.cyan(m)} in file ${Gt.default.white(Gt.default.dim(c))}
|
|
50
50
|
If it is intended, you can use:
|
|
51
51
|
${Gt.default.cyan(`<a href="${m}" target="_blank" rel="noreferrer">${m}</a>`)}`)),b.push(m)};if(L){let m=_path2.default.dirname(c);for(let g of L){if(/\.(?!html|md)\w+($|\?)/i.test(g))continue;if(g.replace(jt,"").startsWith("//localhost:")){x(g);continue}g=g.replace(/[?#].*$/,"").replace(/\.(html|md)$/,"");let R=decodeURIComponent(ot(g.startsWith("/")?g.slice(1):_path2.default.relative(e,_path2.default.resolve(m,g)))).replace(/\/index$/,"");(R.endsWith("/")?r.includes(R.slice(0,-1)):r.includes(R)||_fs2.default.existsSync(_path2.default.resolve(m,f,`${R}.html`))||_fs2.default.existsSync(_path2.default.resolve(m,f,`${R}/index.html`)))||x(g)}}let D={title:sb(a,P,C),titleTemplate:P.titleTemplate,description:ub(P),frontmatter:P,headers:V,relativePath:l,path:_path2.default.join(e,l)};o&&(D.lastUpdated=await xr(c));let d="ValaxyMain";function w(){return["main-header","main-header-after","main-nav","main-content","main-content-after","main-nav-before","main-nav-after","comment","footer","aside","aside-custom"].map(R=>`<template #${R}><slot name="${R}" /></template>`).join("")}let O=[...mb(_nullishCoalesce(_optionalChain([N, 'optionalAccess', _43 => _43.scripts, 'access', _44 => _44.map, 'call', _45 => _45(m=>m.content)]), () => ([])),D,u),`<template><${d} :frontmatter="frontmatter" :data="data">`,`<template #main-content-md>${om($,u,nb)}</template>`,w(),"<slot />",`</${d}></template>`,..._nullishCoalesce(_optionalChain([N, 'optionalAccess', _46 => _46.styles, 'access', _47 => _47.map, 'call', _48 => _48(m=>m.content)]), () => ([])),..._nullishCoalesce(_optionalChain([N, 'optionalAccess', _49 => _49.customBlocks, 'access', _50 => _50.map, 'call', _51 => _51(m=>m.content)]), () => ([]))].join(`
|
|
@@ -70,13 +70,13 @@ ${a}</script>`);return e}function am(e,t){e.includes("{%")&&e.includes("%}")&&_c
|
|
|
70
70
|
`)}function Cb(e){let t=e.addons.filter(o=>o.global).filter(o=>Yt.default.existsSync(_path.join.call(void 0, o.root,"./App.vue"))),r=o=>`Addon${_pascalcase.pascalCase.call(void 0, o)}App`,n=t.map(o=>`import ${r(o.name)} from "${o.name}/App.vue"`).join(`
|
|
71
71
|
`),i=t.map(o=>`{ component: ${r(o.name)}, props: ${JSON.stringify(o.props)} }`).join(",");return`${n}
|
|
72
72
|
export default [${i}]`}var wb='import { defineComponent } from "vue"; export default defineComponent({ render: () => null });';function um(e){let t=_path.join.call(void 0, e,"App.vue");return Yt.default.existsSync(t)?[`import AppVue from "${re(t)}"`,"export default AppVue"].join(`
|
|
73
|
-
`):wb}function cm(e,t={}){let{config:r}=e,n="/@valaxy",i=e.roots,o,s=!1,a;return{name:"valaxy:loader",enforce:"pre",async configResolved(u){a=u,o=await sm(e.userRoot,r.markdown||{katex:{}},e.pages,a.define,a.command==="build",e.config.siteConfig.lastUpdated)},configureServer(u){u.watcher.add([e.configFile,e.clientRoot,e.themeRoot,e.userRoot])},resolveId(u){return u.startsWith(n)?u:null},load(u){if(u==="/@valaxyjs/config")return`export default ${JSON.stringify(JSON.stringify(r))}`;if(u==="/@valaxyjs/context")return`export default ${JSON.stringify(JSON.stringify({userRoot:e.userRoot}))}`;if(u==="/@valaxyjs/styles")return Sb(i,e);if(u==="/@valaxyjs/locales")return bb(i);if(u==="/@valaxyjs/addons")return Cb(e);if(u==="/@valaxyjs/UserAppVue")return um(e.userRoot);if(u==="/@valaxyjs/ThemeAppVue")return um(e.themeRoot);if(u.startsWith(n))return{code:"",map:{mappings:""}}},async transform(u,p){if(p.endsWith(".md")){am(u,p),u.replace("{%","{%"),u.replace("%}","%}");let{vueSrc:c,deadLinks:f,includes:l}=await o(u,p,a.publicDir);return f.length&&(s=!0),l.length&&l.forEach(y=>{this.addWatchFile(y)}),c}},renderStart(){if(s&&!r.ignoreDeadLinks)throw new Error("One or more pages contain dead links.")},async handleHotUpdate(u){let{file:p,server:c,read:f}=u,l=h=>{_optionalChain([t, 'access', _55 => _55.onConfigReload, 'optionalCall', _56 => _56(h,e.config)]),Object.assign(e.config,h),r=h;let E=["/@valaxyjs/config","/@valaxyjs/context"];return[...Array.from(E).map(S=>c.moduleGraph.getModuleById(S))].filter(S=>!!S)};if([e.configFile].includes(p)){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===e.siteConfigFile){let{siteConfig:h}=await Nn(e.userRoot);return r.siteConfig=$e(h,ks),l(r)}if(p===e.themeConfigFile){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===_path.resolve.call(void 0, e.themeRoot,"valaxy.config.ts")){let h=Ps(e),E=Ht(e.config,h),{config:_}=await Os(e,E);return l(_)}if(p.endsWith(".md")){let h=await f(),{pageData:E,vueSrc:_}=await o(h,p,_path.join.call(void 0, e.userRoot,"public")),$={path:`/${ot(_path.relative.call(void 0, `${e.userRoot}/pages`,p))}`,pageData:E};c.ws.send({type:"custom",event:"valaxy:pageData",data:$}),u.read=()=>_}}}}var Us=new (0, _markdownit2.default)({html:!0})
|
|
74
|
-
`),console.error(n),process.exit(1)}}function hm(e){process.stdin.resume(),process.stdin.setEncoding("utf8"),mm.emitKeypressEvents(process.stdin),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.on("keypress",(t,r)=>{if(r.ctrl&&r.name==="c")process.exit();else{let[n]=e.filter(i=>i.name===t);if(n)try{n.action()}catch(i){console.error(`Failed to execute shortcut ${n.fullName}`,i)}}})}var Kn=Q(Re(),1);var _node = require('vite-ssg/node');var _vitessgsitemap = require('vite-ssg-sitemap'); var _vitessgsitemap2 = _interopRequireDefault(_vitessgsitemap);async function ym(e,t={}){let r=_vite.mergeConfig.call(void 0, t,{plugins:await Rr(e)});await _vite.build.call(void 0, r)}async function vm(e,t={}){let r={plugins:await Rr(e),ssr:{noExternal:["workbox-window",/vue-i18n/]}};r.ssgOptions={script:"async",formatting:"minify",includedRoutes(i,o){let s=["/:..all",Wp],a=i.filter(c=>c.startsWith("/posts/")).length,u=Math.ceil(a/e.config.siteConfig.pageSize),p=Array.from({length:u},(c,f)=>f+1);return o.filter(c=>!s.includes(c.path)).flatMap(c=>c.path==="/page/:page"?p.map(f=>`/page/${f}`):c.path)},onFinished(){_vitessgsitemap2.default.call(void 0, {hostname:e.config.siteConfig.url})}};let n=_vite.mergeConfig.call(void 0, r,t);await _node.build.call(void 0, {},n)}
|
|
73
|
+
`):wb}function cm(e,t={}){let{config:r}=e,n="/@valaxy",i=e.roots,o,s=!1,a;return{name:"valaxy:loader",enforce:"pre",async configResolved(u){a=u,o=await sm(e.userRoot,r.markdown||{katex:{}},e.pages,a.define,a.command==="build",e.config.siteConfig.lastUpdated)},configureServer(u){u.watcher.add([e.configFile,e.clientRoot,e.themeRoot,e.userRoot])},resolveId(u){return u.startsWith(n)?u:null},load(u){if(u==="/@valaxyjs/config")return`export default ${JSON.stringify(JSON.stringify(r))}`;if(u==="/@valaxyjs/context")return`export default ${JSON.stringify(JSON.stringify({userRoot:e.userRoot}))}`;if(u==="/@valaxyjs/styles")return Sb(i,e);if(u==="/@valaxyjs/locales")return bb(i);if(u==="/@valaxyjs/addons")return Cb(e);if(u==="/@valaxyjs/UserAppVue")return um(e.userRoot);if(u==="/@valaxyjs/ThemeAppVue")return um(e.themeRoot);if(u.startsWith(n))return{code:"",map:{mappings:""}}},async transform(u,p){if(p.endsWith(".md")){am(u,p),u.replace("{%","{%"),u.replace("%}","%}");let{vueSrc:c,deadLinks:f,includes:l}=await o(u,p,a.publicDir);return f.length&&(s=!0),l.length&&l.forEach(y=>{this.addWatchFile(y)}),c}},renderStart(){if(s&&!r.ignoreDeadLinks)throw new Error("One or more pages contain dead links.")},async handleHotUpdate(u){let{file:p,server:c,read:f}=u,l=h=>{_optionalChain([t, 'access', _55 => _55.onConfigReload, 'optionalCall', _56 => _56(h,e.config)]),Object.assign(e.config,h),r=h;let E=["/@valaxyjs/config","/@valaxyjs/context"];return[...Array.from(E).map(S=>c.moduleGraph.getModuleById(S))].filter(S=>!!S)};if([e.configFile].includes(p)){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===e.siteConfigFile){let{siteConfig:h}=await Nn(e.userRoot);return r.siteConfig=$e(h,ks),l(r)}if(p===e.themeConfigFile){let{config:h}=await De({userRoot:e.userRoot});return l(h)}if(p===_path.resolve.call(void 0, e.themeRoot,"valaxy.config.ts")){let h=Ps(e),E=Ht(e.config,h),{config:_}=await Os(e,E);return l(_)}if(p.endsWith(".md")){let h=await f(),{pageData:E,vueSrc:_}=await o(h,p,_path.join.call(void 0, e.userRoot,"public")),$={path:`/${ot(_path.relative.call(void 0, `${e.userRoot}/pages`,p))}`,pageData:E};c.ws.send({type:"custom",event:"valaxy:pageData",data:$}),u.read=()=>_}}}}var Us=new (0, _markdownit2.default)({html:!0});function Mb(e="",t="html"){switch(t){case"md":return e;case"html":return Us.render(e);case"text":return _htmltotext.convert.call(void 0, Us.render(e))}}async function Rr(e,t={}){let{roots:r,config:n}=e,i=await Yd(e),o=cm(e,t);await qs(Us,n.markdown,!0);let s=new Set(["annotation","math","menclose","mfrac","mglyph","mi","mlabeledtr","mn","mo","mover","mpadded","mphantom","mroot","mrow","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","semantics","meting-js"]);return[_pluginvue2.default.call(void 0, {include:[/\.vue$/,/\.md$/],template:{compilerOptions:{isCustomElement:a=>s.has(a)},..._optionalChain([n, 'access', _57 => _57.vue, 'optionalAccess', _58 => _58.template])},...n.vue}),Xd(e),Qd(e),o,_vitepluginpages2.default.call(void 0, {extensions:["vue","md"],dirs:r.map(a=>`${a}/pages`),...n.pages,async extendRoute(a,u){let p=a.component,c={};if(a.meta?a.meta.frontmatter||(a.meta.frontmatter=c):a.meta={frontmatter:c},a.path=encodeURI(a.path),a.path==="/"&&(a.meta.layout="home"),r.forEach(f=>{let l=f+a.component;_fs2.default.existsSync(l)&&(p=l)}),a.path.startsWith("/posts/")&&(a.meta.layout="post"),p.endsWith(".md")){let f=_fs2.default.readFileSync(p,"utf-8"),{data:l,excerpt:y,content:h}=_graymatter2.default.call(void 0, f,{excerpt_separator:Mn}),E=e.config.siteConfig.lastUpdated,_=_optionalChain([e, 'access', _59 => _59.config, 'access', _60 => _60.siteConfig, 'access', _61 => _61.date, 'optionalAccess', _62 => _62.format]);if(l.date||(l.date=_fs2.default.statSync(p).mtime),l.date=_dayjs2.default.call(void 0, l.date).format(_),E&&(l.updated||(l.updated=_fs2.default.statSync(p).ctime)),l.updated=_dayjs2.default.call(void 0, l.updated).format(_),a.meta=Object.assign(a.meta,{frontmatter:Object.assign(c,l),excerpt:y?Mb(y,l.excerpt_type):""}),l.layout&&(a.meta.layout=l.layout),_optionalChain([a, 'access', _63 => _63.meta, 'access', _64 => _64.frontmatter, 'optionalAccess', _65 => _65.updated])||(a.meta.frontmatter.updated=a.meta.frontmatter.date),a.meta.frontmatter.tags){let S=a.meta.frontmatter.tags;typeof S=="string"&&(a.meta.frontmatter.tags=[S])}n.siteConfig.statistics.enable&&em({options:n.siteConfig.statistics,route:a}),_optionalChain([n, 'access', _66 => _66.extendMd, 'optionalCall', _67 => _67({route:a,data:l,excerpt:y,content:h,path:p})])}return _optionalChain([n, 'access', _68 => _68.pages, 'optionalAccess', _69 => _69.extendRoute, 'optionalCall', _70 => _70(a,u)]),a}}),_vitepluginvuelayouts2.default.call(void 0, {layoutsDirs:r.map(a=>`${a}/layouts`)}),_vite4.default.call(void 0, {extensions:["vue","md"],include:[/\.vue$/,/\.vue\?vue/,/\.md$/],exclude:[],allowOverrides:!0,dirs:r.map(a=>`${a}/components`).concat(r.map(a=>`${a}/layouts`)).concat(["src/components","components"]),dts:`${e.userRoot}/components.d.ts`,...n.components}),i,_vite6.default.call(void 0, {runtimeOnly:!0,compositionOnly:!0,include:r.map(a=>`${a}/locales/**`)}),_vite.splitVendorChunkPlugin.call(void 0, ),Zd(e)]}async function fm(e,t={},r={}){return process.env.EDITOR=process.env.EDITOR||"code",await _vite.createServer.call(void 0, _vite.mergeConfig.call(void 0, t,{plugins:await Rr(e,r)}))}var zn;function Ys(e,t,r){console.log(),console.log(` ${_kolorist.bold.call(void 0, "\u{1F30C} Valaxy")} ${_kolorist.blue.call(void 0, `v${Jr}`)}`),console.log(),console.log(`${_kolorist.dim.call(void 0, " \u{1FA90} theme ")} > ${e.theme?_kolorist.green.call(void 0, e.theme):_kolorist.gray.call(void 0, "none")}`),console.log(` ${_kolorist.dim.call(void 0, "\u{1F4C1}")} ${_kolorist.dim.call(void 0, _path2.default.resolve(e.userRoot))}`),t&&(console.log(),console.log(`${_kolorist.dim.call(void 0, " Preview ")} > ${_kolorist.cyan.call(void 0, `http://localhost:${_kolorist.bold.call(void 0, t)}/`)}`),r&&Object.values(_os2.default.networkInterfaces()).forEach(n=>(n||[]).filter(i=>i.family==="IPv4"&&!i.address.includes("127.0.0.1")).forEach(({address:i})=>{console.log(`${_kolorist.dim.call(void 0, " Network ")} > ${_kolorist.blue.call(void 0, `http://${i}:${_kolorist.bold.call(void 0, t)}/`)}`)})),console.log(),console.log(`${_kolorist.dim.call(void 0, " shortcuts ")} > ${_kolorist.underline.call(void 0, "r")}${_kolorist.dim.call(void 0, "estart | ")}${_kolorist.underline.call(void 0, "o")}${_kolorist.dim.call(void 0, "pen | ")}${_kolorist.underline.call(void 0, "e")}${_kolorist.dim.call(void 0, "dit")}`)),console.log()}async function kr(e,t){zn&&await zn.close();let r=_vite.mergeConfig.call(void 0, await Gn(e,"serve"),t);try{zn=await fm(e,r,{async onConfigReload(n,i,o=!1){o&&(_consola2.default.info("[valaxy]",`${_kolorist.yellow.call(void 0, "force")} reload the server`),kr(e,t));let s=!1;n.theme!==i.theme&&(s=!0),s&&kr(e,t)}}),await zn.listen()}catch(n){_consola2.default.error(`failed to start server. error:
|
|
74
|
+
`),console.error(n),process.exit(1)}}function hm(e){process.stdin.resume(),process.stdin.setEncoding("utf8"),mm.emitKeypressEvents(process.stdin),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.on("keypress",(t,r)=>{if(r.ctrl&&r.name==="c")process.exit();else{let[n]=e.filter(i=>i.name===t);if(n)try{n.action()}catch(i){console.error(`Failed to execute shortcut ${n.fullName}`,i)}}})}var Kn=Q(Re(),1);var _node = require('vite-ssg/node');var _vitessgsitemap = require('vite-ssg-sitemap'); var _vitessgsitemap2 = _interopRequireDefault(_vitessgsitemap);async function ym(e,t={}){let r=_vite.mergeConfig.call(void 0, t,{plugins:await Rr(e)});await _vite.build.call(void 0, r)}async function vm(e,t={}){let r={plugins:await Rr(e),ssr:{noExternal:["workbox-window",/vue-i18n/]}};r.ssgOptions={script:"async",formatting:"minify",includedRoutes(i,o){let s=["/:..all",Wp],a=i.filter(c=>c.startsWith("/posts/")).length,u=Math.ceil(a/e.config.siteConfig.pageSize),p=Array.from({length:u},(c,f)=>f+1);return o.filter(c=>!s.includes(c.path)).flatMap(c=>c.path==="/page/:page"?p.map(f=>`/page/${f}`):c.path)},onFinished(){_vitessgsitemap2.default.call(void 0, {hostname:e.config.siteConfig.url})}};let n=_vite.mergeConfig.call(void 0, r,t);await _node.build.call(void 0, {},n)}async function Em(e){let{userRoot:t}=e,r=_path.resolve.call(void 0, t,"dist/index.html");if(Kn.default.existsSync(r)){_consola2.default.info("post process for ssg...");let n=await Kn.default.readFile(r,"utf-8"),i="</html>";if(!n.endsWith(i)){let o=n.lastIndexOf(i);await Kn.default.writeFile(r,n.slice(0,o+i.length),"utf-8")}}}var Sm=Q(Pn(),1),Xn=Q(Re(),1);var _feed = require('feed');var zs=Q(Re(),1);async function Jb(e){return await xr(e,"created")||(await zs.default.stat(e)).ctime}async function Xb(e){return await xr(e,"created")||(await zs.default.stat(e)).mtime}async function xm(e,t,r="YYYY-MM-DD HH:mm:ss",n=!0){e.date||(e.date=await Jb(t)),e.date=_dayjs2.default.call(void 0, e.date).format(r),n&&(e.updated||(e.updated=await Xb(t)),e.updated=_dayjs2.default.call(void 0, e.updated).format(r))}var iC=_markdownit2.default.call(void 0, {html:!0,breaks:!0,linkify:!0});async function bm(e){let{config:t}=e,r=t.siteConfig;if(!r.url||r.url==="/"){_consola2.default.error("You must set `url` (like `https://example.com`) in `site.config.ts` to generate rss.");return}let n=r.url,i=r.url.slice(0,-1),o={name:_optionalChain([r, 'access', _71 => _71.author, 'optionalAccess', _72 => _72.name]),email:_optionalChain([r, 'access', _73 => _73.author, 'optionalAccess', _74 => _74.email]),link:_optionalChain([r, 'access', _75 => _75.author, 'optionalAccess', _76 => _76.link])};_consola2.default.info(`RSS Site Url: ${_kolorist.cyan.call(void 0, n)}`);let s=_optionalChain([r, 'access', _77 => _77.license, 'optionalAccess', _78 => _78.type])==="zero"?"1.0":"4.0",a={title:r.title||"Valaxy Blog",description:r.description,id:n||"valaxy",link:n,copyright:`CC ${_optionalChain([r, 'access', _79 => _79.license, 'optionalAccess', _80 => _80.type, 'optionalAccess', _81 => _81.toUpperCase, 'call', _82 => _82()])} ${s} ${new Date().getFullYear()} \xA9 ${_optionalChain([r, 'access', _83 => _83.author, 'optionalAccess', _84 => _84.name])}`,feedLinks:{json:`${n}feed.json`,atom:`${n}feed.atom`,rss:`${n}feed.xml`}},u=await(0,Sm.default)(`${e.userRoot}/pages/posts/**/*.md`),p=[];for await(let h of u){let E=Xn.default.readFileSync(h,"utf-8"),{data:_,content:S,excerpt:$}=_graymatter2.default.call(void 0, E,{excerpt_separator:Mn});if(_.draft){_consola2.default.warn(`Ignore draft post: ${_kolorist.dim.call(void 0, h)}`);continue}if(_.hide)continue;await xm(_,h,_optionalChain([r, 'access', _85 => _85.date, 'optionalAccess', _86 => _86.format]),r.lastUpdated);let P=iC.render($||S.slice(0,100)).replace('src="/',`src="${i}/`);_optionalChain([_, 'access', _87 => _87.image, 'optionalAccess', _88 => _88.startsWith, 'call', _89 => _89("/")])&&(_.image=i+_.image),p.push({title:"",..._,id:(_.id||"").toString(),date:new Date(_.date),published:new Date(_.updated||_.date),content:P,author:[o],link:i+h.replace(`${e.userRoot}/pages`,"").replace(/\.md$/,"")})}p.sort((h,E)=>+new Date(E.published||E.date)-+new Date(h.published||h.date));let c=_optionalChain([r, 'access', _90 => _90.author, 'optionalAccess', _91 => _91.avatar])||"/favicon.svg";a.author=o,a.image=Yp(c)?_optionalChain([r, 'access', _92 => _92.author, 'optionalAccess', _93 => _93.avatar]):`${i}${As("/",c)}`,a.favicon=`${i}${_optionalChain([r, 'access', _94 => _94.feed, 'optionalAccess', _95 => _95.favicon])||r.favicon}`;let f=new (0, _feed.Feed)(a);p.forEach(h=>f.addItem(h)),await Xn.default.ensureDir(_path.dirname.call(void 0, `./dist/${_optionalChain([r, 'access', _96 => _96.feed, 'optionalAccess', _97 => _97.name])} || 'feed.xml'`));let l="./dist";["xml","atom","json"].forEach(h=>{let E="",_=`${l}/${_optionalChain([r, 'access', _98 => _98.feed, 'optionalAccess', _99 => _99.name])||"feed"}.${h}`;h==="xml"?E=f.rss2():h==="atom"?(_optionalChain([r, 'access', _100 => _100.feed, 'optionalAccess', _101 => _101.name])||(_=`${l}/atom.xml`),E=f.atom1()):h==="json"&&(E=f.json1()),Xn.default.writeFileSync(_,E,"utf-8"),_consola2.default.info(`${h}: ${_}`)})}var Qn=Q(Re(),1),Cm=Q(Pn(),1);function zt(e){return e.positional("root",{default:".",type:"string",describe:"root folder of your source files"})}async function aC(e){_consola2.default.info(`Generate List for Fuse Search by (${_kolorist.cyan.call(void 0, "fuse.js")}) ...`);let t=await(0,Cm.default)(`${e.userRoot}/pages/posts/**/*.md`),r=[];for await(let n of t){let i=Qn.default.readFileSync(n,"utf-8"),{data:o,excerpt:s,content:a}=_graymatter2.default.call(void 0, i,{excerpt_separator:"<!-- more -->"});if(o.draft){_consola2.default.warn(`Ignore draft post: ${_kolorist.dim.call(void 0, n)}`);continue}o.hide||r.push({title:o.title||"",tags:(typeof o.tags=="string"?[o.tags]:o.tags)||[],categories:o.categories||[],author:e.config.siteConfig.author.name,excerpt:s||a.slice(0,100),link:encodeURI(n.replace(`${e.userRoot}/pages`,"").replace(/\.md$/,""))})}return r}function Am(e){e.command("fuse [root]","generate fuse list for search",t=>zt(t).strict().help(),async({root:t})=>{yr();let r=await De({userRoot:t},"build"),n=await aC(r);await Qn.default.ensureDir("./dist");let i=`${r.userRoot}/dist/fuse-list.json`;Qn.default.writeJSONSync(i,n),_consola2.default.info(`Generate fuse list in ${_kolorist.dim.call(void 0, i)}`)})}var uh=Q(nh(),1);var _promises = require('fs/promises');var _ejs = require('ejs');async function oi(e){try{return await _promises.access.call(void 0, e),!0}catch (e25){return!1}}var Pr=process.cwd(),ih=`---
|
|
75
75
|
layout: <%=layout%>
|
|
76
76
|
title: <%=title%>
|
|
77
77
|
date: <%=date%>
|
|
78
78
|
---
|
|
79
|
-
`;
|
|
79
|
+
`;async function oh(e){let{clientRoot:t,themeRoot:r}=await De({userRoot:Pr}),n=[Pr,r,t];for(let i of n){let o=_path2.default.resolve(i,"scaffolds",`${e}.md`);if(await oi(o))return _promises.readFile.call(void 0, o,"utf-8")}return!1}var BC=_path.resolve.call(void 0, Pr,"pages");async function ah(e){let{path:t,title:r}=e,n=t||_path.join.call(void 0, "posts",r),i=0;for(;;){let o=_path.join.call(void 0, BC,n);if(i&&(o=`${o}-${i}`),o=_utils.ensureSuffix.call(void 0, ".md",o),!await oi(o)){let s=await jC(e);return _promises.writeFile.call(void 0, o,s,"utf-8"),o}i++}}async function jC({date:e,title:t,layout:r="post"}){let n=await oh(r);n||(n=ih);let i="YYYY-MM-DD HH:mm:ss";return _ejs.render.call(void 0, n,{title:t,layout:r,date:e?_dayjs2.default.call(void 0, ).format(i):""})}function ch(e){e.command("new <title>","Draft a new post",t=>{t.usage("$0 <title> -p [path] -l [layout]").positional("title",{describe:"The title of the new post",required:!0}).option("path",{alias:"p",type:"string",describe:"the path to generate new post. Customize the path of post to generate"}).option("layout",{alias:"l",type:"string",default:"post"}).option("date",{alias:"d",type:"boolean",default:!0,describe:"Generate post with the current date"}).strict().help()},async({title:t,path:r,date:n,layout:i})=>{let o=await ah({title:t,date:n,layout:i,path:r});_consola2.default.success(`[valaxy new]: successfully generated file ${(0,uh.magenta)(o)}`)})}var tr=_yargs2.default.call(void 0, _helpers.hideBin.call(void 0, process.argv)).scriptName("valaxy").usage("$0 [args]").version(Jr).showHelpOnFail(!1).alias("h","help").alias("v","version");tr.command("* [root]","Start a local server for Valaxy",e=>zt(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:"info",type:"string",choices:["error","warn","info","silent"],describe:"log level"}).strict().help(),async({root:e,port:t,open:r,remote:n,log:i})=>{ys(),er.default.existsSync(_path2.default.resolve(e,"pages"))||process.exit(0);let o=t||await Ai(4859),s=await De({userRoot:e}),a=_vite.mergeConfig.call(void 0, {configFile:_path2.default.resolve(s.clientRoot,"vite.config.ts"),server:{watch:{ignored:[`!${s.themeRoot}/**`,`${s.userRoot}/**.md`]},port:o,strictPort:!0,open:r,host:n?"0.0.0.0":"localhost"},logLevel:i},s.config.vite||{});await kr(s,a),Ys(s,o,n),hm([{name:"r",fullName:"restart",action(){kr(s,a)}},{name:"o",fullName:"open",action(){_open3.default.call(void 0, `http://localhost:${o}`)}},{name:"e",fullName:"edit",action(){_child_process.exec.call(void 0, `code "${e}"`)}}])});tr.command("build [root]","build your blog to static content",e=>zt(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("log",{default:"warn",type:"string",choices:["error","warn","info","silent"],describe:"log level"}).strict().help(),async({ssg:e,root:t,output:r,log:n})=>{yr();let i=await De({userRoot:t},"build");Ys(i);let o=_vite.mergeConfig.call(void 0, await Gn(i,"build"),i.config.vite||{}),s=_vite.mergeConfig.call(void 0, o,{configFile:_path2.default.resolve(i.clientRoot,"vite.config.ts"),build:{emptyOutDir:!0,outDir:_path2.default.resolve(i.userRoot,r)},logLevel:n}),a=_path2.default.resolve(i.clientRoot,"template.html"),u=_path2.default.resolve(i.clientRoot,"index.html");er.default.existsSync(a)&&await er.default.copyFile(a,u);let p=await Wn(i);await er.default.writeFile(u,p,"utf-8");try{if(e){_consola2.default.info(`use ${_kolorist.yellow.call(void 0, "vite-ssg")} to do ssg build...`);try{await vm(i,s),await Em(i)}catch(c){_consola2.default.error("[vite-ssg] An internal error occurred."),console.log(c)}}else _consola2.default.info("use vite do spa build..."),await ym(i,s)}catch(c){console.log(c)}finally{await er.default.copyFile(a,u)}});tr.command("rss [root]","generate rss feed",e=>zt(e).strict().help(),async({root:e})=>{yr(),_consola2.default.info("Generate RSS ...");let t=await De({userRoot:e},"build");await bm(t)});ch(tr);Am(tr);function HO(){tr.help().parse()}exports.a = xr; exports.b = Yp; exports.c = ot; exports.d = As; exports.e = re; exports.f = zp; exports.g = Ht; exports.h = Rs; exports.i = Jp; exports.j = Xp; exports.k = rd; exports.l = Ge; exports.m = J_; exports.n = eR; exports.o = X_; exports.p = tR; exports.q = nR; exports.r = Q_; exports.s = iR; exports.t = ks; exports.u = nd; exports.v = oR; exports.w = Os; exports.x = De; exports.y = Ps; exports.z = Gn; exports.A = Wn; exports.B = fm; exports.C = ym; exports.D = vm; exports.E = Em; exports.F = tr; exports.G = HO;
|
|
80
80
|
/*! Bundled license information:
|
|
81
81
|
|
|
82
82
|
is-extglob/index.js:
|
package/dist/node/cli.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSKLY3VD5cjs = require('../chunk-SKLY3VD5.cjs');exports.cli = _chunkSKLY3VD5cjs.F; exports.run = _chunkSKLY3VD5cjs.G;
|
package/dist/node/cli.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as a,G as b}from"../chunk-
|
|
1
|
+
import{F as a,G as b}from"../chunk-S3DNS4MB.mjs";export{a as cli,b as run};
|
package/dist/node/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSKLY3VD5cjs = require('../chunk-SKLY3VD5.cjs');exports.build = _chunkSKLY3VD5cjs.C; exports.cli = _chunkSKLY3VD5cjs.F; exports.createServer = _chunkSKLY3VD5cjs.B; exports.defaultSiteConfig = _chunkSKLY3VD5cjs.t; exports.defaultValaxyConfig = _chunkSKLY3VD5cjs.u; exports.defineAddon = _chunkSKLY3VD5cjs.n; exports.defineConfig = _chunkSKLY3VD5cjs.s; exports.defineSiteConfig = _chunkSKLY3VD5cjs.q; exports.defineTheme = _chunkSKLY3VD5cjs.p; exports.defineUnoSetup = _chunkSKLY3VD5cjs.v; exports.defineValaxyAddon = _chunkSKLY3VD5cjs.m; exports.defineValaxyConfig = _chunkSKLY3VD5cjs.r; exports.defineValaxyTheme = _chunkSKLY3VD5cjs.o; exports.ensurePrefix = _chunkSKLY3VD5cjs.d; exports.getGitTimestamp = _chunkSKLY3VD5cjs.a; exports.getIndexHtml = _chunkSKLY3VD5cjs.A; exports.isExternal = _chunkSKLY3VD5cjs.b; exports.isPath = _chunkSKLY3VD5cjs.f; exports.mergeValaxyConfig = _chunkSKLY3VD5cjs.g; exports.mergeViteConfigs = _chunkSKLY3VD5cjs.z; exports.postProcessForSSG = _chunkSKLY3VD5cjs.E; exports.processValaxyOptions = _chunkSKLY3VD5cjs.w; exports.resolveAddonConfig = _chunkSKLY3VD5cjs.j; exports.resolveImportPath = _chunkSKLY3VD5cjs.l; exports.resolveOptions = _chunkSKLY3VD5cjs.x; exports.resolveThemeValaxyConfig = _chunkSKLY3VD5cjs.y; exports.resolveValaxyConfig = _chunkSKLY3VD5cjs.i; exports.resolveValaxyConfigFromRoot = _chunkSKLY3VD5cjs.h; exports.run = _chunkSKLY3VD5cjs.G; exports.slash = _chunkSKLY3VD5cjs.c; exports.ssgBuild = _chunkSKLY3VD5cjs.D; exports.toAtFS = _chunkSKLY3VD5cjs.e; exports.transformObject = _chunkSKLY3VD5cjs.k;
|
package/dist/node/index.d.ts
CHANGED
|
@@ -245,7 +245,7 @@ declare function ssgBuild(options: ResolvedValaxyOptions, viteConfig?: InlineCon
|
|
|
245
245
|
* todo find why
|
|
246
246
|
* @param options
|
|
247
247
|
*/
|
|
248
|
-
declare
|
|
248
|
+
declare function postProcessForSSG(options: ResolvedValaxyOptions): Promise<void>;
|
|
249
249
|
|
|
250
250
|
declare function defineValaxyAddon<AddonOptions = {}>(addonFunc: (addonOptions?: AddonOptions, valaxyOptions?: ResolvedValaxyOptions) => ValaxyAddon): (addonOptions?: AddonOptions, valaxyOptions?: ResolvedValaxyOptions) => ValaxyAddon;
|
|
251
251
|
declare const defineAddon: typeof defineValaxyAddon;
|
|
@@ -329,7 +329,7 @@ declare function resolveAddonConfig(addons: ValaxyAddonResolver[], options?: Res
|
|
|
329
329
|
* @param obj
|
|
330
330
|
* @returns
|
|
331
331
|
*/
|
|
332
|
-
declare
|
|
332
|
+
declare function transformObject(obj: any): string;
|
|
333
333
|
declare function resolveImportPath(importName: string, ensure?: true): string;
|
|
334
334
|
|
|
335
335
|
export { ResolvedValaxyOptions, UnoSetup, UserValaxyNodeConfig, ValaxyAddonExport, ValaxyAddonFn, ValaxyAddonLike, ValaxyAddonResolver, ValaxyAddons, ValaxyConfigExport, ValaxyConfigExtendKey, ValaxyConfigFn, ValaxyEntryOptions, ValaxyExtendConfig, ValaxyNodeConfig, ValaxyPickConfig, ValaxyServerOptions, ValaxyTheme, build, createServer, defaultSiteConfig, defaultValaxyConfig, defineAddon, defineConfig, defineSiteConfig, defineTheme, defineUnoSetup, defineValaxyAddon, defineValaxyConfig, defineValaxyTheme, ensurePrefix, getGitTimestamp, getIndexHtml, isExternal, isPath, mergeValaxyConfig, mergeViteConfigs, postProcessForSSG, processValaxyOptions, resolveAddonConfig, resolveImportPath, resolveOptions, resolveThemeValaxyConfig, resolveValaxyConfig, resolveValaxyConfigFromRoot, slash, ssgBuild, toAtFS, transformObject };
|
package/dist/node/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A,B,C,D,E,F,G,a as o,b as r,c as m,d as p,e as t,f as e,g as f,h as x,i,j as a,k as b,l as c,m as d,n as g,o as h,p as j,q as k,r as l,s as n,t as q,u as s,v as u,w as v,x as w,y,z}from"../chunk-
|
|
1
|
+
import{A,B,C,D,E,F,G,a as o,b as r,c as m,d as p,e as t,f as e,g as f,h as x,i,j as a,k as b,l as c,m as d,n as g,o as h,p as j,q as k,r as l,s as n,t as q,u as s,v as u,w as v,x as w,y,z}from"../chunk-S3DNS4MB.mjs";export{C as build,F as cli,B as createServer,q as defaultSiteConfig,s as defaultValaxyConfig,g as defineAddon,n as defineConfig,k as defineSiteConfig,j as defineTheme,u as defineUnoSetup,d as defineValaxyAddon,l as defineValaxyConfig,h as defineValaxyTheme,p as ensurePrefix,o as getGitTimestamp,A as getIndexHtml,r as isExternal,e as isPath,f as mergeValaxyConfig,z as mergeViteConfigs,E as postProcessForSSG,v as processValaxyOptions,a as resolveAddonConfig,c as resolveImportPath,w as resolveOptions,y as resolveThemeValaxyConfig,i as resolveValaxyConfig,x as resolveValaxyConfigFromRoot,G as run,m as slash,D as ssgBuild,t as toAtFS,b as transformObject};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
export { D as DefaultThemeConfig, P as PartialDeep, R as RuntimeConfig, S as SiteConfig, b as SocialLink, U as UserSiteConfig, c as UserValaxyConfig, a as ValaxyAddon, V as ValaxyConfig } from '../config-6ba89780.js';
|
|
2
2
|
import 'medium-zoom';
|
|
3
3
|
|
|
4
|
+
interface Album {
|
|
5
|
+
/**
|
|
6
|
+
* @description:en-US Album Link
|
|
7
|
+
*/
|
|
8
|
+
url: string;
|
|
9
|
+
/**
|
|
10
|
+
* @description:en-US Album cover
|
|
11
|
+
* url
|
|
12
|
+
*/
|
|
13
|
+
cover: string;
|
|
14
|
+
/**
|
|
15
|
+
* @description:en-US Album caption
|
|
16
|
+
*/
|
|
17
|
+
caption: string;
|
|
18
|
+
/**
|
|
19
|
+
* @description:en-US Album description
|
|
20
|
+
*/
|
|
21
|
+
desc: string;
|
|
22
|
+
}
|
|
23
|
+
interface Photo {
|
|
24
|
+
src: string;
|
|
25
|
+
caption: string;
|
|
26
|
+
desc: string;
|
|
27
|
+
}
|
|
4
28
|
interface PageFrontMatter extends Record<string, any> {
|
|
5
29
|
/**
|
|
6
30
|
* Path of post
|
|
@@ -97,6 +121,16 @@ interface PageFrontMatter extends Record<string, any> {
|
|
|
97
121
|
* @url https://github.com/francoischalifour/medium-zoom
|
|
98
122
|
*/
|
|
99
123
|
medium_zoom: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* @description:en-US Albums
|
|
126
|
+
* @description:zh-CN 相册
|
|
127
|
+
*/
|
|
128
|
+
albums: Album[];
|
|
129
|
+
/**
|
|
130
|
+
* For layout Gallery
|
|
131
|
+
* @description:en-US Photos
|
|
132
|
+
*/
|
|
133
|
+
photos: Photo[];
|
|
100
134
|
}
|
|
101
135
|
interface PostFrontMatter extends PageFrontMatter {
|
|
102
136
|
/**
|
|
@@ -209,4 +243,4 @@ interface PageDataPayload {
|
|
|
209
243
|
}
|
|
210
244
|
declare type HeadConfig = [string, Record<string, string>] | [string, Record<string, string>, string];
|
|
211
245
|
|
|
212
|
-
export { CleanUrlsMode, HeadConfig, Header, Page, PageData, PageDataPayload, PageFrontMatter, Post, PostFrontMatter };
|
|
246
|
+
export { Album, CleanUrlsMode, HeadConfig, Header, Page, PageData, PageDataPayload, PageFrontMatter, Photo, Post, PostFrontMatter };
|
package/package.json
CHANGED
package/types/posts.ts
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
export interface Album {
|
|
2
|
+
/**
|
|
3
|
+
* @description:en-US Album Link
|
|
4
|
+
*/
|
|
5
|
+
url: string
|
|
6
|
+
/**
|
|
7
|
+
* @description:en-US Album cover
|
|
8
|
+
* url
|
|
9
|
+
*/
|
|
10
|
+
cover: string
|
|
11
|
+
/**
|
|
12
|
+
* @description:en-US Album caption
|
|
13
|
+
*/
|
|
14
|
+
caption: string
|
|
15
|
+
/**
|
|
16
|
+
* @description:en-US Album description
|
|
17
|
+
*/
|
|
18
|
+
desc: string
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface Photo {
|
|
22
|
+
src: string
|
|
23
|
+
caption: string
|
|
24
|
+
desc: string
|
|
25
|
+
}
|
|
26
|
+
|
|
1
27
|
export interface PageFrontMatter extends Record<string, any> {
|
|
2
28
|
/**
|
|
3
29
|
* Path of post
|
|
@@ -101,6 +127,18 @@ export interface PageFrontMatter extends Record<string, any> {
|
|
|
101
127
|
* @url https://github.com/francoischalifour/medium-zoom
|
|
102
128
|
*/
|
|
103
129
|
medium_zoom: boolean
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* @description:en-US Albums
|
|
133
|
+
* @description:zh-CN 相册
|
|
134
|
+
*/
|
|
135
|
+
albums: Album[]
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* For layout Gallery
|
|
139
|
+
* @description:en-US Photos
|
|
140
|
+
*/
|
|
141
|
+
photos: Photo[]
|
|
104
142
|
}
|
|
105
143
|
|
|
106
144
|
export interface PostFrontMatter extends PageFrontMatter {
|