create-young-proj 1.3.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +39 -0
- package/README.md +6 -1
- package/dist/index.mjs +12 -12
- package/package.json +1 -1
- package/src/index.ts +6 -1
- package/template-nuxt-admin/env.d.ts +19 -1
- package/template-nuxt-admin/server/plugins/env.ts +0 -1
- package/template-nuxt-website/env.d.ts +18 -1
- package/template-uni-app/_env +1 -1
- package/template-uni-app/custom-plugins/multiconf.ts +13 -2
- package/template-vitepress/.vitepress/components/HomePage.vue +54 -0
- package/template-vitepress/.vitepress/components/TodoItem.vue +16 -0
- package/template-vitepress/.vitepress/components.d.ts +13 -0
- package/template-vitepress/.vitepress/config.mts +159 -0
- package/template-vitepress/.vitepress/theme/index.ts +26 -0
- package/template-vitepress/.vitepress/theme/style.css +139 -0
- package/template-vitepress/Dockerfile +45 -0
- package/template-vitepress/README.md +102 -0
- package/template-vitepress/_gitignore +6 -0
- package/template-vitepress/_npmrc +2 -0
- package/template-vitepress/_nvmrc +1 -0
- package/template-vitepress/boot.mjs +17 -0
- package/template-vitepress/index.md +53 -0
- package/template-vitepress/nitro.config.ts +19 -0
- package/template-vitepress/package.json +26 -0
- package/template-vitepress/plugins/init.ts +204 -0
- package/template-vitepress/tsconfig.json +3 -0
- package/template-vitepress/vite.config.ts +66 -0
@@ -0,0 +1,159 @@
|
|
1
|
+
/*
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2023-11-08 15:46:58
|
4
|
+
* @LastEditTime: 2023-11-27 11:18:38
|
5
|
+
* @Description:
|
6
|
+
*/
|
7
|
+
import { defineConfig } from 'vitepress'
|
8
|
+
|
9
|
+
// https://vitepress.dev/reference/site-config
|
10
|
+
export default defineConfig({
|
11
|
+
title: '前端知识库',
|
12
|
+
description: '多种实用工具,满足不同需求',
|
13
|
+
lang: 'zh-CN',
|
14
|
+
locales: {
|
15
|
+
root: {
|
16
|
+
label: '简体中文',
|
17
|
+
lang: 'zh',
|
18
|
+
}
|
19
|
+
},
|
20
|
+
base: '/wlb/fe/',
|
21
|
+
lastUpdated: true,
|
22
|
+
themeConfig: {
|
23
|
+
search: {
|
24
|
+
provider: 'local',
|
25
|
+
options: {
|
26
|
+
detailedView: true,
|
27
|
+
translations: {
|
28
|
+
button: {
|
29
|
+
buttonText: '搜索文档',
|
30
|
+
buttonAriaLabel: '搜索文档'
|
31
|
+
},
|
32
|
+
modal: {
|
33
|
+
noResultsText: '无法找到相关结果',
|
34
|
+
resetButtonTitle: '清除查询条件',
|
35
|
+
displayDetails: '显示详细信息',
|
36
|
+
footer: {
|
37
|
+
selectText: '选择',
|
38
|
+
navigateText: '切换',
|
39
|
+
closeText: '关闭'
|
40
|
+
}
|
41
|
+
}
|
42
|
+
},
|
43
|
+
}
|
44
|
+
},
|
45
|
+
|
46
|
+
// https://vitepress.dev/reference/default-theme-config
|
47
|
+
nav: [
|
48
|
+
{ text: '快速开始', link: '/newer' },
|
49
|
+
{ text: '通用知识', link: '/common/dev-env', activeMatch: '^/common/' },
|
50
|
+
],
|
51
|
+
|
52
|
+
docFooter: {
|
53
|
+
prev: '上一篇',
|
54
|
+
next: '下一篇',
|
55
|
+
},
|
56
|
+
|
57
|
+
outline: {
|
58
|
+
label: '本页目录',
|
59
|
+
},
|
60
|
+
|
61
|
+
lastUpdatedText: '最后更新时间',
|
62
|
+
|
63
|
+
sidebarMenuLabel: '菜单',
|
64
|
+
|
65
|
+
footer: {
|
66
|
+
message: 'Released under the MIT License.',
|
67
|
+
copyright: 'Copyright © 2023-PRESENT BluesYoung-web',
|
68
|
+
},
|
69
|
+
|
70
|
+
sidebar: {
|
71
|
+
'/': [
|
72
|
+
{
|
73
|
+
text: '快速开始',
|
74
|
+
items: [
|
75
|
+
{ text: '新人必读', link: '/newer' },
|
76
|
+
{ text: '前端规范', link: '/standards' },
|
77
|
+
{ text: '常见问题及解决方案', link: '/problems' },
|
78
|
+
]
|
79
|
+
},
|
80
|
+
{
|
81
|
+
text: '通用知识',
|
82
|
+
base: '/common/',
|
83
|
+
items: [
|
84
|
+
{ text: '1. 开发环境', link: 'dev-env' },
|
85
|
+
{ text: '2. 开发必备知识点', link: 'basic-knowledge' },
|
86
|
+
{ text: '3. 常用 vite 插件', link: 'vite-plugin' },
|
87
|
+
]
|
88
|
+
},
|
89
|
+
{
|
90
|
+
text: '项目脚手架与模板介绍',
|
91
|
+
base: '/templates/',
|
92
|
+
items: [
|
93
|
+
{ text: '1. 使用方法', link: 'how-to-use' },
|
94
|
+
{ text: '2. template-nuxt-admin', link: 'nuxt-admin' },
|
95
|
+
{ text: '3. template-nuxt-website', link: 'nuxt-website' },
|
96
|
+
{ text: '4. template-uni-app', link: 'uni-app' },
|
97
|
+
{ text: '5. template-vue-thin', link: 'vue-thin' },
|
98
|
+
{ text: '6. template-vue-mobile', link: 'vue-mobile' },
|
99
|
+
{ text: '7. template-admin-server', link: 'admin-server' },
|
100
|
+
]
|
101
|
+
},
|
102
|
+
{
|
103
|
+
text: '项目部署',
|
104
|
+
items: [
|
105
|
+
{ text: '使用 Docker 部署项目', link: '/common/project-deploy' },
|
106
|
+
]
|
107
|
+
},
|
108
|
+
],
|
109
|
+
'/libs/': [
|
110
|
+
{
|
111
|
+
text: '开源',
|
112
|
+
base: '/libs/public/',
|
113
|
+
items: [
|
114
|
+
{ text: 'ui-vue3-element-plus', link: 'ui-vue3-element-plus' },
|
115
|
+
{ text: 'http', link: 'http' },
|
116
|
+
{ text: 'logger', link: 'logger' },
|
117
|
+
{ text: 'rpc', link: 'rpc' },
|
118
|
+
{ text: 'ui-vue3', link: 'ui-vue3' },
|
119
|
+
],
|
120
|
+
collapsed: true
|
121
|
+
},
|
122
|
+
{
|
123
|
+
text: '内部',
|
124
|
+
base: '/libs/private/',
|
125
|
+
items: [
|
126
|
+
{ text: '来游戏平台-通行证 JSSDK', link: 'lyx-js-sdk' },
|
127
|
+
{ text: '悬浮球', link: 'young-float-ball' },
|
128
|
+
]
|
129
|
+
}
|
130
|
+
],
|
131
|
+
},
|
132
|
+
|
133
|
+
socialLinks: [
|
134
|
+
{
|
135
|
+
icon: {
|
136
|
+
svg: '<svg xmlns="http://www.w3.org/2000/svg" width="1.09em" height="1em" viewBox="0 0 256 236"><path fill="#E24329" d="m128.075 236.075l47.104-144.97H80.97l47.104 144.97Z"/><path fill="#FC6D26" d="M128.075 236.074L80.97 91.104H14.956l113.119 144.97Z"/><path fill="#FCA326" d="M14.956 91.104L.642 135.16a9.752 9.752 0 0 0 3.542 10.903l123.891 90.012l-113.12-144.97Z"/><path fill="#E24329" d="M14.956 91.105H80.97L52.601 3.79c-1.46-4.493-7.816-4.492-9.275 0l-28.37 87.315Z"/><path fill="#FC6D26" d="m128.075 236.074l47.104-144.97h66.015l-113.12 144.97Z"/><path fill="#FCA326" d="m241.194 91.104l14.314 44.056a9.752 9.752 0 0 1-3.543 10.903l-123.89 90.012l113.119-144.97Z"/><path fill="#E24329" d="M241.194 91.105h-66.015l28.37-87.315c1.46-4.493 7.816-4.492 9.275 0l28.37 87.315Z"/></svg>'
|
137
|
+
},
|
138
|
+
link: 'gitlab仓库的完整地址',
|
139
|
+
},
|
140
|
+
],
|
141
|
+
|
142
|
+
editLink: {
|
143
|
+
pattern: 'https://gitlab地址/-/ide/project/此处换成仓库的具体路径/edit/master/-/:path',
|
144
|
+
text: '在 gitlab 上编辑此页'
|
145
|
+
}
|
146
|
+
},
|
147
|
+
head: [
|
148
|
+
['link', { rel: 'icon', href: 'https://api.iconify.design/noto:rocket.svg?color=%2312b2e7' }]
|
149
|
+
],
|
150
|
+
markdown: {
|
151
|
+
container: {
|
152
|
+
tipLabel: '提示',
|
153
|
+
warningLabel: '注意',
|
154
|
+
dangerLabel: '警告',
|
155
|
+
detailsLabel: '详细信息',
|
156
|
+
infoLabel: '信息',
|
157
|
+
}
|
158
|
+
},
|
159
|
+
})
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/*
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2023-11-08 16:14:48
|
4
|
+
* @LastEditTime: 2023-11-08 16:39:59
|
5
|
+
* @Description:
|
6
|
+
*/
|
7
|
+
// https://vitepress.dev/guide/custom-theme
|
8
|
+
import { h } from 'vue'
|
9
|
+
import type { Theme } from 'vitepress'
|
10
|
+
import DefaultTheme from 'vitepress/theme'
|
11
|
+
import './style.css'
|
12
|
+
import HomePage from '../components/HomePage.vue'
|
13
|
+
import 'uno.css'
|
14
|
+
|
15
|
+
export default {
|
16
|
+
extends: DefaultTheme,
|
17
|
+
Layout: () => {
|
18
|
+
return h(DefaultTheme.Layout, null, {
|
19
|
+
// https://vitepress.dev/guide/extending-default-theme#layout-slots
|
20
|
+
'home-features-after': () => h(HomePage),
|
21
|
+
})
|
22
|
+
},
|
23
|
+
enhanceApp({ app, router, siteData }) {
|
24
|
+
// ...
|
25
|
+
}
|
26
|
+
} satisfies Theme
|
@@ -0,0 +1,139 @@
|
|
1
|
+
/**
|
2
|
+
* Customize default theme styling by overriding CSS variables:
|
3
|
+
* https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
|
4
|
+
*/
|
5
|
+
|
6
|
+
/**
|
7
|
+
* Colors
|
8
|
+
*
|
9
|
+
* Each colors have exact same color scale system with 3 levels of solid
|
10
|
+
* colors with different brightness, and 1 soft color.
|
11
|
+
*
|
12
|
+
* - `XXX-1`: The most solid color used mainly for colored text. It must
|
13
|
+
* satisfy the contrast ratio against when used on top of `XXX-soft`.
|
14
|
+
*
|
15
|
+
* - `XXX-2`: The color used mainly for hover state of the button.
|
16
|
+
*
|
17
|
+
* - `XXX-3`: The color for solid background, such as bg color of the button.
|
18
|
+
* It must satisfy the contrast ratio with pure white (#ffffff) text on
|
19
|
+
* top of it.
|
20
|
+
*
|
21
|
+
* - `XXX-soft`: The color used for subtle background such as custom container
|
22
|
+
* or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
|
23
|
+
* on top of it.
|
24
|
+
*
|
25
|
+
* The soft color must be semi transparent alpha channel. This is crucial
|
26
|
+
* because it allows adding multiple "soft" colors on top of each other
|
27
|
+
* to create a accent, such as when having inline code block inside
|
28
|
+
* custom containers.
|
29
|
+
*
|
30
|
+
* - `default`: The color used purely for subtle indication without any
|
31
|
+
* special meanings attched to it such as bg color for menu hover state.
|
32
|
+
*
|
33
|
+
* - `brand`: Used for primary brand colors, such as link text, button with
|
34
|
+
* brand theme, etc.
|
35
|
+
*
|
36
|
+
* - `tip`: Used to indicate useful information. The default theme uses the
|
37
|
+
* brand color for this by default.
|
38
|
+
*
|
39
|
+
* - `warning`: Used to indicate warning to the users. Used in custom
|
40
|
+
* container, badges, etc.
|
41
|
+
*
|
42
|
+
* - `danger`: Used to show error, or dangerous message to the users. Used
|
43
|
+
* in custom container, badges, etc.
|
44
|
+
* -------------------------------------------------------------------------- */
|
45
|
+
|
46
|
+
:root {
|
47
|
+
--vp-c-default-1: var(--vp-c-gray-1);
|
48
|
+
--vp-c-default-2: var(--vp-c-gray-2);
|
49
|
+
--vp-c-default-3: var(--vp-c-gray-3);
|
50
|
+
--vp-c-default-soft: var(--vp-c-gray-soft);
|
51
|
+
|
52
|
+
--vp-c-brand-1: var(--vp-c-indigo-1);
|
53
|
+
--vp-c-brand-2: var(--vp-c-indigo-2);
|
54
|
+
--vp-c-brand-3: var(--vp-c-indigo-3);
|
55
|
+
--vp-c-brand-soft: var(--vp-c-indigo-soft);
|
56
|
+
|
57
|
+
--vp-c-tip-1: var(--vp-c-brand-1);
|
58
|
+
--vp-c-tip-2: var(--vp-c-brand-2);
|
59
|
+
--vp-c-tip-3: var(--vp-c-brand-3);
|
60
|
+
--vp-c-tip-soft: var(--vp-c-brand-soft);
|
61
|
+
|
62
|
+
--vp-c-warning-1: var(--vp-c-yellow-1);
|
63
|
+
--vp-c-warning-2: var(--vp-c-yellow-2);
|
64
|
+
--vp-c-warning-3: var(--vp-c-yellow-3);
|
65
|
+
--vp-c-warning-soft: var(--vp-c-yellow-soft);
|
66
|
+
|
67
|
+
--vp-c-danger-1: var(--vp-c-red-1);
|
68
|
+
--vp-c-danger-2: var(--vp-c-red-2);
|
69
|
+
--vp-c-danger-3: var(--vp-c-red-3);
|
70
|
+
--vp-c-danger-soft: var(--vp-c-red-soft);
|
71
|
+
}
|
72
|
+
|
73
|
+
/**
|
74
|
+
* Component: Button
|
75
|
+
* -------------------------------------------------------------------------- */
|
76
|
+
|
77
|
+
:root {
|
78
|
+
--vp-button-brand-border: transparent;
|
79
|
+
--vp-button-brand-text: var(--vp-c-white);
|
80
|
+
--vp-button-brand-bg: var(--vp-c-brand-3);
|
81
|
+
--vp-button-brand-hover-border: transparent;
|
82
|
+
--vp-button-brand-hover-text: var(--vp-c-white);
|
83
|
+
--vp-button-brand-hover-bg: var(--vp-c-brand-2);
|
84
|
+
--vp-button-brand-active-border: transparent;
|
85
|
+
--vp-button-brand-active-text: var(--vp-c-white);
|
86
|
+
--vp-button-brand-active-bg: var(--vp-c-brand-1);
|
87
|
+
}
|
88
|
+
|
89
|
+
/**
|
90
|
+
* Component: Home
|
91
|
+
* -------------------------------------------------------------------------- */
|
92
|
+
|
93
|
+
:root {
|
94
|
+
--vp-home-hero-name-color: transparent;
|
95
|
+
--vp-home-hero-name-background: -webkit-linear-gradient(
|
96
|
+
120deg,
|
97
|
+
#bd34fe 30%,
|
98
|
+
#41d1ff
|
99
|
+
);
|
100
|
+
|
101
|
+
--vp-home-hero-image-background-image: linear-gradient(
|
102
|
+
-45deg,
|
103
|
+
#bd34fe 50%,
|
104
|
+
#47caff 50%
|
105
|
+
);
|
106
|
+
--vp-home-hero-image-filter: blur(44px);
|
107
|
+
}
|
108
|
+
|
109
|
+
@media (min-width: 640px) {
|
110
|
+
:root {
|
111
|
+
--vp-home-hero-image-filter: blur(56px);
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
@media (min-width: 960px) {
|
116
|
+
:root {
|
117
|
+
--vp-home-hero-image-filter: blur(68px);
|
118
|
+
}
|
119
|
+
}
|
120
|
+
|
121
|
+
/**
|
122
|
+
* Component: Custom Block
|
123
|
+
* -------------------------------------------------------------------------- */
|
124
|
+
|
125
|
+
:root {
|
126
|
+
--vp-custom-block-tip-border: transparent;
|
127
|
+
--vp-custom-block-tip-text: var(--vp-c-text-1);
|
128
|
+
--vp-custom-block-tip-bg: var(--vp-c-brand-soft);
|
129
|
+
--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
|
130
|
+
}
|
131
|
+
|
132
|
+
/**
|
133
|
+
* Component: Algolia
|
134
|
+
* -------------------------------------------------------------------------- */
|
135
|
+
|
136
|
+
.DocSearch {
|
137
|
+
--docsearch-primary-color: var(--vp-c-brand-1) !important;
|
138
|
+
}
|
139
|
+
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# 拉取基础镜像
|
2
|
+
FROM intranet-harbor.laiyouxi.com/base/alpine/node:20.9.0 as builder
|
3
|
+
# 添加部分元数据,暂无意义
|
4
|
+
LABEL vendor="Lyx-yunwei" \
|
5
|
+
com.example.release-date="2022-11-10" \
|
6
|
+
com.example.version.is-production="false"
|
7
|
+
|
8
|
+
# 维护者
|
9
|
+
MAINTAINER BluesYoung "bluesyoung_web@163.com"
|
10
|
+
# 配置环境变量
|
11
|
+
ENV WORK_DIR=/app
|
12
|
+
|
13
|
+
# 工作目录
|
14
|
+
WORKDIR /app
|
15
|
+
|
16
|
+
# 上次修改时间,依赖 git 环境
|
17
|
+
# 换源,安装 git
|
18
|
+
RUN sed -i 's@/deb.debian.org@/mirrors.aliyun.com@g' /etc/apt/sources.list \
|
19
|
+
&& apt-get update && apt-get install -y git
|
20
|
+
|
21
|
+
# 没有压缩包,首选 COPY,如果需要自动解包或下载,则使用 ADD
|
22
|
+
|
23
|
+
# 对比依赖是否变更(todo: 按需修改)
|
24
|
+
COPY package.json yarn.lock /app/
|
25
|
+
|
26
|
+
# 设置npm仓库 + 下载依赖,上面的文件如果没有变化则跳过下载,直接使用缓存
|
27
|
+
RUN npm config set registry https://registry.npmmirror.com && \
|
28
|
+
yarn config set registry https://registry.npmmirror.com && \
|
29
|
+
yarn
|
30
|
+
|
31
|
+
# 加入代码
|
32
|
+
COPY . /app
|
33
|
+
# 打包
|
34
|
+
RUN yarn build
|
35
|
+
|
36
|
+
# 打包完成,构建最终的极简镜像
|
37
|
+
FROM intranet-harbor.laiyouxi.com/base/alpine/node:20.9.0
|
38
|
+
|
39
|
+
WORKDIR /app
|
40
|
+
# 复制源码
|
41
|
+
COPY boot.mjs /app/
|
42
|
+
# 复制编译后的代码
|
43
|
+
COPY --from=builder /app/.output /app/.output
|
44
|
+
|
45
|
+
ENTRYPOINT ["node", "boot.mjs"]
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# template-vitepress
|
2
|
+
|
3
|
+
[![](https://img.shields.io/badge/Author-BluesYoung--web-blue)](https://gitee.com/BluesYoung-web)
|
4
|
+
|
5
|
+
## 本地运行
|
6
|
+
|
7
|
+
::: code-group
|
8
|
+
```bash [yarn]
|
9
|
+
# 装依赖
|
10
|
+
yarn
|
11
|
+
# 运行
|
12
|
+
yarn dev
|
13
|
+
```
|
14
|
+
```bash [pnpm]
|
15
|
+
# 装依赖
|
16
|
+
pnpm i
|
17
|
+
# 运行
|
18
|
+
pnpm dev
|
19
|
+
```
|
20
|
+
```bash [bun]
|
21
|
+
# 装依赖
|
22
|
+
bun i
|
23
|
+
# 运行
|
24
|
+
bun dev
|
25
|
+
```
|
26
|
+
```bash [npm]
|
27
|
+
# 装依赖
|
28
|
+
npm i
|
29
|
+
# 运行
|
30
|
+
npm run dev
|
31
|
+
```
|
32
|
+
:::
|
33
|
+
|
34
|
+
## 到手之后需要自行调整的内容
|
35
|
+
|
36
|
+
### `.vitepress/config.mts`
|
37
|
+
|
38
|
+
<TodoItem>seo 相关<code ml-1>title, description</code></TodoItem>
|
39
|
+
|
40
|
+
:::danger
|
41
|
+
<TodoItem>部署相关<code ml-1>base</code></TodoItem>
|
42
|
+
|
43
|
+
- 根路径部署就删掉,否则为部署的路径,**必须以 `/` 结尾**
|
44
|
+
|
45
|
+
- [官方文档](https://vitepress.dev/reference/site-config#base)
|
46
|
+
:::
|
47
|
+
|
48
|
+
<TodoItem><a href="https://vitepress.dev/reference/default-theme-nav" target="_blank">顶部导航</a> <code ml-1>themeConfig -> nav</code></TodoItem>
|
49
|
+
|
50
|
+
<TodoItem><a href="https://vitepress.dev/reference/default-theme-sidebar" target="_blank">侧边栏导航</a> <code ml-1>themeConfig -> sidebar</code></TodoItem>
|
51
|
+
|
52
|
+
<TodoItem>替换仓库地址 <code ml-1>themeConfig -> socialLinks -> link</code></TodoItem>
|
53
|
+
|
54
|
+
<TodoItem>替换仓库地址 <code ml-1>themeConfig -> editLink -> pattern</code></TodoItem>
|
55
|
+
|
56
|
+
### `index.md`
|
57
|
+
|
58
|
+
<TodoItem>标题及描述 <code ml-1>hero -> [name, text, tagline]</code></TodoItem>
|
59
|
+
|
60
|
+
<TodoItem>快捷导航 <code ml-1>hero -> actions</code></TodoItem>
|
61
|
+
|
62
|
+
<TodoItem>特性介绍 <code ml-1>features</code></TodoItem>
|
63
|
+
|
64
|
+
### 首页贡献者
|
65
|
+
|
66
|
+
`.vitepress/components/HomePage.vue -> teamMembers` 按需修改
|
67
|
+
|
68
|
+
:::info
|
69
|
+
如果不需要展示,将 `.vitepress/theme/index.ts -> 'home-features-after'` 这一行注释即可
|
70
|
+
:::
|
71
|
+
|
72
|
+
## 文档书写
|
73
|
+
|
74
|
+
### 简介
|
75
|
+
|
76
|
+
标题:`使用 # 符号表示标题,数量代表标题级别。例如:# 一级标题、## 二级标题`
|
77
|
+
|
78
|
+
段落和换行:`段落之间使用空行分隔,要插入换行符,可以在行末添加两个空格`
|
79
|
+
|
80
|
+
强调:`使用 * 或 _ 包围文本来斜体显示,使用两个 * 或 _ 包围文本来加粗显示。例如:*斜体文本*、**加粗文本**`
|
81
|
+
|
82
|
+
列表:`使用 *、+ 或 - 开头创建无序列表,使用数字后跟句点创建有序列表。嵌套列表时缩进四个空格或一个制表符`
|
83
|
+
|
84
|
+
链接:`使用 [显示文本](链接地址) 的格式创建链接。例如:[OpenAI](https://openai.com)`
|
85
|
+
|
86
|
+
图片:`使用 ![替代文本](图片链接地址) 的格式插入图片。例如:![Logo](https://example.com/logo.png)`
|
87
|
+
|
88
|
+
引用块:`使用 > 表示引用块。可以嵌套使用多个 > 表示多层引用`
|
89
|
+
|
90
|
+
代码块:`使用三个反引号 ```` 或四个空格缩进来创建代码块。可以指定语言以进行语法高亮`
|
91
|
+
|
92
|
+
水平线:`使用三个或更多连续的 -、* 或 _ 创建水平线分隔线`
|
93
|
+
|
94
|
+
转义字符:`在特殊字符前添加反斜杠 \ 可以转义字符的原始含义`
|
95
|
+
|
96
|
+
### 外部教程
|
97
|
+
|
98
|
+
[vitepress 扩展语法](https://vitepress.dev/guide/markdown)
|
99
|
+
|
100
|
+
[基础语法](https://www.markdownguide.org/basic-syntax/)
|
101
|
+
|
102
|
+
[中文技术文档的写作规范——阮一峰](https://github.com/ruanyf/document-style-guide)
|
@@ -0,0 +1 @@
|
|
1
|
+
20.9.0
|
@@ -0,0 +1,17 @@
|
|
1
|
+
/*
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2022-09-16 11:48:05
|
4
|
+
* @LastEditTime: 2023-11-09 11:59:07
|
5
|
+
* @Description:
|
6
|
+
*/
|
7
|
+
(async () => {
|
8
|
+
const env = process.env.DEPLOY_ENV || 'dev';
|
9
|
+
const listenPort = process.env.LISTEN_PORT || 3333;
|
10
|
+
console.log('当前环境:', env);
|
11
|
+
console.log('服务监听端口:', listenPort);
|
12
|
+
|
13
|
+
process.env.NITRO_PORT = listenPort;
|
14
|
+
|
15
|
+
await import('./.output/server/index.mjs');
|
16
|
+
})();
|
17
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
---
|
2
|
+
# https://vitepress.dev/reference/default-theme-home-page
|
3
|
+
layout: home
|
4
|
+
|
5
|
+
hero:
|
6
|
+
name: 前端知识库
|
7
|
+
text: 知识共建,共创未来
|
8
|
+
tagline: 多种实用工具,满足不同需求
|
9
|
+
image:
|
10
|
+
src: https://api.iconify.design/noto:rocket.svg?color=%2312b2e7&width=320
|
11
|
+
actions:
|
12
|
+
- theme: brand
|
13
|
+
text: 快速开始
|
14
|
+
link: /newer
|
15
|
+
- theme: alt
|
16
|
+
text: 前端规范
|
17
|
+
link: /standards
|
18
|
+
- theme: alt
|
19
|
+
text: 常见问题及解决方案
|
20
|
+
link: /problems
|
21
|
+
|
22
|
+
features:
|
23
|
+
- title: '@bluesyoung/ui-vue3-element-plus'
|
24
|
+
icon: <span class="i-ep-element-plus text-[#409eff]"></span>
|
25
|
+
details: 基于 element-plus 二次封装的常用组件库
|
26
|
+
link: /libs/public/ui-vue3-element-plus
|
27
|
+
|
28
|
+
- title: '@bluesyoung/http'
|
29
|
+
icon: <span class="i-logos-lighttpd"></span>
|
30
|
+
details: 基于 axios 封装的 http 请求库, 拥有完善的 TS 类型提示, 支持 web/微信小程序
|
31
|
+
link: /libs/public/http
|
32
|
+
|
33
|
+
- title: '@bluesyoung/utils'
|
34
|
+
icon: <span class="i-tabler-tools text-[#409eff]"></span>
|
35
|
+
details: 常用工具函数
|
36
|
+
link: https://gitee.com/-/ide/project/BluesYoung-web/young/edit/master/-/packages/utils/dist/index.d.ts
|
37
|
+
|
38
|
+
- title: '@bluesyoung/logger'
|
39
|
+
icon: <span class="i-vscode-icons-file-type-log"></span>
|
40
|
+
details: 基于 consola 封装的日志工具, 默认格式化为容器部署要求的格式, 并保留了扩充能力
|
41
|
+
link: /libs/public/logger
|
42
|
+
|
43
|
+
- title: '@bluesyoung/rpc'
|
44
|
+
icon: <span class="i-simple-icons-trpc text-[#409eff]"></span>
|
45
|
+
details: 页面与其嵌套的 iframe 或由其打开的子页面之间进行通信
|
46
|
+
link: /libs/public/rpc
|
47
|
+
|
48
|
+
- title: '@bluesyoung/ui-vue3'
|
49
|
+
icon: <span class="i-logos-vue"></span>
|
50
|
+
details: 基于 vue3 + @vueuse/core 封装的组件,无额外的依赖
|
51
|
+
link: /libs/public/ui-vue3
|
52
|
+
---
|
53
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
/*
|
2
|
+
* @Author: zhangyang
|
3
|
+
* @Date: 2022-12-28 11:59:56
|
4
|
+
* @LastEditTime: 2023-11-14 09:18:38
|
5
|
+
* @Description:
|
6
|
+
*/
|
7
|
+
export default defineNitroConfig({
|
8
|
+
/**
|
9
|
+
* 托管前端静态资源
|
10
|
+
*/
|
11
|
+
serveStatic: 'node',
|
12
|
+
publicAssets: [
|
13
|
+
{
|
14
|
+
dir: '.vitepress/dist',
|
15
|
+
},
|
16
|
+
],
|
17
|
+
preset: 'bun'
|
18
|
+
});
|
19
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"scripts": {
|
3
|
+
"dev": "vitepress dev",
|
4
|
+
"docs:dev": "vitepress dev",
|
5
|
+
"docs:build": "vitepress build",
|
6
|
+
"docs:preview": "vitepress preview",
|
7
|
+
"build": "vitepress build && nitropack build",
|
8
|
+
"postinstall": "nitropack prepare"
|
9
|
+
},
|
10
|
+
"devDependencies": {
|
11
|
+
"@iconify/json": "^2.2.139",
|
12
|
+
"@types/md5": "^2.3.5",
|
13
|
+
"@types/node": "20",
|
14
|
+
"nitropack": "^2.7.2",
|
15
|
+
"pathe": "^1.1.1",
|
16
|
+
"unocss": "^0.57.2",
|
17
|
+
"unplugin-vue-components": "^0.25.2",
|
18
|
+
"vitepress": "^1.0.0-rc.25",
|
19
|
+
"vue": "^3.3.8"
|
20
|
+
},
|
21
|
+
"dependencies": {
|
22
|
+
"c12": "^1.5.1",
|
23
|
+
"md5": "^2.3.0"
|
24
|
+
},
|
25
|
+
"version": "1.0.0"
|
26
|
+
}
|