mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-02-03 02:23:38 +08:00
feat: 移除eslint相关配置,引入@antfu/eslint-config,统一约束风格
This commit is contained in:
@@ -1,6 +0,0 @@
|
||||
node_modules
|
||||
.github
|
||||
.idea
|
||||
.dockerignore
|
||||
.gitignore
|
||||
|
||||
169
.eslintrc.js
169
.eslintrc.js
@@ -1,169 +0,0 @@
|
||||
module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true
|
||||
},
|
||||
extends: [
|
||||
'plugin:vue/essential',
|
||||
'standard'
|
||||
],
|
||||
parserOptions: {
|
||||
ecmaVersion: 12,
|
||||
parser: '@typescript-eslint/parser',
|
||||
sourceType: 'module'
|
||||
},
|
||||
plugins: [
|
||||
'vue',
|
||||
'@typescript-eslint'
|
||||
],
|
||||
rules: {
|
||||
'no-unused-vars': 0,
|
||||
'arrow-spacing': [2, {
|
||||
before: true,
|
||||
after: true
|
||||
}], // 箭头函数中的箭头前后加空格
|
||||
'block-spacing': [2, 'always'], // 花括号内前后加空格
|
||||
'brace-style': [2, '1tbs', {
|
||||
allowSingleLine: true
|
||||
}], // 允许单行方法
|
||||
'comma-dangle': [2, 'never'], // 在对象、数组文字中不使用尾随逗号
|
||||
'comma-spacing': [2, {
|
||||
before: false,
|
||||
after: true
|
||||
}], // 逗号后空格
|
||||
'comma-style': [2, 'last'], // 对象、数组元素同一行后面加逗号
|
||||
'constructor-super': 2, // 派生类的构造函数必须调用super()
|
||||
curly: [2, 'multi-line'], // 方法体多行不允许省略花括号
|
||||
'dot-location': [2, 'property'], // 点与属性在同一行
|
||||
'eol-last': 2, // 在非空文件的末尾强制使用至少一个换行符
|
||||
'generator-star-spacing': [2, {
|
||||
before: true,
|
||||
after: true
|
||||
}], // 生成器函数前后加空格
|
||||
'handle-callback-err': [2, '^(err|error)$'], // err的错误回调必须处理
|
||||
'key-spacing': [2, {
|
||||
beforeColon: false,
|
||||
afterColon: true
|
||||
}], // 对象字面亮键和冒号之间存在空格
|
||||
'keyword-spacing': [2, {
|
||||
before: true,
|
||||
after: true
|
||||
}],
|
||||
'new-cap': [2, {
|
||||
newIsCap: true,
|
||||
capIsNew: false
|
||||
}], // 构造函数首字母大写
|
||||
'no-class-assign': 2, // 禁止修改类申明的变量
|
||||
'no-cond-assign': 2, // 禁止条件表达式中出现赋值操作符
|
||||
'no-const-assign': 2, // 禁止修改 const 声明的变量
|
||||
'no-delete-var': 2, // 禁止删除变量
|
||||
'no-dupe-args': 2, // 禁止 function 定义中出现重名参数
|
||||
'no-dupe-class-members': 2, // 禁止类成员中出现重复的名称
|
||||
'no-dupe-keys': 2, // 禁止对象字面量中出现重复的 key
|
||||
'no-duplicate-case': 2, // 禁止出现重复的 case 标签
|
||||
'no-empty-character-class': 2, // 禁止在正则表达式中使用空字符集
|
||||
'no-empty-pattern': 2, // 禁止使用空解构模式
|
||||
'no-eval': 2, // 禁用 eval()
|
||||
'no-ex-assign': 2, // 禁止对 catch 子句的参数重新赋值
|
||||
'no-extend-native': 2, // 禁止扩展原生类型
|
||||
'no-extra-bind': 2, // 禁止不必要的函数绑定
|
||||
'no-extra-boolean-cast': 2, // 禁止不必要的布尔转换
|
||||
'no-extra-parens': [2, 'functions'], // 禁止不必要的括号
|
||||
'no-fallthrough': 2, // 禁止 case 语句落空
|
||||
'no-func-assign': 2, // 禁止对 function 声明重新赋值
|
||||
'no-implied-eval': 2, // 禁止使用类似 eval() 的方法
|
||||
'no-inner-declarations': [2, 'functions'], // 禁止在嵌套的块中出现function 声明
|
||||
'no-invalid-regexp': 2, // 禁止 RegExp 构造函数中存在无效的正则表达式字符串
|
||||
'no-irregular-whitespace': 2, // 禁止不规则的空白
|
||||
'no-iterator': 2, // 禁用 __iterator__ 属性
|
||||
'no-label-var': 2, // 不允许标签与变量同名
|
||||
'no-labels': [2, {
|
||||
allowLoop: false,
|
||||
allowSwitch: false
|
||||
}], // 禁用标签语句
|
||||
'no-lone-blocks': 2, // 禁用不必要的嵌套块
|
||||
'no-multi-spaces': 2, // 禁止使用多个空格
|
||||
'no-multi-str': 2, // 禁止使用多行字符串
|
||||
'no-multiple-empty-lines': [2, {
|
||||
max: 2
|
||||
}], // 禁止出现多行空行
|
||||
'no-global-assign': 2, // 禁止对原生对象或只读的全局对象进行赋值
|
||||
'no-unsafe-negation': 2, // 禁止对关系运算符的左操作数使用否定操作符
|
||||
'no-new-object': 2, // 禁用 Object 的构造函数
|
||||
'no-new-require': 2, // 禁止调用 require 时使用 new 操作符
|
||||
'no-new-wrappers': 2, // 禁止对 String,Number 和 Boolean 使用 new 操作符
|
||||
'no-obj-calls': 2, // 禁止把全局对象作为函数调用
|
||||
'no-octal': 2, // 禁用八进制字面量
|
||||
'no-octal-escape': 2, // 禁止在字符串中使用八进制转义序列
|
||||
'no-path-concat': 2, // 禁止对 __dirname 和 __filename 进行字符串连接
|
||||
'no-proto': 2, // 禁用 __proto__ 属性
|
||||
'no-redeclare': 2, // 禁止多次声明同一变量
|
||||
'no-regex-spaces': 2, // 禁止正则表达式字面量中出现多个空格
|
||||
'no-return-assign': [2, 'except-parens'], // 禁止在 return 语句中使用赋值语句
|
||||
'no-self-assign': 2, // 禁止自我赋值,禁止自身比较
|
||||
'no-sequences': 2, // 禁用逗号操作符
|
||||
'no-shadow-restricted-names': 2, // 禁止将标识符定义为受限的名字
|
||||
'func-call-spacing': 2, // 要求或禁止在函数标识符和其调用之间有空格
|
||||
'no-sparse-arrays': 2, // 禁用稀疏数组
|
||||
'no-this-before-super': 2, // 禁止在构造函数中,在调用 super() 之前使用 this 或 super
|
||||
'no-trailing-spaces': 2, // 禁用行尾空格
|
||||
'no-undef-init': 2, // 禁止将变量初始化为 undefined
|
||||
'no-unexpected-multiline': 2, // 禁止出现令人困惑的多行表达式
|
||||
'no-unmodified-loop-condition': 2, // 禁用一成不变的循环条件
|
||||
'no-unneeded-ternary': [2, {
|
||||
defaultAssignment: false
|
||||
}], // 禁止可以在有更简单的可替代的表达式时使用三元操作符
|
||||
'no-unreachable': 2, // 禁止在 return、throw、continue 和 break 语句之后出现不可达代码
|
||||
'no-unsafe-finally': 2, // 禁止在 finally 语句块中出现控制流语句
|
||||
'no-useless-call': 2, // 禁止不必要的 .call() 和 .apply()
|
||||
'no-useless-computed-key': 2, // 禁止在对象中使用不必要计算属性
|
||||
'no-useless-constructor': 2, // 禁用不必要的构造函数
|
||||
'no-useless-escape': 0, // 禁用不必要的转义字符
|
||||
'no-whitespace-before-property': 2, // 禁止属性前有空白
|
||||
'no-with': 2, // 禁用 with 语句
|
||||
'one-var': [2, {
|
||||
initialized: 'never'
|
||||
}], // 强制函数中的变量要么一起声明要么分开声明
|
||||
'operator-linebreak': [2, 'after', {
|
||||
overrides: {
|
||||
'?': 'before',
|
||||
':': 'before'
|
||||
}
|
||||
}], // 强制操作符使用一致的换行符
|
||||
'padded-blocks': [2, 'never'], // 要求或禁止块内填充
|
||||
quotes: [2, 'single', {
|
||||
avoidEscape: true,
|
||||
allowTemplateLiterals: true
|
||||
}], // 强制使用一致的反勾号、双引号或单引号
|
||||
'semi-spacing': [2, {
|
||||
before: false,
|
||||
after: true
|
||||
}], // 强制在块之前使用一致的空格
|
||||
'space-before-blocks': [2, 'always'], // 强制在块之前使用一致的空格
|
||||
'space-before-function-paren': [2, 'never'], // 强制在 function的左括号之前使用一致的空格
|
||||
'space-in-parens': [2, 'never'], // 强制在圆括号内使用一致的空格
|
||||
'space-infix-ops': 2, // 要求操作符周围有空格
|
||||
'space-unary-ops': [2, {
|
||||
words: true,
|
||||
nonwords: false
|
||||
}], // 强制在一元操作符前后使用一致的空格
|
||||
'template-curly-spacing': [2, 'never'], // 禁止模板字符串中的嵌入表达式周围空格的使用
|
||||
'use-isnan': 2, // 要求使用 isNaN() 检查 NaN
|
||||
'valid-typeof': 2, // 强制 typeof 表达式与有效的字符串进行比较
|
||||
'wrap-iife': [2, 'any'], // 要求 IIFE(立即执行函数) 使用括号括起来
|
||||
'prefer-const': 2, // 要求使用 const 声明那些声明后不再被修改的变量
|
||||
'object-curly-spacing': [2, 'always', {
|
||||
objectsInObjects: false
|
||||
}], // 强制在大括号中使用一致的空格
|
||||
'array-bracket-spacing': [2, 'never'], // 强制数组方括号中使用一致的空格
|
||||
|
||||
/* 非强制 */
|
||||
camelcase: [0, {
|
||||
properties: 'always'
|
||||
}], // 对属性名称强制使用驼峰样式
|
||||
'no-array-constructor': 2, // 禁止使用 Array 构造函数创建数组
|
||||
'no-caller': 2, // 禁止使用 arguments.caller 和 arguments.callee
|
||||
'no-console': 'off', // 禁用console
|
||||
'no-control-regex': 0// 禁止在正则表达式中使用控制字符
|
||||
}
|
||||
}
|
||||
39
.github/workflows/CD.yaml
vendored
39
.github/workflows/CD.yaml
vendored
@@ -1,8 +1,8 @@
|
||||
## CD交付流水线
|
||||
## - 部署到Github Pages
|
||||
## - 部署到Vercel托管平台
|
||||
## - 发布新的Github Release
|
||||
## 参考资料:https://v2.vuepress.vuejs.org/zh/guide/deployment.html#github-pages
|
||||
# # CD交付流水线
|
||||
# # - 部署到Github Pages
|
||||
# # - 部署到Vercel托管平台
|
||||
# # - 发布新的Github Release
|
||||
# # 参考资料:https://v2.vuepress.vuejs.org/zh/guide/deployment.html#github-pages
|
||||
|
||||
name: CD
|
||||
on:
|
||||
@@ -11,7 +11,7 @@ on:
|
||||
- next
|
||||
workflow_dispatch:
|
||||
|
||||
## vercel 环境变量
|
||||
# # vercel 环境变量
|
||||
env:
|
||||
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
|
||||
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
|
||||
@@ -23,9 +23,9 @@ permissions:
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
## 部署到Github-Pages
|
||||
# # 部署到Github-Pages
|
||||
deploy-github:
|
||||
name: "部署到Github-Pages"
|
||||
name: 部署到Github-Pages
|
||||
runs-on: ubuntu-latest
|
||||
environment:
|
||||
name: github-pages
|
||||
@@ -72,9 +72,9 @@ jobs:
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
|
||||
## 部署到vercel平台
|
||||
# # 部署到vercel平台
|
||||
deploy-vercel:
|
||||
name: "部署到Vercel平台"
|
||||
name: 部署到Vercel平台
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == '142vip/408CSFamily'
|
||||
|
||||
@@ -86,23 +86,23 @@ jobs:
|
||||
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
|
||||
fetch-depth: 0
|
||||
|
||||
## 注意: 这里的操作时间vercel平台配置的命令拉取下来,执行
|
||||
# # 注意: 这里的操作时间vercel平台配置的命令拉取下来,执行
|
||||
- name: Pull Vercel Environment Information
|
||||
run: npm i -g vercel && vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }}
|
||||
|
||||
## 执行vercel平台配置的命令
|
||||
# # 执行vercel平台配置的命令
|
||||
- name: Build Project Artifacts
|
||||
run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }}
|
||||
|
||||
## dist文件同步到vercel平台
|
||||
# # dist文件同步到vercel平台
|
||||
- name: Deploy Project Artifacts to Vercel
|
||||
run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}
|
||||
|
||||
## 版本发布
|
||||
# # 版本发布
|
||||
release:
|
||||
name: "Github版本发布"
|
||||
name: Github版本发布
|
||||
runs-on: ubuntu-latest
|
||||
## 主库master、next且执行release更新时执行
|
||||
# # 主库master、next且执行release更新时执行
|
||||
if: github.repository == '142vip/408CSFamily' && startsWith(github.event.head_commit.message, 'chore(release):')
|
||||
|
||||
steps:
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
# “最近更新时间” 等 git 日志相关信息,需要拉取全部提交记录
|
||||
fetch-depth: 0
|
||||
|
||||
### 打成压缩包
|
||||
# ## 打成压缩包
|
||||
- name: Create Zip Package
|
||||
run: |
|
||||
zip -r 408CSFamily.zip . \
|
||||
@@ -137,12 +137,12 @@ jobs:
|
||||
release_name: v${{ steps.releaseVersion.outputs.version }}
|
||||
body: |
|
||||
Release ${{ steps.releaseVersion.outputs.version }}
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
## 更新资源
|
||||
# # 更新资源
|
||||
- name: Upload Resource Assets
|
||||
uses: actions/upload-release-asset@latest
|
||||
env:
|
||||
@@ -153,7 +153,6 @@ jobs:
|
||||
asset_name: 408CSFamily.zip
|
||||
asset_content_type: application/zip
|
||||
|
||||
|
||||
# Deploy-ESC:
|
||||
# name: "部署到ESC服务器"
|
||||
# needs: install-init
|
||||
|
||||
35
.github/workflows/CI.yml
vendored
35
.github/workflows/CI.yml
vendored
@@ -1,7 +1,7 @@
|
||||
## 代码CI快速集成流水线,lint、fix、build
|
||||
# # 代码CI快速集成流水线,lint、fix、build
|
||||
|
||||
name: CI
|
||||
## 触发条件
|
||||
# # 触发条件
|
||||
on:
|
||||
# 提PR到next分支触发CI
|
||||
pull_request:
|
||||
@@ -15,7 +15,7 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
schedule:
|
||||
- cron: "0 0 1 * *"
|
||||
- cron: '0 0 1 * *'
|
||||
|
||||
# 环境变量
|
||||
env:
|
||||
@@ -23,12 +23,11 @@ env:
|
||||
REGISTRY: registry.cn-hangzhou.aliyuncs.com
|
||||
UserName: 142vip
|
||||
|
||||
|
||||
jobs:
|
||||
Base-Build:
|
||||
name: "基础编译构建"
|
||||
name: 基础编译构建
|
||||
runs-on: ubuntu-latest
|
||||
## 主库且拉取PR时触发
|
||||
# # 主库且拉取PR时触发
|
||||
if: github.repository == '142vip/408CSFamily' && github.event_name == 'pull_request'
|
||||
permissions:
|
||||
actions: read
|
||||
@@ -48,22 +47,22 @@ jobs:
|
||||
with:
|
||||
version: 9.6.0
|
||||
|
||||
## 安装Node环境
|
||||
# # 安装Node环境
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18.18.0
|
||||
## 缓存
|
||||
cache: 'pnpm'
|
||||
# # 缓存
|
||||
cache: pnpm
|
||||
|
||||
## 下载依赖,并执行初始化脚本:钩子函数、思维导图构建
|
||||
# # 下载依赖,并执行初始化脚本:钩子函数、思维导图构建
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
./scripts/ci
|
||||
|
||||
- name: Code LintFix
|
||||
run: |
|
||||
./scripts/lint
|
||||
pnpm lint
|
||||
|
||||
- name: Build Site
|
||||
run: |
|
||||
@@ -74,9 +73,9 @@ jobs:
|
||||
pnpm build:proxy
|
||||
|
||||
Build-Docker-Image:
|
||||
name: "构建Docker镜像"
|
||||
name: 构建Docker镜像
|
||||
runs-on: ubuntu-latest
|
||||
## 主库且tag更新时执行
|
||||
# # 主库且tag更新时执行
|
||||
if: github.repository == '142vip/408CSFamily' && startsWith(github.event.head_commit.message, 'chore(release):')
|
||||
permissions:
|
||||
actions: read
|
||||
@@ -109,14 +108,12 @@ jobs:
|
||||
run: |
|
||||
./scripts/ci
|
||||
|
||||
## 构建,支持domain
|
||||
# # 构建,支持domain
|
||||
- name: Build To Dist
|
||||
run: |
|
||||
./scripts/bundle build
|
||||
pnpm build
|
||||
|
||||
## 快速构建并推送
|
||||
# # 快速构建并推送
|
||||
- name: Push Docker Image
|
||||
run: |
|
||||
./scripts/bundle image_faster
|
||||
|
||||
|
||||
./scripts/bundle
|
||||
|
||||
4
.github/workflows/codeql-analysis.yml
vendored
4
.github/workflows/codeql-analysis.yml
vendored
@@ -6,7 +6,7 @@ on:
|
||||
branches:
|
||||
- next
|
||||
schedule:
|
||||
- cron: "30 7 * * 3"
|
||||
- cron: '30 7 * * 3'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
@@ -33,4 +33,4 @@ jobs:
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
uses: github/codeql-action/analyze@v2
|
||||
|
||||
11
.gitignore
vendored
11
.gitignore
vendored
@@ -14,9 +14,8 @@ typings/
|
||||
.next
|
||||
.nuxt
|
||||
dist
|
||||
.cache/
|
||||
docs/.vuepress/.cache/
|
||||
docs/.vuepress/.temp/
|
||||
docs/.vuepress/dist/
|
||||
/.husky/
|
||||
/.vercel/
|
||||
docs/.vuepress/.cache
|
||||
docs/.vuepress/.temp
|
||||
docs/.vuepress/dist
|
||||
.husky
|
||||
.vercel
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
* 参考: https://www.npmjs.com/package/lint-staged#configuration
|
||||
*/
|
||||
module.exports = {
|
||||
"*.{js,ts,md}": [
|
||||
"./scripts/lint --fix",
|
||||
"./scripts/mark-map"
|
||||
]
|
||||
}
|
||||
'*.{js,ts,md}': [
|
||||
'./scripts/lint --fix',
|
||||
// "./scripts/mark-map"
|
||||
],
|
||||
}
|
||||
|
||||
126
.markdownlint.js
126
.markdownlint.js
@@ -3,73 +3,73 @@
|
||||
* 规则参考:https://github.com/updownpress/markdown-lint/tree/master/rules
|
||||
*/
|
||||
module.exports = {
|
||||
"default": true,
|
||||
"MD001": false,
|
||||
"MD003": {
|
||||
"style": "atx"
|
||||
default: true,
|
||||
MD001: false,
|
||||
MD003: {
|
||||
style: 'atx',
|
||||
},
|
||||
"MD004": {
|
||||
"style": "dash"
|
||||
MD004: {
|
||||
style: 'dash',
|
||||
},
|
||||
"MD013": false,
|
||||
"MD024": {
|
||||
"allow_different_nesting": true
|
||||
MD013: false,
|
||||
MD024: {
|
||||
allow_different_nesting: true,
|
||||
},
|
||||
"MD025": {
|
||||
"front_matter_title": ""
|
||||
MD025: {
|
||||
front_matter_title: '',
|
||||
},
|
||||
"MD033": {
|
||||
"allowed_elements": [
|
||||
"br",
|
||||
"template",
|
||||
"script",
|
||||
"style",
|
||||
"ArtPlayer",
|
||||
"AudioPlayer",
|
||||
"AutoCatalog",
|
||||
"Badge",
|
||||
"BiliBili",
|
||||
"Catalog",
|
||||
"CodePen",
|
||||
"DemoProject",
|
||||
"FontIcon",
|
||||
"HighlightPanel",
|
||||
"ProjectLink",
|
||||
"PDF",
|
||||
"Replit",
|
||||
"Share",
|
||||
"SiteInfo",
|
||||
"StackBlitz",
|
||||
"XiGua",
|
||||
"VidStack",
|
||||
"VideoPlayer",
|
||||
"YouTube",
|
||||
"AppearanceSwitch",
|
||||
"HopeIcon",
|
||||
"FlowChartPlayground",
|
||||
"IconDisplay",
|
||||
"KatexPlayground",
|
||||
"PrintButton",
|
||||
"ThemeColorPicker",
|
||||
"ToggleFullScreenButton",
|
||||
"ToggleRTLButton",
|
||||
"div",
|
||||
"a",
|
||||
"p",
|
||||
"img",
|
||||
"table",
|
||||
"strong",
|
||||
"sub"
|
||||
]
|
||||
MD033: {
|
||||
allowed_elements: [
|
||||
'br',
|
||||
'template',
|
||||
'script',
|
||||
'style',
|
||||
'ArtPlayer',
|
||||
'AudioPlayer',
|
||||
'AutoCatalog',
|
||||
'Badge',
|
||||
'BiliBili',
|
||||
'Catalog',
|
||||
'CodePen',
|
||||
'DemoProject',
|
||||
'FontIcon',
|
||||
'HighlightPanel',
|
||||
'ProjectLink',
|
||||
'PDF',
|
||||
'Replit',
|
||||
'Share',
|
||||
'SiteInfo',
|
||||
'StackBlitz',
|
||||
'XiGua',
|
||||
'VidStack',
|
||||
'VideoPlayer',
|
||||
'YouTube',
|
||||
'AppearanceSwitch',
|
||||
'HopeIcon',
|
||||
'FlowChartPlayground',
|
||||
'IconDisplay',
|
||||
'KatexPlayground',
|
||||
'PrintButton',
|
||||
'ThemeColorPicker',
|
||||
'ToggleFullScreenButton',
|
||||
'ToggleRTLButton',
|
||||
'div',
|
||||
'a',
|
||||
'p',
|
||||
'img',
|
||||
'table',
|
||||
'strong',
|
||||
'sub',
|
||||
],
|
||||
},
|
||||
"MD035": {
|
||||
"style": "---"
|
||||
MD035: {
|
||||
style: '---',
|
||||
},
|
||||
"MD036": false,
|
||||
"MD040": false,
|
||||
"MD045": false,
|
||||
"MD041": false,
|
||||
"MD042": false,
|
||||
"MD046": false,
|
||||
"MD049": false
|
||||
MD036: false,
|
||||
MD040: false,
|
||||
MD045: false,
|
||||
MD041: false,
|
||||
MD042: false,
|
||||
MD046: false,
|
||||
MD049: false,
|
||||
}
|
||||
|
||||
@@ -7,22 +7,22 @@ module.exports = {
|
||||
header: '# Release history\n\nAll notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.\n\n<!-- #region recent-alpha -->\n',
|
||||
releaseCommitMessageFormat: 'chore(release): publish v{{currentTag}}',
|
||||
types: [
|
||||
{type: 'feat', section: 'Features'},
|
||||
{type: 'feature', section: 'Features'},
|
||||
{type: 'fix', section: 'Bug Fixes'},
|
||||
{type: 'perf', section: 'Performance Improvements'},
|
||||
{type: 'revert', section: 'Reverts'},
|
||||
{type: 'docs', section: 'Documentation', hidden: true},
|
||||
{type: 'style', section: 'Styles', hidden: true},
|
||||
{type: 'chore', section: 'Miscellaneous Chores', hidden: true},
|
||||
{type: 'refactor', section: 'Code Refactoring', hidden: true},
|
||||
{type: 'test', section: 'Tests', hidden: true},
|
||||
{type: 'build', section: 'Build System', hidden: true},
|
||||
{type: 'ci', section: 'Continuous Integration', hidden: true}
|
||||
{ type: 'feat', section: 'Features' },
|
||||
{ type: 'feature', section: 'Features' },
|
||||
{ type: 'fix', section: 'Bug Fixes' },
|
||||
{ type: 'perf', section: 'Performance Improvements' },
|
||||
{ type: 'revert', section: 'Reverts' },
|
||||
{ type: 'docs', section: 'Documentation', hidden: true },
|
||||
{ type: 'style', section: 'Styles', hidden: true },
|
||||
{ type: 'chore', section: 'Miscellaneous Chores', hidden: true },
|
||||
{ type: 'refactor', section: 'Code Refactoring', hidden: true },
|
||||
{ type: 'test', section: 'Tests', hidden: true },
|
||||
{ type: 'build', section: 'Build System', hidden: true },
|
||||
{ type: 'ci', section: 'Continuous Integration', hidden: true },
|
||||
],
|
||||
skip: {
|
||||
bump: true,
|
||||
commit: true,
|
||||
tag: true
|
||||
}
|
||||
tag: true,
|
||||
},
|
||||
}
|
||||
|
||||
32
README.md
32
README.md
@@ -48,6 +48,7 @@
|
||||
</div>
|
||||
|
||||
<!-- #region quick-start -->
|
||||
|
||||
## 写最前面
|
||||
|
||||
`408CSFamily` 我的理解是:408计算机专业课”全家桶“,而408相信考研er都知道计算机考研专业课代码;在最新的高校计算机研究生招考中,已经越来越多的学校改考408。可见408所涉及到的专业课举足轻重的地位;不论是在考研或者找工作,我相信408的专业基础必定是难以避免的,所以话不多说、形势复杂,唯一能做的就是不停的学习、巩固基础知识,加油!
|
||||
@@ -76,10 +77,10 @@
|
||||
|
||||
### 电子书PDF
|
||||
|
||||
- 数据结构2019: <https://pan.baidu.com/s/18x8AIfOkZxz197eY7HLRMg> 密码: euja
|
||||
- 计算机组成原理2019: <https://pan.baidu.com/s/1DiOBJMt9ZnZ6GK4CRCETJg> 密码: wic5
|
||||
- 计算机网络2019: <https://pan.baidu.com/s/1mmIZDugwY5YyytzIJoGQFw> 密码: dpkb
|
||||
- 操作系统2019: <https://pan.baidu.com/s/1gzuUqq09xqi8wQ8JJRF69g> 密码: o9b3
|
||||
- 数据结构2019: <https://pan.baidu.com/s/18x8AIfOkZxz197eY7HLRMg> 密码: euja
|
||||
- 计算机组成原理2019: <https://pan.baidu.com/s/1DiOBJMt9ZnZ6GK4CRCETJg> 密码: wic5
|
||||
- 计算机网络2019: <https://pan.baidu.com/s/1mmIZDugwY5YyytzIJoGQFw> 密码: dpkb
|
||||
- 操作系统2019: <https://pan.baidu.com/s/1gzuUqq09xqi8wQ8JJRF69g> 密码: o9b3
|
||||
|
||||
### 学习视频
|
||||
|
||||
@@ -113,9 +114,9 @@
|
||||
- [线性表的链式表示之双链表](https://mp.weixin.qq.com/s/2R4ZKTSALaR5kVe04UY_Xg)
|
||||
- [线性表的链式表示之循环链表](https://mp.weixin.qq.com/s/BbDFhNl018UQAAc7g2PIMg)
|
||||
- [线性表的链式表示之静态链表](https://mp.weixin.qq.com/s/JYabNgsHQnEcuJmwOwEB6g)
|
||||
- [顺序表和链表的比较](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485537&idx=1&sn=7e40e933d96b3b68187ecdd9b022e165&chksm=fcdfb1edcba838fbe23eb3b463a55b1ee160cd7dea53c54200838ba85f3230c2b9accdf5a05b&token=1697862929&lang=zh_CN#wechat_redirect)
|
||||
- [存储结构的选取](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485549&idx=1&sn=4b7091696c40874a7dcfc682ca18db61&chksm=fcdfb1e1cba838f7e611341fe3b6f3c45fc6efcdce18e79be244a349c87a8e6abcbbd33c250c&token=1697862929&lang=zh_CN#rd)
|
||||
- [零碎知识补充](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485549&idx=2&sn=5282cd006b6c33e4bfe992298602e053&chksm=fcdfb1e1cba838f743a335bad530cf415eef57a417b807257d8ed6983047c2d57d5552b34cb0&token=1697862929&lang=zh_CN#rd)
|
||||
- [顺序表和链表的比较](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485537&idx=1&sn=7e40e933d96b3b68187ecdd9b022e165&chksm=fcdfb1edcba838fbe23eb3b463a55b1ee160cd7dea53c54200838ba85f3230c2b9accdf5a05b&=1697862929&=zh_CN#wechat_redirect)
|
||||
- [存储结构的选取](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485549&idx=1&sn=4b7091696c40874a7dcfc682ca18db61&chksm=fcdfb1e1cba838f7e611341fe3b6f3c45fc6efcdce18e79be244a349c87a8e6abcbbd33c250c&=1697862929&=zh_CN#rd)
|
||||
- [零碎知识补充](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485549&idx=2&sn=5282cd006b6c33e4bfe992298602e053&chksm=fcdfb1e1cba838f743a335bad530cf415eef57a417b807257d8ed6983047c2d57d5552b34cb0&=1697862929&=zh_CN#rd)
|
||||
|
||||
### 栈
|
||||
|
||||
@@ -173,7 +174,7 @@
|
||||
|
||||
> 参考资料:
|
||||
>
|
||||
> - 《计算机操作系统》 第四版 汤小丹、梁红兵、汤子瀛著
|
||||
> - 《计算机操作系统》 第四版 汤小丹、梁红兵、汤子瀛著
|
||||
> - 《操作系统-王道考研》 2019 王道论坛
|
||||
|
||||
### 系统概述
|
||||
@@ -214,7 +215,7 @@
|
||||
|
||||
> 参考资料:
|
||||
>
|
||||
> - 《计算机组成原理》 第二版 唐朔飞
|
||||
> - 《计算机组成原理》 第二版 唐朔飞
|
||||
> - 《计算机组成原理-王道考研》 2019 王道论坛
|
||||
|
||||
### 计算机引论
|
||||
@@ -272,7 +273,7 @@
|
||||
|
||||
> 参考资料:
|
||||
>
|
||||
> - 《计算机网络-第七版》 谢希仁著.
|
||||
> - 《计算机网络-第七版》 谢希仁著.
|
||||
> - 《计算机网络-王道考研》 2019 王道论坛.
|
||||
|
||||
### 体系机构
|
||||
@@ -323,24 +324,25 @@
|
||||
|
||||
<!-- #endregion quick-start -->
|
||||
|
||||
[//]: # (宣传内容)
|
||||
[//]: # '宣传内容'
|
||||
|
||||
<!-- #region we-media -->
|
||||
|
||||
## 赞赏列表
|
||||
|
||||
以下排名不分先后, **赞赏过的一定要微信跟我说呀!!!!!!**
|
||||
以下排名不分先后, **赞赏过的一定要微信跟我说呀!!!!!!**
|
||||
|
||||
<div>
|
||||
<a href="https://github.com/ChiefPing" target="_blank" style="margin: 5px">
|
||||
<img
|
||||
src="https://avatars2.githubusercontent.com/u/34122068?s=460&v=4"
|
||||
src="https://avatars2.githubusercontent.com/u/34122068?s=460&v=4"
|
||||
alt="ChiefPing"
|
||||
style="border-radius:5px;" width="50px"
|
||||
/>
|
||||
</a>
|
||||
<a href="https://github.com/xiaoliuxin" target="_blank" style="margin: 5px">
|
||||
<img
|
||||
src="https://avatars2.githubusercontent.com/u/60652527?s=460&v=4"
|
||||
src="https://avatars2.githubusercontent.com/u/60652527?s=460&v=4"
|
||||
alt="xiaoliuxin"
|
||||
style="border-radius:5px;" width="50px"
|
||||
/>
|
||||
@@ -440,4 +442,4 @@
|
||||
|
||||
交流/加群/互看朋友圈、**聊天/提问/建议/提需求** 可以在公众号直接**私信**,有时间即会回复,偶尔的延迟和疏漏还请小伙伴们谅解,蟹蟹。
|
||||
|
||||
<!-- #endregion we-media -->
|
||||
<!-- #endregion we-media -->
|
||||
|
||||
@@ -20,7 +20,8 @@ function binaryInsertSort(arr, len) {
|
||||
if (arr[mid] <= temp) {
|
||||
// 右侧
|
||||
lowIndex = mid + 1
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
// 左侧
|
||||
highIndex = mid - 1
|
||||
}
|
||||
@@ -35,10 +36,8 @@ function binaryInsertSort(arr, len) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
// 测试用例
|
||||
const dealArr = [5, 2, 7, 3, 18, 8, 12, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
const sortResult = binaryInsertSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ function QuickSort(arr, low, high) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* 寻找数组中的基准pivot,使得左侧元素全部小于等于pivot,右侧元素全部大于等于pivot
|
||||
@@ -47,7 +46,6 @@ function Partition(arr, low, high) {
|
||||
return low
|
||||
}
|
||||
|
||||
|
||||
const initArr = [2, 18, 6, 25, 19, 4, 8, 3, 7]
|
||||
console.log(`快速排序处理前:${initArr}`)
|
||||
const quickSortResult = QuickSort(initArr, 0, 8)
|
||||
|
||||
@@ -34,7 +34,6 @@ function specialStraightInsertSort(arr, len, increment, groupIndex) {
|
||||
for (let eleStartIndex = groupIndex + increment; eleStartIndex < len; eleStartIndex += increment) {
|
||||
// 此时eleStartIndex为直接插入排序的比较元素
|
||||
|
||||
|
||||
// 直接插入排序中的哨兵元素【重要】
|
||||
const temp = arr[eleStartIndex]
|
||||
let j
|
||||
@@ -49,13 +48,11 @@ function specialStraightInsertSort(arr, len, increment, groupIndex) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
const dealArr = [5, 8, 2, 16, 3, 9, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
const sortResult = shellSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
/**
|
||||
* 简化的希尔排序
|
||||
* - 返回已排序号的数组,从小到大
|
||||
@@ -77,7 +74,6 @@ function shellSortBetter(arr) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
console.log('简化shellSortBetter希尔排序前:', dealArr)
|
||||
const sortResultBetter = shellSortBetter(dealArr)
|
||||
console.log('简化shellSortBetter希尔排序后:', sortResultBetter)
|
||||
|
||||
@@ -30,5 +30,3 @@ console.log('插入排序前:', dealArr)
|
||||
const sortResult = straightInsertSort(dealArr, 7)
|
||||
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,8 @@ function binaryInsertSort(arr, len) {
|
||||
if (arr[mid] <= temp) {
|
||||
// 右侧
|
||||
lowIndex = mid + 1
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
// 左侧
|
||||
highIndex = mid - 1
|
||||
}
|
||||
@@ -35,10 +36,8 @@ function binaryInsertSort(arr, len) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
// 测试用例
|
||||
const dealArr = [5, 2, 7, 3, 18, 8, 12, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
const sortResult = binaryInsertSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ function QuickSort(arr, low, high) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* 寻找数组中的基准pivot,使得左侧元素全部小于等于pivot,右侧元素全部大于等于pivot
|
||||
@@ -47,7 +46,6 @@ function Partition(arr, low, high) {
|
||||
return low
|
||||
}
|
||||
|
||||
|
||||
const initArr = [2, 18, 6, 25, 19, 4, 8, 3, 7]
|
||||
console.log(`快速排序处理前:${initArr}`)
|
||||
const quickSortResult = QuickSort(initArr, 0, 8)
|
||||
|
||||
@@ -34,7 +34,6 @@ function specialStraightInsertSort(arr, len, increment, groupIndex) {
|
||||
for (let eleStartIndex = groupIndex + increment; eleStartIndex < len; eleStartIndex += increment) {
|
||||
// 此时eleStartIndex为直接插入排序的比较元素
|
||||
|
||||
|
||||
// 直接插入排序中的哨兵元素【重要】
|
||||
const temp = arr[eleStartIndex]
|
||||
let j
|
||||
@@ -49,13 +48,11 @@ function specialStraightInsertSort(arr, len, increment, groupIndex) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
const dealArr = [5, 8, 2, 16, 3, 9, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
const sortResult = shellSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
/**
|
||||
* 简化的希尔排序
|
||||
* - 返回已排序号的数组,从小到大
|
||||
@@ -77,7 +74,6 @@ function shellSortBetter(arr) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
console.log('简化shellSortBetter希尔排序前:', dealArr)
|
||||
const sortResultBetter = shellSortBetter(dealArr)
|
||||
console.log('简化shellSortBetter希尔排序后:', sortResultBetter)
|
||||
|
||||
@@ -30,5 +30,3 @@ console.log('插入排序前:', dealArr)
|
||||
const sortResult = straightInsertSort(dealArr, 7)
|
||||
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
|
||||
@@ -20,7 +20,8 @@ function binaryInsertSort(arr, len) {
|
||||
if (arr[mid] <= temp) {
|
||||
// 右侧
|
||||
lowIndex = mid + 1
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
// 左侧
|
||||
highIndex = mid - 1
|
||||
}
|
||||
@@ -35,10 +36,8 @@ function binaryInsertSort(arr, len) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
// 测试用例
|
||||
const dealArr = [5, 2, 7, 3, 18, 8, 12, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
const sortResult = binaryInsertSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* 给定一个数组,按照从小到大或从大到小排序,打印排序前后结果对比
|
||||
* 编程语言:TypeScript
|
||||
*/
|
||||
function BubbleSort(arr:Array<number>):number[] {
|
||||
function BubbleSort(arr: Array<number>): number[] {
|
||||
// 获取数组长度
|
||||
const len = arr.length
|
||||
|
||||
@@ -33,10 +33,14 @@ function BubbleSort(arr:Array<number>):number[] {
|
||||
return arr
|
||||
}
|
||||
|
||||
interface SwitchValue {
|
||||
a: number
|
||||
b: number
|
||||
}
|
||||
/**
|
||||
* 将两个变量数值交换
|
||||
*/
|
||||
function switchValue(params:{ a: number, b: number }):{a:number, b:number} {
|
||||
function _switchValue(params: SwitchValue) {
|
||||
const { a: newB, b: newA } = params
|
||||
return { a: newA, b: newB }
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ function QuickSort(arr, low, high) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* 寻找数组中的基准pivot,使得左侧元素全部小于等于pivot,右侧元素全部大于等于pivot
|
||||
@@ -47,7 +46,6 @@ function Partition(arr, low, high) {
|
||||
return low
|
||||
}
|
||||
|
||||
|
||||
const initArr = [2, 18, 6, 25, 19, 4, 8, 3, 7]
|
||||
console.log(`快速排序处理前:${initArr}`)
|
||||
const quickSortResult = QuickSort(initArr, 0, 8)
|
||||
|
||||
@@ -34,7 +34,6 @@ function specialStraightInsertSort(arr, len, increment, groupIndex) {
|
||||
for (let eleStartIndex = groupIndex + increment; eleStartIndex < len; eleStartIndex += increment) {
|
||||
// 此时eleStartIndex为直接插入排序的比较元素
|
||||
|
||||
|
||||
// 直接插入排序中的哨兵元素【重要】
|
||||
const temp = arr[eleStartIndex]
|
||||
let j
|
||||
@@ -49,13 +48,11 @@ function specialStraightInsertSort(arr, len, increment, groupIndex) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
const dealArr = [5, 8, 2, 16, 3, 9, 1]
|
||||
console.log('插入排序前:', dealArr)
|
||||
const sortResult = shellSort(dealArr, 7)
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
/**
|
||||
* 简化的希尔排序
|
||||
* - 返回已排序号的数组,从小到大
|
||||
@@ -77,7 +74,6 @@ function shellSortBetter(arr) {
|
||||
return arr
|
||||
}
|
||||
|
||||
|
||||
console.log('简化shellSortBetter希尔排序前:', dealArr)
|
||||
const sortResultBetter = shellSortBetter(dealArr)
|
||||
console.log('简化shellSortBetter希尔排序后:', sortResultBetter)
|
||||
|
||||
@@ -30,5 +30,3 @@ console.log('插入排序前:', dealArr)
|
||||
const sortResult = straightInsertSort(dealArr, 7)
|
||||
|
||||
console.log('插入排序后:', sortResult)
|
||||
|
||||
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
* 参考:https://commitlint.js.org
|
||||
*/
|
||||
module.exports = {
|
||||
extends: ['@commitlint/config-conventional']
|
||||
extends: ['@commitlint/config-conventional'],
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
###
|
||||
### 408CSFamily服务,ip范围 172.30.0.100
|
||||
###
|
||||
# ##
|
||||
# ## 408CSFamily服务,ip范围 172.30.0.100
|
||||
# ##
|
||||
version: '2'
|
||||
services:
|
||||
408CSFamily:
|
||||
@@ -9,14 +9,14 @@ services:
|
||||
restart: on-failure
|
||||
hostname: 408CSFamily
|
||||
ports:
|
||||
- "7000:80"
|
||||
- '7000:80'
|
||||
networks:
|
||||
net:
|
||||
ipv4_address: 172.30.0.100
|
||||
|
||||
## 创建桥接网络
|
||||
# # 创建桥接网络
|
||||
networks:
|
||||
## 桥接网络名称,配合文件前缀,最后为dev_test_env_net 参考:https://www.jianshu.com/p/d70c61d45364
|
||||
# # 桥接网络名称,配合文件前缀,最后为dev_test_env_net 参考:https://www.jianshu.com/p/d70c61d45364
|
||||
net:
|
||||
driver: bridge
|
||||
# external: true
|
||||
@@ -24,5 +24,5 @@ networks:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 172.30.0.0/24
|
||||
## 网关
|
||||
gateway: 172.30.0.1
|
||||
# # 网关
|
||||
gateway: 172.30.0.1
|
||||
|
||||
@@ -5,60 +5,38 @@
|
||||
注意:
|
||||
- 使用ClientOnly内置组件,只在客户端加载,避免依赖构建出错
|
||||
-->
|
||||
<template>
|
||||
<div class="x-mind-container">
|
||||
<!-- xmind思维导图管理器 -->
|
||||
<div id="x-mind-manager-container">
|
||||
</div>
|
||||
<div class="btn-container">
|
||||
<button id="openLocalBtn" @click="handleOpenLocalBtnClick">打开本地</button>
|
||||
<button id="zoomScaleBtn" @click="handleZoomScaleRevertBtnClick">还原缩放</button>
|
||||
|
||||
<div class="select">
|
||||
<select v-model="xmindIndex">
|
||||
<option v-for="(xmind, index) in xmindFileList" :key="index" :value="index">
|
||||
{{ xmind }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import mapData from "../public/mark-map/index.json"
|
||||
|
||||
import {XMindEmbedViewer} from "xmind-embed-viewer";
|
||||
import { XMindEmbedViewer } from 'xmind-embed-viewer'
|
||||
import mapData from '../public/mark-map/index.json'
|
||||
|
||||
console.log(111, XMindEmbedViewer)
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
viewer: {},
|
||||
xmindIndex: 0,
|
||||
xmindFileList: [],
|
||||
xmindFile: mapData.length > 0 ? mapData[0].xMindPath : '../mark-map/操作系统发展历程.xmind',
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 监听下来列表变更
|
||||
*/
|
||||
watch: {
|
||||
xmindIndex: async function (newIndex, oldVal) {
|
||||
const {xMindPath} = mapData[newIndex]
|
||||
async xmindIndex(newIndex, _oldVal) {
|
||||
const { xMindPath } = mapData[newIndex]
|
||||
|
||||
// 打开指定
|
||||
const xmindResponse = await fetch(xMindPath)
|
||||
const data = await xmindResponse.arrayBuffer()
|
||||
this.viewer.setZoomScale(100)
|
||||
this.viewer.load(data)
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
viewer: {},
|
||||
xmindIndex: 0,
|
||||
xmindFileList: [],
|
||||
xmindFile: mapData.length > 0 ? mapData[0].xMindPath : '../mark-map/操作系统发展历程.xmind'
|
||||
}
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.xmindFileList = mapData.map(({name}) => name)
|
||||
this.xmindFileList = mapData.map(({ name }) => name)
|
||||
},
|
||||
mounted() {
|
||||
(async () => {
|
||||
@@ -71,10 +49,10 @@ export default {
|
||||
region: 'cn',
|
||||
styles: {
|
||||
width: '100%',
|
||||
minHeight: "600px",
|
||||
minHeight: '600px',
|
||||
height: 'auto',
|
||||
maxHeight: '1200px'
|
||||
}
|
||||
maxHeight: '1200px',
|
||||
},
|
||||
})
|
||||
})()
|
||||
},
|
||||
@@ -87,7 +65,7 @@ export default {
|
||||
const fileSelector = document.createElement('input')
|
||||
fileSelector.style.display = 'none'
|
||||
document.body.appendChild(fileSelector)
|
||||
await new Promise(resolve => {
|
||||
await new Promise((resolve) => {
|
||||
fileSelector.setAttribute('type', 'file')
|
||||
fileSelector.setAttribute('accept', '.xmind')
|
||||
fileSelector.addEventListener('change', () => {
|
||||
@@ -113,13 +91,34 @@ export default {
|
||||
async handleZoomScaleRevertBtnClick() {
|
||||
this.viewer.setFitMap()
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="x-mind-container">
|
||||
<!-- xmind思维导图管理器 -->
|
||||
<div id="x-mind-manager-container" />
|
||||
<div class="btn-container">
|
||||
<button id="openLocalBtn" @click="handleOpenLocalBtnClick">
|
||||
打开本地
|
||||
</button>
|
||||
<button id="zoomScaleBtn" @click="handleZoomScaleRevertBtnClick">
|
||||
还原缩放
|
||||
</button>
|
||||
|
||||
<div class="select">
|
||||
<select v-model="xmindIndex">
|
||||
<option v-for="(xmind, index) in xmindFileList" :key="index" :value="index">
|
||||
{{ xmind }}
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
.btn-container {
|
||||
margin: 50px 0;
|
||||
text-align: center;
|
||||
@@ -146,7 +145,7 @@ export default {
|
||||
}
|
||||
|
||||
.select:before {
|
||||
content: "";
|
||||
content: '';
|
||||
position: absolute;
|
||||
width: 0;
|
||||
height: 0;
|
||||
@@ -206,7 +205,4 @@ button:hover {
|
||||
background-image: -ms-linear-gradient(top, #2079b0, #eb94d0);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
@@ -1,42 +1,56 @@
|
||||
import pluginsConfig from "./config/plugins.config";
|
||||
import themeConfig from "./config/theme.config";
|
||||
import {defineUserConfig} from "vuepress";
|
||||
import {fileURLToPath} from 'node:url'
|
||||
import {path} from "@vuepress/utils";
|
||||
import {name} from "../../package.json"
|
||||
// @ts-ignore
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import process from 'node:process'
|
||||
import { defineUserConfig } from 'vuepress'
|
||||
import { path } from '@vuepress/utils'
|
||||
import { name } from '../../package.json'
|
||||
import themeConfig from './config/theme.config'
|
||||
import pluginsConfig from './config/plugins.config'
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url))
|
||||
|
||||
/**
|
||||
* 用于区分base路径,是否nginx代理
|
||||
*/
|
||||
function getSiteBase(): '/' | `/${string}/` {
|
||||
// 用于区分base路径,是否nginx代理
|
||||
const PROXY_DOMAIN = process.env.PROXY_DOMAIN || false
|
||||
return PROXY_DOMAIN ? `/${name}/` : '/'
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户自定义配置
|
||||
* 注意:
|
||||
* - 环境变量中的PROXY_DOMAIN字段,用于区分是否nginx代理
|
||||
*/
|
||||
export default defineUserConfig({
|
||||
title: "计算机408全家桶",
|
||||
description: "磨刀不误砍柴工,读完硕士再打工",
|
||||
title: '计算机408全家桶',
|
||||
description: '磨刀不误砍柴工,读完硕士再打工',
|
||||
// 用于区分base路径,是否nginx代理
|
||||
base: process.env.PROXY_DOMAIN ? `/${name}/` : `/`,
|
||||
base: getSiteBase(),
|
||||
port: 4200,
|
||||
head: [
|
||||
// vercel统计 相关配置
|
||||
[
|
||||
'script', {type: 'text/javascript', src: '/_vercel/insights/script.js'}
|
||||
'script',
|
||||
{ type: 'text/javascript', src: '/_vercel/insights/script.js' },
|
||||
],
|
||||
[
|
||||
"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");
|
||||
hm.src = "https://hm.baidu.com/hm.js?3515cc46ae60747b778140f0e5e22dfe";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();`
|
||||
]
|
||||
})();`,
|
||||
],
|
||||
],
|
||||
// 配置永久链接,参考:https://v2.vuepress.vuejs.org/zh/reference/frontmatter.html#permalink
|
||||
// permalink: "/:year/:month/:day/:slug",
|
||||
@@ -59,8 +73,8 @@ export default defineUserConfig({
|
||||
},
|
||||
// md doc formatter headerDepth
|
||||
headers: {
|
||||
level: [2, 3, 4]
|
||||
}
|
||||
level: [2, 3, 4],
|
||||
},
|
||||
},
|
||||
// 主题配置
|
||||
...themeConfig,
|
||||
@@ -68,4 +82,3 @@ export default defineUserConfig({
|
||||
...pluginsConfig,
|
||||
shouldPrefetch: false,
|
||||
})
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {name, version, authorInfo} from "../../../package.json"
|
||||
import { authorInfo, name, version } from '../../../package.json'
|
||||
|
||||
export const FOOTER_HTML_INFO = `
|
||||
<div>
|
||||
@@ -28,59 +28,59 @@ export const copyright = `
|
||||
export const AUTHOR_INFO = {
|
||||
name: authorInfo.name,
|
||||
email: authorInfo.email,
|
||||
url: authorInfo.homePages
|
||||
url: authorInfo.homePages,
|
||||
}
|
||||
|
||||
export const NotFoundMsgList = [
|
||||
"徒留我孤单在湖面成双。",
|
||||
"就让回忆永远停在那里。",
|
||||
"天青色等烟雨,而我在等你。",
|
||||
"我用无悔,刻永世爱你的碑。",
|
||||
"终有一天,我有属于我的天。",
|
||||
"你想说的想给的,我全都知道。",
|
||||
"我顶着大太阳,只想为你撑伞。",
|
||||
"海鸟跟鱼相爱,只是一场意外。",
|
||||
"那已风化千年的誓言,一切又重演。",
|
||||
"下降的速度太快,来不及踏上未来。",
|
||||
"我原谅不了我,就请你当作我已不在。",
|
||||
"琴声何在,生死难猜,用一声去等待。",
|
||||
"我戒不掉她的微笑,洋溢幸福的味道。",
|
||||
"缺氧过后的爱情,粗心的眼泪事多余。",
|
||||
"过往的欢乐是否褪色,想问你怎么舍得。",
|
||||
"繁华如三千东流水,我只取一瓢爱了解。",
|
||||
"唱反调是我的本性,出其不意是我的个性。",
|
||||
"没有你在我有多难熬,没有你烦我有烦恼。",
|
||||
"梦在远方,化成一缕香,随风飘散你的模样。",
|
||||
"最美的不是下雨天,是曾与你躲过雨的屋檐。",
|
||||
"初恋的颜色我牵着你的手经过种麦芽糖的山坡。",
|
||||
"而我已经分不清,你是友情,还是错过的爱情。",
|
||||
"也许时间是一种解药,也是我现在所服下的毒药。",
|
||||
"能不能给我一首歌的时间,紧紧的把那拥抱变成永远。",
|
||||
"如果邪恶是华丽残酷的乐章,它的终场我会亲手写上。",
|
||||
"我知道共同的默契很重要,那骄傲才不会寂寞得很无聊。",
|
||||
"想回到过去,试着让故事继续,至少不再让你离我而去。",
|
||||
"如果我遇见你是一个悲剧,我想我这辈子注定一个人演戏。",
|
||||
"请不要把分手当作你的请求,我知道坚持要走是你受伤的藉口。",
|
||||
"我想就这样牵着你的手不放开,爱能不能够永远单纯没有悲哀。",
|
||||
"翻着我们的照片,想念若隐若现,去年的冬天,我们笑得很甜。",
|
||||
"风筝在阴天搁浅,想念还在等待救援,我拉着线复习你给的温柔。",
|
||||
"整个画面是你,想你想的睡不着,我的快乐是你,想你想的都会笑。",
|
||||
"酸酸的空气,嗅出我们的距离,一幕锥心的结局,像呼吸般无法停息。",
|
||||
"我害怕你心碎没人帮你擦眼泪,别离开身边,拥有你我的世界才能完美。",
|
||||
"有谁能比我知道,你的温柔象羽毛,秘密躺在我怀抱,只有你能听得到。",
|
||||
"看着那白色的蜻蜓在空中忘了前进,还能不能重新编织,脑海中起毛球的记忆。",
|
||||
"为你弹奏萧邦的夜曲,纪念我死去的爱情,而我为你隐姓埋名,在月光下弹琴。",
|
||||
"我会发着呆然后忘记你,接着紧紧闭上眼,想着那一天会有人代替,让我不再想念你",
|
||||
"乘着风游荡在蓝天边,一片云掉落在我面前,捏成你的形状,随风跟着我,一口一口吃掉忧愁。",
|
||||
"听妈妈的话别让她受伤,想快快长大才能保护她,美丽的白发幸福总发芽,天使的魔法温暖中慈祥。",
|
||||
"断了的弦再怎么连,我的感觉你已听不见,你的转变像断掉的弦,再怎么接音都不对,你的改变我能够分辨。",
|
||||
"思绪不断阻挡着回忆播放,盲目的追寻仍然空空荡荡,灰蒙蒙的夜晚睡意又不知躲到哪去,一转身孤单已躺在身旁。",
|
||||
"从前从前有个人爱你很久,但偏偏风渐渐把距离吹得好远,好不容易又能再多爱一天,但故事的最后你好像还是说了拜拜。",
|
||||
"谁在用琵琶弹奏一曲东风破,枫叶讲故事染色结局我看透,篱笆外的古道我牵着你走过,荒烟蔓草的年头就连分手都很沉默。",
|
||||
"我一路向北,离开有你的季节,你说你好累,已无法再爱上谁。风在山路吹,过往的画面全都是不对,细数惭愧,我伤你几回。",
|
||||
"雨下整夜我的爱溢出就像雨水,窗台蝴蝶像诗里纷飞的美丽章节。我接着写把永远爱你写进诗的结尾,你是我唯一想要的了解。",
|
||||
"缓缓飘落的枫叶像思念,为何挽回要赶在冬天来之前,爱你穿越时间,两行来自秋末的眼泪,让爱渗透了地面我要的只是你在我身边。",
|
||||
"我陪你走到最后,能不能别想太多,会不会手牵着手,晚一点再到尽头,你说不该再相见只为了瞬间,谢谢你让我听见因为我在等待永远。",
|
||||
"天灰灰会不会,让我忘了你是谁,累不累睡不睡,单影无人相依偎,夜越黑梦违背,有谁肯安慰,我的世界将被摧毁也许颓废也是另一种美。",
|
||||
"我知道你我都没有错,只是忘了怎么退后,信誓旦旦给的承诺,全被时间扑了空。我知道我们都没有错,只是放手会比较好过,最美的爱情回忆里待续。",
|
||||
'徒留我孤单在湖面成双。',
|
||||
'就让回忆永远停在那里。',
|
||||
'天青色等烟雨,而我在等你。',
|
||||
'我用无悔,刻永世爱你的碑。',
|
||||
'终有一天,我有属于我的天。',
|
||||
'你想说的想给的,我全都知道。',
|
||||
'我顶着大太阳,只想为你撑伞。',
|
||||
'海鸟跟鱼相爱,只是一场意外。',
|
||||
'那已风化千年的誓言,一切又重演。',
|
||||
'下降的速度太快,来不及踏上未来。',
|
||||
'我原谅不了我,就请你当作我已不在。',
|
||||
'琴声何在,生死难猜,用一声去等待。',
|
||||
'我戒不掉她的微笑,洋溢幸福的味道。',
|
||||
'缺氧过后的爱情,粗心的眼泪事多余。',
|
||||
'过往的欢乐是否褪色,想问你怎么舍得。',
|
||||
'繁华如三千东流水,我只取一瓢爱了解。',
|
||||
'唱反调是我的本性,出其不意是我的个性。',
|
||||
'没有你在我有多难熬,没有你烦我有烦恼。',
|
||||
'梦在远方,化成一缕香,随风飘散你的模样。',
|
||||
'最美的不是下雨天,是曾与你躲过雨的屋檐。',
|
||||
'初恋的颜色我牵着你的手经过种麦芽糖的山坡。',
|
||||
'而我已经分不清,你是友情,还是错过的爱情。',
|
||||
'也许时间是一种解药,也是我现在所服下的毒药。',
|
||||
'能不能给我一首歌的时间,紧紧的把那拥抱变成永远。',
|
||||
'如果邪恶是华丽残酷的乐章,它的终场我会亲手写上。',
|
||||
'我知道共同的默契很重要,那骄傲才不会寂寞得很无聊。',
|
||||
'想回到过去,试着让故事继续,至少不再让你离我而去。',
|
||||
'如果我遇见你是一个悲剧,我想我这辈子注定一个人演戏。',
|
||||
'请不要把分手当作你的请求,我知道坚持要走是你受伤的藉口。',
|
||||
'我想就这样牵着你的手不放开,爱能不能够永远单纯没有悲哀。',
|
||||
'翻着我们的照片,想念若隐若现,去年的冬天,我们笑得很甜。',
|
||||
'风筝在阴天搁浅,想念还在等待救援,我拉着线复习你给的温柔。',
|
||||
'整个画面是你,想你想的睡不着,我的快乐是你,想你想的都会笑。',
|
||||
'酸酸的空气,嗅出我们的距离,一幕锥心的结局,像呼吸般无法停息。',
|
||||
'我害怕你心碎没人帮你擦眼泪,别离开身边,拥有你我的世界才能完美。',
|
||||
'有谁能比我知道,你的温柔象羽毛,秘密躺在我怀抱,只有你能听得到。',
|
||||
'看着那白色的蜻蜓在空中忘了前进,还能不能重新编织,脑海中起毛球的记忆。',
|
||||
'为你弹奏萧邦的夜曲,纪念我死去的爱情,而我为你隐姓埋名,在月光下弹琴。',
|
||||
'我会发着呆然后忘记你,接着紧紧闭上眼,想着那一天会有人代替,让我不再想念你',
|
||||
'乘着风游荡在蓝天边,一片云掉落在我面前,捏成你的形状,随风跟着我,一口一口吃掉忧愁。',
|
||||
'听妈妈的话别让她受伤,想快快长大才能保护她,美丽的白发幸福总发芽,天使的魔法温暖中慈祥。',
|
||||
'断了的弦再怎么连,我的感觉你已听不见,你的转变像断掉的弦,再怎么接音都不对,你的改变我能够分辨。',
|
||||
'思绪不断阻挡着回忆播放,盲目的追寻仍然空空荡荡,灰蒙蒙的夜晚睡意又不知躲到哪去,一转身孤单已躺在身旁。',
|
||||
'从前从前有个人爱你很久,但偏偏风渐渐把距离吹得好远,好不容易又能再多爱一天,但故事的最后你好像还是说了拜拜。',
|
||||
'谁在用琵琶弹奏一曲东风破,枫叶讲故事染色结局我看透,篱笆外的古道我牵着你走过,荒烟蔓草的年头就连分手都很沉默。',
|
||||
'我一路向北,离开有你的季节,你说你好累,已无法再爱上谁。风在山路吹,过往的画面全都是不对,细数惭愧,我伤你几回。',
|
||||
'雨下整夜我的爱溢出就像雨水,窗台蝴蝶像诗里纷飞的美丽章节。我接着写把永远爱你写进诗的结尾,你是我唯一想要的了解。',
|
||||
'缓缓飘落的枫叶像思念,为何挽回要赶在冬天来之前,爱你穿越时间,两行来自秋末的眼泪,让爱渗透了地面我要的只是你在我身边。',
|
||||
'我陪你走到最后,能不能别想太多,会不会手牵着手,晚一点再到尽头,你说不该再相见只为了瞬间,谢谢你让我听见因为我在等待永远。',
|
||||
'天灰灰会不会,让我忘了你是谁,累不累睡不睡,单影无人相依偎,夜越黑梦违背,有谁肯安慰,我的世界将被摧毁也许颓废也是另一种美。',
|
||||
'我知道你我都没有错,只是忘了怎么退后,信誓旦旦给的承诺,全被时间扑了空。我知道我们都没有错,只是放手会比较好过,最美的爱情回忆里待续。',
|
||||
]
|
||||
|
||||
@@ -1,73 +1,73 @@
|
||||
import {ThemeLocaleData} from "vuepress-theme-hope";
|
||||
import {NotFoundMsgList} from "./constant.config";
|
||||
import type { ThemeLocaleData } from 'vuepress-theme-hope'
|
||||
import { NotFoundMsgList } from './constant.config'
|
||||
|
||||
/**
|
||||
* 支持中文
|
||||
* 参考:https://theme-hope.vuejs.press/zh/config/i18n.html
|
||||
*/
|
||||
const localCN: ThemeLocaleData = {
|
||||
lang: "zh-CN",
|
||||
lang: 'zh-CN',
|
||||
navbarLocales: {
|
||||
langName: "简体中文",
|
||||
selectLangAriaLabel: "选择语言",
|
||||
langName: '简体中文',
|
||||
selectLangAriaLabel: '选择语言',
|
||||
},
|
||||
metaLocales: {
|
||||
author: "作者",
|
||||
date: "写作日期",
|
||||
origin: "原创",
|
||||
views: "访问量",
|
||||
category: "分类",
|
||||
tag: "标签",
|
||||
readingTime: "阅读时间",
|
||||
words: "字数",
|
||||
toc: "标题大纲",
|
||||
prev: "上一页",
|
||||
next: "下一页",
|
||||
lastUpdated: "上次编辑于",
|
||||
contributors: "贡献者",
|
||||
editLink: "编辑此页",
|
||||
print: "打印",
|
||||
author: '作者',
|
||||
date: '写作日期',
|
||||
origin: '原创',
|
||||
views: '访问量',
|
||||
category: '分类',
|
||||
tag: '标签',
|
||||
readingTime: '阅读时间',
|
||||
words: '字数',
|
||||
toc: '标题大纲',
|
||||
prev: '上一页',
|
||||
next: '下一页',
|
||||
lastUpdated: '上次编辑于',
|
||||
contributors: '贡献者',
|
||||
editLink: '编辑此页',
|
||||
print: '打印',
|
||||
},
|
||||
|
||||
blogLocales: {
|
||||
article: "文章",
|
||||
articleList: "文章列表",
|
||||
category: "分类",
|
||||
tag: "标签",
|
||||
timeline: "时间轴",
|
||||
timelineTitle: "昨日不在",
|
||||
all: "全部",
|
||||
intro: "个人介绍",
|
||||
star: "收藏",
|
||||
article: '文章',
|
||||
articleList: '文章列表',
|
||||
category: '分类',
|
||||
tag: '标签',
|
||||
timeline: '时间轴',
|
||||
timelineTitle: '昨日不在',
|
||||
all: '全部',
|
||||
intro: '个人介绍',
|
||||
star: '收藏',
|
||||
},
|
||||
|
||||
paginationLocales: {
|
||||
prev: "上一页",
|
||||
next: "下一页",
|
||||
navigate: "跳转到",
|
||||
action: "前往",
|
||||
errorText: "请输入 1 到 $page 之前的页码!",
|
||||
prev: '上一页',
|
||||
next: '下一页',
|
||||
navigate: '跳转到',
|
||||
action: '前往',
|
||||
errorText: '请输入 1 到 $page 之前的页码!',
|
||||
},
|
||||
|
||||
outlookLocales: {
|
||||
themeColor: "主题色",
|
||||
darkmode: "外观",
|
||||
fullscreen: "全屏",
|
||||
themeColor: '主题色',
|
||||
darkmode: '外观',
|
||||
fullscreen: '全屏',
|
||||
},
|
||||
|
||||
encryptLocales: {
|
||||
iconLabel: "文章已加密",
|
||||
placeholder: "输入密码",
|
||||
remember: "记住密码",
|
||||
errorHint: "请输入正确的密码",
|
||||
iconLabel: '文章已加密',
|
||||
placeholder: '输入密码',
|
||||
remember: '记住密码',
|
||||
errorHint: '请输入正确的密码',
|
||||
},
|
||||
routeLocales: {
|
||||
skipToContent: "跳至主要內容",
|
||||
notFoundTitle: "访问的页面不存在",
|
||||
skipToContent: '跳至主要內容',
|
||||
notFoundTitle: '访问的页面不存在',
|
||||
notFoundMsg: NotFoundMsgList,
|
||||
back: "返回上一页",
|
||||
home: "进入首页",
|
||||
openInNewWindow: "新窗口打开",
|
||||
back: '返回上一页',
|
||||
home: '进入首页',
|
||||
openInNewWindow: '新窗口打开',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -75,5 +75,5 @@ const localCN: ThemeLocaleData = {
|
||||
* 自定义语言,支持文案
|
||||
*/
|
||||
export const langConfig = {
|
||||
"/": localCN
|
||||
'/': localCN,
|
||||
}
|
||||
|
||||
@@ -4,62 +4,62 @@
|
||||
export const navbar = [
|
||||
{
|
||||
text: '首页',
|
||||
link: '/'
|
||||
link: '/',
|
||||
},
|
||||
{
|
||||
text: "数据结构",
|
||||
link: "/manuscripts/ds"
|
||||
text: '数据结构',
|
||||
link: '/manuscripts/ds',
|
||||
},
|
||||
{
|
||||
text: "操作系统",
|
||||
link: "/manuscripts/os"
|
||||
text: '操作系统',
|
||||
link: '/manuscripts/os',
|
||||
},
|
||||
{
|
||||
text: "计算机组成原理",
|
||||
link: "/manuscripts/ccp"
|
||||
text: '计算机组成原理',
|
||||
link: '/manuscripts/ccp',
|
||||
},
|
||||
|
||||
{
|
||||
text: "计算机网络",
|
||||
link: "/manuscripts/cn"
|
||||
text: '计算机网络',
|
||||
link: '/manuscripts/cn',
|
||||
},
|
||||
{
|
||||
text: '思维导图',
|
||||
link: "/manuscripts/mark-map/ds-map.html",
|
||||
link: '/manuscripts/mark-map/ds-map.html',
|
||||
},
|
||||
{
|
||||
text: "了解更多",
|
||||
text: '了解更多',
|
||||
children: [
|
||||
{
|
||||
text: '变更记录',
|
||||
link: '/manuscripts/changelog.md'
|
||||
link: '/manuscripts/changelog.md',
|
||||
},
|
||||
{
|
||||
text: '网站动态',
|
||||
link: '/manuscripts/big-event-history.md'
|
||||
link: '/manuscripts/big-event-history.md',
|
||||
},
|
||||
{
|
||||
text: "自媒体",
|
||||
text: '自媒体',
|
||||
children: [
|
||||
{
|
||||
text: "公众号文章",
|
||||
link: "/manuscripts/wechat-list.md"
|
||||
text: '公众号文章',
|
||||
link: '/manuscripts/wechat-list.md',
|
||||
},
|
||||
]
|
||||
],
|
||||
},
|
||||
{
|
||||
text: "外链",
|
||||
text: '外链',
|
||||
children: [
|
||||
// {
|
||||
// text: '常用网站',
|
||||
// link: '/manuscripts/frequent-site-link.md'
|
||||
// },
|
||||
{
|
||||
text: "RoadMap计划",
|
||||
link: "https://142vip-cn.feishu.cn/share/base/view/shrcnpso8R4vCid01wmg66hFjae"
|
||||
}
|
||||
]
|
||||
text: 'RoadMap计划',
|
||||
link: 'https://142vip-cn.feishu.cn/share/base/view/shrcnpso8R4vCid01wmg66hFjae',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import {searchProPlugin} from "vuepress-plugin-search-pro";
|
||||
import {path} from "@vuepress/utils";
|
||||
import {registerComponentsPlugin} from "@vuepress/plugin-register-components";
|
||||
import { searchProPlugin } from 'vuepress-plugin-search-pro'
|
||||
import { path } from '@vuepress/utils'
|
||||
import { registerComponentsPlugin } from '@vuepress/plugin-register-components'
|
||||
|
||||
/**
|
||||
* 插件配置
|
||||
@@ -21,13 +21,13 @@ export default {
|
||||
customFields: [
|
||||
{
|
||||
getter: (page: any) => page.frontmatter.category,
|
||||
formatter: "分类:$content",
|
||||
formatter: '分类:$content',
|
||||
},
|
||||
{
|
||||
getter: (page) => page.frontmatter.tag,
|
||||
formatter: "标签:$content",
|
||||
getter: page => page.frontmatter.tag,
|
||||
formatter: '标签:$content',
|
||||
},
|
||||
],
|
||||
}),
|
||||
]
|
||||
}
|
||||
],
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import {dsSidebar} from "../../manuscripts/ds/ds.sidebar";
|
||||
import {cppSidebar} from "../../manuscripts/ccp/cpp.sidebar";
|
||||
import {cnSidebar} from "../../manuscripts/cn/cn.sidebar";
|
||||
import {MarkMapSidebar} from "../../manuscripts/mark-map/mark-map.sidebar";
|
||||
import {osSidebar} from "../../manuscripts/os/os.sidebar";
|
||||
import { dsSidebar } from '../../manuscripts/ds/ds.sidebar'
|
||||
import { cppSidebar } from '../../manuscripts/ccp/cpp.sidebar'
|
||||
import { cnSidebar } from '../../manuscripts/cn/cn.sidebar'
|
||||
import { MarkMapSidebar } from '../../manuscripts/mark-map/mark-map.sidebar'
|
||||
import { osSidebar } from '../../manuscripts/os/os.sidebar'
|
||||
|
||||
/**
|
||||
* 侧边导航栏设置
|
||||
*/
|
||||
export const sidebar = {
|
||||
"/manuscripts/ds": dsSidebar,
|
||||
"/manuscripts/os": osSidebar,
|
||||
"/manuscripts/ccp": cppSidebar,
|
||||
"/manuscripts/cn": cnSidebar,
|
||||
"/manuscripts/mark-map": MarkMapSidebar
|
||||
}
|
||||
'/manuscripts/ds': dsSidebar,
|
||||
'/manuscripts/os': osSidebar,
|
||||
'/manuscripts/ccp': cppSidebar,
|
||||
'/manuscripts/cn': cnSidebar,
|
||||
'/manuscripts/mark-map': MarkMapSidebar,
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import {AUTHOR_INFO, copyright, FOOTER_HTML_INFO} from "./constant.config";
|
||||
import {hopeTheme} from "vuepress-theme-hope";
|
||||
import {langConfig} from "./lang.config";
|
||||
import {navbar} from "./navbar";
|
||||
import {sidebar} from "./sidebar";
|
||||
import { hopeTheme } from 'vuepress-theme-hope'
|
||||
import { AUTHOR_INFO, FOOTER_HTML_INFO, copyright } from './constant.config'
|
||||
import { langConfig } from './lang.config'
|
||||
import { navbar } from './navbar'
|
||||
import { sidebar } from './sidebar'
|
||||
|
||||
/**
|
||||
* hope主题配置
|
||||
@@ -12,7 +12,7 @@ import {sidebar} from "./sidebar";
|
||||
export default {
|
||||
theme: hopeTheme({
|
||||
locales: langConfig,
|
||||
darkmode: "disable",
|
||||
darkmode: 'disable',
|
||||
// 支持全屏
|
||||
// fullscreen: true,
|
||||
// 纯净模式
|
||||
@@ -20,21 +20,21 @@ export default {
|
||||
print: false, // 打印按钮
|
||||
hostname: 'https://408.142vip.cn',
|
||||
author: AUTHOR_INFO,
|
||||
favicon: "/408_favicon.ico",
|
||||
logo: "/408_logo.png",
|
||||
navbar: navbar,
|
||||
favicon: '/408_favicon.ico',
|
||||
logo: '/408_logo.png',
|
||||
navbar,
|
||||
// 导航栏布局
|
||||
navbarLayout: {
|
||||
start: ["Brand"],
|
||||
center: ["Links"],
|
||||
end: ["Language", "Search", "Repo", "Outlook",]
|
||||
start: ['Brand'],
|
||||
center: ['Links'],
|
||||
end: ['Language', 'Search', 'Repo', 'Outlook'],
|
||||
},
|
||||
sidebar: sidebar,
|
||||
sidebar,
|
||||
// sidebar: "heading",
|
||||
|
||||
// 主题布局选项
|
||||
repo: "https://github.com/142vip/408CSFamily",
|
||||
logoDark: "/408_logo.png",
|
||||
repo: 'https://github.com/142vip/408CSFamily',
|
||||
logoDark: '/408_logo.png',
|
||||
|
||||
// 博客配置
|
||||
// blog: {
|
||||
@@ -74,20 +74,21 @@ export default {
|
||||
// 启用图片大小
|
||||
imgSize: true,
|
||||
playground: {
|
||||
presets: ["ts", "vue"],
|
||||
presets: ['ts', 'vue'],
|
||||
},
|
||||
// 是否启用幻灯片
|
||||
revealjs: ["highlight", "math", "search", "notes", "zoom"],
|
||||
revealjs: ['highlight', 'math', 'search', 'notes', 'zoom'],
|
||||
stylize: [
|
||||
{
|
||||
matcher: "Recommended",
|
||||
replacer: ({tag}) => {
|
||||
if (tag === "em")
|
||||
matcher: 'Recommended',
|
||||
replacer: ({ tag }) => {
|
||||
if (tag === 'em') {
|
||||
return {
|
||||
tag: "Badge",
|
||||
attrs: {type: "tip"},
|
||||
content: "Recommended",
|
||||
};
|
||||
tag: 'Badge',
|
||||
attrs: { type: 'tip' },
|
||||
content: 'Recommended',
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
],
|
||||
@@ -110,28 +111,28 @@ export default {
|
||||
// 参考:https://theme-hope.vuejs.press/zh/guide/markdown/components.html
|
||||
components: {
|
||||
components: [
|
||||
"ArtPlayer",
|
||||
"AudioPlayer",
|
||||
"Badge",
|
||||
"BiliBili",
|
||||
"CodePen",
|
||||
"PDF",
|
||||
"Replit",
|
||||
"Share",
|
||||
"SiteInfo",
|
||||
"StackBlitz",
|
||||
'ArtPlayer',
|
||||
'AudioPlayer',
|
||||
'Badge',
|
||||
'BiliBili',
|
||||
'CodePen',
|
||||
'PDF',
|
||||
'Replit',
|
||||
'Share',
|
||||
'SiteInfo',
|
||||
'StackBlitz',
|
||||
// "VidStack",
|
||||
"VideoPlayer",
|
||||
"XiGua",
|
||||
"YouTube",
|
||||
'VideoPlayer',
|
||||
'XiGua',
|
||||
'YouTube',
|
||||
],
|
||||
},
|
||||
copyCode: {
|
||||
showInMobile: true
|
||||
showInMobile: true,
|
||||
},
|
||||
feed: {
|
||||
json: true,
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
}),
|
||||
}
|
||||
|
||||
@@ -1,40 +1,74 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Markmap</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#mindmap {
|
||||
display: block;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@11.8.0/styles/default.min.css"><link rel="stylesheet" href="https://unpkg.com/markmap-toolbar@0.15.4/dist/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<svg id="mindmap"></svg>
|
||||
<script src="https://unpkg.com/d3@7.8.5/dist/d3.min.js"></script><script src="https://unpkg.com/markmap-view@0.15.4/dist/browser/index.js"></script><script src="https://unpkg.com/markmap-toolbar@0.15.4/dist/index.js"></script><script>(r => {
|
||||
setTimeout(r);
|
||||
})(() => {
|
||||
const {
|
||||
markmap,
|
||||
mm
|
||||
} = window;
|
||||
const toolbar = new markmap.Toolbar();
|
||||
toolbar.attach(mm);
|
||||
const el = toolbar.render();
|
||||
el.setAttribute('style', 'position:absolute;bottom:20px;right:20px');
|
||||
document.body.append(el);
|
||||
})</script><script>((getMarkmap, getOptions, root, jsonOptions) => {
|
||||
const markmap = getMarkmap();
|
||||
window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root);
|
||||
})(() => window.markmap,null,{"type":"heading","depth":0,"payload":{"lines":[1,2]},"content":"计算机组成原理","children":[{"type":"fence","depth":1,"content":"<pre><code class=\"language-mindmap\">root(计算机组成原理)\n (引论)\n (数据的表示和运算)\n (储存系统)\n (指令系统)\n (中央处理器)\n (总线)\n (输入输出系统)\n</code></pre>\n","children":[],"payload":{"lines":[3,13]}},{"type":"heading","depth":1,"payload":{"lines":[16,17]},"content":"引论","children":[]},{"type":"heading","depth":1,"payload":{"lines":[18,19]},"content":"数据的表示和运算","children":[]},{"type":"heading","depth":1,"payload":{"lines":[20,21]},"content":"存储系统","children":[]},{"type":"heading","depth":1,"payload":{"lines":[22,23]},"content":"指令系统","children":[]},{"type":"heading","depth":1,"payload":{"lines":[24,25]},"content":"中央处理器","children":[]},{"type":"heading","depth":1,"payload":{"lines":[26,27]},"content":"总线","children":[]},{"type":"heading","depth":1,"payload":{"lines":[28,29]},"content":"输入输出系统","children":[]},{"type":"heading","depth":1,"payload":{"lines":[30,31]},"content":"一些总结","children":[]}]},null)</script>
|
||||
</body>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>Markmap</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#mindmap {
|
||||
display: block;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@11.8.0/styles/default.min.css" />
|
||||
<link rel="stylesheet" href="https://unpkg.com/markmap-toolbar@0.15.4/dist/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<svg id="mindmap"></svg>
|
||||
<script src="https://unpkg.com/d3@7.8.5/dist/d3.min.js"></script>
|
||||
<script src="https://unpkg.com/markmap-view@0.15.4/dist/browser/index.js"></script>
|
||||
<script src="https://unpkg.com/markmap-toolbar@0.15.4/dist/index.js"></script>
|
||||
<script>
|
||||
;((r) => {
|
||||
setTimeout(r)
|
||||
})(() => {
|
||||
const { markmap, mm } = window
|
||||
const toolbar = new markmap.Toolbar()
|
||||
toolbar.attach(mm)
|
||||
const el = toolbar.render()
|
||||
el.setAttribute('style', 'position:absolute;bottom:20px;right:20px')
|
||||
document.body.append(el)
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
;((getMarkmap, getOptions, root, jsonOptions) => {
|
||||
const markmap = getMarkmap()
|
||||
window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root)
|
||||
})(
|
||||
() => window.markmap,
|
||||
null,
|
||||
{
|
||||
type: 'heading',
|
||||
depth: 0,
|
||||
payload: { lines: [1, 2] },
|
||||
content: '计算机组成原理',
|
||||
children: [
|
||||
{
|
||||
type: 'fence',
|
||||
depth: 1,
|
||||
content:
|
||||
'<pre><code class="language-mindmap">root(计算机组成原理)\n (引论)\n (数据的表示和运算)\n (储存系统)\n (指令系统)\n (中央处理器)\n (总线)\n (输入输出系统)\n</code></pre>\n',
|
||||
children: [],
|
||||
payload: { lines: [3, 13] },
|
||||
},
|
||||
{ type: 'heading', depth: 1, payload: { lines: [16, 17] }, content: '引论', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [18, 19] }, content: '数据的表示和运算', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [20, 21] }, content: '存储系统', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [22, 23] }, content: '指令系统', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [24, 25] }, content: '中央处理器', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [26, 27] }, content: '总线', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [28, 29] }, content: '输入输出系统', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [30, 31] }, content: '一些总结', children: [] },
|
||||
],
|
||||
},
|
||||
null,
|
||||
)
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,40 +1,73 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Markmap</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#mindmap {
|
||||
display: block;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@11.8.0/styles/default.min.css"><link rel="stylesheet" href="https://unpkg.com/markmap-toolbar@0.15.4/dist/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<svg id="mindmap"></svg>
|
||||
<script src="https://unpkg.com/d3@7.8.5/dist/d3.min.js"></script><script src="https://unpkg.com/markmap-view@0.15.4/dist/browser/index.js"></script><script src="https://unpkg.com/markmap-toolbar@0.15.4/dist/index.js"></script><script>(r => {
|
||||
setTimeout(r);
|
||||
})(() => {
|
||||
const {
|
||||
markmap,
|
||||
mm
|
||||
} = window;
|
||||
const toolbar = new markmap.Toolbar();
|
||||
toolbar.attach(mm);
|
||||
const el = toolbar.render();
|
||||
el.setAttribute('style', 'position:absolute;bottom:20px;right:20px');
|
||||
document.body.append(el);
|
||||
})</script><script>((getMarkmap, getOptions, root, jsonOptions) => {
|
||||
const markmap = getMarkmap();
|
||||
window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root);
|
||||
})(() => window.markmap,null,{"type":"heading","depth":0,"payload":{"lines":[1,2]},"content":"计算机网络","children":[{"type":"fence","depth":1,"content":"<pre><code class=\"language-mindmap\">root(计算机网络)\n (体系机构)\n (物理层)\n (数据链路层)\n (网络层)\n (传输层)\n (应用层)\n</code></pre>\n","children":[],"payload":{"lines":[3,12]}},{"type":"heading","depth":1,"payload":{"lines":[15,16]},"content":"体系结构","children":[]},{"type":"heading","depth":1,"payload":{"lines":[17,18]},"content":"物理层","children":[]},{"type":"heading","depth":1,"payload":{"lines":[19,20]},"content":"数据链路层","children":[]},{"type":"heading","depth":1,"payload":{"lines":[21,22]},"content":"网络层","children":[]},{"type":"heading","depth":1,"payload":{"lines":[23,24]},"content":"传输层","children":[]},{"type":"heading","depth":1,"payload":{"lines":[25,26]},"content":"应用层","children":[]},{"type":"heading","depth":1,"payload":{"lines":[27,28]},"content":"一些总结","children":[]}]},null)</script>
|
||||
</body>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>Markmap</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#mindmap {
|
||||
display: block;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@11.8.0/styles/default.min.css" />
|
||||
<link rel="stylesheet" href="https://unpkg.com/markmap-toolbar@0.15.4/dist/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<svg id="mindmap"></svg>
|
||||
<script src="https://unpkg.com/d3@7.8.5/dist/d3.min.js"></script>
|
||||
<script src="https://unpkg.com/markmap-view@0.15.4/dist/browser/index.js"></script>
|
||||
<script src="https://unpkg.com/markmap-toolbar@0.15.4/dist/index.js"></script>
|
||||
<script>
|
||||
;((r) => {
|
||||
setTimeout(r)
|
||||
})(() => {
|
||||
const { markmap, mm } = window
|
||||
const toolbar = new markmap.Toolbar()
|
||||
toolbar.attach(mm)
|
||||
const el = toolbar.render()
|
||||
el.setAttribute('style', 'position:absolute;bottom:20px;right:20px')
|
||||
document.body.append(el)
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
;((getMarkmap, getOptions, root, jsonOptions) => {
|
||||
const markmap = getMarkmap()
|
||||
window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root)
|
||||
})(
|
||||
() => window.markmap,
|
||||
null,
|
||||
{
|
||||
type: 'heading',
|
||||
depth: 0,
|
||||
payload: { lines: [1, 2] },
|
||||
content: '计算机网络',
|
||||
children: [
|
||||
{
|
||||
type: 'fence',
|
||||
depth: 1,
|
||||
content:
|
||||
'<pre><code class="language-mindmap">root(计算机网络)\n (体系机构)\n (物理层)\n (数据链路层)\n (网络层)\n (传输层)\n (应用层)\n</code></pre>\n',
|
||||
children: [],
|
||||
payload: { lines: [3, 12] },
|
||||
},
|
||||
{ type: 'heading', depth: 1, payload: { lines: [15, 16] }, content: '体系结构', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [17, 18] }, content: '物理层', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [19, 20] }, content: '数据链路层', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [21, 22] }, content: '网络层', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [23, 24] }, content: '传输层', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [25, 26] }, content: '应用层', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [27, 28] }, content: '一些总结', children: [] },
|
||||
],
|
||||
},
|
||||
null,
|
||||
)
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -27,4 +27,4 @@
|
||||
"xMindPath": "../mark-map/cn.xmind",
|
||||
"mdPath": "../mark-map/cn-map.md"
|
||||
}
|
||||
]
|
||||
]
|
||||
|
||||
@@ -1,40 +1,72 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<title>Markmap</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#mindmap {
|
||||
display: block;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@11.8.0/styles/default.min.css"><link rel="stylesheet" href="https://unpkg.com/markmap-toolbar@0.15.4/dist/style.css">
|
||||
</head>
|
||||
<body>
|
||||
<svg id="mindmap"></svg>
|
||||
<script src="https://unpkg.com/d3@7.8.5/dist/d3.min.js"></script><script src="https://unpkg.com/markmap-view@0.15.4/dist/browser/index.js"></script><script src="https://unpkg.com/markmap-toolbar@0.15.4/dist/index.js"></script><script>(r => {
|
||||
setTimeout(r);
|
||||
})(() => {
|
||||
const {
|
||||
markmap,
|
||||
mm
|
||||
} = window;
|
||||
const toolbar = new markmap.Toolbar();
|
||||
toolbar.attach(mm);
|
||||
const el = toolbar.render();
|
||||
el.setAttribute('style', 'position:absolute;bottom:20px;right:20px');
|
||||
document.body.append(el);
|
||||
})</script><script>((getMarkmap, getOptions, root, jsonOptions) => {
|
||||
const markmap = getMarkmap();
|
||||
window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root);
|
||||
})(() => window.markmap,null,{"type":"heading","depth":0,"payload":{"lines":[1,2]},"content":"操作系统","children":[{"type":"fence","depth":1,"content":"<pre><code class=\"language-mindmap\">root(操作系统)\n (系统概述)\n (进程管理)\n (进程管理)\n (文件管理)\n (输入、输出管理)\n</code></pre>\n","children":[],"payload":{"lines":[3,11]}},{"type":"heading","depth":1,"payload":{"lines":[14,15]},"content":"引论","children":[]},{"type":"heading","depth":1,"payload":{"lines":[16,17]},"content":"进程管理","children":[]},{"type":"heading","depth":1,"payload":{"lines":[18,19]},"content":"内存管理","children":[]},{"type":"heading","depth":1,"payload":{"lines":[20,21]},"content":"一些总结","children":[]},{"type":"heading","depth":1,"payload":{"lines":[22,23]},"content":"I/O管理","children":[]},{"type":"heading","depth":1,"payload":{"lines":[24,25]},"content":"文件管理","children":[]}]},null)</script>
|
||||
</body>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>Markmap</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
#mindmap {
|
||||
display: block;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@highlightjs/cdn-assets@11.8.0/styles/default.min.css" />
|
||||
<link rel="stylesheet" href="https://unpkg.com/markmap-toolbar@0.15.4/dist/style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<svg id="mindmap"></svg>
|
||||
<script src="https://unpkg.com/d3@7.8.5/dist/d3.min.js"></script>
|
||||
<script src="https://unpkg.com/markmap-view@0.15.4/dist/browser/index.js"></script>
|
||||
<script src="https://unpkg.com/markmap-toolbar@0.15.4/dist/index.js"></script>
|
||||
<script>
|
||||
;((r) => {
|
||||
setTimeout(r)
|
||||
})(() => {
|
||||
const { markmap, mm } = window
|
||||
const toolbar = new markmap.Toolbar()
|
||||
toolbar.attach(mm)
|
||||
const el = toolbar.render()
|
||||
el.setAttribute('style', 'position:absolute;bottom:20px;right:20px')
|
||||
document.body.append(el)
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
;((getMarkmap, getOptions, root, jsonOptions) => {
|
||||
const markmap = getMarkmap()
|
||||
window.mm = markmap.Markmap.create('svg#mindmap', (getOptions || markmap.deriveOptions)(jsonOptions), root)
|
||||
})(
|
||||
() => window.markmap,
|
||||
null,
|
||||
{
|
||||
type: 'heading',
|
||||
depth: 0,
|
||||
payload: { lines: [1, 2] },
|
||||
content: '操作系统',
|
||||
children: [
|
||||
{
|
||||
type: 'fence',
|
||||
depth: 1,
|
||||
content:
|
||||
'<pre><code class="language-mindmap">root(操作系统)\n (系统概述)\n (进程管理)\n (进程管理)\n (文件管理)\n (输入、输出管理)\n</code></pre>\n',
|
||||
children: [],
|
||||
payload: { lines: [3, 11] },
|
||||
},
|
||||
{ type: 'heading', depth: 1, payload: { lines: [14, 15] }, content: '引论', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [16, 17] }, content: '进程管理', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [18, 19] }, content: '内存管理', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [20, 21] }, content: '一些总结', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [22, 23] }, content: 'I/O管理', children: [] },
|
||||
{ type: 'heading', depth: 1, payload: { lines: [24, 25] }, content: '文件管理', children: [] },
|
||||
],
|
||||
},
|
||||
null,
|
||||
)
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// 参考:https://theme-hope.vuejs.press/zh/guide/interface/code-theme.htm
|
||||
|
||||
// 浅色主题
|
||||
$code-light-them: "coldark-cold";
|
||||
$code-light-them: 'coldark-cold';
|
||||
|
||||
// 深色主题
|
||||
$code-dark-theme: "atom-dark";
|
||||
$code-dark-theme: 'atom-dark';
|
||||
|
||||
// 主题色
|
||||
//$theme-colors: #2196f3, #f26d6d, #3eaf7c, #fb9b5f;
|
||||
//$theme-colors: #2196f3, #f26d6d, #3eaf7c, #fb9b5f;
|
||||
|
||||
@@ -63,8 +63,8 @@
|
||||
--code-ln-wrapper-width: 3.5rem;
|
||||
|
||||
// font vars
|
||||
--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen,
|
||||
Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
|
||||
--font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans',
|
||||
'Droid Sans', 'Helvetica Neue', sans-serif;
|
||||
--font-family-code: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||
|
||||
// layout vars
|
||||
@@ -77,7 +77,6 @@
|
||||
--homepage-width: 960px;
|
||||
}
|
||||
|
||||
|
||||
// plugin-docsearch
|
||||
.DocSearch {
|
||||
--docsearch-primary-color: var(--c-brand);
|
||||
@@ -106,7 +105,6 @@
|
||||
--medium-zoom-bg-color: var(--c-bg);
|
||||
}
|
||||
|
||||
|
||||
// plugin-pwa-popup
|
||||
.pwa-popup {
|
||||
--pwa-popup-text-color: var(--c-text);
|
||||
|
||||
@@ -4,4 +4,4 @@ $theme-color: #6184e8;
|
||||
//$sidebar-width: 20rem;
|
||||
//$sidebar-mobile-width: 16rem;
|
||||
//$content-width: 75rem;
|
||||
$home-page-width: 80rem;
|
||||
$home-page-width: 80rem;
|
||||
|
||||
@@ -7,29 +7,29 @@ permalink: /manuscripts/big-event-history.html
|
||||
|
||||
```mermaid
|
||||
%%{
|
||||
init: {
|
||||
init: {
|
||||
'theme': 'forest',
|
||||
"fontFamily": "monospace"
|
||||
}
|
||||
}
|
||||
}%%
|
||||
timeline
|
||||
title 408CSFamily时间轴
|
||||
2015 : 刚上学
|
||||
2015 : 刚上学
|
||||
: 接触计算机
|
||||
: 学习CS专业知识
|
||||
2019 : 初识408 <br> 年轻人别草率
|
||||
2020 : 武汉疫情解封 <br> 萌生念头,创建仓库
|
||||
2020 : 武汉疫情解封 <br> 萌生念头,创建仓库
|
||||
: 代号:408CSFamily
|
||||
|
||||
|
||||
2021 : 更新停滞期
|
||||
: 内容存在被抄袭风险 <br> 替换原有MIT协议
|
||||
: 内容存在被抄袭风险 <br> 替换原有MIT协议
|
||||
: 更新部分算法代码
|
||||
: 项目结构调整、优化
|
||||
|
||||
|
||||
2022 : 引入Vuepress框架大改造
|
||||
: 支持自动发版、部署 <br> Release版本下载
|
||||
: 全新出发,网站上线 <br> 域名:408.142vip.cn
|
||||
|
||||
|
||||
2023 : 分学科梳理文档
|
||||
: 基于Hope主题优化UI
|
||||
: 增加思维导图
|
||||
|
||||
@@ -5,17 +5,17 @@ export const cppSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '发展历程',
|
||||
link: '发展历程.md'
|
||||
link: '发展历程.md',
|
||||
},
|
||||
{
|
||||
text: '系统层次结构',
|
||||
link: '系统层次结构.md'
|
||||
link: '系统层次结构.md',
|
||||
},
|
||||
{
|
||||
text: '性能指标',
|
||||
link: '性能指标.md'
|
||||
}
|
||||
]
|
||||
link: '性能指标.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '数据的表示和运算',
|
||||
@@ -23,25 +23,25 @@ export const cppSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '数制和编码',
|
||||
link: '数制和编码.md'
|
||||
link: '数制和编码.md',
|
||||
},
|
||||
{
|
||||
text: '定点数',
|
||||
link: '定点数.md'
|
||||
link: '定点数.md',
|
||||
},
|
||||
{
|
||||
text: '浮点数',
|
||||
link: '浮点数.md'
|
||||
link: '浮点数.md',
|
||||
},
|
||||
{
|
||||
text: '算数逻辑单元',
|
||||
link: '算数逻辑单元.md'
|
||||
link: '算数逻辑单元.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '一些总结.md'
|
||||
}
|
||||
]
|
||||
link: '一些总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '存储系统',
|
||||
@@ -49,37 +49,37 @@ export const cppSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '存储器介绍',
|
||||
link: '存储器介绍.md'
|
||||
link: '存储器介绍.md',
|
||||
},
|
||||
{
|
||||
text: '存储器的层次化结构',
|
||||
link: '存储器的层次化结构.md'
|
||||
link: '存储器的层次化结构.md',
|
||||
},
|
||||
{
|
||||
text: '随机存储器',
|
||||
link: '随机存储器.md'
|
||||
link: '随机存储器.md',
|
||||
},
|
||||
{
|
||||
text: '主存和CPU',
|
||||
link: '主存和CPU.md'
|
||||
link: '主存和CPU.md',
|
||||
},
|
||||
{
|
||||
text: '双端口RAM和多模块存储器',
|
||||
link: '双端口RAM和多模块存储器.md'
|
||||
link: '双端口RAM和多模块存储器.md',
|
||||
},
|
||||
{
|
||||
text: '高速缓冲存储器',
|
||||
link: '高速缓冲存储器.md'
|
||||
link: '高速缓冲存储器.md',
|
||||
},
|
||||
{
|
||||
text: '虚拟存储器',
|
||||
link: '虚拟存储器.md'
|
||||
link: '虚拟存储器.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '一些总结.md'
|
||||
}
|
||||
]
|
||||
link: '一些总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '指令系统',
|
||||
@@ -87,21 +87,21 @@ export const cppSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '指令格式',
|
||||
link: '指令格式.md'
|
||||
link: '指令格式.md',
|
||||
},
|
||||
{
|
||||
text: '寻址方式',
|
||||
link: '寻址方式.md'
|
||||
link: '寻址方式.md',
|
||||
},
|
||||
{
|
||||
text: '指令集',
|
||||
link: '指令集.md'
|
||||
link: '指令集.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '一些总结.md'
|
||||
}
|
||||
]
|
||||
link: '一些总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '中央处理器',
|
||||
@@ -109,29 +109,29 @@ export const cppSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: 'CPU的基本介绍',
|
||||
link: 'CPU的基本介绍.md'
|
||||
link: 'CPU的基本介绍.md',
|
||||
},
|
||||
{
|
||||
text: '指令执行过程',
|
||||
link: '指令执行过程.md'
|
||||
link: '指令执行过程.md',
|
||||
},
|
||||
{
|
||||
text: '数据通路',
|
||||
link: '数据通路.md'
|
||||
link: '数据通路.md',
|
||||
},
|
||||
{
|
||||
text: '控制器',
|
||||
link: '控制器.md'
|
||||
link: '控制器.md',
|
||||
},
|
||||
{
|
||||
text: '指令流水线',
|
||||
link: '指令流水线.md'
|
||||
link: '指令流水线.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '一些总结.md'
|
||||
}
|
||||
]
|
||||
link: '一些总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '总线',
|
||||
@@ -139,25 +139,25 @@ export const cppSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '总线介绍',
|
||||
link: '总线介绍.md'
|
||||
link: '总线介绍.md',
|
||||
},
|
||||
{
|
||||
text: '总线仲裁',
|
||||
link: '总线仲裁.md'
|
||||
link: '总线仲裁.md',
|
||||
},
|
||||
{
|
||||
text: '总线的操作和定时',
|
||||
link: '总线的操作和定时.md'
|
||||
link: '总线的操作和定时.md',
|
||||
},
|
||||
{
|
||||
text: '总线标准',
|
||||
link: '总线标准.md'
|
||||
link: '总线标准.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '一些总结.md'
|
||||
}
|
||||
]
|
||||
link: '一些总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '输入输出系统',
|
||||
@@ -165,24 +165,24 @@ export const cppSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基本概念',
|
||||
link: '基本概念.md'
|
||||
link: '基本概念.md',
|
||||
},
|
||||
{
|
||||
text: '外部设备',
|
||||
link: '外部设备.md'
|
||||
link: '外部设备.md',
|
||||
},
|
||||
{
|
||||
text: '输入输出接口',
|
||||
link: '输入输出接口.md'
|
||||
link: '输入输出接口.md',
|
||||
},
|
||||
{
|
||||
text: '输入输出方式',
|
||||
link: '输入输出方式.md'
|
||||
link: '输入输出方式.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '一些总结.md'
|
||||
}
|
||||
]
|
||||
}
|
||||
link: '一些总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -62,5 +62,5 @@ permalink: /manuscripts/ccp.html
|
||||
|
||||
## 参考资料
|
||||
|
||||
- 《计算机组成原理》 第二版 唐朔飞
|
||||
- 《计算机组成原理》 第二版 唐朔飞
|
||||
- 《计算机组成原理-王道考研》 2019 王道论坛
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 一些总结
|
||||
permalink: /manuscripts/ccp/cpu/summary.html
|
||||
---
|
||||
|
||||
# 一些总结
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 指令执行过程
|
||||
permalink: /manuscripts/ccp/cpu/instruct-line.html
|
||||
---
|
||||
|
||||
# 指令流水线
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 控制器
|
||||
permalink: /manuscripts/ccp/cpu/controller.html
|
||||
---
|
||||
|
||||
# 控制器
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 数据通路
|
||||
permalink: /manuscripts/ccp/cpu/data-pathways.html
|
||||
---
|
||||
|
||||
# 数据通路
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 数据通路
|
||||
permalink: /manuscripts/ccp/store-memory/summary.html
|
||||
---
|
||||
|
||||
# 一些总结
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 主存和CPU
|
||||
permalink: /manuscripts/ccp/store-memory/cpu-storage.html
|
||||
---
|
||||
|
||||
# 主存和CPU
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 双端口RAM和多模块存储器
|
||||
permalink: /manuscripts/ccp/store-memory/ram-storage.html
|
||||
---
|
||||
|
||||
# 双端口RAM和多模块存储器
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 存储器介绍
|
||||
permalink: /manuscripts/ccp/store-memory/storage-introduce.html
|
||||
---
|
||||
|
||||
# 存储器介绍
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 随机存储器
|
||||
permalink: /manuscripts/ccp/store-memory/ram.html
|
||||
---
|
||||
|
||||
# 随机存储器
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 一些总结
|
||||
permalink: /manuscripts/ccp/bus/summary.html
|
||||
---
|
||||
|
||||
# 一些总结
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 总线介绍
|
||||
permalink: /manuscripts/ccp/bus/introduce.html
|
||||
---
|
||||
|
||||
# 总线介绍
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 总线仲裁
|
||||
permalink: /manuscripts/ccp/bus/bus-quorum.html
|
||||
---
|
||||
|
||||
# 总线仲裁
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 总线标准
|
||||
permalink: /manuscripts/ccp/bus/bus-standard.html
|
||||
---
|
||||
|
||||
# 总线标准
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 总线的操作和定时
|
||||
permalink: /manuscripts/ccp/bus/operate-schedule.html
|
||||
---
|
||||
|
||||
# 总线的操作和定时
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 寻址方式
|
||||
permalink: /manuscripts/ccp/directive-system/address-method.html
|
||||
---
|
||||
|
||||
# 寻址方式
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 总线介绍
|
||||
permalink: /manuscripts/ccp/directive-system/directive-style.html
|
||||
---
|
||||
|
||||
# 指令格式
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 指令集
|
||||
permalink: /manuscripts/ccp/directive-system/directive-collection.html
|
||||
---
|
||||
|
||||
# 指令集
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 一些总结
|
||||
permalink: /manuscripts/ccp/data-represent-compute/summary.html
|
||||
---
|
||||
|
||||
# 一些总结
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 定点数
|
||||
permalink: /manuscripts/ccp/data-represent-compute/fixed-number.html
|
||||
---
|
||||
|
||||
# 定点数
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 数制和编码
|
||||
permalink: /manuscripts/ccp/data-represent-compute/number-coding.html
|
||||
---
|
||||
|
||||
# 数制和编码
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 浮点数
|
||||
permalink: /manuscripts/ccp/data-represent-compute/float-number.html
|
||||
---
|
||||
|
||||
# 浮点数
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 发展历程
|
||||
permalink: /manuscripts/ccp/ccp-introduction/develop.html
|
||||
---
|
||||
|
||||
# 发展历程
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 性能指标
|
||||
permalink: /manuscripts/ccp/ccp-introduction/performance-metrics.html
|
||||
---
|
||||
|
||||
# 性能指标
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 系统层次结构
|
||||
permalink: /manuscripts/ccp/ccp-introduction/system-layer-info.html
|
||||
---
|
||||
|
||||
# 系统层次结构
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 基本概念
|
||||
permalink: /manuscripts/ccp/in-out/base-concept.html
|
||||
---
|
||||
|
||||
# 基本概念
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 外部设备
|
||||
permalink: /manuscripts/ccp/in-out/outer-equipment.html
|
||||
---
|
||||
|
||||
# 外部设备
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 输入输出接口
|
||||
permalink: /manuscripts/ccp/in-out/io-interface.html
|
||||
---
|
||||
|
||||
# 输入输出接口
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 算数逻辑单元
|
||||
permalink: /manuscripts/ccp/in-out/io-model.html
|
||||
---
|
||||
|
||||
# 输入输出方式
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 变更记录
|
||||
permalink: /manuscripts/changelog.html
|
||||
---
|
||||
|
||||
# 变更记录
|
||||
|
||||
该文件包含 `408CSFamily` 仓库和网站所有显着更改。
|
||||
|
||||
@@ -5,13 +5,13 @@ export const cnSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基本介绍',
|
||||
link: '1.引论.md'
|
||||
link: '1.引论.md',
|
||||
},
|
||||
{
|
||||
text: '体系结构与参考模型',
|
||||
link: '2.体系结构与参考模型.md'
|
||||
}
|
||||
]
|
||||
link: '2.体系结构与参考模型.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '物理层',
|
||||
@@ -19,21 +19,21 @@ export const cnSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '通信基础',
|
||||
link: '1.通信基础.md'
|
||||
link: '1.通信基础.md',
|
||||
},
|
||||
{
|
||||
text: '传输介质',
|
||||
link: '2.传输介质.md'
|
||||
link: '2.传输介质.md',
|
||||
},
|
||||
{
|
||||
text: '物理层设备',
|
||||
link: '3.物理层设备.md'
|
||||
link: '3.物理层设备.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '4.总结.md'
|
||||
}
|
||||
]
|
||||
link: '4.总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: '数据链路层',
|
||||
@@ -122,22 +122,22 @@ export const cnSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '提供的服务',
|
||||
link: '1.提供的服务.md'
|
||||
link: '1.提供的服务.md',
|
||||
},
|
||||
{
|
||||
text: 'UDP协议',
|
||||
link: '2.UDP协议.md'
|
||||
link: '2.UDP协议.md',
|
||||
},
|
||||
{
|
||||
text: 'TCP协议',
|
||||
link: '3.TCP协议.md'
|
||||
link: '3.TCP协议.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '4.总结.md'
|
||||
}
|
||||
]
|
||||
}
|
||||
link: '4.总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: '应用层',
|
||||
// prefix: '应用层',
|
||||
|
||||
@@ -3,7 +3,6 @@ title: 计算机网络
|
||||
permalink: /manuscripts/cn.html
|
||||
---
|
||||
|
||||
|
||||
# 计算机网络
|
||||
|
||||

|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: UDP协议
|
||||
permalink: /manuscripts/cn/trans-port-layer/udp.html
|
||||
---
|
||||
|
||||
# UDP协议
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: TCP协议
|
||||
permalink: /manuscripts/cn/trans-port-layer/tcp.html
|
||||
---
|
||||
|
||||
# TCP协议
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: DNS
|
||||
permalink: /manuscripts/cn/application-layer/dns.html
|
||||
---
|
||||
|
||||
# DNS
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: FTP
|
||||
permalink: /manuscripts/cn/application-layer/ftp.html
|
||||
---
|
||||
|
||||
# FTP
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: HTTP
|
||||
permalink: /manuscripts/cn/application-layer/http.html
|
||||
---
|
||||
|
||||
# HTTP
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 电子邮件
|
||||
permalink: /manuscripts/cn/application-layer/email.html
|
||||
---
|
||||
|
||||
# 电子邮件
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 组帧
|
||||
permalink: /manuscripts/cn/data-link-layer/framing.html
|
||||
---
|
||||
|
||||
# 组帧
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 差错控制
|
||||
permalink: /manuscripts/cn/data-link-layer/error-control.html
|
||||
---
|
||||
|
||||
# 差错控制
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 通信设备
|
||||
permalink: /manuscripts/cn/data-link-layer/equipment.html
|
||||
---
|
||||
|
||||
# 通信设备
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 传输介质
|
||||
permalink: /manuscripts/cn/physical-layer/transmission-medium.html
|
||||
---
|
||||
|
||||
# 传输介质
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 一些总结
|
||||
permalink: /manuscripts/cn/network-layer/summary.html
|
||||
---
|
||||
|
||||
# 一些总结
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -6,17 +6,17 @@ export const dsSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基本概念',
|
||||
link: '1.基本概念.md'
|
||||
link: '1.基本概念.md',
|
||||
},
|
||||
{
|
||||
text: '三要素',
|
||||
link: '2.三要素.md'
|
||||
link: '2.三要素.md',
|
||||
},
|
||||
{
|
||||
text: '算法和算法评价',
|
||||
link: '3.算法和算法评价.md'
|
||||
}
|
||||
]
|
||||
link: '3.算法和算法评价.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '线性表',
|
||||
@@ -25,21 +25,21 @@ export const dsSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基础概念和操作',
|
||||
link: '1.基础概念和操作.md'
|
||||
link: '1.基础概念和操作.md',
|
||||
},
|
||||
{
|
||||
text: '顺序表示',
|
||||
link: '2.顺序表示.md'
|
||||
link: '2.顺序表示.md',
|
||||
},
|
||||
{
|
||||
text: '链式表示',
|
||||
link: '3.链式表示.md'
|
||||
link: '3.链式表示.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '4.总结.md'
|
||||
}
|
||||
]
|
||||
link: '4.总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '栈',
|
||||
@@ -48,17 +48,17 @@ export const dsSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基本概念和操作',
|
||||
link: '1.栈的基本概念和基本操作.md'
|
||||
link: '1.栈的基本概念和基本操作.md',
|
||||
},
|
||||
{
|
||||
text: '顺序存储结构',
|
||||
link: '2.栈的顺序存储结构.md'
|
||||
link: '2.栈的顺序存储结构.md',
|
||||
},
|
||||
{
|
||||
text: '链式存储结构',
|
||||
link: '3.栈的链式存储结构.md'
|
||||
}
|
||||
]
|
||||
link: '3.栈的链式存储结构.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '队列',
|
||||
@@ -67,20 +67,21 @@ export const dsSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基本概念和操作',
|
||||
link: '4.队列的基本概念和操作.md'
|
||||
}, {
|
||||
link: '4.队列的基本概念和操作.md',
|
||||
},
|
||||
{
|
||||
text: '顺序存储结构',
|
||||
link: '5.队列的顺序存储结构.md'
|
||||
link: '5.队列的顺序存储结构.md',
|
||||
},
|
||||
{
|
||||
text: '链式存储结构',
|
||||
link: '6.队列的链式存储结构.md'
|
||||
link: '6.队列的链式存储结构.md',
|
||||
},
|
||||
{
|
||||
text: '栈VS队列补充',
|
||||
link: '7.栈VS队列补充.md'
|
||||
}
|
||||
]
|
||||
link: '7.栈VS队列补充.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
// {
|
||||
// text: '串',
|
||||
@@ -174,29 +175,29 @@ export const dsSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基本概念',
|
||||
link: '1.基本概念.md'
|
||||
link: '1.基本概念.md',
|
||||
},
|
||||
{
|
||||
text: '顺序查找',
|
||||
link: '2.顺序查找.md'
|
||||
link: '2.顺序查找.md',
|
||||
},
|
||||
{
|
||||
text: '折半查找',
|
||||
link: '3.折半查找.md'
|
||||
link: '3.折半查找.md',
|
||||
},
|
||||
{
|
||||
text: 'B树和B+树',
|
||||
link: '4.B树和B+树.md'
|
||||
link: '4.B树和B+树.md',
|
||||
},
|
||||
{
|
||||
text: '散列表',
|
||||
link: '5.散列表.md'
|
||||
link: '5.散列表.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '6.总结.md'
|
||||
}
|
||||
]
|
||||
link: '6.总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
text: '排序',
|
||||
@@ -205,36 +206,36 @@ export const dsSidebar = [
|
||||
children: [
|
||||
{
|
||||
text: '基本概念',
|
||||
link: '1.基本概念.md'
|
||||
link: '1.基本概念.md',
|
||||
},
|
||||
{
|
||||
text: '插入排序',
|
||||
link: '2.插入排序.md'
|
||||
link: '2.插入排序.md',
|
||||
},
|
||||
{
|
||||
text: '交换排序',
|
||||
link: '3.交换排序.md'
|
||||
link: '3.交换排序.md',
|
||||
},
|
||||
{
|
||||
text: '选择排序',
|
||||
link: '4.选择排序.md'
|
||||
link: '4.选择排序.md',
|
||||
},
|
||||
{
|
||||
text: '归并排序',
|
||||
link: '5.归并排序.md'
|
||||
link: '5.归并排序.md',
|
||||
},
|
||||
{
|
||||
text: '基数排序',
|
||||
link: '6.基数排序.md'
|
||||
link: '6.基数排序.md',
|
||||
},
|
||||
{
|
||||
text: '外部排序',
|
||||
link: '7.外部排序.md'
|
||||
link: '7.外部排序.md',
|
||||
},
|
||||
{
|
||||
text: '一些总结',
|
||||
link: '8.总结.md'
|
||||
}
|
||||
]
|
||||
}
|
||||
link: '8.总结.md',
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: KMP算法
|
||||
permalink: /manuscripts/ds/string/kmp.html
|
||||
---
|
||||
|
||||
# KMP算法
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 图的存储
|
||||
permalink: /manuscripts/ds/graph/store.html
|
||||
---
|
||||
|
||||
# 图的存储
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 图的遍历
|
||||
permalink: /manuscripts/ds/graph/traverse.html
|
||||
---
|
||||
|
||||
# 图的遍历
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 图的应用
|
||||
permalink: /manuscripts/ds/graph/apply.html
|
||||
---
|
||||
|
||||
# 图的应用
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 一些总结
|
||||
permalink: /manuscripts/ds/graph/summary.html
|
||||
---
|
||||
|
||||
# 总结
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
title: 基础概念
|
||||
#description:
|
||||
#description:
|
||||
permalink: /manuscripts/ds/introduction-basic-concepts.html
|
||||
head:
|
||||
head:
|
||||
- [meta, { name: 数据结构 , content: 基础概念 }]
|
||||
---
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
title: 数据结构三要素
|
||||
#description:
|
||||
#description:
|
||||
permalink: /manuscripts/ds/introduction-three-elements.html
|
||||
head:
|
||||
head:
|
||||
- [meta, { name: 数据结构 , content: 数据结构三要素 }]
|
||||
---
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
title: 算法和算法评价
|
||||
#description:
|
||||
#description:
|
||||
permalink: /manuscripts/ds/introduction-algorithm-evaluation.html
|
||||
head:
|
||||
head:
|
||||
- [meta, { name: 数据结构 , content: 算法和算法评价 }]
|
||||
---
|
||||
|
||||
@@ -16,7 +16,7 @@ root(算法和算法评价)
|
||||
(可行性)
|
||||
(输入)
|
||||
(输出)
|
||||
|
||||
|
||||
(算法的评价)
|
||||
(时间复杂度)
|
||||
(空间复杂度)
|
||||
@@ -71,8 +71,6 @@ int test(n) {
|
||||
.....
|
||||
}
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
在这个简单的函数里
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 交换排序
|
||||
permalink: /manuscripts/ds/sort-algorithm/swap-sort.html
|
||||
---
|
||||
|
||||
# 交换排序
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 选择排序
|
||||
permalink: /manuscripts/ds/sort-algorithm/select-sort.html
|
||||
---
|
||||
|
||||
# 选择排序
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 归并排序
|
||||
permalink: /manuscripts/ds/sort-algorithm/merge-sort.html
|
||||
---
|
||||
|
||||
# 归并排序
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 外部排序
|
||||
permalink: /manuscripts/ds/sort-algorithm/outer-sort.html
|
||||
---
|
||||
|
||||
# 外部排序
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
title: 一些总结
|
||||
permalink: /manuscripts/ds/sort-algorithm/summary.html
|
||||
---
|
||||
|
||||
# 总结
|
||||
|
||||
努力赶稿中,等等我呀...
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user