create-open17-blog 1.1.1 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +3 -3
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import{Command as b}from"commander";import v from"inquirer";import t from"path";import i from"fs-extra";import n from"chalk";import j from"ora";import y from"validate-npm-package-name";var f=new b;f.name("create-open17-blog").description("Create a VitePress blog preconfigured with vitepress-theme-open17").version("1.1.1").argument("[project-name]","Folder to create the project in").option("-f, --force","Overwrite target directory if it exists",!1).action(async(e,a)=>{var s,r;try{let o=process.cwd(),l=e?t.resolve(o,e):o,p=e;p||(p=(await v.prompt([{name:"name",type:"input",message:"Project name:",default:"my-open17-blog"}])).name);let m=y(p);m.validForNewPackages||(console.error(n.red("Invalid project name: "+p)),(s=m.errors)==null||s.forEach(c=>console.error(n.red(" "+c))),(r=m.warnings)==null||r.forEach(c=>console.error(n.yellow(" "+c))),process.exit(1));let g=e?l:t.resolve(o,p);if(i.existsSync(g)){if(!((await i.readdir(g)).length===0)&&!a.force){let{overwrite:w}=await v.prompt([{name:"overwrite",type:"confirm",message:`Target directory ${n.cyan(g)} is not empty. Overwrite?`,default:!1}]);w||process.exit(1),await i.emptyDir(g)}}else await i.ensureDir(g);let h=j("Scaffolding project...").start();await k(g,p),h.succeed("Project scaffolded");let d=T();console.log(),console.log(n.green("Done. Now run:")),e&&console.log(" cd "+n.cyan(e)),console.log(` ${d} install`),console.log(` ${d} run dev`),console.log()}catch(o){console.error(n.red(o.message)),process.exit(1)}});f.parse();async function k(e,a){let s=t.join(e,"docs"),r=t.join(s,".vitepress"),o=t.join(r,"theme");await i.ensureDir(o);let l={name:a,private:!0,type:"module",scripts:{dev:"vitepress dev docs --port 8090",build:"vitepress build docs",preview:"vitepress preview docs"},dependencies:{vite:"^5.2.14",vitepress:"^1.3.4",vue:"^3.4.21","@giscus/vue":"^3.0.0","vitepress-sidebar":"^1.22.0","vitepress-theme-open17":"^1.4.0","@unocss/vite":"^66.0.0",unocss:"^66.0.0"},devDependencies:{}};await i.writeJSON(t.join(e,"package.json"),l,{spaces:2}),await i.writeFile(t.join(e,".gitignore"),`node_modules
2
+ import{Command as b}from"commander";import v from"inquirer";import t from"path";import i from"fs-extra";import n from"chalk";import j from"ora";import y from"validate-npm-package-name";var u=new b;u.name("create-open17-blog").description("Create a VitePress blog preconfigured with vitepress-theme-open17").version("1.1.1").argument("[project-name]","Folder to create the project in").option("-f, --force","Overwrite target directory if it exists",!1).action(async(e,a)=>{var s,r;try{let o=process.cwd(),l=e?t.resolve(o,e):o,p=e;p||(p=(await v.prompt([{name:"name",type:"input",message:"Project name:",default:"my-open17-blog"}])).name);let m=y(p);m.validForNewPackages||(console.error(n.red("Invalid project name: "+p)),(s=m.errors)==null||s.forEach(c=>console.error(n.red(" "+c))),(r=m.warnings)==null||r.forEach(c=>console.error(n.yellow(" "+c))),process.exit(1));let g=e?l:t.resolve(o,p);if(i.existsSync(g)){if(!((await i.readdir(g)).length===0)&&!a.force){let{overwrite:w}=await v.prompt([{name:"overwrite",type:"confirm",message:`Target directory ${n.cyan(g)} is not empty. Overwrite?`,default:!1}]);w||process.exit(1),await i.emptyDir(g)}}else await i.ensureDir(g);let h=j("Scaffolding project...").start();await k(g,p),h.succeed("Project scaffolded");let d=T();console.log(),console.log(n.green("Done. Now run:")),e&&console.log(" cd "+n.cyan(e)),console.log(` ${d} install`),console.log(` ${d} run dev`),console.log()}catch(o){console.error(n.red(o.message)),process.exit(1)}});u.parse();async function k(e,a){let s=t.join(e,"docs"),r=t.join(s,".vitepress"),o=t.join(r,"theme");await i.ensureDir(o);let l={name:a,private:!0,type:"module",scripts:{dev:"vitepress dev docs --port 8090",build:"vitepress build docs",preview:"vitepress preview docs"},dependencies:{vite:"^5.2.14",vitepress:"^1.3.4",vue:"^3.4.21","@giscus/vue":"^3.0.0","vitepress-sidebar":"^1.22.0","vitepress-theme-open17":"^1.4.0","@unocss/vite":"^66.0.0",unocss:"^66.0.0"},devDependencies:{}};await i.writeJSON(t.join(e,"package.json"),l,{spaces:2}),await i.writeFile(t.join(e,".gitignore"),`node_modules
3
3
  dist
4
4
  docs/.vitepress/cache/*
5
- `),await i.writeFile(t.join(s,"index.md"),D()),await i.ensureDir(t.join(s,"posts")),await i.writeFile(t.join(s,"posts",`${u(new Date)}-hello-open17.md`),x()),await i.writeFile(t.join(s,"posts",`${u(new Date)}-second-post.md`),P()),await i.ensureDir(t.join(s,"page")),await i.writeFile(t.join(s,"page","tags.md"),S()),await i.writeFile(t.join(s,"page","categories.md"),I()),await i.writeFile(t.join(s,"page","archive.md"),W()),await i.writeFile(t.join(r,"config.ts"),C()),await i.writeFile(t.join(o,"index.ts"),F()),await i.ensureDir(t.join(s,"public")),await i.writeFile(t.join(e,"uno.config.ts"),_()),await i.writeFile(t.join(e,"README.md"),$(a))}function T(){let e=process.env.npm_config_user_agent||"";return e.startsWith("yarn")?"yarn":e.startsWith("pnpm")?"pnpm":e.startsWith("bun")?"bun":"npm"}function u(e){let a=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${a}-${s}-${r}`}function D(){return`---
5
+ `),await i.writeFile(t.join(s,"index.md"),D()),await i.ensureDir(t.join(s,"posts")),await i.writeFile(t.join(s,"posts",`${f(new Date)}-hello-open17.md`),x()),await i.writeFile(t.join(s,"posts/foo",`${f(new Date)}-second-post.md`),P()),await i.ensureDir(t.join(s,"page")),await i.writeFile(t.join(s,"page","tags.md"),S()),await i.writeFile(t.join(s,"page","categories.md"),I()),await i.writeFile(t.join(s,"page","archive.md"),W()),await i.writeFile(t.join(r,"config.ts"),C()),await i.writeFile(t.join(o,"index.ts"),F()),await i.ensureDir(t.join(s,"public")),await i.writeFile(t.join(e,"uno.config.ts"),_()),await i.writeFile(t.join(e,"README.md"),$(a))}function T(){let e=process.env.npm_config_user_agent||"";return e.startsWith("yarn")?"yarn":e.startsWith("pnpm")?"pnpm":e.startsWith("bun")?"bun":"npm"}function f(e){let a=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${a}-${s}-${r}`}function D(){return`---
6
6
  layout: blog
7
7
  bgImage:
8
8
  light: "https://vitepress.open17.vip/bg.jpg"
@@ -59,7 +59,7 @@ This is a second sample post to demonstrate multiple categories.
59
59
  ## Quick Tips
60
60
 
61
61
  - Keep your posts inside \`/docs/posts\`
62
- - Use \`tags\` and \`categories\` in frontmatter
62
+ - Use \`tags\` in frontmatter
63
63
  - Try the archive and categories pages
64
64
  `}function C(){return`import { defineConfigWithTheme } from 'vitepress'
65
65
  import type { ThemeConfig } from 'vitepress-theme-open17/config'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-open17-blog",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "CLI tool for quickly setting up vitepress-theme-open17 blog",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,11 +37,11 @@
37
37
  "tsup": "^8.0.1"
38
38
  },
39
39
  "scripts": {
40
- "build": "tsup src/index.ts --format esm --target node16 --minify",
41
- "dev": "tsup src/index.ts --format esm --target node16 --watch",
40
+ "build": "tsup src/index.ts --format esm --target node16 --minify",
41
+ "dev": "tsup src/index.ts --format esm --target node16 --watch",
42
42
  "prepublishOnly": "npm run build"
43
43
  },
44
44
  "engines": {
45
45
  "node": ">=16.0.0"
46
46
  }
47
- }
47
+ }