create-vuepress-theme-plume 1.0.0-rc.135 → 1.0.0-rc.137

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/lib/index.js CHANGED
@@ -547,5 +547,5 @@ var cli = cac("create-vuepress-theme-plume");
547
547
  cli.command("[root]", "create a new vuepress-theme-plume project / \u521B\u5EFA\u65B0\u7684 vuepress-theme-plume \u9879\u76EE").action((root) => run(1 /* create */, root));
548
548
  cli.command("init [root]", "Initial vuepress-theme-plume in the existing project / \u5728\u73B0\u6709\u9879\u76EE\u4E2D\u521D\u59CB\u5316 vuepress-theme-plume").action((root) => run(0 /* init */, root));
549
549
  cli.help();
550
- cli.version("1.0.0-rc.134");
550
+ cli.version("1.0.0-rc.136");
551
551
  cli.parse();
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-vuepress-theme-plume",
3
3
  "type": "module",
4
- "version": "1.0.0-rc.135",
4
+ "version": "1.0.0-rc.137",
5
5
  "description": "The cli for create vuepress-theme-plume's project",
6
6
  "author": "pengzhanbo <q942450674@outlook.com> (https://github.com/pengzhanbo/)",
7
7
  "license": "MIT",
@@ -37,7 +37,7 @@
37
37
  "plume-deps": {
38
38
  "vuepress": "2.0.0-rc.20",
39
39
  "vue": "^3.5.13",
40
- "sass-embedded": "^1.85.1",
40
+ "sass-embedded": "^1.86.0",
41
41
  "sass-loader": "^16.0.5",
42
42
  "http-server": "^14.1.1",
43
43
  "typescript": "^5.7.3"
@@ -76,123 +76,98 @@ export default defineUserConfig({
76
76
  // title: true, // 是否生成标题
77
77
  // },
78
78
 
79
- plugins: {
80
- /**
81
- * Shiki 代码高亮
82
- * @see https://theme-plume.vuejs.press/config/plugins/code-highlight/
83
- */
84
- // shiki: {
85
- // // 强烈建议预设代码块高亮语言,插件默认加载所有语言会产生不必要的时间开销
86
- // languages: ['shell', 'bash', 'typescript', 'javascript'],
87
- // twoslash: true, // 启用 twoslash
88
- // whitespace: true, // 启用 空格/Tab 高亮
89
- // lineNumbers: true, // 启用行号
90
- // },
91
-
92
- /* 本地搜索, 默认启用 */
93
- // search: true,
94
-
95
- /**
96
- * Algolia DocSearch
97
- * 启用此搜索需要将 本地搜索 search 设置为 false
98
- * @see https://theme-plume.vuejs.press/config/plugins/search/#algolia-docsearch
99
- */
100
- // docsearch: {
101
- // appId: '',
102
- // apiKey: '',
103
- // indexName: '',
104
- // },
105
-
106
- /* 文章字数统计、阅读时间,设置为 false 则禁用 */
107
- // readingTime: true,
108
-
109
- /**
110
- * markdown enhance
111
- * @see https://theme-plume.vuejs.press/config/plugins/markdown-enhance/
112
- */
113
- // markdownEnhance: {
114
- // chartjs: true,
115
- // echarts: true,
116
- // mermaid: true,
117
- // flowchart: true,
118
- // },
119
-
120
- /**
121
- * markdown power
122
- * @see https://theme-plume.vuejs.press/config/plugin/markdown-power/
123
- */
124
- // markdownPower: {
125
- // abbr: true, // 启用 abbr 语法 *[label]: content
126
- // annotation: true, // 启用 annotation 语法 [+label]: content
127
- // pdf: true, // 启用 PDF 嵌入 @[pdf](/xxx.pdf)
128
- // caniuse: true, // 启用 caniuse 语法 @[caniuse](feature_name)
129
- // plot: true, // 启用隐秘文本语法 !!xxxx!!
130
- // bilibili: true, // 启用嵌入 bilibili视频 语法 @[bilibili](bid)
131
- // youtube: true, // 启用嵌入 youtube视频 语法 @[youtube](video_id)
132
- // artPlayer: true, // 启用嵌入 artPlayer 本地视频 语法 @[artPlayer](url)
133
- // audioReader: true, // 启用嵌入音频朗读功能 语法 @[audioReader](url)
134
- // icons: true, // 启用内置图标语法 :[icon-name]:
135
- // codepen: true, // 启用嵌入 codepen 语法 @[codepen](user/slash)
136
- // replit: true, // 启用嵌入 replit 语法 @[replit](user/repl-name)
137
- // codeSandbox: true, // 启用嵌入 codeSandbox 语法 @[codeSandbox](id)
138
- // jsfiddle: true, // 启用嵌入 jsfiddle 语法 @[jsfiddle](user/id)
139
- // npmTo: true, // 启用 npm-to 容器 ::: npm-to
140
- // demo: true, // 启用 demo 容器 ::: demo
141
- // repl: { // 启用 代码演示容器
142
- // go: true, // ::: go-repl
143
- // rust: true, // ::: rust-repl
144
- // kotlin: true, // ::: kotlin-repl
145
- // },
146
- // imageSize: 'local', // 启用 自动填充 图片宽高属性,避免页面抖动
147
- // },
148
-
149
- /**
150
- * 为 Markdown 图像添加附加功能。
151
- * @see https://theme-plume.vuejs.press/config/plugins/markdown-image/
152
- */
153
- // markdownImage: {
154
- // figure: true, // 启用 figure
155
- // lazyload: true, // 启用图片懒加载
156
- // mark: true, // 启用图片标记
157
- // size: true, // 启用图片大小
158
- // },
159
-
160
- /**
161
- * Markdown 文件中导入其他 markdown 文件内容。
162
- * @see https://theme-plume.vuejs.press/guide/markdown/include/
163
- */
164
- // markdownInclude: true,
165
-
166
- /**
167
- * Markdown 数学公式
168
- * @see https://theme-plume.vuejs.press/config/plugins/markdown-math/
169
- */
170
- // markdownMath: {
171
- // type: 'katex',
172
- // },
173
-
174
- /**
175
- * 水印
176
- * @see https://theme-plume.vuejs.press/guide/features/watermark/
177
- */
178
- // watermark: true,
179
-
180
- /**
181
- * 评论 comments
182
- * @see https://theme-plume.vuejs.press/guide/features/comments/
183
- */
184
- // comment: {
185
- // provider: '', // "Artalk" | "Giscus" | "Twikoo" | "Waline"
186
- // comment: true,
187
- // repo: '',
188
- // repoId: '',
189
- // category: '',
190
- // categoryId: '',
191
- // mapping: 'pathname',
192
- // reactionsEnabled: true,
193
- // inputPosition: 'top',
194
- // },
195
- },
79
+ /* 本地搜索, 默认启用 */
80
+ search: { provider: 'local' },
81
+
82
+ /**
83
+ * Algolia DocSearch
84
+ * 启用此搜索需要将 本地搜索 search 设置为 false
85
+ * @see https://theme-plume.vuejs.press/config/plugins/search/#algolia-docsearch
86
+ */
87
+ // search: {
88
+ // provider: 'algolia',
89
+ // appId: '',
90
+ // apiKey: '',
91
+ // indexName: '',
92
+ // },
93
+
94
+ /**
95
+ * Shiki 代码高亮
96
+ * @see https://theme-plume.vuejs.press/config/plugins/code-highlight/
97
+ */
98
+ // codeHighlighter: {
99
+ // twoslash: true, // 启用 twoslash
100
+ // whitespace: true, // 启用 空格/Tab 高亮
101
+ // lineNumbers: true, // 启用行号
102
+ // },
103
+
104
+ /* 文章字数统计、阅读时间,设置为 false 则禁用 */
105
+ // readingTime: true,
106
+
107
+ /**
108
+ * markdown
109
+ * @see https://theme-plume.vuejs.press/config/markdown/
110
+ */
111
+ // markdown: {
112
+ // abbr: true, // 启用 abbr 语法 *[label]: content
113
+ // annotation: true, // 启用 annotation 语法 [+label]: content
114
+ // pdf: true, // 启用 PDF 嵌入 @[pdf](/xxx.pdf)
115
+ // caniuse: true, // 启用 caniuse 语法 @[caniuse](feature_name)
116
+ // plot: true, // 启用隐秘文本语法 !!xxxx!!
117
+ // bilibili: true, // 启用嵌入 bilibili视频 语法 @[bilibili](bid)
118
+ // youtube: true, // 启用嵌入 youtube视频 语法 @[youtube](video_id)
119
+ // artPlayer: true, // 启用嵌入 artPlayer 本地视频 语法 @[artPlayer](url)
120
+ // audioReader: true, // 启用嵌入音频朗读功能 语法 @[audioReader](url)
121
+ // icons: true, // 启用内置图标语法 :[icon-name]:
122
+ // codepen: true, // 启用嵌入 codepen 语法 @[codepen](user/slash)
123
+ // replit: true, // 启用嵌入 replit 语法 @[replit](user/repl-name)
124
+ // codeSandbox: true, // 启用嵌入 codeSandbox 语法 @[codeSandbox](id)
125
+ // jsfiddle: true, // 启用嵌入 jsfiddle 语法 @[jsfiddle](user/id)
126
+ // npmTo: true, // 启用 npm-to 容器 ::: npm-to
127
+ // demo: true, // 启用 demo 容器 ::: demo
128
+ // repl: { // 启用 代码演示容器
129
+ // go: true, // ::: go-repl
130
+ // rust: true, // ::: rust-repl
131
+ // kotlin: true, // ::: kotlin-repl
132
+ // },
133
+ // math: { // 启用数学公式
134
+ // type: 'katex',
135
+ // },
136
+ // chartjs: true, // 启用 chart.js
137
+ // echarts: true, // 启用 ECharts
138
+ // mermaid: true, // 启用 mermaid
139
+ // flowchart: true, // 启用 flowchart
140
+ // image: {
141
+ // figure: true, // 启用 figure
142
+ // lazyload: true, // 启用图片懒加载
143
+ // mark: true, // 启用图片标记
144
+ // size: true, // 启用图片大小
145
+ // },
146
+ // include: true, // Markdown 文件中导入其他 markdown 文件内容
147
+ // imageSize: 'local', // 启用 自动填充 图片宽高属性,避免页面抖动
148
+ // },
149
+
150
+ /**
151
+ * 水印
152
+ * @see https://theme-plume.vuejs.press/guide/features/watermark/
153
+ */
154
+ // watermark: true,
155
+
156
+ /**
157
+ * 评论 comments
158
+ * @see https://theme-plume.vuejs.press/guide/features/comments/
159
+ */
160
+ // comment: {
161
+ // provider: '', // "Artalk" | "Giscus" | "Twikoo" | "Waline"
162
+ // comment: true,
163
+ // repo: '',
164
+ // repoId: '',
165
+ // category: '',
166
+ // categoryId: '',
167
+ // mapping: 'pathname',
168
+ // reactionsEnabled: true,
169
+ // inputPosition: 'top',
170
+ // },
196
171
 
197
172
  /**
198
173
  * 加密功能
@@ -29,7 +29,7 @@ jobs:
29
29
  uses: actions/setup-node@v4
30
30
  with:
31
31
  # 选择要使用的 node 版本
32
- node-version: 20
32
+ node-version: 22
33
33
 
34
34
  {{#if (equal packageManager "npm")}}
35
35
  # 安装依赖
@@ -5,5 +5,5 @@ publish = "{{ docsDir }}/.vuepress/dist"
5
5
  command = "{{#if (equal packageManager 'yarn')}}yarn && yarn{{else}}{{packageManager}} run{{/if}} docs:build"
6
6
 
7
7
  [build.environment]
8
- NODE_VERSION = "20"
8
+ NODE_VERSION = "22"
9
9
  NPM_FLAGS = "--version"
@@ -4,15 +4,29 @@ tags:
4
4
  - markdown
5
5
  ---
6
6
 
7
- ## 标题 2
7
+ ## 标题H2
8
8
 
9
- ### 标题 3
9
+ ### 标题H3
10
10
 
11
- #### 标题 4
11
+ #### 标题H4
12
12
 
13
- ##### 标题 5
13
+ ##### 标题H5
14
14
 
15
- ###### 标题 6
15
+ ###### 标题H6
16
+
17
+ ## 标题2 Badge <Badge type="tip" text="Badge" />
18
+
19
+ ### 标题3 Badge <Badge type="warning" text="Badge" />
20
+
21
+ #### 标题4 Badge <Badge type="danger" text="Badge" />
22
+
23
+ 正文内容。
24
+
25
+ `@property` CSS at-rule是 [CSS Houdini API](https://developer.mozilla.org/zh-CN/docs/Web/Guide/Houdini)
26
+ 的一部分,它允许开发者显式地定义他们的 [CSS 自定义属性](https://developer.mozilla.org/zh-CN/docs/Web/CSS/--*),
27
+ 允许进行属性类型检查、设定默认值以及定义该自定义属性是否可以被继承。
28
+
29
+ `@property` 的出现,极大的增强了 CSS 的能力。
16
30
 
17
31
  加粗:**加粗文字**
18
32
 
@@ -66,6 +80,8 @@ H~2~O
66
80
 
67
81
  [外部链接](https://github.com/pengzhanbo)
68
82
 
83
+ ![plume](/plume.svg)
84
+
69
85
  **Badge:**
70
86
 
71
87
  - <Badge type="info" text="info badge" />
@@ -121,6 +137,68 @@ const obj = {
121
137
  }
122
138
  ```
123
139
 
140
+ **Code Blocks TwoSlash:**
141
+
142
+ ```ts twoslash
143
+ // @errors: 2339
144
+ const welcome = 'Tudo bem gente?'
145
+ const words = welcome.contains(' ')
146
+ ```
147
+
148
+ ```ts twoslash
149
+ import express from 'express'
150
+ const app = express()
151
+ app.get('/', (req, res) => {
152
+ res.send
153
+ })
154
+ app.listen(3000)
155
+ ```
156
+
157
+ ```ts twoslash
158
+ import { createHighlighter } from 'shiki'
159
+
160
+ const highlighter = await createHighlighter({ themes: ['nord'], langs: ['javascript'] })
161
+ // @log: Custom log message
162
+ const a = 1
163
+ // @error: Custom error message
164
+ const b = 1
165
+ // @warn: Custom warning message
166
+ const c = 1
167
+ // @annotate: Custom annotation message
168
+ ```
169
+
170
+ ```ts twoslash
171
+ // @errors: 2540
172
+ interface Todo {
173
+ title: string
174
+ }
175
+
176
+ const todo: Readonly<Todo> = {
177
+ title: 'Delete inactive users'.toUpperCase(),
178
+ // ^?
179
+ }
180
+
181
+ todo.title = 'Hello'
182
+
183
+ Number.parseInt('123', 10)
184
+ // ^|
185
+
186
+ //
187
+ //
188
+ ```
189
+
190
+ ```vue twoslash
191
+ <script setup lang="ts">
192
+ import { ref } from 'vue'
193
+
194
+ const count = ref(0)
195
+ </script>
196
+
197
+ <template>
198
+ <p>{{ count }}</p>
199
+ </template>
200
+ ```
201
+
124
202
  **代码分组:**
125
203
 
126
204
  ::: code-tabs
@@ -166,6 +244,9 @@ function foo() {
166
244
  }
167
245
  ```
168
246
 
247
+ ::: tip 仅标题
248
+ :::
249
+
169
250
  ::: note 注释
170
251
  注释内容 [link](https://github.com/pengzhanbo) `inline code`
171
252
 
@@ -232,6 +313,11 @@ const c = a + b
232
313
 
233
314
  :::
234
315
 
316
+ ::: details 详细标题
317
+
318
+ 这里是内容。
319
+ :::
320
+
235
321
  **GFM alert:**
236
322
 
237
323
  > [!note]