@huyikai/vitepress-helper
Advanced tools
Comparing version 0.0.27 to 0.0.28
#!/usr/bin/env node | ||
import{Command as e}from"commander";import o from"chalk";import{execSync as n}from"child_process";import i from"fs-extra";import t from"ora";import r from"path";import s from"figlet";import{fileURLToPath as a}from"url";import m from"inquirer";const l=e=>o.blue.bold(e),p="0.0.26",c=process.cwd(),u=t();const d=new e,h=r.dirname(a(import.meta.url)),y=r.join(h,"./../../package.json"),f=JSON.parse(i.readFileSync(y,"utf8"));d.name("VitePress-Helper").description("A Tool for Enhance VitePress Experience\r\n一个增强VitePress体验的工具").helpOption("-h, --help","Display help for command\r\n显示命令的帮助").version(f.version,"-v,-V, --version","Output current version information\r\n输出当前版本信息"),d.command("init").description("Guide to complete the initialization operation\r\n完成初始化操作的指南").summary("initialization\r\n初始化").action((async()=>{(async e=>{const{name:o,author:t,version:s,cms:a}=e;u.start("Installing..."),n("npm init -y"),n(`npm install @huyikai/vitepress-helper@${p}`,{stdio:"inherit"});const m=r.join(c,"node_modules/@huyikai/vitepress-helper/template"),d=r.join(c,"");i.copySync(m,d),(()=>{const e=r.join(c,"package.json");let n=JSON.parse(i.readFileSync(e).toString());n.name=o,n.author=t,n.version=s,n.scripts.cms=a?"node node_modules/@huyikai/local-cms/cms.js docs":void 0,n.devDependencies["@huyikai/vitepress-helper"]=`^${p}`,n.devDependencies["@huyikai/local-cms"]=a?"latest":void 0,i.writeFileSync(e,JSON.stringify(n,null,2))})(),n("npm i",{stdio:"inherit"}),u.succeed("Install Complete!!!"),console.log(`\r\nNow you can:\r\nrun ${l("npm run dev")} to preview`+(a?`\r\nrun ${l("npm run cms")} to manage content`:""))})(await m.prompt([{name:"name",message:"Project Name",type:"input",default:"my-docs"},{name:"author",description:"Input Author Name",message:"Author",default:"huyikai"},{name:"version",description:"Version",message:"Version",default:"1.0.0"},{name:"cms",message:"Do you need local CMS?",default:!0,type:"list",choices:[{name:"yes",value:!0},{name:"no",value:!1}]}]))})),d.usage("<command> [option]"),d.on("--help",(()=>{console.log(`\r\nRun ${l("vitepress-helper <command> --help")} for detailed usage of given command`),console.log(`\r\nGitHub: ${l("https://github.com/huyikai/vitepress-helper")}`),console.log(`\r\nHomePage: ${l("https://huyikai.github.io/vitepress-helper")}`),console.log("\r\n"+o.hex("#41B883").bgHex("#35495E").bold(s.textSync("VitePress-Helper",{font:"Standard",horizontalLayout:"default",verticalLayout:"default",width:80,whitespaceBreak:!1})))})),d.parse(process.argv); | ||
import{Command as e}from"commander";import o from"chalk";import{execSync as n}from"child_process";import i from"fs-extra";import t from"ora";import r from"path";import s from"figlet";import{fileURLToPath as a}from"url";import m from"inquirer";const l=e=>o.blue.bold(e),p="0.0.27",c=process.cwd(),u=t();const d=new e,h=r.dirname(a(import.meta.url)),y=r.join(h,"./../../package.json"),f=JSON.parse(i.readFileSync(y,"utf8"));d.name("VitePress-Helper").description("A Tool for Enhance VitePress Experience\r\n一个增强VitePress体验的工具").helpOption("-h, --help","Display help for command\r\n显示命令的帮助").version(f.version,"-v,-V, --version","Output current version information\r\n输出当前版本信息"),d.command("init").description("Guide to complete the initialization operation\r\n完成初始化操作的指南").summary("initialization\r\n初始化").action((async()=>{(async e=>{const{name:o,author:t,version:s,cms:a}=e;u.start("Installing..."),n("npm init -y"),n(`npm install @huyikai/vitepress-helper@${p}`,{stdio:"inherit"});const m=r.join(c,"node_modules/@huyikai/vitepress-helper/template"),d=r.join(c,"");i.copySync(m,d),(()=>{const e=r.join(c,"package.json");let n=JSON.parse(i.readFileSync(e).toString());n.name=o,n.author=t,n.version=s,n.scripts.cms=a?"node node_modules/@huyikai/local-cms/cms.js docs":void 0,n.devDependencies["@huyikai/vitepress-helper"]=`^${p}`,n.devDependencies["@huyikai/local-cms"]=a?"latest":void 0,i.writeFileSync(e,JSON.stringify(n,null,2))})(),n("npm i",{stdio:"inherit"}),u.succeed("Install Complete!!!"),console.log(`\r\nNow you can:\r\nrun ${l("npm run dev")} to preview`+(a?`\r\nrun ${l("npm run cms")} to manage content`:""))})(await m.prompt([{name:"name",message:"Project Name",type:"input",default:"my-docs"},{name:"author",description:"Input Author Name",message:"Author",default:"huyikai"},{name:"version",description:"Version",message:"Version",default:"1.0.0"},{name:"cms",message:"Do you need local CMS?",default:!0,type:"list",choices:[{name:"yes",value:!0},{name:"no",value:!1}]}]))})),d.usage("<command> [option]"),d.on("--help",(()=>{console.log(`\r\nRun ${l("vitepress-helper <command> --help")} for detailed usage of given command`),console.log(`\r\nGitHub: ${l("https://github.com/huyikai/vitepress-helper")}`),console.log(`\r\nHomePage: ${l("https://huyikai.github.io/vitepress-helper")}`),console.log("\r\n"+o.hex("#41B883").bgHex("#35495E").bold(s.textSync("VitePress-Helper",{font:"Standard",horizontalLayout:"default",verticalLayout:"default",width:80,whitespaceBreak:!1})))})),d.parse(process.argv); | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
import e from"fs-extra";import t from"globby";import r from"gray-matter";import{v4 as i}from"uuid";import{treeToArray as n,arrayToTree as a}from"tree-conver";const l=(e,t)=>e.frontMatter.date<t.frontMatter.date?1:-1;var o=async n=>{const{directory:a}=n;let o=[];var s;n?.locales&&(o=(s=n.locales,Object.keys(s).filter((e=>"root"!==e))).map((e=>`${a}/${e}`)));const c=await t([`${a}/**/**.md`],{ignore:["node_modules","README.md","packages"]});let d=await Promise.all(c.map((async t=>{const n=await e.readFile(t,"utf-8"),a=r(n);return{frontMatter:a.data,link:t,content:a.content.replace(/[^a-zA-Z0-9._ ]+/g,"").toLowerCase(),uuid:i()}})));d=d.filter((e=>!e.frontMatter.page||e.link.includes(`${a}/`)));const p=d.filter((e=>!o.includes(e.link.split("/").slice(0,2).join("/")))),m=d.filter((e=>o.includes(e.link.split("/").slice(0,2).join("/"))));return d.sort(l),{basePages:p,localesPages:m}};const s=(e,t)=>e.map((e=>{const{link:r,frontMatter:n}=e,a=r.split(`${t}/`)[1].split("/"),l=a.slice(0,-1).join("/"),o=n?.title||a.slice(-1).join("").replace(".md",""),s=a.length-1;return{...e,id:i(),text:o,link:a.join("/"),level:s,dir:l}})),c=(e,t)=>{const{pages:r,directory:l,transformItem:o}=e,c=s(r,l).filter((e=>e.level>0)),p=(e=>{const t={children:[]};return e.forEach((e=>{let r=t;e.forEach(((t,n)=>{let a=r.children.find((e=>e.text===t));a||(a={text:t,id:i(),dir:e.slice(0,n+1).join("/"),children:[]},r.children.push(a)),r=a}))})),t.children})(c.map((e=>e.link.split("/").slice(0,-1)))),m=n(p);c.forEach((e=>{m.forEach((t=>{t.dir===e.dir&&(e.parentId=t.id)}))}));const f=[...d(c,"link"),...d(m,"dir")].map((e=>o(e)));return a(f,{idKey:"id",pidKey:"parentId",childrenKey:"items"})},d=(e,t)=>{if(t){const r=(e,r)=>e[t].localeCompare(r[t]);return e.sort(r)}return e.sort()};var p=e=>{const{pages:t,directory:r}=e,i=s(t,r).filter((e=>0===e.level));return[...d(i.filter((e=>!e.link.includes("index.md"))),"text"),...c({pages:t,directory:r,transformItem:e=>({text:e.text,link:e.link?`/${e.link}`:void 0,id:e.id,parentId:e.parentId})})]},m=e=>{const{pages:t,directory:r,collapsible:i}=e;return c({pages:t,directory:r,transformItem:e=>{const{id:t,text:r,link:n,dir:a,parentId:l}=e;return{text:r,id:t,dir:a,parentId:l,collapsed:!(!n&&!0===i)&&void 0,link:n?`/${n}`:void 0}}}).reduce(((e,t)=>{const r=`/${t.text}/`;return e[r]||(e[r]=[]),e[r].push({text:t.text,collapsed:!0!==i&&void 0,items:[...t.items]}),e}),{})},f=e=>{const{locales:t,directory:r,pages:i}=e;let n=[];var a;return e?.locales&&(n=(a=e.locales,Object.keys(a).filter((e=>"root"!==e))).map((e=>`${e}`))),n.forEach((n=>{t[n]={...e.locales[n],themeConfig:{nav:[...p({directory:r,pages:i.filter((e=>e.link.split("/").slice(0,2).join("/")===`${r}/${n}`))})[0].items.filter((e=>!e.link||"index.md"!==e.link.split("/")[2])),...e?.themeConfig?.nav&&Array.isArray(e.themeConfig.nav)?[...e.themeConfig.nav]:[]],sidebar:{[`/${n}/`]:m({directory:r,pages:i.filter((e=>e.link.split("/").slice(0,2).join("/")===`${r}/${n}`))})[`/${n}/`][0].items.filter((e=>!e.link))}}}})),t},g=async e=>{const t=await o(e),r={pages:t.basePages,...e},i={pages:t.localesPages,...e},n=e?.themeConfig?{...e?.themeConfig,nav:[...p(r),...e?.themeConfig?.nav||[]],sidebar:m(r)}:void 0;return{nav:p(r),sidebar:m(r),pages:t.basePages,...e,themeConfig:n,locales:f(i)}};export{g as default,g as init,p as nav,o as pages,m as sidebar}; | ||
import e from"fs-extra";import t from"globby";import r from"gray-matter";import{v4 as i}from"uuid";import{treeToArray as s,arrayToTree as o}from"tree-conver";import{defineConfig as l}from"vitepress";const a=(e,t)=>e.frontMatter.date<t.frontMatter.date?1:-1;var n=async s=>{const{directory:o}=s;let l=[];var n;s?.locales&&(l=(n=s.locales,Object.keys(n).filter((e=>"root"!==e))).map((e=>`${o}/${e}`)));const c=await t([`${o}/**/**.md`],{ignore:["node_modules","README.md","packages"]});let d=await Promise.all(c.map((async t=>{const s=await e.readFile(t,"utf-8"),o=r(s);return{frontMatter:o.data,link:t,content:o.content.replace(/[^a-zA-Z0-9._ ]+/g,"").toLowerCase(),uuid:i()}})));d=d.filter((e=>!e.frontMatter.page||e.link.includes(`${o}/`)));const p=d.filter((e=>!l.includes(e.link.split("/").slice(0,2).join("/")))),m=d.filter((e=>l.includes(e.link.split("/").slice(0,2).join("/"))));return d.sort(a),{basePages:p,localesPages:m}};const c=(e,t)=>e.map((e=>{const{link:r,frontMatter:s}=e,o=r.split(`${t}/`)[1].split("/"),l=o.slice(0,-1).join("/"),a=s?.title||o.slice(-1).join("").replace(".md",""),n=o.length-1;return{...e,id:i(),text:a,link:o.join("/"),level:n,dir:l}})),d=(e,t)=>{const{pages:r,directory:l,transformItem:a}=e,n=c(r,l).filter((e=>e.level>0)),d=(e=>{const t={children:[]};return e.forEach((e=>{let r=t;e.forEach(((t,s)=>{let o=r.children.find((e=>e.text===t));o||(o={text:t,id:i(),dir:e.slice(0,s+1).join("/"),children:[]},r.children.push(o)),r=o}))})),t.children})(n.map((e=>e.link.split("/").slice(0,-1)))),m=s(d);n.forEach((e=>{m.forEach((t=>{t.dir===e.dir&&(e.parentId=t.id)}))}));const f=[...p(n,"link"),...p(m,"dir")].map((e=>a(e)));return o(f,{idKey:"id",pidKey:"parentId",childrenKey:"items"})},p=(e,t)=>{if(t){const r=(e,r)=>e[t].localeCompare(r[t]);return e.sort(r)}return e.sort()};var m=e=>{const{pages:t,directory:r}=e,i=c(t,r).filter((e=>0===e.level));return[...p(i.filter((e=>!e.link.includes("index.md"))),"text"),...d({pages:t,directory:r,transformItem:e=>({text:e.text,link:e.link?`/${e.link}`:void 0,id:e.id,parentId:e.parentId})})]},f=e=>{const{pages:t,directory:r,collapsible:i}=e;return d({pages:t,directory:r,transformItem:e=>{const{id:t,text:r,link:s,dir:o,parentId:l}=e;return{text:r,id:t,dir:o,parentId:l,collapsed:!(!s&&!0===i)&&void 0,link:s?`/${s}`:void 0}}}).reduce(((e,t)=>{const r=`/${t.text}/`;return e[r]||(e[r]=[]),e[r].push({text:t.text,collapsed:!0!==i&&void 0,items:[...t.items]}),e}),{})},h=e=>{const{locales:t,directory:r,pages:i}=e;let s=[];var o;return e?.locales&&(s=(o=e.locales,Object.keys(o).filter((e=>"root"!==e))).map((e=>`${e}`))),s.forEach((s=>{t[s]={...e.locales[s],themeConfig:{nav:[...m({directory:r,pages:i.filter((e=>e.link.split("/").slice(0,2).join("/")===`${r}/${s}`))})[0].items.filter((e=>!e.link||"index.md"!==e.link.split("/")[2])),...e?.themeConfig?.nav&&Array.isArray(e.themeConfig.nav)?[...e.themeConfig.nav]:[]],sidebar:{[`/${s}/`]:f({directory:r,pages:i.filter((e=>e.link.split("/").slice(0,2).join("/")===`${r}/${s}`))})[`/${s}/`][0].items.filter((e=>!e.link))}}}})),t},g=async e=>{const t=await n(e),r={pages:t.basePages,...e},i={pages:t.localesPages,...e},s=e?.themeConfig?{...e?.themeConfig,nav:[...m(r),...e?.themeConfig?.nav||[]],sidebar:f(r)}:void 0;return{nav:m(r),sidebar:f(r),pages:t.basePages,...e,themeConfig:s,locales:h(i)}};var u=l({title:"vitepres-helper",description:"vitepres-helper.",themeConfig:{siteTitle:"VitePress-Helper",outlineTitle:"Catalog",search:{provider:"local"},docFooter:{prev:"Pervious",next:"Next"},footer:{message:'Released under the <a href="https://github.com/huyikai/vitepress-helper/blob/master/license">MIT</a> License. Based on <a href="https://github.com/huyikai/vitepress-helper">vitepress-helper.v0.0.27</a>',copyright:"Copyright © 2023"}}});export{u as config,g as default,g as init,m as nav,n as pages,f as sidebar}; | ||
//# sourceMappingURL=index.esm.js.map |
@@ -1,6 +0,6 @@ | ||
import init from './init'; | ||
import nav from './nav'; | ||
import pages from './pages'; | ||
import sidebar from './sidebar'; | ||
export { pages, nav, sidebar, init }; | ||
export default init; | ||
export { default as init } from './init'; | ||
export { default as nav } from './nav'; | ||
export { default as pages } from './pages'; | ||
export { default as sidebar } from './sidebar'; | ||
export { default as config } from './config'; | ||
export { default } from './init'; |
{ | ||
"name": "@huyikai/vitepress-helper", | ||
"version": "0.0.27", | ||
"version": "0.0.28", | ||
"private": false, | ||
@@ -23,12 +23,18 @@ "description": "This tool is designed to help you to use VitePress more easily.", | ||
"main": "lib/index.esm.js", | ||
"types": "lib/types/src/index.d.ts", | ||
"module": "lib/index.esm.js", | ||
"types": "lib/types/index.d.ts", | ||
"bin": { | ||
"vitepress-helper": "./lib/bin/index.js" | ||
}, | ||
"exports": { | ||
".": { | ||
"types": "./lib/types/src/index.d.ts", | ||
"default": "./lib/index.esm.js" | ||
}, | ||
"./theme/*": "./theme/*" | ||
}, | ||
"files": [ | ||
"lib", | ||
"template", | ||
"theme", | ||
"bin" | ||
"theme" | ||
], | ||
@@ -68,3 +74,3 @@ "scripts": { | ||
"engines": { | ||
"node": ">=16" | ||
"node": ">=18" | ||
}, | ||
@@ -71,0 +77,0 @@ "publishConfig": { |
@@ -1,2 +0,5 @@ | ||
import vitepressHelper from '@huyikai/vitepress-helper'; | ||
import vitepressHelper, { config } from '@huyikai/vitepress-helper'; | ||
import { defineConfigWithTheme } from 'vitepress'; | ||
const vitepressHelperConfig = { | ||
@@ -56,3 +59,3 @@ directory: 'docs', | ||
}); | ||
return instance; | ||
return defineConfigWithTheme({ extends: config, ...instance }); | ||
}; |
@@ -1,21 +0,9 @@ | ||
import 'vitepress/dist/client/theme-default/styles/vars.css'; | ||
import 'vitepress/dist/client/theme-default/styles/base.css'; | ||
import 'vitepress/dist/client/theme-default/styles/utils.css'; | ||
import 'vitepress/dist/client/theme-default/styles/components/custom-block.css'; | ||
import 'vitepress/dist/client/theme-default/styles/components/vp-code.css'; | ||
import 'vitepress/dist/client/theme-default/styles/components/vp-code-group.css'; | ||
import 'vitepress/dist/client/theme-default/styles/components/vp-doc.css'; | ||
import 'vitepress/dist/client/theme-default/styles/components/vp-sponsor.css'; | ||
import Home from './home.vue'; | ||
import Layout from '@huyikai/vitepress-helper/theme/Theme.vue'; | ||
import VPBadge from 'vitepress/dist/client/theme-default/components/VPBadge.vue'; | ||
import theme from '@huyikai/vitepress-helper/theme/index'; | ||
const theme = { | ||
Layout, | ||
export default { | ||
extends: theme, | ||
enhanceApp: ({ app }: any) => { | ||
app.component('Home', Home); | ||
app.component('Badge', VPBadge); | ||
} | ||
}; | ||
export default theme; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
95331
330
2