diff --git a/Dockerfile b/Dockerfile
index d6fa03d..c2a3344 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,23 +1,22 @@
+#
+# - 功能: 408CSFamily镜像构建
+# - 用法: docker build -f Dockerfile --build-arg APP_VERSION=0.0.1 -t 408CSFamily-0.0.1 .
+#
+
## 注意:vite构建需要支持node14以上,安装node16较为稳妥
FROM registry.cn-hangzhou.aliyuncs.com/142vip/node:16.12.0-alpine AS build_base
-LABEL version="Beta1.0" description="408CSFamily合集"
-LABEL author="【Github&公众号】:Rong姐姐好可爱" email="fairy@2925.com"
-
RUN mkdir -p /apps
-
WORKDIR /apps
COPY . .
-## 安装依赖
RUN npm i pnpm@6 -g && pnpm i -D && pnpm build
-
-
FROM registry.cn-hangzhou.aliyuncs.com/142vip/nginx:1.23.0-alpine
+
+ARG APP_VERSION
+LABEL version=$APP_VERSION description="408CSFamily合集"
+LABEL author="【Github&公众号】:Rong姐姐好可爱" email="fairy_408@2925.com"
+
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 注意:--from参数
COPY --from=build_base /apps/docs/.vuepress/dist/ /usr/share/nginx/html/
-
COPY nginx.conf /etc/nginx/
-
-#EXPOSE 7000
-#CMD ["nginx", "-g", "daemon off;"]
\ No newline at end of file
diff --git a/Faster.Dockerfile b/Faster.Dockerfile
new file mode 100644
index 0000000..4431f9e
--- /dev/null
+++ b/Faster.Dockerfile
@@ -0,0 +1,14 @@
+#
+# - 功能: 快速构建408CSFamily镜像
+# - 用法: docker build -f Faster.Dockerfile --build-arg APP_VERSION=0.0.1 -t 408CSFamily-0.0.1 .
+#
+
+FROM registry.cn-hangzhou.aliyuncs.com/142vip/nginx:1.23.0-alpine
+
+ARG APP_VERSION
+LABEL version=$APP_VERSION description="408CSFamily合集"
+LABEL author="【Github&公众号】:Rong姐姐好可爱" email="fairy_408@2925.com"
+
+# 将dist文件中的内容复制到 /usr/share/nginx/html/
+COPY ./docs/.vuepress/dist/ /usr/share/nginx/html/
+COPY nginx.conf /etc/nginx/
diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js
index 7b15a21..3da6c6f 100644
--- a/docs/.vuepress/config.js
+++ b/docs/.vuepress/config.js
@@ -1,4 +1,5 @@
-import { hopeTheme } from "vuepress-theme-hope";
+import themeConfig from "./config/theme.config";
+import pluginsConfig from "./config/plugins.config";
export default {
title: "计算机应试全家桶",
@@ -7,11 +8,11 @@ export default {
port: 4200,
head: [
[
- "link", { rel: "icon", href: "/408_favicon.ico" }
+ "link", {rel: "icon", href: "/408_favicon.ico"}
],
[
- // 百度统计
- 'script',{},`
+ // 百度统计
+ 'script', {}, `
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
@@ -21,127 +22,6 @@ export default {
})();`
]
],
- // 参考主题:https://theme-hope.vuejs.press/zh/config/intro.html#%E9%85%8D%E7%BD%AE%E6%A6%82%E5%BF%B5
- theme: hopeTheme({
- hostname:'https://408.142vip.cn',
- author:{
- name:'ChuFan',
- email:'fairy_408@2925.com',
- url:'https://www.142vip.cn'
- },
- favicon:"/408_favicon.ico",
- logo: "/assets/408_logo.png",
- navbar: require("./config/navbar/index"), // 注意这个关键字有所改变
- sidebar: require("./config/sidebar/index"),
-
- // 主题布局选项
- repo: "https://github.com/mmdapl/408CSFamily",
- logoDark:"/assets/408_logo.png",
-
-
- // 博客配置
- blog_:{
- name:'测试',
- avatar:'',
- description:'',
- intro:'',
- roundAvatar:true,
- timeline:"时间轴的顶部文字",
- // articleInfo:"",
- // medias:{
- // "BiliBili": "哔哩哔哩"
- // }
- },
- lastUpdated: true,
- lastUpdatedText: "最近更新",
- contributorsText: '贡献者',
- notFound: ['宝贝不要急,我努力更新就会慢慢有的哟...想要什么,也欢迎微信后台私信!'],// 自定义404页面提示语,数组
- backToHome: '返回首页', // 返回首页
-
- sidebarDepth: 1,
- editLink: false,
- // 默认为 "Edit this page"
- // editLinkText: '帮助我们改善此页面!',
- search: true,
- searchMaxSuggestions: 10,
- plugins: {
- // 开启博客功能
- // blog:true,
- // 代码块
- mdEnhance: {
- codetabs: true,
- },
- },
- }),
- // plugins: [
- // // 全文搜索 参考配置:https://github.com/vuepress/vuepress-next/blob/main/docs/.vuepress/config.ts
- // ['@vuepress/docsearch',
- // {
- // apiKey: '',
- // indexName: '',
- // locales: {
- // '/': {
- // placeholder: '搜索一下',
- // translations: {
- // button: {
- // buttonText: '搜索一下',
- // buttonAriaLabel: '搜索一下',
- // },
- // modal: {
- // searchBox: {
- // resetButtonTitle: '清除查询条件',
- // resetButtonAriaLabel: '清除查询条件',
- // cancelButtonText: '取消',
- // cancelButtonAriaLabel: '取消'
- // },
- // startScreen: {
- // recentSearchesTitle: '搜索历史',
- // noRecentSearchesText: '没有搜索历史',
- // saveRecentSearchButtonTitle: '保存至搜索历史',
- // removeRecentSearchButtonTitle: '从搜索历史中移除',
- // favoriteSearchesTitle: '收藏',
- // removeFavoriteSearchButtonTitle: '从收藏中移除',
- // },
- // errorScreen: {
- // titleText: '无法获取结果',
- // helpText: '你可能需要检查你的网络连接',
- // },
- // footer: {
- // selectText: '查询',
- // selectKeyAriaLabel: 'Enter key',
- // navigateText: '切换',
- // navigateUpKeyAriaLabel: 'Arrow up',
- // navigateDownKeyAriaLabel: 'Arrow down',
- // closeText: '关闭',
- // closeKeyAriaLabel: 'Escape key',
- // searchByText: '技术支持',
- // },
- // noResultsScreen: {
- // noResultsText: '无法找到相关结果',
- // suggestedQueryText: '你可以尝试查询',
- // openIssueText: '你认为该查询应该有结果?',
- // openIssueLinkText: '点击反馈',
- // },
- // },
- // }
- // }
- // }
- // }],
- // // other plugins
- // // [
- // // // 本地全文搜索
- // // '@vuepress/plugin-search',
- // // {
- // // locales: {
- // // '/': {
- // // placeholder: '搜索',
- // // },
- // // '/zh/': {
- // // placeholder: '搜索',
- // // },
- // // },
- // // maxSuggestions: 10 // 显示最大搜索
- // // },
- // // ],
- // ]
-};
\ No newline at end of file
+ theme: themeConfig,
+ plugins: pluginsConfig
+}
\ No newline at end of file
diff --git a/docs/.vuepress/config/constant.js b/docs/.vuepress/config/constant.js
new file mode 100644
index 0000000..97eb00f
--- /dev/null
+++ b/docs/.vuepress/config/constant.js
@@ -0,0 +1,5 @@
+
+export const FOOTER_HTML_INFO=`
+百度统计 Copyrights © 2015-${new Date().getFullYear()} 妍荣姑娘网络工作室
+| 储凡
+`
\ No newline at end of file
diff --git a/docs/.vuepress/config/navbar.js b/docs/.vuepress/config/navbar.js
deleted file mode 100644
index fe6f90c..0000000
--- a/docs/.vuepress/config/navbar.js
+++ /dev/null
@@ -1,73 +0,0 @@
-module.exports = [
- {
- text: '首页',
- link: '/'
- },
- {
- text: "恶补算法",
- // link: "/DS/coding/algorithm"
- children: [{
- text: '课本习题',
- link: '/'
- }, {
- text: '刷题笔记',
- link: '/todo'
- }, {
- text: '在线刷题',
- children: [{
- text: '杭电OJ', link: 'http://acm.hdu.edu.cn/'
- },
- {
- text: '牛客网', link: 'https://www.nowcoder.com/'
- }, {
- text: 'LeetCode', link: 'https://leetcode-cn.com/'
- }]
- }]
- },
- {
- text: "数据结构",
- link: "/DS/basic_introduction"
- },
- {
- text: "操作系统",
- link: "/OS/"
- },
- {
- text: "计算机组成原理",
- link: "/CCP/"
- },
-
- {
- text: "计算机网络",
- link: "/CN/"
- }, {
- text: '其他资料',
- children: [{
- text: '考研相关',
- children: [{
- text: '111',
- link: '/333'
- }]
- }, {
- text: "思维导图",
- children: [{
- text: '数据结构',
- link: '/NoteMap/DS_Map'
- }, {
- text: '操作系统',
- link: '/NoteMap/OS_Map'
- }, {
- text: '计算机组成原理',
- link: '/NoteMap/CCP_Map'
- }, {
- text: '计算机网络',
- link: '/NoteMap/CN_Map'
- }]
- }]
- },
- {
- text: "大事记",
- link: "/Big_Event_History/"
- },
-
-];
diff --git a/docs/.vuepress/config/navbar/index.js b/docs/.vuepress/config/navbar/index.js
index f1a406c..bab1cc1 100644
--- a/docs/.vuepress/config/navbar/index.js
+++ b/docs/.vuepress/config/navbar/index.js
@@ -1,4 +1,4 @@
-module.exports = [
+export default [
{
text: '主页',
link: '/'
@@ -6,7 +6,7 @@ module.exports = [
{
text: "算法恶补",
children: [{
- text: '习题练手',
+ text: '习题狂刷',
link: '/algorithm/topic_practice'
}, {
text: '刷题笔记',
diff --git a/docs/.vuepress/config/plugins.config.js b/docs/.vuepress/config/plugins.config.js
new file mode 100644
index 0000000..af6caf7
--- /dev/null
+++ b/docs/.vuepress/config/plugins.config.js
@@ -0,0 +1,19 @@
+import {searchProPlugin} from "vuepress-plugin-search-pro";
+
+export default [
+ searchProPlugin({
+ // 索引全部内容
+ indexContent: true,
+ // 为分类和标签添加索引
+ customFields: [
+ {
+ getter: (page) => page.frontmatter.category,
+ formatter: "分类:$content",
+ },
+ {
+ getter: (page) => page.frontmatter.tag,
+ formatter: "标签:$content",
+ },
+ ],
+ }),
+]
\ No newline at end of file
diff --git a/docs/.vuepress/config/sidebar.js b/docs/.vuepress/config/sidebar.js
deleted file mode 100644
index 6709a72..0000000
--- a/docs/.vuepress/config/sidebar.js
+++ /dev/null
@@ -1,18 +0,0 @@
-module.exports = {
- // "/category/": require("../../category/sidebar_contents"),
- // "/DataStructure/": require("../../category/sidebar_contents"),
- "/ds": require("../../ds/sidebar_contents"),
- // "/OS": [
- // {
- // text: 'VuePress Reference',
- // collapsible: true,
- // children: ['/reference/cli.md', '/reference/config.md'],
- // },
- // {
- // text: 'Bundlers Reference',
- // collapsible: true,
- // children: ['/reference/bundler/vite.md', '/reference/bundler/webpack.md'],
- // },
- // ],
-
-};
diff --git a/docs/.vuepress/config/sidebar/algorithm_content.js b/docs/.vuepress/config/sidebar/algorithm.sidebar.js
similarity index 96%
rename from docs/.vuepress/config/sidebar/algorithm_content.js
rename to docs/.vuepress/config/sidebar/algorithm.sidebar.js
index 7603b48..f84603d 100644
--- a/docs/.vuepress/config/sidebar/algorithm_content.js
+++ b/docs/.vuepress/config/sidebar/algorithm.sidebar.js
@@ -1,4 +1,4 @@
-module.exports = [
+export default [
{
text: '基础入门',
link: "/ds/basic_introduction",
diff --git a/docs/.vuepress/config/sidebar/cpp.sidebar.js b/docs/.vuepress/config/sidebar/cpp.sidebar.js
new file mode 100644
index 0000000..1069a7f
--- /dev/null
+++ b/docs/.vuepress/config/sidebar/cpp.sidebar.js
@@ -0,0 +1,2 @@
+export default[
+]
\ No newline at end of file
diff --git a/docs/.vuepress/config/sidebar/ds_content.js b/docs/.vuepress/config/sidebar/ds.sidebar.js
similarity index 69%
rename from docs/.vuepress/config/sidebar/ds_content.js
rename to docs/.vuepress/config/sidebar/ds.sidebar.js
index c408290..df1b4f5 100644
--- a/docs/.vuepress/config/sidebar/ds_content.js
+++ b/docs/.vuepress/config/sidebar/ds.sidebar.js
@@ -1,52 +1,53 @@
-module.exports = [
- {
+export default [
+ {
text: '基础入门',
- link: "/ds/basic_introduction",
+ link: "/ds/basic-introduction",
collapsible: false,
children: [{
text: '1.1 基本概念',
- link: '/ds/basic_introduction/1.basic_concepts.md'
+ link: '/ds/basic-introduction/1.basic_concepts.md'
}, {
text: '1.2 数据结构三要素',
- link: '/ds/basic_introduction/2.three_elements_of_data_structure.md'
+ link: '/ds/basic-introduction/2.three_elements_of_data_structure.md'
}, {
text: '1.3 算法和算法评价',
- link: '/ds/basic_introduction/3.algorithm_and_algorithm_evaluation.md'
+ link: '/ds/basic-introduction/3.algorithm_and_algorithm_evaluation.md'
}],
},
{
text: '线性表',
collapsible: true,
- link: "/ds/linear_table",
+ link: "/ds/linear-table",
children: [{
text: '2.1 基础概念和操作',
- link: '/ds/linear_table/1.basic_concept_and_operation.md'
+ link: '/ds/linear-table/1.basic_concept_and_operation.md'
}, {
text: '2.2 线性表的顺序表示',
- link: '/ds/linear_table/2.sequential_representation.md'
+ link: '/ds/linear-table/2.sequential_representation.md'
}, {
text: '2.3 基础概念和操作',
- link: '/ds/linear_table/3.chain_representation.md'
+ link: '/ds/linear-table/3.chain_representation.md'
}, {
text: '2.4 基础概念和操作',
- link: '/ds/linear_table/4.double_linked_list.md'
+ link: '/ds/linear-table/4.double_linked_list.md'
}, {
text: '2.5 基础概念和操作',
- link: '/ds/linear_table/5.circular_list.md'
+ link: '/ds/linear-table/5.circular_list.md'
}, {
text: '2.6 基础概念和操作',
- link: '/ds/linear_table/6.static_linked_list.md'
+ link: '/ds/linear-table/6.static_linked_list.md'
}, {
text: '2.7 基础概念和操作',
- link: '/ds/linear_table/7.comparison_of_sequential_list_and_linked_list.md'
+ link: '/ds/linear-table/7.comparison_of_sequential_list_and_linked_list.md'
}, {
text: '2.8 存储结构的选取',
- link: '/ds/linear_table/8.selection_of_storage_structure.md'
+ link: '/ds/linear-table/8.selection_of_storage_structure.md'
}, {
text: '2.9 零碎知识补充',
- link: '/ds/linear_table/9.piecemeal_knowledge_supplement.md'
+ link: '/ds/linear-table/9.piecemeal_knowledge_supplement.md'
}],
- }, {
+ },
+ {
text: "栈和队列",
link: "/ds/栈和队列/",
collapsible: true,
@@ -76,4 +77,4 @@ module.exports = [
link: '/ds/栈和队列/8.特殊矩阵的压缩存储.md'
}]
}
-]
\ No newline at end of file
+ ]
\ No newline at end of file
diff --git a/docs/.vuepress/config/sidebar/index.js b/docs/.vuepress/config/sidebar/index.js
index 5d77af1..ef16360 100644
--- a/docs/.vuepress/config/sidebar/index.js
+++ b/docs/.vuepress/config/sidebar/index.js
@@ -1,8 +1,7 @@
-module.exports = {
- // "/category/": require("../../category/sidebar_contents"),
- // "/DataStructure/": require("../../category/sidebar_contents"),
- "/ds": require("./ds_content.js"),
- "/ds/coding": require("./algorithm_content")
-
+import dsSidebar from "./ds.sidebar";
+import algorithmSidebar from "./algorithm.sidebar";
+export default{
+ "/ds": dsSidebar,
+ "/ds/coding": algorithmSidebar
};
diff --git a/docs/.vuepress/config/sidebar/os.sidebar.js b/docs/.vuepress/config/sidebar/os.sidebar.js
new file mode 100644
index 0000000..15d0f68
--- /dev/null
+++ b/docs/.vuepress/config/sidebar/os.sidebar.js
@@ -0,0 +1,2 @@
+
+export default[]
\ No newline at end of file
diff --git a/docs/.vuepress/config/theme.config.js b/docs/.vuepress/config/theme.config.js
new file mode 100644
index 0000000..0802318
--- /dev/null
+++ b/docs/.vuepress/config/theme.config.js
@@ -0,0 +1,80 @@
+import {hopeTheme} from "vuepress-theme-hope";
+import navbar from "./navbar";
+import sidebar from "./sidebar";
+import {FOOTER_HTML_INFO} from "./constant";
+
+/**
+ * hope主题配置
+ * 参考:https://theme-hope.vuejs.press/zh/config/
+ */
+export default hopeTheme({
+ darkmode:"toggle",
+ // 支持全屏
+ // fullscreen: true,
+ // 纯净模式
+ // pure: true,
+ hostname:'https://408.142vip.cn',
+ author:{
+ name:'ChuFan',
+ email:'fairy_408@2925.com',
+ url:'https://www.142vip.cn'
+ },
+ favicon:"/408_favicon.ico",
+ logo: "/assets/408_logo.png",
+ navbar: navbar,
+ // 导航栏布局
+ navbarLayout:{
+ start: ["Brand"],
+ center: ["Links"],
+ end: ["Language","Search","Repo", "Outlook", ]
+ },
+ sidebar: sidebar,
+ // sidebar: "heading",
+
+ // 主题布局选项
+ repo: "https://github.com/mmdapl/408CSFamily",
+ logoDark:"/assets/408_logo.png",
+
+ // 博客配置
+ blog:{
+ name:'测试',
+ avatar:'',
+ description:'',
+ intro:'',
+ roundAvatar:true,
+ timeline:"时间轴的顶部文字",
+ articleInfo:"",
+ medias:{
+ "BiliBili": "https://space.bilibili.com/350937042?spm_id_from=333.1007.0.0"
+ }
+ },
+
+ // 设置页脚
+ displayFooter:true,
+ footer:FOOTER_HTML_INFO,
+ copyright:false,
+
+ // 主题色选择器
+ themeColor: {
+ blue: "#2196f3",
+ red: "#f26d6d",
+ green: "#3eaf7c",
+ orange: "#fb9b5f",
+ },
+
+ plugins: {
+ copyright:false,
+ // 开启博客功能
+ blog:true,
+ // 代码块
+ mdEnhance: {
+ codetabs: true,
+ },
+ copyCode: {
+ showInMobile:true
+ },
+ feed: {
+ json: true,
+ },
+ },
+})
\ No newline at end of file
diff --git a/docs/.vuepress/styles/config.scss b/docs/.vuepress/styles/config.scss
new file mode 100644
index 0000000..92e63de
--- /dev/null
+++ b/docs/.vuepress/styles/config.scss
@@ -0,0 +1,7 @@
+// 参考:https://theme-hope.vuejs.press/zh/guide/interface/code-theme.htm
+
+// 浅色主题
+$code-light-them:"vs";
+
+// 深色主题
+$code-dark-theme:"atom-dark";
\ No newline at end of file
diff --git a/docs/.vuepress/styles/palette.less b/docs/.vuepress/styles/palette.less
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/.vuepress/styles/palette.scss b/docs/.vuepress/styles/palette.scss
new file mode 100644
index 0000000..085b4aa
--- /dev/null
+++ b/docs/.vuepress/styles/palette.scss
@@ -0,0 +1,2 @@
+// 主题色
+$theme-color: #2196f3;
\ No newline at end of file
diff --git a/docs/.vuepress/theme/index.js b/docs/.vuepress/theme/index.js
deleted file mode 100644
index 3047f90..0000000
--- a/docs/.vuepress/theme/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * @Description:
- * @Version: Beta1.0
- * @Author: 【B站&公众号】Rong姐姐好可爱
- * @Date: 2022-04-24 08:37:12
- * @LastEditors: 【B站&公众号】Rong姐姐好可爱
- * @LastEditTime: 2022-04-24 08:37:13
- */
-const { path } = require('@vuepress/utils')
-
-module.exports = {
- name: 'vuepress-theme-local',
- extends: '@vuepress/theme-default',
- layouts: {
- Layout: path.resolve(__dirname, 'layouts/Layout.vue'),
- },
-}
\ No newline at end of file
diff --git a/docs/.vuepress/theme/layouts/Layout.vue b/docs/.vuepress/theme/layouts/Layout.vue
deleted file mode 100644
index c12d6cb..0000000
--- a/docs/.vuepress/theme/layouts/Layout.vue
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/README.md b/docs/README.md
index c0b3f04..5a8fe2f 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,17 +1,13 @@
---
home: true
-heroImage: https://static01.imgkr.com/temp/f0108d7c178b4ce196e43ebec14fbf23.png
-heroImageDark: http://vuejs.org/images/logo.png
heroText: 计算机应试全家桶
-externalLinkIcon: false
-tagline: 磨刀不误砍柴工、读完硕士再打工,笔记内容持续更新...
-
+tagline: 磨刀不误砍柴工、读完硕士再打工...
actions:
- text: 快速开始→
link: /guide/
type: primary
- text: 工作机会
- link: /gangg
+ link: /work/
type: secondary
features:
- title: 基础概览
@@ -70,12 +66,10 @@ footerWrap:
- title: 哔哩哔哩
link: https://space.bilibili.com/350937042
details: 不定期更新
-# 百度统计
-footer: Copyrights © 2015-2021 妍荣姑娘网络工作室 | Chu·Fan
+
---
-
---
### 本地浏览【推荐】
@@ -90,7 +84,7 @@ footer: Copyrights © 2015-2021 妍荣姑娘网络工作室 |
-
-
-
-
-
-
-
-
-
-
-
-
-
+[//]: # (category: )
+[//]: # ( - DataStructure)
-
+[//]: # (tag: )
+[//]: # ( - )
-## 写最前面
+[//]: # (---)
-> 这里是日常工作、学习、生活中总结的各类文章笔记,主要涉及开发技术总结记录,偶尔也会感慨万千,水一些无关技术的文章;若发现博客外链不能访问则可能博客设置修改过,请直接访问博客;所有内容会选择性的发表于**微信公众号、个人博客、掘金、CSDN ,实际内容以本仓库排版、校对为主。** 也会不定时同步到 **码云** 。
-> **以下内容没有链接的代表尚未完成,大家善用快捷键Ctrl+F**
->
-> 创建时间:2020年2月14日
+[//]: # ()
+[//]: # ()
+[//]: # (# )
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (
)
-## 关于作者
+[//]: # (
)
+[//]: # ()
--
[个人项目整理](http://blog.142vip.cn/s/projects)
--
[自我介绍]()
+[//]: # (
)
+[//]: # (
)
-## 思维导图
+[//]: # (
)
+[//]: # (
)
-> 内容同步与文档,可以结合思维导图对文档进行有效学习.相关目录的xmind文件为思维导图原文件
+[//]: # (
)
+[//]: # (
)
-## 日常推荐
+[//]: # (
)
+[//]: # (
)
-- [云服务器推荐](docs/recommend/云服务器推荐.md)
-- [学习网站、使用工具](docs/recommend/学习网站、效率工具.md)
-- [值得细读的技术文章推荐](docs/recommend/值得细读的技术文章推荐.md)
+[//]: # (
)
+[//]: # (
)
-# 文章笔记
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (
码云版 )
-**注:无高亮有效访问链接的待完成/同步**
+[//]: # ( )
-## 前端
+[//]: # (
)
+[//]: # ()
+[//]: # ()
+[//]: # (## 写最前面)
-> 前端技术百花齐放、层出不穷,个人认为要注重广度,学会看官方文档熟练操作即可;
+[//]: # ()
+[//]: # (> 这里是日常工作、学习、生活中总结的各类文章笔记,主要涉及开发技术总结记录,偶尔也会感慨万千,水一些无关技术的文章;若发现博客外链不能访问则可能博客设置修改过,请直接访问博客;所有内容会选择性的发表于**微信公众号、个人博客、掘金、CSDN ,实际内容以本仓库排版、校对为主。** 也会不定时同步到 **码云** 。)
+[//]: # (> **以下内容没有链接的代表尚未完成,大家善用快捷键Ctrl+F**)
-#### CSS
+[//]: # (>)
+[//]: # (> 创建时间:2020年2月14日)
-> 依赖W3CSchool文档和日常整理,主要是对CSS常用操作和基础属性进行整理总结。不会过多深入
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (## 关于作者)
+[//]: # ()
+[//]: # ()
+[//]: # (-
[个人项目整理](http://blog.142vip.cn/s/projects))
-- [CSS开发规范](docs/css/CSS开发规范.md)
+[//]: # (-
[自我介绍]())
-- 样式属性
+[//]: # ()
+[//]: # ()
+[//]: # (## 思维导图)
-- 页面布局
+[//]: # ()
+[//]: # ()
+[//]: # (> 内容同步与文档,可以结合思维导图对文档进行有效学习.相关目录的xmind文件为思维导图原文件)
-- 移动端适配
+[//]: # ()
+[//]: # ()
+[//]: # (## 日常推荐)
-
+[//]: # ()
+[//]: # ()
+[//]: # (- [云服务器推荐](docs/recommend/云服务器推荐.md))
+[//]: # (- [学习网站、使用工具](docs/recommend/学习网站、效率工具.md))
-##### [基础教程](docs/css/基础教程)
+[//]: # (- [值得细读的技术文章推荐](docs/recommend/值得细读的技术文章推荐.md))
+[//]: # ()
+[//]: # ()
+[//]: # (# 文章笔记)
-##
+[//]: # ()
+[//]: # ()
+[//]: # (**注:无高亮有效访问链接的待完成/同步**)
+[//]: # ()
+[//]: # ()
+[//]: # (## 前端)
-#### JavaScript
+[//]: # ()
+[//]: # ()
+[//]: # (> 前端技术百花齐放、层出不穷,个人认为要注重广度,学会看官方文档熟练操作即可;)
+[//]: # ()
+[//]: # ()
+[//]: # (#### CSS)
-> **本级目录下的JavaScript内容没有发表到[博客](http://blog.142vip.cn)上,建议对照[脑图](docs/javascript/README.md)在[JavaScript主目录](javascript)下学习**,依赖官方文档及自身对JavaScript语言的初步了解,进行的关于JavaScript知识整理,主要目的是复习基础概念、了解新特性、熟练ES6/7操作;整体相对来说由易到难,方便后续查阅学习~
+[//]: # ()
+[//]: # ()
+[//]: # (> 依赖W3CSchool文档和日常整理,主要是对CSS常用操作和基础属性进行整理总结。不会过多深入)
+[//]: # ()
+[//]: # ()
+[//]: # (- [CSS开发规范](docs/css/CSS开发规范.md))
-##### 快速入门
+[//]: # ()
+[//]: # (- 样式属性)
+[//]: # ()
+[//]: # (- 页面布局)
-- [简单介绍](docs/javascript/快速入门/javascript简单介绍.md)
-- [快速了解](docs/javascript/快速入门/javascript快速入门.md)
-- [JavasScript开发规范](docs/javascript/JavaScript开发规范.md)
+[//]: # ()
+[//]: # (- 移动端适配)
+[//]: # ()
+[//]: # ( )
+[//]: # ()
+[//]: # ()
+[//]: # (##### [基础教程](docs/css/基础教程))
-##### 基础教程
+[//]: # ()
+[//]: # ()
+[//]: # (##)
+[//]: # ()
+[//]: # ()
+[//]: # (#### JavaScript)
-- [语法与数据结构](docs/javascript/基础教程/javascript语法与数据结构.md)
-- [循环与迭代](docs/javascript/基础教程/javascript循环与迭代.md)
-- [流程控制与错误处理](docs/javascript/基础教程/javascript流程控制与错误处理.md)
-- [表达式和运算符](docs/javascript/基础教程/javascript表达式和运算符.md)
-- [函数和方法](docs/javascript/基础教程/javascript函数.md)
-- [数字和日期](docs/javascript/基础教程/javascript数字和日期.md)
-- [对象的使用](docs/javascript/基础教程/javascript对象的使用.md)
-- [正则表达式](docs/javascript/基础教程/javascript正则表达式.md)
-- [promise对象的使用](docs/javascript/基础教程/promise对象的使用.md)
-- [modules模块](docs/javascript/基础教程/modules模块.md)
+[//]: # ()
+[//]: # ()
+[//]: # (> **本级目录下的JavaScript内容没有发表到[博客](http://blog.142vip.cn)上,建议对照[脑图](docs/javascript/README.md)在[JavaScript主目录](javascript)下学习**,依赖官方文档及自身对JavaScript语言的初步了解,进行的关于JavaScript知识整理,主要目的是复习基础概念、了解新特性、熟练ES6/7操作;整体相对来说由易到难,方便后续查阅学习~)
+[//]: # ()
+[//]: # ()
+[//]: # (##### 快速入门)
-##### 中级教程
+[//]: # ()
+[//]: # ()
+[//]: # (- [简单介绍](docs/javascript/快速入门/javascript简单介绍.md))
+[//]: # (- [快速了解](docs/javascript/快速入门/javascript快速入门.md))
-- [Promise对象](docs/javascript/中级教程/promise对象.md)
-- [async函数](docs/javascript/中级教程/async函数.md)
-- [class类](docs/javascript/中级教程/class类.md)
+[//]: # (- [JavasScript开发规范](docs/javascript/JavaScript开发规范.md))
+[//]: # ()
+[//]: # ()
+[//]: # (##### 基础教程)
-##### 高级教程
+[//]: # ()
+[//]: # ()
+[//]: # (- [语法与数据结构](docs/javascript/基础教程/javascript语法与数据结构.md))
+[//]: # (- [循环与迭代](docs/javascript/基础教程/javascript循环与迭代.md))
-- [不一样的ajax](docs/javascript/高级教程/不一样的ajax.md)
-- [什么是事件循环](docs/javascript/高级教程/什么是事件循环.md)
+[//]: # (- [流程控制与错误处理](docs/javascript/基础教程/javascript流程控制与错误处理.md))
-- [JSON.stringify()的三个参数]()
+[//]: # (- [表达式和运算符](docs/javascript/基础教程/javascript表达式和运算符.md))
+[//]: # (- [函数和方法](docs/javascript/基础教程/javascript函数.md))
-##### 最后稻草
+[//]: # (- [数字和日期](docs/javascript/基础教程/javascript数字和日期.md))
+[//]: # (- [对象的使用](docs/javascript/基础教程/javascript对象的使用.md))
-- [ES6、ES7、ES8、ES9、ES10的新特性](docs/javascript/最后稻草/ES6、ES7、ES8、ES9、ES10的新特性.md)
-- [ES2020新特性](docs/javascript/最后稻草/ES2020新特性.md)
-- [JavaScript 工具函数大全](docs/javascript/最后稻草/JavaScript工具函数大全.md)
-- [常用函数方法整理](docs/javascript/最后稻草/常用函数方法整理.md)
+[//]: # (- [正则表达式](docs/javascript/基础教程/javascript正则表达式.md))
+[//]: # (- [promise对象的使用](docs/javascript/基础教程/promise对象的使用.md))
-#### JQuery
+[//]: # (- [modules模块](docs/javascript/基础教程/modules模块.md))
+[//]: # ()
+[//]: # ()
+[//]: # (##### 中级教程)
-- [安装使用](docs/jquery/安装使用.md)
-- [基本属性](docs/jquery/基本属性.md)
+[//]: # ()
+[//]: # ()
+[//]: # (- [Promise对象](docs/javascript/中级教程/promise对象.md))
+[//]: # (- [async函数](docs/javascript/中级教程/async函数.md))
-- Css样式
+[//]: # (- [class类](docs/javascript/中级教程/class类.md))
+[//]: # ()
+[//]: # ()
+[//]: # (##### 高级教程)
-- 选择器
+[//]: # ()
+[//]: # ()
+[//]: # (- [不一样的ajax](docs/javascript/高级教程/不一样的ajax.md))
+[//]: # (- [什么是事件循环](docs/javascript/高级教程/什么是事件循环.md))
-- 文档处理
+[//]: # ()
+[//]: # (- [JSON.stringify()的三个参数]())
+[//]: # ()
+[//]: # ()
+[//]: # (##### 最后稻草)
-- 筛选
+[//]: # ()
+[//]: # ()
+[//]: # (- [ES6、ES7、ES8、ES9、ES10的新特性](docs/javascript/最后稻草/ES6、ES7、ES8、ES9、ES10的新特性.md))
+[//]: # (- [ES2020新特性](docs/javascript/最后稻草/ES2020新特性.md))
-- 事件
+[//]: # (- [JavaScript 工具函数大全](docs/javascript/最后稻草/JavaScript工具函数大全.md))
+[//]: # (- [常用函数方法整理](docs/javascript/最后稻草/常用函数方法整理.md))
-- 效果
+[//]: # ()
+[//]: # ()
+[//]: # (#### JQuery)
+[//]: # ()
+[//]: # ()
+[//]: # (- [安装使用](docs/jquery/安装使用.md))
-- 事件对象
+[//]: # (- [基本属性](docs/jquery/基本属性.md))
+[//]: # ()
+[//]: # ()
+[//]: # (- Css样式)
-- 延迟对象
+[//]: # ()
+[//]: # ()
+[//]: # (- 选择器)
+[//]: # ()
+[//]: # ()
+[//]: # (- 文档处理)
-- 回调函数
+[//]: # ()
+[//]: # ()
+[//]: # (- 筛选)
+[//]: # ()
+[//]: # ()
+[//]: # (- 事件)
-- 其他整理
+[//]: # ()
+[//]: # ()
+[//]: # (- 效果)
+[//]: # ()
+[//]: # ()
+[//]: # (- 事件对象)
-#### Vuejs
+[//]: # ()
+[//]: # ()
+[//]: # (- 延迟对象)
+[//]: # ()
+[//]: # ()
+[//]: # (- 回调函数)
-> 介绍基础、常用的vue功能,不会很深入的涉及到vue源码及原理
+[//]: # ()
+[//]: # ()
+[//]: # (- 其他整理)
+[//]: # ()
+[//]: # ()
+[//]: # (#### Vuejs)
-#### React
+[//]: # ()
+[//]: # ()
+[//]: # (> 介绍基础、常用的vue功能,不会很深入的涉及到vue源码及原理)
+[//]: # ()
+[//]: # ()
+[//]: # (#### React)
-#### Nuxtjs
+[//]: # ()
+[//]: # ()
+[//]: # (#### Nuxtjs)
+[//]: # ()
+[//]: # ()
+[//]: # (> Nuxtjs是在vue框架上进行封装的,主要是用来解决单体页面的服务端渲染问题,提供网站进行SEO优化的可能)
-> Nuxtjs是在vue框架上进行封装的,主要是用来解决单体页面的服务端渲染问题,提供网站进行SEO优化的可能
+[//]: # ()
+[//]: # ()
+[//]: # ([前端读写cookie]())
+[//]: # ()
+[//]: # ()
+[//]: # (#### UI框架)
-[前端读写cookie]()
+[//]: # ()
+[//]: # ()
+[//]: # (> 市面上前端框架层出不穷,不同的技术栈依赖的UI框架也不尽相同,这里将会依据笔者使用的UI框架,以线上项目展示的方式,介绍用过的框架;)
+[//]: # ()
+[//]: # ()
+[//]: # (- Bootstrap )
-#### UI框架
+[//]: # (- LayerUI)
+[//]: # (- Ant-design-vue)
-> 市面上前端框架层出不穷,不同的技术栈依赖的UI框架也不尽相同,这里将会依据笔者使用的UI框架,以线上项目展示的方式,介绍用过的框架;
+[//]: # (- iView-UI)
+[//]: # (- VantUI)
-- Bootstrap
-- LayerUI
-- Ant-design-vue
-- iView-UI
-- VantUI
-- Element-UI
+[//]: # (- Element-UI)
+[//]: # ()
+[//]: # ()
+[//]: # (## 后端【Node】)
-## 后端【Node】
+[//]: # ()
+[//]: # ()
+[//]: # (> 相比前端,作为偏后端的开发者, 后端技术的学习则需要稳扎稳打、不断积累整理,在会用、能用、熟练的基础上,更应该学习其中的原理;所以若你为后端开发者,不论Java、Nodejs、Go等技术栈,对待下面将提及的微服务架构、容器技术、服务治理、高可用等都需要努力学习,抓住重点;)
+[//]: # (>)
-> 相比前端,作为偏后端的开发者, 后端技术的学习则需要稳扎稳打、不断积累整理,在会用、能用、熟练的基础上,更应该学习其中的原理;所以若你为后端开发者,不论Java、Nodejs、Go等技术栈,对待下面将提及的微服务架构、容器技术、服务治理、高可用等都需要努力学习,抓住重点;
->
-> 在面试面前,能力是不会说谎的,打铁还需自身硬,加油~
+[//]: # (> 在面试面前,能力是不会说谎的,打铁还需自身硬,加油~)
+[//]: # ()
+[//]: # ()
+[//]: # (#### Express框架)
-#### Express框架
+[//]: # ()
+[//]: # ()
+[//]: # (- [框架概念简介](docs/express/框架介绍.md))
+[//]: # (- [brew和tree的安装](docs/express/brew和tree的安装.md))
-- [框架概念简介](docs/express/框架介绍.md)
-- [brew和tree的安装](docs/express/brew和tree的安装.md)
-- 搭建express基础项目
-- 安装
-- 路由
-- 静态文件
-- 中间件
-- 统一错误处理
-- [express()函数](docs/express/express()函数.md)
-- [application对象详解](docs/express/application对象详解.md)
-- [request对象](docs/express/request对象.md)
-- [respon对象]()
-- [router对象]()
-- 数据库集成
-- MVC分层
-- [pm2进程管理](docs/express/pm2进程管理.md)
-- 分环境部署上线
+[//]: # (- 搭建express基础项目)
+[//]: # (- 安装)
-#### Koa框架
+[//]: # (- 路由)
+[//]: # (- 静态文件)
-- koa介绍
-- 手把手搭建第一个koa项目
-- 应用(Application)
-- 中间件(Middleware)
-- 上下文(Context)
-- 请求(Request)
-- 响应(Response)
+[//]: # (- 中间件)
+[//]: # (- 统一错误处理)
-#### Eggjs框架
+[//]: # (- [express()函数](docs/express/express()函数.md))
+[//]: # (- [application对象详解](docs/express/application对象详解.md))
-##### 基础篇
+[//]: # (- [request对象](docs/express/request对象.md))
+[//]: # (- [respon对象]())
-- [第一部分:Git概述](docs/eggjs/git-README.md)
+[//]: # (- [router对象]())
+[//]: # (- 数据库集成)
-* [1.1 下载和安装](docs/eggjs/git-download.md)
- * [1.2 基本配置](docs/eggjs/git-config.md)
- * [1.3 常用命令](docs/eggjs/git-dns.md)
- * [1.4 GitHub简单使用](docs/eggjs/git-github.md)
- * [1.5 GitBook简单使用](https://mp.weixin.qq.com/s/Wn_IZ6K4eqh1PtomRtqdqg)
- * [1.5.1 Typora简介](docs/eggjs/git-typora.md)
- * [1.5.2 MarkDown语法](docs/eggjs/git-markdown.md)
- * [1.6 码云和GitHub的选择](docs/eggjs/git-choice.md)
+[//]: # (- MVC分层)
+[//]: # (- [pm2进程管理](docs/express/pm2进程管理.md))
-- [第二部分:数据库概述](docs/eggjs/mysql-README.md)
+[//]: # (- 分环境部署上线)
+[//]: # ()
+[//]: # ()
+[//]: # (#### Koa框架)
- - [2.1 下载和安装](docs/eggjs/mysql-download.md)
- - [2.2 连接数据库](docs/eggjs/git-connect.md)
- - [2.3 CURD操作](docs/eggjs/mysql-curd.md)
- - [2.4 Redis缓存](docs/eggjs/mysql-redis.md)
- - [2.4.1 redis安装](docs/eggjs/mysql-redis-install.md)
- - [2.4.2 redis常用指令](docs/eggjs/mysql-redis-dns.md)
- - [2.5 可视化管理](docs/eggjs/mysql-redis-view.md)
+[//]: # ()
+[//]: # ()
+[//]: # (- koa介绍)
+[//]: # (- 手把手搭建第一个koa项目)
-##### 入门篇
+[//]: # (- 应用(Application))
+[//]: # (- 中间件(Middleware))
-- [第一部分:Egg框架快速入门](docs/eggjs/egg-README.md)
+[//]: # (- 上下文(Context))
+[//]: # (- 请求(Request))
-- [1.1 基础功能](docs/eggjs/egg-base.md)
- - [1.1.1 接口参数获取](docs/eggjs/egg-request-params.md)
- - [1.1.2 Egg内置对象 ](docs/eggjs/egg-object.md)
- - [1.1.3 Config配置](docs/eggjs/egg-config.md)
- - [1.1.4 Egg生命周期](docs/eggjs/egg-life.md)
- - [1.1.5 中间件理解](docs/eggjs/egg-middleware.md)
- - [1.1.6 Router路由分发](docs/eggjs/egg-router.md)
- - [1.1.7 Controller控制器](docs/eggjs/egg-controller.md)
- - [1.1.8 Service服务](docs/eggjs/egg-service.md)
- - [1.1.9 常用插件](docs/eggjs/egg-plugin.md)
-- [1.2 核心功能](docs/eggjs/egg-core.md)
- - [1.2.1 日志输出](docs/eggjs/egg-logger.md)
- - [1.2.2 定时任务](docs/eggjs/egg-schedule.md)
- - [1.2.2 HttpClient网络请求](docs/eggjs/egg-httpclient.md)
- - [1.2.3 Cookie的基本使用](docs/eggjs/egg-cookies.md)
- - [1.2.4 Session的基本使用](docs/eggjs/egg-session.md)
- - [1.2.5 统一异常-错误处理](docs/eggjs/egg-try-catch.md)
- - [1.2.6 CSRF防范和XSS攻击](docs/eggjs/egg-csrf-xss.md)
- - [1.2.7 RESTful API接口风格](docs/eggjs/egg-restful.md)
+[//]: # (- 响应(Response))
+[//]: # ()
+[//]: # ()
+[//]: # (#### Eggjs框架)
-- [第二部分:插件开发](docs/eggjs/plugin-README.md)
+[//]: # ()
+[//]: # ()
+[//]: # (##### 基础篇)
+[//]: # ()
+[//]: # ()
+[//]: # (- [第一部分:Git概述](docs/eggjs/git-README.md))
- - [2.1 egg-validate参数校验](docs/eggjs/plugin-egg-validate.md)
- - [2.2 egg-view-ejs页面渲染](docs/eggjs/plugin-egg-view.ejs.md)
- - [2.3 egg-redis缓存](docs/eggjs/plugin-egg-redis.md)
- - [2.4 egg-mysql](docs/eggjs/plugin-egg-mysql.md)
- - [2.5 egg-sequelize](docs/eggjs/plugin-egg-sequelize.md)
- - [2.6 egg-socket.io即时通讯](docs/eggjs/plugin-egg-socket.io.md)
+[//]: # ()
+[//]: # ()
+[//]: # (* [1.1 下载和安装](docs/eggjs/git-download.md))
+[//]: # ( * [1.2 基本配置](docs/eggjs/git-config.md))
-##### 代码实战篇
+[//]: # ( * [1.3 常用命令](docs/eggjs/git-dns.md))
+[//]: # ( * [1.4 GitHub简单使用](docs/eggjs/git-github.md))
-- [第一部分:常用代码](docs/eggjs/project-README-CODE.md)
+[//]: # ( * [1.5 GitBook简单使用](https://mp.weixin.qq.com/s/Wn_IZ6K4eqh1PtomRtqdqg))
+[//]: # ( * [1.5.1 Typora简介](docs/eggjs/git-typora.md))
- - [1.1 图片前端在线剪辑](docs/eggjs/project-images-cropper.md)
- - [1.2 文件上传后台处理](docs/eggjs/project-upload.md)
- - [1.3 MD5加密-解密算法](docs/eggjs/project-md5.md)
- - [1.4 Egg Jwt加密和校验](docs/eggjs/project-token.md)
-- [第二部分:项目简介](docs/eggjs/project-README-INTRODUCE.md)
+[//]: # ( * [1.5.2 MarkDown语法](docs/eggjs/git-markdown.md))
+[//]: # ( * [1.6 码云和GitHub的选择](docs/eggjs/git-choice.md))
- - [2.1 基于OAuth2的统一认证中心系统](docs/eggjs/project-ssoCenterSystem.md)
- - [2.2 常用前后端分页比较与实现](docs/eggjs/project-pagenation.md)
- - [2.3基于Spring Boot实现的个人博客](docs/eggjs/project-spring-boot-blog.md)
- - [2.4 基于Yapi搭建的接口管理系统](docs/eggjs/project-webapi.md)
- - [2.5 GitBook开源笔记总结站点搭建](docs/eggjs/project-gitbook.md)
- - [2.6 个人网站及接口服务搭建搭建](docs/eggjs/project-142vip.cn.md)
-- [第三部分:手把手搭建基础Egg开发框架](docs/eggjs/egg-egg-example.md)
+[//]: # ()
+[//]: # ()
+[//]: # (- [第二部分:数据库概述](docs/eggjs/mysql-README.md))
+[//]: # ()
+[//]: # ()
+[//]: # ( - [2.1 下载和安装](docs/eggjs/mysql-download.md))
-#### Nestjs框架
+[//]: # ( - [2.2 连接数据库](docs/eggjs/git-connect.md))
+[//]: # ( - [2.3 CURD操作](docs/eggjs/mysql-curd.md))
-> Nestjs框架推崇typescript语法,并且友好的兼容express框架,因此在学习Nestjs框架之前,请务必先熟悉express框架相关操作并进行typescript入门;在一定程度上typescript和面向对象语言Java、Net等很相似,如果你之前有JavaScript和Java的基础,那么应该恭喜你,你的学习速度将会倍速提高
+[//]: # ( - [2.4 Redis缓存](docs/eggjs/mysql-redis.md))
+[//]: # ( - [2.4.1 redis安装](docs/eggjs/mysql-redis-install.md))
-- [核心基础概念](nestjs/nestjs核心基础概念.md)
-- [项目创建初始化入门](nestjs/nestjs项目创建初始化入门.md)
-- [整合swagger快速生成api文档](nestjs/nestjs整合swagger快速生成api文档.md)
-- [接口路由请求传参](nestjs/nestjs接口路由请求传参.md)
+[//]: # ( - [2.4.2 redis常用指令](docs/eggjs/mysql-redis-dns.md))
+[//]: # ( - [2.5 可视化管理](docs/eggjs/mysql-redis-view.md))
-## 算法
+[//]: # ()
+[//]: # ()
+[//]: # (##### 入门篇)
+[//]: # ()
+[//]: # ()
+[//]: # (- [第一部分:Egg框架快速入门](docs/eggjs/egg-README.md))
-- 算法分析
+[//]: # ()
+[//]: # ()
+[//]: # (- [1.1 基础功能](docs/eggjs/egg-base.md))
+[//]: # ( - [1.1.1 接口参数获取](docs/eggjs/egg-request-params.md))
-#### 查找
+[//]: # ( - [1.1.2 Egg内置对象 ](docs/eggjs/egg-object.md))
+[//]: # ( - [1.1.3 Config配置](docs/eggjs/egg-config.md))
-- 顺序查找
-- 折半查找
-- 分块查找
-- B树和B+树
-- 散列(Hash)表
-- 字符串模式匹配(KPM)
+[//]: # ( - [1.1.4 Egg生命周期](docs/eggjs/egg-life.md))
+[//]: # ( - [1.1.5 中间件理解](docs/eggjs/egg-middleware.md))
-#### 排序
+[//]: # ( - [1.1.6 Router路由分发](docs/eggjs/egg-router.md))
+[//]: # ( - [1.1.7 Controller控制器](docs/eggjs/egg-controller.md))
-- 插入排序
-- 交换排序
-- 选择排序
-- 归并排序
-- 基数排序
-- 内部排序比较
-- 外部排序比较
+[//]: # ( - [1.1.8 Service服务](docs/eggjs/egg-service.md))
+[//]: # ( - [1.1.9 常用插件](docs/eggjs/egg-plugin.md))
-#### LeetCode刷题
+[//]: # (- [1.2 核心功能](docs/eggjs/egg-core.md))
+[//]: # ( - [1.2.1 日志输出](docs/eggjs/egg-logger.md))
-## 数据库
+[//]: # ( - [1.2.2 定时任务](docs/eggjs/egg-schedule.md))
+[//]: # ( - [1.2.2 HttpClient网络请求](docs/eggjs/egg-httpclient.md))
-> 主讲数据库基础知识,结合node的简单使用,相关的部署方案参照下方的文档
+[//]: # ( - [1.2.3 Cookie的基本使用](docs/eggjs/egg-cookies.md))
+[//]: # ( - [1.2.4 Session的基本使用](docs/eggjs/egg-session.md))
-#### MySQL
+[//]: # ( - [1.2.5 统一异常-错误处理](docs/eggjs/egg-try-catch.md))
+[//]: # ( - [1.2.6 CSRF防范和XSS攻击](docs/eggjs/egg-csrf-xss.md))
-- [【服务器版】MySQL的安装部署](https://mp.weixin.qq.com/s/U1OUZYHEChFDx03FvgbMHA)
-- [MySQL优化之Explain参数说明](docs/mysql/MySQL优化之Explain参数说明.md)
-- 索引
-- sql优化
-- [基于GTID主从复制的原理和基础配置](docs/mysql/基于GTID主从复制的原理和基础配置.md)
-- [MySQL日志类型把我难哭了,你学废了吗?](docs/mysql/mysql日志比较.md)
+[//]: # ( - [1.2.7 RESTful API接口风格](docs/eggjs/egg-restful.md))
+[//]: # ()
+[//]: # ()
+[//]: # (- [第二部分:插件开发](docs/eggjs/plugin-README.md))
-#### Redis
+[//]: # ()
+[//]: # ()
+[//]: # ( - [2.1 egg-validate参数校验](docs/eggjs/plugin-egg-validate.md))
+[//]: # ( - [2.2 egg-view-ejs页面渲染](docs/eggjs/plugin-egg-view.ejs.md))
-> 将围绕redis基础概念、使用场景、使用方式、简单部署等方面 展开介绍,[主目录](redis)下有自己觉得还不错PDF文档~
+[//]: # ( - [2.3 egg-redis缓存](docs/eggjs/plugin-egg-redis.md))
+[//]: # ( - [2.4 egg-mysql](docs/eggjs/plugin-egg-mysql.md))
-- [key命名规范与建议](docs/redis/key命名规范与建议.md)
-- [redis开发使用规范](docs/redis/redis开发使用规范.md)
-- [redis基础介绍](docs/redis/redis基础介绍.md)
-- [redis的简单安装和部署](https://mp.weixin.qq.com/s/Xe-ZDf2kgUWfYSkuULAdlw)
-- [官方默认配置模板](code/docs/redis/redis-default.conf)
-- 数据类型
-- [redis简单主从集群部署-docker方式](docs/docs/redis/redis集群部署.md)
-- [memCache与Redis比较](docs/redis/memCache与Redis.md)
+[//]: # ( - [2.5 egg-sequelize](docs/eggjs/plugin-egg-sequelize.md))
+[//]: # ( - [2.6 egg-socket.io即时通讯](docs/eggjs/plugin-egg-socket.io.md))
-#### Mongo
+[//]: # ()
+[//]: # ()
+[//]: # (##### 代码实战篇)
+[//]: # ()
+[//]: # ()
+[//]: # (- [第一部分:常用代码](docs/eggjs/project-README-CODE.md))
-- 基本介绍
-- 安装部署
-- 简单使用
-- Node下的CURD操作
+[//]: # ()
+[//]: # ()
+[//]: # ( - [1.1 图片前端在线剪辑](docs/eggjs/project-images-cropper.md))
+[//]: # ( - [1.2 文件上传后台处理](docs/eggjs/project-upload.md))
-## 服务部署
+[//]: # ( - [1.3 MD5加密-解密算法](docs/eggjs/project-md5.md))
+[//]: # ( - [1.4 Egg Jwt加密和校验](docs/eggjs/project-token.md))
-#### nginx
+[//]: # (- [第二部分:项目简介](docs/eggjs/project-README-INTRODUCE.md))
+[//]: # ()
+[//]: # ()
+[//]: # ( - [2.1 基于OAuth2的统一认证中心系统](docs/eggjs/project-ssoCenterSystem.md))
-- [nginx安装,普通安装 Or Docker搞定?](docs/nginx/nginx基础部署.md)
-- [手把手nginx基础入门]()
-- [反向代理、负载均衡真有那么难吗?]()
-- [Nginx SSL证书,从此踏上Https之路](docs/nginx/nginx服务器ssl证书配置.md)
+[//]: # ( - [2.2 常用前后端分页比较与实现](docs/eggjs/project-pagenation.md))
+[//]: # ( - [2.3基于Spring Boot实现的个人博客](docs/eggjs/project-spring-boot-blog.md))
-#### docker
+[//]: # ( - [2.4 基于Yapi搭建的接口管理系统](docs/eggjs/project-webapi.md))
+[//]: # ( - [2.5 GitBook开源笔记总结站点搭建](docs/eggjs/project-gitbook.md))
-- 我与docker的第一次硬碰硬
-- docker操作入门真有那么难吗?
-- 这些基础操作指令,你会吗?
-- 那些年,我常用的docker指令操作汇总
+[//]: # ( - [2.6 个人网站及接口服务搭建搭建](docs/eggjs/project-142vip.cn.md))
+[//]: # (- [第三部分:手把手搭建基础Egg开发框架](docs/eggjs/egg-egg-example.md))
-#### docker-compose
+[//]: # ()
+[//]: # ()
+[//]: # (#### Nestjs框架)
+[//]: # ()
+[//]: # ()
+[//]: # (> Nestjs框架推崇typescript语法,并且友好的兼容express框架,因此在学习Nestjs框架之前,请务必先熟悉express框架相关操作并进行typescript入门;在一定程度上typescript和面向对象语言Java、Net等很相似,如果你之前有JavaScript和Java的基础,那么应该恭喜你,你的学习速度将会倍速提高)
-- 听说你装了N次都没搞定?
-- 集群启动失败,yaml规范不清楚?
-- [我了解的docker-compose都在这里了](https://mp.weixin.qq.com/s/nC4nF51xn61TZlenuUxDog)
+[//]: # ()
+[//]: # ()
+[//]: # (- [核心基础概念](nestjs/nestjs核心基础概念.md))
+[//]: # (- [项目创建初始化入门](nestjs/nestjs项目创建初始化入门.md))
-#### linux下shell编程
+[//]: # (- [整合swagger快速生成api文档](nestjs/nestjs整合swagger快速生成api文档.md))
-- [shell基础整理](https://mp.weixin.qq.com/s/gctrWdB1JEK59_a9tJQSkg)
-- [操作mysql数据库](shell/shell连接mysql.md)
-- shell操作docker
-- 环境变量env
+[//]: # (- [接口路由请求传参](nestjs/nestjs接口路由请求传参.md))
+[//]: # ()
+[//]: # ()
+[//]: # (## 算法)
-## 服务网关
+[//]: # ()
+[//]: # ()
+[//]: # (- 算法分析)
+[//]: # ()
+[//]: # ()
+[//]: # (#### 查找)
-#### kong
+[//]: # ()
+[//]: # ()
+[//]: # (- 顺序查找)
+[//]: # (- 折半查找)
-- [kong的的基本介绍](/api-gateway/kong/kong的基本介绍.md)
-- [docker下kong的部署](/api-gateway/kong/基于docker部署kong网关服务.md)
-- docker-compose搭建kong集群
-- 可视化管理界面介绍
+[//]: # (- 分块查找)
+[//]: # (- B树和B+树)
-#### konga
+[//]: # (- 散列(Hash)表)
+[//]: # (- 字符串模式匹配(KPM))
-- 基本介绍与docker部署
-- 简单使用
-- 路由管理
+[//]: # ()
+[//]: # ()
+[//]: # (#### 排序)
+[//]: # ()
+[//]: # ()
+[//]: # (- 插入排序)
-#### kong-dashboard
+[//]: # (- 交换排序)
+[//]: # (- 选择排序)
-- docker简单部署
-- 路由管理
-- 插件介绍
+[//]: # (- 归并排序)
+[//]: # (- 基数排序)
-## 服务注册
+[//]: # (- 内部排序比较)
+[//]: # (- 外部排序比较)
-#### Apollo
+[//]: # ()
+[//]: # ()
+[//]: # (#### LeetCode刷题)
+[//]: # ()
+[//]: # ()
+[//]: # (## 数据库)
-> 携程开发的配置中心经典项目,可集成多语言客户端,实现灰度部署,在分布式微服务的场景下抽离出服务配置,方便统一管理、发布
+[//]: # ()
+[//]: # ()
+[//]: # (> 主讲数据库基础知识,结合node的简单使用,相关的部署方案参照下方的文档)
+[//]: # ()
+[//]: # ()
+[//]: # (#### MySQL)
-#### Consul
+[//]: # ()
+[//]: # ()
+[//]: # (- [【服务器版】MySQL的安装部署](https://mp.weixin.qq.com/s/U1OUZYHEChFDx03FvgbMHA))
+[//]: # (- [MySQL优化之Explain参数说明](docs/mysql/MySQL优化之Explain参数说明.md))
-> 服务注册、发现,key-value键值对管理
+[//]: # (- 索引)
+[//]: # (- sql优化)
-#### Nacos
+[//]: # (- [基于GTID主从复制的原理和基础配置](docs/mysql/基于GTID主从复制的原理和基础配置.md))
+[//]: # (- [MySQL日志类型把我难哭了,你学废了吗?](docs/mysql/mysql日志比较.md))
-> 背靠国内一线互联网大厂——阿里巴巴,也是可适用于微服务下的配置管理,支持Java、Nodejs等主流语言,目前生态良好,技术支持表现一般,属于Apollo替代产品
+[//]: # ()
+[//]: # ()
+[//]: # (#### Redis)
+[//]: # ()
+[//]: # ()
+[//]: # (> 将围绕redis基础概念、使用场景、使用方式、简单部署等方面 展开介绍,[主目录](redis)下有自己觉得还不错PDF文档~)
-## 消息中间件
+[//]: # ()
+[//]: # ()
+[//]: # (- [key命名规范与建议](docs/redis/key命名规范与建议.md))
+[//]: # (- [redis开发使用规范](docs/redis/redis开发使用规范.md))
-> 消息队列已经逐渐成为企业IT系统内部通信的核心手段。具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。
->
-> 目前个人了解的有:RabbitMQ、Kafka、RocketMQ
+[//]: # (- [redis基础介绍](docs/redis/redis基础介绍.md))
+[//]: # (- [redis的简单安装和部署](https://mp.weixin.qq.com/s/Xe-ZDf2kgUWfYSkuULAdlw))
-#### RabbitMQ
+[//]: # (- [官方默认配置模板](code/docs/redis/redis-default.conf))
+[//]: # (- 数据类型)
-#### kafka
+[//]: # (- [redis简单主从集群部署-docker方式](docs/docs/redis/redis集群部署.md))
+[//]: # (- [memCache与Redis比较](docs/redis/memCache与Redis.md))
-#### RocketMQ
+[//]: # ()
+[//]: # ()
+[//]: # (#### Mongo)
+[//]: # ()
+[//]: # ()
+[//]: # (- 基本介绍)
-## RPC框架
+[//]: # (- 安装部署)
+[//]: # (- 简单使用)
-#### gRPC
+[//]: # (- Node下的CURD操作)
+[//]: # ()
+[//]: # ()
+[//]: # (## 服务部署)
-> gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统,tensorflow分布式与tensorflow serving底层通信都是是用的grpc。我自己基于JavaScript技术栈上较多的接触到gRPC,传送门:[基于js下各框架grpc的使用]()
+[//]: # ()
+[//]: # ()
+[//]: # (#### nginx)
+[//]: # ()
+[//]: # ()
+[//]: # (- [nginx安装,普通安装 Or Docker搞定?](docs/nginx/nginx基础部署.md))
-- nodejs下grpc的简单实用
+[//]: # (- [手把手nginx基础入门]())
+[//]: # (- [反向代理、负载均衡真有那么难吗?]())
-- grpc集成express框架
+[//]: # (- [Nginx SSL证书,从此踏上Https之路](docs/nginx/nginx服务器ssl证书配置.md))
+[//]: # ()
+[//]: # ()
+[//]: # (#### docker)
-- grpc集成koa框架
+[//]: # ()
+[//]: # ()
+[//]: # (- 我与docker的第一次硬碰硬)
+[//]: # (- docker操作入门真有那么难吗?)
-- eggjs框架下grpc的线上部署
+[//]: # (- 这些基础操作指令,你会吗?)
+[//]: # (- 那些年,我常用的docker指令操作汇总)
-- grpc插件开发示例
+[//]: # ()
+[//]: # ()
+[//]: # (#### docker-compose)
+[//]: # ()
+[//]: # ()
+[//]: # (- 听说你装了N次都没搞定?)
+[//]: # (- 集群启动失败,yaml规范不清楚?)
+[//]: # (- [我了解的docker-compose都在这里了](https://mp.weixin.qq.com/s/nC4nF51xn61TZlenuUxDog))
+[//]: # ()
+[//]: # ()
+[//]: # (#### linux下shell编程)
-#### Dubbo
+[//]: # ()
+[//]: # (- [shell基础整理](https://mp.weixin.qq.com/s/gctrWdB1JEK59_a9tJQSkg))
+[//]: # (- [操作mysql数据库](shell/shell连接mysql.md))
-> Alibaba开发的一个RPC框架,远程接口基于Java Interface, 依托于Spring框架(**Java技术栈重点研究**)
+[//]: # (- shell操作docker)
+[//]: # (- 环境变量env)
-#### Thrift
+[//]: # ()
+[//]: # ()
+[//]: # (## 服务网关)
+[//]: # ()
+[//]: # ()
+[//]: # (#### kong)
-> Apache的一个项目(http://thrift.apache.org),前身是Facebook开发的一个RPC框架,采用thrift作为IDL (Interface description language)。
+[//]: # ()
+[//]: # ()
+[//]: # (- [kong的的基本介绍](/api-gateway/kong/kong的基本介绍.md))
+[//]: # (- [docker下kong的部署](/api-gateway/kong/基于docker部署kong网关服务.md))
-## Elk日志管理平台
+[//]: # (- docker-compose搭建kong集群)
+[//]: # (- 可视化管理界面介绍)
-> 全链路日志
+[//]: # ()
+[//]: # ()
+[//]: # (#### konga)
-- [ELK基础概念与常用架构整理](docs/elk/基础概念与常用架构整理.md)
+[//]: # ()
+[//]: # ()
+[//]: # (- 基本介绍与docker部署)
+[//]: # (- 简单使用)
-#### ElasticSearch
+[//]: # (- 路由管理)
+[//]: # ()
+[//]: # ()
+[//]: # (#### kong-dashboard)
-> 数据存储
+[//]: # ()
+[//]: # ()
+[//]: # (- docker简单部署)
+[//]: # (- 路由管理)
-#### Logstash
+[//]: # (- 插件介绍)
+[//]: # ()
+[//]: # ()
+[//]: # (## 服务注册)
-> 数据收集
+[//]: # ()
+[//]: # ()
+[//]: # (#### Apollo)
+[//]: # ()
+[//]: # ()
+[//]: # (> 携程开发的配置中心经典项目,可集成多语言客户端,实现灰度部署,在分布式微服务的场景下抽离出服务配置,方便统一管理、发布)
-#### Kibana
+[//]: # ()
+[//]: # ()
+[//]: # (#### Consul)
+[//]: # ()
+[//]: # ()
+[//]: # (> 服务注册、发现,key-value键值对管理)
-> 数据展示
+[//]: # ()
+[//]: # ()
+[//]: # (#### Nacos)
+[//]: # ()
+[//]: # ()
+[//]: # (> 背靠国内一线互联网大厂——阿里巴巴,也是可适用于微服务下的配置管理,支持Java、Nodejs等主流语言,目前生态良好,技术支持表现一般,属于Apollo替代产品)
-## 监控工具
+[//]: # ()
+[//]: # ()
+[//]: # (## 消息中间件)
+[//]: # ()
+[//]: # ()
+[//]: # (> 消息队列已经逐渐成为企业IT系统内部通信的核心手段。具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。)
-> 参考笔者线上平台:http://view.142vip.cn/grafana 账号/密码:test/123456 基于docker部署,由于是个人学生服务器,站点访问延迟较高
->
-> 常用工具:promethus 、grafana、zabbix、lepus等
+[//]: # (>)
+[//]: # (> 目前个人了解的有:RabbitMQ、Kafka、RocketMQ)
-#### Prometheus
+[//]: # ()
+[//]: # ()
+[//]: # (#### RabbitMQ)
+[//]: # ()
+[//]: # ()
+[//]: # (#### kafka)
-#### Grafana
+[//]: # ()
+[//]: # ()
+[//]: # (#### RocketMQ)
+[//]: # ()
+[//]: # ()
+[//]: # (## RPC框架)
-#### Zabbix
+[//]: # ()
+[//]: # ()
+[//]: # (#### gRPC)
+[//]: # ()
+[//]: # ()
+[//]: # (> gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统,tensorflow分布式与tensorflow serving底层通信都是是用的grpc。我自己基于JavaScript技术栈上较多的接触到gRPC,传送门:[基于js下各框架grpc的使用]())
-#### lepus(天兔)
+[//]: # ()
+[//]: # ()
+[//]: # (- nodejs下grpc的简单实用)
+[//]: # ()
+[//]: # ()
+[//]: # (- grpc集成express框架)
-## 高可用架构
+[//]: # ()
+[//]: # ()
+[//]: # (- grpc集成koa框架)
+[//]: # ()
+[//]: # ()
+[//]: # (- eggjs框架下grpc的线上部署)
-#### MySQL集群
+[//]: # ()
+[//]: # ()
+[//]: # (- grpc插件开发示例)
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (#### Dubbo)
-##### 主从同步
+[//]: # ()
+[//]: # ()
+[//]: # (> Alibaba开发的一个RPC框架,远程接口基于Java Interface, 依托于Spring框架(**Java技术栈重点研究**))
+[//]: # ()
+[//]: # ()
+[//]: # (#### Thrift)
-> 实现功能:主从服务器数据一致,低延迟、高并发
+[//]: # ()
+[//]: # ()
+[//]: # (> Apache的一个项目(http://thrift.apache.org),前身是Facebook开发的一个RPC框架,采用thrift作为IDL (Interface description language)。)
+[//]: # ()
+[//]: # ()
+[//]: # (## Elk日志管理平台)
-- Binlog主从复制
-- GTID主从复制
-- 主主复制
+[//]: # ()
+[//]: # ()
+[//]: # (> 全链路日志)
+[//]: # ()
+[//]: # (- [ELK基础概念与常用架构整理](docs/elk/基础概念与常用架构整理.md))
-##### 代理中间件
+[//]: # ()
+[//]: # ()
+[//]: # (#### ElasticSearch)
+[//]: # ()
+[//]: # ()
+[//]: # (> 数据存储)
-> 实现功能:读写分离、分库分表、负载均衡、故障切换
+[//]: # ()
+[//]: # ()
+[//]: # (#### Logstash)
+[//]: # ()
+[//]: # ()
+[//]: # (> 数据收集)
-- Mycat
-- 360Atlas
+[//]: # ()
+[//]: # ()
+[//]: # (#### Kibana)
+[//]: # ()
+[//]: # ()
+[//]: # (> 数据展示)
-#### 集群监控
+[//]: # ()
+[//]: # ()
+[//]: # (## 监控工具)
+[//]: # ()
+[//]: # ()
+[//]: # (> 参考笔者线上平台:http://view.142vip.cn/grafana 账号/密码:test/123456 基于docker部署,由于是个人学生服务器,站点访问延迟较高)
-> 实现功能:实时监控、可视化数据显示、故障报警
+[//]: # (>)
+[//]: # (> 常用工具:promethus 、grafana、zabbix、lepus等)
-##### Prometheus
+[//]: # ()
+[//]: # ()
+[//]: # (#### Prometheus)
+[//]: # ()
+[//]: # ()
+[//]: # (#### Grafana)
-- 监控MySQL集群
-- 监控Mongo数据库
-- 监控Node服务
-- 监控linux服务器
-- 监控redis集群
+[//]: # ()
+[//]: # ()
+[//]: # (#### Zabbix)
+[//]: # ()
+[//]: # ()
+[//]: # (#### lepus(天兔))
-##### Grafana
+[//]: # ()
+[//]: # ()
+[//]: # (## 高可用架构)
+[//]: # ()
+[//]: # ()
+[//]: # (#### MySQL集群)
-- 基本安装部署
-- 功能介绍和简单操作
-- 可视化数据图形显示界面
-- 常用模板
+[//]: # ()
+[//]: # ()
+[//]: # (##### 主从同步)
+[//]: # ()
+[//]: # ()
+[//]: # (> 实现功能:主从服务器数据一致,低延迟、高并发)
-##### alter-manager
+[//]: # ()
+[//]: # ()
+[//]: # (- Binlog主从复制)
+[//]: # (- GTID主从复制)
-- 推送到邮箱
-- 推送到钉钉、微信机器人
-- 推送到自定义消息接口(webhook钩子)
+[//]: # (- 主主复制)
+[//]: # ()
+[//]: # ()
+[//]: # (##### 代理中间件)
-#### 压力测试
+[//]: # ()
+[//]: # ()
+[//]: # (> 实现功能:读写分离、分库分表、负载均衡、故障切换)
+[//]: # ()
+[//]: # ()
+[//]: # (- Mycat)
-- jmeter
+[//]: # (- 360Atlas)
+[//]: # ()
+[//]: # ()
+[//]: # (#### 集群监控)
-#### Redis集群
+[//]: # ()
+[//]: # ()
+[//]: # (> 实现功能:实时监控、可视化数据显示、故障报警)
+[//]: # ()
+[//]: # ()
+[//]: # (##### Prometheus)
-> 持续整理中...
+[//]: # ()
+[//]: # ()
+[//]: # (- 监控MySQL集群)
+[//]: # (- 监控Mongo数据库)
-##### 简单主从模式
+[//]: # (- 监控Node服务)
+[//]: # (- 监控linux服务器)
-#### 哨兵模式
+[//]: # (- 监控redis集群)
+[//]: # ()
+[//]: # ()
+[//]: # (##### Grafana)
-##### cluster模式
+[//]: # ()
+[//]: # ()
+[//]: # (- 基本安装部署)
+[//]: # (- 功能介绍和简单操作)
-## 网站搭建
+[//]: # (- 可视化数据图形显示界面)
+[//]: # (- 常用模板)
-> 从大二开始搭建个人网站:http://www.142vip.cn 起初非常简陋,工作之后计划进行第三版迭代,一直抽空佛系谢谢, 目前在重构中..
+[//]: # ()
+[//]: # ()
+[//]: # (##### alter-manager)
+[//]: # ()
+[//]: # ()
+[//]: # (- 推送到邮箱)
-- 最初的梦想
-- 舍弃Java,我的重构之路
-- 网站正规化,Nginx配置SSL证书
-- 小小网站却耗费三台学生服务器?
+[//]: # (- 推送到钉钉、微信机器人)
+[//]: # (- 推送到自定义消息接口(webhook钩子))
+[//]: # ()
+[//]: # ()
+[//]: # (#### 压力测试)
+[//]: # ()
+[//]: # ()
+[//]: # (- jmeter)
+[//]: # ()
+[//]: # ()
+[//]: # (#### Redis集群)
+[//]: # ()
+[//]: # ()
+[//]: # (> 持续整理中...)
-## 书籍整理
+[//]: # ()
+[//]: # ()
+[//]: # (##### 简单主从模式)
-### 技术类
-> 待整理
+[//]: # ()
+[//]: # ()
+[//]: # (#### 哨兵模式)
-#### [狼书 - 了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/Readme.md)
+[//]: # ()
+[//]: # ()
+[//]: # (##### cluster模式)
-- [第一章 Node.js初识](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第一章%20Node.js初识.md)
-- [第二章 Nodejs安装与入门](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第二章%20Nodejs安装与入门.md)
-- [第三章 更了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第三章%20更了不起的Node.js.md)
-- [第四章 更好的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第四章%20更好的Node.js.md)
-- [第五章 Node.js是如何执行的](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第五章%20Node.js是如何执行的.md)
-- [第六章 模块与核心](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第六章%20模块与核心.md)
-- [第七章 异步写法与流程控制](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第七章%20异步写法与流程控制.md)
+[//]: # ()
+[//]: # ()
+[//]: # (## 网站搭建)
-- [全部笔记](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/全部笔记.md)
+[//]: # ()
+[//]: # ()
+[//]: # (> 从大二开始搭建个人网站:http://www.142vip.cn 起初非常简陋,工作之后计划进行第三版迭代,一直抽空佛系谢谢, 目前在重构中..)
+[//]: # ()
+[//]: # ()
+[//]: # (- 最初的梦想)
-#### [ES6标准入门——阮一峰]()
+[//]: # (- 舍弃Java,我的重构之路)
-> 本书内容较多,很多基础细节都有说明,难度中等、适合入门,书中很多例子我也摘抄了很多,主要是我认为重要的,笔记按照自己学习逻辑整理的,请君慢用
-- [1.ECMAScript 6 简介](docs/article-records/读书笔记/ES6标准入门/1.ECMAScript%206%20简介.md)
-- [2.let和const命令](docs/article-records/读书笔记/ES6标准入门/2.let和const的命令.md)
-- [3.变量的解构赋值](docs/article-records/读书笔记/ES6标准入门/3.变量的解构赋值.md)
-- [4.字符串详解]()
-### 非技术类
+[//]: # (- 网站正规化,Nginx配置SSL证书)
-> 主要是跟计算机无关的一些书,在看完之后,会选择性的进行思维导图、经典词句整理,也可能添加个人思考
+[//]: # (- 小小网站却耗费三台学生服务器?)
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (## 书籍整理)
-#### [你好孤独 - 陈果](docs/article-records/读书笔记/好的孤独-陈果/Readme.md)
+[//]: # ()
+[//]: # (### 技术类)
-## 公众号汇总
+[//]: # (> 待整理)
-### 2020年
+[//]: # ()
+[//]: # (#### [狼书 - 了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/Readme.md))
-#### 7月
+[//]: # ()
+[//]: # (- [第一章 Node.js初识](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第一章%20Node.js初识.md))
-- [【2020-07-26】微信公众号我来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483659&idx=1&sn=ac7b633a45ac06d388e0698163a2543e&chksm=fcdfb887cba8319151aedfa80c5b59d130838af81fe51c76e5c4926f82f4937b51c8c0c1470e&token=1304241434&lang=zh_CN#rd)
+[//]: # (- [第二章 Nodejs安装与入门](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第二章%20Nodejs安装与入门.md))
-- [【2020-07-27】介绍一下,我在B站](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483760&idx=1&sn=30a9fa2a051079c5330039615950c34d&chksm=fcdfb8fccba831ea64644be501ecca3cea5846f16367faed9c84b44a30d9b6dc30456dae6548&token=1304241434&lang=zh_CN#rd)
+[//]: # (- [第三章 更了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第三章%20更了不起的Node.js.md))
+[//]: # (- [第四章 更好的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第四章%20更好的Node.js.md))
-- [【2020-07-28】五年了,我终于换了人生中的第一台MacBookPro](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483762&idx=1&sn=e9ea759f1c1589881cc3bd9cabddb70a&chksm=fcdfb8fecba831e8c4635a4cefd302977071ed11a4dda6161cf9ad8458865297194f87cb013a&token=1304241434&lang=zh_CN#rd)
+[//]: # (- [第五章 Node.js是如何执行的](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第五章%20Node.js是如何执行的.md))
+[//]: # (- [第六章 模块与核心](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第六章%20模块与核心.md))
-- [【2020-07-29】工作中第一次被喷,我到底是如何应对的?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483770&idx=1&sn=6b760873a814f4e18baab415bee3d863&chksm=fcdfb8f6cba831e00802de653ff6723a0bb169a93fe3a6a9762ee62d75d8cd88409268db9047&token=1304241434&lang=zh_CN#rd)
+[//]: # (- [第七章 异步写法与流程控制](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第七章%20异步写法与流程控制.md))
+[//]: # ()
+[//]: # (- [全部笔记](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/全部笔记.md))
-- [【2020-07-31】CSDN关注100了,就这????](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483778&idx=1&sn=3d9f623c58d595f75d7092783a6c5abe&chksm=fcdfb80ecba83118e76de1ed88a5be51229e4145182aee6e0bcc13e4697707cf9f4609d8799d&token=1304241434&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (#### [ES6标准入门——阮一峰]())
+[//]: # ()
+[//]: # (> 本书内容较多,很多基础细节都有说明,难度中等、适合入门,书中很多例子我也摘抄了很多,主要是我认为重要的,笔记按照自己学习逻辑整理的,请君慢用)
+[//]: # (- [1.ECMAScript 6 简介](docs/article-records/读书笔记/ES6标准入门/1.ECMAScript%206%20简介.md))
-#### 8月
-- [【2020-08-01】旧友相见,甚是怀念](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483790&idx=1&sn=76e13ac79ad498309542c9f41878bb1c&chksm=fcdfb802cba8311456ea9ff3309c4354055022cd0056b13c11fac44252231550e17a03f26f29&token=639111151&lang=zh_CN#rd)
+[//]: # (- [2.let和const命令](docs/article-records/读书笔记/ES6标准入门/2.let和const的命令.md))
-- [【2020-08-03】JavaScript基础介绍和快速入门](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483805&idx=1&sn=4da4e0d3a2912aee146248c1d8f7f96f&chksm=fcdfb811cba83107fd8f08d3e35af7c72bf7d908d577ad83e45d80b0e9d1bbdbf16b1f169d64&token=639111151&lang=zh_CN#rd)
+[//]: # (- [3.变量的解构赋值](docs/article-records/读书笔记/ES6标准入门/3.变量的解构赋值.md))
+[//]: # (- [4.字符串详解]())
-#### 9月
+[//]: # (### 非技术类)
-- [【2020-09-01】Redis的简单安装和部署 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=1&sn=489aa1bd12487b0bf8f2a7694f4ca1aa&chksm=fcdfbd34cba83422f0afee027747d9e95773e093fa3a24225c2729029c4392bf42043964782f&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (> 主要是跟计算机无关的一些书,在看完之后,会选择性的进行思维导图、经典词句整理,也可能添加个人思考)
-- [【2020-09-01】就很像?? ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=2&sn=a9962c6ca3a5eddd085bcd15617f64d9&chksm=fcdfbd34cba83422b987020a858b7cf31bfde6033642d697d5a00ad9ed618f3cf14deb207d67&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (#### [你好孤独 - 陈果](docs/article-records/读书笔记/好的孤独-陈果/Readme.md))
-- [【2020-09-03】shell编程基础整理 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=1&sn=6e3e862153755d9e61f5f4ebf220381d&chksm=fcdfbc92cba835844e8b6fd37d86a34ccf83342895f448c88ba5b62db974eb536a8e74a121aa&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (## 公众号汇总)
-- [【2020-09-03】大学四年建站用过的云服务器都在这里了 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=2&sn=c7589eecbe58ff8939f72c0ff0bf567d&chksm=fcdfbc92cba83584b03dfeea7290606ce8249b0c3105b0b3b95a9087c77e3b1c7f863d8e30f9&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (### 2020年)
-- [【2020-09-04】面试复盘和思考 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484711&idx=1&sn=bf362439ccfad04da53ce65c824a988d&chksm=fcdfbcabcba835bddc43c40fd3a454793adf7849a5d5bb356825d481b82ae3e58a749859502c&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (#### 7月)
-- [【2020-09-06】朋友是“无用”的,不是你瞧不起我,就是我瞧不起你 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=1&sn=e0f8a7a70ddede75d94b202ddc6106d6&chksm=fcdfbcdbcba835cd2138658d750f7e09a820b34daf4624f253a21a11b5de56635d35e4c0df19&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-07-26】微信公众号我来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483659&idx=1&sn=ac7b633a45ac06d388e0698163a2543e&chksm=fcdfb887cba8319151aedfa80c5b59d130838af81fe51c76e5c4926f82f4937b51c8c0c1470e&token=1304241434&lang=zh_CN#rd))
-- [【2020-09-06】GitHub简单使用 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=2&sn=ade86739c94f99f944a3d387bc7e13ef&chksm=fcdfbcdbcba835cd192c3b7b7eeea8f5dbb16b2b2fa58b6e2094184f5aa3341927a6d1fad6f8&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-07-27】介绍一下,我在B站](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483760&idx=1&sn=30a9fa2a051079c5330039615950c34d&chksm=fcdfb8fccba831ea64644be501ecca3cea5846f16367faed9c84b44a30d9b6dc30456dae6548&token=1304241434&lang=zh_CN#rd))
-- [【2020-09-07】MySQL日志类型把我难哭了,你学废了吗?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484771&idx=1&sn=6ae4c6e8d333b0e1aa5cd1aee161d9b8&chksm=fcdfbcefcba835f94e3c0abc189477f241f675f38a63eb03bd320447e89da39cb08b72038ba3&token=1613702159&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-07-28】五年了,我终于换了人生中的第一台MacBookPro](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483762&idx=1&sn=e9ea759f1c1589881cc3bd9cabddb70a&chksm=fcdfb8fecba831e8c4635a4cefd302977071ed11a4dda6161cf9ad8458865297194f87cb013a&token=1304241434&lang=zh_CN#rd))
-- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-07-29】工作中第一次被喷,我到底是如何应对的?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483770&idx=1&sn=6b760873a814f4e18baab415bee3d863&chksm=fcdfb8f6cba831e00802de653ff6723a0bb169a93fe3a6a9762ee62d75d8cd88409268db9047&token=1304241434&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-07-31】CSDN关注100了,就这????](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483778&idx=1&sn=3d9f623c58d595f75d7092783a6c5abe&chksm=fcdfb80ecba83118e76de1ed88a5be51229e4145182aee6e0bcc13e4697707cf9f4609d8799d&token=1304241434&lang=zh_CN#rd))
-- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (#### 8月)
-- [【2020-09-12】向各位汇报,再也不敢鸽了,人生处处有惊喜](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484784&idx=1&sn=ae73f1f4e53b622039a75ec41cabe378&chksm=fcdfbcfccba835eafefe304913e4078cf8dfac22f62fd9d686b307bbdf46d147016f5e876e05&token=639111151&lang=zh_CN#rd)
+[//]: # (- [【2020-08-01】旧友相见,甚是怀念](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483790&idx=1&sn=76e13ac79ad498309542c9f41878bb1c&chksm=fcdfb802cba8311456ea9ff3309c4354055022cd0056b13c11fac44252231550e17a03f26f29&token=639111151&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-08-03】JavaScript基础介绍和快速入门](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483805&idx=1&sn=4da4e0d3a2912aee146248c1d8f7f96f&chksm=fcdfb811cba83107fd8f08d3e35af7c72bf7d908d577ad83e45d80b0e9d1bbdbf16b1f169d64&token=639111151&lang=zh_CN#rd))
-- [【2020-09-13】来来来,无厘头技术(水)文,各种尬。简简单单评价一下](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=1&sn=10d26a600112ec4f95b3b3f470955744&chksm=fcdfbc03cba83515b07f0ae6cee791d1fb5fd619364cff3a17a4deab91333f0a6277b09a66a9&token=639111151&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (#### 9月)
-- [【2020-09-13】基础Brew和Tree的安装实录](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=2&sn=94a6455ed6b17fa5b27e96358e935803&chksm=fcdfbc03cba83515d13dcfc2dea2445085a34ff4360e0a367fd914bb04bc6ba18a780a0cd2d2&token=639111151&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-01】Redis的简单安装和部署 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=1&sn=489aa1bd12487b0bf8f2a7694f4ca1aa&chksm=fcdfbd34cba83422f0afee027747d9e95773e093fa3a24225c2729029c4392bf42043964782f&token=1613702159&lang=zh_CN#rd))
-- [【2020-09-13】PM2进程管理,给我学!](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=3&sn=38a289efffda9510b5ff04c5bed0663e&chksm=fcdfbc03cba835154c888b9d7f86eac85c250eefb9d053687173274373f2f8d7b19fc307e76a&token=639111151&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-01】就很像?? ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=2&sn=a9962c6ca3a5eddd085bcd15617f64d9&chksm=fcdfbd34cba83422b987020a858b7cf31bfde6033642d697d5a00ad9ed618f3cf14deb207d67&token=1613702159&lang=zh_CN#rd))
-- [【2020-09-14】数据结构,一定要学废了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484823&idx=1&sn=d41bb8da02585cf9ea8d0b3ef27e3dbb&chksm=fcdfbc1bcba8350d84ba2f01eaf187cbaa2d4cf5a9078beb1f2fafe94edb0126c82595ed8191&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-03】shell编程基础整理 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=1&sn=6e3e862153755d9e61f5f4ebf220381d&chksm=fcdfbc92cba835844e8b6fd37d86a34ccf83342895f448c88ba5b62db974eb536a8e74a121aa&token=1613702159&lang=zh_CN#rd))
-- [【2020-09-16】ELK基础概念与常用架构整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484837&idx=1&sn=7f0de3eeea3fc6ee299587704f5c44cd&chksm=fcdfbc29cba8353fd894582da7ae2c93b5920c4dbb1e197b011a817dc0962e317842a32d5560&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-03】大学四年建站用过的云服务器都在这里了 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=2&sn=c7589eecbe58ff8939f72c0ff0bf567d&chksm=fcdfbc92cba83584b03dfeea7290606ce8249b0c3105b0b3b95a9087c77e3b1c7f863d8e30f9&token=1613702159&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-09-04】面试复盘和思考 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484711&idx=1&sn=bf362439ccfad04da53ce65c824a988d&chksm=fcdfbcabcba835bddc43c40fd3a454793adf7849a5d5bb356825d481b82ae3e58a749859502c&token=1613702159&lang=zh_CN#rd))
-- [【2020-09-17】分享书上一段话,问一个问题](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=1&sn=7af55ef3a7d843d9c43de6d6c7911da3&chksm=fcdfbc3ecba835287b2c644cda606454a713d370fbd7d14714b22a04277f7a7784b96b8b277e&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-06】朋友是“无用”的,不是你瞧不起我,就是我瞧不起你 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=1&sn=e0f8a7a70ddede75d94b202ddc6106d6&chksm=fcdfbcdbcba835cd2138658d750f7e09a820b34daf4624f253a21a11b5de56635d35e4c0df19&token=1613702159&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-09-06】GitHub简单使用 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=2&sn=ade86739c94f99f944a3d387bc7e13ef&chksm=fcdfbcdbcba835cd192c3b7b7eeea8f5dbb16b2b2fa58b6e2094184f5aa3341927a6d1fad6f8&token=1613702159&lang=zh_CN#rd))
-- [【2020-09-17】看源码遇到的三个知识点,一个也没懂](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=2&sn=c59839c677d7c9652a09d1f8c70ef8d6&chksm=fcdfbc3ecba83528cf8271a2615129340a6f11954b6d9396160d0fb2c41593253d5e3510a031&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-07】MySQL日志类型把我难哭了,你学废了吗?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484771&idx=1&sn=6ae4c6e8d333b0e1aa5cd1aee161d9b8&chksm=fcdfbcefcba835f94e3c0abc189477f241f675f38a63eb03bd320447e89da39cb08b72038ba3&token=1613702159&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd))
-- [【2020-09-20】express()函数整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=2&sn=63e6b669341217135013816464dd5bd9&chksm=fcdfbc4dcba8355b4de0f712047709425a35fa3b122378b31f0e4db3afb82dfd38872862aab4&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-09-12】向各位汇报,再也不敢鸽了,人生处处有惊喜](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484784&idx=1&sn=ae73f1f4e53b622039a75ec41cabe378&chksm=fcdfbcfccba835eafefe304913e4078cf8dfac22f62fd9d686b307bbdf46d147016f5e876e05&token=639111151&lang=zh_CN#rd))
-- [【2020-09-22】入秋了,安好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=1&sn=e39e3547da49f40e1b64deadf9a9cfef&chksm=fcdfbc4dcba8355bfa9c8b9531a463fc652b764064528dd6c243f47a157b20e017bad3f410f4&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-13】来来来,无厘头技术(水)文,各种尬。简简单单评价一下](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=1&sn=10d26a600112ec4f95b3b3f470955744&chksm=fcdfbc03cba83515b07f0ae6cee791d1fb5fd619364cff3a17a4deab91333f0a6277b09a66a9&token=639111151&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-09-13】基础Brew和Tree的安装实录](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=2&sn=94a6455ed6b17fa5b27e96358e935803&chksm=fcdfbc03cba83515d13dcfc2dea2445085a34ff4360e0a367fd914bb04bc6ba18a780a0cd2d2&token=639111151&lang=zh_CN#rd))
-- [【2020-09-22】Nginx安装详解,我服务器上也是这样的](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=1&sn=b1073522cfd3ce6ebbe85e85ad4e35e0&chksm=fcdfbc6dcba8357bdb212c9db1378a045d0dcfd95b79ed05688180f05d2b391f9b724d0d752f&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-13】PM2进程管理,给我学!](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=3&sn=38a289efffda9510b5ff04c5bed0663e&chksm=fcdfbc03cba835154c888b9d7f86eac85c250eefb9d053687173274373f2f8d7b19fc307e76a&token=639111151&lang=zh_CN#rd))
-- [【2020-09-22】被攻击的一天](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=2&sn=34c61ed01c6522d2861be3342ec12ad5&chksm=fcdfbc6dcba8357b76eb0fe6c502d932def6cd232297b010f9b2f9a1fca35c38df77dacce7f2&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-14】数据结构,一定要学废了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484823&idx=1&sn=d41bb8da02585cf9ea8d0b3ef27e3dbb&chksm=fcdfbc1bcba8350d84ba2f01eaf187cbaa2d4cf5a9078beb1f2fafe94edb0126c82595ed8191&token=368257571&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-09-16】ELK基础概念与常用架构整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484837&idx=1&sn=7f0de3eeea3fc6ee299587704f5c44cd&chksm=fcdfbc29cba8353fd894582da7ae2c93b5920c4dbb1e197b011a817dc0962e317842a32d5560&token=368257571&lang=zh_CN#rd))
-- [【2020-09-26】跟父亲视频的一个半小时,聊到了我,也聊到了Ta](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484929&idx=1&sn=394783dd2bfd65da24ae6dcb89d69ec6&chksm=fcdfbf8dcba8369b926b7083bbe3515aa5857f7589acc3f9d6d4987c67539a76dbd6e3cb70a1&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-17】分享书上一段话,问一个问题](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=1&sn=7af55ef3a7d843d9c43de6d6c7911da3&chksm=fcdfbc3ecba835287b2c644cda606454a713d370fbd7d14714b22a04277f7a7784b96b8b277e&token=368257571&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-17】看源码遇到的三个知识点,一个也没懂](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=2&sn=c59839c677d7c9652a09d1f8c70ef8d6&chksm=fcdfbc3ecba83528cf8271a2615129340a6f11954b6d9396160d0fb2c41593253d5e3510a031&token=368257571&lang=zh_CN#rd))
-#### 10月
-- [【2020-10-07】时间太快,溜了溜了,杭州见](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484943&idx=1&sn=ad37db87dc40f381fd18cc828e492384&chksm=fcdfbf83cba8369598fc2773b63df235a9719b43749e7daab753c621fef5af4fba054dbb46ea&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-20】express()函数整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=2&sn=63e6b669341217135013816464dd5bd9&chksm=fcdfbc4dcba8355b4de0f712047709425a35fa3b122378b31f0e4db3afb82dfd38872862aab4&token=368257571&lang=zh_CN#rd))
-- [【2020-10-14】写不了代码就不写嘛](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484951&idx=1&sn=edddf3d6c8f3fc6dd1d14063b536c732&chksm=fcdfbf9bcba8368d81ddffcbd258f7e4b7fb573d2a8963859e1b156e8a5f5d81f5629c49be6e&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-22】入秋了,安好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=1&sn=e39e3547da49f40e1b64deadf9a9cfef&chksm=fcdfbc4dcba8355bfa9c8b9531a463fc652b764064528dd6c243f47a157b20e017bad3f410f4&token=368257571&lang=zh_CN#rd))
-- [【2020-10-18】我不行了,这号关注量男女7:3 还怎么相亲嘛?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484968&idx=1&sn=d37960ed81044fbf314440af85049d65&chksm=fcdfbfa4cba836b25082535910f7137d1513d834d54fbfadf48a433b29511ccf4d532f19b88a&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-22】Nginx安装详解,我服务器上也是这样的](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=1&sn=b1073522cfd3ce6ebbe85e85ad4e35e0&chksm=fcdfbc6dcba8357bdb212c9db1378a045d0dcfd95b79ed05688180f05d2b391f9b724d0d752f&token=368257571&lang=zh_CN#rd))
-- [【2020-10-26】悄悄接你下班,陪你回家](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484988&idx=1&sn=947c487946fa3574d33e9c6861a1ee28&chksm=fcdfbfb0cba836a626d2efa904a5177c2e0916c381b26c89b6dcfc610a380b906d4480f7cc9b&token=368257571&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-09-22】被攻击的一天](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=2&sn=34c61ed01c6522d2861be3342ec12ad5&chksm=fcdfbc6dcba8357b76eb0fe6c502d932def6cd232297b010f9b2f9a1fca35c38df77dacce7f2&token=368257571&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-09-26】跟父亲视频的一个半小时,聊到了我,也聊到了Ta](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484929&idx=1&sn=394783dd2bfd65da24ae6dcb89d69ec6&chksm=fcdfbf8dcba8369b926b7083bbe3515aa5857f7589acc3f9d6d4987c67539a76dbd6e3cb70a1&token=368257571&lang=zh_CN#rd))
-#### 11月
+[//]: # ()
+[//]: # ()
+[//]: # (#### 10月)
-- [【2020-11-01】11月,你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485002&idx=1&sn=3760eba58f7ded433b71bec48b89a681&chksm=fcdfbfc6cba836d0b7db1f2aa5a4a884f68f8ce20a59aa44b4ac46c59eb4dd1c233079241a4a&token=368257571&lang=zh_CN#rd)
+[//]: # (- [【2020-10-07】时间太快,溜了溜了,杭州见](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484943&idx=1&sn=ad37db87dc40f381fd18cc828e492384&chksm=fcdfbf83cba8369598fc2773b63df235a9719b43749e7daab753c621fef5af4fba054dbb46ea&token=368257571&lang=zh_CN#rd))
-- [【2020-11-15】她来了她来了,她带着剪了三遍的视频来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485042&idx=1&sn=181ae5062c31ee7931390607b6f10358&chksm=fcdfbffecba836e8275c849007470db6964f7cd675af59fe73c94369334d17d4840e8c0413d5&token=898438314&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-10-14】写不了代码就不写嘛](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484951&idx=1&sn=edddf3d6c8f3fc6dd1d14063b536c732&chksm=fcdfbf9bcba8368d81ddffcbd258f7e4b7fb573d2a8963859e1b156e8a5f5d81f5629c49be6e&token=368257571&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (- [【2020-10-18】我不行了,这号关注量男女7:3 还怎么相亲嘛?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484968&idx=1&sn=d37960ed81044fbf314440af85049d65&chksm=fcdfbfa4cba836b25082535910f7137d1513d834d54fbfadf48a433b29511ccf4d532f19b88a&token=368257571&lang=zh_CN#rd))
-- [【2020-11-18】陪我一路的小姐姐,谢谢啦~ 我大意了呀,没有闪](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485053&idx=1&sn=ed2fe0de87b70781cdb7755ef4726340&chksm=fcdfbff1cba836e7165dc53722aaf96ef38d8f43cfadadcb4695d8ff430ea64619caada81cfa&token=1939941957&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-10-26】悄悄接你下班,陪你回家](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484988&idx=1&sn=947c487946fa3574d33e9c6861a1ee28&chksm=fcdfbfb0cba836a626d2efa904a5177c2e0916c381b26c89b6dcfc610a380b906d4480f7cc9b&token=368257571&lang=zh_CN#rd))
-- [【2020-11-30】11月的尾巴,12月你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485066&idx=1&sn=1d357917f548a6d977af96c6582db527&chksm=fcdfbf06cba836103152f7a3fdfbf97c1be2472a84f824cbddd532c15aefe14c71b3b076233f&token=831506871&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (#### 11月)
-#### 12月
+[//]: # ()
+[//]: # (- [【2020-11-01】11月,你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485002&idx=1&sn=3760eba58f7ded433b71bec48b89a681&chksm=fcdfbfc6cba836d0b7db1f2aa5a4a884f68f8ce20a59aa44b4ac46c59eb4dd1c233079241a4a&token=368257571&lang=zh_CN#rd))
-- [【2020-12-06】周末小记——忆旧友、吃火锅,也会感慨](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485080&idx=2&sn=bdc551f2e9bf54dc01881979339af8ad&chksm=fcdfbf14cba836022a05854547cbca03b5a08b912a0e0f195d4856d6b53ecd78aee2f167b515&token=1581389686&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-11-15】她来了她来了,她带着剪了三遍的视频来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485042&idx=1&sn=181ae5062c31ee7931390607b6f10358&chksm=fcdfbffecba836e8275c849007470db6964f7cd675af59fe73c94369334d17d4840e8c0413d5&token=898438314&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-11-18】陪我一路的小姐姐,谢谢啦~ 我大意了呀,没有闪](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485053&idx=1&sn=ed2fe0de87b70781cdb7755ef4726340&chksm=fcdfbff1cba836e7165dc53722aaf96ef38d8f43cfadadcb4695d8ff430ea64619caada81cfa&token=1939941957&lang=zh_CN#rd))
-- [【2020-12-10】上火、牙疼,也要砍程序媛一刀](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485100&idx=1&sn=e7c0c41229d51ebfab2939deb1751672&chksm=fcdfbf20cba836364da35ab5acfed076876aae486126bc1c41cdd2502cc89a41cbde7c645610&token=1054397108&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-11-30】11月的尾巴,12月你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485066&idx=1&sn=1d357917f548a6d977af96c6582db527&chksm=fcdfbf06cba836103152f7a3fdfbf97c1be2472a84f824cbddd532c15aefe14c71b3b076233f&token=831506871&lang=zh_CN#rd))
+[//]: # ()
+[//]: # (#### 12月)
-- [【2020-12-17】今晚不蹦迪,来聊一聊个人项目的接口返回](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485136&idx=1&sn=4619fb835e6d57e106ab01116012662a&chksm=fcdfbf5ccba8364aecddf14d11ed8ba36f38050b83b30b8d46e10f86b164aab05322b8455b36&token=755050934&lang=zh_CN#rd)
+[//]: # ()
+[//]: # (- [【2020-12-06】周末小记——忆旧友、吃火锅,也会感慨](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485080&idx=2&sn=bdc551f2e9bf54dc01881979339af8ad&chksm=fcdfbf14cba836022a05854547cbca03b5a08b912a0e0f195d4856d6b53ecd78aee2f167b515&token=1581389686&lang=zh_CN#rd))
-- [【2020-12-20】事情,从英吉利海岸的那杯卡布奇诺美式咖啡说起](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485180&idx=1&sn=15ab9be3e15130103f26c919cbe0b605&chksm=fcdfbf70cba83666d287acc35485d02ddf67bacad6ea46d9ef04521f9f429fcb015d371c918e&token=1356818265&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-12-10】上火、牙疼,也要砍程序媛一刀](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485100&idx=1&sn=e7c0c41229d51ebfab2939deb1751672&chksm=fcdfbf20cba836364da35ab5acfed076876aae486126bc1c41cdd2502cc89a41cbde7c645610&token=1054397108&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2020-12-17】今晚不蹦迪,来聊一聊个人项目的接口返回](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485136&idx=1&sn=4619fb835e6d57e106ab01116012662a&chksm=fcdfbf5ccba8364aecddf14d11ed8ba36f38050b83b30b8d46e10f86b164aab05322b8455b36&token=755050934&lang=zh_CN#rd))
-### 2021年
+[//]: # ()
+[//]: # (- [【2020-12-20】事情,从英吉利海岸的那杯卡布奇诺美式咖啡说起](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485180&idx=1&sn=15ab9be3e15130103f26c919cbe0b605&chksm=fcdfbf70cba83666d287acc35485d02ddf67bacad6ea46d9ef04521f9f429fcb015d371c918e&token=1356818265&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (### 2021年)
-#### 1月
+[//]: # ()
+[//]: # ()
+[//]: # (#### 1月)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-01-06】谁在看小王子呀~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485228&idx=1&sn=1c30866a209af2a5eb927fd7bd63cc8b&chksm=fcdfbea0cba837b6d4cf9865b72a6a1553c4d9b6a6cce369bb09f66730ab37ec649071e7ab7c&token=1356818265&lang=zh_CN#rd))
-- [【2021-01-06】谁在看小王子呀~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485228&idx=1&sn=1c30866a209af2a5eb927fd7bd63cc8b&chksm=fcdfbea0cba837b6d4cf9865b72a6a1553c4d9b6a6cce369bb09f66730ab37ec649071e7ab7c&token=1356818265&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-01-15】2020小结,没事就点点看看呗,反正小目标都没完成](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485249&idx=1&sn=dadf2a6dbed1879bbd98c62491436a9c&chksm=fcdfbecdcba837db5c11b8023ffa7ad6cf5a47c03027a0029604a50d0a77c75908efc05af39a&token=1356818265&lang=zh_CN#rd))
+[//]: # ( )
+[//]: # (- [【2021-01-17】搞波大的,浅谈深拷贝——文末有彩蛋](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485258&idx=1&sn=fb71007a5feed8e18674be27b1c749ab&chksm=fcdfbec6cba837d099e90a5f45781ee8cac474388e25ad9383a4fbc05fdb16a8e1377265c018&token=1356818265&lang=zh_CN#rd))
-- [【2021-01-15】2020小结,没事就点点看看呗,反正小目标都没完成](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485249&idx=1&sn=dadf2a6dbed1879bbd98c62491436a9c&chksm=fcdfbecdcba837db5c11b8023ffa7ad6cf5a47c03027a0029604a50d0a77c75908efc05af39a&token=1356818265&lang=zh_CN#rd)
-
-- [【2021-01-17】搞波大的,浅谈深拷贝——文末有彩蛋](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485258&idx=1&sn=fb71007a5feed8e18674be27b1c749ab&chksm=fcdfbec6cba837d099e90a5f45781ee8cac474388e25ad9383a4fbc05fdb16a8e1377265c018&token=1356818265&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-01-18】到底该如何发布Npm插件,常用指令在这里](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485277&idx=1&sn=9eb7c3cef21ace2cc5853e382f2bb03f&chksm=fcdfbed1cba837c7839f3b57836f43b3425c8b5a7888f543bf4a1dd8b39cd82ed7d51a24a685&token=1356818265&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-01-20】好用的AntDocs,也来学着用一下,基本过程整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485291&idx=1&sn=19f13df8131a9f662973f2d9240c1eab&chksm=fcdfbee7cba837f180d8ad30735cd61e6c73fe195e63d46046bb24f80e1536aa0a585c3e1015&token=1356818265&lang=zh_CN#rd))
-- [【2021-01-18】到底该如何发布Npm插件,常用指令在这里](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485277&idx=1&sn=9eb7c3cef21ace2cc5853e382f2bb03f&chksm=fcdfbed1cba837c7839f3b57836f43b3425c8b5a7888f543bf4a1dd8b39cd82ed7d51a24a685&token=1356818265&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-01-27】【持续更新】从查找算法开始数据结构入门,大家都在掘金等你](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485318&idx=1&sn=6ae5fc9f1cf994818ff89d53a926761e&chksm=fcdfbe0acba8371c9d0025008084857cf14c52b01dfb1b9460d3388ba543c36da2abcbf90216&token=1356818265&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-01-30】ORM框架入门之Sequelize,我快翻译不动了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485341&idx=1&sn=fc493c28ab138056567e916b769ddbf2&chksm=fcdfbe11cba8370793e8e0d71e7766f4e1e7f3e8672921d6b98757f7d7b271b290f3edc65d6f&token=1356818265&lang=zh_CN#rd))
-- [【2021-01-20】好用的AntDocs,也来学着用一下,基本过程整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485291&idx=1&sn=19f13df8131a9f662973f2d9240c1eab&chksm=fcdfbee7cba837f180d8ad30735cd61e6c73fe195e63d46046bb24f80e1536aa0a585c3e1015&token=1356818265&lang=zh_CN#rd)
+[//]: # ( )
+[//]: # (#### 2月)
+[//]: # ()
+[//]: # (- [【2021-02-07】被妹妹支配的一周,晚上差点连家都回不去..](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485376&idx=1&sn=049a5df5cb97786e80aded38a1bf3732&chksm=fcdfbe4ccba8375a52cb8d7077836216e5f5f41ee9453aebf524eb0a5d8a5db48cbabc11f3e4&token=1356818265&lang=zh_CN#rd))
-- [【2021-01-27】【持续更新】从查找算法开始数据结构入门,大家都在掘金等你](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485318&idx=1&sn=6ae5fc9f1cf994818ff89d53a926761e&chksm=fcdfbe0acba8371c9d0025008084857cf14c52b01dfb1b9460d3388ba543c36da2abcbf90216&token=1356818265&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-02-11】【新年快乐】程序员的2020,就这样悄咪咪地溜走了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485404&idx=1&sn=276100858df23daf987dbc68997477df&chksm=fcdfbe50cba837460079fc9ab414754a49668f82dc0f6a5a41ec320d3e5dd77c1a8c271e061b&token=1356818265&lang=zh_CN#rd))
+[//]: # ()
+[//]: # ()
+[//]: # (- [【2021-02-13】抢红包、拼手气来啦,之前答应的抽奖变成新年红包啦~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485420&idx=1&sn=26c0e3690363af5dddd805ae417eeee9&chksm=fcdfbe60cba8377645e44333ccbe35147b9844578008e5699aba62b82c12fc03634e2d68781c&token=1356818265&lang=zh_CN#rd))
-- [【2021-01-30】ORM框架入门之Sequelize,我快翻译不动了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485341&idx=1&sn=fc493c28ab138056567e916b769ddbf2&chksm=fcdfbe11cba8370793e8e0d71e7766f4e1e7f3e8672921d6b98757f7d7b271b290f3edc65d6f&token=1356818265&lang=zh_CN#rd)
-
-#### 2月
+[//]: # ()
+[//]: # (## 赞赏支持)
-- [【2021-02-07】被妹妹支配的一周,晚上差点连家都回不去..](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485376&idx=1&sn=049a5df5cb97786e80aded38a1bf3732&chksm=fcdfbe4ccba8375a52cb8d7077836216e5f5f41ee9453aebf524eb0a5d8a5db48cbabc11f3e4&token=1356818265&lang=zh_CN#rd)
+[//]: # ()
+[//]: # ()
+[//]: # (> 相逢不用忙归去,明日黄花蝶也愁;若系列文章对你有帮助,不如请作者喝一杯伏见桃山...)
+[//]: # (> )
-- [【2021-02-11】【新年快乐】程序员的2020,就这样悄咪咪地溜走了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485404&idx=1&sn=276100858df23daf987dbc68997477df&chksm=fcdfbe50cba837460079fc9ab414754a49668f82dc0f6a5a41ec320d3e5dd77c1a8c271e061b&token=1356818265&lang=zh_CN#rd)
+[//]: # (> **赞赏过的一定要扫下方右侧微信跟我说呀!!!!!!**)
+[//]: # ()
+[//]: # ()
-- [【2021-02-13】抢红包、拼手气来啦,之前答应的抽奖变成新年红包啦~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485420&idx=1&sn=26c0e3690363af5dddd805ae417eeee9&chksm=fcdfbe60cba8377645e44333ccbe35147b9844578008e5699aba62b82c12fc03634e2d68781c&token=1356818265&lang=zh_CN#rd)
+[//]: # ()
-## 赞赏支持
+[//]: # (

)
+[//]: # ()
+[//]: # ()
+[//]: # (
)
-> 相逢不用忙归去,明日黄花蝶也愁;若系列文章对你有帮助,不如请作者喝一杯伏见桃山...
->
-> **赞赏过的一定要扫下方右侧微信跟我说呀!!!!!!**
+[//]: # ()
+[//]: # ()
+[//]: # (## 联系我)
-
-
-

+[//]: # ()
+[//]: # ()
+[//]: # (> 对仓库有任何问题或建议,欢迎微信“骚扰”,商务合作请备注!)
+[//]: # (
)
-
+[//]: # (

)
+[//]: # (
)
-## 联系我
+[//]: # ()
+[//]: # ()
+[//]: # (## 鸣谢)
+[//]: # ()
+[//]: # ()
+[//]: # (以下排名不分先后!([详细统计]()))
-> 对仓库有任何问题或建议,欢迎微信“骚扰”,商务合作请备注!
-
-

-
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (## 赞助列表)
-## 赞助列表
+[//]: # ()
+[//]: # (以下排名不分先后!)
-以下排名不分先后!
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (## 公众号)
+[//]: # ()
+[//]: # ()
+[//]: # (如果大家想要实时关注我更新的文章以及我的日常的话,可以关注我的公众号,基本每天都会更新技术和各种吹水文章,就当做是记录心情、成长的地方吧)
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # ()
+[//]: # (

)
-
-## 公众号
-
-
-如果大家想要实时关注我更新的文章以及我的日常的话,可以关注我的公众号,基本每天都会更新技术和各种吹水文章,就当做是记录心情、成长的地方吧
-
-
-
-
-

-
\ No newline at end of file
+[//]: # (
)
\ No newline at end of file
diff --git a/docs/ds/basic_introduction/1.basic_concepts.md b/docs/ds/basic-introduction/1.basic_concepts.md
similarity index 100%
rename from docs/ds/basic_introduction/1.basic_concepts.md
rename to docs/ds/basic-introduction/1.basic_concepts.md
diff --git a/docs/ds/basic_introduction/2.three_elements_of_data_structure.md b/docs/ds/basic-introduction/2.three_elements_of_data_structure.md
similarity index 100%
rename from docs/ds/basic_introduction/2.three_elements_of_data_structure.md
rename to docs/ds/basic-introduction/2.three_elements_of_data_structure.md
diff --git a/docs/ds/basic_introduction/3.algorithm_and_algorithm_evaluation.md b/docs/ds/basic-introduction/3.algorithm_and_algorithm_evaluation.md
similarity index 100%
rename from docs/ds/basic_introduction/3.algorithm_and_algorithm_evaluation.md
rename to docs/ds/basic-introduction/3.algorithm_and_algorithm_evaluation.md
diff --git a/docs/ds/basic_introduction/Readme.md b/docs/ds/basic-introduction/Readme.md
similarity index 100%
rename from docs/ds/basic_introduction/Readme.md
rename to docs/ds/basic-introduction/Readme.md
diff --git a/docs/ds/basic_introduction/basic_introduction.png b/docs/ds/basic-introduction/basic_introduction.png
similarity index 100%
rename from docs/ds/basic_introduction/basic_introduction.png
rename to docs/ds/basic-introduction/basic_introduction.png
diff --git a/docs/ds/basic_introduction/basic_introduction.xmind b/docs/ds/basic-introduction/basic_introduction.xmind
similarity index 100%
rename from docs/ds/basic_introduction/basic_introduction.xmind
rename to docs/ds/basic-introduction/basic_introduction.xmind
diff --git a/docs/ds/linear_table/1.basic_concept_and_operation.md b/docs/ds/linear-table/1.basic_concept_and_operation.md
similarity index 100%
rename from docs/ds/linear_table/1.basic_concept_and_operation.md
rename to docs/ds/linear-table/1.basic_concept_and_operation.md
diff --git a/docs/ds/linear_table/2.sequential_representation.md b/docs/ds/linear-table/2.sequential_representation.md
similarity index 100%
rename from docs/ds/linear_table/2.sequential_representation.md
rename to docs/ds/linear-table/2.sequential_representation.md
diff --git a/docs/ds/linear_table/3.chain_representation.md b/docs/ds/linear-table/3.chain_representation.md
similarity index 100%
rename from docs/ds/linear_table/3.chain_representation.md
rename to docs/ds/linear-table/3.chain_representation.md
diff --git a/docs/ds/linear_table/4.double_linked_list.md b/docs/ds/linear-table/4.double_linked_list.md
similarity index 100%
rename from docs/ds/linear_table/4.double_linked_list.md
rename to docs/ds/linear-table/4.double_linked_list.md
diff --git a/docs/ds/linear_table/5.circular_list.md b/docs/ds/linear-table/5.circular_list.md
similarity index 100%
rename from docs/ds/linear_table/5.circular_list.md
rename to docs/ds/linear-table/5.circular_list.md
diff --git a/docs/ds/linear_table/6.static_linked_list.md b/docs/ds/linear-table/6.static_linked_list.md
similarity index 100%
rename from docs/ds/linear_table/6.static_linked_list.md
rename to docs/ds/linear-table/6.static_linked_list.md
diff --git a/docs/ds/linear_table/7.comparison_of_sequential_list_and_linked_list.md b/docs/ds/linear-table/7.comparison_of_sequential_list_and_linked_list.md
similarity index 100%
rename from docs/ds/linear_table/7.comparison_of_sequential_list_and_linked_list.md
rename to docs/ds/linear-table/7.comparison_of_sequential_list_and_linked_list.md
diff --git a/docs/ds/linear_table/8.selection_of_storage_structure.md b/docs/ds/linear-table/8.selection_of_storage_structure.md
similarity index 100%
rename from docs/ds/linear_table/8.selection_of_storage_structure.md
rename to docs/ds/linear-table/8.selection_of_storage_structure.md
diff --git a/docs/ds/linear_table/9.piecemeal_knowledge_supplement.md b/docs/ds/linear-table/9.piecemeal_knowledge_supplement.md
similarity index 100%
rename from docs/ds/linear_table/9.piecemeal_knowledge_supplement.md
rename to docs/ds/linear-table/9.piecemeal_knowledge_supplement.md
diff --git a/docs/ds/linear_table/Readme.md b/docs/ds/linear-table/Readme.md
similarity index 100%
rename from docs/ds/linear_table/Readme.md
rename to docs/ds/linear-table/Readme.md
diff --git a/docs/ds/linear_table/线性表_水印.png b/docs/ds/linear-table/线性表_水印.png
similarity index 100%
rename from docs/ds/linear_table/线性表_水印.png
rename to docs/ds/linear-table/线性表_水印.png
diff --git a/docs/note-map/CN_Map.md b/docs/note-map/CN_Map.md
deleted file mode 100644
index b5e5064..0000000
--- a/docs/note-map/CN_Map.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## 计算机网络思维导图
\ No newline at end of file
diff --git a/docs/note-map/DS_Map.md b/docs/note-map/DS_Map.md
deleted file mode 100644
index 001ba27..0000000
--- a/docs/note-map/DS_Map.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## 数据结构思维导图
\ No newline at end of file
diff --git a/docs/note-map/cn-map.md b/docs/note-map/cn-map.md
new file mode 100644
index 0000000..cb7dd2f
--- /dev/null
+++ b/docs/note-map/cn-map.md
@@ -0,0 +1,2 @@
+
+## 计算机网络思维导图
\ No newline at end of file
diff --git a/docs/note-map/ds-map.md b/docs/note-map/ds-map.md
new file mode 100644
index 0000000..a83b53d
--- /dev/null
+++ b/docs/note-map/ds-map.md
@@ -0,0 +1 @@
+## 数据结构思维导图
\ No newline at end of file
diff --git a/docs/os/Readme.md b/docs/os/Readme.md
index 1f3ede1..beaf998 100644
--- a/docs/os/Readme.md
+++ b/docs/os/Readme.md
@@ -1,15 +1,6 @@
---
-title: Readme
+title: 操作系统
---
-
-
## 操作系统
doing
diff --git a/package.json b/package.json
index 6a46e63..f867ba5 100644
--- a/package.json
+++ b/package.json
@@ -1,25 +1,28 @@
{
"name": "408CSFamily",
"description": "专业代号408 ,计算机基础知识点合集",
+ "version": "0.0.0",
"main": "index.js",
"scripts": {
"dev": "vuepress dev docs",
"build": "vuepress build docs",
- "build-image": "bash scripts/build_image.sh $npm_package_version",
+ "image": "bash scripts/build_image.sh $npm_package_version",
+ "faster-image": "bash scripts/build_image.sh $npm_package_version faster",
"ali": "bash scripts/deploy.sh ali $npm_package_version",
"github": "bash scripts/page_deploy.sh",
"clean": "find . -name \"node_modules\" -type d -exec rm -rf '{}' +"
},
- "author":{
+ "author": {
"name": "Chu Fan",
"email": "fairy_408@2925.com",
"url": "https://github.com/142vip"
},
"devDependencies": {
"@vuepress/client": "2.0.0-beta.60",
- "vue": "^3.2.45",
+ "vue": "^3.2.47",
"vuepress": "2.0.0-beta.60",
- "vuepress-theme-hope": "^2.0.0-beta.171"
+ "vuepress-plugin-search-pro": "^2.0.0-beta.172",
+ "vuepress-theme-hope": "^2.0.0-beta.172"
},
"license": "MIT"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 5bd3856..8c7a02c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -2,15 +2,17 @@ lockfileVersion: 5.3
specifiers:
'@vuepress/client': 2.0.0-beta.60
- vue: ^3.2.45
+ vue: ^3.2.47
vuepress: 2.0.0-beta.60
- vuepress-theme-hope: ^2.0.0-beta.171
+ vuepress-plugin-search-pro: ^2.0.0-beta.172
+ vuepress-theme-hope: ^2.0.0-beta.172
devDependencies:
'@vuepress/client': 2.0.0-beta.60
- vue: 3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-theme-hope: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-search-pro: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-theme-hope: 2.0.0-beta.172_vuepress@2.0.0-beta.60
packages:
@@ -56,7 +58,7 @@ packages:
'@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12
'@babel/helper-module-transforms': 7.20.11
'@babel/helpers': 7.20.13
- '@babel/parser': 7.20.13
+ '@babel/parser': 7.20.15
'@babel/template': 7.20.7
'@babel/traverse': 7.20.13
'@babel/types': 7.20.7
@@ -319,22 +321,14 @@ packages:
js-tokens: 4.0.0
dev: true
- /@babel/parser/7.20.13:
- resolution: {integrity: sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==}
+ /@babel/parser/7.20.15:
+ resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==}
engines: {node: '>=6.0.0'}
hasBin: true
dependencies:
'@babel/types': 7.20.7
dev: true
- /@babel/parser/7.20.5:
- resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.20.5
- dev: true
-
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12:
resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==}
engines: {node: '>=6.9.0'}
@@ -714,8 +708,8 @@ packages:
'@babel/helper-plugin-utils': 7.20.2
dev: true
- /@babel/plugin-transform-block-scoping/7.20.14_@babel+core@7.20.12:
- resolution: {integrity: sha512-sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ==}
+ /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12:
+ resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1087,7 +1081,7 @@ packages:
'@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12
'@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.12
'@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12
- '@babel/plugin-transform-block-scoping': 7.20.14_@babel+core@7.20.12
+ '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12
'@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12
'@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12
'@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12
@@ -1152,7 +1146,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
'@babel/code-frame': 7.18.6
- '@babel/parser': 7.20.13
+ '@babel/parser': 7.20.15
'@babel/types': 7.20.7
dev: true
@@ -1166,7 +1160,7 @@ packages:
'@babel/helper-function-name': 7.19.0
'@babel/helper-hoist-variables': 7.18.6
'@babel/helper-split-export-declaration': 7.18.6
- '@babel/parser': 7.20.13
+ '@babel/parser': 7.20.15
'@babel/types': 7.20.7
debug: 4.3.4
globals: 11.12.0
@@ -1174,15 +1168,6 @@ packages:
- supports-color
dev: true
- /@babel/types/7.20.5:
- resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.19.4
- '@babel/helper-validator-identifier': 7.19.1
- to-fast-properties: 2.0.0
- dev: true
-
/@babel/types/7.20.7:
resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==}
engines: {node: '>=6.9.0'}
@@ -1704,7 +1689,7 @@ packages:
engines: {node: '>= 8'}
dependencies:
'@nodelib/fs.scandir': 2.1.5
- fastq: 1.14.0
+ fastq: 1.15.0
dev: true
/@rollup/plugin-babel/5.3.1_d8e457a9eec5694be0a6185ede2794cb:
@@ -1791,7 +1776,7 @@ packages:
/@types/fs-extra/9.0.13:
resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==}
dependencies:
- '@types/node': 18.11.17
+ '@types/node': 18.13.0
dev: true
/@types/hash-sum/1.0.0:
@@ -1831,8 +1816,8 @@ packages:
resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==}
dev: true
- /@types/node/18.11.17:
- resolution: {integrity: sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==}
+ /@types/node/18.13.0:
+ resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==}
dev: true
/@types/raphael/2.3.3:
@@ -1842,13 +1827,13 @@ packages:
/@types/resolve/1.17.1:
resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
dependencies:
- '@types/node': 18.11.17
+ '@types/node': 18.13.0
dev: true
/@types/sax/1.2.4:
resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==}
dependencies:
- '@types/node': 18.11.17
+ '@types/node': 17.0.45
dev: true
/@types/trusted-types/2.0.2:
@@ -1859,7 +1844,7 @@ packages:
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
dev: true
- /@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.45:
+ /@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.47:
resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
@@ -1867,108 +1852,108 @@ packages:
vue: ^3.2.25
dependencies:
vite: 4.0.4
- vue: 3.2.45
+ vue: 3.2.47
dev: true
- /@vue/compiler-core/3.2.45:
- resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==}
+ /@vue/compiler-core/3.2.47:
+ resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
dependencies:
- '@babel/parser': 7.20.5
- '@vue/shared': 3.2.45
+ '@babel/parser': 7.20.15
+ '@vue/shared': 3.2.47
estree-walker: 2.0.2
source-map: 0.6.1
dev: true
- /@vue/compiler-dom/3.2.45:
- resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==}
+ /@vue/compiler-dom/3.2.47:
+ resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==}
dependencies:
- '@vue/compiler-core': 3.2.45
- '@vue/shared': 3.2.45
+ '@vue/compiler-core': 3.2.47
+ '@vue/shared': 3.2.47
dev: true
- /@vue/compiler-sfc/3.2.45:
- resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==}
+ /@vue/compiler-sfc/3.2.47:
+ resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
dependencies:
- '@babel/parser': 7.20.5
- '@vue/compiler-core': 3.2.45
- '@vue/compiler-dom': 3.2.45
- '@vue/compiler-ssr': 3.2.45
- '@vue/reactivity-transform': 3.2.45
- '@vue/shared': 3.2.45
+ '@babel/parser': 7.20.15
+ '@vue/compiler-core': 3.2.47
+ '@vue/compiler-dom': 3.2.47
+ '@vue/compiler-ssr': 3.2.47
+ '@vue/reactivity-transform': 3.2.47
+ '@vue/shared': 3.2.47
estree-walker: 2.0.2
magic-string: 0.25.9
- postcss: 8.4.20
+ postcss: 8.4.21
source-map: 0.6.1
dev: true
- /@vue/compiler-ssr/3.2.45:
- resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==}
+ /@vue/compiler-ssr/3.2.47:
+ resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==}
dependencies:
- '@vue/compiler-dom': 3.2.45
- '@vue/shared': 3.2.45
+ '@vue/compiler-dom': 3.2.47
+ '@vue/shared': 3.2.47
dev: true
- /@vue/devtools-api/6.4.5:
- resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==}
+ /@vue/devtools-api/6.5.0:
+ resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
dev: true
- /@vue/reactivity-transform/3.2.45:
- resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==}
+ /@vue/reactivity-transform/3.2.47:
+ resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
dependencies:
- '@babel/parser': 7.20.5
- '@vue/compiler-core': 3.2.45
- '@vue/shared': 3.2.45
+ '@babel/parser': 7.20.15
+ '@vue/compiler-core': 3.2.47
+ '@vue/shared': 3.2.47
estree-walker: 2.0.2
magic-string: 0.25.9
dev: true
- /@vue/reactivity/3.2.45:
- resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==}
+ /@vue/reactivity/3.2.47:
+ resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==}
dependencies:
- '@vue/shared': 3.2.45
+ '@vue/shared': 3.2.47
dev: true
- /@vue/repl/1.3.2_vue@3.2.45:
+ /@vue/repl/1.3.2_vue@3.2.47:
resolution: {integrity: sha512-5joGOuTFmjaugG3E1h/oP1EXSMcVXRUwLIoo8xvYQnqDrCT6g1SfsH1pfei5PpC5DUxMX1584CekZu6REgGYkQ==}
peerDependencies:
vue: ^3.2.13
dependencies:
- vue: 3.2.45
+ vue: 3.2.47
dev: true
- /@vue/runtime-core/3.2.45:
- resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==}
+ /@vue/runtime-core/3.2.47:
+ resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==}
dependencies:
- '@vue/reactivity': 3.2.45
- '@vue/shared': 3.2.45
+ '@vue/reactivity': 3.2.47
+ '@vue/shared': 3.2.47
dev: true
- /@vue/runtime-dom/3.2.45:
- resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==}
+ /@vue/runtime-dom/3.2.47:
+ resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==}
dependencies:
- '@vue/runtime-core': 3.2.45
- '@vue/shared': 3.2.45
+ '@vue/runtime-core': 3.2.47
+ '@vue/shared': 3.2.47
csstype: 2.6.21
dev: true
- /@vue/server-renderer/3.2.45_vue@3.2.45:
- resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==}
+ /@vue/server-renderer/3.2.47_vue@3.2.47:
+ resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==}
peerDependencies:
- vue: 3.2.45
+ vue: 3.2.47
dependencies:
- '@vue/compiler-ssr': 3.2.45
- '@vue/shared': 3.2.45
- vue: 3.2.45
+ '@vue/compiler-ssr': 3.2.47
+ '@vue/shared': 3.2.47
+ vue: 3.2.47
dev: true
- /@vue/shared/3.2.45:
- resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==}
+ /@vue/shared/3.2.47:
+ resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
dev: true
/@vuepress/bundler-vite/2.0.0-beta.60:
resolution: {integrity: sha512-nf+UAKNlAEZXZqu2Ztvr8Hg/5CtevWxvQGfYKV4lhw8UmoDjKKHoHPpPhF1QTUbnZ8W+jPLzIVz+hjunzsxl/A==}
dependencies:
- '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45
+ '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.47
'@vuepress/client': 2.0.0-beta.60
'@vuepress/core': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
@@ -1977,10 +1962,10 @@ packages:
connect-history-api-fallback: 2.0.0
postcss: 8.4.21
postcss-load-config: 4.0.1_postcss@8.4.21
- rollup: 3.12.1
+ rollup: 3.14.0
vite: 4.0.4
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
transitivePeerDependencies:
- '@types/node'
- less
@@ -2010,10 +1995,10 @@ packages:
/@vuepress/client/2.0.0-beta.60:
resolution: {integrity: sha512-WU5VGeDp41A2dVXqp18YBggflIjTq68mA+s5TCz93wk+7elAmPAkWKcobQBYQgvsuwHyg9nWulZAfMN6OEygKQ==}
dependencies:
- '@vue/devtools-api': 6.4.5
+ '@vue/devtools-api': 6.5.0
'@vuepress/shared': 2.0.0-beta.60
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
dev: true
/@vuepress/core/2.0.0-beta.60:
@@ -2023,7 +2008,7 @@ packages:
'@vuepress/markdown': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- vue: 3.2.45
+ vue: 3.2.47
transitivePeerDependencies:
- supports-color
dev: true
@@ -2058,8 +2043,8 @@ packages:
'@vuepress/core': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
ts-debounce: 4.0.0
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
transitivePeerDependencies:
- supports-color
dev: true
@@ -2071,7 +2056,7 @@ packages:
'@vuepress/core': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
ts-debounce: 4.0.0
- vue: 3.2.45
+ vue: 3.2.47
transitivePeerDependencies:
- supports-color
dev: true
@@ -2098,7 +2083,7 @@ packages:
'@vuepress/markdown': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- vue: 3.2.45
+ vue: 3.2.47
transitivePeerDependencies:
- supports-color
dev: true
@@ -2120,7 +2105,7 @@ packages:
'@vuepress/core': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
medium-zoom: 1.0.8
- vue: 3.2.45
+ vue: 3.2.47
transitivePeerDependencies:
- supports-color
dev: true
@@ -2131,8 +2116,8 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/core': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
transitivePeerDependencies:
- supports-color
dev: true
@@ -2159,12 +2144,12 @@ packages:
/@vuepress/plugin-theme-data/2.0.0-beta.60:
resolution: {integrity: sha512-3b34sXEAzShvUzeEMA/0JE4VrLxoMqGJOGMl0I9m0DKg2apgjRG6nYYq6gUnJW0gcUVK+tOOOHsMT6mTMs3xdA==}
dependencies:
- '@vue/devtools-api': 6.4.5
+ '@vue/devtools-api': 6.5.0
'@vuepress/client': 2.0.0-beta.60
'@vuepress/core': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- vue: 3.2.45
+ vue: 3.2.47
transitivePeerDependencies:
- supports-color
dev: true
@@ -2173,7 +2158,7 @@ packages:
resolution: {integrity: sha512-bwFksEtSQpbyAGJZkvRK9Z2zGmS144nv759vOzbRUZPPlGffeauzrPw9w7wxqp3gTJvIE/4Ufqt0AZTuSP/F/g==}
dependencies:
'@mdit-vue/types': 0.11.0
- '@vue/shared': 3.2.45
+ '@vue/shared': 3.2.47
dev: true
/@vuepress/theme-default/2.0.0-beta.60:
@@ -2198,10 +2183,10 @@ packages:
'@vuepress/plugin-theme-data': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- '@vueuse/core': 9.12.0_vue@3.2.45
+ '@vueuse/core': 9.12.0_vue@3.2.47
sass: 1.58.0
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
transitivePeerDependencies:
- '@vue/composition-api'
- supports-color
@@ -2225,13 +2210,13 @@ packages:
- supports-color
dev: true
- /@vueuse/core/9.12.0_vue@3.2.45:
+ /@vueuse/core/9.12.0_vue@3.2.47:
resolution: {integrity: sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==}
dependencies:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.12.0
- '@vueuse/shared': 9.12.0_vue@3.2.45
- vue-demi: 0.13.11_vue@3.2.45
+ '@vueuse/shared': 9.12.0_vue@3.2.47
+ vue-demi: 0.13.11_vue@3.2.47
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -2241,10 +2226,10 @@ packages:
resolution: {integrity: sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==}
dev: true
- /@vueuse/shared/9.12.0_vue@3.2.45:
+ /@vueuse/shared/9.12.0_vue@3.2.47:
resolution: {integrity: sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==}
dependencies:
- vue-demi: 0.13.11_vue@3.2.45
+ vue-demi: 0.13.11_vue@3.2.47
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -2254,14 +2239,18 @@ packages:
resolution: {integrity: sha512-hTfh2AbWQCX/oS4Hgr0W9cf79pHYf7X6Km5AcBDAmOL6AI7a5kP9qo9y2mcEzdfn9LK06P5Uuk8HY8vxQbgcrA==}
engines: {node: '>=14'}
dependencies:
- '@vueuse/core': 9.12.0_vue@3.2.45
+ '@vueuse/core': 9.12.0_vue@3.2.47
autosize: 5.0.2
marked: 4.2.12
- vue: 3.2.45
+ vue: 3.2.47
transitivePeerDependencies:
- '@vue/composition-api'
dev: true
+ /abortcontroller-polyfill/1.7.5:
+ resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==}
+ dev: true
+
/acorn/8.8.2:
resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
engines: {node: '>=0.4.0'}
@@ -2318,12 +2307,25 @@ packages:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
+ /artalk/2.4.4:
+ resolution: {integrity: sha512-8O/FjQM+oFnfsfouuej2qjRNfV9/0JJR2jI9vS7neI8zTa4xqu0PChDIR0CtZG8ze0eOKI0taTlEFhmahJUJIQ==}
+ dependencies:
+ abortcontroller-polyfill: 1.7.5
+ hanabi: 0.4.0
+ insane: 2.6.2
+ marked: 4.2.12
+ dev: true
+
/artplayer/4.6.2:
resolution: {integrity: sha512-9RMfFFy2wGgHUCnrwk+M2Z5OiLWQcBL+YzkSBwSi6IuJG6oM+TlfJJZt09RL2iag6DNQ+AUYtB879WUHxbqfIQ==}
dependencies:
option-validator: 2.0.6
dev: true
+ /assignment/2.0.0:
+ resolution: {integrity: sha512-naMULXjtgCs9SVUEtyvJNt68aF18em7/W+dhbR59kbz9cXWPEvUkCun2tqlgqRPSqZaKPpqLc5ZnwL8jVmJRvw==}
+ dev: true
+
/async/3.2.4:
resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
dev: true
@@ -2476,8 +2478,8 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001450
- electron-to-chromium: 1.4.284
- node-releases: 2.0.9
+ electron-to-chromium: 1.4.288
+ node-releases: 2.0.10
update-browserslist-db: 1.0.10_browserslist@4.21.5
dev: true
@@ -2642,6 +2644,11 @@ packages:
engines: {node: ^12.20.0 || >=14}
dev: true
+ /comment-regex/1.0.1:
+ resolution: {integrity: sha512-IWlN//Yfby92tOIje7J18HkNmWRR7JESA/BK8W7wqY/akITpU5B0JQWnbTjCfdChSrDNb0DrdA9jfAxiiBXyiQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/common-tags/1.8.2:
resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==}
engines: {node: '>=4.0.0'}
@@ -3109,8 +3116,8 @@ packages:
jake: 10.8.5
dev: true
- /electron-to-chromium/1.4.284:
- resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==}
+ /electron-to-chromium/1.4.288:
+ resolution: {integrity: sha512-8s9aJf3YiokIrR+HOQzNOGmEHFXVUQzXM/JaViVvKdCkNUjS+lEa/uT7xw3nDVG/IgfxiIwUGkwJ6AR1pTpYsQ==}
dev: true
/entities/3.0.1:
@@ -3303,8 +3310,8 @@ packages:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
dev: true
- /fastq/1.14.0:
- resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==}
+ /fastq/1.15.0:
+ resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies:
reusify: 1.0.4
dev: true
@@ -3465,7 +3472,7 @@ packages:
dependencies:
dir-glob: 3.0.1
fast-glob: 3.2.12
- ignore: 5.2.1
+ ignore: 5.2.4
merge2: 1.4.1
slash: 4.0.0
dev: true
@@ -3490,6 +3497,12 @@ packages:
strip-bom-string: 1.0.0
dev: true
+ /hanabi/0.4.0:
+ resolution: {integrity: sha512-ixJH94fwmmVzUSdxl7TMkVZJmsq4d2JKrxedpM5V1V+91iVHL0q6NnJi4xiDahK6Vo00xT17H8H6b4F6RVbsOg==}
+ dependencies:
+ comment-regex: 1.0.1
+ dev: true
+
/has-bigints/1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
dev: true
@@ -3538,6 +3551,11 @@ packages:
resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
dev: true
+ /he/0.5.0:
+ resolution: {integrity: sha512-DoufbNNOFzwRPy8uecq+j+VCPQ+JyDelHTmSgygrA5TsR8Cbw4Qcir5sGtWiusB4BdT89nmlaVDhSJOqC/33vw==}
+ hasBin: true
+ dev: true
+
/heap/0.2.7:
resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
dev: true
@@ -3579,8 +3597,8 @@ packages:
resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
dev: true
- /ignore/5.2.1:
- resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==}
+ /ignore/5.2.4:
+ resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
engines: {node: '>= 4'}
dev: true
@@ -3588,8 +3606,8 @@ packages:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
dev: true
- /immutable/4.2.2:
- resolution: {integrity: sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==}
+ /immutable/4.2.4:
+ resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==}
dev: true
/imsc/1.1.3:
@@ -3609,6 +3627,13 @@ packages:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true
+ /insane/2.6.2:
+ resolution: {integrity: sha512-BqEL1CJsjJi+/C/zKZxv31zs3r6zkLH5Nz1WMFb7UBX2KHY2yXDpbFTSEmNHzomBbGDysIfkTX55A0mQZ2CQiw==}
+ dependencies:
+ assignment: 2.0.0
+ he: 0.5.0
+ dev: true
+
/internal-slot/1.0.4:
resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==}
engines: {node: '>= 0.4'}
@@ -3817,7 +3842,7 @@ packages:
resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
engines: {node: '>= 10.13.0'}
dependencies:
- '@types/node': 18.11.17
+ '@types/node': 18.13.0
merge-stream: 2.0.0
supports-color: 7.2.0
dev: true
@@ -4125,8 +4150,8 @@ packages:
hasBin: true
dev: true
- /node-releases/2.0.9:
- resolution: {integrity: sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==}
+ /node-releases/2.0.10:
+ resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==}
dev: true
/non-layered-tidy-tree-layout/2.0.2:
@@ -4298,15 +4323,6 @@ packages:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
dev: true
- /postcss/8.4.20:
- resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.4
- picocolors: 1.0.0
- source-map-js: 1.0.2
- dev: true
-
/postcss/8.4.21:
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
engines: {node: ^10 || ^12 || >=14}
@@ -4470,7 +4486,7 @@ packages:
jest-worker: 26.6.2
rollup: 2.79.1
serialize-javascript: 4.0.0
- terser: 5.16.2
+ terser: 5.16.3
dev: true
/rollup/2.79.1:
@@ -4481,8 +4497,8 @@ packages:
fsevents: 2.3.2
dev: true
- /rollup/3.12.1:
- resolution: {integrity: sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==}
+ /rollup/3.14.0:
+ resolution: {integrity: sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
@@ -4521,7 +4537,7 @@ packages:
hasBin: true
dependencies:
chokidar: 3.5.3
- immutable: 4.2.2
+ immutable: 4.2.4
source-map-js: 1.0.2
dev: true
@@ -4742,8 +4758,8 @@ packages:
unique-string: 2.0.0
dev: true
- /terser/5.16.2:
- resolution: {integrity: sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==}
+ /terser/5.16.3:
+ resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==}
engines: {node: '>=10'}
hasBin: true
dependencies:
@@ -4920,12 +4936,12 @@ packages:
esbuild: 0.16.17
postcss: 8.4.21
resolve: 1.22.1
- rollup: 3.12.1
+ rollup: 3.14.0
optionalDependencies:
fsevents: 2.3.2
dev: true
- /vue-demi/0.13.11_vue@3.2.45:
+ /vue-demi/0.13.11_vue@3.2.47:
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
engines: {node: '>=12'}
hasBin: true
@@ -4937,30 +4953,30 @@ packages:
'@vue/composition-api':
optional: true
dependencies:
- vue: 3.2.45
+ vue: 3.2.47
dev: true
- /vue-router/4.1.6_vue@3.2.45:
+ /vue-router/4.1.6_vue@3.2.47:
resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==}
peerDependencies:
vue: ^3.2.0
dependencies:
- '@vue/devtools-api': 6.4.5
- vue: 3.2.45
+ '@vue/devtools-api': 6.5.0
+ vue: 3.2.47
dev: true
- /vue/3.2.45:
- resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==}
+ /vue/3.2.47:
+ resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==}
dependencies:
- '@vue/compiler-dom': 3.2.45
- '@vue/compiler-sfc': 3.2.45
- '@vue/runtime-dom': 3.2.45
- '@vue/server-renderer': 3.2.45_vue@3.2.45
- '@vue/shared': 3.2.45
+ '@vue/compiler-dom': 3.2.47
+ '@vue/compiler-sfc': 3.2.47
+ '@vue/runtime-dom': 3.2.47
+ '@vue/server-renderer': 3.2.47_vue@3.2.47
+ '@vue/shared': 3.2.47
dev: true
- /vuepress-plugin-auto-catalog/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-b8ytsJ+mQjHzTs+YcRAN8Qaezm/sGswsCimIl0mCxA1rWdK6er6FRKGxKT/a5FCJutj8iWfhZISTIsxR5NFaVQ==}
+ /vuepress-plugin-auto-catalog/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-/J4x5mBrgAkbi5gYjkBDAGfWQhX74R7lJq8tYxo4HUo/9ZDczO0LKVP7hZoWlaDGO89S1LadFpbun/DTVs2D0A==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -4989,19 +5005,19 @@ packages:
'@vuepress/core': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-components: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-components: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- '@vue/composition-api'
- supports-color
dev: true
- /vuepress-plugin-blog2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-MNYxsO8zPpewmMKbF+HMc6SGI8UJmgE9ZfgVZiPRy26mSIA0ZFiwRybcG3+uE9fgqRnAeN3JpNehXMDnEdrJZg==}
+ /vuepress-plugin-blog2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-6EVXWIotmf1PaW0xOU85HsvkcRuPNb0abXcsGUAQ1NknCumxLWaYAaHjY6Unnf/fFoDz3THmrAMoegUnwTBfTw==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5024,16 +5040,16 @@ packages:
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
chokidar: 3.5.3
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-plugin-comment2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-mg7d15ph/4oRHI69NaJD2NzIXKtAMNYOsqdTm7mxIaR6HdhdyiTLnYzIcLEzrCWDzOsx/VqmiDXo+vi5v2BKdw==}
+ /vuepress-plugin-comment2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-9ptTMLGUxvOR8WkC1egn9AS+Ytr9jW0VW0ksLn4ZZ7lefbmALSpBi8qqkVFJmFpTgiPktta/TevAgQ5CPXQ1QA==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5060,20 +5076,21 @@ packages:
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
'@waline/client': 2.14.7
+ artalk: 2.4.4
giscus: 1.2.6
twikoo: 1.6.9
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- '@vue/composition-api'
- supports-color
dev: true
- /vuepress-plugin-components/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-Flu41W93USN6Wja66JGq0CmwVwkAa4ZgWQcI0hobY74NgbwwTeDdXGsA2rrQkfspj8jxitHJu0z8YRMGrF4I5A==}
+ /vuepress-plugin-components/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-2ajbcVQ4x9TSRBw72Fd4k+dHGAxx+MvEvsihxP5U3sL7MD+34ncR5AMsi27ahBkF3blcE4MFt9W+/AcC91CtLg==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5102,26 +5119,26 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- '@vueuse/core': 9.12.0_vue@3.2.45
+ '@vueuse/core': 9.12.0_vue@3.2.47
artplayer: 4.6.2
balloon-css: 1.2.0
dashjs: 4.5.2
hls.js: 1.3.2
mpegts.js: 1.7.2
plyr: 3.7.3
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-reading-time2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-reading-time2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- '@vue/composition-api'
- supports-color
dev: true
- /vuepress-plugin-copy-code2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-2cpVssq3eoyeel947zi+kRV5XPqRgOCpeLblCsmfIF81SPEdQB5snOUdDX4xG3A6hb9Bjy3Qm0szIg1A1+eCyQ==}
+ /vuepress-plugin-copy-code2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-Ty1gVNvbSr2WJAcOTsCOorYhQNtScbOFSgJ5NCe544eJ4GylhV1WW+RhEL8g2GRNrG+JXxx8WHC2EMYsYD2Ghg==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5147,18 +5164,20 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
+ '@vueuse/core': 9.12.0_vue@3.2.47
balloon-css: 1.2.0
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
+ - '@vue/composition-api'
- supports-color
dev: true
- /vuepress-plugin-copyright2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-myTOP5tJbTMSboze5XxzWMc0gzZ6Rrchkwq8Hg/p9LCbpKZv47zP2BLN7WipZPIrNH+4Gb2M+sLx7VUTlj1Y9g==}
+ /vuepress-plugin-copyright2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-RNaEPQ2o80XskWiGaF31yJhw7DCpuCMKzYwkQY9Gxk3rMbz72+lA48Ah/u6LQS61gUZxk+g50xMC+OdZwCFhuw==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5179,18 +5198,18 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- '@vueuse/core': 9.12.0_vue@3.2.45
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ '@vueuse/core': 9.12.0_vue@3.2.47
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- '@vue/composition-api'
- supports-color
dev: true
- /vuepress-plugin-feed2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-fqx13K49m1EeWudreqkcktQMhxvnwmMJVIRi855TIU+l30gE/XB3k9DZtNaIEBj0niwAAaGQQ4melnO6LnXF6Q==}
+ /vuepress-plugin-feed2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-ce/nOdrdBcgxYc18KdUS9on3NRSKpOarj2/OONoInT9Uk74nAVR0SpFwPkWwI3rdGiHmbzJZ3Aj/Yy0oQeklVQ==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5207,15 +5226,15 @@ packages:
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
cheerio: 1.0.0-rc.12
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
xml-js: 1.6.11
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-plugin-md-enhance/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-Wt19MVjNLYZo8+0Ylv3Zuq9FpiVPfxxB9nN/BtCa/ndXmG4+L5jRn8FJVMFaKH9z/ez549eHHMfr5J/CN/UUIg==}
+ /vuepress-plugin-md-enhance/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-LmrWJSmd2PG8+3X/lmpJ6E5EZ4+Uu4vsjM6qm3DZjUGg+lXmAMRLulMslVdfHfrJbITeIKM9X8+V6X1CECAUyg==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5260,11 +5279,11 @@ packages:
'@mdit/plugin-uml': 0.2.3
'@mermaid-js/mermaid-mindmap': 9.3.0
'@types/markdown-it': 12.2.3
- '@vue/repl': 1.3.2_vue@3.2.45
+ '@vue/repl': 1.3.2_vue@3.2.47
'@vuepress/client': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- '@vueuse/core': 9.12.0_vue@3.2.45
+ '@vueuse/core': 9.12.0_vue@3.2.47
balloon-css: 1.2.0
chart.js: 4.2.0
echarts: 5.4.1
@@ -5273,18 +5292,18 @@ packages:
markdown-it: 13.0.1
mermaid: 9.3.0
reveal.js: 4.4.0
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- '@vue/composition-api'
- supports-color
dev: true
- /vuepress-plugin-photo-swipe/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-Uzfm08Zb3WTfGch/lJ1lIYhgxTrbQ7LMhLWnccinIUxlrFiComNaQfd7/obI9f/wAYIObzr465+RdVcsuf+/nA==}
+ /vuepress-plugin-photo-swipe/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-7wLJ0sdBJBfne1d1W/WiomSeKSWGw1Lpcu6NuzdOkIElvqJGSCc+qB+w9/9jaXGsaTQzgEeXIppSLAofOY7Lrg==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5310,20 +5329,20 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- '@vueuse/core': 9.12.0_vue@3.2.45
+ '@vueuse/core': 9.12.0_vue@3.2.47
photoswipe: 5.3.5
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- '@vue/composition-api'
- supports-color
dev: true
- /vuepress-plugin-pwa2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-KuULTZjh30/e9o/Rk8c1LWTp2hF+803zzd5Pi43NUYW4gvL755/Xuy7jiXPwiGyI5DgR+DasjG1CGwwaoUcN0Q==}
+ /vuepress-plugin-pwa2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-Xf25I6k8LkrVKZvRjx0KF6FPEfAqcLELYI0QtwlyWN9WvPs4C8DP7ukGaLMm/cDTHTHn/C0FkLYM8awObbC3zA==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5349,14 +5368,14 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- '@vueuse/core': 9.12.0_vue@3.2.45
+ '@vueuse/core': 9.12.0_vue@3.2.47
mitt: 3.0.0
register-service-worker: 1.7.2
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
workbox-build: 6.5.4
transitivePeerDependencies:
- '@types/babel__core'
@@ -5364,8 +5383,8 @@ packages:
- supports-color
dev: true
- /vuepress-plugin-reading-time2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-D1MF3QXuYAZMCQQER7yyU+2gqzwfz5w5Q+xy5yBcz2bAE63spPtKMW+KqKypu3a5JE8Jqm4c2vlUEkt05+3lWQ==}
+ /vuepress-plugin-reading-time2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-u/JjNoR/GI/syUnikecQ/PfHARKhErH+Be9ZDmq6kzaPtVbtJyua3W9PH+b/fkvvcLM2mY76mRgZ70mnHq9GEg==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5381,14 +5400,14 @@ packages:
vuepress-webpack:
optional: true
dependencies:
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-plugin-rtl/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-AQrc3swA0fUZ08HWJmVkIDfa3htzignmPJZS0+181LoilYpmPyI6qjhOIs9eXUnGSX7vGjIQ6uOinjTioUCUNw==}
+ /vuepress-plugin-rtl/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-rp3cG2Rife0OwA5j+cqtdx6xt6qmhx25m0zqSv8GMXDxndzCCiOZioHv0f+y8PfYhzhlIhjwgxwd8TuY8mN+/Q==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5405,15 +5424,15 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- vue: 3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-plugin-sass-palette/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-HpglC1TaZun4g4g/4ZFgTGHk9YdyUyLRlOP0HYzHEn01KKJBJkma1BLtJ0NNGfrajNsX7dQPbiUrawH4kOrIQQ==}
+ /vuepress-plugin-sass-palette/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-ziybGwkOzcW0wTC4F/n2rFYMDqa0uDdSHHJPfhvc/cIOh/WEkSmQnbpWZ4/EC0mUrdQ2L6Bz9XLWTlG6fTcnPw==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5436,14 +5455,55 @@ packages:
'@vuepress/utils': 2.0.0-beta.60
chokidar: 3.5.3
sass: 1.58.0
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-plugin-seo2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-M4JpXO4xVtVnPI/8fKVXLQIOy9aPk3ZCytAaTFUGGZeLfQ3yxx4ca1zkpa4X9mRJYOckZlH2dLi6/4aaveck3w==}
+ /vuepress-plugin-search-pro/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-YvAxROcj7/slfqpwo4GPaOAU+jy3Hi/fHM5vhqUchptcOOM2whhO5ELxtYk7+9L/dKnwY7ywSm5D1KPNefvt6Q==}
+ engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
+ peerDependencies:
+ sass-loader: ^13.2.0
+ vuepress: 2.0.0-beta.60
+ vuepress-vite: 2.0.0-beta.60
+ vuepress-webpack: 2.0.0-beta.60
+ peerDependenciesMeta:
+ '@vuepress/client':
+ optional: true
+ sass-loader:
+ optional: true
+ vuepress:
+ optional: true
+ vuepress-plugin-sass-palette:
+ optional: true
+ vuepress-shared:
+ optional: true
+ vuepress-vite:
+ optional: true
+ vuepress-webpack:
+ optional: true
+ dependencies:
+ '@vuepress/client': 2.0.0-beta.60
+ '@vuepress/shared': 2.0.0-beta.60
+ '@vuepress/utils': 2.0.0-beta.60
+ '@vueuse/core': 9.12.0_vue@3.2.47
+ body-scroll-lock: 3.1.5
+ cheerio: 1.0.0-rc.12
+ chokidar: 3.5.3
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ transitivePeerDependencies:
+ - '@vue/composition-api'
+ - supports-color
+ dev: true
+
+ /vuepress-plugin-seo2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-IZGuepbuZONDHK7c/ca71KBrPEMl+YFgkjtU35d84TwV6WJzMEX4kFYL6cE4/H5jBuKLrcSpo+7DdThaGYXKmw==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5459,14 +5519,14 @@ packages:
dependencies:
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-plugin-sitemap2/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-6KX5JgL3K8Le7lotCf4awbqsf8D6ndvSfkzGtbJrPv08BLQveRDv3jQ6zF/vRisOhv68AKOLPWqeRr3qEQsooQ==}
+ /vuepress-plugin-sitemap2/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-QkfD5rwMSIBAFCBPtOtXU2L6GMcKFoeHLFM38oOfNwvMnvK5jmW9FFL0NPnZRQ/NT9/MaLCk3a9E+EUwajqZig==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5485,14 +5545,14 @@ packages:
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
sitemap: 7.1.1
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-shared/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-sZELz2hbhgdRJRJf82xD4y6slBXWsRrvZOEtwzRKj/aciu664NXs5qd9ArICZ+A+jXtvNp+zM/RXYtAzrK+S1w==}
+ /vuepress-shared/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-Nsv09nw3FWe/ilsoIBjqlIiUirFUBtHCnu7NYkhiu291nWeobqp9ywlFjvQ8JcXJhUe17Jk9CUF3iv8D068Hew==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
vuepress: 2.0.0-beta.60
@@ -5517,15 +5577,15 @@ packages:
fflate: 0.7.4
gray-matter: 4.0.3
striptags: 3.2.0
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
transitivePeerDependencies:
- supports-color
dev: true
- /vuepress-theme-hope/2.0.0-beta.171_vuepress@2.0.0-beta.60:
- resolution: {integrity: sha512-3wKRvCw1z9wDfHVUAobPjYsxvL1eXxMJeYy1v6WtoTdRAEQfB62Jdu1bsdlJxE3IIpGqR3Y2oOm6wg+UaFcxAw==}
+ /vuepress-theme-hope/2.0.0-beta.172_vuepress@2.0.0-beta.60:
+ resolution: {integrity: sha512-/pGlVGB6iSu/Ygq2SlTQtvRi1g7Kw3fJpEF2Tl+Zn6ZVZvS9mZeMmY8i0M4T4iuWcYXb+hjSSeJQg9lGOiT28A==}
engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'}
peerDependencies:
sass-loader: ^13.2.0
@@ -5606,39 +5666,39 @@ packages:
'@vuepress/plugin-theme-data': 2.0.0-beta.60
'@vuepress/shared': 2.0.0-beta.60
'@vuepress/utils': 2.0.0-beta.60
- '@vueuse/core': 9.12.0_vue@3.2.45
+ '@vueuse/core': 9.12.0_vue@3.2.47
balloon-css: 1.2.0
bcrypt-ts: 3.0.0
body-scroll-lock: 3.1.5
cheerio: 1.0.0-rc.12
chokidar: 3.5.3
gray-matter: 4.0.3
- vue: 3.2.45
- vue-router: 4.1.6_vue@3.2.45
- vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
- vuepress-plugin-auto-catalog: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-blog2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-comment2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-components: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-copy-code2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-copyright2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-feed2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-md-enhance: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-photo-swipe: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-pwa2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-reading-time2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-rtl: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-seo2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-plugin-sitemap2: 2.0.0-beta.171_vuepress@2.0.0-beta.60
- vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60
+ vue: 3.2.47
+ vue-router: 4.1.6_vue@3.2.47
+ vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
+ vuepress-plugin-auto-catalog: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-blog2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-comment2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-components: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-copy-code2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-copyright2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-feed2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-md-enhance: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-photo-swipe: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-pwa2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-reading-time2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-rtl: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-seo2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-plugin-sitemap2: 2.0.0-beta.172_vuepress@2.0.0-beta.60
+ vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60
transitivePeerDependencies:
- '@types/babel__core'
- '@vue/composition-api'
- supports-color
dev: true
- /vuepress-vite/2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b:
+ /vuepress-vite/2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc:
resolution: {integrity: sha512-ljHvo419nbfYl/cQecVbYL4bwJjUOX0+z76v/4yX6ODeGIpdHIs7ARZ4t52mr0EEfwP6aZbZa+qFZTTQutxAuQ==}
hasBin: true
peerDependencies:
@@ -5650,7 +5710,7 @@ packages:
'@vuepress/client': 2.0.0-beta.60
'@vuepress/core': 2.0.0-beta.60
'@vuepress/theme-default': 2.0.0-beta.60
- vue: 3.2.45
+ vue: 3.2.47
transitivePeerDependencies:
- '@types/node'
- '@vue/composition-api'
@@ -5664,11 +5724,11 @@ packages:
- ts-node
dev: true
- /vuepress/2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b:
+ /vuepress/2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc:
resolution: {integrity: sha512-evkv5PtX5pdlEyY5EcEV+rN/HTmi8iG7ZcvAnMFfYKWdvKiUjE+/DPwZfmE8emx33FEE2htbAKgtruABTocEjA==}
hasBin: true
dependencies:
- vuepress-vite: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b
+ vuepress-vite: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc
transitivePeerDependencies:
- '@types/node'
- '@vue/composition-api'
diff --git a/scripts/build_image.sh b/scripts/build_image.sh
index b280da5..23e2350 100644
--- a/scripts/build_image.sh
+++ b/scripts/build_image.sh
@@ -1,12 +1,11 @@
#!/bin/bash
## 功能:本地前后端项目构建、打包镜像,上传docker仓库
## 参考:https://blog.csdn.net/Dontla/article/details/125210694
+## 使用示例:bash xxx.sh 版本号 faster[可选]
+## - bash build_image.sh 0.0.1 faster
## 作者:储凡
-## 使用示例:bash xxx.sh 版本号
-## - bash build_image.sh 0.0.1
##
-
## 日志颜色定义
readonly successLogger="\033[36m"
readonly errorLogger="\033[1;31m"
@@ -16,9 +15,13 @@ readonly currentTime=$(date "+%Y-%m-%d %H:%M:%S")
## 项目名称
readonly projectName="408CSFamily"
## 仓库地址
-readonly repoAddress="registry.cn-hangzhou.aliyuncs.com/142vip/doc_book:"
+readonly repoAddress="registry.cn-hangzhou.aliyuncs.com/142vip/doc_book"
## 版本号
version=${1}
+## 是否先本地构建,执行npm run build操作
+isFaster=${2}
+## 镜像名称
+imageTagName=${repoAddress}:${projectName}-${version}
prepare_check(){
@@ -30,7 +33,15 @@ prepare_check(){
run(){
echo -e "${successLogger}---------------- shell ${projectName} start ---------------- "
- docker build -t "${repoAddress}${projectName}-${version}" .
+
+ if [ "${isFaster}" == "faster" ];then
+ ## 本地构建、快速制作镜像
+ npm run build && docker build -f Faster.Dockerfile --build-arg APP_VERSION="${version}" -t "${imageTagName}" .
+ else
+ ## ci流程构建
+ docker build -f Dockerfile --build-arg APP_VERSION="${version}" -t "${imageTagName}" .
+ fi
+
echo -e "${successLogger}---------------- shell ${projectName} end ---------------- "
push_docker_image
}
@@ -40,14 +51,14 @@ run(){
## 推送镜像
push_docker_image(){
- if [[ "$(docker images -q "${repoAddress}${projectName}-${version}" 2> /dev/null)" != "" ]];
+ if [[ "$(docker images -q "${imageTagName}" 2> /dev/null)" != "" ]];
then
## 推送
- docker push "${repoAddress}${projectName}-${version}"
+ docker push "${imageTagName}"
echo -e "${successLogger}---------------- 上传镜像成功,删除本地镜像 ---------------- "
- docker rmi "${repoAddress}${projectName}-${version}"
+ docker rmi "${imageTagName}"
else
- echo -e "${errorLogger}${currentTime}:镜像:${repoAddress}${projectName}-${version}不存在"
+ echo -e "${errorLogger}${currentTime}:[镜像] ${imageTagName}不存在"
fi
exit 0
}
diff --git a/scripts/deploy.sh b/scripts/deploy.sh
index b4b9c1f..75f1222 100644
--- a/scripts/deploy.sh
+++ b/scripts/deploy.sh
@@ -72,7 +72,7 @@ run(){
## 删除容器
delete_container "${containerName}"
## 删除镜像
- delete_image "${repoAddress}:${containerName}_${version}"
+ delete_image "${repoAddress}:${containerName}-${version}"
## 部署
deploy_to_ali
exit 0;